@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.
Files changed (40) hide show
  1. package/README.md +19 -11
  2. package/dist/auth/authkit-handler.d.ts +1 -1
  3. package/dist/auth/authkit-handler.d.ts.map +1 -1
  4. package/dist/auth/authkit-handler.js +34 -16
  5. package/dist/auth/authkit-handler.js.map +1 -1
  6. package/dist/auth/authorize-request.d.ts +12 -0
  7. package/dist/auth/authorize-request.d.ts.map +1 -0
  8. package/dist/auth/authorize-request.js +37 -0
  9. package/dist/auth/authorize-request.js.map +1 -0
  10. package/dist/auth/id-token.d.ts +28 -0
  11. package/dist/auth/id-token.d.ts.map +1 -0
  12. package/dist/auth/id-token.js +32 -0
  13. package/dist/auth/id-token.js.map +1 -0
  14. package/dist/env.d.ts.map +1 -1
  15. package/dist/fundi-client.d.ts +6 -6
  16. package/dist/fundi-client.js +6 -6
  17. package/dist/generated/registry-pin.d.ts +1 -1
  18. package/dist/generated/registry-pin.js +1 -1
  19. package/dist/generated/registry.d.ts +12 -5
  20. package/dist/generated/registry.d.ts.map +1 -1
  21. package/dist/generated/registry.js +421 -164
  22. package/dist/generated/registry.js.map +1 -1
  23. package/dist/generated/skills.d.ts +1 -1
  24. package/dist/generated/skills.d.ts.map +1 -1
  25. package/dist/generated/skills.js +17 -11
  26. package/dist/generated/skills.js.map +1 -1
  27. package/dist/identity.d.ts +35 -21
  28. package/dist/identity.d.ts.map +1 -1
  29. package/dist/identity.js +70 -29
  30. package/dist/identity.js.map +1 -1
  31. package/dist/registry.d.ts +32 -3
  32. package/dist/registry.d.ts.map +1 -1
  33. package/dist/registry.js +36 -3
  34. package/dist/registry.js.map +1 -1
  35. package/dist/server.d.ts +1 -1
  36. package/dist/server.js +1 -1
  37. package/dist/tools.d.ts.map +1 -1
  38. package/dist/tools.js +23 -2
  39. package/dist/tools.js.map +1 -1
  40. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/generated/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD;QACE,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,gdAAgd;QAC/d,UAAU,EAAE,60oBAA60oB;QACz1oB,QAAQ,EAAE,0DAA0D;KACrE;IACD;QACE,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,wpBAAwpB;QACvqB,UAAU,EAAE,+wmCAA+wmC;QAC3xmC,QAAQ,EAAE,uDAAuD;KAClE;IACD;QACE,MAAM,EAAE,cAAc;QACtB,aAAa,EAAE,4mBAA4mB;QAC3nB,UAAU,EAAE,shnBAAshnB;QAClinB,QAAQ,EAAE,wDAAwD;KACnE;IACD;QACE,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,moBAAmoB;QAClpB,UAAU,EAAE,q1gBAAq1gB;QACj2gB,QAAQ,EAAE,yDAAyD;KACpE;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,ujBAAujB;QACtkB,UAAU,EAAE,kmOAAkmO;QAC9mO,QAAQ,EAAE,2DAA2D;KACtE;CACO,CAAA;AAEV,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/generated/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD;QACE,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,+wBAA+wB;QAC9xB,UAAU,EAAE,o9sCAAo9sC;QACh+sC,QAAQ,EAAE,0DAA0D;KACrE;IACD;QACE,MAAM,EAAE,aAAa;QACrB,aAAa,EAAE,+qCAA+qC;QAC9rC,UAAU,EAAE,u7oDAAu7oD;QACn8oD,QAAQ,EAAE,uDAAuD;KAClE;IACD;QACE,MAAM,EAAE,cAAc;QACtB,aAAa,EAAE,2uBAA2uB;QAC1vB,UAAU,EAAE,041BAA041B;QACt51B,QAAQ,EAAE,wDAAwD;KACnE;IACD;QACE,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE,yxBAAyxB;QACxyB,UAAU,EAAE,q1mBAAq1mB;QACj2mB,QAAQ,EAAE,yDAAyD;KACpE;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,wmBAAwmB;QACvnB,UAAU,EAAE,myOAAmyO;QAC/yO,QAAQ,EAAE,2DAA2D;KACtE;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,+3BAA+3B;QAC94B,UAAU,EAAE,2uUAA2uU;QACvvU,QAAQ,EAAE,2DAA2D;KACtE;CACO,CAAA;AAEV,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA"}
