@nyuchi/mzizi-mcp 0.11.2 → 0.12.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 +19 -11
- package/dist/auth/authkit-handler.d.ts +1 -1
- package/dist/auth/authkit-handler.d.ts.map +1 -1
- package/dist/auth/authkit-handler.js +34 -16
- package/dist/auth/authkit-handler.js.map +1 -1
- package/dist/auth/authorize-request.d.ts +12 -0
- package/dist/auth/authorize-request.d.ts.map +1 -0
- package/dist/auth/authorize-request.js +37 -0
- package/dist/auth/authorize-request.js.map +1 -0
- package/dist/auth/id-token.d.ts +28 -0
- package/dist/auth/id-token.d.ts.map +1 -0
- package/dist/auth/id-token.js +32 -0
- package/dist/auth/id-token.js.map +1 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/fundi-client.d.ts +6 -6
- package/dist/fundi-client.js +6 -6
- package/dist/generated/registry-pin.d.ts +1 -1
- package/dist/generated/registry-pin.js +1 -1
- package/dist/generated/registry.d.ts +12 -5
- package/dist/generated/registry.d.ts.map +1 -1
- package/dist/generated/registry.js +421 -164
- package/dist/generated/registry.js.map +1 -1
- package/dist/generated/skills.d.ts +1 -1
- package/dist/generated/skills.d.ts.map +1 -1
- package/dist/generated/skills.js +17 -11
- package/dist/generated/skills.js.map +1 -1
- package/dist/identity.d.ts +35 -21
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +70 -29
- package/dist/identity.js.map +1 -1
- package/dist/registry.d.ts +32 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +36 -3
- package/dist/registry.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +23 -2
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
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.
|
|
15
|
+
0.12.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
|
|
@@ -98,11 +98,11 @@ stdio bin, and `mzizi_fundi` is not offered there.
|
|
|
98
98
|
|
|
99
99
|
Nothing is read from a database, and no registry data is fetched at request time.
|
|
100
100
|
|
|
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 **
|
|
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
|
|
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 **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 |
|
|
106
106
|
|
|
107
107
|
Both generated files are build output: gitignored, never committed, rebuilt by
|
|
108
108
|
`pnpm generate` (which `build`, `build:worker`, `cf:dev`, `cf:deploy`, `test`,
|
|
@@ -111,7 +111,15 @@ Both generated files are build output: gitignored, never committed, rebuilt by
|
|
|
111
111
|
|
|
112
112
|
Because the generator runs the registry's route handlers rather than
|
|
113
113
|
re-deriving their output, a tool here answers with the same payload
|
|
114
|
-
`api.mzizi.dev/v1` would give at the pinned commit. The registry
|
|
114
|
+
`api.mzizi.dev/v1` would give at the pinned commit. The registry removed those
|
|
115
|
+
handlers with its Next.js app
|
|
116
|
+
([mzizi-registry#389](https://github.com/mzizi-dev/mzizi-registry/pull/389)), so
|
|
117
|
+
the eleven the generator calls are ported, unchanged but for formatting, from
|
|
118
|
+
its last commit with them,
|
|
119
|
+
[`270af9f`](https://github.com/mzizi-dev/mzizi-registry/tree/270af9fbbded5dcca3fad4dcbc09ee3b7e307c7d/app/api/v1),
|
|
120
|
+
into [`scripts/registry-handlers/`](./scripts/registry-handlers/). They still
|
|
121
|
+
call the pinned registry's own `lib/` readers, so the data is the pin's; nothing
|
|
122
|
+
imports the registry's `app/` tree. The registry checkout has no
|
|
115
123
|
`node_modules`: every npm package a route imports is replaced with a module that
|
|
116
124
|
throws on use, so a route that still reads a database **fails the build** rather
|
|
117
125
|
than shipping an empty answer.
|
|
@@ -236,10 +244,10 @@ released_at}` with `meta.previousNames`. The database view it used to read is go
|
|
|
236
244
|
|
|
237
245
|
Secrets (`wrangler secret put`):
|
|
238
246
|
|
|
239
|
-
| Secret | Required | Notes
|
|
240
|
-
| ----------------------- | -------- |
|
|
241
|
-
| `COOKIE_ENCRYPTION_KEY` | yes | HMAC key for the consent cookie (random bytes)
|
|
242
|
-
| `WORKOS_AUTHKIT_DOMAIN` |
|
|
247
|
+
| Secret | Required | Notes |
|
|
248
|
+
| ----------------------- | -------- | --------------------------------------------------------------------------------- |
|
|
249
|
+
| `COOKIE_ENCRYPTION_KEY` | yes | HMAC key for the consent cookie (random bytes) |
|
|
250
|
+
| `WORKOS_AUTHKIT_DOMAIN` | yes | AuthKit domain for `/oauth2/*`; set per environment, never committed (no default) |
|
|
243
251
|
|
|
244
252
|
**There is deliberately no `GITHUB_TOKEN` here.** The issue desk used to file GitHub issues
|
|
245
253
|
itself with a PAT that was never set on this Worker, so every report parked at `drafted` and no
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* configured as a PUBLIC client: it has a client id only and NO secret, so the
|
|
6
6
|
* worker holds no WorkOS API key. The flow is standard OAuth 2.0
|
|
7
7
|
* authorization-code with **PKCE** against the AuthKit domain
|
|
8
|
-
* (`WORKOS_AUTHKIT_DOMAIN
|
|
8
|
+
* (`WORKOS_AUTHKIT_DOMAIN` — required, set per environment; no default):
|
|
9
9
|
*
|
|
10
10
|
* /authorize → MCP-client consent, then 302 to <authkit>/oauth2/authorize
|
|
11
11
|
* with a PKCE code_challenge
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authkit-handler.d.ts","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"authkit-handler.d.ts","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAuBrC,KAAK,OAAO,GAAG;IAAE,QAAQ,EAAE,GAAG,GAAG;QAAE,cAAc,EAAE,YAAY,CAAA;KAAE,CAAA;CAAE,CAAC;AA8VpE,eAAO,MAAM,cAAc,sDAAM,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* configured as a PUBLIC client: it has a client id only and NO secret, so the
|
|
6
6
|
* worker holds no WorkOS API key. The flow is standard OAuth 2.0
|
|
7
7
|
* authorization-code with **PKCE** against the AuthKit domain
|
|
8
|
-
* (`WORKOS_AUTHKIT_DOMAIN
|
|
8
|
+
* (`WORKOS_AUTHKIT_DOMAIN` — required, set per environment; no default):
|
|
9
9
|
*
|
|
10
10
|
* /authorize → MCP-client consent, then 302 to <authkit>/oauth2/authorize
|
|
11
11
|
* with a PKCE code_challenge
|
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
import { Hono } from "hono";
|
|
26
26
|
import * as jose from "jose";
|
|
27
27
|
import { fundiConfigured } from "../fundi-client.js";
|
|
28
|
-
import { authkitDomain } from "../identity.js";
|
|
28
|
+
import { AUTHKIT_DOMAIN_MISSING, authkitDomain, hasAuthkitDomain, } from "../identity.js";
|
|
29
29
|
import { mziziToolCatalogue } from "../server.js";
|
|
30
|
+
import { parseAuthRequestOrReject } from "./authorize-request.js";
|
|
31
|
+
import { verifyIdToken } from "./id-token.js";
|
|
30
32
|
import { addApprovedClient, bindStateToSession, createOAuthState, generateCSRFProtection, isClientApproved, OAuthError, renderApprovalDialog, validateCSRFToken, validateOAuthState, } from "./oauth-utils.js";
|
|
31
33
|
const SERVER_NAME = "Mzizi Design System Registry";
|
|
32
34
|
const SERVER_DESCRIPTION = "Free, public MCP over the Mzizi design-system registry — components, design tokens, brand, the ecosystem architecture nodes, agent skills and the docs. No account needed; sign in (free) only to use Fundi.";
|
|
@@ -72,13 +74,10 @@ async function deriveCodeChallenge(verifier) {
|
|
|
72
74
|
return base64url(digest);
|
|
73
75
|
}
|
|
74
76
|
function authkitOrigin(c) {
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
// assumes one produces `https://https://…`.
|
|
80
|
-
const raw = authkitDomain(c.env);
|
|
81
|
-
return /^https?:\/\//.test(raw) ? raw : `https://${raw}`;
|
|
77
|
+
// From configuration only — `authkitDomain` normalises a bare host or a full
|
|
78
|
+
// origin and throws when `WORKOS_AUTHKIT_DOMAIN` is unset. The routes that
|
|
79
|
+
// reach this are guarded below so that case answers a clear 503.
|
|
80
|
+
return authkitDomain(c.env);
|
|
82
81
|
}
|
|
83
82
|
function callbackUrl(c) {
|
|
84
83
|
return new URL("/callback", c.req.url).href;
|
|
@@ -121,8 +120,21 @@ app.options("/catalogue.json", () => new Response(null, {
|
|
|
121
120
|
}));
|
|
122
121
|
app.get("/favicon.ico", () => redirectToIcon());
|
|
123
122
|
app.get("/icon.png", () => redirectToIcon());
|
|
123
|
+
// The sign-in flow needs the identity tenant, which comes only from
|
|
124
|
+
// configuration. Without it, fail closed and say which setting is missing.
|
|
125
|
+
for (const path of ["/authorize", "/callback"]) {
|
|
126
|
+
app.use(path, async (c, next) => {
|
|
127
|
+
if (!hasAuthkitDomain(c.env)) {
|
|
128
|
+
return c.text(`Service Unavailable: ${AUTHKIT_DOMAIN_MISSING}`, 503);
|
|
129
|
+
}
|
|
130
|
+
await next();
|
|
131
|
+
});
|
|
132
|
+
}
|
|
124
133
|
app.get("/authorize", async (c) => {
|
|
125
|
-
const
|
|
134
|
+
const parsed = await parseAuthRequestOrReject(c.req.raw, c.env.OAUTH_PROVIDER);
|
|
135
|
+
if (parsed instanceof Response)
|
|
136
|
+
return parsed;
|
|
137
|
+
const oauthReqInfo = parsed;
|
|
126
138
|
const { clientId } = oauthReqInfo;
|
|
127
139
|
if (!clientId)
|
|
128
140
|
return c.text("Invalid request", 400);
|
|
@@ -239,16 +251,22 @@ app.get("/callback", async (c) => {
|
|
|
239
251
|
return c.text("Sign-in failed at the token exchange", 502);
|
|
240
252
|
}
|
|
241
253
|
const tokens = (await tokenResponse.json());
|
|
242
|
-
|
|
254
|
+
// The ID token only — never the access token in its place: it is the token
|
|
255
|
+
// whose `aud` is this OAuth application, and the one `openid` guarantees.
|
|
256
|
+
const idToken = tokens.id_token;
|
|
243
257
|
if (!idToken)
|
|
244
258
|
return c.text("No id token returned", 502);
|
|
245
|
-
// Verify the token
|
|
246
|
-
//
|
|
259
|
+
// Verify the ID token: signature against the AuthKit JWKS, `iss` bound to
|
|
260
|
+
// the normalised AuthKit origin, `aud` bound to our WorkOS client ID, and
|
|
261
|
+
// expiry. Any failure — including a missing client ID — fails closed.
|
|
247
262
|
let claims;
|
|
248
263
|
try {
|
|
249
|
-
const
|
|
250
|
-
const
|
|
251
|
-
claims =
|
|
264
|
+
const issuer = authkitOrigin(c);
|
|
265
|
+
const jwks = jose.createRemoteJWKSet(new URL("/oauth2/jwks", issuer));
|
|
266
|
+
claims = await verifyIdToken(idToken, jwks, {
|
|
267
|
+
issuer,
|
|
268
|
+
clientId: c.env.WORKOS_CLIENT_ID,
|
|
269
|
+
});
|
|
252
270
|
}
|
|
253
271
|
catch (error) {
|
|
254
272
|
console.error("id-token verification failed:", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authkit-handler.js","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authkit-handler.js","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AuthRequest, OAuthHelpers } from "@cloudflare/workers-oauth-provider";
|
|
2
|
+
/**
|
|
3
|
+
* Parse an /authorize request, answering a bad one with a 400 rather than
|
|
4
|
+
* letting the provider's throw surface as a 500.
|
|
5
|
+
*
|
|
6
|
+
* An unknown client_id or a redirect_uri that does not match a registered one
|
|
7
|
+
* must not be redirected (RFC 6749 §4.1.2.1): the error goes straight back to
|
|
8
|
+
* the user agent. An unknown client gets `invalid_client`; anything else the
|
|
9
|
+
* provider rejects gets `invalid_request` with its description.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseAuthRequestOrReject(request: Request, provider: Pick<OAuthHelpers, "parseAuthRequest" | "lookupClient">): Promise<AuthRequest | Response>;
|
|
12
|
+
//# sourceMappingURL=authorize-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorize-request.d.ts","sourceRoot":"","sources":["../../src/auth/authorize-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACb,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,cAAc,CAAC,GAChE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,CA0BjC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse an /authorize request, answering a bad one with a 400 rather than
|
|
3
|
+
* letting the provider's throw surface as a 500.
|
|
4
|
+
*
|
|
5
|
+
* An unknown client_id or a redirect_uri that does not match a registered one
|
|
6
|
+
* must not be redirected (RFC 6749 §4.1.2.1): the error goes straight back to
|
|
7
|
+
* the user agent. An unknown client gets `invalid_client`; anything else the
|
|
8
|
+
* provider rejects gets `invalid_request` with its description.
|
|
9
|
+
*/
|
|
10
|
+
export async function parseAuthRequestOrReject(request, provider) {
|
|
11
|
+
const clientId = new URL(request.url).searchParams.get("client_id");
|
|
12
|
+
if (!clientId) {
|
|
13
|
+
return authorizeError("invalid_request", "client_id is required");
|
|
14
|
+
}
|
|
15
|
+
let client = null;
|
|
16
|
+
try {
|
|
17
|
+
client = await provider.lookupClient(clientId);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
client = null;
|
|
21
|
+
}
|
|
22
|
+
if (!client) {
|
|
23
|
+
return authorizeError("invalid_client", "Unknown client_id");
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
return await provider.parseAuthRequest(request);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return authorizeError("invalid_request", error instanceof Error && error.message
|
|
30
|
+
? error.message
|
|
31
|
+
: "Invalid authorization request");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function authorizeError(error, description) {
|
|
35
|
+
return Response.json({ error, error_description: description }, { status: 400, headers: { "Cache-Control": "no-store" } });
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=authorize-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorize-request.js","sourceRoot":"","sources":["../../src/auth/authorize-request.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAgB,EAChB,QAAiE;IAEjE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,cAAc,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,GAAsD,IAAI,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,cAAc,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,cAAc,CACnB,iBAAiB,EACjB,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO;YACrC,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,+BAA+B,CACpC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,WAAmB;IACxD,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EACzC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify the ID token returned by the AuthKit token exchange in `/callback`.
|
|
3
|
+
*
|
|
4
|
+
* A valid signature alone only proves WorkOS signed the token — not that it was
|
|
5
|
+
* issued by OUR AuthKit tenant, nor for OUR OAuth application. So the check is
|
|
6
|
+
* bound three ways, and fails closed on any mismatch:
|
|
7
|
+
*
|
|
8
|
+
* - signature against the tenant's JWKS (`<authkit origin>/oauth2/jwks`);
|
|
9
|
+
* - `iss` — exactly the normalised AuthKit origin (WorkOS issues AuthKit ID
|
|
10
|
+
* tokens with `iss` = `https://<authkit domain>`, no trailing slash, which is
|
|
11
|
+
* what the domain normaliser returns);
|
|
12
|
+
* - `aud` — the WorkOS client ID the sign-in flow uses (`WORKOS_CLIENT_ID`).
|
|
13
|
+
*
|
|
14
|
+
* `exp` / `nbf` are checked by `jose.jwtVerify` itself.
|
|
15
|
+
*/
|
|
16
|
+
import * as jose from "jose";
|
|
17
|
+
export type IdTokenClaims = jose.JWTPayload & {
|
|
18
|
+
email?: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
given_name?: string;
|
|
21
|
+
family_name?: string;
|
|
22
|
+
permissions?: string[];
|
|
23
|
+
};
|
|
24
|
+
export declare function verifyIdToken(idToken: string, jwks: jose.JWTVerifyGetKey, expected: {
|
|
25
|
+
issuer: string;
|
|
26
|
+
clientId: string | undefined;
|
|
27
|
+
}): Promise<IdTokenClaims>;
|
|
28
|
+
//# sourceMappingURL=id-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-token.d.ts","sourceRoot":"","sources":["../../src/auth/id-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,eAAe,EAC1B,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACzD,OAAO,CAAC,aAAa,CAAC,CAYxB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify the ID token returned by the AuthKit token exchange in `/callback`.
|
|
3
|
+
*
|
|
4
|
+
* A valid signature alone only proves WorkOS signed the token — not that it was
|
|
5
|
+
* issued by OUR AuthKit tenant, nor for OUR OAuth application. So the check is
|
|
6
|
+
* bound three ways, and fails closed on any mismatch:
|
|
7
|
+
*
|
|
8
|
+
* - signature against the tenant's JWKS (`<authkit origin>/oauth2/jwks`);
|
|
9
|
+
* - `iss` — exactly the normalised AuthKit origin (WorkOS issues AuthKit ID
|
|
10
|
+
* tokens with `iss` = `https://<authkit domain>`, no trailing slash, which is
|
|
11
|
+
* what the domain normaliser returns);
|
|
12
|
+
* - `aud` — the WorkOS client ID the sign-in flow uses (`WORKOS_CLIENT_ID`).
|
|
13
|
+
*
|
|
14
|
+
* `exp` / `nbf` are checked by `jose.jwtVerify` itself.
|
|
15
|
+
*/
|
|
16
|
+
import * as jose from "jose";
|
|
17
|
+
export async function verifyIdToken(idToken, jwks, expected) {
|
|
18
|
+
const issuer = expected.issuer;
|
|
19
|
+
const clientId = expected.clientId?.trim();
|
|
20
|
+
// Never verify without a binding: an empty issuer or client ID would turn the
|
|
21
|
+
// claim checks off rather than make them fail.
|
|
22
|
+
if (!issuer)
|
|
23
|
+
throw new Error("id-token verification: no issuer configured");
|
|
24
|
+
if (!clientId)
|
|
25
|
+
throw new Error("id-token verification: WORKOS_CLIENT_ID is not configured");
|
|
26
|
+
const { payload } = await jose.jwtVerify(idToken, jwks, {
|
|
27
|
+
issuer,
|
|
28
|
+
audience: clientId,
|
|
29
|
+
});
|
|
30
|
+
return payload;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=id-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-token.js","sourceRoot":"","sources":["../../src/auth/id-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAU7B,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,IAA0B,EAC1B,QAA0D;IAE1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,+CAA+C;IAC/C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC5F,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;QACtD,MAAM;QACN,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,OAAO,OAAwB,CAAC;AAClC,CAAC"}
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,WAAW,GAAG;IAiBlB,gBAAgB,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,WAAW,GAAG;IAiBlB,gBAAgB,EAAE,MAAM,CAAA;IAYxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAO9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAUlB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,qBAAqB,EAAE,MAAM,CAAA;IAM7B,UAAU,EAAE,sBAAsB,CAAC,OAAO,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAMvE,eAAe,CAAC,EAAE,OAAO,iBAAiB,EAAE,WAAW,CAAA;IAGvD,QAAQ,EAAE,WAAW,CAAA;IACrB,cAAc,EAAE,YAAY,CAAA;CAC7B"}
|
package/dist/fundi-client.d.ts
CHANGED
|
@@ -32,12 +32,12 @@ export interface FundiToolContext {
|
|
|
32
32
|
/**
|
|
33
33
|
* True when either path to fundi is wired: the Service Binding or HTTP + M2M.
|
|
34
34
|
*
|
|
35
|
-
* `WORKOS_AUTHKIT_DOMAIN` is deliberately NOT in this condition.
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
35
|
+
* `WORKOS_AUTHKIT_DOMAIN` is deliberately NOT in this condition. A capability
|
|
36
|
+
* conditioned on a setting that turned out not to be set does not error, it
|
|
37
|
+
* DISAPPEARS — all four fundi tools were once absent from the deployed public
|
|
38
|
+
* surface for weeks because `fundiConfigured` answered false and nothing said
|
|
39
|
+
* so. Leaving it out keeps the tools visible; a call made while it is unset
|
|
40
|
+
* fails loudly with "WORKOS_AUTHKIT_DOMAIN is not configured" instead.
|
|
41
41
|
*
|
|
42
42
|
* The values that remain are the ones with no usable default: without the M2M
|
|
43
43
|
* client id, secret and fundi URL there is genuinely no HTTP path to fundi.
|
package/dist/fundi-client.js
CHANGED
|
@@ -49,12 +49,12 @@ const BINDING_ORIGIN = "https://fundi.internal";
|
|
|
49
49
|
/**
|
|
50
50
|
* True when either path to fundi is wired: the Service Binding or HTTP + M2M.
|
|
51
51
|
*
|
|
52
|
-
* `WORKOS_AUTHKIT_DOMAIN` is deliberately NOT in this condition.
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
52
|
+
* `WORKOS_AUTHKIT_DOMAIN` is deliberately NOT in this condition. A capability
|
|
53
|
+
* conditioned on a setting that turned out not to be set does not error, it
|
|
54
|
+
* DISAPPEARS — all four fundi tools were once absent from the deployed public
|
|
55
|
+
* surface for weeks because `fundiConfigured` answered false and nothing said
|
|
56
|
+
* so. Leaving it out keeps the tools visible; a call made while it is unset
|
|
57
|
+
* fails loudly with "WORKOS_AUTHKIT_DOMAIN is not configured" instead.
|
|
58
58
|
*
|
|
59
59
|
* The values that remain are the ones with no usable default: without the M2M
|
|
60
60
|
* client id, secret and fundi URL there is genuinely no HTTP path to fundi.
|
|
@@ -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: "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8";
|
|
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": "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8" };
|
|
3
3
|
//# sourceMappingURL=registry-pin.js.map
|
|
@@ -1,14 +1,15 @@
|
|
|
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/
|
|
5
|
-
* (pinned in registry.pin.json), produced by calling the registry's
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* The mzizi registry at https://github.com/mzizi-dev/mzizi-registry/tree/5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8
|
|
5
|
+
* (pinned in registry.pin.json), produced by calling the registry's API route
|
|
6
|
+
* handlers (ported from 270af9f into scripts/registry-handlers/) at build
|
|
7
|
+
* time. Every value is a JSON string, parsed lazily by src/registry.ts, so a
|
|
8
|
+
* cold start pays only for what a request reads.
|
|
8
9
|
*/
|
|
9
10
|
export declare const REGISTRY_PIN: {
|
|
10
11
|
readonly repository: "https://github.com/mzizi-dev/mzizi-registry";
|
|
11
|
-
readonly ref: "
|
|
12
|
+
readonly ref: "5067b5e4c1cd46d61a0f26b721e382d4c1eb7ed8";
|
|
12
13
|
};
|
|
13
14
|
/** Whole-resource payloads, keyed by section. */
|
|
14
15
|
export declare const SECTIONS: Readonly<Record<string, string>>;
|
|
@@ -26,6 +27,12 @@ export declare const RUST: Readonly<Record<string, string>>;
|
|
|
26
27
|
export declare const RUST_CRATES: Readonly<Record<string, string>>;
|
|
27
28
|
/** `/rs/{name}` for a component with no Rust, with `{name}` in place of the name. */
|
|
28
29
|
export declare const RUST_MISSING: string;
|
|
30
|
+
/**
|
|
31
|
+
* `/astro/{name}` per component WITH an Astro implementation: the registry
|
|
32
|
+
* document (files with targets under src/components/mzizi/, npm dependencies,
|
|
33
|
+
* /v1/astro registryDependencies) from mzizi-registry lib/astro.ts.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ASTRO: Readonly<Record<string, string>>;
|
|
29
36
|
/** `/architecture/nodes/{n}` per node or rung. */
|
|
30
37
|
export declare const NODES: Readonly<Record<string, string>>;
|
|
31
38
|
/** `/ai/instructions/{name}` per instruction set. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/generated/registry.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|