@homepages/template-kit 0.1.0 → 0.3.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 (111) hide show
  1. package/CHANGELOG.md +220 -0
  2. package/README.md +70 -16
  3. package/dist/base.css +36 -48
  4. package/dist/cli/check/config.js +37 -0
  5. package/dist/cli/check/css.js +117 -0
  6. package/dist/cli/check/diagnostics.js +32 -0
  7. package/dist/cli/check/index.js +87 -0
  8. package/dist/cli/check/loader.js +142 -0
  9. package/dist/cli/check/paths.js +15 -0
  10. package/dist/cli/check/relativize.js +18 -0
  11. package/dist/cli/check/render-invariants.js +24 -0
  12. package/dist/cli/check/resolve-tool.js +38 -0
  13. package/dist/cli/check/stages/deps.js +337 -0
  14. package/dist/cli/check/stages/lint.js +46 -0
  15. package/dist/cli/check/stages/render.js +101 -0
  16. package/dist/cli/check/stages/size.js +158 -0
  17. package/dist/cli/check/stages/tree.js +207 -0
  18. package/dist/cli/check/stages/typecheck.js +46 -0
  19. package/dist/cli/check/stages/validate/catalog-exhaustiveness.js +18 -0
  20. package/dist/cli/check/stages/validate/facts.js +18 -0
  21. package/dist/cli/check/stages/validate/formatter-contract.js +14 -0
  22. package/dist/cli/check/stages/validate/group-contract.js +21 -0
  23. package/dist/cli/check/stages/validate/index.js +66 -0
  24. package/dist/cli/check/stages/validate/list-scalar-contract.js +22 -0
  25. package/dist/cli/check/stages/validate/nav-contract.js +93 -0
  26. package/dist/cli/check/stages/validate/nested-slot-contract.js +12 -0
  27. package/dist/cli/check/stages/validate/object-list-contract.js +31 -0
  28. package/dist/cli/check/stages/validate/orchestrator.js +241 -0
  29. package/dist/cli/check/stages/validate/produced-by-contract.js +18 -0
  30. package/dist/cli/check/stages/validate/row-contract.js +31 -0
  31. package/dist/cli/check/stages/validate/select-contract.js +13 -0
  32. package/dist/cli/check/stages/validate/source-contract.js +21 -0
  33. package/dist/cli/check/stages/validate/variant-contract.js +15 -0
  34. package/dist/cli/check/workspace.js +86 -0
  35. package/dist/cli/theme/generate.js +43 -0
  36. package/dist/cli/theme/index.js +33 -0
  37. package/dist/cli/theme/load-theme.js +69 -0
  38. package/dist/cli.js +22 -4
  39. package/dist/contracts/fill-treatments.js +47 -0
  40. package/dist/design-system/theme.d.ts +30 -299
  41. package/dist/design-system/theme.js +112 -83
  42. package/dist/eslint/rules/image-bare-needs-reason.js +6 -1
  43. package/dist/eslint/rules/no-client-directive-in-contract.js +6 -1
  44. package/dist/eslint/rules/no-client-runtime-in-server.js +5 -1
  45. package/dist/eslint/rules/no-css-import-from-render-path.js +8 -2
  46. package/dist/eslint/rules/no-hex.js +84 -7
  47. package/dist/eslint/rules/no-inline-style.js +5 -1
  48. package/dist/eslint/rules/no-nondeterminism.js +5 -1
  49. package/dist/eslint/rules/no-raw-element.js +6 -1
  50. package/dist/eslint/rules/props-from-schema.js +6 -1
  51. package/dist/eslint/rules/serializable-island-props.js +5 -1
  52. package/dist/eslint/rules/slot-marker-literal.js +6 -1
  53. package/dist/eslint.js +1 -1
  54. package/dist/index.d.ts +2 -2
  55. package/dist/index.js +2 -2
  56. package/dist/package.js +1 -1
  57. package/dist/primitives/Image.js +1 -1
  58. package/dist/rules/registry.js +16 -0
  59. package/dist/schema/fill-spec.d.ts +80 -590
  60. package/dist/schema/fixture-schema.d.ts +5 -81
  61. package/dist/schema/manifest.d.ts +39 -475
  62. package/dist/schema/resolve-section-ref.js +10 -0
  63. package/dist/schema/rows.js +10 -0
  64. package/dist/schema/section-nav.js +9 -0
  65. package/dist/schema/section-schema.d.ts +51 -437
  66. package/dist/schema/slot-types.d.ts +12 -16
  67. package/dist/styles.css +31 -88
  68. package/docs/INDEX.md +5 -3
  69. package/docs/check.md +121 -0
  70. package/docs/eslint.md +25 -50
  71. package/docs/llms.txt +26 -11
  72. package/docs/primitives.md +5 -0
  73. package/docs/rules/INDEX.md +65 -0
  74. package/docs/rules/audit-severity.md +91 -0
  75. package/docs/rules/bundle-binary-asset.md +102 -0
  76. package/docs/rules/bundle-incomplete.md +117 -0
  77. package/docs/rules/css-reason.md +94 -0
  78. package/docs/rules/determinism-drift.md +112 -0
  79. package/docs/rules/fixtures-invalid.md +96 -0
  80. package/docs/rules/image-bare-needs-reason.md +117 -0
  81. package/docs/rules/license-denied.md +114 -0
  82. package/docs/rules/lockfile-missing.md +68 -0
  83. package/docs/rules/lockfile-stale.md +88 -0
  84. package/docs/rules/manifest-invalid.md +99 -0
  85. package/docs/rules/missing-slot-marker.md +140 -0
  86. package/docs/rules/no-bare-css-import.md +128 -0
  87. package/docs/rules/no-client-directive-in-contract.md +111 -0
  88. package/docs/rules/no-client-runtime-in-server.md +143 -0
  89. package/docs/rules/no-css-import-from-render-path.md +118 -0
  90. package/docs/rules/no-hex.md +163 -0
  91. package/docs/rules/no-inline-style.md +121 -0
  92. package/docs/rules/no-nondeterminism.md +100 -0
  93. package/docs/rules/no-raw-element.md +100 -0
  94. package/docs/rules/no-templates.md +87 -0
  95. package/docs/rules/parse-error.md +76 -0
  96. package/docs/rules/props-from-schema.md +119 -0
  97. package/docs/rules/render-invariant.md +165 -0
  98. package/docs/rules/schema-invalid.md +96 -0
  99. package/docs/rules/serializable-island-props.md +146 -0
  100. package/docs/rules/server-vs-client.md +105 -0
  101. package/docs/rules/sidebar-order.md +109 -0
  102. package/docs/rules/single-react.md +97 -0
  103. package/docs/rules/size-renderer-bundle.md +109 -0
  104. package/docs/rules/size-section-css.md +95 -0
  105. package/docs/rules/slot-group-marker.md +127 -0
  106. package/docs/rules/slot-marker-literal.md +148 -0
  107. package/docs/rules/typecheck.md +103 -0
  108. package/docs/rules/unlayered-fence.md +113 -0
  109. package/docs/theme-and-css.md +193 -82
  110. package/package.json +4 -9
  111. package/tsconfig.json +1 -1
