@vibe-agent-toolkit/resources 0.1.39-rc.1 → 0.1.39-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/frontmatter-link-validator.d.ts +4 -4
- package/dist/frontmatter-link-validator.d.ts.map +1 -1
- package/dist/frontmatter-link-validator.js +3 -3
- package/dist/frontmatter-link-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 +28 -1
- package/dist/link-parser.js.map +1 -1
- package/dist/link-validator.d.ts +50 -3
- package/dist/link-validator.d.ts.map +1 -1
- package/dist/link-validator.js +72 -55
- package/dist/link-validator.js.map +1 -1
- package/dist/resource-registry.d.ts +46 -11
- package/dist/resource-registry.d.ts.map +1 -1
- package/dist/resource-registry.js +140 -34
- 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 +3229 -98
- 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/package.json +4 -3
- package/src/frontmatter-link-validator.ts +5 -5
- 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 +35 -2
- package/src/link-validator.ts +102 -82
- package/src/resource-registry.ts +157 -39
- package/src/schemas/link-auth.ts +146 -0
- package/src/schemas/project-config.ts +76 -0
- package/src/schemas/resource-metadata.ts +17 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/schemas/project-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/schemas/project-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValidationConfigSchema } from '@vibe-agent-toolkit/agent-schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { LinkAuthConfigSchema } from './link-auth.js';
|
|
3
4
|
/**
|
|
4
5
|
* Official semver regex from https://semver.org/ (anchored).
|
|
5
6
|
*
|
|
@@ -83,6 +84,8 @@ export const ResourcesConfigSchema = z.object({
|
|
|
83
84
|
.describe('Named collections of resources'),
|
|
84
85
|
validation: ValidationConfigSchema.optional()
|
|
85
86
|
.describe('Validation framework config: severity overrides and per-code allow entries (applied inside ResourceRegistry.validate)'),
|
|
87
|
+
linkAuth: LinkAuthConfigSchema.optional()
|
|
88
|
+
.describe('Authenticated external link resolution config (issue #113 / link-auth engine)'),
|
|
86
89
|
}).describe('Resources section of project configuration');
|
|
87
90
|
// ---------------------------------------------------------------------------
|
|
88
91
|
// Skill packaging configuration (self-contained — no agent-schema dependency)
|
|
@@ -107,11 +110,73 @@ export const ExcludeReferencesFromBundleSchema = z.object({
|
|
|
107
110
|
* Used for build artifacts, unlinked files, and routing overrides.
|
|
108
111
|
* - source: path relative to project root (where vibe-agent-toolkit.config.yaml lives)
|
|
109
112
|
* - dest: path relative to the skill's output directory (sibling to SKILL.md)
|
|
113
|
+
* - integrity (optional): byte-verify the copied set against the matched source set at build time
|
|
110
114
|
*/
|
|
111
115
|
export const SkillFileEntrySchema = z.object({
|
|
112
116
|
source: z.string().min(1).describe('Source path relative to project root'),
|
|
113
117
|
dest: z.string().min(1).describe('Destination path relative to skill output directory'),
|
|
118
|
+
integrity: z.boolean().optional().describe('When true, the build asserts the copied dest set exactly matches the matched source set and each file is byte-identical (a future copy-time check; late-bound)'),
|
|
114
119
|
});
|
|
120
|
+
/**
|
|
121
|
+
* A typed "skill source" descriptor as it appears in vibe-agent-toolkit.config.yaml.
|
|
122
|
+
*
|
|
123
|
+
* This is the CONFIG representation. Task 13's staging maps it onto Plan 1's
|
|
124
|
+
* runtime `SkillSource` union before calling `resolveSkillSource`. Kept here so
|
|
125
|
+
* `configure`/`run` parse a single strict source of truth.
|
|
126
|
+
*/
|
|
127
|
+
export const SkillSourceDescriptorSchema = z.union([
|
|
128
|
+
z.object({ workspace: z.string().min(1) }).strict(),
|
|
129
|
+
z.object({ npm: z.string().min(1) }).strict(),
|
|
130
|
+
z.object({ url: z.string().min(1), sha256: z.string().min(1).optional() }).strict(),
|
|
131
|
+
z.object({ path: z.string().min(1) }).strict(),
|
|
132
|
+
z.object({ vendored: z.literal(true) }).strict(),
|
|
133
|
+
]).describe('Typed skill source: workspace | npm | url(+sha256) | path | vendored');
|
|
134
|
+
/**
|
|
135
|
+
* Per-skill `test:` block for `vat skill test`. Strict — unknown keys are a
|
|
136
|
+
* config error (Postel: this is vat-produced/validated data, §schema strategy).
|
|
137
|
+
* Every field is optional; omitted knobs fall back to built-in defaults.
|
|
138
|
+
*/
|
|
139
|
+
export const TestConfigSchema = z.object({
|
|
140
|
+
model: z.string().min(1).optional()
|
|
141
|
+
.describe('Pinned model for reproducibility (default: a fixed model, not "whatever the caller has")'),
|
|
142
|
+
maxTurns: z.number().int().positive().optional()
|
|
143
|
+
.describe('Cap on experimenter turns'),
|
|
144
|
+
maxBudgetUsd: z.number().positive().optional()
|
|
145
|
+
.describe('Hard USD budget cap passed to the CLI'),
|
|
146
|
+
timeout: z.number().int().positive().optional()
|
|
147
|
+
.describe('Wall-clock timeout in seconds'),
|
|
148
|
+
stall: z.number().int().positive().optional()
|
|
149
|
+
.describe('Stall-watchdog seconds (kill on no stream output)'),
|
|
150
|
+
evals: z.string().min(1).optional()
|
|
151
|
+
.describe('Path to evals.json (relative to skill source)'),
|
|
152
|
+
experimenterPrompt: z.string().min(1).optional()
|
|
153
|
+
.describe('Path to an override experimenter prompt (must preserve §6c invariants)'),
|
|
154
|
+
auth: z.enum(['inherit', 'subscription', 'api-key', 'auto']).optional()
|
|
155
|
+
.describe('Auth-mechanism selection (default: inherit)'),
|
|
156
|
+
requireAuth: z.enum(['subscription', 'api-key']).optional()
|
|
157
|
+
.describe('Fail-fast guard: preflight exits 2 if effective mechanism is not this'),
|
|
158
|
+
baseline: z.boolean().optional()
|
|
159
|
+
.describe('Run the opt-in with/without A/B baseline (default: false)'),
|
|
160
|
+
skillCreator: SkillSourceDescriptorSchema.optional()
|
|
161
|
+
.describe('Source for skill-creator (default: { vendored: true })'),
|
|
162
|
+
with: z.array(SkillSourceDescriptorSchema).optional()
|
|
163
|
+
.describe('Declared-dependency skills/plugins to stage'),
|
|
164
|
+
optional: z.array(SkillSourceDescriptorSchema).optional()
|
|
165
|
+
.describe('Optional dependencies, absent by default'),
|
|
166
|
+
/**
|
|
167
|
+
* Shell command to run once, before staging, to generate build artifacts.
|
|
168
|
+
* Runs with cwd = config root (directory containing vibe-agent-toolkit.config.yaml).
|
|
169
|
+
* Useful when a skill references a generated file (e.g. `node scripts/report.mjs`)
|
|
170
|
+
* that is produced by a bundler step and not committed to source.
|
|
171
|
+
* A non-zero exit code aborts the run (preflight failure, exit 2).
|
|
172
|
+
*/
|
|
173
|
+
env: z.record(z.string(), z.string()).optional()
|
|
174
|
+
.describe('Feature B: explicit env var injections for the experimenter spawn. Values support ${fixturesDir}, ${stagedSkillDir}, ${harnessRoot}, ${resultsDir} interpolation (resolved at stage time). Protected names (PATH, auth, model, admin) cannot be overridden.'),
|
|
175
|
+
passEnv: z.array(z.string().min(1)).optional()
|
|
176
|
+
.describe('Feature A: names of host env vars to forward to the experimenter spawn if present. Protected names are ignored with a warning.'),
|
|
177
|
+
build: z.string().min(1).optional()
|
|
178
|
+
.describe('Shell command run once, before staging, to generate build artifacts (cwd = config root)'),
|
|
179
|
+
}).strict().describe('Per-skill vat skill test configuration');
|
|
115
180
|
/**
|
|
116
181
|
* Skill packaging configuration.
|
|
117
182
|
*
|
|
@@ -131,7 +196,10 @@ export const SkillPackagingConfigSchema = z.object({
|
|
|
131
196
|
targets: z.array(z.enum(['claude-chat', 'claude-cowork', 'claude-code'])).optional()
|
|
132
197
|
.describe('Declared runtime targets for this skill. Suppresses non-applicable compat verdicts.'),
|
|
133
198
|
files: z.array(SkillFileEntrySchema).optional().describe('Explicit source→dest file mappings for build artifacts, unlinked files, or routing overrides'),
|
|
199
|
+
test: TestConfigSchema.optional()
|
|
200
|
+
.describe('vat skill test configuration for this skill'),
|
|
134
201
|
}).strict().describe('Skill packaging configuration');
|
|
202
|
+
// NOTE: project-config has no generated JSON Schema generator (unlike packages with generate:schemas script); Zod schema is the tracked source of truth.
|
|
135
203
|
/**
|
|
136
204
|
* Skills discovery and packaging configuration.
|
|
137
205
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/schemas/project-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/schemas/project-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,13 @@ import { z } from 'zod';
|
|
|
3
3
|
* Type of link found in markdown resources.
|
|
4
4
|
*
|
|
5
5
|
* - `local_file`: Link to a local file (relative or absolute path)
|
|
6
|
+
* - `local_directory`: Link to a local directory, e.g. a ref ending in `/`
|
|
6
7
|
* - `anchor`: Link to a heading anchor (e.g., #heading-slug)
|
|
7
8
|
* - `external`: HTTP/HTTPS URL to external resource
|
|
8
9
|
* - `email`: Mailto link
|
|
9
10
|
* - `unknown`: Unclassified link type
|
|
10
11
|
*/
|
|
11
|
-
export declare const LinkTypeSchema: z.ZodEnum<["local_file", "anchor", "external", "email", "unknown"]>;
|
|
12
|
+
export declare const LinkTypeSchema: z.ZodEnum<["local_file", "local_directory", "anchor", "external", "email", "unknown"]>;
|
|
12
13
|
export type LinkType = z.infer<typeof LinkTypeSchema>;
|
|
13
14
|
/**
|
|
14
15
|
* AST node type that produced a link entry.
|
|
@@ -19,6 +20,20 @@ export type LinkType = z.infer<typeof LinkTypeSchema>;
|
|
|
19
20
|
*/
|
|
20
21
|
export declare const LinkNodeTypeSchema: z.ZodEnum<["link", "linkReference", "definition"]>;
|
|
21
22
|
export type LinkNodeType = z.infer<typeof LinkNodeTypeSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Zod schema for an HTML well-formedness diagnostic.
|
|
25
|
+
*/
|
|
26
|
+
export declare const HtmlParseErrorSchema: z.ZodObject<{
|
|
27
|
+
message: z.ZodString;
|
|
28
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
message: string;
|
|
31
|
+
line?: number | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
message: string;
|
|
34
|
+
line?: number | undefined;
|
|
35
|
+
}>;
|
|
36
|
+
export type HtmlParseError = z.infer<typeof HtmlParseErrorSchema>;
|
|
22
37
|
/**
|
|
23
38
|
* Represents a heading node in the document's table of contents.
|
|
24
39
|
*
|
|
@@ -48,14 +63,14 @@ export declare const HeadingNodeSchema: z.ZodType<HeadingNode>;
|
|
|
48
63
|
export declare const ResourceLinkSchema: z.ZodObject<{
|
|
49
64
|
text: z.ZodString;
|
|
50
65
|
href: z.ZodString;
|
|
51
|
-
type: z.ZodEnum<["local_file", "anchor", "external", "email", "unknown"]>;
|
|
66
|
+
type: z.ZodEnum<["local_file", "local_directory", "anchor", "external", "email", "unknown"]>;
|
|
52
67
|
line: z.ZodOptional<z.ZodNumber>;
|
|
53
68
|
resolvedPath: z.ZodOptional<z.ZodString>;
|
|
54
69
|
anchorTarget: z.ZodOptional<z.ZodString>;
|
|
55
70
|
resolvedId: z.ZodOptional<z.ZodString>;
|
|
56
71
|
nodeType: z.ZodOptional<z.ZodEnum<["link", "linkReference", "definition"]>>;
|
|
57
72
|
}, "strip", z.ZodTypeAny, {
|
|
58
|
-
type: "anchor" | "
|
|
73
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
59
74
|
text: string;
|
|
60
75
|
href: string;
|
|
61
76
|
line?: number | undefined;
|
|
@@ -64,7 +79,7 @@ export declare const ResourceLinkSchema: z.ZodObject<{
|
|
|
64
79
|
resolvedId?: string | undefined;
|
|
65
80
|
nodeType?: "link" | "linkReference" | "definition" | undefined;
|
|
66
81
|
}, {
|
|
67
|
-
type: "anchor" | "
|
|
82
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
68
83
|
text: string;
|
|
69
84
|
href: string;
|
|
70
85
|
line?: number | undefined;
|
|
@@ -86,14 +101,14 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
86
101
|
links: z.ZodArray<z.ZodObject<{
|
|
87
102
|
text: z.ZodString;
|
|
88
103
|
href: z.ZodString;
|
|
89
|
-
type: z.ZodEnum<["local_file", "anchor", "external", "email", "unknown"]>;
|
|
104
|
+
type: z.ZodEnum<["local_file", "local_directory", "anchor", "external", "email", "unknown"]>;
|
|
90
105
|
line: z.ZodOptional<z.ZodNumber>;
|
|
91
106
|
resolvedPath: z.ZodOptional<z.ZodString>;
|
|
92
107
|
anchorTarget: z.ZodOptional<z.ZodString>;
|
|
93
108
|
resolvedId: z.ZodOptional<z.ZodString>;
|
|
94
109
|
nodeType: z.ZodOptional<z.ZodEnum<["link", "linkReference", "definition"]>>;
|
|
95
110
|
}, "strip", z.ZodTypeAny, {
|
|
96
|
-
type: "anchor" | "
|
|
111
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
97
112
|
text: string;
|
|
98
113
|
href: string;
|
|
99
114
|
line?: number | undefined;
|
|
@@ -102,7 +117,7 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
102
117
|
resolvedId?: string | undefined;
|
|
103
118
|
nodeType?: "link" | "linkReference" | "definition" | undefined;
|
|
104
119
|
}, {
|
|
105
|
-
type: "anchor" | "
|
|
120
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
106
121
|
text: string;
|
|
107
122
|
href: string;
|
|
108
123
|
line?: number | undefined;
|
|
@@ -112,6 +127,17 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
112
127
|
nodeType?: "link" | "linkReference" | "definition" | undefined;
|
|
113
128
|
}>, "many">;
|
|
114
129
|
headings: z.ZodArray<z.ZodType<HeadingNode, z.ZodTypeDef, HeadingNode>, "many">;
|
|
130
|
+
anchors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
131
|
+
parseErrors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
132
|
+
message: z.ZodString;
|
|
133
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
134
|
+
}, "strip", z.ZodTypeAny, {
|
|
135
|
+
message: string;
|
|
136
|
+
line?: number | undefined;
|
|
137
|
+
}, {
|
|
138
|
+
message: string;
|
|
139
|
+
line?: number | undefined;
|
|
140
|
+
}>, "many">>;
|
|
115
141
|
frontmatter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
116
142
|
frontmatterError: z.ZodOptional<z.ZodString>;
|
|
117
143
|
sizeBytes: z.ZodNumber;
|
|
@@ -119,11 +145,11 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
119
145
|
modifiedAt: z.ZodDate;
|
|
120
146
|
checksum: z.ZodBranded<z.ZodString, "SHA256">;
|
|
121
147
|
collections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
122
|
-
}, "
|
|
148
|
+
}, "strict", z.ZodTypeAny, {
|
|
123
149
|
id: string;
|
|
124
150
|
filePath: string;
|
|
125
151
|
links: {
|
|
126
|
-
type: "anchor" | "
|
|
152
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
127
153
|
text: string;
|
|
128
154
|
href: string;
|
|
129
155
|
line?: number | undefined;
|
|
@@ -138,13 +164,18 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
138
164
|
modifiedAt: Date;
|
|
139
165
|
checksum: string & z.BRAND<"SHA256">;
|
|
140
166
|
collections?: string[] | undefined;
|
|
167
|
+
anchors?: string[] | undefined;
|
|
168
|
+
parseErrors?: {
|
|
169
|
+
message: string;
|
|
170
|
+
line?: number | undefined;
|
|
171
|
+
}[] | undefined;
|
|
141
172
|
frontmatter?: Record<string, unknown> | undefined;
|
|
142
173
|
frontmatterError?: string | undefined;
|
|
143
174
|
}, {
|
|
144
175
|
id: string;
|
|
145
176
|
filePath: string;
|
|
146
177
|
links: {
|
|
147
|
-
type: "anchor" | "
|
|
178
|
+
type: "anchor" | "email" | "unknown" | "local_file" | "local_directory" | "external";
|
|
148
179
|
text: string;
|
|
149
180
|
href: string;
|
|
150
181
|
line?: number | undefined;
|
|
@@ -159,6 +190,11 @@ export declare const ResourceMetadataSchema: z.ZodObject<{
|
|
|
159
190
|
modifiedAt: Date;
|
|
160
191
|
checksum: string;
|
|
161
192
|
collections?: string[] | undefined;
|
|
193
|
+
anchors?: string[] | undefined;
|
|
194
|
+
parseErrors?: {
|
|
195
|
+
message: string;
|
|
196
|
+
line?: number | undefined;
|
|
197
|
+
}[] | undefined;
|
|
162
198
|
frontmatter?: Record<string, unknown> | undefined;
|
|
163
199
|
frontmatterError?: string | undefined;
|
|
164
200
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-metadata.d.ts","sourceRoot":"","sources":["../../src/schemas/resource-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB
|
|
1
|
+
{"version":3,"file":"resource-metadata.d.ts","sourceRoot":"","sources":["../../src/schemas/resource-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,wFAO4B,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,oDAIqB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;EAGa,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAQpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASiB,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB8B,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { SHA256Schema } from './checksum.js';
|
|
|
4
4
|
* Type of link found in markdown resources.
|
|
5
5
|
*
|
|
6
6
|
* - `local_file`: Link to a local file (relative or absolute path)
|
|
7
|
+
* - `local_directory`: Link to a local directory, e.g. a ref ending in `/`
|
|
7
8
|
* - `anchor`: Link to a heading anchor (e.g., #heading-slug)
|
|
8
9
|
* - `external`: HTTP/HTTPS URL to external resource
|
|
9
10
|
* - `email`: Mailto link
|
|
@@ -11,6 +12,7 @@ import { SHA256Schema } from './checksum.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export const LinkTypeSchema = z.enum([
|
|
13
14
|
'local_file',
|
|
15
|
+
'local_directory',
|
|
14
16
|
'anchor',
|
|
15
17
|
'external',
|
|
16
18
|
'email',
|
|
@@ -28,6 +30,13 @@ export const LinkNodeTypeSchema = z.enum([
|
|
|
28
30
|
'linkReference',
|
|
29
31
|
'definition',
|
|
30
32
|
]).describe('AST node type that produced this link');
|
|
33
|
+
/**
|
|
34
|
+
* Zod schema for an HTML well-formedness diagnostic.
|
|
35
|
+
*/
|
|
36
|
+
export const HtmlParseErrorSchema = z.object({
|
|
37
|
+
message: z.string().describe('parse5 error code (e.g. "missing-end-tag")'),
|
|
38
|
+
line: z.number().int().positive().optional().describe('1-based source line, when known'),
|
|
39
|
+
}).describe('HTML well-formedness diagnostic');
|
|
31
40
|
/**
|
|
32
41
|
* Zod schema for heading nodes in the document's table of contents.
|
|
33
42
|
*
|
|
@@ -68,6 +77,10 @@ export const ResourceMetadataSchema = z.object({
|
|
|
68
77
|
filePath: z.string().describe('Absolute path to the resource file'),
|
|
69
78
|
links: z.array(ResourceLinkSchema).describe('All links found in the resource'),
|
|
70
79
|
headings: z.array(HeadingNodeSchema).describe('Document table of contents (top-level headings only; children are nested)'),
|
|
80
|
+
anchors: z.array(z.string()).optional()
|
|
81
|
+
.describe('Fragment targets for anchor validation (HTML id/name attributes)'),
|
|
82
|
+
parseErrors: z.array(HtmlParseErrorSchema).optional()
|
|
83
|
+
.describe('HTML well-formedness diagnostics (populated for HTML resources only)'),
|
|
71
84
|
frontmatter: z.record(z.string(), z.unknown()).optional()
|
|
72
85
|
.describe('Parsed YAML frontmatter (if present in markdown file)'),
|
|
73
86
|
frontmatterError: z.string().optional()
|
|
@@ -78,5 +91,5 @@ export const ResourceMetadataSchema = z.object({
|
|
|
78
91
|
checksum: SHA256Schema.describe('SHA-256 checksum of file content'),
|
|
79
92
|
collections: z.array(z.string()).optional()
|
|
80
93
|
.describe('Collection names this resource belongs to (populated when using config-based discovery)'),
|
|
81
|
-
}).describe('Complete metadata for a markdown resource');
|
|
94
|
+
}).strict().describe('Complete metadata for a markdown resource');
|
|
82
95
|
//# sourceMappingURL=resource-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-metadata.js","sourceRoot":"","sources":["../../src/schemas/resource-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"resource-metadata.js","sourceRoot":"","sources":["../../src/schemas/resource-metadata.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/resources",
|
|
3
|
-
"version": "0.1.39-rc.
|
|
3
|
+
"version": "0.1.39-rc.11",
|
|
4
4
|
"description": "Markdown resource parsing, validation, and link integrity checking",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -33,12 +33,13 @@
|
|
|
33
33
|
"author": "Jeff Dutton",
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@vibe-agent-toolkit/agent-schema": "0.1.39-rc.
|
|
37
|
-
"@vibe-agent-toolkit/utils": "0.1.39-rc.
|
|
36
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.39-rc.11",
|
|
37
|
+
"@vibe-agent-toolkit/utils": "0.1.39-rc.11",
|
|
38
38
|
"ajv": "^8.17.1",
|
|
39
39
|
"ajv-formats": "^3.0.1",
|
|
40
40
|
"github-slugger": "^2.0.0",
|
|
41
41
|
"markdown-link-check": "^3.14.2",
|
|
42
|
+
"parse5": "^7.2.1",
|
|
42
43
|
"picomatch": "^4.0.3",
|
|
43
44
|
"remark-frontmatter": "^5.0.0",
|
|
44
45
|
"remark-gfm": "^4.0.0",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
import { createRegistryIssue, type IssueCode } from '@vibe-agent-toolkit/agent-schema';
|
|
22
22
|
|
|
23
23
|
import { classifyLink } from './link-parser.js';
|
|
24
|
-
import { validateLink, type ValidateLinkOptions } from './link-validator.js';
|
|
24
|
+
import { validateLink, type FragmentIndex, type ValidateLinkOptions } from './link-validator.js';
|
|
25
25
|
import { walkFrontmatterUriReferences } from './schema-uri-walker.js';
|
|
26
|
-
import type {
|
|
26
|
+
import type { ResourceLink, ValidationIssue } from './types.js';
|
|
27
27
|
|
|
28
28
|
/** Map the link-level code emitted by validateLink to its frontmatter-scoped code. */
|
|
29
29
|
const LINK_CODE_TO_FRONTMATTER_CODE: Partial<Record<IssueCode, IssueCode>> = {
|
|
@@ -51,14 +51,14 @@ export interface FrontmatterLinkValidationResult {
|
|
|
51
51
|
* @param frontmatter - Parsed frontmatter (or undefined)
|
|
52
52
|
* @param schema - JSON Schema for the collection
|
|
53
53
|
* @param sourceFilePath - Absolute path to the source file
|
|
54
|
-
* @param
|
|
54
|
+
* @param fragmentsByFile - Fragment index (file path → set of valid fragments) for anchor validation
|
|
55
55
|
* @param options - Same shape as validateLink (projectRoot, gitTracker, ...)
|
|
56
56
|
*/
|
|
57
57
|
export async function validateFrontmatterLinks(
|
|
58
58
|
frontmatter: Record<string, unknown> | undefined,
|
|
59
59
|
schema: object,
|
|
60
60
|
sourceFilePath: string,
|
|
61
|
-
|
|
61
|
+
fragmentsByFile: FragmentIndex,
|
|
62
62
|
options?: ValidateLinkOptions,
|
|
63
63
|
): Promise<FrontmatterLinkValidationResult> {
|
|
64
64
|
if (!frontmatter) return { issues: [], externalUrls: [] };
|
|
@@ -89,7 +89,7 @@ export async function validateFrontmatterLinks(
|
|
|
89
89
|
line: 1, // Frontmatter per-field line numbers are post-v1.
|
|
90
90
|
};
|
|
91
91
|
|
|
92
|
-
const issue = await validateLink(syntheticLink, sourceFilePath,
|
|
92
|
+
const issue = await validateLink(syntheticLink, sourceFilePath, fragmentsByFile, options);
|
|
93
93
|
if (!issue) continue;
|
|
94
94
|
|
|
95
95
|
issues.push(rewriteIssue(issue, capture.dottedPath));
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML resource parser.
|
|
3
|
+
*
|
|
4
|
+
* Parses local HTML files into the shared `ParseResult` shape:
|
|
5
|
+
* - `<a href>` and `<img src>` links (classified by `classifyLink`)
|
|
6
|
+
* - `id` / `name` attributes as fragment anchors
|
|
7
|
+
* - well-formedness diagnostics from parse5's `onParseError`
|
|
8
|
+
*
|
|
9
|
+
* Uses parse5 (WHATWG-conformant). The parse5 document + element walker are
|
|
10
|
+
* exported so the link rewriter (html-transform.ts) shares one parser path.
|
|
11
|
+
*
|
|
12
|
+
* Non-goal: `<base href>` is not honored — relative links are resolved against
|
|
13
|
+
* the file's own directory, not a document base.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
17
|
+
|
|
18
|
+
import { parse, type DefaultTreeAdapterMap } from 'parse5';
|
|
19
|
+
|
|
20
|
+
import { classifyLink, type ParseResult } from './link-parser.js';
|
|
21
|
+
import type { HtmlParseError } from './schemas/resource-metadata.js';
|
|
22
|
+
import type { ResourceLink } from './types.js';
|
|
23
|
+
|
|
24
|
+
type P5Node = DefaultTreeAdapterMap['node'];
|
|
25
|
+
type P5Element = DefaultTreeAdapterMap['element'];
|
|
26
|
+
type P5ChildNode = DefaultTreeAdapterMap['childNode'];
|
|
27
|
+
|
|
28
|
+
/** A parsed parse5 document together with any well-formedness diagnostics. */
|
|
29
|
+
export interface HtmlDocument {
|
|
30
|
+
document: DefaultTreeAdapterMap['document'];
|
|
31
|
+
parseErrors: HtmlParseError[];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Parse an HTML source string with source-location info and collect parser
|
|
36
|
+
* errors. Shared by `parseHtml` (link/anchor extraction) and `rewriteHtmlLinks`
|
|
37
|
+
* (attribute offset splicing).
|
|
38
|
+
*/
|
|
39
|
+
export function parseHtmlDocument(source: string): HtmlDocument {
|
|
40
|
+
const parseErrors: HtmlParseError[] = [];
|
|
41
|
+
const document = parse(source, {
|
|
42
|
+
sourceCodeLocationInfo: true,
|
|
43
|
+
onParseError: (err) => {
|
|
44
|
+
// parse5's ParserError extends Location which always has startLine: number.
|
|
45
|
+
// We always include line since it is always present.
|
|
46
|
+
parseErrors.push({ message: err.code, line: err.startLine });
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
return { document, parseErrors };
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Depth-first walk yielding every element node in the tree.
|
|
54
|
+
*
|
|
55
|
+
* Deliberate gap: a `<template>` element's content lives in its separate
|
|
56
|
+
* `content` fragment (not `childNodes`), so links inside `<template>` are not
|
|
57
|
+
* walked, and foreign-content (SVG/MathML) subtrees are not special-cased.
|
|
58
|
+
* Both are rare in the content link graph we rewrite.
|
|
59
|
+
*/
|
|
60
|
+
export function* walkElements(node: P5Node): Generator<P5Element> {
|
|
61
|
+
if ('tagName' in node) {
|
|
62
|
+
yield node;
|
|
63
|
+
}
|
|
64
|
+
if ('childNodes' in node) {
|
|
65
|
+
for (const child of node.childNodes as P5ChildNode[]) {
|
|
66
|
+
yield* walkElements(child);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getAttr(element: P5Element, name: string): string | undefined {
|
|
72
|
+
return element.attrs.find((a) => a.name === name)?.value;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function makeLink(href: string, line: number | undefined): ResourceLink {
|
|
76
|
+
return { text: '', href, type: classifyLink(href), ...(line !== undefined && { line }) };
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function visitElement(
|
|
80
|
+
element: P5Element,
|
|
81
|
+
links: ResourceLink[],
|
|
82
|
+
anchors: Set<string>,
|
|
83
|
+
): void {
|
|
84
|
+
const line = element.sourceCodeLocation?.startLine;
|
|
85
|
+
|
|
86
|
+
if (element.tagName === 'a') {
|
|
87
|
+
const href = getAttr(element, 'href');
|
|
88
|
+
if (href !== undefined) {
|
|
89
|
+
links.push(makeLink(href, line));
|
|
90
|
+
}
|
|
91
|
+
const name = getAttr(element, 'name');
|
|
92
|
+
if (name !== undefined && name !== '') {
|
|
93
|
+
anchors.add(name);
|
|
94
|
+
}
|
|
95
|
+
} else if (element.tagName === 'img') {
|
|
96
|
+
const src = getAttr(element, 'src');
|
|
97
|
+
if (src !== undefined) {
|
|
98
|
+
links.push(makeLink(src, line));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const id = getAttr(element, 'id');
|
|
103
|
+
if (id !== undefined && id !== '') {
|
|
104
|
+
anchors.add(id);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Parse an HTML file into a `ParseResult`.
|
|
110
|
+
*
|
|
111
|
+
* @param filePath - Absolute path to the HTML file.
|
|
112
|
+
*/
|
|
113
|
+
export async function parseHtml(filePath: string): Promise<ParseResult> {
|
|
114
|
+
const [content, stats] = await Promise.all([
|
|
115
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- filePath is a user-provided path parameter
|
|
116
|
+
readFile(filePath, 'utf-8'),
|
|
117
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- filePath is a user-provided path parameter
|
|
118
|
+
stat(filePath),
|
|
119
|
+
]);
|
|
120
|
+
|
|
121
|
+
const { document, parseErrors } = parseHtmlDocument(content);
|
|
122
|
+
|
|
123
|
+
const links: ResourceLink[] = [];
|
|
124
|
+
const anchors = new Set<string>();
|
|
125
|
+
|
|
126
|
+
for (const element of walkElements(document)) {
|
|
127
|
+
visitElement(element, links, anchors);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const anchorList = [...anchors];
|
|
131
|
+
return {
|
|
132
|
+
links,
|
|
133
|
+
headings: [],
|
|
134
|
+
content,
|
|
135
|
+
sizeBytes: stats.size,
|
|
136
|
+
estimatedTokenCount: Math.ceil(content.length / 4),
|
|
137
|
+
...(anchorList.length > 0 && { anchors: anchorList }),
|
|
138
|
+
...(parseErrors.length > 0 && { parseErrors }),
|
|
139
|
+
};
|
|
140
|
+
}
|