Skip to main content

BodyEffectKind

Enum BodyEffectKind 

Source
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

§target: String
§access_grants: Vec<AccessGrant>
§skills: Vec<String>

Turn-scoped with skills [...] (context-assembly Phase 7): skills pinned into this turn’s provenance. Does NOT filter the discover-all catalogue.

§

Coerce

Fields

§name: String
§args: Vec<String>
§endorsed: bool

the 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: bool

the 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.

Fields

§provider: Option<String>
§

Decide

Inline anonymous coercion: decide "<prompt>" -> { field type, ... } as x.

Fields

§result_fields: Vec<(String, String)>
§

Call

Fields

§capability: String
§argument: Option<String>
§

ConstructCapabilityCall

Fields

§keyword: String
§target_capability: String
§

Invoke

Fields

§workflow: String
§payload: Vec<FieldAssign>
§access_grants: Vec<AccessGrant>
§

Timer

Fields

§duration_seconds: u64
§duration_source: String
§until: Option<String>

Absolute deadline expression (a time literal or a time-typed path); None for a relative timer <duration>.

§

Exec

Fields

§target: ExecTarget
§parse_target: Option<ExecParse>

-> Schema / -> each Schema: deterministic JSON ingestion of stdout at the effect-result boundary (spec/json-ingestion.md).

§

TrackerFile

Work-queue verbs (file issue into q { ... }, claim x, release x, finish x [{ ... }]).

Fields

§queue: String
§

TrackerClaim

Fields

§item: String
§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: bool

The 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

Fields

§item: String
§

TrackerFinish

Fields

§item: String
§

LeaseAcquire

Coordination verbs (spec/coordination.md): one atomic attempt each, with branchable sum-typed outcomes.

Fields

§resource: String
§key_expr: String
§until_ttl: bool

until ttl: fire-and-forget; TTL is the sole release.

§wait_seconds: Option<u64>

wait <duration>: bounded retry on contention. Some(seconds) retries the acquire until it is held or the wait elapses (then contended); None reports contended on the first attempt.

§

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

§acquire_binding: String

The as binding of the acquire this renew extends.

§ttl_seconds: Option<u64>

until <duration>: the new TTL in seconds. None reuses the acquire’s declared TTL.

§

LedgerAppend

Fields

§ledger: String
§schema: String
§

CounterConsume

Fields

§counter: String
§key_expr: String
§amount_expr: String
§

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

§target_expr: String
§event: String
§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.

§

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.

Fields

§format: String
§store: String
§path: String
§

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.

Fields

§format: String
§store: String
§path: String
§body: String
§mode: String
§

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.

Fields

§format: String
§schema: String
§store: String
§path: String
§

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).

Fields

§format: String
§schema: String
§store: String
§path: String
§predicate: Option<String>
§mode: String

Trait Implementations§

Source§

impl Clone for BodyEffectKind

Source§

fn clone(&self) -> BodyEffectKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BodyEffectKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for BodyEffectKind

Source§

impl PartialEq for BodyEffectKind

Source§

fn eq(&self, other: &BodyEffectKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for BodyEffectKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.