renma 0.15.2 → 0.16.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.
Files changed (63) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +134 -34
  3. package/dist/agent-skills.d.ts +77 -0
  4. package/dist/agent-skills.d.ts.map +1 -0
  5. package/dist/agent-skills.js +468 -0
  6. package/dist/agent-skills.js.map +1 -0
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +38 -5
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/cli-help.d.ts +7 -7
  11. package/dist/cli-help.d.ts.map +1 -1
  12. package/dist/cli-help.js +13 -2
  13. package/dist/cli-help.js.map +1 -1
  14. package/dist/commands/scaffold.d.ts.map +1 -1
  15. package/dist/commands/scaffold.js +45 -14
  16. package/dist/commands/scaffold.js.map +1 -1
  17. package/dist/commands/suggest-metadata.d.ts +3 -1
  18. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  19. package/dist/commands/suggest-metadata.js +179 -6
  20. package/dist/commands/suggest-metadata.js.map +1 -1
  21. package/dist/diagnostic-ids.d.ts +29 -0
  22. package/dist/diagnostic-ids.d.ts.map +1 -1
  23. package/dist/diagnostic-ids.js +28 -0
  24. package/dist/diagnostic-ids.js.map +1 -1
  25. package/dist/discovery.d.ts +22 -0
  26. package/dist/discovery.d.ts.map +1 -1
  27. package/dist/discovery.js +124 -21
  28. package/dist/discovery.js.map +1 -1
  29. package/dist/metadata.d.ts +3 -1
  30. package/dist/metadata.d.ts.map +1 -1
  31. package/dist/metadata.js +166 -29
  32. package/dist/metadata.js.map +1 -1
  33. package/dist/model.d.ts +1 -0
  34. package/dist/model.d.ts.map +1 -1
  35. package/dist/report.d.ts.map +1 -1
  36. package/dist/report.js +16 -1
  37. package/dist/report.js.map +1 -1
  38. package/dist/rules.d.ts.map +1 -1
  39. package/dist/rules.js +33 -22
  40. package/dist/rules.js.map +1 -1
  41. package/dist/scanner.d.ts.map +1 -1
  42. package/dist/scanner.js +3 -1
  43. package/dist/scanner.js.map +1 -1
  44. package/dist/security-diagnostics.d.ts.map +1 -1
  45. package/dist/security-diagnostics.js +98 -35
  46. package/dist/security-diagnostics.js.map +1 -1
  47. package/dist/security-policy-inventory.js +11 -4
  48. package/dist/security-policy-inventory.js.map +1 -1
  49. package/dist/security-policy.d.ts +27 -1
  50. package/dist/security-policy.d.ts.map +1 -1
  51. package/dist/security-policy.js +247 -34
  52. package/dist/security-policy.js.map +1 -1
  53. package/dist/skill-migration.d.ts +30 -0
  54. package/dist/skill-migration.d.ts.map +1 -0
  55. package/dist/skill-migration.js +566 -0
  56. package/dist/skill-migration.js.map +1 -0
  57. package/dist/types.d.ts +2 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/yaml-frontmatter.d.ts +26 -0
  60. package/dist/yaml-frontmatter.d.ts.map +1 -0
  61. package/dist/yaml-frontmatter.js +114 -0
  62. package/dist/yaml-frontmatter.js.map +1 -0
  63. package/package.json +4 -1
