@kumwe/studio-core 0.1.0-alpha.10

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -0
  3. package/THIRD_PARTY_NOTICES.md +9 -0
  4. package/dist/binding-projection.d.ts +47 -0
  5. package/dist/binding-projection.d.ts.map +1 -0
  6. package/dist/binding-projection.js +253 -0
  7. package/dist/binding-projection.js.map +1 -0
  8. package/dist/canonical.d.ts +20 -0
  9. package/dist/canonical.d.ts.map +1 -0
  10. package/dist/canonical.js +100 -0
  11. package/dist/canonical.js.map +1 -0
  12. package/dist/clone.d.ts +2 -0
  13. package/dist/clone.d.ts.map +1 -0
  14. package/dist/clone.js +4 -0
  15. package/dist/clone.js.map +1 -0
  16. package/dist/commands.d.ts +18 -0
  17. package/dist/commands.d.ts.map +1 -0
  18. package/dist/commands.js +799 -0
  19. package/dist/commands.js.map +1 -0
  20. package/dist/contributions.d.ts +93 -0
  21. package/dist/contributions.d.ts.map +1 -0
  22. package/dist/contributions.js +435 -0
  23. package/dist/contributions.js.map +1 -0
  24. package/dist/entry-commands.d.ts +3 -0
  25. package/dist/entry-commands.d.ts.map +1 -0
  26. package/dist/entry-commands.js +36 -0
  27. package/dist/entry-commands.js.map +1 -0
  28. package/dist/extension-sdk.d.ts +51 -0
  29. package/dist/extension-sdk.d.ts.map +1 -0
  30. package/dist/extension-sdk.js +260 -0
  31. package/dist/extension-sdk.js.map +1 -0
  32. package/dist/history.d.ts +22 -0
  33. package/dist/history.d.ts.map +1 -0
  34. package/dist/history.js +81 -0
  35. package/dist/history.js.map +1 -0
  36. package/dist/host-session.d.ts +74 -0
  37. package/dist/host-session.d.ts.map +1 -0
  38. package/dist/host-session.js +713 -0
  39. package/dist/host-session.js.map +1 -0
  40. package/dist/index.d.ts +23 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +23 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/layout.d.ts +66 -0
  45. package/dist/layout.d.ts.map +1 -0
  46. package/dist/layout.js +240 -0
  47. package/dist/layout.js.map +1 -0
  48. package/dist/migrations.d.ts +47 -0
  49. package/dist/migrations.d.ts.map +1 -0
  50. package/dist/migrations.js +83 -0
  51. package/dist/migrations.js.map +1 -0
  52. package/dist/model-commands.d.ts +3 -0
  53. package/dist/model-commands.d.ts.map +1 -0
  54. package/dist/model-commands.js +21 -0
  55. package/dist/model-commands.js.map +1 -0
  56. package/dist/modes.d.ts +47 -0
  57. package/dist/modes.d.ts.map +1 -0
  58. package/dist/modes.js +280 -0
  59. package/dist/modes.js.map +1 -0
  60. package/dist/negotiation.d.ts +23 -0
  61. package/dist/negotiation.d.ts.map +1 -0
  62. package/dist/negotiation.js +65 -0
  63. package/dist/negotiation.js.map +1 -0
  64. package/dist/production-values.d.ts +12 -0
  65. package/dist/production-values.d.ts.map +1 -0
  66. package/dist/production-values.js +224 -0
  67. package/dist/production-values.js.map +1 -0
  68. package/dist/production.d.ts +86 -0
  69. package/dist/production.d.ts.map +1 -0
  70. package/dist/production.js +811 -0
  71. package/dist/production.js.map +1 -0
  72. package/dist/profile-validator.d.ts +47 -0
  73. package/dist/profile-validator.d.ts.map +1 -0
  74. package/dist/profile-validator.js +887 -0
  75. package/dist/profile-validator.js.map +1 -0
  76. package/dist/recipes.d.ts +15 -0
  77. package/dist/recipes.d.ts.map +1 -0
  78. package/dist/recipes.js +34 -0
  79. package/dist/recipes.js.map +1 -0
  80. package/dist/registry.d.ts +17 -0
  81. package/dist/registry.d.ts.map +1 -0
  82. package/dist/registry.js +56 -0
  83. package/dist/registry.js.map +1 -0
  84. package/dist/schema-profile.d.ts +27 -0
  85. package/dist/schema-profile.d.ts.map +1 -0
  86. package/dist/schema-profile.js +1015 -0
  87. package/dist/schema-profile.js.map +1 -0
  88. package/dist/semver.d.ts +20 -0
  89. package/dist/semver.d.ts.map +1 -0
  90. package/dist/semver.js +128 -0
  91. package/dist/semver.js.map +1 -0
  92. package/dist/session.d.ts +73 -0
  93. package/dist/session.d.ts.map +1 -0
  94. package/dist/session.js +191 -0
  95. package/dist/session.js.map +1 -0
  96. package/dist/url-policy.d.ts +45 -0
  97. package/dist/url-policy.d.ts.map +1 -0
  98. package/dist/url-policy.js +248 -0
  99. package/dist/url-policy.js.map +1 -0
  100. package/dist/validation.d.ts +13 -0
  101. package/dist/validation.d.ts.map +1 -0
  102. package/dist/validation.js +444 -0
  103. package/dist/validation.js.map +1 -0
  104. package/package.json +41 -0
