@oa-sdk/spec-bundler 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +240 -0
- package/dist/archiver.d.ts +22 -0
- package/dist/archiver.js +155 -0
- package/dist/category-parser.d.ts +15 -0
- package/dist/category-parser.js +115 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +760 -0
- package/dist/context-generator.d.ts +14 -0
- package/dist/context-generator.js +297 -0
- package/dist/freshness.d.ts +41 -0
- package/dist/freshness.js +365 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.js +705 -0
- package/dist/link-rewriter.d.ts +65 -0
- package/dist/link-rewriter.js +777 -0
- package/dist/resolver.d.ts +27 -0
- package/dist/resolver.js +276 -0
- package/dist/schema.d.ts +563 -0
- package/dist/schema.js +670 -0
- package/dist/section-slicer.d.ts +12 -0
- package/dist/section-slicer.js +114 -0
- package/dist/topic.d.ts +62 -0
- package/dist/topic.js +262 -0
- package/dist/tree-shaker.d.ts +40 -0
- package/dist/tree-shaker.js +523 -0
- package/dist/types.d.ts +369 -0
- package/dist/types.js +2 -0
- package/package.json +29 -0
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
export declare const BUNDLE_MANIFEST_SCHEMA: {
|
|
2
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
3
|
+
readonly $id: "https://spec-platform.org/schemas/bundle-manifest.v1.json";
|
|
4
|
+
readonly title: "BundleManifest";
|
|
5
|
+
readonly description: "Declarative configuration schema for @spec-platform/meta-bundler";
|
|
6
|
+
readonly type: "object";
|
|
7
|
+
readonly required: readonly ["name", "version", "output", "targets"];
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly $schema: {
|
|
10
|
+
readonly type: "string";
|
|
11
|
+
};
|
|
12
|
+
readonly name: {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly description: "Identifier name for the bundle";
|
|
15
|
+
};
|
|
16
|
+
readonly version: {
|
|
17
|
+
readonly type: "string";
|
|
18
|
+
readonly description: "Semantic version of the bundle";
|
|
19
|
+
};
|
|
20
|
+
readonly description: {
|
|
21
|
+
readonly type: "string";
|
|
22
|
+
readonly description: "Human-readable description";
|
|
23
|
+
};
|
|
24
|
+
readonly output: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly description: "Output zip archive or directory path relative to manifest";
|
|
27
|
+
};
|
|
28
|
+
readonly format: {
|
|
29
|
+
readonly type: "string";
|
|
30
|
+
readonly enum: readonly ["zip", "directory"];
|
|
31
|
+
readonly default: "zip";
|
|
32
|
+
readonly description: "Output bundle format";
|
|
33
|
+
};
|
|
34
|
+
readonly targets: {
|
|
35
|
+
readonly type: "array";
|
|
36
|
+
readonly description: "List of target file mappings";
|
|
37
|
+
readonly items: {
|
|
38
|
+
readonly type: "object";
|
|
39
|
+
readonly required: readonly ["source", "dest"];
|
|
40
|
+
readonly properties: {
|
|
41
|
+
readonly source: {
|
|
42
|
+
readonly type: "string";
|
|
43
|
+
readonly description: "Source file path or glob pattern relative to manifest directory";
|
|
44
|
+
};
|
|
45
|
+
readonly dest: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly description: "Destination directory or file path inside bundle";
|
|
48
|
+
};
|
|
49
|
+
readonly exclude: {
|
|
50
|
+
readonly type: "array";
|
|
51
|
+
readonly items: {
|
|
52
|
+
readonly type: "string";
|
|
53
|
+
};
|
|
54
|
+
readonly description: "Target-specific exclusion glob patterns";
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
readonly additionalProperties: false;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
readonly exclude: {
|
|
61
|
+
readonly type: "array";
|
|
62
|
+
readonly items: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
};
|
|
65
|
+
readonly description: "Global exclusion glob patterns";
|
|
66
|
+
};
|
|
67
|
+
readonly deduplicate: {
|
|
68
|
+
readonly type: "object";
|
|
69
|
+
readonly description: "Deduplication and collision resolution rules";
|
|
70
|
+
readonly properties: {
|
|
71
|
+
readonly byPath: {
|
|
72
|
+
readonly type: "string";
|
|
73
|
+
readonly enum: readonly ["warn-overwrite", "overwrite", "error"];
|
|
74
|
+
readonly default: "warn-overwrite";
|
|
75
|
+
readonly description: "Collision handling strategy when two sources map to same destination";
|
|
76
|
+
};
|
|
77
|
+
readonly byContentHash: {
|
|
78
|
+
readonly type: "boolean";
|
|
79
|
+
readonly default: true;
|
|
80
|
+
readonly description: "Whether to report content hash duplicates";
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
readonly additionalProperties: false;
|
|
84
|
+
};
|
|
85
|
+
readonly linkResolution: {
|
|
86
|
+
readonly type: "object";
|
|
87
|
+
readonly description: "Markdown link rewriting and resolution configuration";
|
|
88
|
+
readonly properties: {
|
|
89
|
+
readonly enabled: {
|
|
90
|
+
readonly type: "boolean";
|
|
91
|
+
readonly default: true;
|
|
92
|
+
readonly description: "Whether automatic link resolution is enabled";
|
|
93
|
+
};
|
|
94
|
+
readonly rewriteRelativeLinks: {
|
|
95
|
+
readonly type: "boolean";
|
|
96
|
+
readonly default: true;
|
|
97
|
+
readonly description: "Whether to rewrite relative links to bundle coordinates";
|
|
98
|
+
};
|
|
99
|
+
readonly normalizeFileSchemes: {
|
|
100
|
+
readonly type: "boolean";
|
|
101
|
+
readonly default: true;
|
|
102
|
+
readonly description: "Whether to normalize file:/// URIs";
|
|
103
|
+
};
|
|
104
|
+
readonly unbundledPolicy: {
|
|
105
|
+
readonly type: "string";
|
|
106
|
+
readonly enum: readonly ["warn", "error", "preserve", "github-fallback"];
|
|
107
|
+
readonly default: "warn";
|
|
108
|
+
readonly description: "Handling strategy for links pointing to unbundled files";
|
|
109
|
+
};
|
|
110
|
+
readonly gitRepositoryUrl: {
|
|
111
|
+
readonly type: "string";
|
|
112
|
+
readonly description: "Base remote GitHub repository URL for github-fallback policy";
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
readonly additionalProperties: false;
|
|
116
|
+
};
|
|
117
|
+
readonly treeShake: {
|
|
118
|
+
readonly type: "object";
|
|
119
|
+
readonly description: "Declarative tree-shaking reachability configuration";
|
|
120
|
+
readonly required: readonly ["entrypoints"];
|
|
121
|
+
readonly properties: {
|
|
122
|
+
readonly enabled: {
|
|
123
|
+
readonly type: "boolean";
|
|
124
|
+
readonly default: false;
|
|
125
|
+
readonly description: "Whether tree-shaking reachability pruning is enabled";
|
|
126
|
+
};
|
|
127
|
+
readonly entrypoints: {
|
|
128
|
+
readonly type: "array";
|
|
129
|
+
readonly items: {
|
|
130
|
+
readonly type: "string";
|
|
131
|
+
};
|
|
132
|
+
readonly description: "Entrypoint files from which reachability traversal begins";
|
|
133
|
+
};
|
|
134
|
+
readonly scope: {
|
|
135
|
+
readonly type: "array";
|
|
136
|
+
readonly items: {
|
|
137
|
+
readonly type: "string";
|
|
138
|
+
};
|
|
139
|
+
readonly description: "Boundary scope patterns allowed to be pulled into the bundle";
|
|
140
|
+
};
|
|
141
|
+
readonly stopAt: {
|
|
142
|
+
readonly type: "array";
|
|
143
|
+
readonly items: {
|
|
144
|
+
readonly type: "string";
|
|
145
|
+
};
|
|
146
|
+
readonly description: "Terminal boundary patterns where traversal immediately halts";
|
|
147
|
+
};
|
|
148
|
+
readonly maxDepth: {
|
|
149
|
+
readonly type: "integer";
|
|
150
|
+
readonly minimum: 1;
|
|
151
|
+
readonly description: "Maximum traversal hop depth from entrypoints";
|
|
152
|
+
};
|
|
153
|
+
readonly preserve: {
|
|
154
|
+
readonly type: "array";
|
|
155
|
+
readonly items: {
|
|
156
|
+
readonly type: "string";
|
|
157
|
+
};
|
|
158
|
+
readonly description: "Unconditionally preserved file patterns exempt from tree-shaking pruning";
|
|
159
|
+
};
|
|
160
|
+
readonly reportEliminated: {
|
|
161
|
+
readonly type: "boolean";
|
|
162
|
+
readonly default: true;
|
|
163
|
+
readonly description: "Whether to list eliminated files in output report";
|
|
164
|
+
};
|
|
165
|
+
readonly traversalMode: {
|
|
166
|
+
readonly type: "string";
|
|
167
|
+
readonly enum: readonly ["hybrid", "reachability", "explicit"];
|
|
168
|
+
readonly default: "hybrid";
|
|
169
|
+
readonly description: "Reachability traversal mode: hybrid (preserve targets), reachability, or explicit";
|
|
170
|
+
};
|
|
171
|
+
readonly preserveTargets: {
|
|
172
|
+
readonly type: "boolean";
|
|
173
|
+
readonly default: true;
|
|
174
|
+
readonly description: "Whether to unconditionally preserve all declared targets";
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
readonly additionalProperties: false;
|
|
178
|
+
};
|
|
179
|
+
readonly topics: {
|
|
180
|
+
readonly type: "object";
|
|
181
|
+
readonly description: "Declarative named topic profiles for repeatable modular documentation bundling";
|
|
182
|
+
readonly additionalProperties: {
|
|
183
|
+
readonly type: "object";
|
|
184
|
+
readonly required: readonly ["targets"];
|
|
185
|
+
readonly properties: {
|
|
186
|
+
readonly phase: {
|
|
187
|
+
readonly type: "string";
|
|
188
|
+
readonly enum: readonly ["develop", "fix", "test", "review"];
|
|
189
|
+
readonly description: "Work activity lifecycle phase designated for this topic";
|
|
190
|
+
};
|
|
191
|
+
readonly author: {
|
|
192
|
+
readonly type: "string";
|
|
193
|
+
readonly description: "Initial worker or author who established this topic definition";
|
|
194
|
+
};
|
|
195
|
+
readonly description: {
|
|
196
|
+
readonly type: "string";
|
|
197
|
+
readonly description: "Human-readable description of the topic";
|
|
198
|
+
};
|
|
199
|
+
readonly output: {
|
|
200
|
+
readonly type: "string";
|
|
201
|
+
readonly description: "Output zip archive or directory path relative to manifest";
|
|
202
|
+
};
|
|
203
|
+
readonly format: {
|
|
204
|
+
readonly type: "string";
|
|
205
|
+
readonly enum: readonly ["zip", "directory"];
|
|
206
|
+
readonly description: "Output bundle format";
|
|
207
|
+
};
|
|
208
|
+
readonly targets: {
|
|
209
|
+
readonly type: "array";
|
|
210
|
+
readonly description: "List of target file mappings designated for this topic";
|
|
211
|
+
readonly items: {
|
|
212
|
+
readonly type: "object";
|
|
213
|
+
readonly required: readonly ["source", "dest"];
|
|
214
|
+
readonly properties: {
|
|
215
|
+
readonly source: {
|
|
216
|
+
readonly type: "string";
|
|
217
|
+
readonly description: "Source file path or glob pattern relative to manifest directory";
|
|
218
|
+
};
|
|
219
|
+
readonly dest: {
|
|
220
|
+
readonly type: "string";
|
|
221
|
+
readonly description: "Destination directory or file path inside bundle";
|
|
222
|
+
};
|
|
223
|
+
readonly exclude: {
|
|
224
|
+
readonly type: "array";
|
|
225
|
+
readonly items: {
|
|
226
|
+
readonly type: "string";
|
|
227
|
+
};
|
|
228
|
+
readonly description: "Target-specific exclusion glob patterns";
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
readonly additionalProperties: false;
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
readonly exclude: {
|
|
235
|
+
readonly type: "array";
|
|
236
|
+
readonly items: {
|
|
237
|
+
readonly type: "string";
|
|
238
|
+
};
|
|
239
|
+
readonly description: "Topic-specific exclusion glob patterns";
|
|
240
|
+
};
|
|
241
|
+
readonly deduplicate: {
|
|
242
|
+
readonly type: "object";
|
|
243
|
+
readonly description: "Deduplication and collision resolution rules";
|
|
244
|
+
readonly properties: {
|
|
245
|
+
readonly byPath: {
|
|
246
|
+
readonly type: "string";
|
|
247
|
+
readonly enum: readonly ["warn-overwrite", "overwrite", "error"];
|
|
248
|
+
readonly default: "warn-overwrite";
|
|
249
|
+
};
|
|
250
|
+
readonly byContentHash: {
|
|
251
|
+
readonly type: "boolean";
|
|
252
|
+
readonly default: true;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
readonly additionalProperties: false;
|
|
256
|
+
};
|
|
257
|
+
readonly linkResolution: {
|
|
258
|
+
readonly type: "object";
|
|
259
|
+
readonly description: "Markdown link rewriting and resolution configuration";
|
|
260
|
+
readonly properties: {
|
|
261
|
+
readonly enabled: {
|
|
262
|
+
readonly type: "boolean";
|
|
263
|
+
readonly default: true;
|
|
264
|
+
};
|
|
265
|
+
readonly rewriteRelativeLinks: {
|
|
266
|
+
readonly type: "boolean";
|
|
267
|
+
readonly default: true;
|
|
268
|
+
};
|
|
269
|
+
readonly normalizeFileSchemes: {
|
|
270
|
+
readonly type: "boolean";
|
|
271
|
+
readonly default: true;
|
|
272
|
+
};
|
|
273
|
+
readonly unbundledPolicy: {
|
|
274
|
+
readonly type: "string";
|
|
275
|
+
readonly enum: readonly ["warn", "error", "preserve", "github-fallback"];
|
|
276
|
+
readonly default: "warn";
|
|
277
|
+
};
|
|
278
|
+
readonly gitRepositoryUrl: {
|
|
279
|
+
readonly type: "string";
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
readonly additionalProperties: false;
|
|
283
|
+
};
|
|
284
|
+
readonly treeShake: {
|
|
285
|
+
readonly type: "object";
|
|
286
|
+
readonly description: "Topic-specific tree-shaking and boundary-scoped reachability configuration";
|
|
287
|
+
readonly required: readonly ["entrypoints"];
|
|
288
|
+
readonly properties: {
|
|
289
|
+
readonly enabled: {
|
|
290
|
+
readonly type: "boolean";
|
|
291
|
+
readonly default: true;
|
|
292
|
+
};
|
|
293
|
+
readonly entrypoints: {
|
|
294
|
+
readonly type: "array";
|
|
295
|
+
readonly items: {
|
|
296
|
+
readonly type: "string";
|
|
297
|
+
};
|
|
298
|
+
readonly description: "Entrypoint files from which reachability traversal begins";
|
|
299
|
+
};
|
|
300
|
+
readonly scope: {
|
|
301
|
+
readonly type: "array";
|
|
302
|
+
readonly items: {
|
|
303
|
+
readonly type: "string";
|
|
304
|
+
};
|
|
305
|
+
readonly description: "Boundary scope patterns allowed to be pulled into this topic";
|
|
306
|
+
};
|
|
307
|
+
readonly stopAt: {
|
|
308
|
+
readonly type: "array";
|
|
309
|
+
readonly items: {
|
|
310
|
+
readonly type: "string";
|
|
311
|
+
};
|
|
312
|
+
readonly description: "Terminal boundary patterns where traversal immediately halts";
|
|
313
|
+
};
|
|
314
|
+
readonly maxDepth: {
|
|
315
|
+
readonly type: "integer";
|
|
316
|
+
readonly minimum: 1;
|
|
317
|
+
readonly description: "Maximum traversal hop depth from entrypoints";
|
|
318
|
+
};
|
|
319
|
+
readonly preserve: {
|
|
320
|
+
readonly type: "array";
|
|
321
|
+
readonly items: {
|
|
322
|
+
readonly type: "string";
|
|
323
|
+
};
|
|
324
|
+
readonly description: "Unconditionally preserved file patterns exempt from tree-shaking pruning";
|
|
325
|
+
};
|
|
326
|
+
readonly reportEliminated: {
|
|
327
|
+
readonly type: "boolean";
|
|
328
|
+
readonly default: true;
|
|
329
|
+
readonly description: "Whether to list eliminated files in output report";
|
|
330
|
+
};
|
|
331
|
+
readonly traversalMode: {
|
|
332
|
+
readonly type: "string";
|
|
333
|
+
readonly enum: readonly ["hybrid", "reachability", "explicit"];
|
|
334
|
+
readonly default: "hybrid";
|
|
335
|
+
};
|
|
336
|
+
readonly preserveTargets: {
|
|
337
|
+
readonly type: "boolean";
|
|
338
|
+
readonly default: true;
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
readonly additionalProperties: false;
|
|
342
|
+
};
|
|
343
|
+
readonly scope: {
|
|
344
|
+
readonly type: "object";
|
|
345
|
+
readonly description: "Declarative extraction scope and domain boundary configuration";
|
|
346
|
+
readonly properties: {
|
|
347
|
+
readonly entrypoints: {
|
|
348
|
+
readonly type: "array";
|
|
349
|
+
readonly items: {
|
|
350
|
+
readonly type: "string";
|
|
351
|
+
};
|
|
352
|
+
readonly description: "Entrypoint files from which extraction traversal begins";
|
|
353
|
+
};
|
|
354
|
+
readonly include: {
|
|
355
|
+
readonly type: "array";
|
|
356
|
+
readonly items: {
|
|
357
|
+
readonly type: "string";
|
|
358
|
+
};
|
|
359
|
+
readonly description: "Allowed boundary patterns for documents pulled into this topic";
|
|
360
|
+
};
|
|
361
|
+
readonly exclude: {
|
|
362
|
+
readonly type: "array";
|
|
363
|
+
readonly items: {
|
|
364
|
+
readonly type: "string";
|
|
365
|
+
};
|
|
366
|
+
readonly description: "Patterns strictly excluded from this topic";
|
|
367
|
+
};
|
|
368
|
+
readonly stopAt: {
|
|
369
|
+
readonly type: "array";
|
|
370
|
+
readonly items: {
|
|
371
|
+
readonly type: "string";
|
|
372
|
+
};
|
|
373
|
+
readonly description: "Terminal boundary patterns where traversal immediately halts";
|
|
374
|
+
};
|
|
375
|
+
readonly maxDepth: {
|
|
376
|
+
readonly type: "integer";
|
|
377
|
+
readonly minimum: 1;
|
|
378
|
+
readonly description: "Maximum traversal hop depth from entrypoints";
|
|
379
|
+
};
|
|
380
|
+
readonly sections: {
|
|
381
|
+
readonly type: "array";
|
|
382
|
+
readonly items: {
|
|
383
|
+
readonly type: "string";
|
|
384
|
+
};
|
|
385
|
+
readonly description: "Section/heading patterns to slice from multi-topic documents";
|
|
386
|
+
};
|
|
387
|
+
readonly direction: {
|
|
388
|
+
readonly type: "string";
|
|
389
|
+
readonly enum: readonly ["downstream", "upstream", "bidirectional"];
|
|
390
|
+
readonly default: "downstream";
|
|
391
|
+
readonly description: "Graph reachability traversal direction";
|
|
392
|
+
};
|
|
393
|
+
readonly upstreamDepth: {
|
|
394
|
+
readonly type: "integer";
|
|
395
|
+
readonly minimum: 1;
|
|
396
|
+
readonly default: 1;
|
|
397
|
+
readonly description: "Maximum traversal depth when traversing upstream";
|
|
398
|
+
};
|
|
399
|
+
readonly includeCategories: {
|
|
400
|
+
readonly type: "array";
|
|
401
|
+
readonly items: {
|
|
402
|
+
readonly type: "string";
|
|
403
|
+
readonly enum: readonly ["feature", "mechanism", "error", "issue", "convention"];
|
|
404
|
+
};
|
|
405
|
+
readonly description: "Document categories permitted in topic bundle";
|
|
406
|
+
};
|
|
407
|
+
readonly excludeCategories: {
|
|
408
|
+
readonly type: "array";
|
|
409
|
+
readonly items: {
|
|
410
|
+
readonly type: "string";
|
|
411
|
+
readonly enum: readonly ["feature", "mechanism", "error", "issue", "convention"];
|
|
412
|
+
};
|
|
413
|
+
readonly description: "Document categories strictly pruned from topic bundle";
|
|
414
|
+
};
|
|
415
|
+
readonly categoryFidelity: {
|
|
416
|
+
readonly type: "object";
|
|
417
|
+
readonly description: "Level of detail/fidelity per category or upstream contracts";
|
|
418
|
+
readonly properties: {
|
|
419
|
+
readonly feature: {
|
|
420
|
+
readonly type: "string";
|
|
421
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
422
|
+
};
|
|
423
|
+
readonly mechanism: {
|
|
424
|
+
readonly type: "string";
|
|
425
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
426
|
+
};
|
|
427
|
+
readonly error: {
|
|
428
|
+
readonly type: "string";
|
|
429
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
430
|
+
};
|
|
431
|
+
readonly issue: {
|
|
432
|
+
readonly type: "string";
|
|
433
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
434
|
+
};
|
|
435
|
+
readonly convention: {
|
|
436
|
+
readonly type: "string";
|
|
437
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
438
|
+
};
|
|
439
|
+
readonly upstream: {
|
|
440
|
+
readonly type: "string";
|
|
441
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
442
|
+
};
|
|
443
|
+
readonly default: {
|
|
444
|
+
readonly type: "string";
|
|
445
|
+
readonly enum: readonly ["full", "contract-only", "summary"];
|
|
446
|
+
};
|
|
447
|
+
};
|
|
448
|
+
readonly additionalProperties: false;
|
|
449
|
+
};
|
|
450
|
+
readonly traversalMode: {
|
|
451
|
+
readonly type: "string";
|
|
452
|
+
readonly enum: readonly ["hybrid", "reachability", "explicit"];
|
|
453
|
+
readonly default: "hybrid";
|
|
454
|
+
};
|
|
455
|
+
readonly preserveTargets: {
|
|
456
|
+
readonly type: "boolean";
|
|
457
|
+
readonly default: true;
|
|
458
|
+
};
|
|
459
|
+
};
|
|
460
|
+
readonly additionalProperties: false;
|
|
461
|
+
};
|
|
462
|
+
readonly context: {
|
|
463
|
+
readonly type: "object";
|
|
464
|
+
readonly description: "Ambient background context, metadata, prompt, and documentation";
|
|
465
|
+
readonly properties: {
|
|
466
|
+
readonly description: {
|
|
467
|
+
readonly type: "string";
|
|
468
|
+
readonly description: "Context description";
|
|
469
|
+
};
|
|
470
|
+
readonly template: {
|
|
471
|
+
readonly type: "string";
|
|
472
|
+
readonly description: "Custom CONTEXT.md template file path relative to manifest, or raw template string";
|
|
473
|
+
};
|
|
474
|
+
readonly domain: {
|
|
475
|
+
readonly type: "string";
|
|
476
|
+
readonly description: "Target domain identifier";
|
|
477
|
+
};
|
|
478
|
+
readonly issue: {
|
|
479
|
+
readonly type: "string";
|
|
480
|
+
readonly description: "Associated issue/ticket ID";
|
|
481
|
+
};
|
|
482
|
+
readonly tags: {
|
|
483
|
+
readonly type: "array";
|
|
484
|
+
readonly items: {
|
|
485
|
+
readonly type: "string";
|
|
486
|
+
};
|
|
487
|
+
readonly description: "Category tags";
|
|
488
|
+
};
|
|
489
|
+
readonly prompt: {
|
|
490
|
+
readonly type: "string";
|
|
491
|
+
readonly description: "Agent system prompt or developer instructions";
|
|
492
|
+
};
|
|
493
|
+
readonly persona: {
|
|
494
|
+
readonly type: "string";
|
|
495
|
+
readonly description: "Target persona or role";
|
|
496
|
+
};
|
|
497
|
+
readonly prerequisites: {
|
|
498
|
+
readonly type: "array";
|
|
499
|
+
readonly items: {
|
|
500
|
+
readonly type: "string";
|
|
501
|
+
};
|
|
502
|
+
readonly description: "Dependent topic names or prerequisites";
|
|
503
|
+
};
|
|
504
|
+
readonly generateContextDoc: {
|
|
505
|
+
readonly type: "boolean";
|
|
506
|
+
readonly default: true;
|
|
507
|
+
readonly description: "Whether to synthesize CONTEXT.md at bundle root";
|
|
508
|
+
};
|
|
509
|
+
readonly metadata: {
|
|
510
|
+
readonly type: "object";
|
|
511
|
+
readonly description: "Arbitrary structured metadata";
|
|
512
|
+
};
|
|
513
|
+
readonly docs: {
|
|
514
|
+
readonly type: "array";
|
|
515
|
+
readonly description: "Ambient background context documents";
|
|
516
|
+
readonly items: {
|
|
517
|
+
readonly type: "object";
|
|
518
|
+
readonly required: readonly ["source"];
|
|
519
|
+
readonly properties: {
|
|
520
|
+
readonly source: {
|
|
521
|
+
readonly type: "string";
|
|
522
|
+
readonly description: "Source path or glob pattern";
|
|
523
|
+
};
|
|
524
|
+
readonly dest: {
|
|
525
|
+
readonly type: "string";
|
|
526
|
+
readonly description: "Destination inside bundle (defaults to 'context/')";
|
|
527
|
+
};
|
|
528
|
+
readonly exclude: {
|
|
529
|
+
readonly type: "array";
|
|
530
|
+
readonly items: {
|
|
531
|
+
readonly type: "string";
|
|
532
|
+
};
|
|
533
|
+
readonly description: "Exclusion patterns";
|
|
534
|
+
};
|
|
535
|
+
};
|
|
536
|
+
readonly additionalProperties: false;
|
|
537
|
+
};
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
readonly additionalProperties: false;
|
|
541
|
+
};
|
|
542
|
+
};
|
|
543
|
+
readonly additionalProperties: false;
|
|
544
|
+
};
|
|
545
|
+
};
|
|
546
|
+
readonly lockfileMode: {
|
|
547
|
+
readonly type: "string";
|
|
548
|
+
readonly enum: readonly ["consolidated", "split"];
|
|
549
|
+
readonly default: "consolidated";
|
|
550
|
+
readonly description: "Lockfile storage mode (consolidated into bundle.manifest.lock.json or split per topic)";
|
|
551
|
+
};
|
|
552
|
+
};
|
|
553
|
+
readonly additionalProperties: false;
|
|
554
|
+
};
|
|
555
|
+
/**
|
|
556
|
+
* Emits the JSON Schema 2020-12 as formatted JSON string.
|
|
557
|
+
*/
|
|
558
|
+
export declare function emitJsonSchema(): string;
|
|
559
|
+
/**
|
|
560
|
+
* Validates a manifest object against schema invariants and returns a list of human-readable errors.
|
|
561
|
+
*/
|
|
562
|
+
export declare function validateManifestSchema(raw: any): string[];
|
|
563
|
+
//# sourceMappingURL=schema.d.ts.map
|