@kubuild/schema 0.0.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/document.d.ts +145 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/fixtures.d.ts +3 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/index.cjs +926 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +862 -0
- package/dist/index.js.map +1 -0
- package/dist/json-schema.d.ts +971 -0
- package/dist/json-schema.d.ts.map +1 -0
- package/dist/manifest.d.ts +28 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/template.d.ts +127 -0
- package/dist/template.d.ts.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,971 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard JSON Schema Draft-07 representation of stora.page Document v1
|
|
3
|
+
* Aligned 1:1 with TypeScript PageDocument type definition.
|
|
4
|
+
*/
|
|
5
|
+
export declare const PAGE_DOCUMENT_JSON_SCHEMA_V1: {
|
|
6
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
7
|
+
readonly $id: "https://schema.stora.page/v1/page.json";
|
|
8
|
+
readonly title: "StoraPageDocument";
|
|
9
|
+
readonly description: "Portable Web Page Document v1 schema definition for KUBUILD";
|
|
10
|
+
readonly type: "object";
|
|
11
|
+
readonly required: readonly ["schema", "version", "document"];
|
|
12
|
+
readonly additionalProperties: false;
|
|
13
|
+
readonly properties: {
|
|
14
|
+
readonly schema: {
|
|
15
|
+
readonly type: "string";
|
|
16
|
+
readonly const: "stora.page";
|
|
17
|
+
readonly description: "Identifies the document type format";
|
|
18
|
+
};
|
|
19
|
+
readonly version: {
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
22
|
+
readonly description: "Schema version of the document";
|
|
23
|
+
readonly default: "1.0.0";
|
|
24
|
+
};
|
|
25
|
+
readonly metadata: {
|
|
26
|
+
readonly $ref: "#/definitions/documentMetadata";
|
|
27
|
+
};
|
|
28
|
+
readonly document: {
|
|
29
|
+
readonly $ref: "#/definitions/rootPageNode";
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly definitions: {
|
|
33
|
+
readonly styleValue: {
|
|
34
|
+
readonly type: readonly ["string", "number", "boolean", "null"];
|
|
35
|
+
readonly description: "A CSS property or design token value";
|
|
36
|
+
};
|
|
37
|
+
readonly styleDefinition: {
|
|
38
|
+
readonly type: "object";
|
|
39
|
+
readonly additionalProperties: {
|
|
40
|
+
readonly $ref: "#/definitions/styleValue";
|
|
41
|
+
};
|
|
42
|
+
readonly description: "Key-value map of style properties";
|
|
43
|
+
};
|
|
44
|
+
readonly responsiveStyles: {
|
|
45
|
+
readonly type: "object";
|
|
46
|
+
readonly properties: {
|
|
47
|
+
readonly base: {
|
|
48
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
49
|
+
};
|
|
50
|
+
readonly desktop: {
|
|
51
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
52
|
+
};
|
|
53
|
+
readonly tablet: {
|
|
54
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
55
|
+
};
|
|
56
|
+
readonly mobile: {
|
|
57
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
readonly additionalProperties: {
|
|
61
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly assetReference: {
|
|
65
|
+
readonly type: "object";
|
|
66
|
+
readonly required: readonly ["type", "assetId"];
|
|
67
|
+
readonly properties: {
|
|
68
|
+
readonly type: {
|
|
69
|
+
readonly type: "string";
|
|
70
|
+
readonly const: "asset";
|
|
71
|
+
};
|
|
72
|
+
readonly assetId: {
|
|
73
|
+
readonly type: "string";
|
|
74
|
+
readonly minLength: 1;
|
|
75
|
+
};
|
|
76
|
+
readonly filename: {
|
|
77
|
+
readonly type: "string";
|
|
78
|
+
};
|
|
79
|
+
readonly mimeType: {
|
|
80
|
+
readonly type: "string";
|
|
81
|
+
};
|
|
82
|
+
readonly fallbackUrl: {
|
|
83
|
+
readonly type: "string";
|
|
84
|
+
readonly format: "uri";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
readonly additionalProperties: false;
|
|
88
|
+
};
|
|
89
|
+
readonly variableBinding: {
|
|
90
|
+
readonly type: "object";
|
|
91
|
+
readonly required: readonly ["type", "key"];
|
|
92
|
+
readonly properties: {
|
|
93
|
+
readonly type: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly const: "variable";
|
|
96
|
+
};
|
|
97
|
+
readonly key: {
|
|
98
|
+
readonly type: "string";
|
|
99
|
+
readonly minLength: 1;
|
|
100
|
+
};
|
|
101
|
+
readonly fallback: {};
|
|
102
|
+
};
|
|
103
|
+
readonly additionalProperties: false;
|
|
104
|
+
};
|
|
105
|
+
readonly actionBinding: {
|
|
106
|
+
readonly type: "object";
|
|
107
|
+
readonly required: readonly ["type"];
|
|
108
|
+
readonly properties: {
|
|
109
|
+
readonly type: {
|
|
110
|
+
readonly type: "string";
|
|
111
|
+
readonly minLength: 1;
|
|
112
|
+
};
|
|
113
|
+
readonly payload: {
|
|
114
|
+
readonly type: "object";
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
readonly additionalProperties: false;
|
|
118
|
+
};
|
|
119
|
+
readonly node: {
|
|
120
|
+
readonly type: "object";
|
|
121
|
+
readonly required: readonly ["id", "type"];
|
|
122
|
+
readonly properties: {
|
|
123
|
+
readonly id: {
|
|
124
|
+
readonly type: "string";
|
|
125
|
+
readonly minLength: 1;
|
|
126
|
+
readonly description: "Unique deterministic node identifier";
|
|
127
|
+
};
|
|
128
|
+
readonly type: {
|
|
129
|
+
readonly type: "string";
|
|
130
|
+
readonly minLength: 1;
|
|
131
|
+
readonly description: "Component type identifier";
|
|
132
|
+
};
|
|
133
|
+
readonly props: {
|
|
134
|
+
readonly type: "object";
|
|
135
|
+
readonly description: "Component props payload and bindings";
|
|
136
|
+
readonly default: {};
|
|
137
|
+
};
|
|
138
|
+
readonly styles: {
|
|
139
|
+
readonly $ref: "#/definitions/responsiveStyles";
|
|
140
|
+
};
|
|
141
|
+
readonly children: {
|
|
142
|
+
readonly type: "array";
|
|
143
|
+
readonly items: {
|
|
144
|
+
readonly $ref: "#/definitions/node";
|
|
145
|
+
};
|
|
146
|
+
readonly default: readonly [];
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
readonly additionalProperties: false;
|
|
150
|
+
};
|
|
151
|
+
readonly rootPageNode: {
|
|
152
|
+
readonly allOf: readonly [{
|
|
153
|
+
readonly $ref: "#/definitions/node";
|
|
154
|
+
}, {
|
|
155
|
+
readonly type: "object";
|
|
156
|
+
readonly properties: {
|
|
157
|
+
readonly type: {
|
|
158
|
+
readonly type: "string";
|
|
159
|
+
readonly const: "page";
|
|
160
|
+
readonly description: "The root node type must be \"page\"";
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
}];
|
|
164
|
+
};
|
|
165
|
+
readonly documentMetadata: {
|
|
166
|
+
readonly type: "object";
|
|
167
|
+
readonly required: readonly ["title"];
|
|
168
|
+
readonly properties: {
|
|
169
|
+
readonly title: {
|
|
170
|
+
readonly type: "string";
|
|
171
|
+
readonly minLength: 1;
|
|
172
|
+
readonly default: "Untitled Page";
|
|
173
|
+
};
|
|
174
|
+
readonly description: {
|
|
175
|
+
readonly type: "string";
|
|
176
|
+
readonly default: "";
|
|
177
|
+
};
|
|
178
|
+
readonly author: {
|
|
179
|
+
readonly type: "string";
|
|
180
|
+
readonly default: "";
|
|
181
|
+
};
|
|
182
|
+
readonly createdAt: {
|
|
183
|
+
readonly type: "string";
|
|
184
|
+
readonly format: "date-time";
|
|
185
|
+
};
|
|
186
|
+
readonly updatedAt: {
|
|
187
|
+
readonly type: "string";
|
|
188
|
+
readonly format: "date-time";
|
|
189
|
+
};
|
|
190
|
+
readonly tags: {
|
|
191
|
+
readonly type: "array";
|
|
192
|
+
readonly items: {
|
|
193
|
+
readonly type: "string";
|
|
194
|
+
};
|
|
195
|
+
readonly default: readonly [];
|
|
196
|
+
};
|
|
197
|
+
readonly category: {
|
|
198
|
+
readonly type: "string";
|
|
199
|
+
readonly default: "general";
|
|
200
|
+
};
|
|
201
|
+
readonly version: {
|
|
202
|
+
readonly type: "string";
|
|
203
|
+
readonly default: "1.0.0";
|
|
204
|
+
};
|
|
205
|
+
readonly custom: {
|
|
206
|
+
readonly type: "object";
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
readonly additionalProperties: false;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
export declare function getPageDocumentJsonSchema(): {
|
|
214
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
215
|
+
readonly $id: "https://schema.stora.page/v1/page.json";
|
|
216
|
+
readonly title: "StoraPageDocument";
|
|
217
|
+
readonly description: "Portable Web Page Document v1 schema definition for KUBUILD";
|
|
218
|
+
readonly type: "object";
|
|
219
|
+
readonly required: readonly ["schema", "version", "document"];
|
|
220
|
+
readonly additionalProperties: false;
|
|
221
|
+
readonly properties: {
|
|
222
|
+
readonly schema: {
|
|
223
|
+
readonly type: "string";
|
|
224
|
+
readonly const: "stora.page";
|
|
225
|
+
readonly description: "Identifies the document type format";
|
|
226
|
+
};
|
|
227
|
+
readonly version: {
|
|
228
|
+
readonly type: "string";
|
|
229
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
230
|
+
readonly description: "Schema version of the document";
|
|
231
|
+
readonly default: "1.0.0";
|
|
232
|
+
};
|
|
233
|
+
readonly metadata: {
|
|
234
|
+
readonly $ref: "#/definitions/documentMetadata";
|
|
235
|
+
};
|
|
236
|
+
readonly document: {
|
|
237
|
+
readonly $ref: "#/definitions/rootPageNode";
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
readonly definitions: {
|
|
241
|
+
readonly styleValue: {
|
|
242
|
+
readonly type: readonly ["string", "number", "boolean", "null"];
|
|
243
|
+
readonly description: "A CSS property or design token value";
|
|
244
|
+
};
|
|
245
|
+
readonly styleDefinition: {
|
|
246
|
+
readonly type: "object";
|
|
247
|
+
readonly additionalProperties: {
|
|
248
|
+
readonly $ref: "#/definitions/styleValue";
|
|
249
|
+
};
|
|
250
|
+
readonly description: "Key-value map of style properties";
|
|
251
|
+
};
|
|
252
|
+
readonly responsiveStyles: {
|
|
253
|
+
readonly type: "object";
|
|
254
|
+
readonly properties: {
|
|
255
|
+
readonly base: {
|
|
256
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
257
|
+
};
|
|
258
|
+
readonly desktop: {
|
|
259
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
260
|
+
};
|
|
261
|
+
readonly tablet: {
|
|
262
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
263
|
+
};
|
|
264
|
+
readonly mobile: {
|
|
265
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
readonly additionalProperties: {
|
|
269
|
+
readonly $ref: "#/definitions/styleDefinition";
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
readonly assetReference: {
|
|
273
|
+
readonly type: "object";
|
|
274
|
+
readonly required: readonly ["type", "assetId"];
|
|
275
|
+
readonly properties: {
|
|
276
|
+
readonly type: {
|
|
277
|
+
readonly type: "string";
|
|
278
|
+
readonly const: "asset";
|
|
279
|
+
};
|
|
280
|
+
readonly assetId: {
|
|
281
|
+
readonly type: "string";
|
|
282
|
+
readonly minLength: 1;
|
|
283
|
+
};
|
|
284
|
+
readonly filename: {
|
|
285
|
+
readonly type: "string";
|
|
286
|
+
};
|
|
287
|
+
readonly mimeType: {
|
|
288
|
+
readonly type: "string";
|
|
289
|
+
};
|
|
290
|
+
readonly fallbackUrl: {
|
|
291
|
+
readonly type: "string";
|
|
292
|
+
readonly format: "uri";
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
readonly additionalProperties: false;
|
|
296
|
+
};
|
|
297
|
+
readonly variableBinding: {
|
|
298
|
+
readonly type: "object";
|
|
299
|
+
readonly required: readonly ["type", "key"];
|
|
300
|
+
readonly properties: {
|
|
301
|
+
readonly type: {
|
|
302
|
+
readonly type: "string";
|
|
303
|
+
readonly const: "variable";
|
|
304
|
+
};
|
|
305
|
+
readonly key: {
|
|
306
|
+
readonly type: "string";
|
|
307
|
+
readonly minLength: 1;
|
|
308
|
+
};
|
|
309
|
+
readonly fallback: {};
|
|
310
|
+
};
|
|
311
|
+
readonly additionalProperties: false;
|
|
312
|
+
};
|
|
313
|
+
readonly actionBinding: {
|
|
314
|
+
readonly type: "object";
|
|
315
|
+
readonly required: readonly ["type"];
|
|
316
|
+
readonly properties: {
|
|
317
|
+
readonly type: {
|
|
318
|
+
readonly type: "string";
|
|
319
|
+
readonly minLength: 1;
|
|
320
|
+
};
|
|
321
|
+
readonly payload: {
|
|
322
|
+
readonly type: "object";
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
readonly additionalProperties: false;
|
|
326
|
+
};
|
|
327
|
+
readonly node: {
|
|
328
|
+
readonly type: "object";
|
|
329
|
+
readonly required: readonly ["id", "type"];
|
|
330
|
+
readonly properties: {
|
|
331
|
+
readonly id: {
|
|
332
|
+
readonly type: "string";
|
|
333
|
+
readonly minLength: 1;
|
|
334
|
+
readonly description: "Unique deterministic node identifier";
|
|
335
|
+
};
|
|
336
|
+
readonly type: {
|
|
337
|
+
readonly type: "string";
|
|
338
|
+
readonly minLength: 1;
|
|
339
|
+
readonly description: "Component type identifier";
|
|
340
|
+
};
|
|
341
|
+
readonly props: {
|
|
342
|
+
readonly type: "object";
|
|
343
|
+
readonly description: "Component props payload and bindings";
|
|
344
|
+
readonly default: {};
|
|
345
|
+
};
|
|
346
|
+
readonly styles: {
|
|
347
|
+
readonly $ref: "#/definitions/responsiveStyles";
|
|
348
|
+
};
|
|
349
|
+
readonly children: {
|
|
350
|
+
readonly type: "array";
|
|
351
|
+
readonly items: {
|
|
352
|
+
readonly $ref: "#/definitions/node";
|
|
353
|
+
};
|
|
354
|
+
readonly default: readonly [];
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
readonly additionalProperties: false;
|
|
358
|
+
};
|
|
359
|
+
readonly rootPageNode: {
|
|
360
|
+
readonly allOf: readonly [{
|
|
361
|
+
readonly $ref: "#/definitions/node";
|
|
362
|
+
}, {
|
|
363
|
+
readonly type: "object";
|
|
364
|
+
readonly properties: {
|
|
365
|
+
readonly type: {
|
|
366
|
+
readonly type: "string";
|
|
367
|
+
readonly const: "page";
|
|
368
|
+
readonly description: "The root node type must be \"page\"";
|
|
369
|
+
};
|
|
370
|
+
};
|
|
371
|
+
}];
|
|
372
|
+
};
|
|
373
|
+
readonly documentMetadata: {
|
|
374
|
+
readonly type: "object";
|
|
375
|
+
readonly required: readonly ["title"];
|
|
376
|
+
readonly properties: {
|
|
377
|
+
readonly title: {
|
|
378
|
+
readonly type: "string";
|
|
379
|
+
readonly minLength: 1;
|
|
380
|
+
readonly default: "Untitled Page";
|
|
381
|
+
};
|
|
382
|
+
readonly description: {
|
|
383
|
+
readonly type: "string";
|
|
384
|
+
readonly default: "";
|
|
385
|
+
};
|
|
386
|
+
readonly author: {
|
|
387
|
+
readonly type: "string";
|
|
388
|
+
readonly default: "";
|
|
389
|
+
};
|
|
390
|
+
readonly createdAt: {
|
|
391
|
+
readonly type: "string";
|
|
392
|
+
readonly format: "date-time";
|
|
393
|
+
};
|
|
394
|
+
readonly updatedAt: {
|
|
395
|
+
readonly type: "string";
|
|
396
|
+
readonly format: "date-time";
|
|
397
|
+
};
|
|
398
|
+
readonly tags: {
|
|
399
|
+
readonly type: "array";
|
|
400
|
+
readonly items: {
|
|
401
|
+
readonly type: "string";
|
|
402
|
+
};
|
|
403
|
+
readonly default: readonly [];
|
|
404
|
+
};
|
|
405
|
+
readonly category: {
|
|
406
|
+
readonly type: "string";
|
|
407
|
+
readonly default: "general";
|
|
408
|
+
};
|
|
409
|
+
readonly version: {
|
|
410
|
+
readonly type: "string";
|
|
411
|
+
readonly default: "1.0.0";
|
|
412
|
+
};
|
|
413
|
+
readonly custom: {
|
|
414
|
+
readonly type: "object";
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
readonly additionalProperties: false;
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
};
|
|
421
|
+
/**
|
|
422
|
+
* Standard JSON Schema Draft-07 representation of stora.page Package Manifest v1
|
|
423
|
+
* Aligned 1:1 with TypeScript Manifest type definition.
|
|
424
|
+
*/
|
|
425
|
+
export declare const MANIFEST_JSON_SCHEMA_V1: {
|
|
426
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
427
|
+
readonly $id: "https://schema.stora.page/v1/manifest.json";
|
|
428
|
+
readonly title: "StoraPackageManifest";
|
|
429
|
+
readonly description: "Portable Package Manifest v1 schema definition for KUBUILD (.stora)";
|
|
430
|
+
readonly type: "object";
|
|
431
|
+
readonly required: readonly ["schemaVersion", "packageVersion", "builderCompatibility", "requiredComponents", "requiredCapabilities", "assets"];
|
|
432
|
+
readonly additionalProperties: false;
|
|
433
|
+
readonly properties: {
|
|
434
|
+
readonly schema: {
|
|
435
|
+
readonly type: "string";
|
|
436
|
+
readonly const: "stora.page";
|
|
437
|
+
readonly description: "Schema identifier";
|
|
438
|
+
readonly default: "stora.page";
|
|
439
|
+
};
|
|
440
|
+
readonly schemaVersion: {
|
|
441
|
+
readonly type: "string";
|
|
442
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
443
|
+
readonly description: "Document schema version";
|
|
444
|
+
readonly default: "1.0.0";
|
|
445
|
+
};
|
|
446
|
+
readonly packageVersion: {
|
|
447
|
+
readonly type: "string";
|
|
448
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
449
|
+
readonly description: "Package version";
|
|
450
|
+
readonly default: "1.0.0";
|
|
451
|
+
};
|
|
452
|
+
readonly builderCompatibility: {
|
|
453
|
+
readonly type: "string";
|
|
454
|
+
readonly description: "Minimum or range of builder versions compatible with this package";
|
|
455
|
+
readonly default: ">=0.1.0";
|
|
456
|
+
};
|
|
457
|
+
readonly requiredComponents: {
|
|
458
|
+
readonly type: "array";
|
|
459
|
+
readonly items: {
|
|
460
|
+
readonly type: "string";
|
|
461
|
+
};
|
|
462
|
+
readonly description: "List of custom component types required by the page";
|
|
463
|
+
readonly default: readonly [];
|
|
464
|
+
};
|
|
465
|
+
readonly requiredCapabilities: {
|
|
466
|
+
readonly type: "array";
|
|
467
|
+
readonly items: {
|
|
468
|
+
readonly type: "string";
|
|
469
|
+
};
|
|
470
|
+
readonly description: "List of capabilities required by components in the page";
|
|
471
|
+
readonly default: readonly [];
|
|
472
|
+
};
|
|
473
|
+
readonly assets: {
|
|
474
|
+
readonly type: "array";
|
|
475
|
+
readonly items: {
|
|
476
|
+
readonly $ref: "#/definitions/manifestAssetItem";
|
|
477
|
+
};
|
|
478
|
+
readonly description: "Inventory of local assets packaged within the archive";
|
|
479
|
+
readonly default: readonly [];
|
|
480
|
+
};
|
|
481
|
+
readonly createdAt: {
|
|
482
|
+
readonly type: "string";
|
|
483
|
+
readonly format: "date-time";
|
|
484
|
+
readonly description: "ISO timestamp when the package was created";
|
|
485
|
+
};
|
|
486
|
+
};
|
|
487
|
+
readonly definitions: {
|
|
488
|
+
readonly manifestAssetItem: {
|
|
489
|
+
readonly type: "object";
|
|
490
|
+
readonly required: readonly ["id", "path", "mimeType", "size"];
|
|
491
|
+
readonly properties: {
|
|
492
|
+
readonly id: {
|
|
493
|
+
readonly type: "string";
|
|
494
|
+
readonly minLength: 1;
|
|
495
|
+
readonly description: "Unique asset identifier";
|
|
496
|
+
};
|
|
497
|
+
readonly path: {
|
|
498
|
+
readonly type: "string";
|
|
499
|
+
readonly minLength: 1;
|
|
500
|
+
readonly description: "Relative archive path to asset file (e.g. assets/hero.png)";
|
|
501
|
+
};
|
|
502
|
+
readonly mimeType: {
|
|
503
|
+
readonly type: "string";
|
|
504
|
+
readonly minLength: 1;
|
|
505
|
+
readonly description: "MIME type of the asset";
|
|
506
|
+
};
|
|
507
|
+
readonly size: {
|
|
508
|
+
readonly type: "number";
|
|
509
|
+
readonly minimum: 0;
|
|
510
|
+
readonly description: "Asset size in bytes";
|
|
511
|
+
};
|
|
512
|
+
readonly checksum: {
|
|
513
|
+
readonly type: "string";
|
|
514
|
+
readonly description: "SHA-256 or algorithm-prefixed checksum (e.g. sha256:...)";
|
|
515
|
+
};
|
|
516
|
+
};
|
|
517
|
+
readonly additionalProperties: false;
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
export declare function getManifestJsonSchema(): {
|
|
522
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
523
|
+
readonly $id: "https://schema.stora.page/v1/manifest.json";
|
|
524
|
+
readonly title: "StoraPackageManifest";
|
|
525
|
+
readonly description: "Portable Package Manifest v1 schema definition for KUBUILD (.stora)";
|
|
526
|
+
readonly type: "object";
|
|
527
|
+
readonly required: readonly ["schemaVersion", "packageVersion", "builderCompatibility", "requiredComponents", "requiredCapabilities", "assets"];
|
|
528
|
+
readonly additionalProperties: false;
|
|
529
|
+
readonly properties: {
|
|
530
|
+
readonly schema: {
|
|
531
|
+
readonly type: "string";
|
|
532
|
+
readonly const: "stora.page";
|
|
533
|
+
readonly description: "Schema identifier";
|
|
534
|
+
readonly default: "stora.page";
|
|
535
|
+
};
|
|
536
|
+
readonly schemaVersion: {
|
|
537
|
+
readonly type: "string";
|
|
538
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
539
|
+
readonly description: "Document schema version";
|
|
540
|
+
readonly default: "1.0.0";
|
|
541
|
+
};
|
|
542
|
+
readonly packageVersion: {
|
|
543
|
+
readonly type: "string";
|
|
544
|
+
readonly pattern: "^\\d+(\\.\\d+)*$";
|
|
545
|
+
readonly description: "Package version";
|
|
546
|
+
readonly default: "1.0.0";
|
|
547
|
+
};
|
|
548
|
+
readonly builderCompatibility: {
|
|
549
|
+
readonly type: "string";
|
|
550
|
+
readonly description: "Minimum or range of builder versions compatible with this package";
|
|
551
|
+
readonly default: ">=0.1.0";
|
|
552
|
+
};
|
|
553
|
+
readonly requiredComponents: {
|
|
554
|
+
readonly type: "array";
|
|
555
|
+
readonly items: {
|
|
556
|
+
readonly type: "string";
|
|
557
|
+
};
|
|
558
|
+
readonly description: "List of custom component types required by the page";
|
|
559
|
+
readonly default: readonly [];
|
|
560
|
+
};
|
|
561
|
+
readonly requiredCapabilities: {
|
|
562
|
+
readonly type: "array";
|
|
563
|
+
readonly items: {
|
|
564
|
+
readonly type: "string";
|
|
565
|
+
};
|
|
566
|
+
readonly description: "List of capabilities required by components in the page";
|
|
567
|
+
readonly default: readonly [];
|
|
568
|
+
};
|
|
569
|
+
readonly assets: {
|
|
570
|
+
readonly type: "array";
|
|
571
|
+
readonly items: {
|
|
572
|
+
readonly $ref: "#/definitions/manifestAssetItem";
|
|
573
|
+
};
|
|
574
|
+
readonly description: "Inventory of local assets packaged within the archive";
|
|
575
|
+
readonly default: readonly [];
|
|
576
|
+
};
|
|
577
|
+
readonly createdAt: {
|
|
578
|
+
readonly type: "string";
|
|
579
|
+
readonly format: "date-time";
|
|
580
|
+
readonly description: "ISO timestamp when the package was created";
|
|
581
|
+
};
|
|
582
|
+
};
|
|
583
|
+
readonly definitions: {
|
|
584
|
+
readonly manifestAssetItem: {
|
|
585
|
+
readonly type: "object";
|
|
586
|
+
readonly required: readonly ["id", "path", "mimeType", "size"];
|
|
587
|
+
readonly properties: {
|
|
588
|
+
readonly id: {
|
|
589
|
+
readonly type: "string";
|
|
590
|
+
readonly minLength: 1;
|
|
591
|
+
readonly description: "Unique asset identifier";
|
|
592
|
+
};
|
|
593
|
+
readonly path: {
|
|
594
|
+
readonly type: "string";
|
|
595
|
+
readonly minLength: 1;
|
|
596
|
+
readonly description: "Relative archive path to asset file (e.g. assets/hero.png)";
|
|
597
|
+
};
|
|
598
|
+
readonly mimeType: {
|
|
599
|
+
readonly type: "string";
|
|
600
|
+
readonly minLength: 1;
|
|
601
|
+
readonly description: "MIME type of the asset";
|
|
602
|
+
};
|
|
603
|
+
readonly size: {
|
|
604
|
+
readonly type: "number";
|
|
605
|
+
readonly minimum: 0;
|
|
606
|
+
readonly description: "Asset size in bytes";
|
|
607
|
+
};
|
|
608
|
+
readonly checksum: {
|
|
609
|
+
readonly type: "string";
|
|
610
|
+
readonly description: "SHA-256 or algorithm-prefixed checksum (e.g. sha256:...)";
|
|
611
|
+
};
|
|
612
|
+
};
|
|
613
|
+
readonly additionalProperties: false;
|
|
614
|
+
};
|
|
615
|
+
};
|
|
616
|
+
};
|
|
617
|
+
/**
|
|
618
|
+
* Standard JSON Schema Draft-07 representation of Template Record v1
|
|
619
|
+
* Aligned 1:1 with TypeScript TemplateRecord type definition.
|
|
620
|
+
*/
|
|
621
|
+
export declare const TEMPLATE_RECORD_JSON_SCHEMA_V1: {
|
|
622
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
623
|
+
readonly $id: "https://schema.stora.page/v1/template.json";
|
|
624
|
+
readonly title: "StoraTemplateRecord";
|
|
625
|
+
readonly description: "Reusable Page Template Record v1 schema definition for KUBUILD";
|
|
626
|
+
readonly type: "object";
|
|
627
|
+
readonly required: readonly ["id", "name"];
|
|
628
|
+
readonly additionalProperties: false;
|
|
629
|
+
readonly properties: {
|
|
630
|
+
readonly id: {
|
|
631
|
+
readonly type: "string";
|
|
632
|
+
readonly minLength: 1;
|
|
633
|
+
readonly description: "Unique template identifier";
|
|
634
|
+
};
|
|
635
|
+
readonly name: {
|
|
636
|
+
readonly type: "string";
|
|
637
|
+
readonly minLength: 1;
|
|
638
|
+
readonly description: "Human-readable name of the template";
|
|
639
|
+
};
|
|
640
|
+
readonly description: {
|
|
641
|
+
readonly type: "string";
|
|
642
|
+
readonly default: "";
|
|
643
|
+
readonly description: "Detailed description of the template purpose and contents";
|
|
644
|
+
};
|
|
645
|
+
readonly category: {
|
|
646
|
+
readonly type: "string";
|
|
647
|
+
readonly default: "general";
|
|
648
|
+
readonly description: "Template category grouping";
|
|
649
|
+
};
|
|
650
|
+
readonly tags: {
|
|
651
|
+
readonly type: "array";
|
|
652
|
+
readonly items: {
|
|
653
|
+
readonly type: "string";
|
|
654
|
+
};
|
|
655
|
+
readonly default: readonly [];
|
|
656
|
+
readonly description: "Search and filter tags";
|
|
657
|
+
};
|
|
658
|
+
readonly thumbnail: {
|
|
659
|
+
readonly oneOf: readonly [{
|
|
660
|
+
readonly $ref: "#/definitions/assetReference";
|
|
661
|
+
}, {
|
|
662
|
+
readonly $ref: "#/definitions/safeThumbnailObject";
|
|
663
|
+
}, {
|
|
664
|
+
readonly type: "string";
|
|
665
|
+
readonly minLength: 1;
|
|
666
|
+
}];
|
|
667
|
+
readonly description: "Safe preview image asset reference or URL";
|
|
668
|
+
};
|
|
669
|
+
readonly author: {
|
|
670
|
+
readonly type: "string";
|
|
671
|
+
readonly default: "";
|
|
672
|
+
readonly description: "Template creator or team";
|
|
673
|
+
};
|
|
674
|
+
readonly version: {
|
|
675
|
+
readonly type: "string";
|
|
676
|
+
readonly default: "1.0.0";
|
|
677
|
+
readonly description: "Semantic version of the template";
|
|
678
|
+
};
|
|
679
|
+
readonly document: {
|
|
680
|
+
readonly $ref: "https://schema.stora.page/v1/page.json#";
|
|
681
|
+
readonly description: "Embedded PageDocument snapshot (optional if packageReference provided)";
|
|
682
|
+
};
|
|
683
|
+
readonly packageReference: {
|
|
684
|
+
readonly $ref: "#/definitions/templatePackageRef";
|
|
685
|
+
readonly description: "External package/archive reference (optional if document provided)";
|
|
686
|
+
};
|
|
687
|
+
readonly requirements: {
|
|
688
|
+
readonly $ref: "#/definitions/templateRequirements";
|
|
689
|
+
readonly description: "Component and capability requirements for this template";
|
|
690
|
+
};
|
|
691
|
+
readonly createdAt: {
|
|
692
|
+
readonly type: "string";
|
|
693
|
+
readonly format: "date-time";
|
|
694
|
+
readonly description: "ISO creation timestamp";
|
|
695
|
+
};
|
|
696
|
+
readonly updatedAt: {
|
|
697
|
+
readonly type: "string";
|
|
698
|
+
readonly format: "date-time";
|
|
699
|
+
readonly description: "ISO last updated timestamp";
|
|
700
|
+
};
|
|
701
|
+
readonly custom: {
|
|
702
|
+
readonly type: "object";
|
|
703
|
+
readonly description: "Custom host-specific serializable metadata";
|
|
704
|
+
};
|
|
705
|
+
};
|
|
706
|
+
readonly definitions: {
|
|
707
|
+
readonly assetReference: {
|
|
708
|
+
readonly type: "object";
|
|
709
|
+
readonly required: readonly ["type", "assetId"];
|
|
710
|
+
readonly properties: {
|
|
711
|
+
readonly type: {
|
|
712
|
+
readonly type: "string";
|
|
713
|
+
readonly const: "asset";
|
|
714
|
+
};
|
|
715
|
+
readonly assetId: {
|
|
716
|
+
readonly type: "string";
|
|
717
|
+
readonly minLength: 1;
|
|
718
|
+
};
|
|
719
|
+
readonly filename: {
|
|
720
|
+
readonly type: "string";
|
|
721
|
+
};
|
|
722
|
+
readonly mimeType: {
|
|
723
|
+
readonly type: "string";
|
|
724
|
+
};
|
|
725
|
+
readonly fallbackUrl: {
|
|
726
|
+
readonly type: "string";
|
|
727
|
+
readonly format: "uri";
|
|
728
|
+
};
|
|
729
|
+
};
|
|
730
|
+
readonly additionalProperties: false;
|
|
731
|
+
};
|
|
732
|
+
readonly safeThumbnailObject: {
|
|
733
|
+
readonly type: "object";
|
|
734
|
+
readonly required: readonly ["url"];
|
|
735
|
+
readonly properties: {
|
|
736
|
+
readonly url: {
|
|
737
|
+
readonly type: "string";
|
|
738
|
+
readonly minLength: 1;
|
|
739
|
+
};
|
|
740
|
+
readonly alt: {
|
|
741
|
+
readonly type: "string";
|
|
742
|
+
};
|
|
743
|
+
readonly width: {
|
|
744
|
+
readonly type: "number";
|
|
745
|
+
readonly minimum: 1;
|
|
746
|
+
};
|
|
747
|
+
readonly height: {
|
|
748
|
+
readonly type: "number";
|
|
749
|
+
readonly minimum: 1;
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
readonly additionalProperties: false;
|
|
753
|
+
};
|
|
754
|
+
readonly templatePackageRef: {
|
|
755
|
+
readonly type: "object";
|
|
756
|
+
readonly properties: {
|
|
757
|
+
readonly path: {
|
|
758
|
+
readonly type: "string";
|
|
759
|
+
};
|
|
760
|
+
readonly url: {
|
|
761
|
+
readonly type: "string";
|
|
762
|
+
};
|
|
763
|
+
readonly checksum: {
|
|
764
|
+
readonly type: "string";
|
|
765
|
+
};
|
|
766
|
+
readonly format: {
|
|
767
|
+
readonly type: "string";
|
|
768
|
+
readonly enum: readonly ["stora", "json"];
|
|
769
|
+
readonly default: "stora";
|
|
770
|
+
};
|
|
771
|
+
};
|
|
772
|
+
readonly additionalProperties: false;
|
|
773
|
+
};
|
|
774
|
+
readonly templateRequirements: {
|
|
775
|
+
readonly type: "object";
|
|
776
|
+
readonly properties: {
|
|
777
|
+
readonly requiredComponents: {
|
|
778
|
+
readonly type: "array";
|
|
779
|
+
readonly items: {
|
|
780
|
+
readonly type: "string";
|
|
781
|
+
};
|
|
782
|
+
readonly default: readonly [];
|
|
783
|
+
};
|
|
784
|
+
readonly requiredCapabilities: {
|
|
785
|
+
readonly type: "array";
|
|
786
|
+
readonly items: {
|
|
787
|
+
readonly type: "string";
|
|
788
|
+
};
|
|
789
|
+
readonly default: readonly [];
|
|
790
|
+
};
|
|
791
|
+
};
|
|
792
|
+
readonly additionalProperties: false;
|
|
793
|
+
};
|
|
794
|
+
};
|
|
795
|
+
};
|
|
796
|
+
export declare function getTemplateRecordJsonSchema(): {
|
|
797
|
+
readonly $schema: "http://json-schema.org/draft-07/schema#";
|
|
798
|
+
readonly $id: "https://schema.stora.page/v1/template.json";
|
|
799
|
+
readonly title: "StoraTemplateRecord";
|
|
800
|
+
readonly description: "Reusable Page Template Record v1 schema definition for KUBUILD";
|
|
801
|
+
readonly type: "object";
|
|
802
|
+
readonly required: readonly ["id", "name"];
|
|
803
|
+
readonly additionalProperties: false;
|
|
804
|
+
readonly properties: {
|
|
805
|
+
readonly id: {
|
|
806
|
+
readonly type: "string";
|
|
807
|
+
readonly minLength: 1;
|
|
808
|
+
readonly description: "Unique template identifier";
|
|
809
|
+
};
|
|
810
|
+
readonly name: {
|
|
811
|
+
readonly type: "string";
|
|
812
|
+
readonly minLength: 1;
|
|
813
|
+
readonly description: "Human-readable name of the template";
|
|
814
|
+
};
|
|
815
|
+
readonly description: {
|
|
816
|
+
readonly type: "string";
|
|
817
|
+
readonly default: "";
|
|
818
|
+
readonly description: "Detailed description of the template purpose and contents";
|
|
819
|
+
};
|
|
820
|
+
readonly category: {
|
|
821
|
+
readonly type: "string";
|
|
822
|
+
readonly default: "general";
|
|
823
|
+
readonly description: "Template category grouping";
|
|
824
|
+
};
|
|
825
|
+
readonly tags: {
|
|
826
|
+
readonly type: "array";
|
|
827
|
+
readonly items: {
|
|
828
|
+
readonly type: "string";
|
|
829
|
+
};
|
|
830
|
+
readonly default: readonly [];
|
|
831
|
+
readonly description: "Search and filter tags";
|
|
832
|
+
};
|
|
833
|
+
readonly thumbnail: {
|
|
834
|
+
readonly oneOf: readonly [{
|
|
835
|
+
readonly $ref: "#/definitions/assetReference";
|
|
836
|
+
}, {
|
|
837
|
+
readonly $ref: "#/definitions/safeThumbnailObject";
|
|
838
|
+
}, {
|
|
839
|
+
readonly type: "string";
|
|
840
|
+
readonly minLength: 1;
|
|
841
|
+
}];
|
|
842
|
+
readonly description: "Safe preview image asset reference or URL";
|
|
843
|
+
};
|
|
844
|
+
readonly author: {
|
|
845
|
+
readonly type: "string";
|
|
846
|
+
readonly default: "";
|
|
847
|
+
readonly description: "Template creator or team";
|
|
848
|
+
};
|
|
849
|
+
readonly version: {
|
|
850
|
+
readonly type: "string";
|
|
851
|
+
readonly default: "1.0.0";
|
|
852
|
+
readonly description: "Semantic version of the template";
|
|
853
|
+
};
|
|
854
|
+
readonly document: {
|
|
855
|
+
readonly $ref: "https://schema.stora.page/v1/page.json#";
|
|
856
|
+
readonly description: "Embedded PageDocument snapshot (optional if packageReference provided)";
|
|
857
|
+
};
|
|
858
|
+
readonly packageReference: {
|
|
859
|
+
readonly $ref: "#/definitions/templatePackageRef";
|
|
860
|
+
readonly description: "External package/archive reference (optional if document provided)";
|
|
861
|
+
};
|
|
862
|
+
readonly requirements: {
|
|
863
|
+
readonly $ref: "#/definitions/templateRequirements";
|
|
864
|
+
readonly description: "Component and capability requirements for this template";
|
|
865
|
+
};
|
|
866
|
+
readonly createdAt: {
|
|
867
|
+
readonly type: "string";
|
|
868
|
+
readonly format: "date-time";
|
|
869
|
+
readonly description: "ISO creation timestamp";
|
|
870
|
+
};
|
|
871
|
+
readonly updatedAt: {
|
|
872
|
+
readonly type: "string";
|
|
873
|
+
readonly format: "date-time";
|
|
874
|
+
readonly description: "ISO last updated timestamp";
|
|
875
|
+
};
|
|
876
|
+
readonly custom: {
|
|
877
|
+
readonly type: "object";
|
|
878
|
+
readonly description: "Custom host-specific serializable metadata";
|
|
879
|
+
};
|
|
880
|
+
};
|
|
881
|
+
readonly definitions: {
|
|
882
|
+
readonly assetReference: {
|
|
883
|
+
readonly type: "object";
|
|
884
|
+
readonly required: readonly ["type", "assetId"];
|
|
885
|
+
readonly properties: {
|
|
886
|
+
readonly type: {
|
|
887
|
+
readonly type: "string";
|
|
888
|
+
readonly const: "asset";
|
|
889
|
+
};
|
|
890
|
+
readonly assetId: {
|
|
891
|
+
readonly type: "string";
|
|
892
|
+
readonly minLength: 1;
|
|
893
|
+
};
|
|
894
|
+
readonly filename: {
|
|
895
|
+
readonly type: "string";
|
|
896
|
+
};
|
|
897
|
+
readonly mimeType: {
|
|
898
|
+
readonly type: "string";
|
|
899
|
+
};
|
|
900
|
+
readonly fallbackUrl: {
|
|
901
|
+
readonly type: "string";
|
|
902
|
+
readonly format: "uri";
|
|
903
|
+
};
|
|
904
|
+
};
|
|
905
|
+
readonly additionalProperties: false;
|
|
906
|
+
};
|
|
907
|
+
readonly safeThumbnailObject: {
|
|
908
|
+
readonly type: "object";
|
|
909
|
+
readonly required: readonly ["url"];
|
|
910
|
+
readonly properties: {
|
|
911
|
+
readonly url: {
|
|
912
|
+
readonly type: "string";
|
|
913
|
+
readonly minLength: 1;
|
|
914
|
+
};
|
|
915
|
+
readonly alt: {
|
|
916
|
+
readonly type: "string";
|
|
917
|
+
};
|
|
918
|
+
readonly width: {
|
|
919
|
+
readonly type: "number";
|
|
920
|
+
readonly minimum: 1;
|
|
921
|
+
};
|
|
922
|
+
readonly height: {
|
|
923
|
+
readonly type: "number";
|
|
924
|
+
readonly minimum: 1;
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
readonly additionalProperties: false;
|
|
928
|
+
};
|
|
929
|
+
readonly templatePackageRef: {
|
|
930
|
+
readonly type: "object";
|
|
931
|
+
readonly properties: {
|
|
932
|
+
readonly path: {
|
|
933
|
+
readonly type: "string";
|
|
934
|
+
};
|
|
935
|
+
readonly url: {
|
|
936
|
+
readonly type: "string";
|
|
937
|
+
};
|
|
938
|
+
readonly checksum: {
|
|
939
|
+
readonly type: "string";
|
|
940
|
+
};
|
|
941
|
+
readonly format: {
|
|
942
|
+
readonly type: "string";
|
|
943
|
+
readonly enum: readonly ["stora", "json"];
|
|
944
|
+
readonly default: "stora";
|
|
945
|
+
};
|
|
946
|
+
};
|
|
947
|
+
readonly additionalProperties: false;
|
|
948
|
+
};
|
|
949
|
+
readonly templateRequirements: {
|
|
950
|
+
readonly type: "object";
|
|
951
|
+
readonly properties: {
|
|
952
|
+
readonly requiredComponents: {
|
|
953
|
+
readonly type: "array";
|
|
954
|
+
readonly items: {
|
|
955
|
+
readonly type: "string";
|
|
956
|
+
};
|
|
957
|
+
readonly default: readonly [];
|
|
958
|
+
};
|
|
959
|
+
readonly requiredCapabilities: {
|
|
960
|
+
readonly type: "array";
|
|
961
|
+
readonly items: {
|
|
962
|
+
readonly type: "string";
|
|
963
|
+
};
|
|
964
|
+
readonly default: readonly [];
|
|
965
|
+
};
|
|
966
|
+
};
|
|
967
|
+
readonly additionalProperties: false;
|
|
968
|
+
};
|
|
969
|
+
};
|
|
970
|
+
};
|
|
971
|
+
//# sourceMappingURL=json-schema.d.ts.map
|