@vibe-agent-toolkit/resources 0.1.38 → 0.1.39-rc.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.
- package/README.md +33 -24
- package/dist/frontmatter-link-validator.d.ts +9 -9
- package/dist/frontmatter-link-validator.d.ts.map +1 -1
- package/dist/frontmatter-link-validator.js +28 -27
- package/dist/frontmatter-link-validator.js.map +1 -1
- package/dist/frontmatter-validator.d.ts +3 -2
- package/dist/frontmatter-validator.d.ts.map +1 -1
- package/dist/frontmatter-validator.js +8 -14
- package/dist/frontmatter-validator.js.map +1 -1
- package/dist/html-link-parser.d.ts +47 -0
- package/dist/html-link-parser.d.ts.map +1 -0
- package/dist/html-link-parser.js +111 -0
- package/dist/html-link-parser.js.map +1 -0
- package/dist/html-transform.d.ts +45 -0
- package/dist/html-transform.d.ts.map +1 -0
- package/dist/html-transform.js +116 -0
- package/dist/html-transform.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/link-parser.d.ts +26 -2
- package/dist/link-parser.d.ts.map +1 -1
- package/dist/link-parser.js +40 -6
- package/dist/link-parser.js.map +1 -1
- package/dist/link-validator.d.ts +53 -6
- package/dist/link-validator.d.ts.map +1 -1
- package/dist/link-validator.js +100 -131
- package/dist/link-validator.js.map +1 -1
- package/dist/multi-schema-validator.d.ts.map +1 -1
- package/dist/multi-schema-validator.js +6 -8
- package/dist/multi-schema-validator.js.map +1 -1
- package/dist/resource-registry.d.ts +56 -13
- package/dist/resource-registry.d.ts.map +1 -1
- package/dist/resource-registry.js +165 -66
- package/dist/resource-registry.js.map +1 -1
- package/dist/schemas/link-auth.d.ts +382 -0
- package/dist/schemas/link-auth.d.ts.map +1 -0
- package/dist/schemas/link-auth.js +124 -0
- package/dist/schemas/link-auth.js.map +1 -0
- package/dist/schemas/project-config.d.ts +3277 -171
- package/dist/schemas/project-config.d.ts.map +1 -1
- package/dist/schemas/project-config.js +68 -0
- package/dist/schemas/project-config.js.map +1 -1
- package/dist/schemas/resource-metadata.d.ts +46 -10
- package/dist/schemas/resource-metadata.d.ts.map +1 -1
- package/dist/schemas/resource-metadata.js +14 -1
- package/dist/schemas/resource-metadata.js.map +1 -1
- package/dist/schemas/validation-result.d.ts +36 -57
- package/dist/schemas/validation-result.d.ts.map +1 -1
- package/dist/schemas/validation-result.js +5 -27
- package/dist/schemas/validation-result.js.map +1 -1
- package/dist/types/resources.d.ts +1 -1
- package/dist/types/resources.d.ts.map +1 -1
- package/dist/types/resources.js.map +1 -1
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +14 -0
- package/dist/utils.js.map +1 -1
- package/package.json +4 -3
- package/src/frontmatter-link-validator.ts +28 -30
- package/src/frontmatter-validator.ts +19 -16
- package/src/html-link-parser.ts +140 -0
- package/src/html-transform.ts +157 -0
- package/src/index.ts +10 -1
- package/src/link-parser.ts +60 -11
- package/src/link-validator.ts +175 -145
- package/src/multi-schema-validator.ts +10 -8
- package/src/resource-registry.ts +205 -72
- package/src/schemas/link-auth.ts +146 -0
- package/src/schemas/project-config.ts +76 -0
- package/src/schemas/resource-metadata.ts +17 -1
- package/src/schemas/validation-result.ts +5 -29
- package/src/types/resources.ts +2 -1
- package/src/utils.ts +15 -0
|
@@ -8,15 +8,36 @@
|
|
|
8
8
|
* - Query capabilities (by path, ID, or glob pattern)
|
|
9
9
|
*/
|
|
10
10
|
import path from 'node:path';
|
|
11
|
+
import { createRegistryIssue, runValidationFramework } from '@vibe-agent-toolkit/agent-schema';
|
|
11
12
|
import { crawlDirectory, normalizedTmpdir, resolveAssetReference, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
12
13
|
import { calculateChecksum } from './checksum.js';
|
|
13
14
|
import { getCollectionsForFile } from './collection-matcher.js';
|
|
14
15
|
import { ExternalLinkValidator } from './external-link-validator.js';
|
|
15
16
|
import { validateFrontmatterLinks, } from './frontmatter-link-validator.js';
|
|
16
17
|
import { validateFrontmatter } from './frontmatter-validator.js';
|
|
18
|
+
import { parseHtml } from './html-link-parser.js';
|
|
17
19
|
import { parseMarkdown } from './link-parser.js';
|
|
18
|
-
import { validateLink } from './link-validator.js';
|
|
19
|
-
import { matchesGlobPattern, splitHrefAnchor } from './utils.js';
|
|
20
|
+
import { fragmentIndexEntry, validateLink } from './link-validator.js';
|
|
21
|
+
import { issueLocation, matchesGlobPattern, splitHrefAnchor } from './utils.js';
|
|
22
|
+
/**
|
|
23
|
+
* Typed error thrown when two resources produce the same ID.
|
|
24
|
+
*
|
|
25
|
+
* Carries the authoritative id and both paths so callers can record accurate
|
|
26
|
+
* issue data without re-deriving the id from the file path (which would be
|
|
27
|
+
* wrong when the id came from a frontmatter `idField` value).
|
|
28
|
+
*/
|
|
29
|
+
export class DuplicateResourceIdError extends Error {
|
|
30
|
+
id;
|
|
31
|
+
existingPath;
|
|
32
|
+
conflictingPath;
|
|
33
|
+
constructor(id, conflictingPath, existingPath) {
|
|
34
|
+
super(`Duplicate resource ID '${id}': '${conflictingPath}' conflicts with '${existingPath}'`);
|
|
35
|
+
this.name = 'DuplicateResourceIdError';
|
|
36
|
+
this.id = id;
|
|
37
|
+
this.existingPath = existingPath;
|
|
38
|
+
this.conflictingPath = conflictingPath;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
20
41
|
/**
|
|
21
42
|
* Resource registry for managing collections of markdown resources.
|
|
22
43
|
*
|
|
@@ -65,6 +86,11 @@ export class ResourceRegistry {
|
|
|
65
86
|
* collectExternalUrls so the URLs feed into the existing health-check pass.
|
|
66
87
|
*/
|
|
67
88
|
frontmatterExternalUrlsByResource = new Map();
|
|
89
|
+
/**
|
|
90
|
+
* Collisions recorded by addResources() when two files produce the same resource id.
|
|
91
|
+
* Cleared by clear(). Surfaced as DUPLICATE_RESOURCE_ID issues in validate().
|
|
92
|
+
*/
|
|
93
|
+
duplicateIdCollisions = [];
|
|
68
94
|
constructor(options) {
|
|
69
95
|
if (options?.baseDir !== undefined) {
|
|
70
96
|
this.baseDir = options.baseDir;
|
|
@@ -122,7 +148,7 @@ export class ResourceRegistry {
|
|
|
122
148
|
// Check for duplicate ID
|
|
123
149
|
const existingById = registry.resourcesById.get(resource.id);
|
|
124
150
|
if (existingById) {
|
|
125
|
-
throw new
|
|
151
|
+
throw new DuplicateResourceIdError(resource.id, resource.filePath, existingById.filePath);
|
|
126
152
|
}
|
|
127
153
|
// Add to path index
|
|
128
154
|
registry.resourcesByPath.set(resource.filePath, resource);
|
|
@@ -180,14 +206,18 @@ export class ResourceRegistry {
|
|
|
180
206
|
async addResource(filePath) {
|
|
181
207
|
// Normalize path to absolute
|
|
182
208
|
const absolutePath = safePath.resolve(filePath);
|
|
183
|
-
// Parse the
|
|
184
|
-
const
|
|
209
|
+
// Parse the file — HTML or markdown depending on extension
|
|
210
|
+
const lowerPath = absolutePath.toLowerCase();
|
|
211
|
+
const isHtml = lowerPath.endsWith('.html') || lowerPath.endsWith('.htm');
|
|
212
|
+
const parseResult = isHtml
|
|
213
|
+
? await parseHtml(absolutePath)
|
|
214
|
+
: await parseMarkdown(absolutePath);
|
|
185
215
|
// Generate ID using priority chain: frontmatter field → relative path → filename stem
|
|
186
216
|
const id = this.generateId(absolutePath, parseResult.frontmatter);
|
|
187
217
|
// Check for duplicate ID (allow re-adding same file path)
|
|
188
218
|
const existingById = this.resourcesById.get(id);
|
|
189
219
|
if (existingById && existingById.filePath !== absolutePath) {
|
|
190
|
-
throw new
|
|
220
|
+
throw new DuplicateResourceIdError(id, absolutePath, existingById.filePath);
|
|
191
221
|
}
|
|
192
222
|
// Get file modified time
|
|
193
223
|
const fs = await import('node:fs/promises');
|
|
@@ -204,6 +234,8 @@ export class ResourceRegistry {
|
|
|
204
234
|
filePath: absolutePath,
|
|
205
235
|
links: parseResult.links,
|
|
206
236
|
headings: parseResult.headings,
|
|
237
|
+
...(parseResult.anchors !== undefined && { anchors: parseResult.anchors }),
|
|
238
|
+
...(parseResult.parseErrors !== undefined && { parseErrors: parseResult.parseErrors }),
|
|
207
239
|
...(parseResult.frontmatter !== undefined && { frontmatter: parseResult.frontmatter }),
|
|
208
240
|
...(parseResult.frontmatterError !== undefined && { frontmatterError: parseResult.frontmatterError }),
|
|
209
241
|
sizeBytes: parseResult.sizeBytes,
|
|
@@ -237,7 +269,22 @@ export class ResourceRegistry {
|
|
|
237
269
|
async addResources(filePaths) {
|
|
238
270
|
const results = [];
|
|
239
271
|
for (const fp of filePaths) {
|
|
240
|
-
|
|
272
|
+
try {
|
|
273
|
+
results.push(await this.addResource(fp));
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
if (error instanceof DuplicateResourceIdError) {
|
|
277
|
+
this.duplicateIdCollisions.push({
|
|
278
|
+
id: error.id,
|
|
279
|
+
existingPath: error.existingPath,
|
|
280
|
+
conflictingPath: error.conflictingPath,
|
|
281
|
+
});
|
|
282
|
+
// First-added wins; skip conflicting file and continue crawling.
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
throw error;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
241
288
|
}
|
|
242
289
|
return results;
|
|
243
290
|
}
|
|
@@ -258,7 +305,7 @@ export class ResourceRegistry {
|
|
|
258
305
|
* ```
|
|
259
306
|
*/
|
|
260
307
|
async crawl(options) {
|
|
261
|
-
const { baseDir, include = ['**/*.md'], exclude = ['**/node_modules/**', '**/.git/**', '**/dist/**'], followSymlinks = false, } = options;
|
|
308
|
+
const { baseDir, include = ['**/*.md', '**/*.html', '**/*.htm'], exclude = ['**/node_modules/**', '**/.git/**', '**/dist/**'], followSymlinks = false, } = options;
|
|
262
309
|
// Propagate baseDir to registry if not already set (enables path-relative IDs)
|
|
263
310
|
if (baseDir && !this.baseDir) {
|
|
264
311
|
this.baseDir = baseDir;
|
|
@@ -284,22 +331,39 @@ export class ResourceRegistry {
|
|
|
284
331
|
const issues = [];
|
|
285
332
|
for (const resource of this.resourcesByPath.values()) {
|
|
286
333
|
if (resource.frontmatterError) {
|
|
287
|
-
issues.push({
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
334
|
+
issues.push(createRegistryIssue('FRONTMATTER_INVALID_YAML', `Invalid YAML syntax in frontmatter: ${resource.frontmatterError}`, { location: issueLocation(resource.filePath, this.baseDir), line: 1 }));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
return issues;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Emit MALFORMED_HTML issues from each resource's HTML parse errors.
|
|
341
|
+
* @private
|
|
342
|
+
*/
|
|
343
|
+
collectHtmlParseErrors() {
|
|
344
|
+
const issues = [];
|
|
345
|
+
for (const resource of this.resourcesByPath.values()) {
|
|
346
|
+
for (const parseError of resource.parseErrors ?? []) {
|
|
347
|
+
issues.push(createRegistryIssue('MALFORMED_HTML', `Malformed HTML: ${parseError.message}`, {
|
|
348
|
+
location: issueLocation(resource.filePath, this.baseDir),
|
|
349
|
+
...(parseError.line !== undefined && { line: parseError.line }),
|
|
350
|
+
}));
|
|
294
351
|
}
|
|
295
352
|
}
|
|
296
353
|
return issues;
|
|
297
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Emit DUPLICATE_RESOURCE_ID errors for collisions recorded by addResources().
|
|
357
|
+
* @private
|
|
358
|
+
*/
|
|
359
|
+
collectDuplicateIdErrors() {
|
|
360
|
+
return this.duplicateIdCollisions.map(({ id, existingPath, conflictingPath }) => createRegistryIssue('DUPLICATE_RESOURCE_ID', `Two files resolve to the same resource id '${id}': '${issueLocation(existingPath, this.baseDir)}' and '${issueLocation(conflictingPath, this.baseDir)}'. Rename one of the files so they produce distinct resource ids.`));
|
|
361
|
+
}
|
|
298
362
|
/**
|
|
299
363
|
* Validate all links in all resources.
|
|
300
364
|
* @private
|
|
301
365
|
*/
|
|
302
|
-
async validateAllLinks(
|
|
366
|
+
async validateAllLinks(fragmentsByFile, skipGitIgnoreCheck) {
|
|
303
367
|
const issues = [];
|
|
304
368
|
for (const resource of this.resourcesByPath.values()) {
|
|
305
369
|
for (const link of resource.links) {
|
|
@@ -311,7 +375,7 @@ export class ResourceRegistry {
|
|
|
311
375
|
skipGitIgnoreCheck,
|
|
312
376
|
...(this.gitTracker !== undefined && { gitTracker: this.gitTracker })
|
|
313
377
|
};
|
|
314
|
-
const issue = await validateLink(link, resource.filePath,
|
|
378
|
+
const issue = await validateLink(link, resource.filePath, fragmentsByFile, validateOptions);
|
|
315
379
|
if (issue) {
|
|
316
380
|
issues.push(issue);
|
|
317
381
|
}
|
|
@@ -326,7 +390,7 @@ export class ResourceRegistry {
|
|
|
326
390
|
validateAllFrontmatter(schema, mode = 'strict') {
|
|
327
391
|
const issues = [];
|
|
328
392
|
for (const resource of this.resourcesByPath.values()) {
|
|
329
|
-
const frontmatterIssues = validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode);
|
|
393
|
+
const frontmatterIssues = validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode, undefined, this.baseDir);
|
|
330
394
|
issues.push(...frontmatterIssues);
|
|
331
395
|
}
|
|
332
396
|
return issues;
|
|
@@ -335,7 +399,7 @@ export class ResourceRegistry {
|
|
|
335
399
|
* Validate frontmatter against per-collection schemas.
|
|
336
400
|
* @private
|
|
337
401
|
*/
|
|
338
|
-
async validateCollectionFrontmatter(
|
|
402
|
+
async validateCollectionFrontmatter(fragmentsByFile, skipGitIgnoreCheck) {
|
|
339
403
|
const issues = [];
|
|
340
404
|
// Skip if no config
|
|
341
405
|
if (!this.config?.resources?.collections) {
|
|
@@ -348,7 +412,7 @@ export class ResourceRegistry {
|
|
|
348
412
|
continue;
|
|
349
413
|
}
|
|
350
414
|
// Validate against each collection's schema
|
|
351
|
-
const collectionIssues = await this.validateResourceCollectionSchemas(resource, fsPromises,
|
|
415
|
+
const collectionIssues = await this.validateResourceCollectionSchemas(resource, fsPromises, fragmentsByFile, skipGitIgnoreCheck);
|
|
352
416
|
issues.push(...collectionIssues);
|
|
353
417
|
}
|
|
354
418
|
return issues;
|
|
@@ -357,7 +421,7 @@ export class ResourceRegistry {
|
|
|
357
421
|
* Validate a single resource against its collection schemas.
|
|
358
422
|
* @private
|
|
359
423
|
*/
|
|
360
|
-
async validateResourceCollectionSchemas(resource, fsModule,
|
|
424
|
+
async validateResourceCollectionSchemas(resource, fsModule, fragmentsByFile, skipGitIgnoreCheck) {
|
|
361
425
|
const issues = [];
|
|
362
426
|
if (!resource.collections || !this.config?.resources?.collections) {
|
|
363
427
|
return issues;
|
|
@@ -368,7 +432,7 @@ export class ResourceRegistry {
|
|
|
368
432
|
if (!collection?.validation?.frontmatterSchema) {
|
|
369
433
|
continue;
|
|
370
434
|
}
|
|
371
|
-
const collectionIssues = await this.validateAgainstCollectionSchema(resource, collection.validation, fsModule,
|
|
435
|
+
const collectionIssues = await this.validateAgainstCollectionSchema(resource, collection.validation, fsModule, fragmentsByFile, skipGitIgnoreCheck);
|
|
372
436
|
issues.push(...collectionIssues);
|
|
373
437
|
}
|
|
374
438
|
return issues;
|
|
@@ -377,7 +441,7 @@ export class ResourceRegistry {
|
|
|
377
441
|
* Validate resource frontmatter against a specific collection schema.
|
|
378
442
|
* @private
|
|
379
443
|
*/
|
|
380
|
-
async validateAgainstCollectionSchema(resource, validation, fsModule,
|
|
444
|
+
async validateAgainstCollectionSchema(resource, validation, fsModule, fragmentsByFile, skipGitIgnoreCheck) {
|
|
381
445
|
if (!validation?.frontmatterSchema) {
|
|
382
446
|
return [];
|
|
383
447
|
}
|
|
@@ -388,7 +452,7 @@ export class ResourceRegistry {
|
|
|
388
452
|
// Determine validation mode (default to permissive)
|
|
389
453
|
const mode = validation.mode ?? 'permissive';
|
|
390
454
|
// Validate frontmatter against JSON Schema
|
|
391
|
-
const issues = validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode, schemaPath);
|
|
455
|
+
const issues = validateFrontmatter(resource.frontmatter, schema, resource.filePath, mode, schemaPath, this.baseDir);
|
|
392
456
|
// New: walk URI-family frontmatter values. Default-on; explicit `false` disables.
|
|
393
457
|
if (validation.checkFrontmatterLinks !== false && resource.frontmatter) {
|
|
394
458
|
const linkOptions = this.baseDir === undefined
|
|
@@ -398,7 +462,7 @@ export class ResourceRegistry {
|
|
|
398
462
|
skipGitIgnoreCheck,
|
|
399
463
|
...(this.gitTracker !== undefined && { gitTracker: this.gitTracker }),
|
|
400
464
|
};
|
|
401
|
-
const { issues: linkIssues, externalUrls } = await validateFrontmatterLinks(resource.frontmatter, schema, resource.filePath,
|
|
465
|
+
const { issues: linkIssues, externalUrls } = await validateFrontmatterLinks(resource.frontmatter, schema, resource.filePath, fragmentsByFile, linkOptions);
|
|
402
466
|
issues.push(...linkIssues);
|
|
403
467
|
if (externalUrls.length > 0) {
|
|
404
468
|
const prior = this.frontmatterExternalUrlsByResource.get(resource.filePath) ?? [];
|
|
@@ -410,13 +474,9 @@ export class ResourceRegistry {
|
|
|
410
474
|
catch (error) {
|
|
411
475
|
// Handle missing or invalid schema files gracefully
|
|
412
476
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
413
|
-
return [
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
type: 'frontmatter_schema_error',
|
|
417
|
-
link: '',
|
|
418
|
-
message: `Failed to load or parse frontmatter schema '${validation.frontmatterSchema}': ${errorMessage}`,
|
|
419
|
-
}];
|
|
477
|
+
return [
|
|
478
|
+
createRegistryIssue('FRONTMATTER_SCHEMA_ERROR', `Failed to load or parse frontmatter schema '${validation.frontmatterSchema}': ${errorMessage}`, { location: issueLocation(resource.filePath, this.baseDir), line: 1 }),
|
|
479
|
+
];
|
|
420
480
|
}
|
|
421
481
|
}
|
|
422
482
|
/**
|
|
@@ -452,19 +512,21 @@ export class ResourceRegistry {
|
|
|
452
512
|
*/
|
|
453
513
|
async validate(options) {
|
|
454
514
|
const startTime = Date.now();
|
|
455
|
-
// Build
|
|
456
|
-
const
|
|
515
|
+
// Build fragment index for anchor validation
|
|
516
|
+
const fragmentsByFile = this.buildFragmentIndex();
|
|
457
517
|
// Reset frontmatter external URL state for this validation run
|
|
458
518
|
this.frontmatterExternalUrlsByResource.clear();
|
|
459
519
|
// Collect all validation issues
|
|
460
520
|
const issues = [];
|
|
461
|
-
//
|
|
462
|
-
|
|
521
|
+
// Surface parse-time diagnostics: YAML frontmatter errors first, then HTML
|
|
522
|
+
// well-formedness, then duplicate-id collisions. Combined into one push() call
|
|
523
|
+
// (SonarCloud S7778).
|
|
524
|
+
issues.push(...this.collectYamlErrors(), ...this.collectHtmlParseErrors(), ...this.collectDuplicateIdErrors());
|
|
463
525
|
// Validate each link in each resource
|
|
464
|
-
const linkIssues = await this.validateAllLinks(
|
|
526
|
+
const linkIssues = await this.validateAllLinks(fragmentsByFile, options?.skipGitIgnoreCheck ?? false);
|
|
465
527
|
issues.push(...linkIssues);
|
|
466
528
|
// Per-collection frontmatter validation
|
|
467
|
-
const collectionFrontmatterIssues = await this.validateCollectionFrontmatter(
|
|
529
|
+
const collectionFrontmatterIssues = await this.validateCollectionFrontmatter(fragmentsByFile, options?.skipGitIgnoreCheck ?? false);
|
|
468
530
|
issues.push(...collectionFrontmatterIssues);
|
|
469
531
|
// Global frontmatter validation (if schema provided)
|
|
470
532
|
if (options?.frontmatterSchema) {
|
|
@@ -476,8 +538,11 @@ export class ResourceRegistry {
|
|
|
476
538
|
const externalUrlIssues = await this.validateExternalUrls(options.noCache ?? false);
|
|
477
539
|
issues.push(...externalUrlIssues);
|
|
478
540
|
}
|
|
479
|
-
//
|
|
480
|
-
|
|
541
|
+
// Resolve severity + apply allow-filter INSIDE the library (not the CLI).
|
|
542
|
+
// `emitted` = post-allow-filter, severity-resolved, with `ignore`d dropped.
|
|
543
|
+
const framework = runValidationFramework(issues, options?.validationConfig ?? {});
|
|
544
|
+
const emitted = framework.emitted;
|
|
545
|
+
const errorCount = emitted.length;
|
|
481
546
|
// Count links by type
|
|
482
547
|
const linksByType = {};
|
|
483
548
|
for (const resource of this.resourcesByPath.values()) {
|
|
@@ -490,9 +555,10 @@ export class ResourceRegistry {
|
|
|
490
555
|
totalResources: this.resourcesByPath.size,
|
|
491
556
|
totalLinks: [...this.resourcesByPath.values()].reduce((sum, r) => sum + r.links.length, 0),
|
|
492
557
|
linksByType,
|
|
493
|
-
issues,
|
|
558
|
+
issues: emitted,
|
|
494
559
|
errorCount,
|
|
495
560
|
passed: errorCount === 0,
|
|
561
|
+
hasErrors: framework.hasErrors,
|
|
496
562
|
durationMs,
|
|
497
563
|
timestamp: new Date(),
|
|
498
564
|
};
|
|
@@ -577,33 +643,31 @@ export class ResourceRegistry {
|
|
|
577
643
|
if (!locations) {
|
|
578
644
|
continue;
|
|
579
645
|
}
|
|
580
|
-
const
|
|
646
|
+
const issueCode = this.determineExternalUrlIssueCode(result.statusCode, result.error);
|
|
581
647
|
const errorMessage = result.error ?? `HTTP ${result.statusCode}`;
|
|
582
648
|
for (const location of locations) {
|
|
583
|
-
issues.push({
|
|
584
|
-
|
|
585
|
-
line: location.line,
|
|
586
|
-
type: issueType,
|
|
649
|
+
issues.push(createRegistryIssue(issueCode, `External URL failed: ${errorMessage}`, {
|
|
650
|
+
location: issueLocation(location.resourcePath, this.baseDir),
|
|
587
651
|
link: result.url,
|
|
588
|
-
|
|
589
|
-
});
|
|
652
|
+
...(location.line !== undefined && { line: location.line }),
|
|
653
|
+
}));
|
|
590
654
|
}
|
|
591
655
|
}
|
|
592
656
|
return issues;
|
|
593
657
|
}
|
|
594
658
|
/**
|
|
595
|
-
* Determine issue
|
|
659
|
+
* Determine the registry issue code based on the external-URL validation error.
|
|
596
660
|
* @private
|
|
597
661
|
*/
|
|
598
|
-
|
|
662
|
+
determineExternalUrlIssueCode(statusCode, error) {
|
|
599
663
|
if (statusCode === 0) {
|
|
600
664
|
const errorLower = error?.toString().toLowerCase();
|
|
601
665
|
if (errorLower?.includes('timeout')) {
|
|
602
|
-
return '
|
|
666
|
+
return 'EXTERNAL_URL_TIMEOUT';
|
|
603
667
|
}
|
|
604
|
-
return '
|
|
668
|
+
return 'EXTERNAL_URL_ERROR';
|
|
605
669
|
}
|
|
606
|
-
return '
|
|
670
|
+
return 'EXTERNAL_URL_DEAD';
|
|
607
671
|
}
|
|
608
672
|
/**
|
|
609
673
|
* Resolve links between resources in the registry.
|
|
@@ -761,6 +825,7 @@ export class ResourceRegistry {
|
|
|
761
825
|
this.resourcesById.clear();
|
|
762
826
|
this.resourcesByName.clear();
|
|
763
827
|
this.resourcesByChecksum.clear();
|
|
828
|
+
this.duplicateIdCollisions = [];
|
|
764
829
|
}
|
|
765
830
|
/**
|
|
766
831
|
* Get the number of resources in the registry.
|
|
@@ -951,14 +1016,20 @@ export class ResourceRegistry {
|
|
|
951
1016
|
return generateIdFromPath(filePath, this.baseDir);
|
|
952
1017
|
}
|
|
953
1018
|
/**
|
|
954
|
-
* Build a
|
|
955
|
-
*
|
|
956
|
-
*
|
|
1019
|
+
* Build a format-neutral fragment index for anchor validation: each file's
|
|
1020
|
+
* absolute path → the set of valid fragment targets. Markdown contributes
|
|
1021
|
+
* heading slugs (lowercased); HTML contributes its `id`/`name` anchors.
|
|
957
1022
|
*/
|
|
958
|
-
|
|
1023
|
+
buildFragmentIndex() {
|
|
959
1024
|
const map = new Map();
|
|
960
1025
|
for (const resource of this.resourcesByPath.values()) {
|
|
961
|
-
|
|
1026
|
+
const fragments = new Set();
|
|
1027
|
+
collectHeadingSlugs(resource.headings, fragments);
|
|
1028
|
+
for (const anchor of resource.anchors ?? []) {
|
|
1029
|
+
fragments.add(anchor);
|
|
1030
|
+
}
|
|
1031
|
+
// Policy (case-sensitive ids vs folded slugs) is derived from the file type.
|
|
1032
|
+
map.set(resource.filePath, fragmentIndexEntry(resource.filePath, fragments));
|
|
962
1033
|
}
|
|
963
1034
|
return map;
|
|
964
1035
|
}
|
|
@@ -1011,29 +1082,46 @@ export class ResourceRegistry {
|
|
|
1011
1082
|
return safePath.resolve(sourceDir, filePath);
|
|
1012
1083
|
}
|
|
1013
1084
|
}
|
|
1085
|
+
/** Recursively collect lowercased heading slugs into `out`. */
|
|
1086
|
+
function collectHeadingSlugs(headings, out) {
|
|
1087
|
+
for (const heading of headings) {
|
|
1088
|
+
out.add(heading.slug.toLowerCase());
|
|
1089
|
+
if (heading.children) {
|
|
1090
|
+
collectHeadingSlugs(heading.children, out);
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1014
1094
|
/**
|
|
1015
1095
|
* Generate an ID from a file path.
|
|
1016
1096
|
*
|
|
1097
|
+
* Every resource id includes a `-<ext>` suffix derived from the file extension
|
|
1098
|
+
* (dot stripped, lowercased). This makes ids from different file types distinct
|
|
1099
|
+
* even when the stem is identical (e.g. `foo.md` → `foo-md`, `foo.html` → `foo-html`).
|
|
1100
|
+
* Extensionless files (e.g. `Makefile`) receive no suffix.
|
|
1101
|
+
*
|
|
1017
1102
|
* When `baseDir` is provided, computes a relative path from baseDir and uses the full
|
|
1018
1103
|
* directory structure in the ID. When no `baseDir`, uses the filename stem only.
|
|
1019
1104
|
*
|
|
1020
1105
|
* @param filePath - Absolute file path
|
|
1021
1106
|
* @param baseDir - Base directory for relative path computation (optional)
|
|
1022
|
-
* @returns Generated ID in kebab-case
|
|
1107
|
+
* @returns Generated ID in kebab-case with `-<ext>` suffix
|
|
1023
1108
|
*
|
|
1024
1109
|
* @example
|
|
1025
1110
|
* ```typescript
|
|
1026
|
-
* // Without baseDir: filename stem
|
|
1027
|
-
* generateIdFromPath('/project/docs/User Guide.md') // 'user-guide'
|
|
1028
|
-
* generateIdFromPath('/project/README.md') // 'readme'
|
|
1111
|
+
* // Without baseDir: filename stem + extension suffix
|
|
1112
|
+
* generateIdFromPath('/project/docs/User Guide.md') // 'user-guide-md'
|
|
1113
|
+
* generateIdFromPath('/project/README.md') // 'readme-md'
|
|
1114
|
+
* generateIdFromPath('/project/page.html') // 'page-html'
|
|
1115
|
+
* generateIdFromPath('/project/Makefile') // 'makefile'
|
|
1029
1116
|
*
|
|
1030
|
-
* // With baseDir: relative path
|
|
1031
|
-
* generateIdFromPath('/project/docs/concepts/core/overview.md', '/project/docs') // 'concepts-core-overview'
|
|
1032
|
-
* generateIdFromPath('/project/docs/guide.md', '/project/docs') // 'guide'
|
|
1117
|
+
* // With baseDir: relative path + extension suffix
|
|
1118
|
+
* generateIdFromPath('/project/docs/concepts/core/overview.md', '/project/docs') // 'concepts-core-overview-md'
|
|
1119
|
+
* generateIdFromPath('/project/docs/guide.md', '/project/docs') // 'guide-md'
|
|
1033
1120
|
* ```
|
|
1034
1121
|
*/
|
|
1035
1122
|
export function generateIdFromPath(filePath, baseDir) {
|
|
1036
1123
|
let rawId;
|
|
1124
|
+
let extSuffix = '';
|
|
1037
1125
|
if (baseDir) {
|
|
1038
1126
|
// Compute relative path from baseDir, remove extension
|
|
1039
1127
|
const relativePath = safePath.relative(baseDir, filePath);
|
|
@@ -1041,11 +1129,22 @@ export function generateIdFromPath(filePath, baseDir) {
|
|
|
1041
1129
|
const withoutExt = ext ? relativePath.slice(0, -ext.length) : relativePath;
|
|
1042
1130
|
// Normalize path separators to forward slashes (cross-platform), then replace with hyphens
|
|
1043
1131
|
rawId = toForwardSlash(withoutExt).replaceAll('/', '-');
|
|
1132
|
+
if (ext) {
|
|
1133
|
+
// Strip the leading dot; lowercasing happens in the kebab pipeline below
|
|
1134
|
+
extSuffix = `-${ext.slice(1)}`;
|
|
1135
|
+
}
|
|
1044
1136
|
}
|
|
1045
1137
|
else {
|
|
1046
1138
|
// Fallback: basename only (no directory context)
|
|
1047
|
-
|
|
1139
|
+
const ext = path.extname(filePath);
|
|
1140
|
+
rawId = path.basename(filePath, ext);
|
|
1141
|
+
if (ext) {
|
|
1142
|
+
extSuffix = `-${ext.slice(1)}`;
|
|
1143
|
+
}
|
|
1048
1144
|
}
|
|
1145
|
+
// Append extension suffix before the kebab pipeline so hyphen-collapse and
|
|
1146
|
+
// trim apply uniformly (e.g. suffixed-.md → 'suffixed--md' → 'suffixed-md')
|
|
1147
|
+
rawId = `${rawId}${extSuffix}`;
|
|
1049
1148
|
// Convert to kebab-case:
|
|
1050
1149
|
// 1. Replace underscores and spaces with hyphens
|
|
1051
1150
|
// 2. Convert to lowercase
|
|
@@ -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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"}
|