@caelo-cms/shared 0.10.72 → 0.11.1
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/dist/ai-tools.d.ts +103 -142
- package/dist/ai-tools.d.ts.map +1 -1
- package/dist/ai-tools.js +79 -167
- package/dist/ai-tools.js.map +1 -1
- package/dist/build-page.d.ts +115 -35
- package/dist/build-page.d.ts.map +1 -1
- package/dist/build-page.js +31 -12
- package/dist/build-page.js.map +1 -1
- package/dist/content.d.ts +214 -102
- package/dist/content.d.ts.map +1 -1
- package/dist/content.js +219 -84
- package/dist/content.js.map +1 -1
- package/dist/css-scope-scan.js +1 -1
- package/dist/css-var-aliases.d.ts +20 -0
- package/dist/css-var-aliases.d.ts.map +1 -0
- package/dist/css-var-aliases.js +95 -0
- package/dist/css-var-aliases.js.map +1 -0
- package/dist/css-var-scan.d.ts +0 -16
- package/dist/css-var-scan.d.ts.map +1 -1
- package/dist/css-var-scan.js +24 -0
- package/dist/css-var-scan.js.map +1 -1
- package/dist/edit-markers.d.ts +41 -5
- package/dist/edit-markers.d.ts.map +1 -1
- package/dist/edit-markers.js +47 -50
- package/dist/edit-markers.js.map +1 -1
- package/dist/escaped-line-breaks.d.ts +44 -0
- package/dist/escaped-line-breaks.d.ts.map +1 -0
- package/dist/escaped-line-breaks.js +203 -0
- package/dist/escaped-line-breaks.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/interactions.js +6 -6
- package/dist/interactions.js.map +1 -1
- package/dist/link-canonicalise.d.ts.map +1 -1
- package/dist/link-canonicalise.js +7 -1
- package/dist/link-canonicalise.js.map +1 -1
- package/dist/link-refs.d.ts +1 -1
- package/dist/link-refs.js +3 -3
- package/dist/lists/address.d.ts +34 -0
- package/dist/lists/address.d.ts.map +1 -0
- package/dist/lists/address.js +43 -0
- package/dist/lists/address.js.map +1 -0
- package/dist/lists/default-types.d.ts +22 -0
- package/dist/lists/default-types.d.ts.map +1 -0
- package/dist/lists/default-types.js +127 -0
- package/dist/lists/default-types.js.map +1 -0
- package/dist/lists/fields.d.ts +152 -0
- package/dist/lists/fields.d.ts.map +1 -0
- package/dist/lists/fields.js +259 -0
- package/dist/lists/fields.js.map +1 -0
- package/dist/lists/index.d.ts +14 -0
- package/dist/lists/index.d.ts.map +1 -0
- package/dist/lists/index.js +15 -0
- package/dist/lists/index.js.map +1 -0
- package/dist/lists/item-attr.d.ts +26 -0
- package/dist/lists/item-attr.d.ts.map +1 -0
- package/dist/lists/item-attr.js +31 -0
- package/dist/lists/item-attr.js.map +1 -0
- package/dist/lists/items.d.ts +105 -0
- package/dist/lists/items.d.ts.map +1 -0
- package/dist/lists/items.js +304 -0
- package/dist/lists/items.js.map +1 -0
- package/dist/lists/list-type.d.ts +401 -0
- package/dist/lists/list-type.d.ts.map +1 -0
- package/dist/lists/list-type.js +275 -0
- package/dist/lists/list-type.js.map +1 -0
- package/dist/lists/model.d.ts +14 -0
- package/dist/lists/model.d.ts.map +1 -0
- package/dist/lists/model.js +15 -0
- package/dist/lists/model.js.map +1 -0
- package/dist/lists/page-type.d.ts +115 -0
- package/dist/lists/page-type.d.ts.map +1 -0
- package/dist/lists/page-type.js +66 -0
- package/dist/lists/page-type.js.map +1 -0
- package/dist/lists/refs.d.ts +13 -0
- package/dist/lists/refs.d.ts.map +1 -0
- package/dist/lists/refs.js +18 -0
- package/dist/lists/refs.js.map +1 -0
- package/dist/lists/render-data.d.ts +123 -0
- package/dist/lists/render-data.d.ts.map +1 -0
- package/dist/lists/render-data.js +3 -0
- package/dist/lists/render-data.js.map +1 -0
- package/dist/lists/render-deps.d.ts +69 -0
- package/dist/lists/render-deps.d.ts.map +1 -0
- package/dist/lists/render-deps.js +93 -0
- package/dist/lists/render-deps.js.map +1 -0
- package/dist/lists/resolve-values.d.ts +63 -0
- package/dist/lists/resolve-values.d.ts.map +1 -0
- package/dist/lists/resolve-values.js +181 -0
- package/dist/lists/resolve-values.js.map +1 -0
- package/dist/lists/resolve.d.ts +119 -0
- package/dist/lists/resolve.d.ts.map +1 -0
- package/dist/lists/resolve.js +970 -0
- package/dist/lists/resolve.js.map +1 -0
- package/dist/lists/scope.d.ts +81 -0
- package/dist/lists/scope.d.ts.map +1 -0
- package/dist/lists/scope.js +3 -0
- package/dist/lists/scope.js.map +1 -0
- package/dist/markup-structure.d.ts +8 -0
- package/dist/markup-structure.d.ts.map +1 -1
- package/dist/markup-structure.js +2 -0
- package/dist/markup-structure.js.map +1 -1
- package/dist/media.d.ts +1 -1
- package/dist/nested-module-render.d.ts +38 -20
- package/dist/nested-module-render.d.ts.map +1 -1
- package/dist/nested-module-render.js +156 -31
- package/dist/nested-module-render.js.map +1 -1
- package/dist/page-log.d.ts +1 -1
- package/dist/preview-compose.d.ts +24 -21
- package/dist/preview-compose.d.ts.map +1 -1
- package/dist/preview-compose.js +34 -118
- package/dist/preview-compose.js.map +1 -1
- package/dist/redirect-plan.d.ts +13 -0
- package/dist/redirect-plan.d.ts.map +1 -1
- package/dist/redirect-plan.js +22 -0
- package/dist/redirect-plan.js.map +1 -1
- package/dist/seo.d.ts +21 -0
- package/dist/seo.d.ts.map +1 -1
- package/dist/seo.js +32 -0
- package/dist/seo.js.map +1 -1
- package/dist/source-text-transport.d.ts +43 -0
- package/dist/source-text-transport.d.ts.map +1 -0
- package/dist/source-text-transport.js +79 -0
- package/dist/source-text-transport.js.map +1 -0
- package/dist/template-engine.d.ts +44 -31
- package/dist/template-engine.d.ts.map +1 -1
- package/dist/template-engine.js +75 -174
- package/dist/template-engine.js.map +1 -1
- package/dist/template-sections.d.ts +69 -0
- package/dist/template-sections.d.ts.map +1 -0
- package/dist/template-sections.js +436 -0
- package/dist/template-sections.js.map +1 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +8 -1
- package/src/__tests__/redos-hardening.test.ts +51 -16
- package/src/ai-tools-add-module-modes.test.ts +51 -1
- package/src/ai-tools.test.ts +7 -10
- package/src/ai-tools.ts +90 -180
- package/src/bug-intake.test.ts +1 -1
- package/src/build-page.test.ts +34 -3
- package/src/build-page.ts +34 -11
- package/src/content.test.ts +137 -4
- package/src/content.ts +230 -85
- package/src/css-scope-scan.ts +1 -1
- package/src/css-var-aliases.test.ts +61 -0
- package/src/css-var-aliases.ts +109 -0
- package/src/css-var-scan.ts +9 -0
- package/src/edit-markers.test.ts +37 -21
- package/src/edit-markers.ts +52 -20
- package/src/escaped-line-breaks.ts +221 -0
- package/src/index.ts +4 -1
- package/src/interactions.ts +6 -6
- package/src/link-canonicalise.test.ts +36 -6
- package/src/link-canonicalise.ts +6 -1
- package/src/link-refs.test.ts +67 -42
- package/src/link-refs.ts +3 -3
- package/src/lists/address.ts +75 -0
- package/src/lists/default-types.ts +141 -0
- package/src/lists/fields.ts +286 -0
- package/src/lists/index.ts +16 -0
- package/src/lists/item-attr.test.ts +36 -0
- package/src/lists/item-attr.ts +49 -0
- package/src/lists/items.ts +402 -0
- package/src/lists/list-fixtures.test.ts +308 -0
- package/src/lists/list-type.ts +306 -0
- package/src/lists/lists.test.ts +328 -0
- package/src/lists/model.ts +16 -0
- package/src/lists/page-type.ts +71 -0
- package/src/lists/refs.ts +21 -0
- package/src/lists/render-data.ts +134 -0
- package/src/lists/render-deps.test.ts +132 -0
- package/src/lists/render-deps.ts +147 -0
- package/src/lists/resolve-values.ts +224 -0
- package/src/lists/resolve.test.ts +472 -0
- package/src/lists/resolve.ts +1246 -0
- package/src/lists/scope.ts +69 -0
- package/src/lists-compose-parity.test.ts +262 -0
- package/src/markup-structure.ts +10 -0
- package/src/nested-module-render.test.ts +147 -74
- package/src/nested-module-render.ts +120 -48
- package/src/preview-compose.test.ts +55 -19
- package/src/preview-compose.ts +59 -154
- package/src/redirect-plan.test.ts +25 -0
- package/src/redirect-plan.ts +24 -0
- package/src/seo.test.ts +58 -0
- package/src/seo.ts +49 -0
- package/src/source-text-transport.test.ts +158 -0
- package/src/source-text-transport.ts +81 -0
- package/src/template-engine-lists.test.ts +608 -0
- package/src/template-engine.test.ts +62 -80
- package/src/template-engine.ts +102 -245
- package/src/template-sections.ts +514 -0
- package/src/version.ts +1 -1
- package/dist/structured-sets.d.ts +0 -70
- package/dist/structured-sets.d.ts.map +0 -1
- package/dist/structured-sets.js +0 -92
- package/dist/structured-sets.js.map +0 -1
- package/src/structured-sets.ts +0 -114
- package/src/template-engine-data-lists.test.ts +0 -90
package/dist/content.d.ts
CHANGED
|
@@ -51,6 +51,31 @@ export declare const MODULE_CSS_MAX: number;
|
|
|
51
51
|
export declare const MODULE_JS_MAX: number;
|
|
52
52
|
export declare const TEMPLATE_HTML_MAX: number;
|
|
53
53
|
export declare const TEMPLATE_CSS_MAX: number;
|
|
54
|
+
/**
|
|
55
|
+
* Code payloads a model sometimes corrupts before they reach us, both seen
|
|
56
|
+
* in PR #1121's real-AI runs and stored verbatim before this guard:
|
|
57
|
+
* - JSON-encoded: the whole value wrapped in quotes with `\"` escapes
|
|
58
|
+
* (`"<footer class=\"x\">…"`) — the page showed literal quotes;
|
|
59
|
+
* - HTML-escaped markup: `<div><caelo-slot …` with no real tag
|
|
60
|
+
* — a template without a single slot, so it had no blocks at all.
|
|
61
|
+
* Refusing at the write boundary with the fix turns a broken render the
|
|
62
|
+
* AI only notices from a screenshot into one corrected call (CLAUDE.md
|
|
63
|
+
* §2, §11; same reasoning as the CDATA guard below). AI tool arguments
|
|
64
|
+
* never reach this in that shape: `sourceTextArg` decodes both encodings
|
|
65
|
+
* first (`source-text-transport.ts`); this guards every other writer.
|
|
66
|
+
*/
|
|
67
|
+
export declare function jsonEncodedCodeMessage(field: string, value: string): string | null;
|
|
68
|
+
/** See {@link jsonEncodedCodeMessage}: markup sent HTML-escaped. */
|
|
69
|
+
export declare function htmlEscapedMarkupMessage(field: string, value: string): string | null;
|
|
70
|
+
/**
|
|
71
|
+
* See {@link jsonEncodedCodeMessage}: source whose line breaks arrived as
|
|
72
|
+
* literal `\n` sequences (`hasEscapedLineBreaks`) — the page shows the
|
|
73
|
+
* `\n` text and the CSS rules after it break. AI tool arguments are decoded
|
|
74
|
+
* first (`decodeEscapedLineBreaks`); this guards every other writer. Module
|
|
75
|
+
* js is checked by parsing it (admin-core `module-js-syntax.ts`), which
|
|
76
|
+
* catches this and every other syntax error.
|
|
77
|
+
*/
|
|
78
|
+
export declare function escapedLineBreaksMessage(field: "html" | "css", value: string): string | null;
|
|
54
79
|
/**
|
|
55
80
|
* v0.4.0 — module field schema. Each field declares one substitution slot in
|
|
56
81
|
* the module's templated HTML (`{{fieldName}}`) and the kind of content it
|
|
@@ -75,28 +100,28 @@ export declare const TEMPLATE_CSS_MAX: number;
|
|
|
75
100
|
*/
|
|
76
101
|
export declare const MODULE_FIELD_PRIMITIVE_KINDS: readonly ["text", "richtext", "url", "image", "number", "boolean", "link"];
|
|
77
102
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
103
|
+
* Epic #1107 — the data-list field kind (`docs/lists.md` §7). One kind
|
|
104
|
+
* for every repeated piece of data: feature bullets, a footer link group,
|
|
105
|
+
* a three-level menu, a mega dropdown, a "latest news" block. The entry
|
|
106
|
+
* shape comes from a LIST TYPE (`listType`, a slug); the entries come from
|
|
107
|
+
* the field's binding:
|
|
82
108
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
109
|
+
* - `local` (default) — entries stored in the placement's value
|
|
110
|
+
* (`ListItem[]`), only this module shows them;
|
|
111
|
+
* - `shared` — a `caelo:list/<id>` list, fixed on the field (`list`) or
|
|
112
|
+
* chosen per placement; navigation and anything needed in
|
|
113
|
+
* more than one place;
|
|
114
|
+
* - `source` — entries generated per page from `source` (a page query,
|
|
115
|
+
* a system source like breadcrumbs, a plugin source).
|
|
87
116
|
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* For lists with richer per-item structure (cards with image + title
|
|
93
|
-
* + body + CTA), use `module-list` pointing at a sub-module — that's
|
|
94
|
-
* what nested modules are for.
|
|
117
|
+
* The template iterates `{{#field}}…{{/field}}` the same way for every
|
|
118
|
+
* binding. `module-list` stays: it composes modules, lists carry data.
|
|
119
|
+
* Replaces the `text-list` / `link-list` kinds.
|
|
95
120
|
*/
|
|
96
|
-
export declare const MODULE_FIELD_LIST_KINDS: readonly ["
|
|
121
|
+
export declare const MODULE_FIELD_LIST_KINDS: readonly ["list"];
|
|
97
122
|
export declare const MODULE_FIELD_NESTED_KINDS: readonly ["module", "module-list"];
|
|
98
|
-
/**
|
|
99
|
-
export declare const MODULE_FIELD_KINDS: readonly ["text", "richtext", "url", "image", "number", "boolean", "link", "
|
|
123
|
+
/** Every module field kind. */
|
|
124
|
+
export declare const MODULE_FIELD_KINDS: readonly ["text", "richtext", "url", "image", "number", "boolean", "link", "list", "module", "module-list"];
|
|
100
125
|
/**
|
|
101
126
|
* Canonical union of every field kind — used by callers that need to
|
|
102
127
|
* type a single `kind` field (e.g. the shared template engine's
|
|
@@ -106,12 +131,11 @@ export declare const MODULE_FIELD_KINDS: readonly ["text", "richtext", "url", "i
|
|
|
106
131
|
export type ModuleFieldKind = (typeof MODULE_FIELD_KINDS)[number];
|
|
107
132
|
/**
|
|
108
133
|
* Field kinds the shared template engine iterates via the
|
|
109
|
-
* `{{#name}}…{{/name}}` Mustache-section operator
|
|
110
|
-
* list
|
|
111
|
-
*
|
|
112
|
-
* keys off it (`packages/shared/src/template-engine.ts`).
|
|
134
|
+
* `{{#name}}…{{/name}}` Mustache-section operator (`list` and
|
|
135
|
+
* `module-list`); the engine's section-dispatch keys off it
|
|
136
|
+
* (`packages/shared/src/template-engine.ts`).
|
|
113
137
|
*/
|
|
114
|
-
export declare const MODULE_FIELD_SECTION_KINDS: readonly ["
|
|
138
|
+
export declare const MODULE_FIELD_SECTION_KINDS: readonly ["list", "module-list"];
|
|
115
139
|
export declare const moduleFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
116
140
|
name: z.ZodString;
|
|
117
141
|
kind: z.ZodEnum<{
|
|
@@ -119,29 +143,66 @@ export declare const moduleFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
119
143
|
boolean: "boolean";
|
|
120
144
|
text: "text";
|
|
121
145
|
richtext: "richtext";
|
|
146
|
+
link: "link";
|
|
122
147
|
url: "url";
|
|
123
148
|
image: "image";
|
|
124
|
-
link: "link";
|
|
125
149
|
}>;
|
|
126
150
|
label: z.ZodString;
|
|
127
151
|
default: z.ZodOptional<z.ZodUnknown>;
|
|
128
152
|
}, z.core.$strict>, z.ZodObject<{
|
|
129
153
|
name: z.ZodString;
|
|
130
|
-
kind: z.ZodLiteral<"
|
|
131
|
-
label: z.ZodString;
|
|
132
|
-
min: z.ZodOptional<z.ZodNumber>;
|
|
133
|
-
max: z.ZodOptional<z.ZodNumber>;
|
|
134
|
-
default: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
135
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
136
|
-
name: z.ZodString;
|
|
137
|
-
kind: z.ZodLiteral<"link-list">;
|
|
154
|
+
kind: z.ZodLiteral<"list">;
|
|
138
155
|
label: z.ZodString;
|
|
156
|
+
listType: z.ZodString;
|
|
157
|
+
bind: z.ZodOptional<z.ZodEnum<{
|
|
158
|
+
source: "source";
|
|
159
|
+
local: "local";
|
|
160
|
+
shared: "shared";
|
|
161
|
+
}>>;
|
|
162
|
+
list: z.ZodOptional<z.ZodString>;
|
|
163
|
+
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
164
|
+
kind: z.ZodLiteral<"query">;
|
|
165
|
+
editable: z.ZodArray<z.ZodEnum<{
|
|
166
|
+
page_type: "page_type";
|
|
167
|
+
terms: "terms";
|
|
168
|
+
terms_mode: "terms_mode";
|
|
169
|
+
parent: "parent";
|
|
170
|
+
exclude_current: "exclude_current";
|
|
171
|
+
order: "order";
|
|
172
|
+
limit: "limit";
|
|
173
|
+
}>>;
|
|
174
|
+
defaults: z.ZodObject<{
|
|
175
|
+
page_type: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
176
|
+
terms: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
177
|
+
terms_mode: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
any: "any";
|
|
179
|
+
all: "all";
|
|
180
|
+
}>>>;
|
|
181
|
+
parent: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
182
|
+
exclude_current: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
183
|
+
order: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
184
|
+
published_desc: "published_desc";
|
|
185
|
+
published_asc: "published_asc";
|
|
186
|
+
title_asc: "title_asc";
|
|
187
|
+
}>, z.ZodString]>>;
|
|
188
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
}, z.core.$strict>;
|
|
190
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
191
|
+
kind: z.ZodLiteral<"system">;
|
|
192
|
+
name: z.ZodEnum<{
|
|
193
|
+
breadcrumbs: "breadcrumbs";
|
|
194
|
+
children: "children";
|
|
195
|
+
siblings: "siblings";
|
|
196
|
+
page_terms: "page_terms";
|
|
197
|
+
term_pages: "term_pages";
|
|
198
|
+
}>;
|
|
199
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
200
|
+
kind: z.ZodLiteral<"plugin">;
|
|
201
|
+
name: z.ZodString;
|
|
202
|
+
}, z.core.$strict>], "kind">>;
|
|
139
203
|
min: z.ZodOptional<z.ZodNumber>;
|
|
140
204
|
max: z.ZodOptional<z.ZodNumber>;
|
|
141
|
-
default: z.ZodOptional<z.ZodArray<z.
|
|
142
|
-
label: z.ZodString;
|
|
143
|
-
href: z.ZodString;
|
|
144
|
-
}, z.core.$strict>>>;
|
|
205
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodType<import("./index.js").ListItemInput, unknown, z.core.$ZodTypeInternals<import("./index.js").ListItemInput, unknown>>>, z.ZodString]>>;
|
|
145
206
|
}, z.core.$strict>, z.ZodObject<{
|
|
146
207
|
name: z.ZodString;
|
|
147
208
|
kind: z.ZodLiteral<"module">;
|
|
@@ -173,9 +234,9 @@ export type ModuleRef = z.infer<typeof moduleRefSchema>;
|
|
|
173
234
|
*/
|
|
174
235
|
export declare const MODULE_KINDS: readonly ["chrome", "hero", "content", "cta", "utility"];
|
|
175
236
|
export declare const moduleKindSchema: z.ZodEnum<{
|
|
237
|
+
content: "content";
|
|
176
238
|
chrome: "chrome";
|
|
177
239
|
hero: "hero";
|
|
178
|
-
content: "content";
|
|
179
240
|
cta: "cta";
|
|
180
241
|
utility: "utility";
|
|
181
242
|
}>;
|
|
@@ -185,9 +246,9 @@ export declare const moduleCreateSchema: z.ZodObject<{
|
|
|
185
246
|
displayName: z.ZodString;
|
|
186
247
|
description: z.ZodDefault<z.ZodString>;
|
|
187
248
|
kind: z.ZodDefault<z.ZodEnum<{
|
|
249
|
+
content: "content";
|
|
188
250
|
chrome: "chrome";
|
|
189
251
|
hero: "hero";
|
|
190
|
-
content: "content";
|
|
191
252
|
cta: "cta";
|
|
192
253
|
utility: "utility";
|
|
193
254
|
}>>;
|
|
@@ -202,29 +263,66 @@ export declare const moduleCreateSchema: z.ZodObject<{
|
|
|
202
263
|
boolean: "boolean";
|
|
203
264
|
text: "text";
|
|
204
265
|
richtext: "richtext";
|
|
266
|
+
link: "link";
|
|
205
267
|
url: "url";
|
|
206
268
|
image: "image";
|
|
207
|
-
link: "link";
|
|
208
269
|
}>;
|
|
209
270
|
label: z.ZodString;
|
|
210
271
|
default: z.ZodOptional<z.ZodUnknown>;
|
|
211
272
|
}, z.core.$strict>, z.ZodObject<{
|
|
212
273
|
name: z.ZodString;
|
|
213
|
-
kind: z.ZodLiteral<"
|
|
214
|
-
label: z.ZodString;
|
|
215
|
-
min: z.ZodOptional<z.ZodNumber>;
|
|
216
|
-
max: z.ZodOptional<z.ZodNumber>;
|
|
217
|
-
default: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
218
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
219
|
-
name: z.ZodString;
|
|
220
|
-
kind: z.ZodLiteral<"link-list">;
|
|
274
|
+
kind: z.ZodLiteral<"list">;
|
|
221
275
|
label: z.ZodString;
|
|
276
|
+
listType: z.ZodString;
|
|
277
|
+
bind: z.ZodOptional<z.ZodEnum<{
|
|
278
|
+
source: "source";
|
|
279
|
+
local: "local";
|
|
280
|
+
shared: "shared";
|
|
281
|
+
}>>;
|
|
282
|
+
list: z.ZodOptional<z.ZodString>;
|
|
283
|
+
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
284
|
+
kind: z.ZodLiteral<"query">;
|
|
285
|
+
editable: z.ZodArray<z.ZodEnum<{
|
|
286
|
+
page_type: "page_type";
|
|
287
|
+
terms: "terms";
|
|
288
|
+
terms_mode: "terms_mode";
|
|
289
|
+
parent: "parent";
|
|
290
|
+
exclude_current: "exclude_current";
|
|
291
|
+
order: "order";
|
|
292
|
+
limit: "limit";
|
|
293
|
+
}>>;
|
|
294
|
+
defaults: z.ZodObject<{
|
|
295
|
+
page_type: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
296
|
+
terms: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
297
|
+
terms_mode: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
298
|
+
any: "any";
|
|
299
|
+
all: "all";
|
|
300
|
+
}>>>;
|
|
301
|
+
parent: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
302
|
+
exclude_current: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
303
|
+
order: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
304
|
+
published_desc: "published_desc";
|
|
305
|
+
published_asc: "published_asc";
|
|
306
|
+
title_asc: "title_asc";
|
|
307
|
+
}>, z.ZodString]>>;
|
|
308
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
309
|
+
}, z.core.$strict>;
|
|
310
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
311
|
+
kind: z.ZodLiteral<"system">;
|
|
312
|
+
name: z.ZodEnum<{
|
|
313
|
+
breadcrumbs: "breadcrumbs";
|
|
314
|
+
children: "children";
|
|
315
|
+
siblings: "siblings";
|
|
316
|
+
page_terms: "page_terms";
|
|
317
|
+
term_pages: "term_pages";
|
|
318
|
+
}>;
|
|
319
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
320
|
+
kind: z.ZodLiteral<"plugin">;
|
|
321
|
+
name: z.ZodString;
|
|
322
|
+
}, z.core.$strict>], "kind">>;
|
|
222
323
|
min: z.ZodOptional<z.ZodNumber>;
|
|
223
324
|
max: z.ZodOptional<z.ZodNumber>;
|
|
224
|
-
default: z.ZodOptional<z.ZodArray<z.
|
|
225
|
-
label: z.ZodString;
|
|
226
|
-
href: z.ZodString;
|
|
227
|
-
}, z.core.$strict>>>;
|
|
325
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodType<import("./index.js").ListItemInput, unknown, z.core.$ZodTypeInternals<import("./index.js").ListItemInput, unknown>>>, z.ZodString]>>;
|
|
228
326
|
}, z.core.$strict>, z.ZodObject<{
|
|
229
327
|
name: z.ZodString;
|
|
230
328
|
kind: z.ZodLiteral<"module">;
|
|
@@ -244,9 +342,9 @@ export declare const moduleUpdateSchema: z.ZodObject<{
|
|
|
244
342
|
displayName: z.ZodOptional<z.ZodString>;
|
|
245
343
|
description: z.ZodOptional<z.ZodString>;
|
|
246
344
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
345
|
+
content: "content";
|
|
247
346
|
chrome: "chrome";
|
|
248
347
|
hero: "hero";
|
|
249
|
-
content: "content";
|
|
250
348
|
cta: "cta";
|
|
251
349
|
utility: "utility";
|
|
252
350
|
}>>;
|
|
@@ -261,29 +359,66 @@ export declare const moduleUpdateSchema: z.ZodObject<{
|
|
|
261
359
|
boolean: "boolean";
|
|
262
360
|
text: "text";
|
|
263
361
|
richtext: "richtext";
|
|
362
|
+
link: "link";
|
|
264
363
|
url: "url";
|
|
265
364
|
image: "image";
|
|
266
|
-
link: "link";
|
|
267
365
|
}>;
|
|
268
366
|
label: z.ZodString;
|
|
269
367
|
default: z.ZodOptional<z.ZodUnknown>;
|
|
270
368
|
}, z.core.$strict>, z.ZodObject<{
|
|
271
369
|
name: z.ZodString;
|
|
272
|
-
kind: z.ZodLiteral<"
|
|
273
|
-
label: z.ZodString;
|
|
274
|
-
min: z.ZodOptional<z.ZodNumber>;
|
|
275
|
-
max: z.ZodOptional<z.ZodNumber>;
|
|
276
|
-
default: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
277
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
278
|
-
name: z.ZodString;
|
|
279
|
-
kind: z.ZodLiteral<"link-list">;
|
|
370
|
+
kind: z.ZodLiteral<"list">;
|
|
280
371
|
label: z.ZodString;
|
|
372
|
+
listType: z.ZodString;
|
|
373
|
+
bind: z.ZodOptional<z.ZodEnum<{
|
|
374
|
+
source: "source";
|
|
375
|
+
local: "local";
|
|
376
|
+
shared: "shared";
|
|
377
|
+
}>>;
|
|
378
|
+
list: z.ZodOptional<z.ZodString>;
|
|
379
|
+
source: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
380
|
+
kind: z.ZodLiteral<"query">;
|
|
381
|
+
editable: z.ZodArray<z.ZodEnum<{
|
|
382
|
+
page_type: "page_type";
|
|
383
|
+
terms: "terms";
|
|
384
|
+
terms_mode: "terms_mode";
|
|
385
|
+
parent: "parent";
|
|
386
|
+
exclude_current: "exclude_current";
|
|
387
|
+
order: "order";
|
|
388
|
+
limit: "limit";
|
|
389
|
+
}>>;
|
|
390
|
+
defaults: z.ZodObject<{
|
|
391
|
+
page_type: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
392
|
+
terms: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
393
|
+
terms_mode: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
394
|
+
any: "any";
|
|
395
|
+
all: "all";
|
|
396
|
+
}>>>;
|
|
397
|
+
parent: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
398
|
+
exclude_current: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
399
|
+
order: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
400
|
+
published_desc: "published_desc";
|
|
401
|
+
published_asc: "published_asc";
|
|
402
|
+
title_asc: "title_asc";
|
|
403
|
+
}>, z.ZodString]>>;
|
|
404
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
405
|
+
}, z.core.$strict>;
|
|
406
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
407
|
+
kind: z.ZodLiteral<"system">;
|
|
408
|
+
name: z.ZodEnum<{
|
|
409
|
+
breadcrumbs: "breadcrumbs";
|
|
410
|
+
children: "children";
|
|
411
|
+
siblings: "siblings";
|
|
412
|
+
page_terms: "page_terms";
|
|
413
|
+
term_pages: "term_pages";
|
|
414
|
+
}>;
|
|
415
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
416
|
+
kind: z.ZodLiteral<"plugin">;
|
|
417
|
+
name: z.ZodString;
|
|
418
|
+
}, z.core.$strict>], "kind">>;
|
|
281
419
|
min: z.ZodOptional<z.ZodNumber>;
|
|
282
420
|
max: z.ZodOptional<z.ZodNumber>;
|
|
283
|
-
default: z.ZodOptional<z.ZodArray<z.
|
|
284
|
-
label: z.ZodString;
|
|
285
|
-
href: z.ZodString;
|
|
286
|
-
}, z.core.$strict>>>;
|
|
421
|
+
default: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodType<import("./index.js").ListItemInput, unknown, z.core.$ZodTypeInternals<import("./index.js").ListItemInput, unknown>>>, z.ZodString]>>;
|
|
287
422
|
}, z.core.$strict>, z.ZodObject<{
|
|
288
423
|
name: z.ZodString;
|
|
289
424
|
kind: z.ZodLiteral<"module">;
|
|
@@ -298,35 +433,12 @@ export declare const moduleUpdateSchema: z.ZodObject<{
|
|
|
298
433
|
max: z.ZodOptional<z.ZodNumber>;
|
|
299
434
|
}, z.core.$strict>], "kind">>>;
|
|
300
435
|
}, z.core.$strict>;
|
|
301
|
-
/**
|
|
302
|
-
|
|
303
|
-
* Constrained by templates_kind_check in migration 0096. Surfaced
|
|
304
|
-
* in the AI's `## Pages` block so the AI sees three modules-on-
|
|
305
|
-
* product-pages as a pattern. See CLAUDE.md §1A.
|
|
306
|
-
*/
|
|
307
|
-
export declare const TEMPLATE_KINDS: readonly ["home", "landing", "product", "blog", "doc", "content", "utility"];
|
|
308
|
-
export declare const templateKindSchema: z.ZodEnum<{
|
|
309
|
-
content: "content";
|
|
310
|
-
utility: "utility";
|
|
311
|
-
home: "home";
|
|
312
|
-
landing: "landing";
|
|
313
|
-
product: "product";
|
|
314
|
-
blog: "blog";
|
|
315
|
-
doc: "doc";
|
|
316
|
-
}>;
|
|
317
|
-
export type TemplateKind = (typeof TEMPLATE_KINDS)[number];
|
|
436
|
+
/** A page type slug (epic #1107, docs/lists.md §5). */
|
|
437
|
+
export declare const pageTypeSlugSchema: z.ZodString;
|
|
318
438
|
export declare const templateCreateSchema: z.ZodObject<{
|
|
319
439
|
slug: z.ZodString;
|
|
320
440
|
displayName: z.ZodString;
|
|
321
|
-
|
|
322
|
-
content: "content";
|
|
323
|
-
utility: "utility";
|
|
324
|
-
home: "home";
|
|
325
|
-
landing: "landing";
|
|
326
|
-
product: "product";
|
|
327
|
-
blog: "blog";
|
|
328
|
-
doc: "doc";
|
|
329
|
-
}>>;
|
|
441
|
+
pageType: z.ZodOptional<z.ZodString>;
|
|
330
442
|
html: z.ZodString;
|
|
331
443
|
css: z.ZodDefault<z.ZodString>;
|
|
332
444
|
layoutId: z.ZodOptional<z.ZodString>;
|
|
@@ -344,15 +456,7 @@ export declare const templateBlockSchema: z.ZodObject<{
|
|
|
344
456
|
export declare const templateUpdateSchema: z.ZodObject<{
|
|
345
457
|
templateId: z.ZodString;
|
|
346
458
|
displayName: z.ZodOptional<z.ZodString>;
|
|
347
|
-
|
|
348
|
-
content: "content";
|
|
349
|
-
utility: "utility";
|
|
350
|
-
home: "home";
|
|
351
|
-
landing: "landing";
|
|
352
|
-
product: "product";
|
|
353
|
-
blog: "blog";
|
|
354
|
-
doc: "doc";
|
|
355
|
-
}>>;
|
|
459
|
+
pageType: z.ZodOptional<z.ZodString>;
|
|
356
460
|
html: z.ZodOptional<z.ZodString>;
|
|
357
461
|
css: z.ZodOptional<z.ZodString>;
|
|
358
462
|
layoutId: z.ZodOptional<z.ZodString>;
|
|
@@ -374,6 +478,8 @@ export declare const pageStatusSchema: z.ZodEnum<{
|
|
|
374
478
|
draft: "draft";
|
|
375
479
|
published: "published";
|
|
376
480
|
}>;
|
|
481
|
+
/** `pages.short_title` (#1142): a crumb-sized public label, never blank. */
|
|
482
|
+
export declare const pageShortTitleSchema: z.ZodString;
|
|
377
483
|
/**
|
|
378
484
|
* Page payloads are `.strict()` — passing an `html` field is rejected by Zod
|
|
379
485
|
* before the handler runs. This is the §3.1 "no raw HTML on pages" invariant
|
|
@@ -382,14 +488,17 @@ export declare const pageStatusSchema: z.ZodEnum<{
|
|
|
382
488
|
*/
|
|
383
489
|
export declare const pageCreateSchema: z.ZodObject<{
|
|
384
490
|
slug: z.ZodString;
|
|
385
|
-
name: z.ZodOptional<z.ZodString>;
|
|
386
491
|
title: z.ZodString;
|
|
492
|
+
shortTitle: z.ZodOptional<z.ZodString>;
|
|
387
493
|
templateId: z.ZodOptional<z.ZodString>;
|
|
388
494
|
status: z.ZodOptional<z.ZodEnum<{
|
|
389
495
|
draft: "draft";
|
|
390
496
|
published: "published";
|
|
391
497
|
}>>;
|
|
392
498
|
parentPageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
499
|
+
pageType: z.ZodOptional<z.ZodString>;
|
|
500
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
501
|
+
terms: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
393
502
|
}, z.core.$strict>;
|
|
394
503
|
/**
|
|
395
504
|
* 0263 — `pages.move_many`: reparent pages (their whole subtrees move
|
|
@@ -414,8 +523,8 @@ export declare const pagesMoveManySchema: z.ZodObject<{
|
|
|
414
523
|
export declare const pageUpdateSchema: z.ZodObject<{
|
|
415
524
|
pageId: z.ZodString;
|
|
416
525
|
expectedVersion: z.ZodOptional<z.ZodNumber>;
|
|
417
|
-
name: z.ZodOptional<z.ZodString>;
|
|
418
526
|
title: z.ZodOptional<z.ZodString>;
|
|
527
|
+
shortTitle: z.ZodOptional<z.ZodString>;
|
|
419
528
|
slug: z.ZodOptional<z.ZodString>;
|
|
420
529
|
templateId: z.ZodOptional<z.ZodString>;
|
|
421
530
|
status: z.ZodOptional<z.ZodEnum<{
|
|
@@ -426,6 +535,9 @@ export declare const pageUpdateSchema: z.ZodObject<{
|
|
|
426
535
|
auto: "auto";
|
|
427
536
|
skip: "skip";
|
|
428
537
|
}>>;
|
|
538
|
+
pageType: z.ZodOptional<z.ZodString>;
|
|
539
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
540
|
+
terms: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
429
541
|
}, z.core.$strict>;
|
|
430
542
|
export declare const pageSetModulesSchema: z.ZodObject<{
|
|
431
543
|
pageId: z.ZodString;
|
package/dist/content.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
|