pub enum RegionSeed {
CallerInput {
name: String,
},
Glob {
pattern: String,
},
Files {
paths: Vec<String>,
},
Literal {
text: String,
},
Rhai {
script: String,
},
Command {
command: String,
},
Tools {
calls: Vec<SeedToolCall>,
refresh: SeedRefresh,
},
}Expand description
Where a region’s initial content comes from at run start.
A region without a seed starts empty and is populated by the agent. A seeded
region is filled before the first inference: CallerInput regions are filled
by the run’s caller (a CLI --<name> flag, an ACP ---region:<name>---
marker, or the API regions map); the remaining variants are resolved by the
daemon from the run’s workdir (which is why this type only declares the
source - leviath-core stays filesystem-agnostic; resolution lives in the
CLI daemon’s spawner).
Variants§
CallerInput
Filled at run time by the caller, keyed by name (defaults to the
region’s own name; the sentinel task maps to the --task/prompt text).
When the owning region is required, a missing value is a hard error
before any inference runs.
Glob
Concatenated contents of the workdir files matching a glob pattern.
Files
Concatenated contents of an explicit list of workdir-relative files.
Literal
A static literal string baked into the blueprint.
Rhai
The String returned by running a Rhai script from the workdir.
Command
The combined stdout/stderr of a shell command run in the workdir at spawn.
Unlike every other variant this executes something, and it does so
before the first inference - so before any tool-approval prompt. The
daemon runs it inside the entry stage’s sandbox when one is configured,
caps its runtime and output, and honours the [security] allow_seed_commands kill switch. A failure is non-fatal unless the
owning region is required.
Tools
The combined output of one or more tool calls, run at spawn.
Like Command this executes something, but through
the run’s own tool layer rather than a shell: any tool the agent could
call is callable here - a built-in, an MCP server’s, a Rhai script’s -
and each call answers to the same tool_permissions and taint rules it
would answer to mid-run. That is what makes an unrestricted list safe:
a seed can reach nothing the agent was not already granted.
Several calls write into one region, in the order given, each under its
own heading. A failed call is skipped with a warning unless the region is
required, so one unavailable tool does not cost the others.
Fields
calls: Vec<SeedToolCall>The calls to run, in order.
refresh: SeedRefreshWhether the calls run once, or again on every stage entry.
Trait Implementations§
Source§impl Clone for RegionSeed
impl Clone for RegionSeed
Source§fn clone(&self) -> RegionSeed
fn clone(&self) -> RegionSeed
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more