iii / worker
$worker

iii-directory

v0.4.1

Engine introspection (functions / triggers / workers), workers registry proxy, and filesystem-backed skill + prompt reader.

  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64 · x86

functions

16

directory::registered-trigger-list

function

List registered trigger instances (the link rows between trigger types and target functions). Filter by trigger_type, function_id, worker, or free-text search.

request
  • function_idstring
  • searchstring
  • trigger_typestring
  • workerstring
response
  • registered_triggersobject[]required
    • config_summarystringrequired

      Truncated (~80 chars) JSON preview of `config` so listings stay scannable. Use `directory::registered-trigger-info` for the full payload.

    • function_idstringrequired
    • idstringrequired
    • trigger_typestringrequired
    • worker_namestring

skills::download

function

Download skills + prompts into skills_folder. Pass {repo, skill} to clone a single skill folder from a GitHub repo (git clone --depth 1), or {worker, version|tag} to pull from the workers registry. Files in the destination namespace are overwritten file-by-file.

request
  • repostring

    Source A: GitHub repo URL. Pair with `skill`.

  • skillstring

    Source A: subfolder under `skills/` inside the repo. Doubles as the destination namespace inside `skills_folder`.

  • tagstring

    Source B: registry tag to pull (e.g. `latest`). Mutually exclusive with `version`.

  • versionstring

    Source B: explicit semver to pull. Mutually exclusive with `tag`.

  • workerstring

    Source B: workers registry name. Pair with exactly one of `version` / `tag`.

response
  • namespacestringrequired
  • prompts_writtenstring[]required
  • skills_writtenstring[]required
  • sourceunknownrequired

skill::fetch

function

Fetches the content of one or more skill resources identified by iii:// URIs. When you encounter iii:// links in skill instructions, use this tool to retrieve their contents (batch with `uris` when helpful).

request
  • uristring

    A single iii:// URI to read. Must start with "iii://".

  • urisstring[]

    One or more iii:// URIs to read in order. When both `uri` and `uris` are provided, `uris` wins (matches the TS reference implementation).

response
valuestring

skills::fetch_skill

function

Fetches the content of one or more skill resources identified by iii:// URIs. When you encounter iii:// links in skill instructions, use this tool to retrieve their contents (batch with `uris` when helpful).

request
  • uristring

    A single iii:// URI to read. Must start with "iii://".

  • urisstring[]

    One or more iii:// URIs to read in order. When both `uri` and `uris` are provided, `uris` wins (matches the TS reference implementation).

response
valuestring

directory::worker-info

function

Worker envelope plus the lists of functions, trigger types, and registered triggers it owns. The `worker` field has the same shape as registry::worker-info so callers can switch between local + registry surfaces with the same parser.

request
  • namestringrequired
response
  • functionsobject[]required
    • descriptionstring
    • function_idstringrequired
    • namestringrequired
  • registered_triggersobject[]required
    • function_idstringrequired
    • idstringrequired
    • trigger_typestringrequired
  • trigger_typesobject[]required
    • descriptionstringrequired
    • idstringrequired
    • namestringrequired
  • workerall ofrequired

    Same shape as `worker-list` rows (and `registry::worker-info.worker`).

    all of (1)
    variant 1
    • active_invocationsinteger· uintrequiredmin 0
    • connected_at_msinteger· uint64requiredmin 0
    • descriptionstring

      Engine-side workers carry no description; field present for shape parity with `registry::Worker.description`. Always `None`.

    • function_countinteger· uintrequiredmin 0
    • idstringrequired

      Engine-assigned connection id (directory-specific).

    • ip_addressstring
    • isolationstring
    • namestring

      Worker name as registered with the engine.

    • osstring
    • runtimestring
    • statusstringrequired

      Connection state (e.g. `"connected"`, `"disconnected"`).

    • versionstring

      Worker version string from the worker's published manifest.

prompts::get

function

Fetch one filesystem-backed prompt by name. Returns the raw markdown body plus name, description, and modified_at — no envelope, no templating.

request
  • namestringrequired
response
  • bodystringrequired

    Raw markdown body (post-frontmatter) from disk.

  • descriptionstringrequired
  • modified_atstringrequired

    File mtime as RFC 3339.

  • namestringrequired

directory::function-info

function

Full detail for one function: schemas, owning worker, registered triggers that target it, and any matching how-to skill from skills_folder.