@@ -1,29 +1,43 @@
1
1
  import type { Env } from "./env.js";
2
+ /** Message used whenever the tenant is not configured. */
3
+ export declare const AUTHKIT_DOMAIN_MISSING = "WORKOS_AUTHKIT_DOMAIN is not configured";
4
+ /** Thrown by `authkitDomain()` when `WORKOS_AUTHKIT_DOMAIN` is unset or blank. */
5
+ export declare class AuthkitDomainMissingError extends Error {
6
+ constructor();
7
+ }
2
8
  /**
3
- * The tenant used when `WORKOS_AUTHKIT_DOMAIN` is unset.
4
- *
5
- * `accounts.mukoko.com`, NOT the `identity.nyuchi.com` that was configured until
6
- * 10 Aug 2026. That host no longer resolves at all — attaching a new WorkOS
7
- * custom domain detaches the old one with no overlap window, so it began
8
- * returning Cloudflare 1014 the moment the new one landed.
9
- *
10
- * A default is what a Worker gets when configuration is missing, so it has to
11
- * name something that works. Defaulting to the retired host would mean a Worker
12
- * deployed before its secret is set fails every login while looking correctly
13
- * configured.
14
- *
15
- * `accounts` is PLURAL. `account.mukoko.com` is the Mukoko Account app;
16
- * `accounts.mukoko.com` is the issuer that mints its tokens.
9
+ * Thrown when `WORKOS_AUTHKIT_DOMAIN` is set but is not a bare host or an https
10
+ * origin. Its message starts with `AUTHKIT_DOMAIN_MISSING`: an unusable value is
11
+ * treated exactly like a missing one, and callers fail closed.
12
+ */
13
+ export declare class AuthkitDomainInvalidError extends Error {
14
+ constructor(reason: string);
15
+ }
16
+ /**
17
+ * True when `WORKOS_AUTHKIT_DOMAIN` is set to a usable value — a bare host or an
18
+ * https origin. A blank or invalid value counts as not configured, so callers
19
+ * that guard on this answer their 503 instead of reaching a throw.
17
20
  */
18
- export declare const DEFAULT_AUTHKIT_DOMAIN = "https://accounts.mukoko.com";
21
+ export declare function hasAuthkitDomain(env: Pick<Env, "WORKOS_AUTHKIT_DOMAIN">): boolean;
19
22
  /**
20
- * Resolve the identity tenant for this Worker.
23
+ * Resolve the identity tenant for this Worker as an https origin, or throw
24
+ * (`AuthkitDomainMissingError` when unset, `AuthkitDomainInvalidError` when it
25
+ * is not a bare host or an https origin).
21
26
  *
22
- * The trailing slash is trimmed: callers compose paths onto this, and while
23
- * `new URL()` tolerates a slash, an `iss` claim comparison is an exact string
24
- * match — `https://x/` never equals the `https://x` WorkOS issues. That would
25
- * present as "every token is invalid", which is a long way from "someone left a
26
- * trailing slash".
27
+ * Accepts a bare host (at least one Worker on this account stores the hostname
28
+ * with no scheme) or an https origin. The result is `URL.origin`: callers
29
+ * compose paths onto it, and fundi binds the M2M token's `iss` to the same
30
+ * normalised origin with an exact string match.
27
31
  */
28
32
  export declare function authkitDomain(env: Pick<Env, "WORKOS_AUTHKIT_DOMAIN">): string;