@@ -0,0 +1,224 @@
1
+ const CHART_TYPES = new Set(['bar', 'doughnut', 'line', 'pie']);
2
+ const MONEY_AMOUNT = /^-?(?:0|[1-9][0-9]{0,17})(?:\.[0-9]{1,6})?$/u;
3
+ const CURRENCY = /^[A-Z]{3}$/u;
4
+ const DRAWING_COLOR = /^(?:#[0-9A-Fa-f]{6}|[a-z][a-z0-9-]{0,62}\/[a-z][a-z0-9-]{0,62})$/u;
5
+ /** Parse and detach one canonical chart spec, refusing library-specific configuration. */
6
+ export function parseStudioChartSpec(value) {
7
+ const record = exactRecord(value, ['datasets', 'labels', 'title', 'type'], 'Chart');
8
+ if (typeof record.type !== 'string' || !CHART_TYPES.has(record.type)) {
9
+ throw new TypeError('Chart type must be bar, doughnut, line, or pie.');
10
+ }
11
+ const labels = stringArray(record.labels, 200, 500, 'Chart labels');
12
+ if (!Array.isArray(record.datasets) ||
13
+ record.datasets.length < 1 ||
14
+ record.datasets.length > 20) {
15
+ throw new RangeError('Chart datasets must contain between 1 and 20 datasets.');
16
+ }
17
+ const datasets = record.datasets.map((candidate, index) => {
18
+ const dataset = exactRecord(candidate, ['label', 'values'], `Chart dataset ${index}`);
19
+ if (typeof dataset.label !== 'string' || dataset.label.length > 500) {
20
+ throw new TypeError(`Chart dataset ${index} label must be a bounded string.`);
21
+ }
22
+ if (!Array.isArray(dataset.values) || dataset.values.length > 200) {
23
+ throw new RangeError(`Chart dataset ${index} values exceed the 200-value limit.`);
24
+ }
25
+ const values = dataset.values.map((item) => {
26
+ if (typeof item !== 'number' || !Number.isFinite(item) || Math.abs(item) > 1e15) {
27
+ throw new TypeError(`Chart dataset ${index} contains an invalid finite number.`);
28
+ }
29
+ return item;
30
+ });
31
+ if (values.length !== labels.length) {
32
+ throw new RangeError(`Chart dataset ${index} must have one value per label.`);
33
+ }
34
+ return { label: dataset.label, values };
35
+ });
36
+ const result = {
37
+ datasets,
38
+ labels,
39
+ type: record.type,
40
+ };
41
+ if (record.title !== undefined) {
42
+ if (typeof record.title !== 'string' || record.title.length > 500) {
43
+ throw new TypeError('Chart title must be a bounded string.');
44
+ }
45
+ result.title = record.title;
46
+ }
47
+ return result;
48
+ }
49
+ /** Parse bounded vector strokes and reject SVG, data URLs, and canvas commands. */
50
+ export function parseStudioDrawingDocument(value) {
51
+ const record = exactRecord(value, ['alt', 'height', 'strokes', 'width'], 'Drawing');
52
+ const width = integer(record.width, 1, 4096, 'Drawing width');
53
+ const height = integer(record.height, 1, 4096, 'Drawing height');
54
+ if (typeof record.alt !== 'string' || record.alt.length < 1 || record.alt.length > 5000) {
55
+ throw new TypeError('Drawing alternative text must contain between 1 and 5000 characters.');
56
+ }
57
+ if (!Array.isArray(record.strokes) || record.strokes.length > 5000) {
58
+ throw new RangeError('Drawing strokes exceed the 5000-stroke limit.');
59
+ }
60
+ const strokes = record.strokes.map((candidate, strokeIndex) => {
61
+ const stroke = exactRecord(candidate, ['color', 'points', 'width'], `Drawing stroke ${strokeIndex}`);
62
+ if (typeof stroke.color !== 'string' || !DRAWING_COLOR.test(stroke.color)) {
63
+ throw new TypeError(`Drawing stroke ${strokeIndex} uses an invalid color token.`);
64
+ }
65
+ if (typeof stroke.width !== 'number' ||
66
+ !Number.isFinite(stroke.width) ||
67
+ stroke.width < 0.25 ||
68
+ stroke.width > 64) {
69
+ throw new RangeError(`Drawing stroke ${strokeIndex} width is outside 0.25 through 64.`);
70
+ }
71
+ if (!Array.isArray(stroke.points) ||
72
+ stroke.points.length < 1 ||
73
+ stroke.points.length > 10_000) {
74
+ throw new RangeError(`Drawing stroke ${strokeIndex} must contain 1 through 10000 points.`);
75
+ }
76
+ const points = stroke.points.map((candidatePoint, pointIndex) => {
77
+ const point = exactRecord(candidatePoint, ['x', 'y'], `Drawing point ${pointIndex}`);
78
+ const x = coordinate(point.x, width, `Drawing point ${pointIndex} x`);
79
+ const y = coordinate(point.y, height, `Drawing point ${pointIndex} y`);
80
+ return { x, y };
81
+ });
82
+ return { color: stroke.color, points, width: stroke.width };
83
+ });
84
+ return { alt: record.alt, height, strokes, width };
85
+ }
86
+ /** Parse exact decimal money without converting through a binary float. */
87
+ export function parseStudioMoneyValue(value) {
88
+ const record = exactRecord(value, ['amount', 'currency'], 'Money');
89
+ if (typeof record.amount !== 'string' || !MONEY_AMOUNT.test(record.amount)) {
90
+ throw new TypeError('Money amount must be a canonical decimal string with at most six places.');
91
+ }
92
+ if (typeof record.currency !== 'string' || !CURRENCY.test(record.currency)) {
93
+ throw new TypeError('Money currency must be an uppercase ISO-style three-letter code.');
94
+ }
95
+ return { amount: record.amount, currency: record.currency };
96
+ }
97
+ /** Parse closed presentation intent without accepting selectors, declarations, or measurements. */
98
+ export function parseStudioPresentationIntent(value) {
99
+ const record = exactRecord(value, [
100
+ 'align',
101
+ 'animation',
102
+ 'height',
103
+ 'inverse',
104
+ 'margin',
105
+ 'marker',
106
+ 'padding',
107
+ 'position',
108
+ 'print',
109
+ 'scrolling',
110
+ 'visibility',
111
+ 'width',
112
+ ], 'Presentation intent');
113
+ const align = optionalEnum(record.align, ['center', 'end', 'start', 'stretch'], 'align');
114
+ const animation = optionalEnum(record.animation, ['fade', 'none', 'parallax', 'scale', 'slide'], 'animation');
115
+ const height = optionalEnum(record.height, ['auto', 'content', 'full', 'viewport'], 'height');
116
+ let inverse;
117
+ if (record.inverse !== undefined) {
118
+ if (typeof record.inverse !== 'boolean')
119
+ throw new TypeError('inverse must be a boolean.');
120
+ inverse = record.inverse;
121
+ }
122
+ const margin = optionalEnum(record.margin, ['comfortable', 'compact', 'none', 'spacious'], 'margin');
123
+ const marker = optionalEnum(record.marker, ['check', 'decimal', 'disc', 'none'], 'marker');
124
+ const padding = optionalEnum(record.padding, ['comfortable', 'compact', 'none', 'spacious'], 'padding');
125
+ const position = optionalEnum(record.position, ['flow', 'relative', 'sticky'], 'position');
126
+ const print = optionalEnum(record.print, ['hide', 'only', 'show'], 'print');
127
+ const scrolling = optionalEnum(record.scrolling, ['auto', 'clip', 'snap', 'visible'], 'scrolling');
128
+ const width = optionalEnum(record.width, ['auto', 'content', 'full'], 'width');
129
+ let visibility;
130
+ if (record.visibility !== undefined) {
131
+ const visibilityRecord = exactRecord(record.visibility, ['compact', 'expanded', 'medium'], 'Presentation visibility');
132
+ const compact = optionalEnum(visibilityRecord.compact, ['hidden', 'visible'], 'compact visibility');
133
+ const expanded = optionalEnum(visibilityRecord.expanded, ['hidden', 'visible'], 'expanded visibility');
134
+ const medium = optionalEnum(visibilityRecord.medium, ['hidden', 'visible'], 'medium visibility');
135
+ visibility = {
136
+ ...(compact === undefined ? {} : { compact }),
137
+ ...(expanded === undefined ? {} : { expanded }),
138
+ ...(medium === undefined ? {} : { medium }),
139
+ };
140
+ }
141
+ return {
142
+ ...(align === undefined ? {} : { align }),
143
+ ...(animation === undefined ? {} : { animation }),
144
+ ...(height === undefined ? {} : { height }),
145
+ ...(inverse === undefined ? {} : { inverse }),
146
+ ...(margin === undefined ? {} : { margin }),
147
+ ...(marker === undefined ? {} : { marker }),
148
+ ...(padding === undefined ? {} : { padding }),
149
+ ...(position === undefined ? {} : { position }),
150
+ ...(print === undefined ? {} : { print }),
151
+ ...(scrolling === undefined ? {} : { scrolling }),
152
+ ...(visibility === undefined ? {} : { visibility }),
153
+ ...(width === undefined ? {} : { width }),
154
+ };
155
+ }
156
+ /** Parse a bounded, text-only table and require one cell per declared column. */
157
+ export function parseStudioTableDocument(value) {
158
+ const record = exactRecord(value, ['caption', 'columns', 'rows'], 'Table');
159
+ const columns = stringArray(record.columns, 50, 500, 'Table columns');
160
+ if (columns.length === 0)
161
+ throw new RangeError('Table must declare at least one column.');
162
+ if (!Array.isArray(record.rows) || record.rows.length > 1000) {
163
+ throw new RangeError('Table rows exceed the 1000-row limit.');
164
+ }
165
+ const rows = record.rows.map((candidate, index) => {
166
+ const cells = stringArray(candidate, 50, 5000, `Table row ${index}`);
167
+ if (cells.length !== columns.length) {
168
+ throw new RangeError(`Table row ${index} must contain one cell per column.`);
169
+ }
170
+ return cells;
171
+ });
172
+ let caption;
173
+ if (record.caption !== undefined) {
174
+ if (typeof record.caption !== 'string' || record.caption.length > 500) {
175
+ throw new TypeError('Table caption must be a bounded string.');
176
+ }
177
+ caption = record.caption;
178
+ }
179
+ return { ...(caption === undefined ? {} : { caption }), columns, rows };
180
+ }
181
+ function exactRecord(value, keys, name) {
182
+ if (value === null ||
183
+ typeof value !== 'object' ||
184
+ Array.isArray(value) ||
185
+ Object.getPrototypeOf(value) !== Object.prototype) {
186
+ throw new TypeError(`${name} must be a plain JSON object.`);
187
+ }
188
+ const record = value;
189
+ const allowed = new Set(keys);
190
+ const unknown = Object.keys(record).find((key) => !allowed.has(key));
191
+ if (unknown !== undefined)
192
+ throw new TypeError(`${name} contains unknown member ${unknown}.`);
193
+ return record;
194
+ }
195
+ function stringArray(value, maximumItems, maximumLength, name) {
196
+ if (!Array.isArray(value) || value.length > maximumItems)
197
+ throw new RangeError(`${name} exceed their item limit.`);
198
+ return value.map((item) => {
199
+ if (typeof item !== 'string' || item.length > maximumLength)
200
+ throw new TypeError(`${name} must be bounded strings.`);
201
+ return item;
202
+ });
203
+ }
204
+ function integer(value, minimum, maximum, name) {
205
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < minimum || value > maximum) {
206
+ throw new RangeError(`${name} must be an integer from ${minimum} through ${maximum}.`);
207
+ }
208
+ return value;
209
+ }
210
+ function coordinate(value, maximum, name) {
211
+ if (typeof value !== 'number' || !Number.isFinite(value) || value < 0 || value > maximum) {
212
+ throw new RangeError(`${name} must be a finite coordinate inside the drawing bounds.`);
213
+ }
214
+ return value;
215
+ }
216
+ function optionalEnum(value, values, name) {
217
+ if (value === undefined)
218
+ return undefined;
219
+ if (typeof value !== 'string' || !values.some((candidate) => candidate === value)) {
220
+ throw new TypeError(`${name} is not an allowed presentation value.`);
221
+ }
222
+ return value;
223
+ }
224
+ //# sourceMappingURL=production-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production-values.js","sourceRoot":"","sources":["../src/production-values.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,8CAA8C,CAAC;AACpE,MAAM,QAAQ,GAAG,aAAa,CAAC;AAC/B,MAAM,aAAa,GAAG,mEAAmE,CAAC;AAE1F,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACpE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAC3B,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAyB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpE,MAAM,IAAI,SAAS,CAAC,iBAAiB,KAAK,kCAAkC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAClE,MAAM,IAAI,UAAU,CAAC,iBAAiB,KAAK,qCAAqC,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;gBAChF,MAAM,IAAI,SAAS,CAAC,iBAAiB,KAAK,qCAAqC,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,iBAAiB,KAAK,iCAAiC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAA+B;KAC7C,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAClE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjE,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACxF,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACnE,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAA0B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;QACnF,MAAM,MAAM,GAAG,WAAW,CACxB,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC5B,kBAAkB,WAAW,EAAE,CAChC,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,SAAS,CAAC,kBAAkB,WAAW,+BAA+B,CAAC,CAAC;QACpF,CAAC;QACD,IACE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,IAAI;YACnB,MAAM,CAAC,KAAK,GAAG,EAAE,EACjB,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,kBAAkB,WAAW,oCAAoC,CAAC,CAAC;QAC1F,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,EAC7B,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,kBAAkB,WAAW,uCAAuC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,MAAM,GAAyB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE;YACpF,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,iBAAiB,UAAU,EAAE,CAAC,CAAC;YACrF,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,UAAU,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,UAAU,IAAI,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EACL;QACE,OAAO;QACP,WAAW;QACX,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;QACV,OAAO;QACP,WAAW;QACX,YAAY;QACZ,OAAO;KACR,EACD,qBAAqB,CACtB,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,YAAY,CAC5B,MAAM,CAAC,SAAS,EAChB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9C,WAAW,CACZ,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9F,IAAI,OAA4B,CAAC;IACjC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAC3F,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,CAAC,MAAM,EACb,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAC9C,QAAQ,CACT,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,YAAY,CAC1B,MAAM,CAAC,OAAO,EACd,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAC9C,SAAS,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,YAAY,CAC5B,MAAM,CAAC,SAAS,EAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EACnC,WAAW,CACZ,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/E,IAAI,UAAkD,CAAC;IACvD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,WAAW,CAClC,MAAM,CAAC,UAAU,EACjB,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EACjC,yBAAyB,CAC1B,CAAC;QACF,MAAM,OAAO,GAAG,YAAY,CAC1B,gBAAgB,CAAC,OAAO,EACxB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,oBAAoB,CACrB,CAAC;QACF,MAAM,QAAQ,GAAG,YAAY,CAC3B,gBAAgB,CAAC,QAAQ,EACzB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,qBAAqB,CACtB,CAAC;QACF,MAAM,MAAM,GAAG,YAAY,CACzB,gBAAgB,CAAC,MAAM,EACvB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,mBAAmB,CACpB,CAAC;QACF,UAAU,GAAG;YACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC7D,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,oCAAoC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,IAAI,OAA2B,CAAC;IAChC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtE,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAClB,KAAc,EACd,IAAuB,EACvB,IAAY;IAEZ,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EACjD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,4BAA4B,OAAO,GAAG,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,KAAc,EACd,YAAoB,EACpB,aAAqB,EACrB,IAAY;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY;QACtD,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa;YACzD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAY;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QAChG,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,4BAA4B,OAAO,YAAY,OAAO,GAAG,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,OAAe,EAAE,IAAY;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,yDAAyD,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,MAAyB,EACzB,IAAY;IAEZ,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { type BlockDefinition, type BlockType, type JsonObject, type PatternDocument } from '@kumwe/studio-protocol';
2
+ /** The host-neutral first-party blocks shipped by every Studio installation. */
3
+ export interface CoreProductionBlockTypeMap {
4
+ readonly accordion: 'studio.core/accordion';
5
+ readonly accordionItem: 'studio.core/accordion-item';
6
+ readonly article: 'studio.core/article';
7
+ readonly attachment: 'studio.core/attachment';
8
+ readonly audio: 'studio.core/audio';
9
+ readonly badge: 'studio.core/badge';
10
+ readonly callToAction: 'studio.core/call-to-action';
11
+ readonly callout: 'studio.core/callout';
12
+ readonly card: 'studio.core/card';
13
+ readonly chart: 'studio.core/chart';
14
+ readonly code: 'studio.core/code';
15
+ readonly columns: 'studio.core/columns';
16
+ readonly contentCollection: 'studio.core/content-collection';
17
+ readonly contentReference: 'studio.core/content-reference';
18
+ readonly countdown: 'studio.core/countdown';
19
+ readonly cover: 'studio.core/cover';
20
+ readonly descriptionItem: 'studio.core/description-item';
21
+ readonly descriptionList: 'studio.core/description-list';
22
+ readonly diagram: 'studio.core/diagram';
23
+ readonly dialog: 'studio.core/dialog';
24
+ readonly divider: 'studio.core/divider';
25
+ readonly drawing: 'studio.core/drawing';
26
+ readonly embed: 'studio.core/embed';
27
+ readonly gallery: 'studio.core/gallery';
28
+ readonly grid: 'studio.core/grid';
29
+ readonly heading: 'studio.core/heading';
30
+ readonly icon: 'studio.core/icon';
31
+ readonly image: 'studio.core/image';
32
+ readonly label: 'studio.core/label';
33
+ readonly math: 'studio.core/math';
34
+ readonly money: 'studio.core/money';
35
+ readonly notice: 'studio.core/notice';
36
+ readonly navigation: 'studio.core/navigation';
37
+ readonly navigationItem: 'studio.core/navigation-item';
38
+ readonly popover: 'studio.core/popover';
39
+ readonly progress: 'studio.core/progress';
40
+ readonly richText: 'studio.core/rich-text';
41
+ readonly search: 'studio.core/search';
42
+ readonly section: 'studio.core/section';
43
+ readonly stack: 'studio.core/stack';
44
+ readonly spinner: 'studio.core/spinner';
45
+ readonly tab: 'studio.core/tab';
46
+ readonly table: 'studio.core/table';
47
+ readonly tabs: 'studio.core/tabs';
48
+ readonly video: 'studio.core/video';
49
+ }
50
+ export declare const CORE_PRODUCTION_BLOCK_TYPES: Readonly<CoreProductionBlockTypeMap>;
51
+ export type CoreProductionBlockType = (typeof CORE_PRODUCTION_BLOCK_TYPES)[keyof typeof CORE_PRODUCTION_BLOCK_TYPES];
52
+ /** Stable control identifiers. Hosts register ports; they do not know editor implementations. */
53
+ export interface CoreProductionControlIdMap {
54
+ readonly chart: 'studio.control/chart';
55
+ readonly drawing: 'studio.control/drawing';
56
+ readonly mediaCollection: 'studio.control/media-collection';
57
+ readonly mediaReference: 'studio.control/media-reference';
58
+ readonly money: 'studio.control/money';
59
+ readonly presentation: 'studio.control/presentation';
60
+ readonly richText: 'studio.control/rich-text';
61
+ readonly scopedCss: 'studio.control/scoped-css';
62
+ readonly source: 'studio.control/source';
63
+ readonly table: 'studio.control/table';
64
+ }
65
+ export declare const CORE_PRODUCTION_CONTROL_IDS: Readonly<CoreProductionControlIdMap>;
66
+ /** The ten reusable compositions distributed with the production catalog. */
67
+ export declare const CORE_PRODUCTION_PATTERN_IDS: readonly [
68
+ 'studio.pattern/article',
69
+ 'studio.pattern/collection-index',
70
+ 'studio.pattern/document-header',
71
+ 'studio.pattern/faq',
72
+ 'studio.pattern/feature-grid',
73
+ 'studio.pattern/hero',
74
+ 'studio.pattern/media-gallery',
75
+ 'studio.pattern/pricing',
76
+ 'studio.pattern/product',
77
+ 'studio.pattern/tabbed-content'
78
+ ];
79
+ /** Build the entire canonical catalog with explicit allowlists and no host imports. */
80
+ export declare function createCoreProductionBlockDefinitions(): BlockDefinition[];
81
+ /** Minimal schema-valid persisted properties for a newly inserted production node. */
82
+ export declare function coreProductionInitialProperties(type: CoreProductionBlockType): JsonObject;
83
+ export declare function isCoreProductionBlockType(type: BlockType): type is CoreProductionBlockType;
84
+ /** Create the ten deterministic, schema-valid starter patterns. */
85
+ export declare function createCoreProductionPatterns(): PatternDocument[];
86
+ //# sourceMappingURL=production.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../src/production.ts"],"names":[],"mappings":"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"}