@nyuchi/mzizi-mcp 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,27 +1,51 @@
1
1
  # @nyuchi/mzizi-mcp
2
2
 
3
- > Model Context Protocol server for the Mzizi design system — the registry and skills served from files bundled at build time, the docs joined in from docs.mzizi.dev, and no database behind any of it.
3
+ > Model Context Protocol server for the Mzizi design system: the registry and skills served from files bundled at build time, the docs joined in from docs.mzizi.dev, and no database behind any of it. Free, with no account; sign-in only for Fundi.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/%40nyuchi%2Fmzizi-mcp?style=flat-square&logo=npm)](https://www.npmjs.com/package/@nyuchi/mzizi-mcp)
6
6
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=flat-square)](https://www.apache.org/licenses/LICENSE-2.0)
7
7
 
8
8
  **Live:** `https://mcp.mzizi.dev/mcp` | **Home:** [mzizi.dev](https://mzizi.dev) | **Docs:** [docs.mzizi.dev](https://docs.mzizi.dev)
9
9
 
10
- Mzizi is an open-architecture project governed by **Mzizi**, operated and
11
- developed by **Nyuchi**.
10
+ Owned and operated by **Mzizi**.
12
11
 
13
12
  ---
14
13
 
15
14
  **Live at** `https://mcp.mzizi.dev/mcp` (Cloudflare Worker `mzizi-mcp`, version
16
- 0.9.1 — `MZIZI_MCP_VERSION` in `src/server.ts` is what `serverInfo.version`
17
- reports, and it moves in lockstep with `package.json` and `server.json`). A
18
- **free WorkOS signup gate** fronts the endpoint — a WorkOS
19
- **Connect OAuth application** (public client, PKCE; no client secret) — so sign up
20
- once and read the whole registry at no cost. The worker advertises
21
- `/.well-known/oauth-protected-resource` so MCP clients can run the OAuth discovery
22
- dance automatically.
23
-
24
- **MCP Registry name:** `io.github.nyuchi/mzizi-mcp`
15
+ 0.11.0 — `MZIZI_MCP_VERSION` in `src/server.ts` is what `serverInfo.version`
16
+ reports, and it moves in lockstep with `package.json` and `server.json`).
17
+
18
+ ## Free, with no gate except Fundi
19
+
20
+ Connect with no account. An anonymous session can `initialize`, call
21
+ `tools/list` and call every tool except the Fundi ones:
22
+
23
+ | Access | Tools |
24
+ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
25
+ | **free**, no account | `mzizi_search`, `mzizi_get_component`, `mzizi_list_components`, `mzizi_get_tokens`, `mzizi_get_architecture`, `mzizi_get_doctrine`, `mzizi_get_skills`, `mzizi_check_accessibility`, `mzizi_mcp_describe`, every `docs_*` tool |
26
+ | **sign-in** (free WorkOS account) | `mzizi_fundi`, `mzizi_report_issue`. They act as your Mzizi console user |
27
+
28
+ - Called without sign-in, the Fundi tools are still listed. They answer with a
29
+ tool error that starts `Sign-in required:` and says how to sign in.
30
+ - **To sign in**, use your client's sign-in or authenticate option for this
31
+ server, or connect to **`https://mcp.mzizi.dev/mcp/signin`**. That URL is the
32
+ same MCP, but it answers 401 until you sign in through a WorkOS **Connect
33
+ OAuth application** (public client, PKCE; no client secret), and then serves
34
+ every tool. Clients discover the authorization server through
35
+ `/.well-known/oauth-protected-resource`, including the path-specific
36
+ `/.well-known/oauth-protected-resource/mcp/signin`.
37
+ - A request to `/mcp` that carries a token is validated by the OAuth provider
38
+ exactly as before: a bad or expired token gets a 401, so a signed-in client
39
+ refreshes rather than dropping to the free tier.
40
+ - **Abuse guard:** anonymous requests are limited to 120 per 60 seconds per
41
+ client IP (a Workers rate-limit binding, `ANON_RATE_LIMIT`). Over the limit
42
+ you get HTTP 429 with `Retry-After: 60`. Signed-in requests are not limited.
43
+ - `mzizi_mcp_describe`, the `mzizi://tools` resource and
44
+ `GET https://mcp.mzizi.dev/catalogue.json` mark every tool `free` or
45
+ `sign-in`, and say how to sign in. `src/access.ts` is the one list.
46
+
47
+ **MCP Registry name:** `io.github.mzizi-dev/mzizi-mcp` (from 0.10.1; the older
48
+ `io.github.nyuchi/mzizi-mcp` entry is stale and no longer updated)
25
49
 
26
50
  ---
27
51
 
@@ -40,8 +64,9 @@ Point any MCP client at the live HTTP endpoint:
40
64
  }
