This page is a hand-authored snapshot of the planned public surface. The final reference will be
generated from the SDK source.
Installation
iii.
Common methods
register_worker
Connect a worker to a running iii engine and return its handle.
address is the engine’s SDK WebSocket URL. options configures worker identity (worker_name, plus an optional
worker_description, a one-line summary surfaced in engine::workers::list /
engine::workers::info) and reconnection. The returned III instance carries every method below.
The SDK’s OpenTelemetry hookup is wired through
options as well; the export and rollup side is
owned by iii-observability.register_function
Register a callable function on this worker.
request_format / response_format accept either a JSON Schema dict or a RegisterFunctionFormat
helper. They are stored alongside the function for the iii console and the agent-readable skills.
register_trigger
Bind a registered function to a configured trigger instance.
trigger.unregister() on the returned handle. There is no top-level
unregister_trigger method.
register_trigger_type
Declare a new trigger type that this worker advertises.
unregister_trigger_type
Remove a previously registered trigger type.
trigger / trigger_async
Invoke a registered function. trigger is the synchronous entry point (runs the async machinery
on the SDK’s internal loop); trigger_async is the awaitable form for callers inside asyncio.
EnqueueResult for
TriggerAction.Enqueue actions, and None for TriggerAction.Void.
shutdown / shutdown_async
Disconnect from the engine and release resources. Use shutdown_async from asyncio contexts.
Trigger actions
TriggerAction is a factory class with two static helpers; TriggerActionEnqueue and
TriggerActionVoid are the concrete return shapes.
queue is a keyword-only argument on Enqueue.
Error types
Every invocation failure raisesIIIInvocationError. Inspect its code attribute to
distinguish categories:
code | When raised |
|---|---|
"FORBIDDEN" | RBAC denied the invocation. |
"TIMEOUT" | The invocation timed out. |
| other | Any other engine-side rejection. |
IIIInvocationError has code, message, function_id, and stacktrace attributes.
Channels
ChannelReader and ChannelWriter wrap the engine’s stream WebSockets. StreamChannelRef
identifies a channel:
StreamChannelRef.
Logger
Logger exposes info, warn, error, and debug, each accepting a message and an optional
data dict. Import it from iii_observability; it is no longer re-exported from iii. The output
integrates with the SDK’s OpenTelemetry setup; see iii-observability for the export side.
Info types
FunctionInfo.function_id, optionaldescription, optionalrequest_format/response_format, optionalmetadata.TriggerInfo.id,trigger_type,function_id, optionalconfig/metadata.
WorkerInfo exists in iii_types but isn’t currently re-exported from the package root; import
it from iii.iii_types when needed. WorkerMetadata is not part of this SDK.
MessageType
A runtime enum naming every wire frame the SDK exchanges with the engine. Used internally by
middleware; rarely needed by callers.
RegisterFunctionFormat
The Python-only helper for declaring a function’s request or response schema in a structured way.
Accepts either a JSON Schema dict directly or constructed values; both forms reach register_function.
Connection state
IIIConnectionState is the literal-type alias "disconnected" | "connecting" | "connected" | "reconnecting" | "failed". It is defined in iii.iii_constants but not re-exported from the
package root; treat the connection as established once register_worker returns.