33
+ /**
34
+ * Parse — never concatenate — a configured AuthKit domain into an https origin.
35
+ *
36
+ * Accepts a bare host or an https origin, in any case. Any path, query or
37
+ * fragment is dropped. `http:`, any other scheme, embedded credentials and
38
+ * anything `URL` cannot parse are rejected. The result is `URL.origin`, so the
39
+ * value composed into JWKS/token URLs and compared with a token's `iss` is the
40
+ * same canonical string however the secret was written.
41
+ */
42
+ export declare function normaliseAuthkitDomain(value: string | undefined): string;
29
43
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,gCAAgC,CAAA;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,MAAM,CAI7E"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,4CAA4C,CAAC;AAEhF,kFAAkF;AAClF,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,MAAM,EAAE,MAAM;CAI3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,OAAO,CAOjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,MAAM,CAE7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAaxE"}
package/dist/identity.js CHANGED
@@ -4,41 +4,82 @@
4
4
  // the M2M token that fundi's gate binds, so a tenant mismatch between them means
5
5
  // every call mints a token that cannot pass.
6
6
  //
7
- // It is a SECRET, not a `[vars]` entry (see wrangler.toml). A hostname is not
8
- // confidential; it is environment-specific and vendor-dependent, and a var of
9
- // the same name wins on every deploy and silently discards the secret. THIS
10
- // Worker is the worked example — corrected through the settings API, verified,
11
- // and later found back on a host that no longer resolves.
7
+ // It comes ONLY from configuration — the `WORKOS_AUTHKIT_DOMAIN` Worker secret,
8
+ // set per environment (see wrangler.toml). There is deliberately no compiled-in
9
+ // default and no fallback: an AuthKit domain is environment-specific and
10
+ // vendor-dependent, and a constant in code is exactly what left Workers pinned to
11
+ // the retired `identity.nyuchi.com` after the 10 Aug 2026 domain move. When the
12
+ // secret is missing, every caller fails closed with an error that names it.
13
+ /** Message used whenever the tenant is not configured. */
14
+ export const AUTHKIT_DOMAIN_MISSING = "WORKOS_AUTHKIT_DOMAIN is not configured";
15
+ /** Thrown by `authkitDomain()` when `WORKOS_AUTHKIT_DOMAIN` is unset or blank. */
16
+ export class AuthkitDomainMissingError extends Error {
17
+ constructor() {
18
+ super(AUTHKIT_DOMAIN_MISSING);
19
+ this.name = "AuthkitDomainMissingError";
20
+ }
21
+ }
12
22
  /**
13
- * The tenant used when `WORKOS_AUTHKIT_DOMAIN` is unset.
14
- *
15
- * `accounts.mukoko.com`, NOT the `identity.nyuchi.com` that was configured until
16
- * 10 Aug 2026. That host no longer resolves at all — attaching a new WorkOS
17
- * custom domain detaches the old one with no overlap window, so it began
18
- * returning Cloudflare 1014 the moment the new one landed.
19
- *
20
- * A default is what a Worker gets when configuration is missing, so it has to
21
- * name something that works. Defaulting to the retired host would mean a Worker
22
- * deployed before its secret is set fails every login while looking correctly
23
- * configured.
24
- *
25
- * `accounts` is PLURAL. `account.mukoko.com` is the Mukoko Account app;
26
- * `accounts.mukoko.com` is the issuer that mints its tokens.
23
+ * Thrown when `WORKOS_AUTHKIT_DOMAIN` is set but is not a bare host or an https
24
+ * origin. Its message starts with `AUTHKIT_DOMAIN_MISSING`: an unusable value is
25
+ * treated exactly like a missing one, and callers fail closed.
26
+ */
27
+ export class AuthkitDomainInvalidError extends Error {
28
+ constructor(reason) {
29
+ super(`${AUTHKIT_DOMAIN_MISSING} (${reason})`);
30
+ this.name = "AuthkitDomainInvalidError";
31
+ }
32
+ }
33
+ /**
34
+ * True when `WORKOS_AUTHKIT_DOMAIN` is set to a usable value — a bare host or an
35
+ * https origin. A blank or invalid value counts as not configured, so callers
36
+ * that guard on this answer their 503 instead of reaching a throw.
27
37
  */
