@vibe-agent-toolkit/resources 0.1.3 → 0.1.4
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/README.md +0 -17
- package/dist/collection-matcher.d.ts +63 -0
- package/dist/collection-matcher.d.ts.map +1 -0
- package/dist/collection-matcher.js +127 -0
- package/dist/collection-matcher.js.map +1 -0
- package/dist/config-parser.d.ts +63 -0
- package/dist/config-parser.d.ts.map +1 -0
- package/dist/config-parser.js +113 -0
- package/dist/config-parser.js.map +1 -0
- package/dist/frontmatter-validator.d.ts +12 -2
- package/dist/frontmatter-validator.d.ts.map +1 -1
- package/dist/frontmatter-validator.js +174 -18
- package/dist/frontmatter-validator.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/link-validator.d.ts +25 -3
- package/dist/link-validator.d.ts.map +1 -1
- package/dist/link-validator.js +52 -40
- package/dist/link-validator.js.map +1 -1
- package/dist/multi-schema-validator.d.ts +42 -0
- package/dist/multi-schema-validator.d.ts.map +1 -0
- package/dist/multi-schema-validator.js +107 -0
- package/dist/multi-schema-validator.js.map +1 -0
- package/dist/pattern-expander.d.ts +63 -0
- package/dist/pattern-expander.d.ts.map +1 -0
- package/dist/pattern-expander.js +93 -0
- package/dist/pattern-expander.js.map +1 -0
- package/dist/resource-registry.d.ts +87 -6
- package/dist/resource-registry.d.ts.map +1 -1
- package/dist/resource-registry.js +215 -46
- package/dist/resource-registry.js.map +1 -1
- package/dist/schema-assignment.d.ts +49 -0
- package/dist/schema-assignment.d.ts.map +1 -0
- package/dist/schema-assignment.js +95 -0
- package/dist/schema-assignment.js.map +1 -0
- package/dist/schemas/project-config.d.ts +254 -0
- package/dist/schemas/project-config.d.ts.map +1 -0
- package/dist/schemas/project-config.js +57 -0
- package/dist/schemas/project-config.js.map +1 -0
- package/dist/schemas/resource-metadata.d.ts +3 -0
- package/dist/schemas/resource-metadata.d.ts.map +1 -1
- package/dist/schemas/resource-metadata.js +2 -0
- package/dist/schemas/resource-metadata.js.map +1 -1
- package/dist/schemas/validation-result.d.ts +2 -26
- package/dist/schemas/validation-result.d.ts.map +1 -1
- package/dist/schemas/validation-result.js +4 -20
- package/dist/schemas/validation-result.js.map +1 -1
- package/dist/types/resource-parser.d.ts +53 -0
- package/dist/types/resource-parser.d.ts.map +1 -0
- package/dist/types/resource-parser.js +233 -0
- package/dist/types/resource-parser.js.map +1 -0
- package/dist/types/resource-path-utils.d.ts +43 -0
- package/dist/types/resource-path-utils.d.ts.map +1 -0
- package/dist/types/resource-path-utils.js +89 -0
- package/dist/types/resource-path-utils.js.map +1 -0
- package/dist/types/resources.d.ts +140 -0
- package/dist/types/resources.d.ts.map +1 -0
- package/dist/types/resources.js +58 -0
- package/dist/types/resources.js.map +1 -0
- package/dist/types.d.ts +14 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +18 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +39 -0
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/collection-matcher.ts +148 -0
- package/src/config-parser.ts +125 -0
- package/src/frontmatter-validator.ts +202 -18
- package/src/index.ts +7 -2
- package/src/link-validator.ts +70 -43
- package/src/multi-schema-validator.ts +128 -0
- package/src/pattern-expander.ts +100 -0
- package/src/resource-registry.ts +322 -54
- package/src/schema-assignment.ts +119 -0
- package/src/schemas/project-config.ts +71 -0
- package/src/schemas/resource-metadata.ts +2 -0
- package/src/schemas/validation-result.ts +4 -23
- package/src/types/resource-parser.ts +302 -0
- package/src/types/resource-path-utils.ts +102 -0
- package/src/types/resources.ts +211 -0
- package/src/types.ts +81 -1
- package/src/utils.ts +43 -0
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import { crawlDirectory } from '@vibe-agent-toolkit/utils';
|
|
12
12
|
import { calculateChecksum } from './checksum.js';
|
|
13
|
+
import { getCollectionsForFile } from './collection-matcher.js';
|
|
13
14
|
import { validateFrontmatter } from './frontmatter-validator.js';
|
|
14
15
|
import { parseMarkdown } from './link-parser.js';
|
|
15
16
|
import { validateLink } from './link-validator.js';
|
|
@@ -46,16 +47,24 @@ import { matchesGlobPattern, splitHrefAnchor } from './utils.js';
|
|
|
46
47
|
export class ResourceRegistry {
|
|
47
48
|
/** Optional root directory for resources */
|
|
48
49
|
rootDir;
|
|
50
|
+
/** Optional project configuration (enables collection support) */
|
|
51
|
+
config;
|
|
52
|
+
/** Optional git tracker for efficient git-ignore checking */
|
|
53
|
+
gitTracker;
|
|
49
54
|
resourcesByPath = new Map();
|
|
50
55
|
resourcesById = new Map();
|
|
51
56
|
resourcesByName = new Map();
|
|
52
57
|
resourcesByChecksum = new Map();
|
|
53
|
-
validateOnAdd;
|
|
54
58
|
constructor(options) {
|
|
55
59
|
if (options?.rootDir !== undefined) {
|
|
56
60
|
this.rootDir = options.rootDir;
|
|
57
61
|
}
|
|
58
|
-
|
|
62
|
+
if (options?.config !== undefined) {
|
|
63
|
+
this.config = options.config;
|
|
64
|
+
}
|
|
65
|
+
if (options?.gitTracker !== undefined) {
|
|
66
|
+
this.gitTracker = options.gitTracker;
|
|
67
|
+
}
|
|
59
68
|
}
|
|
60
69
|
/**
|
|
61
70
|
* Create an empty registry with a root directory.
|
|
@@ -137,7 +146,6 @@ export class ResourceRegistry {
|
|
|
137
146
|
* Add a single resource to the registry.
|
|
138
147
|
*
|
|
139
148
|
* Parses the markdown file, generates a unique ID, and stores the resource.
|
|
140
|
-
* If validateOnAdd is true, validates the resource immediately.
|
|
141
149
|
*
|
|
142
150
|
* @param filePath - Path to the markdown file (will be normalized to absolute)
|
|
143
151
|
* @returns The parsed resource metadata
|
|
@@ -161,6 +169,10 @@ export class ResourceRegistry {
|
|
|
161
169
|
const stats = await fs.stat(absolutePath);
|
|
162
170
|
// Calculate checksum eagerly
|
|
163
171
|
const checksum = await calculateChecksum(absolutePath);
|
|
172
|
+
// Determine collections if config is present
|
|
173
|
+
const collections = this.config?.resources?.collections
|
|
174
|
+
? getCollectionsForFile(absolutePath, this.config.resources.collections)
|
|
175
|
+
: undefined;
|
|
164
176
|
// Create resource metadata
|
|
165
177
|
const resource = {
|
|
166
178
|
id,
|
|
@@ -173,19 +185,10 @@ export class ResourceRegistry {
|
|
|
173
185
|
estimatedTokenCount: parseResult.estimatedTokenCount,
|
|
174
186
|
modifiedAt: stats.mtime,
|
|
175
187
|
checksum,
|
|
188
|
+
...(collections !== undefined && collections.length > 0 && { collections }),
|
|
176
189
|
};
|
|
177
190
|
// Index the resource
|
|
178
191
|
this.indexResource(resource);
|
|
179
|
-
// Validate if requested
|
|
180
|
-
if (this.validateOnAdd) {
|
|
181
|
-
const headingsByFile = this.buildHeadingsByFileMap();
|
|
182
|
-
for (const link of resource.links) {
|
|
183
|
-
const issue = await validateLink(link, absolutePath, headingsByFile);
|
|
184
|
-
if (issue) {
|
|
185
|
-
throw new Error(`Validation failed: ${issue.message}`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
192
|
return resource;
|
|
190
193
|
}
|
|
191
194
|
/**
|
|
@@ -237,6 +240,132 @@ export class ResourceRegistry {
|
|
|
237
240
|
// Add all found files
|
|
238
241
|
return await this.addResources(files);
|
|
239
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Check for YAML parsing errors in all resources.
|
|
245
|
+
* @private
|
|
246
|
+
*/
|
|
247
|
+
collectYamlErrors() {
|
|
248
|
+
const issues = [];
|
|
249
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
250
|
+
if (resource.frontmatterError) {
|
|
251
|
+
issues.push({
|
|
252
|
+
resourcePath: resource.filePath,
|
|
253
|
+
line: 1,
|
|
254
|
+
type: 'frontmatter_invalid_yaml',
|
|
255
|
+
link: '',
|
|
256
|
+
message: `Invalid YAML syntax in frontmatter: ${resource.frontmatterError}`,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return issues;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Validate all links in all resources.
|
|
264
|
+
* @private
|
|
265
|
+
*/
|
|
266
|
+
async validateAllLinks(headingsByFile, skipGitIgnoreCheck) {
|
|
267
|
+
const issues = [];
|
|
268
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
269
|
+
for (const link of resource.links) {
|
|
270
|
+
// Only pass options if projectRoot is defined (exactOptionalPropertyTypes requirement)
|
|
271
|
+
const validateOptions = this.rootDir === undefined
|
|
272
|
+
? { skipGitIgnoreCheck }
|
|
273
|
+
: {
|
|
274
|
+
projectRoot: this.rootDir,
|
|
275
|
+
skipGitIgnoreCheck,
|
|
276
|
+
...(this.gitTracker !== undefined && { gitTracker: this.gitTracker })
|
|
277
|
+
};
|
|
278
|
+
const issue = await validateLink(link, resource.filePath, headingsByFile, validateOptions);
|
|
279
|
+
if (issue) {
|
|
280
|
+
issues.push(issue);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return issues;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Validate frontmatter against a JSON Schema.
|
|
288
|
+
* @private
|
|
289
|
+
*/
|
|
290
|
+
validateAllFrontmatter(schema, mode = 'strict') {
|
|
291
|
+
const issues = [];
|
|
292
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
293
|
+
const frontmatterIssues = validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode);
|
|
294
|
+
issues.push(...frontmatterIssues);
|
|
295
|
+
}
|
|
296
|
+
return issues;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Validate frontmatter against per-collection schemas.
|
|
300
|
+
* @private
|
|
301
|
+
*/
|
|
302
|
+
async validateCollectionFrontmatter() {
|
|
303
|
+
const issues = [];
|
|
304
|
+
// Skip if no config
|
|
305
|
+
if (!this.config?.resources?.collections) {
|
|
306
|
+
return issues;
|
|
307
|
+
}
|
|
308
|
+
const fsPromises = await import('node:fs/promises');
|
|
309
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
310
|
+
// Skip if resource has no collections
|
|
311
|
+
if (!resource.collections || resource.collections.length === 0) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
// Validate against each collection's schema
|
|
315
|
+
const collectionIssues = await this.validateResourceCollectionSchemas(resource, fsPromises);
|
|
316
|
+
issues.push(...collectionIssues);
|
|
317
|
+
}
|
|
318
|
+
return issues;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Validate a single resource against its collection schemas.
|
|
322
|
+
* @private
|
|
323
|
+
*/
|
|
324
|
+
async validateResourceCollectionSchemas(resource, fsModule) {
|
|
325
|
+
const issues = [];
|
|
326
|
+
if (!resource.collections || !this.config?.resources?.collections) {
|
|
327
|
+
return issues;
|
|
328
|
+
}
|
|
329
|
+
for (const collectionId of resource.collections) {
|
|
330
|
+
const collection = this.config.resources.collections[collectionId];
|
|
331
|
+
// Skip if collection has no validation or no schema
|
|
332
|
+
if (!collection?.validation?.frontmatterSchema) {
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
const collectionIssues = await this.validateAgainstCollectionSchema(resource, collection.validation, fsModule);
|
|
336
|
+
issues.push(...collectionIssues);
|
|
337
|
+
}
|
|
338
|
+
return issues;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Validate resource frontmatter against a specific collection schema.
|
|
342
|
+
* @private
|
|
343
|
+
*/
|
|
344
|
+
async validateAgainstCollectionSchema(resource, validation, fsModule) {
|
|
345
|
+
if (!validation?.frontmatterSchema) {
|
|
346
|
+
return [];
|
|
347
|
+
}
|
|
348
|
+
const schemaPath = path.resolve(this.rootDir ?? process.cwd(), validation.frontmatterSchema);
|
|
349
|
+
try {
|
|
350
|
+
const schemaContent = await fsModule.readFile(schemaPath, 'utf-8');
|
|
351
|
+
const schema = JSON.parse(schemaContent);
|
|
352
|
+
// Determine validation mode (default to permissive)
|
|
353
|
+
const mode = validation.mode ?? 'permissive';
|
|
354
|
+
// Validate frontmatter
|
|
355
|
+
return validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode, schemaPath);
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
// Handle missing or invalid schema files gracefully
|
|
359
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
360
|
+
return [{
|
|
361
|
+
resourcePath: resource.filePath,
|
|
362
|
+
line: 1,
|
|
363
|
+
type: 'frontmatter_schema_error',
|
|
364
|
+
link: '',
|
|
365
|
+
message: `Failed to load or parse frontmatter schema '${validation.frontmatterSchema}': ${errorMessage}`,
|
|
366
|
+
}];
|
|
367
|
+
}
|
|
368
|
+
}
|
|
240
369
|
/**
|
|
241
370
|
* Validate all links and optionally frontmatter in all resources in the registry.
|
|
242
371
|
*
|
|
@@ -262,10 +391,9 @@ export class ResourceRegistry {
|
|
|
262
391
|
*
|
|
263
392
|
* console.log(`Passed: ${result.passed}`);
|
|
264
393
|
* console.log(`Errors: ${result.errorCount}`);
|
|
265
|
-
* console.log(`Warnings: ${result.warningCount}`);
|
|
266
394
|
* console.log(`Total resources: ${result.totalResources}`);
|
|
267
395
|
* for (const issue of result.issues) {
|
|
268
|
-
* console.log(`${issue.
|
|
396
|
+
* console.log(`${issue.message}`);
|
|
269
397
|
* }
|
|
270
398
|
* ```
|
|
271
399
|
*/
|
|
@@ -276,38 +404,20 @@ export class ResourceRegistry {
|
|
|
276
404
|
// Collect all validation issues
|
|
277
405
|
const issues = [];
|
|
278
406
|
// Check for YAML parsing errors first
|
|
279
|
-
|
|
280
|
-
if (resource.frontmatterError) {
|
|
281
|
-
issues.push({
|
|
282
|
-
severity: 'error',
|
|
283
|
-
resourcePath: resource.filePath,
|
|
284
|
-
line: 1,
|
|
285
|
-
type: 'frontmatter_invalid_yaml',
|
|
286
|
-
link: '',
|
|
287
|
-
message: `Invalid YAML syntax in frontmatter: ${resource.frontmatterError}`,
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
}
|
|
407
|
+
issues.push(...this.collectYamlErrors());
|
|
291
408
|
// Validate each link in each resource
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
// Frontmatter validation (if schema provided)
|
|
409
|
+
const linkIssues = await this.validateAllLinks(headingsByFile, options?.skipGitIgnoreCheck ?? false);
|
|
410
|
+
issues.push(...linkIssues);
|
|
411
|
+
// Per-collection frontmatter validation
|
|
412
|
+
const collectionFrontmatterIssues = await this.validateCollectionFrontmatter();
|
|
413
|
+
issues.push(...collectionFrontmatterIssues);
|
|
414
|
+
// Global frontmatter validation (if schema provided)
|
|
301
415
|
if (options?.frontmatterSchema) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
issues.push(...frontmatterIssues);
|
|
305
|
-
}
|
|
416
|
+
const mode = options.validationMode ?? 'strict';
|
|
417
|
+
issues.push(...this.validateAllFrontmatter(options.frontmatterSchema, mode));
|
|
306
418
|
}
|
|
307
|
-
// Count issues
|
|
308
|
-
const errorCount = issues.
|
|
309
|
-
const warningCount = issues.filter((i) => i.severity === 'warning').length;
|
|
310
|
-
const infoCount = issues.filter((i) => i.severity === 'info').length;
|
|
419
|
+
// Count issues (all are errors now)
|
|
420
|
+
const errorCount = issues.length;
|
|
311
421
|
// Count links by type
|
|
312
422
|
const linksByType = {};
|
|
313
423
|
for (const resource of this.resourcesByPath.values()) {
|
|
@@ -322,8 +432,6 @@ export class ResourceRegistry {
|
|
|
322
432
|
linksByType,
|
|
323
433
|
issues,
|
|
324
434
|
errorCount,
|
|
325
|
-
warningCount,
|
|
326
|
-
infoCount,
|
|
327
435
|
passed: errorCount === 0,
|
|
328
436
|
durationMs,
|
|
329
437
|
timestamp: new Date(),
|
|
@@ -595,6 +703,67 @@ export class ResourceRegistry {
|
|
|
595
703
|
linksByType,
|
|
596
704
|
};
|
|
597
705
|
}
|
|
706
|
+
/**
|
|
707
|
+
* Get collection-level statistics.
|
|
708
|
+
*
|
|
709
|
+
* Returns undefined if collections are not configured in the project config.
|
|
710
|
+
*
|
|
711
|
+
* @returns Collection statistics or undefined if no collections configured
|
|
712
|
+
*
|
|
713
|
+
* @example
|
|
714
|
+
* ```typescript
|
|
715
|
+
* const collectionStats = registry.getCollectionStats();
|
|
716
|
+
* if (collectionStats) {
|
|
717
|
+
* console.log(`Total collections: ${collectionStats.totalCollections}`);
|
|
718
|
+
* console.log(`Resources in collections: ${collectionStats.resourcesInCollections}`);
|
|
719
|
+
* for (const [id, stat] of Object.entries(collectionStats.collections)) {
|
|
720
|
+
* console.log(`${id}: ${stat.resourceCount} resources`);
|
|
721
|
+
* }
|
|
722
|
+
* }
|
|
723
|
+
* ```
|
|
724
|
+
*/
|
|
725
|
+
getCollectionStats() {
|
|
726
|
+
if (!this.config?.resources?.collections) {
|
|
727
|
+
return undefined;
|
|
728
|
+
}
|
|
729
|
+
// Group resources by collection
|
|
730
|
+
const collectionMap = new Map();
|
|
731
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
732
|
+
if (resource.collections) {
|
|
733
|
+
for (const collectionId of resource.collections) {
|
|
734
|
+
const resources = collectionMap.get(collectionId) ?? [];
|
|
735
|
+
resources.push(resource);
|
|
736
|
+
collectionMap.set(collectionId, resources);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
// Build stats per collection
|
|
741
|
+
const collections = {};
|
|
742
|
+
for (const [id, resources] of collectionMap.entries()) {
|
|
743
|
+
const collection = this.config.resources.collections[id];
|
|
744
|
+
const stat = {
|
|
745
|
+
resourceCount: resources.length,
|
|
746
|
+
hasSchema: !!collection?.validation?.frontmatterSchema,
|
|
747
|
+
};
|
|
748
|
+
// Only add validationMode if it's defined (exactOptionalPropertyTypes requirement)
|
|
749
|
+
if (collection?.validation?.mode !== undefined) {
|
|
750
|
+
stat.validationMode = collection.validation.mode;
|
|
751
|
+
}
|
|
752
|
+
collections[id] = stat;
|
|
753
|
+
}
|
|
754
|
+
// Calculate total unique resources in collections (a resource may be in multiple collections)
|
|
755
|
+
const uniqueResourcesInCollections = new Set();
|
|
756
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
757
|
+
if (resource.collections && resource.collections.length > 0) {
|
|
758
|
+
uniqueResourcesInCollections.add(resource.filePath);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
return {
|
|
762
|
+
totalCollections: Object.keys(this.config.resources.collections).length,
|
|
763
|
+
resourcesInCollections: uniqueResourcesInCollections.size,
|
|
764
|
+
collections,
|
|
765
|
+
};
|
|
766
|
+
}
|
|
598
767
|
/**
|
|
599
768
|
* Generate a unique ID from a file path.
|
|
600
769
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-registry.js","sourceRoot":"","sources":["../src/resource-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-registry.js","sourceRoot":"","sources":["../src/resource-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema assignment pipeline for resources
|
|
3
|
+
*
|
|
4
|
+
* Handles the multi-source schema assignment:
|
|
5
|
+
* 1. Self-asserted schemas (from $schema field in frontmatter)
|
|
6
|
+
* 2. Collection-imposed schemas (from collection config)
|
|
7
|
+
* 3. CLI-imposed schemas (from --frontmatter-schema flag)
|
|
8
|
+
*
|
|
9
|
+
* Each resource can have multiple schemas from different sources,
|
|
10
|
+
* and each is validated independently.
|
|
11
|
+
*/
|
|
12
|
+
import type { CollectionConfig } from './schemas/project-config.js';
|
|
13
|
+
import type { SchemaReference } from './types/resources.js';
|
|
14
|
+
/**
|
|
15
|
+
* Add collection-imposed schema to a resource's schema list
|
|
16
|
+
*
|
|
17
|
+
* @param existingSchemas - Current schemas (including self-asserted)
|
|
18
|
+
* @param collectionName - Name of the collection
|
|
19
|
+
* @param collectionConfig - Collection configuration
|
|
20
|
+
* @returns Updated schema list with collection schema added (if defined)
|
|
21
|
+
*/
|
|
22
|
+
export declare function addCollectionSchema(existingSchemas: SchemaReference[], collectionName: string, collectionConfig: CollectionConfig): SchemaReference[];
|
|
23
|
+
/**
|
|
24
|
+
* Add CLI-imposed schema to a resource's schema list
|
|
25
|
+
*
|
|
26
|
+
* @param existingSchemas - Current schemas (including self-asserted and collection)
|
|
27
|
+
* @param schemaPath - Path to schema from CLI flag
|
|
28
|
+
* @returns Updated schema list with CLI schema added
|
|
29
|
+
*/
|
|
30
|
+
export declare function addCLISchema(existingSchemas: SchemaReference[], schemaPath: string): SchemaReference[];
|
|
31
|
+
/**
|
|
32
|
+
* Apply schema assignments to a resource
|
|
33
|
+
*
|
|
34
|
+
* Pipeline order:
|
|
35
|
+
* 1. Self-asserted (already in resource.schemas from parser)
|
|
36
|
+
* 2. Collection-imposed (from each collection the resource belongs to)
|
|
37
|
+
* 3. CLI-imposed (from --frontmatter-schema flag)
|
|
38
|
+
*
|
|
39
|
+
* Deduplicates schemas by path - same schema from multiple sources
|
|
40
|
+
* only appears once (first source wins).
|
|
41
|
+
*
|
|
42
|
+
* @param resourceSchemas - Current schemas (from parser)
|
|
43
|
+
* @param collections - Collections this resource belongs to
|
|
44
|
+
* @param collectionsConfig - Collection configurations
|
|
45
|
+
* @param cliSchema - Optional CLI-imposed schema
|
|
46
|
+
* @returns Complete list of schemas to validate
|
|
47
|
+
*/
|
|
48
|
+
export declare function assignSchemas(resourceSchemas: SchemaReference[], collections: string[], collectionsConfig: Record<string, CollectionConfig>, cliSchema?: string): SchemaReference[];
|
|
49
|
+
//# sourceMappingURL=schema-assignment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-assignment.d.ts","sourceRoot":"","sources":["../src/schema-assignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,eAAe,EAAE,EAClC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,GACjC,eAAe,EAAE,CAsBnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,eAAe,EAAE,eAAe,EAAE,EAClC,UAAU,EAAE,MAAM,GACjB,eAAe,EAAE,CAgBnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,eAAe,EAAE,EAClC,WAAW,EAAE,MAAM,EAAE,EACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACnD,SAAS,CAAC,EAAE,MAAM,GACjB,eAAe,EAAE,CAiBnB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema assignment pipeline for resources
|
|
3
|
+
*
|
|
4
|
+
* Handles the multi-source schema assignment:
|
|
5
|
+
* 1. Self-asserted schemas (from $schema field in frontmatter)
|
|
6
|
+
* 2. Collection-imposed schemas (from collection config)
|
|
7
|
+
* 3. CLI-imposed schemas (from --frontmatter-schema flag)
|
|
8
|
+
*
|
|
9
|
+
* Each resource can have multiple schemas from different sources,
|
|
10
|
+
* and each is validated independently.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Add collection-imposed schema to a resource's schema list
|
|
14
|
+
*
|
|
15
|
+
* @param existingSchemas - Current schemas (including self-asserted)
|
|
16
|
+
* @param collectionName - Name of the collection
|
|
17
|
+
* @param collectionConfig - Collection configuration
|
|
18
|
+
* @returns Updated schema list with collection schema added (if defined)
|
|
19
|
+
*/
|
|
20
|
+
export function addCollectionSchema(existingSchemas, collectionName, collectionConfig) {
|
|
21
|
+
const schemaPath = collectionConfig.validation?.frontmatterSchema;
|
|
22
|
+
if (!schemaPath) {
|
|
23
|
+
return existingSchemas;
|
|
24
|
+
}
|
|
25
|
+
// Check if this schema is already present from any source
|
|
26
|
+
const alreadyExists = existingSchemas.some((ref) => ref.schema === schemaPath);
|
|
27
|
+
if (alreadyExists) {
|
|
28
|
+
return existingSchemas;
|
|
29
|
+
}
|
|
30
|
+
// Add collection-imposed schema
|
|
31
|
+
return [
|
|
32
|
+
...existingSchemas,
|
|
33
|
+
{
|
|
34
|
+
schema: schemaPath,
|
|
35
|
+
source: collectionName,
|
|
36
|
+
applied: false,
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Add CLI-imposed schema to a resource's schema list
|
|
42
|
+
*
|
|
43
|
+
* @param existingSchemas - Current schemas (including self-asserted and collection)
|
|
44
|
+
* @param schemaPath - Path to schema from CLI flag
|
|
45
|
+
* @returns Updated schema list with CLI schema added
|
|
46
|
+
*/
|
|
47
|
+
export function addCLISchema(existingSchemas, schemaPath) {
|
|
48
|
+
// Check if this schema is already present from any source
|
|
49
|
+
const alreadyExists = existingSchemas.some((ref) => ref.schema === schemaPath);
|
|
50
|
+
if (alreadyExists) {
|
|
51
|
+
return existingSchemas;
|
|
52
|
+
}
|
|
53
|
+
// Add CLI-imposed schema
|
|
54
|
+
return [
|
|
55
|
+
...existingSchemas,
|
|
56
|
+
{
|
|
57
|
+
schema: schemaPath,
|
|
58
|
+
source: 'cli',
|
|
59
|
+
applied: false,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Apply schema assignments to a resource
|
|
65
|
+
*
|
|
66
|
+
* Pipeline order:
|
|
67
|
+
* 1. Self-asserted (already in resource.schemas from parser)
|
|
68
|
+
* 2. Collection-imposed (from each collection the resource belongs to)
|
|
69
|
+
* 3. CLI-imposed (from --frontmatter-schema flag)
|
|
70
|
+
*
|
|
71
|
+
* Deduplicates schemas by path - same schema from multiple sources
|
|
72
|
+
* only appears once (first source wins).
|
|
73
|
+
*
|
|
74
|
+
* @param resourceSchemas - Current schemas (from parser)
|
|
75
|
+
* @param collections - Collections this resource belongs to
|
|
76
|
+
* @param collectionsConfig - Collection configurations
|
|
77
|
+
* @param cliSchema - Optional CLI-imposed schema
|
|
78
|
+
* @returns Complete list of schemas to validate
|
|
79
|
+
*/
|
|
80
|
+
export function assignSchemas(resourceSchemas, collections, collectionsConfig, cliSchema) {
|
|
81
|
+
let schemas = resourceSchemas;
|
|
82
|
+
// Add collection-imposed schemas
|
|
83
|
+
for (const collectionName of collections) {
|
|
84
|
+
const collectionConfig = collectionsConfig[collectionName];
|
|
85
|
+
if (collectionConfig) {
|
|
86
|
+
schemas = addCollectionSchema(schemas, collectionName, collectionConfig);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Add CLI-imposed schema
|
|
90
|
+
if (cliSchema) {
|
|
91
|
+
schemas = addCLISchema(schemas, cliSchema);
|
|
92
|
+
}
|
|
93
|
+
return schemas;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=schema-assignment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-assignment.js","sourceRoot":"","sources":["../src/schema-assignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAAkC,EAClC,cAAsB,EACtB,gBAAkC;IAElC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAElE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,0DAA0D;IAC1D,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,OAAO;QACL,GAAG,eAAe;QAClB;YACE,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,KAAK;SACf;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,eAAkC,EAClC,UAAkB;IAElB,0DAA0D;IAC1D,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,yBAAyB;IACzB,OAAO;QACL,GAAG,eAAe;QAClB;YACE,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;SACf;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAC3B,eAAkC,EAClC,WAAqB,EACrB,iBAAmD,EACnD,SAAkB;IAElB,IAAI,OAAO,GAAG,eAAe,CAAC;IAE9B,iCAAiC;IACjC,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|