Skip to content
Draft
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
2 changes: 1 addition & 1 deletion .github/scripts/parse_publish_workers_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"console",
"database",
"harness",
"iii-directory",
"directory",
"image-resize",
"mcp",
"shell",
Expand Down
4 changes: 2 additions & 2 deletions .github/scripts/validate_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
4. tests/ exists and is non-empty.
5. For workers in BOOTSTRAP_WORKERS, skills/SKILL.md exists, is non-empty,
and is within the 256 KiB cap — the harness bootstraps these onto disk via
iii-directory on first boot; a missing or oversized file breaks the
directory on first boot; a missing or oversized file breaks the
chat surface's orientation.

If `--worker` is not in `--source-changed`, requirements 1, 3, and 4 are
Expand All @@ -33,7 +33,7 @@
# skills/SKILL.md a hard PR gate. Keep in sync with what the harness
# actually bootstraps.
BOOTSTRAP_WORKERS = frozenset({
"iii-directory",
"directory",
"shell",
})

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/create-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
- database
- email
- harness
- iii-directory
- directory
- iii-lsp
- iii-lsp-vscode
- image-resize
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- 'database/v*'
- 'email/v*'
- 'harness/v*'
- 'iii-directory/v*'
- 'directory/v*'
- 'iii-lsp/v*'
- 'image-resize/v*'
- 'llm-router/v*'
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ npx skills add iii-hq/iii --all
| [`claude-code`](claude-code/) | Node | Claude Code as an iii worker — `claude::*` runs headless Claude Code turns, mirrors raw messages onto `claude::events`, and streams AgentEvent frames onto `agent::events`. |
| [`session-manager`](session-manager/) | Rust | Durable, reactive, branching conversation store — fourteen `session::*` functions plus six trigger types; the transcript backend for `harness` and `console`. See [`session-manager/architecture/`](session-manager/architecture/). |
| [`database`](database/) | Rust | PostgreSQL, MySQL, and SQLite client — query, execute, transactions, prepared statements, and change feeds. |
| [`iii-directory`](iii-directory/) | Rust | Engine introspection (functions / triggers / workers), workers-registry proxy, and filesystem-backed skill + prompt reader. |
| [`directory`](directory/) | Rust | Engine introspection (functions / triggers / workers), workers-registry proxy, and filesystem-backed skill + prompt reader. |
| [`iii-lsp`](iii-lsp/) | Rust | Language Server for iii function ids, trigger configs, and worker discovery. Autocomplete / hover across JS/TS, Python, Rust. |
| [`iii-lsp-vscode`](iii-lsp-vscode/) | Node | VS Code extension that embeds `iii-lsp`. |
| [`image-resize`](image-resize/) | Rust | Image resize via channel I/O — JPEG/PNG/WebP with EXIF auto-orient, scale-to-fit / crop-to-fit. |
Expand Down
4 changes: 2 additions & 2 deletions console/web/src/components/chat/directory/parsers.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Zod schemas for the `directory::*` namespace (iii-directory worker).
* Zod schemas for the `directory::*` namespace (directory worker).
*
* Wire source: `iii-directory/src/functions/*.rs`
* Wire source: `directory/src/functions/*.rs`
* - skills.rs — directory::skills::list / get / index
* - download.rs — directory::skills::download
* - prompts.rs — directory::prompts::list / get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ describe('worker::list', () => {
const payload = {
workers: [
{ name: 'iii-worker-manager', pid: null, running: true },
{ name: 'iii-directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'iii-stream', pid: null, running: true, version: '0.11.6' },
],
}
Expand Down
2 changes: 1 addition & 1 deletion console/web/src/hooks/use-worker-lifecycle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { getIiiClient } from '@/lib/iii-client'
* own terminal.
*
* IMPORTANT: the engine `worker` trigger filters on BOTH `operations` and
* `stages`. The only working subscriber in the tree (the Rust `iii-directory`
* `stages`. The only working subscriber in the tree (the Rust `directory`
* worker) always sets both; omitting `stages` matches no events, so this hook
* always sends a stage filter (defaulting to the full lifecycle).
*
Expand Down
18 changes: 9 additions & 9 deletions console/web/src/stories/fixtures/engine-fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export const engineFunctionsListDone = base(
export const engineFunctionsListEmpty = base(
'engine-fn-list-empty',
'engine::functions::list',
{ worker: 'iii-directory', search: 'nonexistent' },
{ worker: 'directory', search: 'nonexistent' },
{ functions: [] },
)

Expand All @@ -79,12 +79,12 @@ export const engineFunctionsListRaw = base(
functions: [
{
function_id: 'directory::skills::download',
worker_name: 'iii-directory',
worker_name: 'directory',
description: 'Download skill bundle from the registry',
},
{
function_id: 'directory::skills::list',
worker_name: 'iii-directory',
worker_name: 'directory',
// description intentionally omitted for visual variance
},
],
Expand Down Expand Up @@ -193,13 +193,13 @@ export const engineTriggersListDone = base(
},
{
id: 'directory::prompts::on-change',
worker_name: 'iii-directory',
worker_name: 'directory',
description:
'Fires after every successful directory::skills::download that wrote at least one prompt.',
},
{
id: 'directory::skills::on-change',
worker_name: 'iii-directory',
worker_name: 'directory',
description:
'Fires after every successful directory::skills::download that wrote at least one skill.',
},
Expand Down Expand Up @@ -251,14 +251,14 @@ export const engineRegisteredTriggersListDone = base(
export const engineRegisteredTriggersListPlainSummary = base(
'engine-reg-tr-plain',
'engine::registered-triggers::list',
{ worker: 'iii-directory' },
{ worker: 'directory' },
{
registered_triggers: [
{
id: 'a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d',
trigger_type: 'log',
function_id: 'directory::log::watch',
worker_name: 'iii-directory',
worker_name: 'directory',
config_summary: 'level=info, source=stdout',
},
],
Expand Down Expand Up @@ -327,7 +327,7 @@ export const engineWorkersListDone = base(
},
{
id: '00000000-0000-0000-0000-000000000aaa',
name: 'iii-directory',
name: 'directory',
description: null,
version: '0.1.5',
runtime: 'rust',
Expand Down Expand Up @@ -365,7 +365,7 @@ export const engineWorkersListFiltered = base(
workers: [
{
id: '00000000-0000-0000-0000-000000000aaa',
name: 'iii-directory',
name: 'directory',
description: null,
version: '0.1.5',
runtime: 'rust',
Expand Down
6 changes: 3 additions & 3 deletions console/web/src/stories/fixtures/worker-fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function base(
/* ---------------- worker::list ---------------- */

/** Mirrors the user's screenshot: 7+ workers, mix of running engine builtins
* (null pid, null version) and a managed iii-directory with a real pid. */
* (null pid, null version) and a managed directory with a real pid. */
export const workerListDone = base(
'worker-list',
'worker::list',
Expand All @@ -41,7 +41,7 @@ export const workerListDone = base(
{ name: 'iii-worker-manager', pid: null, running: true },
{ name: 'iii-pubsub', pid: null, running: true },
{ name: 'iii-observability', pid: null, running: true },
{ name: 'iii-directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'iii-queue', pid: null, running: true, version: '0.11.6' },
{ name: 'iii-state', pid: null, running: true, version: '0.11.6' },
{ name: 'iii-stream', pid: null, running: true, version: '0.11.6' },
Expand All @@ -56,7 +56,7 @@ export const workerListRunningOnly = base(
{ running_only: true },
{
workers: [
{ name: 'iii-directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'directory', pid: 19052, running: true, version: '0.5.2' },
{ name: 'iii-queue', pid: null, running: true, version: '0.11.6' },
],
},
Expand Down
54 changes: 27 additions & 27 deletions iii-directory/Cargo.lock → directory/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions iii-directory/Cargo.toml → directory/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
[workspace]

[package]
name = "iii-directory"
name = "directory"
version = "0.8.1"
edition = "2021"
publish = false

[[bin]]
name = "iii-directory"
name = "directory"
path = "src/main.rs"

[lib]
name = "iii_directory"
name = "directory"
path = "src/lib.rs"

[dependencies]
Expand Down
8 changes: 4 additions & 4 deletions iii-directory/README.md → directory/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# iii-directory
# directory

Workers registry HTTP proxy and filesystem-backed skill + prompt
reader for the [iii engine](https://github.com/iii-hq/iii). Every
Expand Down Expand Up @@ -50,7 +50,7 @@ registry view also surfaces publication metadata (`type`, `config`,
## Install

```bash
iii worker add iii-directory
iii worker add directory
```

`iii worker add` fetches the binary, writes a config block into
Expand All @@ -61,10 +61,10 @@ iii worker add iii-directory

## Skills

Install the `iii-directory` agent skill for Claude Code, Cursor, and 30+ other agents:
Install the `directory` agent skill for Claude Code, Cursor, and 30+ other agents:

```bash
npx skills add iii-hq/workers --skill iii-directory
npx skills add iii-hq/workers --skill directory
```

Browse or install every worker skill at once:
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion iii-directory/config.yaml → directory/config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# iii-directory runtime config.
# directory runtime config.

# Folder that backs every read (`directory::skills::list`,
# `directory::skills::get`, `directory::prompts::*`) and every write
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use iii_directory::fs_source::{scan_prompts, scan_skills};
use iii_directory::sources::registry::{download, VersionSpec};
use directory::fs_source::{scan_prompts, scan_skills};
use directory::sources::registry::{download, VersionSpec};

#[tokio::main]
async fn main() -> Result<(), String> {
Expand Down
4 changes: 2 additions & 2 deletions iii-directory/iii.worker.yaml → directory/iii.worker.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
iii: v1
name: iii-directory
name: directory
language: rust
deploy: binary
manifest: Cargo.toml
bin: iii-directory
bin: directory
description: Engine introspection (functions / triggers / workers), workers registry proxy, and filesystem-backed skill + prompt reader.
4 changes: 2 additions & 2 deletions iii-directory/skills/SKILL.md → directory/skills/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
name: iii-directory
name: directory
description: >-
Discovery entry point for the engine — read the skill and prompt docs that
installed workers ship off local disk, browse the public iii workers registry
over HTTP, and install new worker bundles. Reach for it first to find out
which workers exist and how to call them.
---

# iii-directory
# directory

The directory worker is how an agent finds its way around the engine. It does
three things: serves the markdown docs installed workers ship (`directory::skills::*`),
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//! Function registrations for `iii-directory` (formerly `skills` / `engine-catalog`).
//! Function registrations for `directory` (formerly `skills` / `engine-catalog`).
//!
//! All public functions sit under a single `directory::*` namespace,
//! split into three sub-namespaces:
Expand Down Expand Up @@ -60,7 +60,7 @@ pub fn register_all(
registry::register(iii, cfg);
engine_fn::register(iii);
tracing::info!(
"iii-directory registered 3 directory::skills::* (list + get + index), \
"directory registered 3 directory::skills::* (list + get + index), \
2 directory::prompts::* (list + get), 1 directory::skills::download, \
2 directory::registry::workers::*, and 1 directory::engine::functions::info"
);
Expand All @@ -81,7 +81,7 @@ pub fn register_all_with_cache(
registry::register(iii, cfg);
engine_fn::register(iii);
tracing::info!(
"iii-directory registered 3 directory::skills::* (list + get + index), \
"directory registered 3 directory::skills::* (list + get + index), \
2 directory::prompts::* (list + get), 1 directory::skills::download, \
2 directory::registry::workers::*, and 1 directory::engine::functions::info"
);
Expand Down
Loading
Loading