@nyuchi/mzizi-mcp 0.10.1 → 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 +145 -55
- package/dist/generated/registry-pin.d.ts +1 -1
- package/dist/generated/registry-pin.js +1 -1
- package/dist/generated/registry.d.ts +12 -2
- package/dist/generated/registry.d.ts.map +1 -1
- package/dist/generated/registry.js +69 -3
- package/dist/generated/registry.js.map +1 -1
- package/dist/generated/skills.js +1 -1
- package/dist/generated/skills.js.map +1 -1
- package/dist/registry.d.ts +43 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +39 -6
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/dist/tools.d.ts +3 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +87 -21
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,25 +1,48 @@
|
|
|
1
1
|
# @nyuchi/mzizi-mcp
|
|
2
2
|
|
|
3
|
-
> Model Context Protocol server for the Mzizi design system
|
|
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
|
[](https://www.npmjs.com/package/@nyuchi/mzizi-mcp)
|
|
6
6
|
[](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
|
-
|
|
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.
|
|
17
|
-
reports, and it moves in lockstep with `package.json` and `server.json`).
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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.
|
|
23
46
|
|
|
24
47
|
**MCP Registry name:** `io.github.mzizi-dev/mzizi-mcp` (from 0.10.1; the older
|
|
25
48
|
`io.github.nyuchi/mzizi-mcp` entry is stale and no longer updated)
|
|
@@ -41,8 +64,9 @@ Point any MCP client at the live HTTP endpoint:
|
|
|
41
64
|
}
|
|
42
65
|
```
|
|
43
66
|
|
|
44
|
-
|
|
45
|
-
|
|
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.
|
|
46
70
|
|
|
47
71
|
### stdio (local / offline)
|
|
48
72
|
|
|
@@ -63,10 +87,10 @@ tools forward to the public docs MCP and need network.
|
|
|
63
87
|
}
|
|
64
88
|
```
|
|
65
89
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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.
|
|
70
94
|
|
|
71
95
|
---
|
|
72
96
|
|
|
@@ -74,11 +98,11 @@ signed-in user and says so on the stdio bin.
|
|
|
74
98
|
|
|
75
99
|
Nothing is read from a database, and no registry data is fetched at request time.
|
|
76
100
|
|
|
77
|
-
| Data
|
|
78
|
-
|
|
|
79
|
-
| 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` |
|
|
80
|
-
| Agent skills
|
|
81
|
-
| Documentation
|
|
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 |
|
|
82
106
|
|
|
83
107
|
Both generated files are build output: gitignored, never committed, rebuilt by
|
|
84
108
|
`pnpm generate` (which `build`, `build:worker`, `cf:dev`, `cf:deploy`, `test`,
|
|
@@ -92,9 +116,23 @@ re-deriving their output, a tool here answers with the same payload
|
|
|
92
116
|
throws on use, so a route that still reads a database **fails the build** rather
|
|
93
117
|
than shipping an empty answer.
|
|
94
118
|
|
|
95
|
-
**Moving to newer registry content** is a one-line PR:
|
|
96
|
-
|
|
97
|
-
|
|
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.
|
|
98
136
|
|
|
99
137
|
Former `nyuchi-*` component names (renamed to `mzizi-*` on 2026-09-27) resolve
|
|
100
138
|
through the registry's `lib/component-renames.json`, bundled with the rest.
|
|
@@ -114,26 +152,67 @@ call, passing the result through untouched:
|
|
|
114
152
|
|
|
115
153
|
## Tools
|
|
116
154
|
|
|
117
|
-
| Tool | Returns
|
|
118
|
-
| ---------------------------------- |
|
|
119
|
-
| `mzizi_search` | Word search over components, conventions, AI instruction sets and releases
|
|
120
|
-
| `mzizi_get_component` | One component in full,
|
|
121
|
-
| `mzizi_list_components` | The lean, paged index; filter by `node`, `owner`, `collection`, `type`
|
|
122
|
-
| `mzizi_get_tokens` | Brand system; `family: "colors"` for all 21 colour families
|
|
123
|
-
| `mzizi_get_architecture` | The DNA helix, or one node/rung with `node` (uncapped)
|
|
124
|
-
| `mzizi_get_doctrine` | `ubuntu-pillars`, `ubuntu-principles`, `ai-instructions`, `conventions`
|
|
125
|
-
| `mzizi_get_skills` | The agent skills, listed or one in full
|
|
126
|
-
| `mzizi_check_accessibility` | Contrast ratio against the Mzizi AAA floor, computed locally
|
|
127
|
-
| `mzizi_report_issue` | Your issue desk
|
|
128
|
-
| `mzizi_fundi` | Delegate to fundi (
|
|
129
|
-
| `mzizi_mcp_describe` | This server's tools, what each replaces, and
|
|
130
|
-
| `docs_search_mzizi` | Search the documentation (forwarded)
|
|
131
|
-
| `docs_query_docs_filesystem_mzizi` | Read-only `rg`/`cat`/`tree` over the doc pages (forwarded)
|
|
132
|
-
| `docs_submit_feedback` | Report a documentation problem (forwarded)
|
|
133
|
-
|
|
134
|
-
The
|
|
135
|
-
|
|
136
|
-
|
|
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).
|
|
137
216
|
|
|
138
217
|
**Shape notes (changed when the registry moved into the build).**
|
|
139
218
|
|
|
@@ -170,21 +249,27 @@ healing plan in it, and writes that issue's lifecycle back to D1 — which is wh
|
|
|
170
249
|
confidential: a var wins on every deploy and silently discards a same-named remote value, so a
|
|
171
250
|
value that differs per environment cannot live in committed config. It is "not required" only
|
|
172
251
|
because `src/identity.ts` carries a working default — and it must move in lockstep with
|
|
173
|
-
`fundi
|
|
252
|
+
`mzizi-fundi`, which binds the same issuer that this Worker's agent-card consumers are pointed
|
|
174
253
|
at. See `AUTH.md`.
|
|
175
254
|
|
|
176
255
|
Plain vars (`[vars]` in `wrangler.toml`, not secrets):
|
|
177
256
|
|
|
178
|
-
| Var | Notes
|
|
179
|
-
| ---------------------- |
|
|
180
|
-
| `WORKOS_CLIENT_ID` | Connect OAuth app client id (public client; PKCE)
|
|
181
|
-
| `WORKOS_M2M_CLIENT_ID` | Fundi M2M app client id;
|
|
182
|
-
| `FUNDI_URL` | Base URL of the fundi worker
|
|
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).
|
|
183
267
|
|
|
184
268
|
> The Connect OAuth app is a **public client (PKCE)** — there is no `WORKOS_CLIENT_SECRET`
|
|
185
269
|
> or WorkOS API key on the worker.
|
|
186
270
|
|
|
187
|
-
**Optional: fundi-caller extras** (only
|
|
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):
|
|
188
273
|
|
|
189
274
|
| Name | Kind | Purpose |
|
|
190
275
|
| -------------------------- | ------ | --------------------------------------------------- |
|
|
@@ -212,7 +297,8 @@ Source files:
|
|
|
212
297
|
|
|
213
298
|
- `src/server.ts` — `createMziziMcpServer()` factory
|
|
214
299
|
- `src/http.ts` — `createMziziHttpHandler()` for any fetch runtime
|
|
215
|
-
- `src/worker.ts` — Cloudflare Worker
|
|
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
|
|
216
302
|
- `src/stdio.ts` — `bin: mzizi-mcp` for the MCP registry / local Claude Code
|
|
217
303
|
|
|
218
304
|
---
|
|
@@ -232,6 +318,9 @@ pnpm --filter @nyuchi/mzizi-mcp build
|
|
|
232
318
|
# local Worker dev
|
|
233
319
|
pnpm --filter @nyuchi/mzizi-mcp cf:dev
|
|
234
320
|
|
|
321
|
+
# wrangler dev (workerd) integration: the real Worker anonymously + the signed-in path
|
|
322
|
+
pnpm --filter @nyuchi/mzizi-mcp integration
|
|
323
|
+
|
|
235
324
|
# deploy manually (Workers Builds handles pushes to main)
|
|
236
325
|
pnpm --filter @nyuchi/mzizi-mcp cf:deploy
|
|
237
326
|
```
|
|
@@ -246,11 +335,12 @@ fails the build, and a failed build deploys nothing — the running version stay
|
|
|
246
335
|
|
|
247
336
|
**Rollback:** Cloudflare dashboard → Workers & Pages → `mzizi-mcp` → Deployments → pick
|
|
248
337
|
the previous version → _Rollback_, or `wrangler rollback` from `mzizi-mcp/`. Reverting
|
|
249
|
-
the
|
|
338
|
+
the commit on `main` (merges are rebase-only) redeploys the previous source through Workers
|
|
339
|
+
Builds.
|
|
250
340
|
|
|
251
341
|
---
|
|
252
342
|
|
|
253
343
|
## License
|
|
254
344
|
|
|
255
|
-
Apache-2.0. Part of the
|
|
256
|
-
|
|
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: "
|
|
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": "
|
|
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/
|
|
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: "
|
|
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"}
|