@nyuchi/mzizi-mcp 0.13.0 → 0.14.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.
Files changed (45) hide show
  1. package/README.md +112 -7
  2. package/dist/docs-federation.d.ts +1 -1
  3. package/dist/docs-federation.d.ts.map +1 -1
  4. package/dist/docs-federation.js +1 -0
  5. package/dist/docs-federation.js.map +1 -1
  6. package/dist/fundi-client.d.ts +6 -0
  7. package/dist/fundi-client.d.ts.map +1 -1
  8. package/dist/fundi-client.js +14 -3
  9. package/dist/fundi-client.js.map +1 -1
  10. package/dist/generated/registry-pin.d.ts +1 -1
  11. package/dist/generated/registry-pin.js +1 -1
  12. package/dist/generated/registry.d.ts +2 -2
  13. package/dist/generated/registry.d.ts.map +1 -1
  14. package/dist/generated/registry.js +254 -198
  15. package/dist/generated/registry.js.map +1 -1
  16. package/dist/generated/skills.d.ts +11 -1
  17. package/dist/generated/skills.d.ts.map +1 -1
  18. package/dist/generated/skills.js +213 -18
  19. package/dist/generated/skills.js.map +1 -1
  20. package/dist/http.d.ts +22 -2
  21. package/dist/http.d.ts.map +1 -1
  22. package/dist/http.js +116 -19
  23. package/dist/http.js.map +1 -1
  24. package/dist/limits.d.ts +32 -0
  25. package/dist/limits.d.ts.map +1 -0
  26. package/dist/limits.js +44 -0
  27. package/dist/limits.js.map +1 -0
  28. package/dist/registry.d.ts +1 -1
  29. package/dist/registry.d.ts.map +1 -1
  30. package/dist/registry.js +22 -1
  31. package/dist/registry.js.map +1 -1
  32. package/dist/server.d.ts +37 -2
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +96 -3
  35. package/dist/server.js.map +1 -1
  36. package/dist/stdio.js +5 -4
  37. package/dist/stdio.js.map +1 -1
  38. package/dist/tools.d.ts +21 -1
  39. package/dist/tools.d.ts.map +1 -1
  40. package/dist/tools.js +307 -75
  41. package/dist/tools.js.map +1 -1
  42. package/dist/worker.d.ts.map +1 -1
  43. package/dist/worker.js +3 -0
  44. package/dist/worker.js.map +1 -1
  45. package/package.json +18 -17
package/README.md CHANGED
@@ -12,7 +12,7 @@ Owned and operated by **Mzizi**.
12
12
  ---
13
13
 
14
14
  **Live at** `https://mcp.mzizi.dev/mcp` (Cloudflare Worker `mzizi-mcp`, version
15
- 0.13.0 — `MZIZI_MCP_VERSION` in `src/server.ts` is what `serverInfo.version`
15
+ 0.14.0 — `MZIZI_MCP_VERSION` in `src/server.ts` is what `serverInfo.version`
16
16
  reports, and it moves in lockstep with `package.json` and `server.json`).
17
17
 
18
18
  ## Free, with no gate except Fundi
@@ -66,7 +66,68 @@ Point any MCP client at the live HTTP endpoint:
66
66
 
67
67
  No sign-in is needed. To use the Fundi tools, use
68
68
  `"url": "https://mcp.mzizi.dev/mcp/signin"` instead; the client runs the WorkOS