@@ -0,0 +1,9 @@
1
+ //#region src/schema/section-nav.ts
2
+ function resolveAnchorMap(sections) {
3
+ const out = {};
4
+ for (const s of sections) out[s.key] = `#${s.anchor}`;
5
+ return out;
6
+ }
7
+
8
+ //#endregion
9
+ export { resolveAnchorMap };
@@ -7,149 +7,55 @@ import { OptionValue, SectionProps, SlotValue } from "./section-props.js";
7
7
  import { derived, direct } from "./source.js";
8
8
  import { z } from "zod";
9
9
  //#region src/schema/section-schema.d.ts
10
- declare const OptionDef: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
10
+ declare const OptionDef: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
11
  user_editable: z.ZodDefault<z.ZodBoolean>;
12
12
  template_overridable: z.ZodDefault<z.ZodBoolean>;
13
13
  planner_settable: z.ZodDefault<z.ZodBoolean>;
14
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
15
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
14
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
15
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
16
16
  type: z.ZodLiteral<"enum">;
17
- values: z.ZodArray<z.ZodString, "many">;
17
+ values: z.ZodArray<z.ZodString>;
18
18
  default: z.ZodString;
19
- }, "strict", z.ZodTypeAny, {
20
- type: "enum";
21
- values: string[];
22
- default: string;
23
- user_editable: boolean;
24
- template_overridable: boolean;
25
- planner_settable: boolean;
26
- affects_decisions: string[];
27
- affects_slots: string[];
28
- }, {
29
- type: "enum";
30
- values: string[];
31
- default: string;
32
- user_editable?: boolean | undefined;
33
- template_overridable?: boolean | undefined;
34
- planner_settable?: boolean | undefined;
35
- affects_decisions?: string[] | undefined;
36
- affects_slots?: string[] | undefined;
37
- }>, z.ZodObject<{
19
+ }, z.core.$strict>, z.ZodObject<{
38
20
  user_editable: z.ZodDefault<z.ZodBoolean>;
39
21
  template_overridable: z.ZodDefault<z.ZodBoolean>;
40
22
  planner_settable: z.ZodDefault<z.ZodBoolean>;
41
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
42
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
23
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
24
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
43
25
  type: z.ZodLiteral<"bool">;
44
26
  default: z.ZodBoolean;
45
- }, "strict", z.ZodTypeAny, {
46
- type: "bool";
47
- default: boolean;
48
- user_editable: boolean;
49
- template_overridable: boolean;
50
- planner_settable: boolean;
51
- affects_decisions: string[];
52
- affects_slots: string[];
53
- }, {
54
- type: "bool";
55
- default: boolean;
56
- user_editable?: boolean | undefined;
57
- template_overridable?: boolean | undefined;
58
- planner_settable?: boolean | undefined;
59
- affects_decisions?: string[] | undefined;
60
- affects_slots?: string[] | undefined;
61
- }>, z.ZodObject<{
27
+ }, z.core.$strict>, z.ZodObject<{
62
28
  user_editable: z.ZodDefault<z.ZodBoolean>;
63
29
  template_overridable: z.ZodDefault<z.ZodBoolean>;
64
30
  planner_settable: z.ZodDefault<z.ZodBoolean>;
65
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
66
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
31
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
32
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
67
33
  type: z.ZodLiteral<"int">;
68
34
  default: z.ZodNumber;
69
35
  min: z.ZodOptional<z.ZodNumber>;
70
36
  max: z.ZodOptional<z.ZodNumber>;
71
- }, "strict", z.ZodTypeAny, {
72
- type: "int";
73
- default: number;
74
- user_editable: boolean;
75
- template_overridable: boolean;
76
- planner_settable: boolean;
77
- affects_decisions: string[];
78
- affects_slots: string[];
79
- min?: number | undefined;
80
- max?: number | undefined;
81
- }, {
82
- type: "int";
83
- default: number;
84
- user_editable?: boolean | undefined;
85
- template_overridable?: boolean | undefined;
86
- planner_settable?: boolean | undefined;
87
- affects_decisions?: string[] | undefined;
88
- affects_slots?: string[] | undefined;
89
- min?: number | undefined;
90
- max?: number | undefined;
91
- }>, z.ZodObject<{
37
+ }, z.core.$strict>, z.ZodObject<{
92
38
  user_editable: z.ZodDefault<z.ZodBoolean>;
93
39
  template_overridable: z.ZodDefault<z.ZodBoolean>;
94
40
  planner_settable: z.ZodDefault<z.ZodBoolean>;
95
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
96
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
41
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
42
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
97
43
  type: z.ZodLiteral<"string">;
98
44
  default: z.ZodString;
99
- }, "strict", z.ZodTypeAny, {
100
- type: "string";
101
- default: string;
102
- user_editable: boolean;
103
- template_overridable: boolean;
104
- planner_settable: boolean;
105
- affects_decisions: string[];
106
- affects_slots: string[];
107
- }, {
108
- type: "string";
109
- default: string;
110
- user_editable?: boolean | undefined;
111
- template_overridable?: boolean | undefined;
112
- planner_settable?: boolean | undefined;
113
- affects_decisions?: string[] | undefined;
114
- affects_slots?: string[] | undefined;
115
- }>, z.ZodObject<{
45
+ }, z.core.$strict>, z.ZodObject<{
116
46
  user_editable: z.ZodDefault<z.ZodBoolean>;
117
47
  template_overridable: z.ZodDefault<z.ZodBoolean>;
118
48
  planner_settable: z.ZodDefault<z.ZodBoolean>;
119
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
120
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
49
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
50
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
121
51
  type: z.ZodLiteral<"json">;
122
52
  default: z.ZodUnknown;
123
- }, "strict", z.ZodTypeAny, {
124
- type: "json";
125
- user_editable: boolean;
126
- template_overridable: boolean;
127
- planner_settable: boolean;
128
- affects_decisions: string[];
129
- affects_slots: string[];
130
- default?: unknown;
131
- }, {
132
- type: "json";
133
- default?: unknown;
134
- user_editable?: boolean | undefined;
135
- template_overridable?: boolean | undefined;
136
- planner_settable?: boolean | undefined;
137
- affects_decisions?: string[] | undefined;
138
- affects_slots?: string[] | undefined;
139
- }>]>;
53
+ }, z.core.$strict>], "type">;
140
54
  declare const SlotGroupDef: z.ZodObject<{
141
55
  id: z.ZodString;
142
56
  label: z.ZodString;
143
- members: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>, "many">;
144
- }, "strict", z.ZodTypeAny, {
145
- label: string;
146
- id: string;
147
- members: (string | [string, string])[];
148
- }, {
149
- label: string;
150
- id: string;
151
- members: (string | [string, string])[];
152
- }>;
57
+ members: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>>;
58
+ }, z.core.$strict>;
153
59
  type SlotGroupDefShape = z.input<typeof SlotGroupDef>;
