Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions iii-directory/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ into three sub-namespaces (all MCP-agnostic):
|---|---|---|
| **Skills** (`directory::skills::*`) | Enriched listing via `directory::skills::list` (`{ id, title, type, description, bytes, modified_at }` per row), a single-skill reader `directory::skills::get { id }` returning `{ id, title, type, description, body, modified_at }`, and `directory::skills::index` which renders a short per-worker overview document (one `## <title>` + first paragraph + `read more` link per `type: index` skill). `title` prefers the YAML frontmatter `title:` over the body H1; `type` is lifted from frontmatter `type:` (e.g. `index`, `how-to`, `reference`) and serialised as `null` when absent. | Orientation: "when and why to use my worker's tools" |
| **Prompts** (`directory::prompts::*`) | Static prompt templates listed by `directory::prompts::list` and read by `directory::prompts::get` | Parametric command templates the *user* invokes |
| **Registry** (`directory::registry::*`) | HTTP proxy over `api.workers.iii.dev` with `workers::{list,info}`. Rows share the core `name` / `description` / `version` fields with the engine's `engine::workers::list` and add publication metadata (`type`, `config`, `supported_targets`, `total_downloads`, `dependencies`, optional `image`). `workers::list` is cursor-paginated with a server-authored page size. | "What's published in the public registry?" |
| **Registry** (`directory::registry::*`) | HTTP proxy over `api.workers.iii.dev` with `workers::{list,info}`. Rows share the core `name` / `description` / `version` fields with the engine's `engine::workers::list` and add publication metadata (`type`, `config`, `supported_targets`, `total_downloads`, `dependencies`, `tags`, optional `image`). `workers::list` is cursor-paginated with a server-authored page size. | "What's published in the public registry?" |

Engine introspection (functions / triggers / registered triggers /
workers) is served by the engine natively at
Expand All @@ -30,7 +30,7 @@ downloaded, files belong to the developer — edit them however you want.
share the core `name` / `description` / `version` fields so a parser
that touches only those keys works against either surface; the
registry view also surfaces publication metadata (`type`, `config`,
`supported_targets`, `total_downloads`, `dependencies`, optional
`supported_targets`, `total_downloads`, `dependencies`, `tags`, optional
`image`) and the engine view adds runtime / connection state.

## Table of contents
Expand Down
8 changes: 7 additions & 1 deletion iii-directory/src/functions/registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,11 @@ pub struct Worker {
pub dependencies: Vec<Dependency>,
#[serde(default)]
pub author: Option<WorkerAuthor>,
/// Discovery tags from the worker's `iii.worker.yaml` manifest,
/// passed through from the registry envelope (omitted when the
/// publisher declared none).
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
}

fn default_config_object() -> Value {
Expand Down Expand Up @@ -347,7 +352,7 @@ fn register_worker_info(iii: &Arc<IIIClient>, cfg: &SharedConfig, cache: Registr
"Fetch full registry metadata for one worker: worker envelope \
(same core fields as the engine's `engine::workers::list` row \
shape, plus registry-only `type` / `config` / `supported_targets` / \
`total_downloads` / `dependencies` / `image`), readme, full \
`total_downloads` / `dependencies` / `image` / `tags`), readme, full \
API reference (functions + triggers schemas), and the tree \
of skill / prompt file paths fetched from the registry's \
/w/{slug}/skills endpoint. Pass either `version` or `tag` \
Expand Down Expand Up @@ -623,6 +628,7 @@ pub fn parse_worker_info_response(
total_downloads: 0,
dependencies: Vec::new(),
author: None,
tags: Vec::new(),
});

let readme = detail
Expand Down
Loading