pub enum Command {
Infer {
prompt: String,
max_tokens: u32,
},
Open {
path: String,
},
Slice {
handle: Handle,
offset: u64,
len: u64,
},
Emit {
progress: Value,
},
Done {
result: Value,
},
Fail {
code: String,
message: String,
},
}Expand description
What a guest asks the host to do, returned from its init/step exports.
Variants§
Infer
Run a prompt against the job’s model.
Fields
max_tokens: u32Upper bound on tokens generated. A guest can also end generation
early by returning TokenAction::Stop from its on_token export.
Open
Open a file. Capability-checked against the job’s spec.
Yields a handle and a length rather than contents — see the crate docs on why bulk data does not cross this boundary.
Slice
Pull one bounded window of an open file into guest memory.
The guest picks len, so the guest sets its own memory ceiling.
Fields
handle: HandleHandle from a previous Command::Open.
offset: u64Byte offset to read from. u64 so that files far larger than a guest
could hold remain fully addressable.
len: u64Maximum bytes to return. The host may return fewer; see
Event::Sliced.
Emit
Report progress to whoever is watching the job’s event stream.
Done
Finish successfully with this payload.
Fail
Give up. The job ends with this code and message, and no result.
Fields
code: StringMachine-readable code; see error_codes.