@@ -0,0 +1,566 @@
1
+ import { stringify } from "yaml";
2
+ import { AGENT_SKILLS_TOP_LEVEL_FIELDS, agentSkillFenceLines, legacyRenmaMetadataKey, LEGACY_RENMA_SKILL_FIELDS, normalizeAgentSkillDirectoryName, normalizeAgentSkillNameField, validateAgentSkill, } from "./agent-skills.js";
3
+ import { parseDocument } from "./markdown.js";
4
+ import { validateCanonicalSecurityMetadata } from "./security-policy.js";
5
+ import { parseAgentSkillFrontmatter } from "./yaml-frontmatter.js";
6
+ const STANDARD_FIELDS = new Set(AGENT_SKILLS_TOP_LEVEL_FIELDS);
7
+ const LEGACY_FIELDS = new Set(LEGACY_RENMA_SKILL_FIELDS);
8
+ const LIST_LEGACY_FIELDS = new Set([
9
+ "tags",
10
+ "when_to_use",
11
+ "when_not_to_use",
12
+ "requires_context",
13
+ "optional_context",
14
+ "requires_lens",
15
+ "optional_lens",
16
+ "conflicts",
17
+ "superseded_by",
18
+ "allowed_data",
19
+ "forbidden_inputs",
20
+ "approved_network_destinations",
21
+ "approved_upload_destinations",
22
+ ]);
23
+ const TEXT_SCALAR_LEGACY_FIELDS = new Set([
24
+ "id",
25
+ "title",
26
+ "version",
27
+ "owner",
28
+ "status",
29
+ "purpose",
30
+ "last_reviewed_at",
31
+ "review_cycle",
32
+ "expires_at",
33
+ "security_profile",
34
+ ]);
35
+ const BOOLEAN_SCALAR_LEGACY_FIELDS = new Set([
36
+ "network_allowed",
37
+ "external_upload_allowed",
38
+ "secrets_allowed",
39
+ "requires_human_approval",
40
+ ]);
41
+ /** Build a one-way, non-editing migration proposal for a Skill target. */
42
+ export function buildAgentSkillMigrationSuggestion(document, options = {}) {
43
+ const frontmatter = parseAgentSkillFrontmatter(document.artifact.content);
44
+ const validation = validateAgentSkill(document);
45
+ const entrypoint = options.entrypoint;
46
+ const historicalEntrypoint = entrypoint !== undefined && entrypoint.kind !== "canonical";
47
+ const direction = validation.format === "renma-legacy" ||
48
+ validation.format === "hybrid" ||
49
+ historicalEntrypoint
50
+ ? "legacy-to-agent-skills"
51
+ : "none";
52
+ const sourcePath = entrypoint?.currentPath ?? document.artifact.path.replaceAll("\\", "/");
53
+ const targetPath = entrypoint?.targetPath ?? sourcePath;
54
+ const entrypointMigration = entrypoint?.kind === "lowercase-entrypoint"
55
+ ? "rename"
56
+ : entrypoint?.kind === "flat-legacy-entrypoint"
57
+ ? "move-and-rename"
58
+ : "none";
59
+ const blocked = [...(options.additionalBlocks ?? [])];
60
+ const candidateAgentSkillsFields = {};
61
+ const candidateRenmaMetadata = {};
62
+ const preservedMetadata = {};
63
+ collectStructuralBlocks(document, frontmatter, blocked);
64
+ const duplicateTopLevelMetadata = frontmatter.duplicateFields.some((field) => field.key === "metadata");
65
+ const duplicateMetadataKeys = new Set(frontmatter.duplicateMetadataKeys.map((field) => field.key));
66
+ const existingMetadata = frontmatter.values.metadata;
67
+ if (!duplicateTopLevelMetadata && isStringRecord(existingMetadata)) {
68
+ for (const [key, value] of Object.entries(existingMetadata)) {
69
+ if (duplicateMetadataKeys.has(key))
70
+ continue;
71
+ preservedMetadata[key] = value;
72
+ if (key.startsWith("renma."))
73
+ candidateRenmaMetadata[key] = value;
74
+ }
75
+ }
76
+ const requestedOwner = options.explicitOwner?.trim();
77
+ const proposalKind = direction === "legacy-to-agent-skills"
78
+ ? "historical-migration"
79
+ : validation.format === "agent-skills" && requestedOwner
80
+ ? "canonical-metadata-retrofit"
81
+ : "none";
82
+ if (proposalKind === "none") {
83
+ for (const key of Object.keys(candidateRenmaMetadata)) {
84
+ delete candidateRenmaMetadata[key];
85
+ }
86
+ return {
87
+ sourceFormat: validation.format,
88
+ direction,
89
+ proposalKind,
90
+ sourcePath,
91
+ targetPath,
92
+ entrypointMigration,
93
+ bodyPreserved: true,
94
+ candidateAgentSkillsFields,
95
+ candidateRenmaMetadata,
96
+ preservedMetadata,
97
+ blocked: deduplicateBlocks(blocked),
98
+ reviewPrompt: validation.format === "agent-skills"
99
+ ? "This Skill already uses Agent Skills identity. No metadata retrofit or reverse migration is proposed."
100
+ : "No recognized pre-0.16 Renma Skill metadata was found. No migration is proposed.",
101
+ };
102
+ }
103
+ if (proposalKind === "canonical-metadata-retrofit") {
104
+ for (const key of Object.keys(candidateRenmaMetadata)) {
105
+ delete candidateRenmaMetadata[key];
106
+ }
107
+ if (entrypoint?.kind !== "canonical" || !validation.valid) {
108
+ collectSpecificationBlocks(validation, blocked, "Existing Agent Skill");
109
+ if (entrypoint?.kind !== "canonical") {
110
+ blocked.push({
111
+ field: "entrypoint",
112
+ reason: "Canonical Agent Skills metadata retrofit requires the exact SKILL.md entrypoint.",
113
+ });
114
+ }
115
+ }
116
+ else if (requestedOwner &&
117
+ !duplicateTopLevelMetadata &&
118
+ !duplicateMetadataKeys.has("renma.owner")) {
119
+ const existingOwner = preservedMetadata["renma.owner"];
120
+ if (existingOwner !== undefined && existingOwner !== requestedOwner) {
121
+ blocked.push({
122
+ field: "owner",
123
+ reason: `Existing owner "${existingOwner}" differs from explicitly provided owner "${requestedOwner}". Human review is required before changing canonical Agent Skills metadata.`,
124
+ });
125
+ }
126
+ else if (existingOwner === undefined) {
127
+ preservedMetadata["renma.owner"] = requestedOwner;
128
+ candidateRenmaMetadata["renma.owner"] = requestedOwner;
129
+ }
130
+ }
131
+ let canonicalFrontmatter = candidateRenmaMetadata["renma.owner"] !== undefined &&
132
+ blocked.length === 0
133
+ ? renderCanonicalFrontmatter(frontmatter.values, {
134
+ name: String(frontmatter.values.name),
135
+ description: String(frontmatter.values.description),
136
+ }, preservedMetadata)
137
+ : undefined;
138
+ if (canonicalFrontmatter) {
139
+ const candidateBlocks = validateMigrationCandidate(document, frontmatter.bodyStartLine, targetPath, canonicalFrontmatter);
140
+ if (candidateBlocks.length > 0) {
141
+ blocked.push(...candidateBlocks);
142
+ canonicalFrontmatter = undefined;
143
+ }
144
+ }
145
+ return {
146
+ sourceFormat: validation.format,
147
+ direction,
148
+ proposalKind,
149
+ sourcePath,
150
+ targetPath,
151
+ entrypointMigration,
152
+ bodyPreserved: true,
153
+ candidateAgentSkillsFields,
154
+ candidateRenmaMetadata,
155
+ preservedMetadata,
156
+ ...(canonicalFrontmatter ? { canonicalFrontmatter } : {}),
157
+ blocked: deduplicateBlocks(blocked),
158
+ reviewPrompt: canonicalFrontmatter
159
+ ? "Review the canonical Renma metadata retrofit, preserve the Markdown body byte-for-byte, apply only after human approval, and rerun renma scan. No reverse migration is proposed."
160
+ : blocked.length > 0
161
+ ? "Resolve every blocked item with human review. Do not change canonical Agent Skills metadata while specification or ownership evidence is invalid. No reverse migration is proposed."
162
+ : "The canonical Agent Skill already has the explicitly provided owner. Preserve it; no rewrite or reverse migration is proposed.",
163
+ };
164
+ }
165
+ if (!entrypoint) {
166
+ blocked.push({
167
+ field: "entrypoint",
168
+ reason: "Skill migration requires an entrypoint under skills/** or .agents/skills/** using SKILL.md, skill.md, or *.skill.md.",
169
+ });
170
+ }
171
+ const candidateDirectory = entrypoint?.candidateName ?? "";
172
+ const parentName = normalizeAgentSkillDirectoryName(candidateDirectory);
173
+ if (parentName.problems.length > 0 || parentName.normalized === undefined) {
174
+ blocked.push({
175
+ field: "name",
176
+ reason: `Target Skill directory "${candidateDirectory}" is not a valid Agent Skills name: ${parentName.problems.join("; ")}. Rename the directory before migration.`,
177
+ });
178
+ }
179
+ else {
180
+ const existingName = frontmatter.values.name;
181
+ if (existingName !== undefined) {
182
+ const existingNameValidation = normalizeAgentSkillNameField(existingName);
183
+ if (existingNameValidation.problems.length > 0 ||
184
+ existingNameValidation.normalized !== parentName.normalized) {
185
+ candidateAgentSkillsFields.name = parentName.normalized;
186
+ blocked.push({
187
+ field: "name",
188
+ reason: `Existing Agent Skills name conflicts with target directory "${candidateDirectory}". Human review is required before migration.`,
189
+ });
190
+ }
191
+ else {
192
+ candidateAgentSkillsFields.name = existingName.trim();
193
+ }
194
+ }
195
+ else {
196
+ candidateAgentSkillsFields.name = parentName.normalized;
197
+ }
198
+ }
199
+ const description = migrationDescription(document, frontmatter.values.description);
200
+ if (description === undefined) {
201
+ blocked.push({
202
+ field: "description",
203
+ reason: "No unambiguous, usable Agent Skills description is supported by the existing description or body. Human review is required before migration.",
204
+ });
205
+ }
206
+ else {
207
+ candidateAgentSkillsFields.description = description;
208
+ }
209
+ for (const legacyField of LEGACY_RENMA_SKILL_FIELDS) {
210
+ if (duplicateTopLevelMetadata)
211
+ continue;
212
+ if (!(legacyField in frontmatter.values))
213
+ continue;
214
+ const canonicalKey = legacyRenmaMetadataKey(legacyField);
215
+ if (!canonicalKey)
216
+ continue;
217
+ if (duplicateMetadataKeys.has(canonicalKey))
218
+ continue;
219
+ const serialized = serializeLegacyValue(legacyField, frontmatter.values[legacyField]);
220
+ if (serialized.blockedReason) {
221
+ blocked.push({ field: legacyField, reason: serialized.blockedReason });
222
+ continue;
223
+ }
224
+ const value = serialized.value;
225
+ if (value === undefined)
226
+ continue;
227
+ const canonicalValue = preservedMetadata[canonicalKey];
228
+ if (canonicalValue !== undefined &&
229
+ !metadataValuesEquivalent(legacyField, canonicalValue, value)) {
230
+ blocked.push({
231
+ field: legacyField,
232
+ reason: `Canonical ${canonicalKey} conflicts with pre-0.16 Renma Skill field ${legacyField}. Human review is required before migration.`,
233
+ });
234
+ delete candidateRenmaMetadata[canonicalKey];
235
+ continue;
236
+ }
237
+ const retainedValue = canonicalValue ?? value;
238
+ preservedMetadata[canonicalKey] = retainedValue;
239
+ candidateRenmaMetadata[canonicalKey] = retainedValue;
240
+ }
241
+ if (requestedOwner &&
242
+ !duplicateTopLevelMetadata &&
243
+ !duplicateMetadataKeys.has("renma.owner")) {
244
+ const existingOwner = preservedMetadata["renma.owner"];
245
+ if (existingOwner !== undefined && existingOwner !== requestedOwner) {
246
+ blocked.push({
247
+ field: "owner",
248
+ reason: `Existing owner "${existingOwner}" differs from explicitly provided owner "${requestedOwner}". Human review is required before migration.`,
249
+ });
250
+ }
251
+ else {
252
+ preservedMetadata["renma.owner"] = requestedOwner;
253
+ candidateRenmaMetadata["renma.owner"] = requestedOwner;
254
+ }
255
+ }
256
+ let canonicalFrontmatter = blocked.length === 0
257
+ ? renderCanonicalFrontmatter(frontmatter.values, candidateAgentSkillsFields, preservedMetadata)
258
+ : undefined;
259
+ if (canonicalFrontmatter) {
260
+ const candidateBlocks = validateMigrationCandidate(document, frontmatter.bodyStartLine, targetPath, canonicalFrontmatter);
261
+ if (candidateBlocks.length > 0) {
262
+ blocked.push(...candidateBlocks);
263
+ canonicalFrontmatter = undefined;
264
+ }
265
+ }
266
+ return {
267
+ sourceFormat: validation.format,
268
+ direction,
269
+ proposalKind,
270
+ sourcePath,
271
+ targetPath,
272
+ entrypointMigration,
273
+ bodyPreserved: true,
274
+ candidateAgentSkillsFields,
275
+ candidateRenmaMetadata,
276
+ preservedMetadata,
277
+ ...(canonicalFrontmatter ? { canonicalFrontmatter } : {}),
278
+ blocked: deduplicateBlocks(blocked),
279
+ reviewPrompt: blocked.length === 0
280
+ ? entrypointMigration === "none"
281
+ ? "Review the canonical frontmatter proposal, preserve the Markdown body byte-for-byte, apply only after human approval, and rerun renma scan."
282
+ : `Review the canonical frontmatter and ${entrypointMigration} entrypoint proposal together, preserve the Markdown body byte-for-byte, apply both path and content changes only after human approval, and rerun renma scan.`
283
+ : "Resolve every blocked item with human review. Do not generate or apply canonical frontmatter while input is ambiguous.",
284
+ };
285
+ }
286
+ function collectSpecificationBlocks(validation, blocked, subject) {
287
+ for (const issue of validation.issues.filter((candidate) => candidate.category === "specification" && candidate.severity === "error")) {
288
+ blocked.push({
289
+ field: issue.field ?? "agent-skills",
290
+ reason: `${subject} is invalid: ${issue.message}`,
291
+ });
292
+ }
293
+ }
294
+ function validateMigrationCandidate(source, bodyStartLine, targetPath, canonicalFrontmatter) {
295
+ const body = source.lines.slice(bodyStartLine - 1).join("\n");
296
+ const content = `${canonicalFrontmatter}\n${body}`;
297
+ const candidate = parseDocument({
298
+ path: targetPath,
299
+ absolutePath: targetPath,
300
+ kind: "skill",
301
+ sizeBytes: Buffer.byteLength(content),
302
+ content,
303
+ });
304
+ const validation = validateAgentSkill(candidate);
305
+ const blocked = [];
306
+ collectSpecificationBlocks(validation, blocked, "Resulting Agent Skills candidate");
307
+ if (validation.valid) {
308
+ const security = validateCanonicalSecurityMetadata(candidate);
309
+ for (const issue of security.issues) {
310
+ blocked.push({
311
+ field: `metadata.${issue.key}`,
312
+ reason: `Resulting Agent Skills candidate has invalid canonical security metadata: ${issue.reason}.`,
313
+ });
314
+ }
315
+ }
316
+ return blocked;
317
+ }
318
+ function collectStructuralBlocks(document, frontmatter, blocked) {
319
+ if (!frontmatter.present) {
320
+ blocked.push({
321
+ field: "frontmatter",
322
+ reason: "Migration is unsafe because YAML frontmatter is missing.",
323
+ });
324
+ }
325
+ else if (!frontmatter.closed) {
326
+ blocked.push({
327
+ field: "frontmatter",
328
+ reason: "Migration is unsafe because YAML frontmatter is not closed.",
329
+ });
330
+ }
331
+ if (frontmatter.errors.length > 0) {
332
+ blocked.push({
333
+ field: "frontmatter",
334
+ reason: `Migration is unsafe because YAML is invalid: ${frontmatter.errors[0]?.message ?? "parse error"}`,
335
+ });
336
+ }
337
+ if (frontmatter.present &&
338
+ frontmatter.closed &&
339
+ frontmatter.errors.length === 0 &&
340
+ !frontmatter.mapping) {
341
+ blocked.push({
342
+ field: "frontmatter",
343
+ reason: "Migration is unsafe because frontmatter is not a mapping.",
344
+ });
345
+ }
346
+ for (const duplicate of frontmatter.duplicateFields) {
347
+ blocked.push({
348
+ field: duplicate.key,
349
+ reason: `Migration is unsafe because top-level field "${duplicate.key}" is duplicated. No value was selected.`,
350
+ });
351
+ }
352
+ for (const duplicate of frontmatter.duplicateMetadataKeys) {
353
+ blocked.push({
354
+ field: `metadata.${duplicate.key}`,
355
+ reason: `Migration is unsafe because metadata key "${duplicate.key}" is duplicated. No value was selected.`,
356
+ });
357
+ }
358
+ if (frontmatter.values.metadata !== undefined &&
359
+ !isStringRecord(frontmatter.values.metadata)) {
360
+ blocked.push({
361
+ field: "metadata",
362
+ reason: "Migration is unsafe because metadata is not a string-to-string mapping.",
363
+ });
364
+ }
365
+ for (const field of ["license", "allowed-tools"]) {
366
+ const value = frontmatter.values[field];
367
+ if (value !== undefined && typeof value !== "string") {
368
+ blocked.push({
369
+ field,
370
+ reason: `Migration is unsafe because Agent Skills ${field} is not a string.`,
371
+ });
372
+ }
373
+ }
374
+ const compatibility = frontmatter.values.compatibility;
375
+ if (compatibility !== undefined &&
376
+ (typeof compatibility !== "string" ||
377
+ !compatibility.trim() ||
378
+ Array.from(compatibility).length > 500)) {
379
+ blocked.push({
380
+ field: "compatibility",
381
+ reason: "Migration is unsafe because Agent Skills compatibility is not a non-empty string of at most 500 characters.",
382
+ });
383
+ }
384
+ const unknownFields = frontmatter.fields.filter((field) => !STANDARD_FIELDS.has(field.key) && !LEGACY_FIELDS.has(field.key));
385
+ for (const field of unknownFields) {
386
+ blocked.push({
387
+ field: field.key,
388
+ reason: `Unknown top-level field "${field.key}" cannot be discarded or assigned a vendor namespace automatically. Human review is required before migration.`,
389
+ });
390
+ }
391
+ }
392
+ function migrationDescription(document, existing) {
393
+ if (existing !== undefined) {
394
+ if (typeof existing !== "string")
395
+ return undefined;
396
+ const trimmed = existing.trim();
397
+ return trimmed && Array.from(trimmed).length <= 1024 ? trimmed : undefined;
398
+ }
399
+ const frontmatter = parseAgentSkillFrontmatter(document.artifact.content);
400
+ const lines = document.lines.slice(frontmatter.bodyStartLine - 1);
401
+ const paragraphs = [];
402
+ let active = [];
403
+ const flush = () => {
404
+ if (active.length > 0)
405
+ paragraphs.push(active.join(" "));
406
+ active = [];
407
+ };
408
+ const fenceLines = agentSkillFenceLines(document.lines, frontmatter.bodyStartLine);
409
+ for (let index = 0; index < lines.length; index += 1) {
410
+ const rawLine = lines[index] ?? "";
411
+ const lineNumber = frontmatter.bodyStartLine + index;
412
+ const line = rawLine.trim();
413
+ if (fenceLines.has(lineNumber) ||
414
+ !line ||
415
+ line.startsWith("#") ||
416
+ /^[-*+]\s/.test(line)) {
417
+ flush();
418
+ continue;
419
+ }
420
+ active.push(line);
421
+ }
422
+ flush();
423
+ for (const paragraph of paragraphs) {
424
+ if (!/\buse (?:this skill )?(?:when|for|to)\b/i.test(paragraph))
425
+ continue;
426
+ const sentences = paragraph.match(/[^.!?]+[.!?]?/g) ?? [paragraph];
427
+ const safe = sentences.filter((sentence) => {
428
+ if (!/\b(?:do not|never|must not|may not)\b/i.test(sentence))
429
+ return true;
430
+ return /\bdo not use (?:this skill|the skill|it)\b/i.test(sentence);
431
+ });
432
+ const candidate = safe.join(" ").replace(/\s+/g, " ").trim();
433
+ if (candidate && Array.from(candidate).length <= 1024)
434
+ return candidate;
435
+ }
436
+ return undefined;
437
+ }
438
+ function serializeLegacyValue(field, value) {
439
+ if (TEXT_SCALAR_LEGACY_FIELDS.has(field)) {
440
+ if (typeof value === "string") {
441
+ if (!value.trim()) {
442
+ return {
443
+ blockedReason: `Pre-0.16 Renma Skill field ${field} is empty. Human review is required before migration.`,
444
+ };
445
+ }
446
+ return { value };
447
+ }
448
+ return {
449
+ blockedReason: `Pre-0.16 Renma Skill field ${field} must be a YAML string to preserve its exact value.`,
450
+ };
451
+ }
452
+ if (BOOLEAN_SCALAR_LEGACY_FIELDS.has(field)) {
453
+ if (typeof value === "boolean")
454
+ return { value: String(value) };
455
+ if (value === "true" || value === "false")
456
+ return { value };
457
+ return {
458
+ blockedReason: `Pre-0.16 Renma Skill field ${field} must be a boolean or the string "true" or "false".`,
459
+ };
460
+ }
461
+ if (LIST_LEGACY_FIELDS.has(field)) {
462
+ let normalized;
463
+ if (typeof value === "string") {
464
+ if (!value.trim()) {
465
+ return {
466
+ blockedReason: `Pre-0.16 Renma Skill field ${field} is empty. Human review is required before migration.`,
467
+ };
468
+ }
469
+ normalized = parseLegacyStringList(value);
470
+ }
471
+ else if (Array.isArray(value)) {
472
+ if (!value.every((item) => typeof item === "string")) {
473
+ return {
474
+ blockedReason: `Pre-0.16 Renma Skill field ${field} must contain string values only.`,
475
+ };
476
+ }
477
+ normalized = value;
478
+ }
479
+ if (normalized === undefined) {
480
+ return {
481
+ blockedReason: `Pre-0.16 Renma Skill field ${field} cannot be interpreted as a string list. Human review is required before migration.`,
482
+ };
483
+ }
484
+ if (new Set(normalized).size !== normalized.length) {
485
+ return {
486
+ blockedReason: `Pre-0.16 Renma Skill field ${field} contains ambiguous duplicate semantic values. Human review is required before migration.`,
487
+ };
488
+ }
489
+ return { value: JSON.stringify(normalized) };
490
+ }
491
+ return {
492
+ blockedReason: `Pre-0.16 Renma Skill field ${field} is not part of the supported migration profile. Human review is required before migration.`,
493
+ };
494
+ }
495
+ function parseLegacyStringList(value) {
496
+ const trimmed = value.trim();
497
+ if (trimmed.startsWith("[")) {
498
+ try {
499
+ const parsed = JSON.parse(trimmed);
500
+ return Array.isArray(parsed) &&
501
+ parsed.every((item) => typeof item === "string")
502
+ ? parsed
503
+ : undefined;
504
+ }
505
+ catch {
506
+ return undefined;
507
+ }
508
+ }
509
+ return trimmed
510
+ .split(",")
511
+ .map((item) => item.trim())
512
+ .filter(Boolean);
513
+ }
514
+ function metadataValuesEquivalent(legacyField, canonicalValue, migratedValue) {
515
+ if (canonicalValue === migratedValue)
516
+ return true;
517
+ if (!LIST_LEGACY_FIELDS.has(legacyField))
518
+ return false;
519
+ const canonicalList = parseJsonScalarList(canonicalValue);
520
+ const migratedList = parseJsonScalarList(migratedValue);
521
+ return (canonicalList !== undefined &&
522
+ migratedList !== undefined &&
523
+ JSON.stringify(canonicalList) === JSON.stringify(migratedList));
524
+ }
525
+ function parseJsonScalarList(value) {
526
+ try {
527
+ const parsed = JSON.parse(value);
528
+ return Array.isArray(parsed) &&
529
+ parsed.every((item) => typeof item === "string")
530
+ ? parsed
531
+ : undefined;
532
+ }
533
+ catch {
534
+ return undefined;
535
+ }
536
+ }
537
+ function renderCanonicalFrontmatter(existing, identity, metadata) {
538
+ const candidate = {
539
+ name: identity.name,
540
+ description: identity.description,
541
+ };
542
+ for (const field of ["license", "compatibility", "allowed-tools"]) {
543
+ if (existing[field] !== undefined)
544
+ candidate[field] = existing[field];
545
+ }
546
+ if (Object.keys(metadata).length > 0)
547
+ candidate.metadata = metadata;
548
+ return `---\n${stringify(candidate, { lineWidth: 0 }).trimEnd()}\n---`;
549
+ }
550
+ function isStringRecord(value) {
551
+ return (typeof value === "object" &&
552
+ value !== null &&
553
+ !Array.isArray(value) &&
554
+ Object.values(value).every((item) => typeof item === "string"));
555
+ }
556
+ function deduplicateBlocks(blocked) {
557
+ const seen = new Set();
558
+ return blocked.filter((item) => {
559
+ const key = `${item.field}\u0000${item.reason}`;
560
+ if (seen.has(key))
561
+ return false;
562
+ seen.add(key);
563
+ return true;
564
+ });
565
+ }
566
+ //# sourceMappingURL=skill-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-migration.js","sourceRoot":"","sources":["../src/skill-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,6BAA6B,CAAC,CAAC;AACvE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;AACjE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,WAAW;IACX,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,+BAA+B;IAC/B,8BAA8B;CAC/B,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,IAAI;IACJ,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,kBAAkB;CACnB,CAAC,CAAC;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,iBAAiB;IACjB,yBAAyB;IACzB,iBAAiB;IACjB,yBAAyB;CAC1B,CAAC,CAAC;AA6BH,0EAA0E;AAC1E,MAAM,UAAU,kCAAkC,CAChD,QAAwB,EACxB,UAAsC,EAAE;IAExC,MAAM,WAAW,GAAG,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,oBAAoB,GACxB,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;IAC9D,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,cAAc;QACpC,UAAU,CAAC,MAAM,KAAK,QAAQ;QAC9B,oBAAoB;QAClB,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,MAAM,CAAC;IACb,MAAM,UAAU,GACd,UAAU,EAAE,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC;IACxD,MAAM,mBAAmB,GACvB,UAAU,EAAE,IAAI,KAAK,sBAAsB;QACzC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,wBAAwB;YAC7C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,MAAM,CAAC;IACf,MAAM,OAAO,GAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,0BAA0B,GAA2B,EAAE,CAAC;IAC9D,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,yBAAyB,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAChE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CACpC,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAC5D,CAAC;IACF,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;IACrD,IAAI,CAAC,yBAAyB,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5D,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7C,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,sBAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpE,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,YAAY,GAChB,SAAS,KAAK,wBAAwB;QACpC,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,cAAc,IAAI,cAAc;YACtD,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,MAAM,CAAC;IAEf,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO;YACL,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,SAAS;YACT,YAAY;YACZ,UAAU;YACV,UAAU;YACV,mBAAmB;YACnB,aAAa,EAAE,IAAI;YACnB,0BAA0B;YAC1B,sBAAsB;YACtB,iBAAiB;YACjB,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACnC,YAAY,EACV,UAAU,CAAC,MAAM,KAAK,cAAc;gBAClC,CAAC,CAAC,uGAAuG;gBACzG,CAAC,CAAC,kFAAkF;SACzF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,KAAK,6BAA6B,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,UAAU,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1D,0BAA0B,CAAC,UAAU,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,YAAY;oBACnB,MAAM,EACJ,kFAAkF;iBACrF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IACL,cAAc;YACd,CAAC,yBAAyB;YAC1B,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,EACzC,CAAC;YACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,mBAAmB,aAAa,6CAA6C,cAAc,8EAA8E;iBAClL,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACvC,iBAAiB,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;gBAClD,sBAAsB,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,GACtB,sBAAsB,CAAC,aAAa,CAAC,KAAK,SAAS;YACnD,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,0BAA0B,CACxB,WAAW,CAAC,MAAM,EAClB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;aACpD,EACD,iBAAiB,CAClB;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,0BAA0B,CAChD,QAAQ,EACR,WAAW,CAAC,aAAa,EACzB,UAAU,EACV,oBAAoB,CACrB,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;gBACjC,oBAAoB,GAAG,SAAS,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,SAAS;YACT,YAAY;YACZ,UAAU;YACV,UAAU;YACV,mBAAmB;YACnB,aAAa,EAAE,IAAI;YACnB,0BAA0B;YAC1B,sBAAsB;YACtB,iBAAiB;YACjB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,oBAAoB;gBAChC,CAAC,CAAC,kLAAkL;gBACpL,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBAClB,CAAC,CAAC,qLAAqL;oBACvL,CAAC,CAAC,gIAAgI;SACvI,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,YAAY;YACnB,MAAM,EACJ,sHAAsH;SACzH,CAAC,CAAC;IACL,CAAC;IACD,MAAM,kBAAkB,GAAG,UAAU,EAAE,aAAa,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,gCAAgC,CAAC,kBAAkB,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,2BAA2B,kBAAkB,uCAAuC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C;SACrK,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;YAC1E,IACE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC1C,sBAAsB,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAC3D,CAAC;gBACD,0BAA0B,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,+DAA+D,kBAAkB,+CAA+C;iBACzI,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,0BAA0B,CAAC,IAAI,GAAI,YAAuB,CAAC,IAAI,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0BAA0B,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CACtC,QAAQ,EACR,WAAW,CAAC,MAAM,CAAC,WAAW,CAC/B,CAAC;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,aAAa;YACpB,MAAM,EACJ,8IAA8I;SACjJ,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,WAAW,GAAG,WAAW,CAAC;IACvD,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,yBAAyB,EAAE,CAAC;QACpD,IAAI,yBAAyB;YAAE,SAAS;QACxC,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,SAAS;QACnD,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY;YAAE,SAAS;QAC5B,IAAI,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,SAAS;QACtD,MAAM,UAAU,GAAG,oBAAoB,CACrC,WAAW,EACX,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAChC,CAAC;QACF,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvD,IACE,cAAc,KAAK,SAAS;YAC5B,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,EAC7D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,aAAa,YAAY,8CAA8C,WAAW,8CAA8C;aACzI,CAAC,CAAC;YACH,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,MAAM,aAAa,GAAG,cAAc,IAAI,KAAK,CAAC;QAC9C,iBAAiB,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;QAChD,sBAAsB,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;IACvD,CAAC;IAED,IACE,cAAc;QACd,CAAC,yBAAyB;QAC1B,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,EACzC,CAAC;QACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,mBAAmB,aAAa,6CAA6C,cAAc,+CAA+C;aACnJ,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;YAClD,sBAAsB,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,GACtB,OAAO,CAAC,MAAM,KAAK,CAAC;QAClB,CAAC,CAAC,0BAA0B,CACxB,WAAW,CAAC,MAAM,EAClB,0BAA0B,EAC1B,iBAAiB,CAClB;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,0BAA0B,CAChD,QAAQ,EACR,WAAW,CAAC,aAAa,EACzB,UAAU,EACV,oBAAoB,CACrB,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACjC,oBAAoB,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,MAAM;QAC/B,SAAS;QACT,YAAY;QACZ,UAAU;QACV,UAAU;QACV,mBAAmB;QACnB,aAAa,EAAE,IAAI;QACnB,0BAA0B;QAC1B,sBAAsB;QACtB,iBAAiB;QACjB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACnC,YAAY,EACV,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,mBAAmB,KAAK,MAAM;gBAC9B,CAAC,CAAC,6IAA6I;gBAC/I,CAAC,CAAC,wCAAwC,mBAAmB,+JAA+J;YAC9N,CAAC,CAAC,wHAAwH;KAC/H,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsC,EACtC,OAA8B,EAC9B,OAAe;IAEf,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAC1C,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,SAAS,CAAC,QAAQ,KAAK,OAAO,CAC3E,EAAE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,cAAc;YACpC,MAAM,EAAE,GAAG,OAAO,gBAAgB,KAAK,CAAC,OAAO,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAsB,EACtB,aAAqB,EACrB,UAAkB,EAClB,oBAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAG,oBAAoB,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,aAAa,CAAC;QAC9B,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QACrC,OAAO;KACW,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,0BAA0B,CACxB,UAAU,EACV,OAAO,EACP,kCAAkC,CACnC,CAAC;IACF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,YAAY,KAAK,CAAC,GAAG,EAAE;gBAC9B,MAAM,EAAE,6EAA6E,KAAK,CAAC,MAAM,GAAG;aACrG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAwB,EACxB,WAA0D,EAC1D,OAA8B;IAE9B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,0DAA0D;SACnE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,6DAA6D;SACtE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,gDAAgD,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,aAAa,EAAE;SAC1G,CAAC,CAAC;IACL,CAAC;IACD,IACE,WAAW,CAAC,OAAO;QACnB,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,WAAW,CAAC,OAAO,EACpB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,2DAA2D;SACpE,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,SAAS,CAAC,GAAG;YACpB,MAAM,EAAE,gDAAgD,SAAS,CAAC,GAAG,yCAAyC;SAC/G,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,qBAAqB,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,YAAY,SAAS,CAAC,GAAG,EAAE;YAClC,MAAM,EAAE,6CAA6C,SAAS,CAAC,GAAG,yCAAyC;SAC5G,CAAC,CAAC;IACL,CAAC;IACD,IACE,WAAW,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;QACzC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EACJ,yEAAyE;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,eAAe,CAAU,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,MAAM,EAAE,4CAA4C,KAAK,mBAAmB;aAC7E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC;IACvD,IACE,aAAa,KAAK,SAAS;QAC3B,CAAC,OAAO,aAAa,KAAK,QAAQ;YAChC,CAAC,aAAa,CAAC,IAAI,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,EACzC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,eAAe;YACtB,MAAM,EACJ,6GAA6G;SAChH,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAC5E,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,MAAM,EAAE,4BAA4B,KAAK,CAAC,GAAG,gHAAgH;SAC9J,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAwB,EACxB,QAAiB;IAEjB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,EAAE,CAAC;IACd,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,oBAAoB,CACrC,QAAQ,CAAC,KAAK,EACd,WAAW,CAAC,aAAa,CAC1B,CAAC;IACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IACE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;YAC1B,CAAC,IAAI;YACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,CAAC;YACD,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,EAAE,CAAC;IAER,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QAC1E,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1E,OAAO,6CAA6C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;IAC1E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAa,EACb,KAAc;IAEd,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,OAAO;oBACL,aAAa,EAAE,8BAA8B,KAAK,uDAAuD;iBAC1G,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,OAAO;YACL,aAAa,EAAE,8BAA8B,KAAK,qDAAqD;SACxG,CAAC;IACJ,CAAC;IAED,IAAI,4BAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO;YACL,aAAa,EAAE,8BAA8B,KAAK,qDAAqD;SACxG,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,UAAgC,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,OAAO;oBACL,aAAa,EAAE,8BAA8B,KAAK,uDAAuD;iBAC1G,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO;oBACL,aAAa,EAAE,8BAA8B,KAAK,mCAAmC;iBACtF,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,aAAa,EAAE,8BAA8B,KAAK,qFAAqF;aACxI,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACnD,OAAO;gBACL,aAAa,EAAE,8BAA8B,KAAK,2FAA2F;aAC9I,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,aAAa,EAAE,8BAA8B,KAAK,6FAA6F;KAChJ,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;gBAChD,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAmB,EACnB,cAAsB,EACtB,aAAqB;IAErB,IAAI,cAAc,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACxD,OAAO,CACL,aAAa,KAAK,SAAS;QAC3B,YAAY,KAAK,SAAS;QAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;YAChD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAiC,EACjC,QAAgC,EAChC,QAAgC;IAEhC,MAAM,SAAS,GAA4B;QACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAU,EAAE,CAAC;QAC3E,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpE,OAAO,QAAQ,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { AgentSkillsValidationSummary } from "./agent-skills.js";
1
2
  import type { ContextLensSummary } from "./context-lens.js";