154
60
  declare const SectionMeta: z.ZodObject<{
155
61
  displayName: z.ZodString;
@@ -157,56 +63,14 @@ declare const SectionMeta: z.ZodObject<{
157
63
  groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
158
64
  id: z.ZodString;
159
65
  label: z.ZodString;
160
- members: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>, "many">;
161
- }, "strict", z.ZodTypeAny, {
162
- label: string;
163
- id: string;
164
- members: (string | [string, string])[];
165
- }, {
166
- label: string;
167
- id: string;
168
- members: (string | [string, string])[];
169
- }>, "many">>;
66
+ members: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>>;
67
+ }, z.core.$strict>>>;
170
68
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
171
- cases: z.ZodArray<z.ZodString, "many">;
69
+ cases: z.ZodArray<z.ZodString>;
172
70
  default: z.ZodString;
173
- select: z.ZodType<VariantSelectorFn, z.ZodTypeDef, VariantSelectorFn>;
174
- }, "strict", z.ZodTypeAny, {
175
- default: string;
176
- cases: string[];
177
- select: VariantSelectorFn;
178
- }, {
179
- default: string;
180
- cases: string[];
181
- select: VariantSelectorFn;
182
- }>>>;
183
- }, "strict", z.ZodTypeAny, {
184
- displayName: string;
185
- anchor?: string | undefined;
186
- groups?: {
187
- label: string;
188
- id: string;
189
- members: (string | [string, string])[];
190
- }[] | undefined;
191
- variants?: Record<string, {
192
- default: string;
193
- cases: string[];
194
- select: VariantSelectorFn;
195
- }> | undefined;
196
- }, {
197
- displayName: string;
198
- anchor?: string | undefined;
199
- groups?: {
200
- label: string;
201
- id: string;
202
- members: (string | [string, string])[];
203
- }[] | undefined;
204
- variants?: Record<string, {
205
- default: string;
206
- cases: string[];
207
- select: VariantSelectorFn;
208
- }> | undefined;
209
- }>;
71
+ select: z.ZodCustom<VariantSelectorFn, VariantSelectorFn>;
72
+ }, z.core.$strict>>>;
73
+ }, z.core.$strict>;
210
74
  type SectionMetaShape = z.input<typeof SectionMeta>;
