@nyuchi/mzizi-mcp 0.14.0 → 0.16.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 +111 -39
- package/dist/auth/cors.d.ts +33 -0
- package/dist/auth/cors.d.ts.map +1 -0
- package/dist/auth/cors.js +110 -0
- package/dist/auth/cors.js.map +1 -0
- package/dist/auth/front.d.ts +8 -0
- package/dist/auth/front.d.ts.map +1 -1
- package/dist/auth/front.js +10 -0
- package/dist/auth/front.js.map +1 -1
- package/dist/auth/mcp-api-handler.d.ts +1 -1
- package/dist/auth/mcp-api-handler.d.ts.map +1 -1
- package/dist/auth/mcp-api-handler.js +4 -3
- package/dist/auth/mcp-api-handler.js.map +1 -1
- package/dist/auth/provider-options.d.ts +16 -0
- package/dist/auth/provider-options.d.ts.map +1 -0
- package/dist/auth/provider-options.js +21 -0
- package/dist/auth/provider-options.js.map +1 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/floors.d.ts +117 -0
- package/dist/floors.d.ts.map +1 -0
- package/dist/floors.js +103 -0
- package/dist/floors.js.map +1 -0
- package/dist/generated/registry-pin.d.ts +8 -1
- package/dist/generated/registry-pin.d.ts.map +1 -1
- package/dist/generated/registry-pin.js +3 -1
- package/dist/generated/registry-pin.js.map +1 -1
- package/dist/generated/registry.d.ts +2 -2
- package/dist/generated/registry.js +198 -198
- package/dist/generated/registry.js.map +1 -1
- package/dist/generated/skills.d.ts +1 -1
- package/dist/generated/skills.js +13 -13
- package/dist/generated/skills.js.map +1 -1
- package/dist/http.d.ts +14 -4
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +38 -54
- package/dist/http.js.map +1 -1
- package/dist/origin.d.ts +68 -0
- package/dist/origin.d.ts.map +1 -0
- package/dist/origin.js +141 -0
- package/dist/origin.js.map +1 -0
- package/dist/rate-limit.d.ts +1 -1
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +3 -2
- package/dist/rate-limit.js.map +1 -1
- package/dist/server.d.ts +47 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -8
- package/dist/server.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +115 -48
- package/dist/tools.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +25 -11
- package/dist/worker.js.map +1 -1
- package/package.json +2 -2
package/dist/floors.d.ts
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bundu floor, as this MCP states it.
|
|
3
|
+
*
|
|
4
|
+
* Nothing here is a number. The registry carries the floors in `/v1/brand`
|
|
5
|
+
* `accessibility` (`minTouchTarget`, `minInset`, `minControlGap`, `minLabelGap`,
|
|
6
|
+
* `minItemGap`, `minBodyLeading`), built from `BUNDU_FLOOR` in its
|
|
7
|
+
* `lib/tokens/roles.source.ts` and held equal to it by a registry test. This module reads
|
|
8
|
+
* those keys out of the bundled brand payload, so the MCP serves whatever the pinned
|
|
9
|
+
* registry commit says and cannot drift from it.
|
|
10
|
+
*
|
|
11
|
+
* A pin from before the spacing floor (owner, 2026-11-04, mzizi-registry#617) has no such
|
|
12
|
+
* keys: `spacingFloorFrom` returns undefined then, and the tools say so rather than
|
|
13
|
+
* answering from a copy.
|
|
14
|
+
*/
|
|
15
|
+
export type SpacingFloor = {
|
|
16
|
+
/** Padding between text and its container edge, px (`--inset-floor`). */
|
|
17
|
+
insetPx: number;
|
|
18
|
+
/** Gap between adjacent interactive controls, visible edge to visible edge, px (`--gap-floor`). */
|
|
19
|
+
controlGapPx: number;
|
|
20
|
+
/** Gap between a label and its field, px (`--gap-floor`). */
|
|
21
|
+
labelGapPx: number;
|
|
22
|
+
/** Gap between sibling items in a list, grid or toolbar, px (`--gap-floor`). */
|
|
23
|
+
itemGapPx: number;
|
|
24
|
+
/** Body line height, unitless (`--leading-floor`). */
|
|
25
|
+
leadingBody: number;
|
|
26
|
+
};
|
|
27
|
+
/** The CSS custom property that carries each floor. Names, not values: the registry's token layer defines them. */
|
|
28
|
+
export declare const SPACING_FLOOR_PROPERTIES: Record<keyof SpacingFloor, string>;
|
|
29
|
+
/** The spacing floor in a `/v1/brand` payload, or undefined when the pinned registry predates it. */
|
|
30
|
+
export declare function spacingFloorFrom(brand: Record<string, unknown>): SpacingFloor | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The floor in a phrase for static text (tool descriptions, server instructions), from the
|
|
33
|
+
* pinned registry's numbers at build time. Without them the phrase names no number.
|
|
34
|
+
*/
|
|
35
|
+
export declare function spacingFloorPhrase(floor: SpacingFloor | null): string;
|
|
36
|
+
export declare const SPACING_FLOOR_MISSING = "This build's registry pin predates the spacing floor (mzizi-registry#617), so it has no spacing floor numbers to state. Bump the pin in registry.pin.json.";
|
|
37
|
+
/** How the floor is enforced and what to do about it: the same text on every surface that states it. */
|
|
38
|
+
export declare const SPACING_FLOOR_GUIDANCE: {
|
|
39
|
+
readonly meaning: {
|
|
40
|
+
readonly insetPx: "Padding between text and the edge of its container.";
|
|
41
|
+
readonly controlGapPx: "Gap between adjacent interactive controls, visible edge to visible edge. Hit regions may touch, never overlap.";
|
|
42
|
+
readonly labelGapPx: "Gap between a label and its field.";
|
|
43
|
+
readonly itemGapPx: "Gap between sibling items in a list, grid or toolbar.";
|
|
44
|
+
readonly leadingBody: "Body line height (WCAG 1.4.12). Headings keep their own leading.";
|
|
45
|
+
};
|
|
46
|
+
readonly enforcement: "A base-layer rule in the registry's token layer gives every element the floor even when you add no padding or gap; the token test fails a component spec below it; each component contract asserts its spacing minimums (TypeScript and Rust agree); a rendered geometry guard checks neighbouring controls, text inset and WCAG 1.4.12 stress; `mzizi check` (@nyuchi/mzizi-cli 0.8.0 or later) fails a project's CSS or TSX that goes under it, and `mzizi_check_accessibility` checks values you pass it.";
|
|
47
|
+
readonly nothingGoesUnder: "No brand pack, density layer, component or app may lower a floor. `data-mzizi-sizes=\"legacy\"` on the root is the one opt-out, and it steps out of the other Bundu floors too.";
|
|
48
|
+
readonly whatToDo: "Use the components and the tokens (--inset-floor, --gap-floor, --leading-floor). Never write p-0, gap-0, a negative margin or leading-none on a text container or a row of controls without an exception comment: `mzizi-spacing-exempt: <reason>`.";
|
|
49
|
+
};
|
|
50
|
+
/** The floors of a registry, for the catalogue, `mzizi_mcp_describe` and `mzizi://tools`. */
|
|
51
|
+
export declare function floorsOf(registry: () => Promise<{
|
|
52
|
+
getBrand(): {
|
|
53
|
+
data: Record<string, unknown>;
|
|
54
|
+
};
|
|
55
|
+
}>): Promise<{
|
|
56
|
+
spacing: null;
|
|
57
|
+
hitAreaPx: number | null;
|
|
58
|
+
note: string;
|
|
59
|
+
} | {
|
|
60
|
+
source: string;
|
|
61
|
+
meaning: {
|
|
62
|
+
readonly insetPx: "Padding between text and the edge of its container.";
|
|
63
|
+
readonly controlGapPx: "Gap between adjacent interactive controls, visible edge to visible edge. Hit regions may touch, never overlap.";
|
|
64
|
+
readonly labelGapPx: "Gap between a label and its field.";
|
|
65
|
+
readonly itemGapPx: "Gap between sibling items in a list, grid or toolbar.";
|
|
66
|
+
readonly leadingBody: "Body line height (WCAG 1.4.12). Headings keep their own leading.";
|
|
67
|
+
};
|
|
68
|
+
enforcement: "A base-layer rule in the registry's token layer gives every element the floor even when you add no padding or gap; the token test fails a component spec below it; each component contract asserts its spacing minimums (TypeScript and Rust agree); a rendered geometry guard checks neighbouring controls, text inset and WCAG 1.4.12 stress; `mzizi check` (@nyuchi/mzizi-cli 0.8.0 or later) fails a project's CSS or TSX that goes under it, and `mzizi_check_accessibility` checks values you pass it.";
|
|
69
|
+
nothingGoesUnder: "No brand pack, density layer, component or app may lower a floor. `data-mzizi-sizes=\"legacy\"` on the root is the one opt-out, and it steps out of the other Bundu floors too.";
|
|
70
|
+
whatToDo: "Use the components and the tokens (--inset-floor, --gap-floor, --leading-floor). Never write p-0, gap-0, a negative margin or leading-none on a text container or a row of controls without an exception comment: `mzizi-spacing-exempt: <reason>`.";
|
|
71
|
+
spacing: SpacingFloor;
|
|
72
|
+
customProperties: Record<keyof SpacingFloor, string>;
|
|
73
|
+
hitAreaPx: number | null;
|
|
74
|
+
note?: undefined;
|
|
75
|
+
}>;
|
|
76
|
+
/** The floors as `mzizi_get_tokens`, `mzizi_get_doctrine` and `mzizi_mcp_describe` state them. */
|
|
77
|
+
export declare function describeFloors(brand: Record<string, unknown>): {
|
|
78
|
+
spacing: null;
|
|
79
|
+
hitAreaPx: number | null;
|
|
80
|
+
note: string;
|
|
81
|
+
} | {
|
|
82
|
+
source: string;
|
|
83
|
+
meaning: {
|
|
84
|
+
readonly insetPx: "Padding between text and the edge of its container.";
|
|
85
|
+
readonly controlGapPx: "Gap between adjacent interactive controls, visible edge to visible edge. Hit regions may touch, never overlap.";
|
|
86
|
+
readonly labelGapPx: "Gap between a label and its field.";
|
|
87
|
+
readonly itemGapPx: "Gap between sibling items in a list, grid or toolbar.";
|
|
88
|
+
readonly leadingBody: "Body line height (WCAG 1.4.12). Headings keep their own leading.";
|
|
89
|
+
};
|
|
90
|
+
enforcement: "A base-layer rule in the registry's token layer gives every element the floor even when you add no padding or gap; the token test fails a component spec below it; each component contract asserts its spacing minimums (TypeScript and Rust agree); a rendered geometry guard checks neighbouring controls, text inset and WCAG 1.4.12 stress; `mzizi check` (@nyuchi/mzizi-cli 0.8.0 or later) fails a project's CSS or TSX that goes under it, and `mzizi_check_accessibility` checks values you pass it.";
|
|
91
|
+
nothingGoesUnder: "No brand pack, density layer, component or app may lower a floor. `data-mzizi-sizes=\"legacy\"` on the root is the one opt-out, and it steps out of the other Bundu floors too.";
|
|
92
|
+
whatToDo: "Use the components and the tokens (--inset-floor, --gap-floor, --leading-floor). Never write p-0, gap-0, a negative margin or leading-none on a text container or a row of controls without an exception comment: `mzizi-spacing-exempt: <reason>`.";
|
|
93
|
+
spacing: SpacingFloor;
|
|
94
|
+
customProperties: Record<keyof SpacingFloor, string>;
|
|
95
|
+
hitAreaPx: number | null;
|
|
96
|
+
note?: undefined;
|
|
97
|
+
};
|
|
98
|
+
export type SpacingChecks = {
|
|
99
|
+
insetPx?: number;
|
|
100
|
+
controlGapPx?: number;
|
|
101
|
+
labelGapPx?: number;
|
|
102
|
+
itemGapPx?: number;
|
|
103
|
+
leading?: number;
|
|
104
|
+
};
|
|
105
|
+
/** Compare the values a caller states with the floor. Only the values given are checked. */
|
|
106
|
+
export declare function checkSpacing(floor: SpacingFloor, given: SpacingChecks): {
|
|
107
|
+
floor: SpacingFloor;
|
|
108
|
+
checks: {
|
|
109
|
+
name: string;
|
|
110
|
+
value: number;
|
|
111
|
+
minimum: number;
|
|
112
|
+
unit: "px" | "ratio";
|
|
113
|
+
passes: boolean;
|
|
114
|
+
}[];
|
|
115
|
+
meetsFloor: boolean;
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=floors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floors.d.ts","sourceRoot":"","sources":["../src/floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,mHAAmH;AACnH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,YAAY,EAAE,MAAM,CAMvE,CAAC;AAYF,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,SAAS,CAWzF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,CAGrE;AAED,eAAO,MAAM,qBAAqB,+JAC4H,CAAC;AAE/J,wGAAwG;AACxG,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAezB,CAAC;AAEX,6FAA6F;AAC7F,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;GAExG;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;EAe5D;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa;;;cAC1C,MAAM;eAAS,MAAM;iBAAW,MAAM;cAAQ,IAAI,GAAG,OAAO;gBAAU,OAAO;;;EAUxG"}
|
package/dist/floors.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bundu floor, as this MCP states it.
|
|
3
|
+
*
|
|
4
|
+
* Nothing here is a number. The registry carries the floors in `/v1/brand`
|
|
5
|
+
* `accessibility` (`minTouchTarget`, `minInset`, `minControlGap`, `minLabelGap`,
|
|
6
|
+
* `minItemGap`, `minBodyLeading`), built from `BUNDU_FLOOR` in its
|
|
7
|
+
* `lib/tokens/roles.source.ts` and held equal to it by a registry test. This module reads
|
|
8
|
+
* those keys out of the bundled brand payload, so the MCP serves whatever the pinned
|
|
9
|
+
* registry commit says and cannot drift from it.
|
|
10
|
+
*
|
|
11
|
+
* A pin from before the spacing floor (owner, 2026-11-04, mzizi-registry#617) has no such
|
|
12
|
+
* keys: `spacingFloorFrom` returns undefined then, and the tools say so rather than
|
|
13
|
+
* answering from a copy.
|
|
14
|
+
*/
|
|
15
|
+
/** The CSS custom property that carries each floor. Names, not values: the registry's token layer defines them. */
|
|
16
|
+
export const SPACING_FLOOR_PROPERTIES = {
|
|
17
|
+
insetPx: "--inset-floor",
|
|
18
|
+
controlGapPx: "--gap-floor",
|
|
19
|
+
labelGapPx: "--gap-floor",
|
|
20
|
+
itemGapPx: "--gap-floor",
|
|
21
|
+
leadingBody: "--leading-floor",
|
|
22
|
+
};
|
|
23
|
+
const KEYS = {
|
|
24
|
+
insetPx: "minInset",
|
|
25
|
+
controlGapPx: "minControlGap",
|
|
26
|
+
labelGapPx: "minLabelGap",
|
|
27
|
+
itemGapPx: "minItemGap",
|
|
28
|
+
leadingBody: "minBodyLeading",
|
|
29
|
+
};
|
|
30
|
+
const num = (v) => (typeof v === "number" && Number.isFinite(v) ? v : undefined);
|
|
31
|
+
/** The spacing floor in a `/v1/brand` payload, or undefined when the pinned registry predates it. */
|
|
32
|
+
export function spacingFloorFrom(brand) {
|
|
33
|
+
const a = brand.accessibility;
|
|
34
|
+
if (!a || typeof a !== "object")
|
|
35
|
+
return undefined;
|
|
36
|
+
const rec = a;
|
|
37
|
+
const out = {};
|
|
38
|
+
for (const [field, key] of Object.entries(KEYS)) {
|
|
39
|
+
const v = num(rec[key]);
|
|
40
|
+
if (v === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
out[field] = v;
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The floor in a phrase for static text (tool descriptions, server instructions), from the
|
|
48
|
+
* pinned registry's numbers at build time. Without them the phrase names no number.
|
|
49
|
+
*/
|
|
50
|
+
export function spacingFloorPhrase(floor) {
|
|
51
|
+
if (!floor)
|
|
52
|
+
return "the spacing floor (inset, gaps between controls, labels and items, and body leading)";
|
|
53
|
+
return `the spacing floor (${floor.insetPx}px inset, ${floor.controlGapPx}px gaps between controls, ${floor.labelGapPx}px between a label and its field, ${floor.itemGapPx}px between items, ${floor.leadingBody} body leading)`;
|
|
54
|
+
}
|
|
55
|
+
export const SPACING_FLOOR_MISSING = "This build's registry pin predates the spacing floor (mzizi-registry#617), so it has no spacing floor numbers to state. Bump the pin in registry.pin.json.";
|
|
56
|
+
/** How the floor is enforced and what to do about it: the same text on every surface that states it. */
|
|
57
|
+
export const SPACING_FLOOR_GUIDANCE = {
|
|
58
|
+
meaning: {
|
|
59
|
+
insetPx: "Padding between text and the edge of its container.",
|
|
60
|
+
controlGapPx: "Gap between adjacent interactive controls, visible edge to visible edge. Hit regions may touch, never overlap.",
|
|
61
|
+
labelGapPx: "Gap between a label and its field.",
|
|
62
|
+
itemGapPx: "Gap between sibling items in a list, grid or toolbar.",
|
|
63
|
+
leadingBody: "Body line height (WCAG 1.4.12). Headings keep their own leading.",
|
|
64
|
+
},
|
|
65
|
+
enforcement: "A base-layer rule in the registry's token layer gives every element the floor even when you add no padding or gap; the token test fails a component spec below it; each component contract asserts its spacing minimums (TypeScript and Rust agree); a rendered geometry guard checks neighbouring controls, text inset and WCAG 1.4.12 stress; `mzizi check` (@nyuchi/mzizi-cli 0.8.0 or later) fails a project's CSS or TSX that goes under it, and `mzizi_check_accessibility` checks values you pass it.",
|
|
66
|
+
nothingGoesUnder: "No brand pack, density layer, component or app may lower a floor. `data-mzizi-sizes=\"legacy\"` on the root is the one opt-out, and it steps out of the other Bundu floors too.",
|
|
67
|
+
whatToDo: "Use the components and the tokens (--inset-floor, --gap-floor, --leading-floor). Never write p-0, gap-0, a negative margin or leading-none on a text container or a row of controls without an exception comment: `mzizi-spacing-exempt: <reason>`.",
|
|
68
|
+
};
|
|
69
|
+
/** The floors of a registry, for the catalogue, `mzizi_mcp_describe` and `mzizi://tools`. */
|
|
70
|
+
export async function floorsOf(registry) {
|
|
71
|
+
return describeFloors((await registry()).getBrand().data);
|
|
72
|
+
}
|
|
73
|
+
/** The floors as `mzizi_get_tokens`, `mzizi_get_doctrine` and `mzizi_mcp_describe` state them. */
|
|
74
|
+
export function describeFloors(brand) {
|
|
75
|
+
const spacing = spacingFloorFrom(brand);
|
|
76
|
+
const a = (brand.accessibility ?? {});
|
|
77
|
+
const hitAreaPx = num(a.minTouchTarget);
|
|
78
|
+
if (!spacing) {
|
|
79
|
+
return { spacing: null, hitAreaPx: hitAreaPx ?? null, note: SPACING_FLOOR_MISSING };
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
spacing,
|
|
83
|
+
customProperties: SPACING_FLOOR_PROPERTIES,
|
|
84
|
+
hitAreaPx: hitAreaPx ?? null,
|
|
85
|
+
...SPACING_FLOOR_GUIDANCE,
|
|
86
|
+
source: "mzizi_get_tokens family=accessibility (brand.accessibility at the pinned registry commit; BUNDU_FLOOR.spacing in lib/tokens/roles.source.ts)",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/** Compare the values a caller states with the floor. Only the values given are checked. */
|
|
90
|
+
export function checkSpacing(floor, given) {
|
|
91
|
+
const rows = [];
|
|
92
|
+
const add = (name, value, minimum, unit) => {
|
|
93
|
+
if (value !== undefined)
|
|
94
|
+
rows.push({ name, value, minimum, unit, passes: value >= minimum });
|
|
95
|
+
};
|
|
96
|
+
add("inset", given.insetPx, floor.insetPx, "px");
|
|
97
|
+
add("controlGap", given.controlGapPx, floor.controlGapPx, "px");
|
|
98
|
+
add("labelGap", given.labelGapPx, floor.labelGapPx, "px");
|
|
99
|
+
add("itemGap", given.itemGapPx, floor.itemGapPx, "px");
|
|
100
|
+
add("leading", given.leading, floor.leadingBody, "ratio");
|
|
101
|
+
return { floor, checks: rows, meetsFloor: rows.every((r) => r.passes) };
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=floors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floors.js","sourceRoot":"","sources":["../src/floors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
export declare const REGISTRY_PIN: {
|
|
2
2
|
readonly repository: "https://github.com/mzizi-dev/mzizi-registry";
|
|
3
|
-
readonly ref: "
|
|
3
|
+
readonly ref: "1ac4f81a0571f0c820efd8bc8974f64e79a5c8db";
|
|
4
4
|
};
|
|
5
|
+
export declare const REGISTRY_SPACING_FLOOR: {
|
|
6
|
+
readonly insetPx: number;
|
|
7
|
+
readonly controlGapPx: number;
|
|
8
|
+
readonly labelGapPx: number;
|
|
9
|
+
readonly itemGapPx: number;
|
|
10
|
+
readonly leadingBody: number;
|
|
11
|
+
} | null;
|
|
5
12
|
//# sourceMappingURL=registry-pin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-pin.d.ts","sourceRoot":"","sources":["../../src/generated/registry-pin.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY;;;CAAyH,CAAA"}
|
|
1
|
+
{"version":3,"file":"registry-pin.d.ts","sourceRoot":"","sources":["../../src/generated/registry-pin.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY;;;CAAyH,CAAA;AAGlJ,eAAO,MAAM,sBAAsB,EAAE;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B,GAAG,IAAqF,CAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
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": "1ac4f81a0571f0c820efd8bc8974f64e79a5c8db" };
|
|
3
|
+
// The spacing floor the pinned registry states (brand accessibility.min*), or null when it predates the floor.
|
|
4
|
+
export const REGISTRY_SPACING_FLOOR = { "insetPx": 14, "controlGapPx": 7, "labelGapPx": 7, "itemGapPx": 7, "leadingBody": 1.5 };
|
|
3
5
|
//# sourceMappingURL=registry-pin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-pin.js","sourceRoot":"","sources":["../../src/generated/registry-pin.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,EAAC,YAAY,EAAC,6CAA6C,EAAC,KAAK,EAAC,0CAA0C,EAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"registry-pin.js","sourceRoot":"","sources":["../../src/generated/registry-pin.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,EAAC,YAAY,EAAC,6CAA6C,EAAC,KAAK,EAAC,0CAA0C,EAAU,CAAA;AAElJ,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAMxB,EAAC,SAAS,EAAC,EAAE,EAAC,cAAc,EAAC,CAAC,EAAC,YAAY,EAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,aAAa,EAAC,GAAG,EAAC,CAAA"}
|
|
@@ -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/
|
|
4
|
+
* The mzizi registry at https://github.com/mzizi-dev/mzizi-registry/tree/1ac4f81a0571f0c820efd8bc8974f64e79a5c8db
|
|
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: "
|
|
12
|
+
readonly ref: "1ac4f81a0571f0c820efd8bc8974f64e79a5c8db";
|
|
13
13
|
};
|
|
14
14
|
/** Whole-resource payloads, keyed by section. */
|
|
15
15
|
export declare const SECTIONS: Readonly<Record<string, string>>;
|