2
3
  import type { SecurityPolicyInventorySummary } from "./security-policy-inventory.js";
3
4
  import type { TrustGraph } from "./trust-graph.js";
@@ -199,6 +200,7 @@ export interface ScanResult {
199
200
  configPath?: string;
200
201
  scannedFileCount: number;
201
202
  format: "text" | "json";
203
+ agentSkills: AgentSkillsValidationSummary;
202
204
  contextLens?: ContextLensSummary;
203
205
  securityPolicyInventory?: SecurityPolicyInventorySummary;
204
206
  trustGraph?: TrustGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9D,yDAAyD;AACzD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhE,iEAAiE;AACjE,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,OAAO,GACP,SAAS,GACT,cAAc,GACd,SAAS,GACT,WAAW,GACX,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,yBAAyB,GACzB,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,mDAAmD;AACnD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;IAC7D,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAE9E,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sDAAsD;AACtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mEAAmE;AACnE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;CAC5D;AAED,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,4BAA4B,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;IACzD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,QAAQ,CAAC;CACzB"}
@@ -0,0 +1,26 @@
1
+ export interface YamlFrontmatterError {
2
+ code: string;
3
+ message: string;
4
+ line: number;
5
+ }
6
+ export interface YamlFrontmatterField {
7
+ key: string;
8
+ value: unknown;
9
+ startLine: number;
10
+ endLine: number;
11
+ }
12
+ export interface ParsedYamlFrontmatter {
13
+ present: boolean;
14
+ closed: boolean;
15
+ mapping: boolean;
16
+ bodyStartLine: number;
17
+ values: Record<string, unknown>;
18
+ fields: YamlFrontmatterField[];
19
+ metadataFields: YamlFrontmatterField[];
20
+ duplicateFields: YamlFrontmatterField[];
21
+ duplicateMetadataKeys: YamlFrontmatterField[];
22
+ errors: YamlFrontmatterError[];
23
+ }
24
+ /** Parse a focused YAML 1.2 frontmatter document without replacing the Markdown parser. */
25
+ export declare function parseAgentSkillFrontmatter(content: string): ParsedYamlFrontmatter;
26
+ //# sourceMappingURL=yaml-frontmatter.d.ts.map