211
75
  declare const SectionSchema: z.ZodObject<{
212
76
  meta: z.ZodObject<{
@@ -215,311 +79,61 @@ declare const SectionSchema: z.ZodObject<{
215
79
  groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
216
80
  id: z.ZodString;
217
81
  label: z.ZodString;
218
- members: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>, "many">;
219
- }, "strict", z.ZodTypeAny, {
220
- label: string;
221
- id: string;
222
- members: (string | [string, string])[];
223
- }, {
224
- label: string;
225
- id: string;
226
- members: (string | [string, string])[];
227
- }>, "many">>;
82
+ members: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>]>>;
83
+ }, z.core.$strict>>>;
228
84
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
229
- cases: z.ZodArray<z.ZodString, "many">;
85
+ cases: z.ZodArray<z.ZodString>;
230
86
  default: z.ZodString;
231
- select: z.ZodType<VariantSelectorFn, z.ZodTypeDef, VariantSelectorFn>;
232
- }, "strict", z.ZodTypeAny, {
233
- default: string;
234
- cases: string[];
235
- select: VariantSelectorFn;
236
- }, {
237
- default: string;
238
- cases: string[];
239
- select: VariantSelectorFn;
240
- }>>>;
241
- }, "strict", z.ZodTypeAny, {
242
- displayName: string;
243
- anchor?: string | undefined;
244
- groups?: {
245
- label: string;
246
- id: string;
247
- members: (string | [string, string])[];
248
- }[] | undefined;
249
- variants?: Record<string, {
250
- default: string;
251
- cases: string[];
252
- select: VariantSelectorFn;
253
- }> | undefined;
254
- }, {
255
- displayName: string;
256
- anchor?: string | undefined;
257
- groups?: {
258
- label: string;
259
- id: string;
260
- members: (string | [string, string])[];
261
- }[] | undefined;
262
- variants?: Record<string, {
263
- default: string;
264
- cases: string[];
265
- select: VariantSelectorFn;
266
- }> | undefined;
267
- }>;
268
- slots: z.ZodRecord<z.ZodString, z.ZodType<Slot, z.ZodTypeDef, Slot>>;
269
- options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
87
+ select: z.ZodCustom<VariantSelectorFn, VariantSelectorFn>;
88
+ }, z.core.$strict>>>;
89
+ }, z.core.$strict>;
90
+ slots: z.ZodRecord<z.ZodString, z.ZodType<Slot, unknown, z.core.$ZodTypeInternals<Slot, unknown>>>;
91
+ options: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
270
92
  user_editable: z.ZodDefault<z.ZodBoolean>;