request
  • function_idstringrequired
response
  • descriptionstring
  • function_idstringrequired
  • how_guideany of
    any of (2)
    variant 1
    • abs_pathstringrequired
    • bodystringrequired
    • frontmatterobjectrequired

      Subset of frontmatter fields the scanner cares about. Anything else in the YAML block is preserved verbatim by `split_frontmatter` but ignored here.

      … expand 4 nested
      • function_idstring

        Optional single function id (alternative to `functions`).

      • functionsstring[]

        Optional list of function ids this how-to covers.

      • titlestring

        Optional human-readable title (mirrors what an `# H1` would give).

      • typestring

        Required marker — only `type: how-to` files are considered.

    • skill_idstringrequired
    variant 2
    valuenull
  • metadataunknown
  • namestringrequired
  • registered_triggersobject[]required
    • configunknownrequired
    • idstringrequired
    • trigger_typestringrequired
  • request_schemaunknown
  • response_schemaunknown
  • worker_namestring

registry::worker-info

function

Fetch full registry metadata for one worker: worker envelope (same shape as registry::worker-list rows and directory::worker-info), readme, full API reference (functions + triggers schemas), and tree of skill/prompt file paths. Pass either `version` or `tag` (defaults to tag="latest"). Results are cached for `registry_cache_ttl_ms`.

request
  • namestringrequired

    Worker name in the registry (e.g. `"resend"`).

  • tagstring
  • versionstring

    Mutually exclusive with `tag`. If neither is provided we fall back to `tag: "latest"`.

response
  • api_referenceobjectrequired
    • functionsobject[]
      • descriptionstring
      • metadataunknown
      • namestringrequired
      • request_schemaunknown
      • response_schemaunknown
    • triggersobject[]
      • descriptionstring
      • invocation_schemaunknown
      • metadataunknown
      • namestringrequired
      • return_schemaunknown
  • readmestring
  • skills_treeobjectrequired
    • promptsobject[]
      • descriptionstring
      • namestringrequired
    • skillsobject[]
      • pathstringrequired
  • workerall ofrequired

    Same shape as `worker-list` rows (and `directory::worker-info.worker`).

    all of (1)
    variant 1
    • authorany of
      … expand 2 nested
      any of (2)
      variant 1
      • is_verifiedboolean
      • namestring
      • profile_picturestring
      variant 2
      valuenull
    • descriptionstring
    • namestringrequired
    • repostring
    • versionstring

      Latest published version (worker-list) or the resolved version (worker-info, when called with `version` / `tag`).

directory::function-list

function

List every function registered with the engine. Filter by free-text search, namespace prefix, and/or worker name.

request
  • prefixstring

    Exact prefix match on `function_id` (e.g. `"mem::"`).

  • searchstring

    Case-insensitive substring match against `function_id` and `description`.

  • workerstring

    Exact worker-name match (the worker that registered the function).

response
  • functionsobject[]required
    • descriptionstring
    • function_idstringrequired
    • namestringrequired

      Last `::` segment of `function_id`.

    • worker_namestring

      Worker that registered it (resolved via `WorkerInfo.functions[]`), or the first `::` segment of `function_id` as fallback.

directory::worker-list

function

List every worker currently connected to the engine. Filter by name substring, runtime, or status. Same row shape as registry::worker-list so callers learn one envelope.

request
  • runtimestring

    Exact runtime match (e.g. `"rust"`, `"node"`).

  • searchstring

    Case-insensitive substring match against `name`.

  • statusstring

    Exact status match (e.g. `"connected"`).

response
  • workersobject[]required
    • active_invocationsinteger· uintrequiredmin 0
    • connected_at_msinteger· uint64requiredmin 0
    • descriptionstring

      Engine-side workers carry no description; field present for shape parity with `registry::Worker.description`. Always `None`.

    • function_countinteger· uintrequiredmin 0
    • idstringrequired

      Engine-assigned connection id (directory-specific).

    • ip_addressstring
    • isolationstring
    • namestring

      Worker name as registered with the engine.

    • osstring
    • runtimestring
    • statusstringrequired

      Connection state (e.g. `"connected"`, `"disconnected"`).

    • versionstring

      Worker version string from the worker's published manifest.

directory::trigger-info

function

Full detail for one trigger type: configuration schema, return schema, owning worker, and current instance count.

request
  • idstringrequired