28
- export const DEFAULT_AUTHKIT_DOMAIN = "https://accounts.mukoko.com";
38
+ export function hasAuthkitDomain(env) {
39
+ try {
40
+ authkitDomain(env);
41
+ return true;
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
29
47
  /**
30
- * Resolve the identity tenant for this Worker.
48
+ * Resolve the identity tenant for this Worker as an https origin, or throw
49
+ * (`AuthkitDomainMissingError` when unset, `AuthkitDomainInvalidError` when it
50
+ * is not a bare host or an https origin).
31
51
  *
32
- * The trailing slash is trimmed: callers compose paths onto this, and while
33
- * `new URL()` tolerates a slash, an `iss` claim comparison is an exact string
34
- * match — `https://x/` never equals the `https://x` WorkOS issues. That would
35
- * present as "every token is invalid", which is a long way from "someone left a
36
- * trailing slash".
52
+ * Accepts a bare host (at least one Worker on this account stores the hostname
53
+ * with no scheme) or an https origin. The result is `URL.origin`: callers
54
+ * compose paths onto it, and fundi binds the M2M token's `iss` to the same
55
+ * normalised origin with an exact string match.
37
56
  */
38
57
  export function authkitDomain(env) {
39
- const raw = env.WORKOS_AUTHKIT_DOMAIN?.trim();
58
+ return normaliseAuthkitDomain(env.WORKOS_AUTHKIT_DOMAIN);
59
+ }
60
+ /**
61
+ * Parse — never concatenate — a configured AuthKit domain into an https origin.
62
+ *
63
+ * Accepts a bare host or an https origin, in any case. Any path, query or
64
+ * fragment is dropped. `http:`, any other scheme, embedded credentials and
65
+ * anything `URL` cannot parse are rejected. The result is `URL.origin`, so the
66
+ * value composed into JWKS/token URLs and compared with a token's `iss` is the
67
+ * same canonical string however the secret was written.
68
+ */
69
+ export function normaliseAuthkitDomain(value) {
70
+ const raw = value?.trim();
40
71
  if (!raw)
41
- return DEFAULT_AUTHKIT_DOMAIN;
42
- return raw.replace(/\/+$/, "");
72
+ throw new AuthkitDomainMissingError();
73
+ let url;
74
+ try {
75
+ url = new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(raw) ? raw : `https://${raw}`);
76
+ }
77
+ catch {
78
+ throw new AuthkitDomainInvalidError("not a valid host or URL");
79
+ }
80
+ if (url.protocol !== "https:" || url.username || url.password) {
81
+ throw new AuthkitDomainInvalidError("must be an https origin");
82
+ }
83
+ return url.origin;
43
84
  }
44
85
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,6CAA6C;AAC7C,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,0DAA0D;AAI1D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAA;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuC;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAA;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,sBAAsB,CAAA;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,6CAA6C;AAC7C,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,yEAAyE;AACzE,kFAAkF;AAClF,gFAAgF;AAChF,4EAA4E;AAI5E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,yCAAyC,CAAC;AAEhF,kFAAkF;AAClF,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,MAAc;QACxB,KAAK,CAAC,GAAG,sBAAsB,KAAK,MAAM,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAuC;IACtE,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuC;IACnE,OAAO,sBAAsB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,MAAM,GAAG,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC"}
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * `src/generated/registry.ts` is produced at build time by
5
5
  * `scripts/generate-registry.mjs` from mzizi-dev/mzizi-registry at the commit
6
- * pinned in `registry.pin.json`. It holds the exact payloads the registry's own
7
- * API route handlers produce for that commit, so a tool answering from here and
6
+ * pinned in `registry.pin.json`. It holds the exact payloads the registry's API
7
+ * route handlers produce for that commit (ported from mzizi-registry 270af9f,
8
+ * its last commit with them, into `scripts/registry-handlers/`, and run against
9
+ * the pinned registry's own `lib/` readers), so a tool answering from here and
8
10
  * a consumer reading `api.mzizi.dev/v1` at the same commit get the same bytes.
9
11
  *
10
12
  * There is no network call and no database anywhere below. That is the owner's
@@ -21,7 +23,7 @@ export type Ok<T> = {
21
23
  };
22
24
  export type Miss = {
23
25
  ok: false;
24
- reason: "not_found" | "invalid" | "no_rust";
26
+ reason: "not_found" | "invalid" | "no_rust" | "no_astro";
25
27
  message: string;
26
28
  };
27
29
  export type Result<T> = Ok<T> | Miss;
@@ -42,6 +44,23 @@ export type RawRegistry = {
42
44
  RUST_CRATES: Readonly<Record<string, string>>;
43
45
  /** The registry's no-Rust `/v1/rs/{name}` 404 body, with `{name}` for the name. */
44
46
  RUST_MISSING: string;
47
+ /** `/v1/astro/{name}` per component that has an Astro implementation (mzizi-registry#397). */
48
+ ASTRO?: Readonly<Record<string, string>>;
49
+ };
50
+ /** A component's Astro implementation: mzizi-registry lib/astro.ts `AstroDocument`. */
51
+ export type AstroImpl = {
52
+ name: string;
53
+ type: string;
54
+ target: "astro";
55
+ dependencies: string[];
56
+ registryDependencies: string[];
57
+ files: Array<{
58
+ path: string;
59
+ type: string;
60
+ target: string;
61
+ content: string;
62
+ encoding?: "base64";
63
+ }>;
45
64
  };
46
65
  /**
47
66
  * A component's Mzizi Roots (Rust, Dioxus) implementation: the registry's
@@ -91,6 +110,8 @@ export type ListQuery = {
91
110
  type?: string;
92
111
  /** true: only components with a Rust implementation; false: only those without. */
93
112
  rust?: boolean;
113
+ /** true: only components with an Astro implementation; false: only those without. */
114
+ astro?: boolean;
94
115
  limit?: number;
95
116
  offset?: number;
96
117
  };
@@ -101,6 +122,8 @@ export type SearchHit = {
101
122
  description?: string;
102
123
  /** For a component with a Mzizi Roots (Rust) implementation: the crate that compiles it. */
103
124
  rustCrate?: string;
125
+ /** The registry path of the component's Astro implementation, when it has one. */
126
+ astroFile?: string;
104
127
  };
105
128
  export type Registry = ReturnType<typeof createRegistry>;
106
129
  export declare function createRegistry(raw: RawRegistry): {
@@ -110,6 +133,12 @@ export declare function createRegistry(raw: RawRegistry): {
110
133
  };
111
134
  resolveName: (name: string) => string | undefined;
112
135
  rustCrate: (name: string) => string | undefined;
136
+ astroFile: (name: string) => string | undefined;
137
+ /**
138
+ * The component's Astro implementation, as `GET /v1/astro/{name}` serves it.
139
+ * A component with none is a `no_astro` miss, never a fallback to the React source.
140
+ */
141
+ getAstro(name: string): Result<AstroImpl>;
113
142
  /** The index, filtered and paged exactly as `GET /v1/ui` does it. */
114
143
  listComponents(q?: ListQuery): Ok<IndexPayload & {
115
144
  meta: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/registry.js CHANGED
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * `src/generated/registry.ts` is produced at build time by
5
5
  * `scripts/generate-registry.mjs` from mzizi-dev/mzizi-registry at the commit
6
- * pinned in `registry.pin.json`. It holds the exact payloads the registry's own
7
- * API route handlers produce for that commit, so a tool answering from here and
6
+ * pinned in `registry.pin.json`. It holds the exact payloads the registry's API
7
+ * route handlers produce for that commit (ported from mzizi-registry 270af9f,
8
+ * its last commit with them, into `scripts/registry-handlers/`, and run against
9
+ * the pinned registry's own `lib/` readers), so a tool answering from here and
8
10
  * a consumer reading `api.mzizi.dev/v1` at the same commit get the same bytes.
9
11
  *
10
12
  * There is no network call and no database anywhere below. That is the owner's
@@ -55,10 +57,36 @@ export function createRegistry(raw) {
55
57
  }
56
58
  const notFound = (name) => miss(`The Mzizi registry has no component named "${name}". Check the name — list_components returns the valid set, and search matches on words.`);
57
59
  const rustCrate = (name) => (own(raw.RUST_CRATES, name) ? raw.RUST_CRATES[name] : undefined);
60
+ const astroMap = raw.ASTRO ?? {};
61
+ /** The registry path of a component's `.astro` (or framework-free `.ts`), when it has one. */
62
+ const astroFile = (name) => {
63
+ if (!own(astroMap, name))
64
+ return undefined;
65
+ return parsed(`astro:${name}`, astroMap[name]).files[0]?.path;
66
+ };
58
67
  return {
59
68
  pin: raw.REGISTRY_PIN,
60
69
  resolveName,
61
70
  rustCrate,
71
+ astroFile,
72
+ /**
73
+ * The component's Astro implementation, as `GET /v1/astro/{name}` serves it.
74
+ * A component with none is a `no_astro` miss, never a fallback to the React source.
75
+ */
76
+ getAstro(name) {
77
+ const current = resolveName(name);
78
+ if (!current)
79
+ return notFound(name);
80
+ if (!own(astroMap, current)) {
81
+ return {
82
+ ok: false,
83
+ reason: "no_astro",
84
+ message: `"${current}" has no Astro implementation. Astro implementations are pure .astro files beside the ` +
85
+ "component's .tsx in mzizi-dev/mzizi-registry (mzizi-registry#397); add one there.",
86
+ };
87
+ }
88
+ return ok(parsed(`astro:${current}`, astroMap[current]));
89
+ },
62
90
  /** The index, filtered and paged exactly as `GET /v1/ui` does it. */
63
91
  listComponents(q = {}) {
64
92
  const index = section("index");
@@ -67,7 +95,8 @@ export function createRegistry(raw) {
67
95
  (q.owner === undefined || c.owner === q.owner) &&
68
96
  (q.collection === undefined || c.collection === q.collection) &&
69
97
  (q.type === undefined || c.type === q.type) &&
70
- (q.rust === undefined || (rustCrate(c.name) !== undefined) === q.rust));
98
+ (q.rust === undefined || (rustCrate(c.name) !== undefined) === q.rust) &&
99
+ (q.astro === undefined || (astroFile(c.name) !== undefined) === q.astro));
71
100
  const offset = q.offset ?? 0;
72
101
  const page = q.limit === undefined ? matched.slice(offset) : matched.slice(offset, offset + q.limit);
73
102
  return ok({
@@ -80,12 +109,14 @@ export function createRegistry(raw) {
80
109
  limit: q.limit ?? null,
81
110
  registryTotal: all.length,
82
111
  withRust: matched.filter((c) => rustCrate(c.name) !== undefined).length,
112
+ withAstro: matched.filter((c) => astroFile(c.name) !== undefined).length,
83
113
  filters: {
84
114
  node: q.node ?? null,
85
115
  owner: q.owner ?? null,
86
116
  collection: q.collection ?? null,
87
117
  type: q.type ?? null,
88
118
  rust: q.rust ?? null,
119
+ astro: q.astro ?? null,
89
120
  },
90
121
  },
91
122
  });
@@ -199,6 +230,7 @@ export function createRegistry(raw) {
199
230
  ]);
200
231
  const exact = c.name.toLowerCase() === query.trim().toLowerCase() ? 100 : 0;
201
232
  const crate = rustCrate(c.name);
233
+ const astro = astroFile(c.name);
202
234
  if (s)
203
235
  scored.push({
204
236
  kind: "component",
@@ -206,6 +238,7 @@ export function createRegistry(raw) {
206
238
  title: c.title,
207
239
  description: c.description,
208
240
  ...(crate ? { rustCrate: crate } : {}),
241
+ ...(astro ? { astroFile: astro } : {}),
209
242
  score: s + exact,
210
243
  });
211
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -16,7 +16,7 @@ import type { Registry } from "./registry.js";
16
16
  import { type DocsFederationOptions } from "./docs-federation.js";
17
17
  import type { FundiToolContext } from "./fundi-client.js";
18
18
  import { type IssueDeskContext } from "./tools.js";
19
- export declare const MZIZI_MCP_VERSION = "0.11.2";
19
+ export declare const MZIZI_MCP_VERSION = "0.12.0";
20
20
  export type CreateServerOptions = {
21
21
  fundi?: FundiToolContext;
22
22
  /** The signed-in user's issue desk. See `tools.ts` — absent off the Worker. */
package/dist/server.js CHANGED
@@ -17,7 +17,7 @@ import { registerDocsTools, DOCS_MCP_URL } from "./docs-federation.js";
17
17
  import { registerMziziTools, TOOL_COVERAGE, TOOL_PREFIX } from "./tools.js";
18
18
  import { jsonContent } from "./tool-result.js";
19
19
  import { accessFor, accessSummary } from "./access.js";
20
- export const MZIZI_MCP_VERSION = "0.11.2";
20
+ export const MZIZI_MCP_VERSION = "0.12.0";
21
21
  /**
22
22
  * What this server exposes, computed from what was actually registered.
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAmB,KAAK,QAAQ,EAA8B,MAAM,eAAe,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW1D,eAAO,MAAM,WAAW,WAAW,CAAC;AAmEpC,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA0D3D,CAAC;AAoCF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,mFAAmF;IACnF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CAslBV"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAmC,KAAK,QAAQ,EAA8B,MAAM,eAAe,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW1D,eAAO,MAAM,WAAW,WAAW,CAAC;AAmEpC,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA0D3D,CAAC;AAoDF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,mFAAmF;IACnF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CAimBV"}
package/dist/tools.js CHANGED
@@ -167,6 +167,19 @@ function rustSection(rs, pinRef) {
167
167
  files: rs.files,
168
168
  };
169
169
  }
170
+ /** The Astro build (mzizi-registry#397): pure .astro, installed by `mzizi add --target astro`. */
171
+ function astroSection(doc) {
172
+ return {
173
+ build: "astro",
174
+ install: `npx @nyuchi/mzizi-cli add ${doc.name} --target astro`,
175
+ api: `https://api.mzizi.dev/v1/astro/${encodeURIComponent(doc.name)}`,
176
+ installsTo: "src/components/mzizi/",
177
+ dependencies: doc.dependencies,
178
+ registryDependencies: doc.registryDependencies,
179
+ // Base64 brand assets are listed, not inlined: the installer fetches them.
180
+ files: doc.files.map((f) => f.encoding === "base64" ? { path: f.path, type: f.type, target: f.target, encoding: f.encoding } : f),
181
+ };
182
+ }
170
183
  /** The React build, second and labelled: the registry's `/v1/ui/{name}` body, unchanged. */
171
184
  function reactSection(body) {
172
185
  const name = String(body.name ?? "");
@@ -198,7 +211,7 @@ export function registerMziziTools(server, opts) {
198
211
  // 2 ─ get_component — one read, everything, Rust first
199
212
  server.registerTool(note("get_component"), {
200
213
  title: "Get a component",
201
- description: "Fetch one component in full, Rust first. When the component has a Mzizi Roots (Rust, Dioxus) implementation, `rust` comes first: its crate, the `cargo add` line, its CONTRACT clause block and the `.rs` source inline. `react` follows: the React build (deprioritised; it keeps working, new work goes to Rust), shadcn-shaped with files[] inline and its `npx shadcn add` line. With no Rust, `rust` is null and `lead` is \"react\". " +
214
+ description: "Fetch one component in full, Rust first. When the component has a Mzizi Roots (Rust, Dioxus) implementation, `rust` comes first: its crate, the `cargo add` line, its CONTRACT clause block and the `.rs` source inline. `astro` follows when the component has a pure Astro implementation (mzizi-registry#397): its `mzizi add --target astro` line, the files it installs into src/components/mzizi/ and their dependencies; null otherwise. `react` follows: the React build (deprioritised; it keeps working, new work goes to Rust), shadcn-shaped with files[] inline and its `npx shadcn add` line. With no Rust, `rust` is null and `lead` is \"react\". " +
202
215
  "Add docs (use cases, variants, a11y: the documented contract) and version history (from the changelog) with `include`. Former nyuchi-* names resolve to their mzizi-* successors.",
203
216
  inputSchema: {
204
217
  name: z.string().min(1).describe("Component name, e.g. 'button'."),
@@ -213,6 +226,7 @@ export function registerMziziTools(server, opts) {
213
226
  const current = r.resolveName(name);
214
227
  const react = r.getComponent(name);
215
228
  const rust = r.getRust(name);
229
+ const astro = r.getAstro(name);
216
230
  // Unknown name, or no Rust and a React build the registry itself refuses.
217
231
  if (!react.ok && !rust.ok)
218
232
  return toolError(react.message);
@@ -225,6 +239,7 @@ export function registerMziziTools(server, opts) {
225
239
  "The React build below is deprioritised: it keeps working, but new work goes to Rust."
226
240
  : `No Mzizi Roots (Rust) implementation yet. ${rust.message}`,
227
241
  rust: rust.ok ? rustSection(rust.data, r.pin.ref) : null,
242
+ astro: astro.ok ? astroSection(astro.data) : null,
228
243
  react: react.ok ? reactSection(react.data) : { build: "react", error: react.message },
229
244
  };
230
245
  // A failure in an extra section must not discard the component the caller
@@ -265,6 +280,7 @@ export function registerMziziTools(server, opts) {
265
280
  .optional()
266
281
  .describe("Filter by registry type, e.g. registry:ui | registry:lib | registry:block."),
267
282
  rust: BOOL.optional().describe("true: only components with a Mzizi Roots (Rust) implementation; false: only those without."),
283
+ astro: BOOL.optional().describe("true: only components with an Astro implementation (installable with mzizi add --target astro); false: only those without."),
268
284
  limit: NUM.int()
269
285
  .positive()
270
286
  .optional()
@@ -275,7 +291,7 @@ export function registerMziziTools(server, opts) {
275
291
  .describe("Rows to skip, for paging."),
276
292
  },
277
293
  annotations: READ,
278
- }, async ({ node, owner, collection, type, rust, limit, offset }) => {
294
+ }, async ({ node, owner, collection, type, rust, astro, limit, offset }) => {
279
295
  const r = await reg();
280
296
  const take = limit ?? LIST_DEFAULT_LIMIT;
281
297
  const skip = offset ?? 0;
@@ -285,6 +301,7 @@ export function registerMziziTools(server, opts) {
285
301
  collection,
286
302
  type,
287
303
  rust,
304
+ astro,
288
305
  limit: take,
289
306
  offset: skip,
290
307
  });
@@ -300,6 +317,7 @@ export function registerMziziTools(server, opts) {
300
317
  // index stays lean and a present field means one thing.
301
318
  const items = rows.map((i) => {
302
319
  const crate = r.rustCrate(String(i.name));
320
+ const astroFile = r.astroFile(String(i.name));
303
321
  return {
304
322
  name: i.name,
305
323
  type: i.type,
@@ -308,6 +326,7 @@ export function registerMziziTools(server, opts) {
308
326
  owner: i.owner,
309
327
  collection: i.collection,
310
328
  ...(crate ? { rustCrate: crate } : {}),
329
+ ...(astroFile ? { astroFile } : {}),
311
330
  };
312
331
  });
313
332
  const returned = skip + items.length;
@@ -329,6 +348,8 @@ export function registerMziziTools(server, opts) {
329
348
  // How many of the `total` matched rows have a Mzizi Roots (Rust)
330
349
  // implementation. Filter with rust=true to list only those.
331
350
  withRust: payload.meta?.withRust ?? 0,
351
+ // How many have an Astro implementation. Filter with astro=true to list only those.
352
+ withAstro: payload.meta?.withAstro ?? 0,
332
353
  items,
333
354
  });
334
355
  });