271
93
  template_overridable: z.ZodDefault<z.ZodBoolean>;
272
94
  planner_settable: z.ZodDefault<z.ZodBoolean>;
273
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
274
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
95
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
96
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
275
97
  type: z.ZodLiteral<"enum">;
276
- values: z.ZodArray<z.ZodString, "many">;
98
+ values: z.ZodArray<z.ZodString>;
277
99
  default: z.ZodString;
278
- }, "strict", z.ZodTypeAny, {
279
- type: "enum";
280
- values: string[];
281
- default: string;
282
- user_editable: boolean;
283
- template_overridable: boolean;
284
- planner_settable: boolean;
285
- affects_decisions: string[];
286
- affects_slots: string[];
287
- }, {
288
- type: "enum";
289
- values: string[];
290
- default: string;
291
- user_editable?: boolean | undefined;
292
- template_overridable?: boolean | undefined;
293
- planner_settable?: boolean | undefined;
294
- affects_decisions?: string[] | undefined;
295
- affects_slots?: string[] | undefined;
296
- }>, z.ZodObject<{
100
+ }, z.core.$strict>, z.ZodObject<{
297
101
  user_editable: z.ZodDefault<z.ZodBoolean>;
298
102
  template_overridable: z.ZodDefault<z.ZodBoolean>;
299
103
  planner_settable: z.ZodDefault<z.ZodBoolean>;
300
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
301
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
104
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
105
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
302
106
  type: z.ZodLiteral<"bool">;
303
107
  default: z.ZodBoolean;
304
- }, "strict", z.ZodTypeAny, {
305
- type: "bool";
306
- default: boolean;
307
- user_editable: boolean;
308
- template_overridable: boolean;
309
- planner_settable: boolean;
310
- affects_decisions: string[];
311
- affects_slots: string[];
312
- }, {
313
- type: "bool";
314
- default: boolean;
315
- user_editable?: boolean | undefined;
316
- template_overridable?: boolean | undefined;
317
- planner_settable?: boolean | undefined;
318
- affects_decisions?: string[] | undefined;
319
- affects_slots?: string[] | undefined;
320
- }>, z.ZodObject<{
108
+ }, z.core.$strict>, z.ZodObject<{
321
109
  user_editable: z.ZodDefault<z.ZodBoolean>;
322
110
  template_overridable: z.ZodDefault<z.ZodBoolean>;
323
111
  planner_settable: z.ZodDefault<z.ZodBoolean>;
324
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
325
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
112
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
113
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
326
114
  type: z.ZodLiteral<"int">;
327
115
  default: z.ZodNumber;
328
116
  min: z.ZodOptional<z.ZodNumber>;
329
117
  max: z.ZodOptional<z.ZodNumber>;
330
- }, "strict", z.ZodTypeAny, {
331
- type: "int";
332
- default: number;
333
- user_editable: boolean;
334
- template_overridable: boolean;
335
- planner_settable: boolean;
336
- affects_decisions: string[];
337
- affects_slots: string[];
338
- min?: number | undefined;
339
- max?: number | undefined;
340
- }, {
341
- type: "int";
342
- default: number;
343
- user_editable?: boolean | undefined;
344
- template_overridable?: boolean | undefined;
345
- planner_settable?: boolean | undefined;
346
- affects_decisions?: string[] | undefined;
347
- affects_slots?: string[] | undefined;
348
- min?: number | undefined;
349
- max?: number | undefined;
350
- }>, z.ZodObject<{
118
+ }, z.core.$strict>, z.ZodObject<{
351
119
  user_editable: z.ZodDefault<z.ZodBoolean>;
352
120
  template_overridable: z.ZodDefault<z.ZodBoolean>;
353
121
  planner_settable: z.ZodDefault<z.ZodBoolean>;
354
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
355
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
122
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
123
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
356
124
  type: z.ZodLiteral<"string">;
357
125
  default: z.ZodString;
358
- }, "strict", z.ZodTypeAny, {
359
- type: "string";
360
- default: string;
361
- user_editable: boolean;
362
- template_overridable: boolean;
363
- planner_settable: boolean;
364
- affects_decisions: string[];
365
- affects_slots: string[];
366
- }, {
367
- type: "string";
368
- default: string;
369
- user_editable?: boolean | undefined;
370
- template_overridable?: boolean | undefined;
371
- planner_settable?: boolean | undefined;
372
- affects_decisions?: string[] | undefined;
373
- affects_slots?: string[] | undefined;
374
- }>, z.ZodObject<{
126
+ }, z.core.$strict>, z.ZodObject<{
375
127
  user_editable: z.ZodDefault<z.ZodBoolean>;
376
128
  template_overridable: z.ZodDefault<z.ZodBoolean>;
377
129
  planner_settable: z.ZodDefault<z.ZodBoolean>;
378
- affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
379
- affects_slots: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
130
+ affects_decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
131
+ affects_slots: z.ZodDefault<z.ZodArray<z.ZodString>>;
380
132
  type: z.ZodLiteral<"json">;
381
133
  default: z.ZodUnknown;
382
- }, "strict", z.ZodTypeAny, {
383
- type: "json";
384
- user_editable: boolean;
385
- template_overridable: boolean;
386
- planner_settable: boolean;
387
- affects_decisions: string[];
388
- affects_slots: string[];
389
- default?: unknown;
390
- }, {
391
- type: "json";
392
- default?: unknown;
393
- user_editable?: boolean | undefined;
394
- template_overridable?: boolean | undefined;
395
- planner_settable?: boolean | undefined;
396
- affects_decisions?: string[] | undefined;
397
- affects_slots?: string[] | undefined;
398
- }>]>>>;
399
- slot_order: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
400
- }, "strict", z.ZodTypeAny, {
401
- options: Record<string, {
402
- type: "enum";
403
- values: string[];
404
- default: string;
405
- user_editable: boolean;
406
- template_overridable: boolean;
407
- planner_settable: boolean;
408
- affects_decisions: string[];
409
- affects_slots: string[];
410
- } | {
411
- type: "bool";
412
- default: boolean;
413
- user_editable: boolean;
414
- template_overridable: boolean;
415
- planner_settable: boolean;
416
- affects_decisions: string[];
417
- affects_slots: string[];
418
- } | {
419
- type: "int";
420
- default: number;
421
- user_editable: boolean;
422
- template_overridable: boolean;
423
- planner_settable: boolean;
424
- affects_decisions: string[];
425
- affects_slots: string[];
426
- min?: number | undefined;
427
- max?: number | undefined;
428
- } | {
429
- type: "string";
430
- default: string;
431
- user_editable: boolean;
432
- template_overridable: boolean;
433
- planner_settable: boolean;
434
- affects_decisions: string[];
435
- affects_slots: string[];
436
- } | {
437
- type: "json";
438
- user_editable: boolean;
439
- template_overridable: boolean;
440
- planner_settable: boolean;
441
- affects_decisions: string[];
442
- affects_slots: string[];
443
- default?: unknown;
444
- }>;
445
- meta: {
446
- displayName: string;
447
- anchor?: string | undefined;
448
- groups?: {
449
- label: string;
450
- id: string;
451
- members: (string | [string, string])[];
452
- }[] | undefined;
453
- variants?: Record<string, {
454
- default: string;
455
- cases: string[];
456
- select: VariantSelectorFn;
457
- }> | undefined;
458
- };
459
- slots: Record<string, Slot>;
460
- slot_order?: string[] | undefined;
461
- }, {
462
- meta: {
463
- displayName: string;
464
- anchor?: string | undefined;
465
- groups?: {
466
- label: string;
467
- id: string;
468
- members: (string | [string, string])[];
469
- }[] | undefined;
470
- variants?: Record<string, {
471
- default: string;
472
- cases: string[];
473
- select: VariantSelectorFn;
474
- }> | undefined;
475
- };
476
- slots: Record<string, Slot>;
477
- options?: Record<string, {
478
- type: "enum";
479
- values: string[];
480
- default: string;
481
- user_editable?: boolean | undefined;
482
- template_overridable?: boolean | undefined;
483
- planner_settable?: boolean | undefined;
484
- affects_decisions?: string[] | undefined;
485
- affects_slots?: string[] | undefined;
486
- } | {
487
- type: "bool";
488
- default: boolean;
489
- user_editable?: boolean | undefined;
490
- template_overridable?: boolean | undefined;
491
- planner_settable?: boolean | undefined;
492
- affects_decisions?: string[] | undefined;
493
- affects_slots?: string[] | undefined;
494
- } | {
495
- type: "int";
496
- default: number;
497
- user_editable?: boolean | undefined;
498
- template_overridable?: boolean | undefined;
499
- planner_settable?: boolean | undefined;
500
- affects_decisions?: string[] | undefined;
501
- affects_slots?: string[] | undefined;
502
- min?: number | undefined;
503
- max?: number | undefined;
504
- } | {
505
- type: "string";
506
- default: string;
507
- user_editable?: boolean | undefined;
508
- template_overridable?: boolean | undefined;
509
- planner_settable?: boolean | undefined;
510
- affects_decisions?: string[] | undefined;
511
- affects_slots?: string[] | undefined;
512
- } | {
513
- type: "json";
514
- default?: unknown;
515
- user_editable?: boolean | undefined;
516
- template_overridable?: boolean | undefined;
517
- planner_settable?: boolean | undefined;
518
- affects_decisions?: string[] | undefined;
519
- affects_slots?: string[] | undefined;
520
- }> | undefined;
521
- slot_order?: string[] | undefined;
522
- }>;
134
+ }, z.core.$strict>], "type">>>;
135
+ slot_order: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
+ }, z.core.$strict>;
523
137
  type SectionSchemaShape = z.input<typeof SectionSchema>;