41
65
  ```
42
66
 
43
- The client will be redirected through the WorkOS Connect OAuth (PKCE) flow on first
44
- connect. After that, reads are free and unlimited.
67
+ No sign-in is needed. To use the Fundi tools, use
68
+ `"url": "https://mcp.mzizi.dev/mcp/signin"` instead; the client runs the WorkOS
69
+ Connect OAuth (PKCE) flow on first connect.
45
70
 
46
71
  ### stdio (local / offline)
47
72
 
@@ -62,10 +87,10 @@ tools forward to the public docs MCP and need network.
62
87
  }
63
88
  ```
64
89
 
65
- This is the **sanctioned headless path**: the hosted `mcp.mzizi.dev` endpoint
66
- sits behind an interactive, browser-only WorkOS signup gate that a headless agent
67
- (Claude Code, CI, an offline client) can't complete. `mzizi_report_issue` needs a
68
- signed-in user and says so on the stdio bin.
90
+ Use it when you want the registry offline, or pinned to the version you
91
+ installed. The hosted endpoint needs no sign-in either, so a headless agent can
92
+ use either one. `mzizi_report_issue` needs a signed-in user and says so on the
93
+ stdio bin, and `mzizi_fundi` is not offered there.
69
94
 
70
95
  ---
71
96
 
@@ -73,11 +98,11 @@ signed-in user and says so on the stdio bin.
73
98
 
74
99
  Nothing is read from a database, and no registry data is fetched at request time.
75
100
 