69
- Connect OAuth (PKCE) flow on first connect.
69
+ Connect OAuth (PKCE) flow on first connect. `/mcp` never answers `401`, so a client
70
+ never starts that flow there. The authorization server supports dynamic client
71
+ registration and does not publish a client ID metadata document.
72
+
73
+ ### Per client
74
+
75
+ Each client writes the entry above in its own format. The full guide, checked against each
76
+ vendor's documentation, is
77
+ [docs.mzizi.dev/toolchain/connect](https://docs.mzizi.dev/toolchain/connect). The short
78
+ version:
79
+
80
+ ```bash
81
+ # Claude Code: the server alone (skills over MCP) ...
82
+ claude mcp add --transport http mzizi https://mcp.mzizi.dev/mcp
83
+ # ... or the public plugin, which also installs the skills
84
+ /plugin marketplace add mzizi-dev/mzizi-registry
85
+ /plugin install mzizi@mzizi
86
+
87
+ # Codex: the server alone, or the same plugin (mzizi-registry#520 adds its Codex manifest)
88
+ codex mcp add mzizi --url https://mcp.mzizi.dev/mcp
89
+ codex plugin marketplace add mzizi-dev/mzizi-registry
90
+
91
+ # Gemini CLI
92
+ gemini mcp add --transport http mzizi https://mcp.mzizi.dev/mcp
93
+
94
+ # VS Code
95
+ code --add-mcp '{"name":"mzizi","type":"http","url":"https://mcp.mzizi.dev/mcp"}'
96
+ ```
97
+
98
+ - **Claude.ai, Claude Desktop:** a custom connector at `https://mcp.mzizi.dev/mcp`, with no
99
+ sign-in. For the Fundi tools, a second one at `/mcp/signin` with **Register automatically**.
100
+ - **ChatGPT:** Plugins, **+**, **Add custom MCP server**, then **Create as a plugin**.
101
+ - **Claude API:** the MCP connector,
102
+ `"mcp_servers": [{"type": "url", "url": "https://mcp.mzizi.dev/mcp", "name": "mzizi"}]`, with
103
+ `{"type": "mcp_toolset", "mcp_server_name": "mzizi"}` in `tools` and the
104
+ `mcp-client-2025-11-20` beta header.
105
+ - **OpenAI Responses API and Agents SDK:** a tool
106
+ `{"type": "mcp", "server_label": "mzizi", "server_url": "https://mcp.mzizi.dev/mcp"}`
107
+ (`HostedMCPTool(tool_config=…)` in the SDK).
108
+ - **Cursor** (`mcp.json`, `"url"`), **OpenCode** (`opencode.json`, `"type": "remote"`),
109
+ **Windsurf** (`mcp_config.json`, `"serverUrl"`) and **Gemini CLI** (`settings.json`,
110
+ `"httpUrl"`) each name the URL field differently.
111
+
112
+ **Skills over MCP.** A client that cannot install the npm package (Claude.ai, ChatGPT, the
113
+ APIs) gets the skills from `mzizi_get_skills`: no arguments lists them with their category,
114
+ `name` returns one in full, and `category` (`dev`, `design`, `language` or `build`) returns
115
+ every skill in it. A skill's answer lists the files it ships beside its SKILL.md
116
+ (`hygiene.sh`, `progress.sh`, `mzizi-design`'s token stylesheets); `name` plus `file` returns
117
+ one file's content. The same skills are also **MCP resources** (`mzizi://skills/<name>` for the
118
+ SKILL.md body, `mzizi://skills/<name>/<path>` for each file, listed by `resources/list`) and
119
+ **MCP prompts** (`skill-<name>`, whose message is the whole skill), so a client that reads
120
+ resources or offers prompts gets them without calling a tool. `catalogue.json` and
121
+ `mzizi_mcp_describe` list every skill with its category and files. All of it is read from the
122
+ skill files bundled at build time, and `test/skills-surfaces.test.ts` fails if any surface
123
+ drifts from `mzizi-skills/`. Codex, Cursor, VS Code, Gemini CLI and OpenCode also read
124
+ `.agents/skills/`, where `npx skills experimental_sync` links the npm bundle.
125
+
126
+ How a skills change reaches this server: the skills are read from `../mzizi-skills/` in this
127
+ repository at build time, not from npm and not from the registry pin. A change to a SKILL.md
128
+ merged to `main` redeploys `mcp.mzizi.dev` (Workers Builds), and that deploy serves it. The npm
129
+ publish of `@nyuchi/mzizi-skills` and the registry's dependency bump feed the plugin and
130
+ `api.mzizi.dev/v1/skills`, not this server.
70
131
 
71
132
  ### stdio (local / offline)
72
133
 
@@ -171,8 +232,8 @@ call, passing the result through untouched:
171
232
  | `mzizi_get_tokens` | Brand system; `family: "colors"` for all 21 colour families |
172
233
  | `mzizi_get_architecture` | The DNA helix, or one node/rung with `node` (uncapped) |
173
234
  | `mzizi_get_doctrine` | `ubuntu-pillars`, `ubuntu-principles`, `ai-instructions`, `conventions` |
174
- | `mzizi_get_skills` | The agent skills: listed with their category, one by `name`, or a `category` |
175
- | `mzizi_check_accessibility` | Contrast ratio against the Mzizi AAA floor, computed locally |
235
+ | `mzizi_get_skills` | The agent skills: listed, one by `name` (with `file`), or a `category` |
236
+ | `mzizi_check_accessibility` | WCAG 2 contrast ratio and the Mzizi 7:1 floor, computed locally (not APCA) |
176
237
  | `mzizi_report_issue` | Your issue desk. **Sign-in** |
177
238
  | `mzizi_fundi` | Delegate to fundi (when the Worker can reach fundi). **Sign-in** |
178
239
  | `mzizi_mcp_describe` | This server's tools, their access, what each replaces, and data sources |
@@ -180,6 +241,35 @@ call, passing the result through untouched:
180
241
  | `docs_query_docs_filesystem_mzizi` | Read-only `rg`/`cat`/`tree` over the doc pages (forwarded) |
181
242
  | `docs_submit_feedback` | Report a documentation problem (forwarded) |
182
243
 
244
+ **How the tools behave (SDK v2, #295).**
245
+
246
+ - Built on the official MCP TypeScript SDK v2 (`@modelcontextprotocol/server`). Over HTTP it
247
+ serves the **2026-07-28** revision (`server/discover`, per-request `_meta`, no sessions)
248
+ through the SDK's `createMcpHandler`, and 2025-era clients (`initialize`) through the SDK's
249
+ Streamable HTTP transport with JSON responses. Every request gets a fresh server; nothing is
250
+ shared between callers. `GET` and `DELETE` answer 405.
251
+ - Every tool has a `title` and all four annotations (`readOnlyHint`, `destructiveHint`,
252
+ `idempotentHint`, `openWorldHint`). `mzizi_search`, `mzizi_list_components` and
253
+ `mzizi_check_accessibility` declare an `outputSchema` and return matching `structuredContent`.
254
+ - **Size limit:** `mzizi_search` and `mzizi_list_components` stop a page at 25,000 characters
255
+ (`CHARACTER_LIMIT`, `src/limits.ts`) by returning fewer items. `has_more` and `next_offset`
256
+ (`meta.has_more` / `meta.next_offset` on search) say where the next page starts;
257
+ `mzizi_list_components` also keeps `hasMore` / `nextOffset` for older clients.
258
+ - A domain failure (unknown component, bad colour, sign-in needed) is a tool result with
259
+ `isError: true` and text that says how to recover, never a protocol error.
260
+ - **Browser origins (Streamable HTTP §Security):** an `Origin` that does not parse (the opaque
261
+ `null` included) or a plain-`http` origin other than localhost is refused with 403. Every
262
+ `https` origin passes, because browser-based MCP clients on other sites use this public,
263
+ cookie-less server. Clients that send no `Origin` (every non-browser client) are not affected.
264
+ - Calls to fundi and to the identity provider time out after 15 s.
265
+ - `evals.xml` holds ten read-only questions with answers checked against production.
266
+
267
+ **Text colours from `mzizi_get_tokens`.** Every colour family carries `textLight` /
268
+ `textDark`: use them for text in that colour on the base surface (they are
269
+ `--color-<name>-text`). On a family's container, use `onContainerLight` /
270
+ `onContainerDark`. Never use `hex`, `lightHex` or `darkHex` as a text colour: they
271
+ are accents and fills.
272
+
183
273
  **The tool list is whatever `tools/list` returns.** The `docs_*` names mirror
184
274
  whatever docs.mzizi.dev lists; the three above are what it lists today (checked
185
275
  against the live `/catalogue.json` on 2026-09-29). `GET /catalogue.json` and the
@@ -212,6 +302,21 @@ tools present the Rust implementation first wherever one exists:
212
302
  `GET /v1/ui/{name}` body unchanged (shadcn-shaped, `files[]` inline). If the registry
213
303
  refuses the React build but Rust exists, `react` is `{build, error}` and the Rust
214
304
  still leads.
305
+ - `react.vendor` is what you need to vendor the React build without calling the API:
306
+ - `registry`: `{repository, ref}`, the registry commit this server's data comes from.
307
+ - `files[]`: `{path, target, url, sha256}`. `url` is
308
+ `https://raw.githubusercontent.com/mzizi-dev/mzizi-registry/<ref>/<path>`, pinned to
309
+ the same `ref` the `sha256` is taken at.
310
+ - `imports[]`: every `@/` specifier the files import, re-export or load with a dynamic
311
+ `import()` (comments are ignored), with `providedBy`, the declared registry
312
+ dependency that installs it, or `null`. `@/lib/utils` is provided by the registry's
313
+ `utils` item, or by shadcn init in a project that ran it.
314
+ - `live.url`: `https://api.mzizi.dev/v1/ui/<name>`, labelled live. It serves the
315
+ commit the API is deployed at, which can differ from `registry.ref`.
316
+ - **What `sha256` covers:** the registry source at `path`@`ref`, which is what
317
+ `files[].url` serves. A file written by `shadcn add` can differ: shadcn strips
318
+ `"use client"` when the project sets `rsc: false`, and rewrites `@/` aliases to the
319
+ project's own. Hash the registry source, not the installed file.
215
320
  - **Breaking for readers of 0.10.x:** the React body moved from `component` to
216
321
  `react`, and `renamedFrom` moved to the top level.
217
322
  - `mzizi_list_components` rows carry `rustCrate` when the component has Rust (absent
@@ -228,8 +333,8 @@ tools present the Rust implementation first wherever one exists:
228
333
  **Shape notes (changed when the registry moved into the build).**
229
334
 
230
335
  - `mzizi_get_component` with `include: ["versions"]` is derived from the committed
231
- changelog and rename map: rows are `{version, title, change, breaking,
232
- released_at}` with `meta.previousNames`. The database view it used to read is gone
336
+ changelog and rename map: rows are
337
+ `{version, title, change, breaking, released_at}` with `meta.previousNames`. The database view it used to read is gone
233
338
  from this path.
234
339
  - `mzizi_search` returns `{data: [{kind, name, title?, description?}], meta}`, with
235
340
  `kind` one of `component | convention | ai-instruction | release`. Documentation
@@ -346,7 +451,7 @@ fails the build, and a failed build deploys nothing — the running version stay
346
451
 
347
452
  **Rollback:** Cloudflare dashboard → Workers & Pages → `mzizi-mcp` → Deployments → pick
348
453
  the previous version → _Rollback_, or `wrangler rollback` from `mzizi-mcp/`. Reverting
349
- the commit on `main` (merges are rebase-only) redeploys the previous source through Workers
454
+ the squash commit on `main` (merges are squash, through the merge queue) redeploys the previous source through Workers
350
455
  Builds.
351
456
 
352
457
  ---
@@ -19,7 +19,7 @@
19
19
  * so the tool surface does not change shape while docs are down. Calls then
20
20
  * fail with the clear error above until the upstream is back.
21
21
  */
22
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
22
+ import type { McpServer } from "@modelcontextprotocol/server";
23
23
  export declare const DOCS_MCP_URL = "https://docs.mzizi.dev/mcp";
24
24
  export declare const DOCS_TOOL_PREFIX = "docs_";
25
25
  /** How long a fetched tool list is reused before asking upstream again. */
@@ -1 +1 @@
1
- {"version":3,"file":"docs-federation.d.ts","sourceRoot":"","sources":["../src/docs-federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,eAAO,MAAM,YAAY,+BAA+B,CAAC;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,QAAa,CAAC;AAC5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAI9C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAwEjD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AA+EF,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAsBD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC;IACzE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAkCD;AAcD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CA6CnB"}
1
+ {"version":3,"file":"docs-federation.d.ts","sourceRoot":"","sources":["../src/docs-federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,eAAO,MAAM,YAAY,+BAA+B,CAAC;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,QAAa,CAAC;AAC5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAI9C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAwEjD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AA+EF,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAsBD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC;IACzE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAkCD;AAcD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CA8CnB"}
@@ -255,6 +255,7 @@ export async function registerDocsTools(server, opts = {}) {
255
255
  // One malformed upstream definition must not take down the whole server:
256
256
  // skip it and keep the rest (and every mzizi_* tool).
257
257
  try {
258
+ // `inputShapeFor` always returns a Zod object schema (never a raw shape).
258
259
  server.registerTool(name, {
259
260
  title: tool.title ? `Docs: ${tool.title}` : undefined,
260
261
  description: `[docs.mzizi.dev] ${tool.description ?? ""}`.trim(),
@@ -1 +1 @@
1
- {"version":3,"file":"docs-federation.js","sourceRoot":"","sources":["../src/docs-federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-federation.js","sourceRoot":"","sources":["../src/docs-federation.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@
10
10
  */
11
11
  import type { Env } from "./env.js";
12
12
  import type { Props } from "./auth/props.js";
13
+ /**
14
+ * Every outbound call from a tool is bounded (#295): an identity-provider or
15
+ * fundi call that hangs would otherwise hold the MCP request until the
16
+ * platform kills it, which a client sees as a dropped connection.
17
+ */
18
+ export declare const UPSTREAM_TIMEOUT_MS = 15000;
13
19
  export interface FundiCaller {
14
20
  /**
15
21
  * Call a fundi route, forwarding the authenticated user's token.
@@ -1 +1 @@
1
- {"version":3,"file":"fundi-client.d.ts","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAgC5C,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACnG;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAuBvD;AA4CD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAqDrF"}
1
+ {"version":3,"file":"fundi-client.d.ts","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAK5C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAA;AAiCzC,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACnG;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAyBvD;AA4CD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAsDrF"}
@@ -11,12 +11,19 @@
11
11
  import { decodeJwt } from "jose";
12
12
  import { authkitDomain } from "./identity.js";
13
13
  let cached = null;
14
+ /**
15
+ * Every outbound call from a tool is bounded (#295): an identity-provider or
16
+ * fundi call that hangs would otherwise hold the MCP request until the
17
+ * platform kills it, which a client sees as a dropped connection.
18
+ */
19
+ export const UPSTREAM_TIMEOUT_MS = 15_000;
14
20
  async function mintM2MToken(env) {
15
21
  const now = Math.floor(Date.now() / 1000);
16
22
  if (cached && cached.exp > now + 60)
17
23
  return cached.jwt;
18
24
  const res = await fetch(new URL("/oauth2/token", authkitDomain(env)), {
19
25
  method: "POST",
26
+ signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS),
20
27
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
21
28
  body: new URLSearchParams({
22
29
  grant_type: "client_credentials",
@@ -25,7 +32,10 @@ async function mintM2MToken(env) {
25
32
  }),
26
33
  });
27
34
  if (!res.ok) {
28
- throw new Error(`fundi M2M token mint failed (${res.status}): ${(await res.text()).slice(0, 300)}`);
35
+ // The identity provider's body goes to the Worker log, not into a tool
36
+ // result a model reads: it can name client configuration.
37
+ console.error(`fundi M2M token mint failed (${res.status}): ${(await res.text()).slice(0, 300)}`);
38
+ throw new Error(`fundi could not be reached: the machine sign-in failed (HTTP ${res.status}). Retry shortly; if it persists, report it with mzizi_report_issue.`);
29
39
  }
30
40
  const data = (await res.json());
31
41
  let exp = now + (data.expires_in ?? 3600);
@@ -88,7 +98,7 @@ export function createFundiCaller(env) {
88
98
  // No Authorization header: the binding IS the machine credential.
89
99
  // Cloudflare will not route a public request to a named entrypoint, so
90
100
  // there is no token to mint, replay, or leak.
91
- return service.fetch(new Request(new URL(path, BINDING_ORIGIN), { ...init, headers }));
101
+ return service.fetch(new Request(new URL(path, BINDING_ORIGIN), { ...init, headers, signal: init.signal ?? AbortSignal.timeout(UPSTREAM_TIMEOUT_MS) }));
92
102
  },
93
103
  };
94
104
  }
@@ -98,7 +108,7 @@ export function createFundiCaller(env) {
98
108
  const headers = new Headers(init.headers);
99
109
  headers.set("Authorization", `Bearer ${m2m}`);
100
110
  headers.set("X-Fundi-User-Token", await resolveUserToken());
101
- return fetch(new URL(path, env.FUNDI_URL), { ...init, headers });
111
+ return fetch(new URL(path, env.FUNDI_URL), { ...init, headers, signal: init.signal ?? AbortSignal.timeout(UPSTREAM_TIMEOUT_MS) });
102
112
  },
103
113
  };
104
114
  }
@@ -166,6 +176,7 @@ export function createUserTokenResolver(env, props) {
166
176
  }
167
177
  const res = await fetch(new URL("/oauth2/token", authkitDomain(env)), {
168
178
  method: "POST",
179
+ signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS),
169
180
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
170
181
  // A PUBLIC client (PKCE): client_id only, never a secret. Sending one
171
182
  // here would be rejected, and there is none to send.
@@ -1 +1 @@
1
- {"version":3,"file":"fundi-client.js","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundi-client.js","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"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"}
@@ -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: "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8";
3
+ readonly ref: "51b802a34ec3359654471fc3320362a981ef49e3";
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": "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8" };
2
+ export const REGISTRY_PIN = { "repository": "https://github.com/mzizi-dev/mzizi-registry", "ref": "51b802a34ec3359654471fc3320362a981ef49e3" };
3
3
  //# sourceMappingURL=registry-pin.js.map
@@ -1,7 +1,7 @@
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/5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8
4
+ * The mzizi registry at https://github.com/mzizi-dev/mzizi-registry/tree/51b802a34ec3359654471fc3320362a981ef49e3
5
5
  * (pinned in registry.pin.json), produced by calling the registry's API route
6
6
  * handlers (ported from 270af9f into scripts/registry-handlers/) at build
7
7
  * time. Every value is a JSON string, parsed lazily by src/registry.ts, so a
@@ -9,7 +9,7 @@
9
9
  */
10
10
  export declare const REGISTRY_PIN: {
11
11
  readonly repository: "https://github.com/mzizi-dev/mzizi-registry";
12
- readonly ref: "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8";
12
+ readonly ref: "51b802a34ec3359654471fc3320362a981ef49e3";
13
13
  };
14
14
  /** Whole-resource payloads, keyed by section. */
15
15
  export declare const SECTIONS: Readonly<Record<string, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/generated/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;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,CAgpBvD,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgpB3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4DjD,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAA64D,CAAA;AAEt8D,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,MAAyP,CAAA;AAEpR;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0FlD,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;;;;;;;;GAQG;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,CAoqBvD,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoqB3D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6DjD,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAA46D,CAAA;AAEr+D,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,MAAuc,CAAA;AAEle;;;;GAIG;AACH,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyGlD,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"}