ワンクリックで
http
Expose registered functions as HTTP endpoints with the standalone http worker. Its whole surface is the `http` trigger type.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Expose registered functions as HTTP endpoints with the standalone http worker. Its whole surface is the `http` trigger type.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run Unix commands and structured filesystem ops from the iii engine: exec, background jobs, and a structured fs (ls/stat/mkdir/rm/chmod/mv/grep/sed/ read/write, jailed only if fs.host_roots is configured), all forwardable into a sandbox microVM.
Shared, adapter-backed key/value store addressed by scope and key, with a reactive `state` trigger so other functions can run on every create, update, or delete without polling.
Durable topic queues for iii: subscribe functions to topics, publish work asynchronously, retry failed deliveries with backoff, and inspect/redrive dead-lettered messages.
Mint isolated git worktrees for parallel agent work, track ownership in a cross-agent registry, and land finished branches back onto a target with a queued rebase, test gate, and atomic fast-forward merge.
Connect this engine to another iii engine over a long-lived WebSocket so functions call across the boundary. Wire stable ids with `forward:`/`expose:`; `bridge.invoke` is the ad-hoc escape hatch.
Drive Devin over the iii bus. Run the local Devin CLI agent (SWE-1.6) with the iii runtime context so it discovers and operates your mesh, or start and steer autonomous Devin cloud sessions through the REST API, with a passthrough to any Devin v1/v3 endpoint.
| name | http |
| tags | http, routing, triggers, webhooks, endpoints |
| description | Expose registered functions as HTTP endpoints with the standalone http worker. Its whole surface is the `http` trigger type. |
The http worker exposes registered functions as HTTP endpoints, turning a
function into a route that browsers, webhooks, and external clients can call
without using the iii SDK. It exposes no callable http::* functions; its
entire surface is the http trigger type, bound through a worker SDK trigger
registration such as iii.registerTrigger({ type: 'http', function_id, config }).
Install it with iii worker add http. The engine builtin iii-http must not
run on the same engine because it also owns the http trigger type. Remove
iii-http from the engine config before starting this worker; the standalone
worker refuses to boot when the builtin is active.
Incoming requests are matched by HTTP method and path. The invoked handler
receives method, path, headers, query params, extracted :path params, parsed
body, trigger metadata, and request/response stream channels. Returning a JSON
value yields a buffered response; writing to the response channel yields a
chunked streaming response.
/orders/:id.http::*; bind the http
trigger type to one of your own functions.web::fetch instead.cron; for data-change reactions, use the relevant state, stream, queue, or
database worker.iii-http worker cannot run beside this standalone worker on
the same engine because both own the http trigger type./orders/:id and /orders/:order_id are the same shape.Bind an http trigger when a handler should run automatically for each
matching HTTP request. The handler runs through the engine as a normal function
invocation, and the worker turns the handler's return value or stream writes
back into an HTTP response.
Reach for it when:
iii.registerFunction('orders::get', handler).iii.registerTrigger({
type: 'http',
function_id: 'orders::get',
config: {
api_path: '/orders/:id',
http_method: 'GET',
// condition_function_id and middleware_function_ids are optional.
},
})
api_path is required. http_method defaults to GET. Path segments prefixed
with : are extracted into path_params; query string values arrive in
query_params; request headers arrive in headers.
Trigger config:
| Field | Required | Default | Description |
|---|---|---|---|
api_path | yes | - | Route path such as /orders/:id; :name segments become path params. |
http_method | no | GET | HTTP method to match. |
condition_function_id | no | - | Function invoked before middleware and handler; a falsy result rejects the request with 422. |
middleware_function_ids | no | [] | Per-route middleware functions, run before the handler in list order. |
Handler return values become buffered responses with status_code, headers,
and body; status_code defaults to 200 and body defaults to an empty
object. For streaming, write set_status and set_headers control messages
plus body chunks to the request's response channel; return null or no final
buffered body from the handler.
Configure the server through the central configuration entry for worker
http:
port: 3111
host: 0.0.0.0
default_timeout: 30000
concurrency_request_limit: 1024
cors:
allowed_origins: []
allowed_methods: []
middleware: []
Global middleware runs on every route in ascending priority order. Per-route
middleware_function_ids run after global middleware and before the handler.
middleware and default_timeout hot-reload; port, host, CORS, and
concurrency_request_limit take effect on the next restart.