76
- | Data | Source | How it gets into the Worker |
77
- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
78
- | Components, index, component docs, brand tokens, architecture helix + nodes, Ubuntu pillars/principles, conventions, AI instruction sets, changelog, rename map | [mzizi-dev/mzizi-registry](https://github.com/mzizi-dev/mzizi-registry) at the commit pinned in [`registry.pin.json`](./registry.pin.json) | `scripts/generate-registry.mjs` fetches that exact commit and calls the registry's **own API route handlers** once per resource, writing `src/generated/registry.ts` |
79
- | Agent skills | `../mzizi-skills/skills/*/SKILL.md` in this repo | `scripts/generate-skills.mjs` → `src/generated/skills.ts` |
80
- | Documentation | the Mintlify MCP at `https://docs.mzizi.dev/mcp` | federated live — see below |
101
+ | Data | Source | How it gets into the Worker |
102
+ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
103
+ | Components, index, component docs, Rust (Mzizi Roots) implementations and their crates, brand tokens, architecture helix + nodes, Ubuntu pillars/principles, conventions, AI instruction sets, changelog, rename map | [mzizi-dev/mzizi-registry](https://github.com/mzizi-dev/mzizi-registry) at the commit pinned in [`registry.pin.json`](./registry.pin.json) | `scripts/generate-registry.mjs` fetches that exact commit and calls the registry's **own API route handlers** once per resource, writing `src/generated/registry.ts` |
104
+ | Agent skills | `../mzizi-skills/skills/*/SKILL.md` in this repo | `scripts/generate-skills.mjs` → `src/generated/skills.ts` |
105
+ | Documentation | the Mintlify MCP at `https://docs.mzizi.dev/mcp` | federated live — see below |
81
106
 
82
107
  Both generated files are build output: gitignored, never committed, rebuilt by
83
108
  `pnpm generate` (which `build`, `build:worker`, `cf:dev`, `cf:deploy`, `test`,
@@ -91,9 +116,23 @@ re-deriving their output, a tool here answers with the same payload
91
116
  throws on use, so a route that still reads a database **fails the build** rather
92
117
  than shipping an empty answer.
93
118
 
94
- **Moving to newer registry content** is a one-line PR: set `ref` in
95
- `registry.pin.json` to a newer full commit SHA of mzizi-registry. CI regenerates
96
- and runs the bundle tests against it.
119
+ **Moving to newer registry content (bumping the pin)** is a one-line PR:
120
+
121
+ 1. Pick the mzizi-registry commit to ship (a full 40-character SHA on its
122
+ `main`).
123
+ 2. Set `ref` in `registry.pin.json` to it.
124
+ 3. Run `pnpm --filter @nyuchi/mzizi-mcp test` locally, or let CI do it. The
125
+ generator fetches that commit, and `test/registry-bundle.test.ts` checks the
126
+ bundle ref equals the pin and calls every registry tool against it.
127
+ 4. Merge. Workers Builds rebuilds with the new pin and deploys it. The npm bin
128
+ picks it up at the next version bump.
129
+
130
+ `mzizi_mcp_describe` and `/catalogue.json` report the pinned commit as
131
+ `source.registry`, so you can check what is live.
132
+
133
+ Components are **Rust first** (Mzizi Roots): where the registry has a Rust
134
+ implementation, it is the lead. The TSX components are the React build, and
135
+ keep working.
97
136
 
98
137
  Former `nyuchi-*` component names (renamed to `mzizi-*` on 2026-09-27) resolve
99
138
  through the registry's `lib/component-renames.json`, bundled with the rest.
@@ -113,26 +152,67 @@ call, passing the result through untouched:
113
152
 
114
153
  ## Tools
115
154
 
116
- | Tool | Returns |
117
- | ---------------------------------- | -------------------------------------------------------------------------- |
118
- | `mzizi_search` | Word search over components, conventions, AI instruction sets and releases |
119
- | `mzizi_get_component` | One component in full, source inline; `include: ["docs", "versions"]` |
120
- | `mzizi_list_components` | The lean, paged index; filter by `node`, `owner`, `collection`, `type` |
121
- | `mzizi_get_tokens` | Brand system; `family: "colors"` for all 21 colour families |
122
- | `mzizi_get_architecture` | The DNA helix, or one node/rung with `node` (uncapped) |
123
- | `mzizi_get_doctrine` | `ubuntu-pillars`, `ubuntu-principles`, `ai-instructions`, `conventions` |
124
- | `mzizi_get_skills` | The agent skills, listed or one in full |
125
- | `mzizi_check_accessibility` | Contrast ratio against the Mzizi AAA floor, computed locally |
126
- | `mzizi_report_issue` | Your issue desk (signed-in users on the Worker) |
127
- | `mzizi_fundi` | Delegate to fundi (only when the Worker is wired to fundi) |
128
- | `mzizi_mcp_describe` | This server's tools, what each replaces, and its data sources |
129
- | `docs_search_mzizi` | Search the documentation (forwarded) |
130
- | `docs_query_docs_filesystem_mzizi` | Read-only `rg`/`cat`/`tree` over the doc pages (forwarded) |
131
- | `docs_submit_feedback` | Report a documentation problem (forwarded) |
132
-
133
- The `docs_*` names mirror whatever docs.mzizi.dev lists; the three above are what
134
- it lists today. `GET /catalogue.json` and the `mzizi://tools` resource are computed
135
- from the same registration path.
155
+ | Tool | Returns |
156
+ | ---------------------------------- | ------------------------------------------------------------------------------ |
157
+ | `mzizi_search` | Word search over components, conventions, AI instruction sets and releases |
158
+ | `mzizi_get_component` | One component in full, **Rust first**; `include: ["docs", "versions"]` |
159
+ | `mzizi_list_components` | The lean, paged index; filter by `node`, `owner`, `collection`, `type`, `rust` |
160
+ | `mzizi_get_tokens` | Brand system; `family: "colors"` for all 21 colour families |
161
+ | `mzizi_get_architecture` | The DNA helix, or one node/rung with `node` (uncapped) |
162
+ | `mzizi_get_doctrine` | `ubuntu-pillars`, `ubuntu-principles`, `ai-instructions`, `conventions` |
163
+ | `mzizi_get_skills` | The agent skills, listed or one in full |
164
+ | `mzizi_check_accessibility` | Contrast ratio against the Mzizi AAA floor, computed locally |
165
+ | `mzizi_report_issue` | Your issue desk. **Sign-in** |
166
+ | `mzizi_fundi` | Delegate to fundi (when the Worker can reach fundi). **Sign-in** |
167
+ | `mzizi_mcp_describe` | This server's tools, their access, what each replaces, and data sources |
168
+ | `docs_search_mzizi` | Search the documentation (forwarded) |
169
+ | `docs_query_docs_filesystem_mzizi` | Read-only `rg`/`cat`/`tree` over the doc pages (forwarded) |
170
+ | `docs_submit_feedback` | Report a documentation problem (forwarded) |
171
+
172
+ **The tool list is whatever `tools/list` returns.** The `docs_*` names mirror
173
+ whatever docs.mzizi.dev lists; the three above are what it lists today (checked
174
+ against the live `/catalogue.json` on 2026-09-29). `GET /catalogue.json` and the
175
+ `mzizi://tools` resource are computed from the same registration path.
176
+
177
+ **Rust first (from 0.11.0).** Mzizi's own components are being converted to Rust as
178
+ **Mzizi Roots**; the TSX components are the React build, deprioritised. The registry
179
+ tools present the Rust implementation first wherever one exists:
180
+
181
+ - `mzizi_get_component` returns
182
+ `{name, renamedFrom?, lead, note, rust, react, docs?, versions?}`, in that order.
183
+ - `lead` is `"rust"` when the component has a Rust implementation, else `"react"`.
184
+ - `rust` is the registry's `GET /v1/rs/{name}` answer, reordered so the install comes
185
+ before the source:
186
+ - `crate`: `{name, registry, git}`, from the registry's `crateFor` and `CRATE_GIT`.
187
+ - `install.cargo`: `cargo add <crate>`, the crates.io release.
188
+ - `install.pinned`: the same with
189
+ `--git https://github.com/mzizi-dev/mzizi-registry --rev <pin>`, which builds
190
+ exactly the source shown.
191
+ - `module`: the crate's Rust path, e.g. `mzizi_ui`.
192
+ - `contract`: the RFC-0006 `contract … end` block from the source's `CONTRACT`
193
+ const, or `null` when the source declares none.
194
+ - `files[]`: the `.rs` source, inline.
195
+
196
+ With no Rust, `rust` is `null`, and `note` carries the registry's own "ships for
197
+ React only" wording.
198
+
199
+ - `react` is the React build: `build: "react"`, `status: "deprioritised"`, `install`
200
+ (`npx shadcn@latest add https://api.mzizi.dev/v1/ui/<name>`), then the registry's
201
+ `GET /v1/ui/{name}` body unchanged (shadcn-shaped, `files[]` inline). If the registry
202
+ refuses the React build but Rust exists, `react` is `{build, error}` and the Rust
203
+ still leads.
204
+ - **Breaking for readers of 0.10.x:** the React body moved from `component` to
205
+ `react`, and `renamedFrom` moved to the top level.
206
+ - `mzizi_list_components` rows carry `rustCrate` when the component has Rust (absent
207
+ otherwise), the response carries `withRust` (how many of `total` have Rust), and
208
+ `rust: true` / `rust: false` filters on it.
209
+ - `mzizi_search` component hits carry `rustCrate` the same way, and at an equal score a
210
+ component with Rust ranks first. A better word match still wins.
211
+ - The generator calls the registry's own `/v1/rs/{name}` route handler for every
212
+ component, as it does `/v1/ui/{name}`. Only components with Rust are stored; the
213
+ no-Rust answer is stored once as a template, which the build checks against every
214
+ component's real answer. This adds about 0.6 MiB to the Worker upload (gzip about
215
+ +160 KiB; see the CHANGELOG for the measured sizes).
136
216
 
137
217
  **Shape notes (changed when the registry moved into the build).**
138
218
 
@@ -169,21 +249,27 @@ healing plan in it, and writes that issue's lifecycle back to D1 — which is wh
169
249
  confidential: a var wins on every deploy and silently discards a same-named remote value, so a
170
250
  value that differs per environment cannot live in committed config. It is "not required" only
171
251
  because `src/identity.ts` carries a working default — and it must move in lockstep with
172
- `fundi-tester`, which binds the same issuer that this Worker's agent-card consumers are pointed
252
+ `mzizi-fundi`, which binds the same issuer that this Worker's agent-card consumers are pointed
173
253
  at. See `AUTH.md`.
174
254
 
175
255
  Plain vars (`[vars]` in `wrangler.toml`, not secrets):
176
256
 
177
- | Var | Notes |
178
- | ---------------------- | -------------------------------------------------------------- |
179
- | `WORKOS_CLIENT_ID` | Connect OAuth app client id (public client; PKCE) |
180
- | `WORKOS_M2M_CLIENT_ID` | Fundi M2M app client id; required only when `FUNDI_URL` is set |
181
- | `FUNDI_URL` | Base URL of the fundi worker; enables the `fundi_status` tool |
257
+ | Var | Notes |
258
+ | ---------------------- | ------------------------------------------------------------- |
259
+ | `WORKOS_CLIENT_ID` | Connect OAuth app client id (public client; PKCE) |
260
+ | `WORKOS_M2M_CLIENT_ID` | Fundi M2M app client id; used only on the HTTP + M2M fallback |
261
+ | `FUNDI_URL` | Base URL of the fundi worker, for the HTTP + M2M fallback |
262
+
263
+ Bindings (`wrangler.toml`): `FUNDI_SERVICE` (Service Binding to `mzizi-fundi`'s
264
+ `FundiInternal` entrypoint; what makes fundi reachable in production),
265
+ `ISSUE_DESK` (one Durable Object per signed-in user), `OAUTH_KV` (the OAuth
266
+ provider's store) and `ANON_RATE_LIMIT` (the free tier's per-IP limit).
182
267
 
183
268
  > The Connect OAuth app is a **public client (PKCE)** — there is no `WORKOS_CLIENT_SECRET`
184
269
  > or WorkOS API key on the worker.
185
270
 
186
- **Optional: fundi-caller extras** (only needed when mzizi-mcp is the fundi caller):
271
+ **Optional: fundi-caller extras** (only on the HTTP + M2M fallback, e.g. `wrangler dev`; the
272
+ deployed Worker uses the Service Binding and needs no M2M secret):
187
273
 
188
274
  | Name | Kind | Purpose |
189
275
  | -------------------------- | ------ | --------------------------------------------------- |
@@ -211,7 +297,8 @@ Source files:
211
297
 
212
298
  - `src/server.ts` — `createMziziMcpServer()` factory
213
299
  - `src/http.ts` — `createMziziHttpHandler()` for any fetch runtime
214
- - `src/worker.ts` — Cloudflare Worker bound to `env` (the gated deployment)
300
+ - `src/worker.ts` — Cloudflare Worker: the free-tier front, and the OAuth provider for sign-in
301
+ - `src/access.ts` — which tools need sign-in, the sign-in URL, and the rate limit
215
302
  - `src/stdio.ts` — `bin: mzizi-mcp` for the MCP registry / local Claude Code
216
303
 
217
304
  ---
@@ -231,6 +318,9 @@ pnpm --filter @nyuchi/mzizi-mcp build
231
318
  # local Worker dev
232
319
  pnpm --filter @nyuchi/mzizi-mcp cf:dev
233
320
 
321
+ # wrangler dev (workerd) integration: the real Worker anonymously + the signed-in path
322
+ pnpm --filter @nyuchi/mzizi-mcp integration
323
+
234
324
  # deploy manually (Workers Builds handles pushes to main)
235
325
  pnpm --filter @nyuchi/mzizi-mcp cf:deploy
236
326
  ```
@@ -245,11 +335,12 @@ fails the build, and a failed build deploys nothing — the running version stay
245
335
 
246
336
  **Rollback:** Cloudflare dashboard → Workers & Pages → `mzizi-mcp` → Deployments → pick
247
337
  the previous version → _Rollback_, or `wrangler rollback` from `mzizi-mcp/`. Reverting
248
- the merge commit on `main` redeploys the previous source through Workers Builds.
338
+ the commit on `main` (merges are rebase-only) redeploys the previous source through Workers
339
+ Builds.
249
340
 
250
341
  ---
251
342
 
252
343
  ## License
253
344
 
254
- Apache-2.0. Part of the mzizi tooling — an open-architecture project of
255
- [Mzizi](https://mzizi.dev), operated by [nyuchi](https://nyuchi.com).
345
+ Apache-2.0. Part of the Mzizi agent tooling ([mzizi.dev](https://mzizi.dev)).
346
+ Copyright the Bundu Foundation; see the repository `NOTICE`.
@@ -1,5 +1,5 @@
1
1
  export declare const REGISTRY_PIN: {
2
2
  readonly repository: "https://github.com/mzizi-dev/mzizi-registry";
3
- readonly ref: "61c805c2d88419133938bbc286972e14587457e0";
3
+ readonly ref: "9b86e034ffd84cff9ae0214201dc4bc4b15b2885";
4
4
  };
5
5
  //# sourceMappingURL=registry-pin.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // GENERATED by scripts/generate-registry.mjs — do not edit, do not commit.
2
- export const REGISTRY_PIN = { "repository": "https://github.com/mzizi-dev/mzizi-registry", "ref": "61c805c2d88419133938bbc286972e14587457e0" };
2
+ export const REGISTRY_PIN = { "repository": "https://github.com/mzizi-dev/mzizi-registry", "ref": "9b86e034ffd84cff9ae0214201dc4bc4b15b2885" };
3
3
  //# sourceMappingURL=registry-pin.js.map
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * GENERATED by scripts/generate-registry.mjs — do not edit, do not commit.
3
3
  *
4
- * The mzizi registry at https://github.com/mzizi-dev/mzizi-registry/tree/61c805c2d88419133938bbc286972e14587457e0
4
+ * The mzizi registry at https://github.com/mzizi-dev/mzizi-registry/tree/9b86e034ffd84cff9ae0214201dc4bc4b15b2885
5
5
  * (pinned in registry.pin.json), produced by calling the registry's own API
6
6
  * route handlers at build time. Every value is a JSON string, parsed lazily by
7
7
  * src/registry.ts, so a cold start pays only for what a request reads.
8
8
  */
9
9
  export declare const REGISTRY_PIN: {
10
10
  readonly repository: "https://github.com/mzizi-dev/mzizi-registry";
11
- readonly ref: "61c805c2d88419133938bbc286972e14587457e0";
11
+ readonly ref: "9b86e034ffd84cff9ae0214201dc4bc4b15b2885";
12
12
  };
13
13
  /** Whole-resource payloads, keyed by section. */
14
14
  export declare const SECTIONS: Readonly<Record<string, string>>;
@@ -16,6 +16,16 @@ export declare const SECTIONS: Readonly<Record<string, string>>;
16
16
  export declare const COMPONENTS: Readonly<Record<string, string>>;
17
17
  /** `/ui/{name}/docs` per component. */
18
18
  export declare const COMPONENT_DOCS: Readonly<Record<string, string>>;
19
+ /**
20
+ * `/rs/{name}` per component WITH a Mzizi Roots (Rust) implementation: the
21
+ * registry's body ({name, type, target, description, crate, files}) plus
22
+ * `contract`, the source's CONTRACT clause block or null.
23
+ */
24
+ export declare const RUST: Readonly<Record<string, string>>;
25
+ /** Component name → the crate that compiles its Rust, for every entry in RUST. Cheap to read whole. */
26
+ export declare const RUST_CRATES: Readonly<Record<string, string>>;
27
+ /** `/rs/{name}` for a component with no Rust, with `{name}` in place of the name. */
28
+ export declare const RUST_MISSING: string;
19
29
  /** `/architecture/nodes/{n}` per node or rung. */
20
30
  export declare const NODES: Readonly<Record<string, string>>;
21
31
  /** `/ai/instructions/{name}` per instruction set. */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/generated/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,eAAO,MAAM,YAAY;;;CAAyH,CAAA;AAElJ,iDAAiD;AACjD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrD,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkkBvD,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkkB3D,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAalD,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI5D,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/generated/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,eAAO,MAAM,YAAY;;;CAAyH,CAAA;AAElJ,iDAAiD;AACjD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrD,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkkBvD,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkkB3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwDjD,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAA6yD,CAAA;AAEt2D,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,MAAyP,CAAA;AAEpR,kDAAkD;AAClD,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAalD,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI5D,CAAA"}