524
138
  type SectionSchemaResolved = Omit<z.infer<typeof SectionSchema>, "meta"> & {
525
139
  anchor: string;
@@ -9,27 +9,23 @@ declare const SLOT_TYPE_DESCRIPTORS: Record<SlotType, SlotTypeDescriptor>;
9
9
  declare const SlotDef: z.ZodType<Slot>;
10
10
  declare function slotDefTypes(): SlotType[];
11
11
  declare const ContentSlot: z.ZodObject<{
12
- type: z.ZodEnum<["text", "number", "select", "image", "image_collection", "list", "object_list", "poi_list", "url"]>;
12
+ type: z.ZodEnum<{
13
+ number: "number";
14
+ select: "select";
15
+ text: "text";
16
+ image: "image";
17
+ image_collection: "image_collection";
18
+ list: "list";
19
+ object_list: "object_list";
20
+ poi_list: "poi_list";
21
+ url: "url";
22
+ }>;
13
23
  editable_by_user: z.ZodDefault<z.ZodBoolean>;
14
24
  required: z.ZodDefault<z.ZodBoolean>;
15
25
  produced_by: z.ZodOptional<z.ZodString>;
16
26
  min: z.ZodOptional<z.ZodNumber>;
17
27
  max: z.ZodOptional<z.ZodNumber>;
18
- }, "strict", z.ZodTypeAny, {
19
- type: "number" | "select" | "text" | "image" | "image_collection" | "list" | "object_list" | "poi_list" | "url";
20
- required: boolean;
21
- editable_by_user: boolean;
22
- min?: number | undefined;
23
- max?: number | undefined;
24
- produced_by?: string | undefined;
25
- }, {
26
- type: "number" | "select" | "text" | "image" | "image_collection" | "list" | "object_list" | "poi_list" | "url";
27
- min?: number | undefined;
28
- max?: number | undefined;
29
- required?: boolean | undefined;
30
- editable_by_user?: boolean | undefined;
31
- produced_by?: string | undefined;
32
- }>;
28
+ }, z.core.$strict>;
33
29
  type SlotBase = {
34
30
  required?: boolean;
35
31
  editable_by_user?: boolean;