response
  • configuration_schemaunknown

    SDK 0.11.3 surfaces a single `trigger_request_format` that doubles as the per-instance configuration shape; expose it explicitly so callers don't have to know the alias.

  • descriptionstringrequired
  • idstringrequired
  • instance_countinteger· uintrequiredmin 0
  • namestringrequired
  • return_schemaunknown
  • worker_namestring

prompts::list

function

List filesystem-backed prompts (name, description, modified_at) from skills_folder.

request
empty object
response
  • promptsobject[]required
    • descriptionstringrequired
    • modified_atstringrequired

      File mtime as RFC 3339.

    • namestringrequired

directory::registered-trigger-info

function

Full denormalized detail for one registered trigger: instance config + trigger-type detail + function detail.

request
  • idstringrequired
response
  • configunknownrequired
  • functionany of

    Full function detail for `function_id`. `None` if the function has been unregistered between calls.

    any of (2)
    variant 1
    • descriptionstring
    • function_idstringrequired
    • how_guideany of
      … expand 2 nested
      any of (2)
      variant 1
      • abs_pathstringrequired
      • bodystringrequired
      • frontmatterobjectrequired

        Subset of frontmatter fields the scanner cares about. Anything else in the YAML block is preserved verbatim by `split_frontmatter` but ignored here.

        … expand 4 nested
        • function_idstring

          Optional single function id (alternative to `functions`).

        • functionsstring[]

          Optional list of function ids this how-to covers.

        • titlestring

          Optional human-readable title (mirrors what an `# H1` would give).

        • typestring

          Required marker — only `type: how-to` files are considered.

      • skill_idstringrequired
      variant 2
      valuenull
    • metadataunknown
    • namestringrequired
    • registered_triggersobject[]required
      … expand 3 nested
      • configunknownrequired
      • idstringrequired
      • trigger_typestringrequired
    • request_schemaunknown
    • response_schemaunknown
    • worker_namestring
    variant 2
    valuenull
  • function_idstringrequired
  • idstringrequired
  • metadataunknown
  • triggerany of

    Full trigger-type detail for `trigger_type`. `None` if the type has been unregistered between calls.

    any of (2)
    variant 1
    • configuration_schemaunknown

      SDK 0.11.3 surfaces a single `trigger_request_format` that doubles as the per-instance configuration shape; expose it explicitly so callers don't have to know the alias.

    • descriptionstringrequired
    • idstringrequired
    • instance_countinteger· uintrequiredmin 0
    • namestringrequired
    • return_schemaunknown
    • worker_namestring
    variant 2
    valuenull
  • trigger_typestringrequired
  • worker_namestring

skills::list

function

List filesystem-backed skills (id, body length, modified_at) from skills_folder.

request
empty object
response
  • skillsobject[]required
    • bytesinteger· uintrequiredmin 0
    • idstringrequired
    • modified_atstringrequired

      File mtime as RFC 3339 (best effort; empty if unavailable).

directory::trigger-list

function

List every trigger TYPE registered with the engine. Filter by search, prefix, worker. (For registered trigger instances, use directory::registered-trigger-list.)

request
  • prefixstring
  • searchstring
  • workerstring
response
  • triggersobject[]required
    • descriptionstringrequired
    • idstringrequired
    • namestringrequired
    • worker_namestring

registry::worker-list

function

List workers from the public registry (api.workers.iii.dev) matching the free-text term `search`. Same row shape as directory::worker-list so callers learn one envelope. Results are cached for `registry_cache_ttl_ms` (default 60s).

request
  • limitinteger· uint32min 0

    Max results to return. Defaults to 20; capped at 100.

  • searchstring

    Free-text query forwarded to the registry as `?q=…`. Required — the public registry doesn't support an unscoped browse endpoint.

response
  • workersobject[]required
    • authorany of
      any of (2)
      variant 1
      • is_verifiedboolean
      • namestring
      • profile_picturestring
      variant 2
      valuenull
    • descriptionstring
    • namestringrequired
    • repostring
    • versionstring

      Latest published version (worker-list) or the resolved version (worker-info, when called with `version` / `tag`).

triggers

2

prompts::on-change

trigger

Fires after every successful skills::download that wrote at least one prompt markdown file.

invocation
valueunknown
return
valueunknown

skills::on-change

trigger

Fires after every successful skills::download that wrote at least one skill markdown file.

invocation
valueunknown
return
valueunknown