Node.js/TypeScript SDK for the iii engine. Use when building workers, registering functions, or invoking triggers in TypeScript or JavaScript.
The TypeScript/JavaScript SDK for connecting workers to the iii engine.
Full API reference: https://iii.dev/docs/api-reference/sdk-node
npm install iii-sdk
| API | Purpose |
|---|---|
registerWorker(url, { workerName }) | Connect to the engine and return the iii client |
iii.registerFunction(id, handler, options?) | Register a local async function handler |
iii.registerFunction(id, httpConfig, options?) |
| Register an HTTP-invoked external function |
iii.registerTrigger({ type, function_id, config, metadata? }) | Bind a trigger to a function (with optional metadata) |
iii.trigger({ function_id, payload, action? }) | Invoke a function |
TriggerAction.Void() | Fire-and-forget invocation mode |
TriggerAction.Enqueue({ queue }) | Durable async invocation mode |
Logger | Structured logging |
withSpan, getTracer, getMeter | OpenTelemetry instrumentation |
iii.createChannel() | Binary streaming between workers |
iii.createStream(name, adapter) | Custom stream implementation |
iii.registerTriggerType(id, handler) | Custom trigger type registration |
When implementing an auth function for RBAC workers, the AuthResult supports:
| Field | Purpose |
|---|---|
allowed_functions: string[] | Additional function IDs to allow |
forbidden_functions: string[] | Function IDs to deny (overrides expose_functions) |
allowed_trigger_types?: string[] | Trigger types the worker may register |
allow_trigger_type_registration | Whether the worker can register new trigger types |
function_registration_prefix? | Prefix applied to functions registered by worker |
context: Record<string, unknown> | Arbitrary context forwarded to middleware/handlers |
For browser environments, use iii-browser-sdk (same API, adapted for browser WebSocket constraints). See iii-browser-sdk skill for details.
iii-functions-and-triggersiii-http-endpointsiii-http-middlewareiii-browser-sdkiii-python-sdkiii-rust-sdkiii-node-sdk in the iii engine.