pub enum BodyEffectKind {
Show 22 variants
Tell {
target: String,
access_grants: Vec<AccessGrant>,
skills: Vec<String>,
},
Coerce {
name: String,
args: Vec<String>,
endorsed: bool,
declassified: bool,
},
Prompt {
provider: Option<String>,
},
Decide {
result_fields: Vec<(String, String)>,
},
Call {
capability: String,
argument: Option<String>,
},
ConstructCapabilityCall {
keyword: String,
target_capability: String,
fields: Vec<ConstructUseField>,
},
Invoke {
workflow: String,
payload: Vec<FieldAssign>,
access_grants: Vec<AccessGrant>,
},
Timer {
duration_seconds: u64,
duration_source: String,
until: Option<String>,
},
Exec {
target: ExecTarget,
parse_target: Option<ExecParse>,
},
TrackerFile {
queue: String,
fields: Vec<FieldAssign>,
},
TrackerClaim {
item: String,
ttl_seconds: Option<u64>,
endorsed: bool,
},
TrackerRelease {
item: String,
},
TrackerFinish {
item: String,
fields: Vec<FieldAssign>,
},
LeaseAcquire {
resource: String,
key_expr: String,
until_ttl: bool,
wait_seconds: Option<u64>,
},
LeaseRenew {
acquire_binding: String,
ttl_seconds: Option<u64>,
},
LedgerAppend {
ledger: String,
schema: String,
fields: Vec<FieldAssign>,
},
CounterConsume {
counter: String,
key_expr: String,
amount_expr: String,
},
Notify {
target_expr: String,
event: String,
from: Option<String>,
fields: Vec<FieldAssign>,
},
FileRead {
format: String,
store: String,
path: String,
},
FileWrite {
format: String,
store: String,
path: String,
body: String,
mode: String,
},
FileImport {
format: String,
schema: String,
store: String,
path: String,
},
FileExport {
format: String,
schema: String,
store: String,
path: String,
predicate: Option<String>,
mode: String,
},
}Variants§
Tell
Fields
access_grants: Vec<AccessGrant>Coerce
Fields
endorsed: boolthe endorsed source marker (DR-0027 I-IFC3): the author declares this
coerce is an integrity-raising crossing, making the trusted surface
visible at the crossing point. Authorization still lives in governance.
declassified: boolthe declassified source marker (DR-0027 I-IFC3): the author declares
this coerce a confidentiality-lowering crossing. The coerce’s OUTPUT
SCHEMA is the bounded type that bounds the leak — you cannot declassify
without passing through a bounded type. Authorization lives in governance.
Prompt
Bare free-text model prompt: prompt "<text>" [using <provider>] as x.
It lowers through the same model/backend path as coerce, but its
completed value is a plain string.
Decide
Inline anonymous coercion: decide "<prompt>" -> { field type, ... } as x.
Call
ConstructCapabilityCall
Invoke
Timer
Fields
Exec
Fields
target: ExecTargetTrackerFile
Work-queue verbs (file issue into q { ... }, claim x, release x,
finish x [{ ... }]).
TrackerClaim
Fields
ttl_seconds: Option<u64>ttl <duration>: the claim-TTL, in seconds. Some(n) records a
timed lease (expires_at = now + n) that ready/claim reclaim
once past-due; None is the untimed backstop lease (T3).
endorsed: boolThe endorsed source marker (DR-0051 §2), the same crossing
coerce … endorsed carries: the author declares that adopting this
party’s decision is the integrity raise. Honoured only when the
claimed tracker is itself vouched (§3) — otherwise an agent could
file its own issue and claim it, laundering its own output through a
two-step it fully controls.
TrackerRelease
TrackerFinish
LeaseAcquire
Coordination verbs (spec/coordination.md): one atomic attempt each, with branchable sum-typed outcomes.
Fields
LeaseRenew
renew <acquire-binding> [until <ttl>] as <b>: extend a held lease’s
TTL before it expires (spec/coordination.md). Names the acquire’s as
binding and works on the same lease; Renewed/NotHeld outcomes.
Fields
LedgerAppend
CounterConsume
Notify
emit signal <name> to <instance-expr> { payload }: inject a typed,
durable event into a known peer instance — directed fire-and-forget
(spec/event-ingress.md, spec/coordination.md messaging).
Fields
from: Option<String>S6: emit signal <name> to <target> from <binding> { overrides } —
copy the source binding’s same-named fields (bounded to the signal’s
declared fields), with the block overriding; mirrors record … from.
fields: Vec<FieldAssign>FileRead
read <format> from <store> at <path> as <binding> (std.files): a typed
file read lowering through typed_effect_call. v0 paths are literal
strings.
FileWrite
write <format> to <store> at <path> { body <expr> mode <mode> } as <binding> (std.files): a typed file write lowering through
typed_effect_call. v0 formats are text/markdown body codecs; the
mode (create/replace/upsert/append) is required (no silent overwrite),
and body is an expression resolved at effect-input time.
FileImport
import <format> <Schema> from <store> at <path> as <binding>
(std.files): decode a structured file into typed <Schema> facts (one per
row) via the platform fact-batch admission primitive. v0 formats are
jsonl/json/csv.
FileExport
export <format> <Schema> to <store> at <path> { [where <pred>] mode <mode> } as <binding> (std.files): serialize the collection of <Schema>
facts (optionally filtered by where, per DR-0022 collection-valued
projections) to a structured file. v0 formats are jsonl/json/csv;
mode is required (no silent overwrite).
Trait Implementations§
Source§impl Clone for BodyEffectKind
impl Clone for BodyEffectKind
Source§fn clone(&self) -> BodyEffectKind
fn clone(&self) -> BodyEffectKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more