synorch 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -1
- package/README.md +314 -28
- package/dist/application/doctor-service.d.ts +16 -0
- package/dist/application/doctor-service.d.ts.map +1 -1
- package/dist/application/doctor-service.js +230 -32
- package/dist/application/doctor-service.js.map +1 -1
- package/dist/application/generated-skill-doctor.d.ts +9 -0
- package/dist/application/generated-skill-doctor.d.ts.map +1 -0
- package/dist/application/generated-skill-doctor.js +433 -0
- package/dist/application/generated-skill-doctor.js.map +1 -0
- package/dist/application/project-discovery.d.ts +12 -0
- package/dist/application/project-discovery.d.ts.map +1 -1
- package/dist/application/project-discovery.js +65 -2
- package/dist/application/project-discovery.js.map +1 -1
- package/dist/application/safe-path.d.ts +19 -0
- package/dist/application/safe-path.d.ts.map +1 -0
- package/dist/application/safe-path.js +35 -0
- package/dist/application/safe-path.js.map +1 -0
- package/dist/application/size-ceiling.d.ts +15 -0
- package/dist/application/size-ceiling.d.ts.map +1 -0
- package/dist/application/size-ceiling.js +32 -0
- package/dist/application/size-ceiling.js.map +1 -0
- package/dist/application/structure-service.d.ts.map +1 -1
- package/dist/application/structure-service.js +10 -1
- package/dist/application/structure-service.js.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/domain/canonical-contracts.d.ts +69 -0
- package/dist/domain/canonical-contracts.d.ts.map +1 -0
- package/dist/domain/canonical-contracts.js +92 -0
- package/dist/domain/canonical-contracts.js.map +1 -0
- package/dist/domain/generated-skill.d.ts +55 -0
- package/dist/domain/generated-skill.d.ts.map +1 -0
- package/dist/domain/generated-skill.js +90 -0
- package/dist/domain/generated-skill.js.map +1 -0
- package/dist/domain/generation.d.ts +15 -2
- package/dist/domain/generation.d.ts.map +1 -1
- package/dist/domain/observation-ledger.d.ts +118 -0
- package/dist/domain/observation-ledger.d.ts.map +1 -0
- package/dist/domain/observation-ledger.js +183 -0
- package/dist/domain/observation-ledger.js.map +1 -0
- package/dist/domain/product.d.ts +1 -1
- package/dist/domain/product.js +1 -1
- package/dist/domain/relative-path.d.ts +21 -0
- package/dist/domain/relative-path.d.ts.map +1 -0
- package/dist/domain/relative-path.js +43 -0
- package/dist/domain/relative-path.js.map +1 -0
- package/dist/domain/skill-packs.d.ts.map +1 -1
- package/dist/domain/skill-packs.js +1 -0
- package/dist/domain/skill-packs.js.map +1 -1
- package/dist/domain/zod-issues.d.ts +21 -0
- package/dist/domain/zod-issues.d.ts.map +1 -0
- package/dist/domain/zod-issues.js +27 -0
- package/dist/domain/zod-issues.js.map +1 -0
- package/dist/infrastructure/frontmatter.d.ts +25 -0
- package/dist/infrastructure/frontmatter.d.ts.map +1 -0
- package/dist/infrastructure/frontmatter.js +75 -0
- package/dist/infrastructure/frontmatter.js.map +1 -0
- package/dist/templates/agent-manifests.d.ts +19 -0
- package/dist/templates/agent-manifests.d.ts.map +1 -0
- package/dist/templates/agent-manifests.js +302 -0
- package/dist/templates/agent-manifests.js.map +1 -0
- package/dist/templates/base-skills.d.ts +23 -0
- package/dist/templates/base-skills.d.ts.map +1 -0
- package/dist/templates/base-skills.js +477 -0
- package/dist/templates/base-skills.js.map +1 -0
- package/dist/templates/skill-creator-skill.d.ts +23 -0
- package/dist/templates/skill-creator-skill.d.ts.map +1 -0
- package/dist/templates/skill-creator-skill.js +235 -0
- package/dist/templates/skill-creator-skill.js.map +1 -0
- package/dist/templates/skill-references.d.ts +13 -0
- package/dist/templates/skill-references.d.ts.map +1 -0
- package/dist/templates/skill-references.js +280 -0
- package/dist/templates/skill-references.js.map +1 -0
- package/dist/templates/structure-templates.d.ts.map +1 -1
- package/dist/templates/structure-templates.js +15 -139
- package/dist/templates/structure-templates.js.map +1 -1
- package/dist/templates/task-conductor-skill.d.ts +1 -1
- package/dist/templates/task-conductor-skill.d.ts.map +1 -1
- package/dist/templates/task-conductor-skill.js +50 -22
- package/dist/templates/task-conductor-skill.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { manifestSchema, modelProfileSchema, projectRecordSchema, skillRegistrySchema, workspaceSchema, } from "../domain/config.js";
|
|
3
|
+
import { agentManifestSchema, skillContractSchema, CANONICAL_SIZE_CEILINGS, NUMBERED_PROCEDURE_SECTION, REQUIRED_AGENT_SECTIONS, REQUIRED_SKILL_SECTIONS, TECHNOLOGY_SKILL_TOKEN, } from "../domain/canonical-contracts.js";
|
|
3
4
|
import { BASE_SKILLS } from "../domain/skill-packs.js";
|
|
5
|
+
import { normalizeSectionName, parseFrontmatter, splitMarkdownSections, } from "../infrastructure/frontmatter.js";
|
|
6
|
+
import { formatZodIssues } from "../domain/zod-issues.js";
|
|
4
7
|
import { parseYaml } from "../infrastructure/serialization.js";
|
|
8
|
+
import { diagnoseGeneratedSkills } from "./generated-skill-doctor.js";
|
|
9
|
+
import { isStrictDescendant, normalizeForComparison, resolveSafeRelativePath, } from "./safe-path.js";
|
|
10
|
+
import { checkByteCeiling } from "./size-ceiling.js";
|
|
5
11
|
const REQUIRED_PATHS = [
|
|
6
12
|
"AGENTS.md",
|
|
7
13
|
"CLAUDE.md",
|
|
@@ -10,6 +16,13 @@ const REQUIRED_PATHS = [
|
|
|
10
16
|
".ai/schemas/context-packet.schema.json",
|
|
11
17
|
".ai/schemas/completion-packet.schema.json",
|
|
12
18
|
];
|
|
19
|
+
const AGENTS_DIRECTORY = ".ai/agents";
|
|
20
|
+
const CORE_PROTOCOLS_DIRECTORY = ".ai/protocols/core";
|
|
21
|
+
/** Skill ids an agent manifest may name in allowed_skills or forbidden_skills. */
|
|
22
|
+
const KNOWN_SKILL_REFERENCES = new Set([
|
|
23
|
+
...BASE_SKILLS.map((skill) => skill.id),
|
|
24
|
+
TECHNOLOGY_SKILL_TOKEN,
|
|
25
|
+
]);
|
|
13
26
|
export class DoctorService {
|
|
14
27
|
fileSystem;
|
|
15
28
|
constructor(fileSystem) {
|
|
@@ -67,6 +80,8 @@ export class DoctorService {
|
|
|
67
80
|
if (workspace !== undefined) {
|
|
68
81
|
await this.validateWorkspaceChain(root, workspace, diagnostics);
|
|
69
82
|
}
|
|
83
|
+
await this.validateCanonicalContracts(root, diagnostics);
|
|
84
|
+
diagnostics.push(...(await diagnoseGeneratedSkills(this.fileSystem, root)));
|
|
70
85
|
if (diagnostics.length === 0) {
|
|
71
86
|
diagnostics.push({
|
|
72
87
|
severity: "info",
|
|
@@ -389,6 +404,183 @@ export class DoctorService {
|
|
|
389
404
|
}
|
|
390
405
|
}
|
|
391
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Canonical Agent Manifest v1 and Canonical Skill Contract v1 enforcement.
|
|
409
|
+
* Contract violations are errors; layer size overruns are warnings.
|
|
410
|
+
*/
|
|
411
|
+
async validateCanonicalContracts(root, diagnostics) {
|
|
412
|
+
await this.checkFileSize(root, "AGENTS.md", "entrypoint", diagnostics);
|
|
413
|
+
await this.checkFileSize(root, "CLAUDE.md", "entrypoint", diagnostics);
|
|
414
|
+
await this.checkFileSize(root, ".ai/constitution.md", "constitution", diagnostics);
|
|
415
|
+
for (const protocolPath of await this.listMarkdownFiles(root, CORE_PROTOCOLS_DIRECTORY)) {
|
|
416
|
+
await this.checkFileSize(root, protocolPath, "protocol", diagnostics);
|
|
417
|
+
}
|
|
418
|
+
for (const agentId of await this.listDirectoryNames(root, AGENTS_DIRECTORY)) {
|
|
419
|
+
await this.validateAgentManifest(root, agentId, diagnostics);
|
|
420
|
+
}
|
|
421
|
+
for (const skill of BASE_SKILLS) {
|
|
422
|
+
await this.validateSkillContract(root, skill, diagnostics);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
async validateAgentManifest(root, agentId, diagnostics) {
|
|
426
|
+
const relativePath = `${AGENTS_DIRECTORY}/${agentId}/AGENT.md`;
|
|
427
|
+
const content = await this.readOptionalText(root, relativePath);
|
|
428
|
+
if (content === undefined) {
|
|
429
|
+
diagnostics.push({
|
|
430
|
+
severity: "error",
|
|
431
|
+
code: "contract.missing-file",
|
|
432
|
+
message: `Agent directory '${agentId}' has no AGENT.md manifest.`,
|
|
433
|
+
path: relativePath,
|
|
434
|
+
});
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
checkByteCeiling(relativePath, content, "agentManifest", diagnostics);
|
|
438
|
+
const document = parseCanonicalDocument(relativePath, content, diagnostics);
|
|
439
|
+
if (document === undefined)
|
|
440
|
+
return;
|
|
441
|
+
const parsed = agentManifestSchema.safeParse(document.data);
|
|
442
|
+
if (!parsed.success) {
|
|
443
|
+
diagnostics.push({
|
|
444
|
+
severity: "error",
|
|
445
|
+
code: "contract.invalid-frontmatter",
|
|
446
|
+
message: `Agent manifest frontmatter is invalid: ${formatZodIssues(parsed.error)}`,
|
|
447
|
+
path: relativePath,
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
if (parsed.data.name !== agentId) {
|
|
452
|
+
diagnostics.push({
|
|
453
|
+
severity: "error",
|
|
454
|
+
code: "contract.identity-mismatch",
|
|
455
|
+
message: `Agent manifest declares name '${parsed.data.name}' in directory '${agentId}'.`,
|
|
456
|
+
path: relativePath,
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
for (const reference of [
|
|
460
|
+
...parsed.data.allowed_skills,
|
|
461
|
+
...(parsed.data.forbidden_skills ?? []),
|
|
462
|
+
]) {
|
|
463
|
+
if (!KNOWN_SKILL_REFERENCES.has(reference)) {
|
|
464
|
+
diagnostics.push({
|
|
465
|
+
severity: "error",
|
|
466
|
+
code: "contract.unknown-skill-reference",
|
|
467
|
+
message: `Agent '${agentId}' references unknown skill '${reference}'. Use a canonical ` +
|
|
468
|
+
`base skill id or the '${TECHNOLOGY_SKILL_TOKEN}' token.`,
|
|
469
|
+
path: relativePath,
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
checkRequiredSections(relativePath, document.body, REQUIRED_AGENT_SECTIONS, diagnostics);
|
|
475
|
+
}
|
|
476
|
+
async validateSkillContract(root, skill, diagnostics) {
|
|
477
|
+
const content = await this.readOptionalText(root, skill.relativePath);
|
|
478
|
+
if (content === undefined) {
|
|
479
|
+
diagnostics.push({
|
|
480
|
+
severity: "error",
|
|
481
|
+
code: "contract.missing-file",
|
|
482
|
+
message: `Canonical base skill '${skill.id}' has no SKILL.md.`,
|
|
483
|
+
path: skill.relativePath,
|
|
484
|
+
});
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
checkByteCeiling(skill.relativePath, content, "baseSkill", diagnostics);
|
|
488
|
+
const document = parseCanonicalDocument(skill.relativePath, content, diagnostics);
|
|
489
|
+
if (document === undefined)
|
|
490
|
+
return;
|
|
491
|
+
const parsed = skillContractSchema.safeParse(document.data);
|
|
492
|
+
if (!parsed.success) {
|
|
493
|
+
diagnostics.push({
|
|
494
|
+
severity: "error",
|
|
495
|
+
code: "contract.invalid-frontmatter",
|
|
496
|
+
message: `Skill frontmatter is invalid: ${formatZodIssues(parsed.error)}`,
|
|
497
|
+
path: skill.relativePath,
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
if (parsed.data.name !== skill.id) {
|
|
502
|
+
diagnostics.push({
|
|
503
|
+
severity: "error",
|
|
504
|
+
code: "contract.identity-mismatch",
|
|
505
|
+
message: `Skill declares name '${parsed.data.name}' but is registered as '${skill.id}'.`,
|
|
506
|
+
path: skill.relativePath,
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
await this.validateSkillReferences(root, skill, parsed.data.references ?? [], diagnostics);
|
|
510
|
+
}
|
|
511
|
+
checkRequiredSections(skill.relativePath, document.body, REQUIRED_SKILL_SECTIONS, diagnostics);
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* A declared reference must resolve inside its own skill directory both
|
|
515
|
+
* lexically and after symbolic links are canonicalized.
|
|
516
|
+
*/
|
|
517
|
+
async validateSkillReferences(root, skill, references, diagnostics) {
|
|
518
|
+
const skillDirectory = path.dirname(path.resolve(root, ...skill.relativePath.split("/")));
|
|
519
|
+
for (const reference of references) {
|
|
520
|
+
const resolved = resolveSafeRelativePath(skillDirectory, reference);
|
|
521
|
+
if (resolved === undefined) {
|
|
522
|
+
diagnostics.push({
|
|
523
|
+
severity: "error",
|
|
524
|
+
code: "contract.unsafe-reference-path",
|
|
525
|
+
message: `Skill '${skill.id}' declares a reference outside its directory: ${reference}`,
|
|
526
|
+
path: skill.relativePath,
|
|
527
|
+
});
|
|
528
|
+
continue;
|
|
529
|
+
}
|
|
530
|
+
if (!(await this.isExistingRegularFile(resolved.absolute))) {
|
|
531
|
+
diagnostics.push({
|
|
532
|
+
severity: "error",
|
|
533
|
+
code: "contract.missing-reference-file",
|
|
534
|
+
message: `Skill '${skill.id}' declares a reference that is not a file: ${reference}`,
|
|
535
|
+
path: skill.relativePath,
|
|
536
|
+
});
|
|
537
|
+
continue;
|
|
538
|
+
}
|
|
539
|
+
if (!(await this.isCanonicalPathWithin(skillDirectory, resolved.absolute)) ||
|
|
540
|
+
!(await this.isCanonicalPathWithin(root, resolved.absolute))) {
|
|
541
|
+
diagnostics.push({
|
|
542
|
+
severity: "error",
|
|
543
|
+
code: "contract.unsafe-reference-path",
|
|
544
|
+
message: `Skill '${skill.id}' reference escapes its directory: ${reference}`,
|
|
545
|
+
path: skill.relativePath,
|
|
546
|
+
});
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
549
|
+
checkByteCeiling(`${path.posix.dirname(skill.relativePath)}/${resolved.relative}`, await this.fileSystem.readText(resolved.absolute), "skillReference", diagnostics);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
async checkFileSize(root, relativePath, layer, diagnostics) {
|
|
553
|
+
const content = await this.readOptionalText(root, relativePath);
|
|
554
|
+
if (content === undefined)
|
|
555
|
+
return;
|
|
556
|
+
checkByteCeiling(relativePath, content, layer, diagnostics);
|
|
557
|
+
}
|
|
558
|
+
async readOptionalText(root, relativePath) {
|
|
559
|
+
const absolutePath = path.resolve(root, ...relativePath.split("/"));
|
|
560
|
+
if (!(await this.isExistingRegularFile(absolutePath)))
|
|
561
|
+
return undefined;
|
|
562
|
+
return this.fileSystem.readText(absolutePath);
|
|
563
|
+
}
|
|
564
|
+
async listDirectoryNames(root, relativeDirectory) {
|
|
565
|
+
const absolutePath = path.resolve(root, ...relativeDirectory.split("/"));
|
|
566
|
+
if (!(await this.isExistingDirectory(absolutePath)))
|
|
567
|
+
return [];
|
|
568
|
+
const entries = await this.fileSystem.list(absolutePath);
|
|
569
|
+
return entries
|
|
570
|
+
.filter((entry) => entry.isDirectory)
|
|
571
|
+
.map((entry) => entry.name)
|
|
572
|
+
.sort((left, right) => left.localeCompare(right));
|
|
573
|
+
}
|
|
574
|
+
async listMarkdownFiles(root, relativeDirectory) {
|
|
575
|
+
const absolutePath = path.resolve(root, ...relativeDirectory.split("/"));
|
|
576
|
+
if (!(await this.isExistingDirectory(absolutePath)))
|
|
577
|
+
return [];
|
|
578
|
+
const entries = await this.fileSystem.list(absolutePath);
|
|
579
|
+
return entries
|
|
580
|
+
.filter((entry) => !entry.isDirectory && entry.name.endsWith(".md"))
|
|
581
|
+
.map((entry) => `${relativeDirectory}/${entry.name}`)
|
|
582
|
+
.sort((left, right) => left.localeCompare(right));
|
|
583
|
+
}
|
|
392
584
|
async isExistingDirectory(targetPath) {
|
|
393
585
|
return ((await this.fileSystem.exists(targetPath)) &&
|
|
394
586
|
(await this.fileSystem.isDirectory(targetPath)));
|
|
@@ -445,49 +637,55 @@ export class DoctorService {
|
|
|
445
637
|
}
|
|
446
638
|
}
|
|
447
639
|
}
|
|
448
|
-
function
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
const absolute = path.resolve(root, ...segments);
|
|
458
|
-
const relativeToRoot = path.relative(root, absolute);
|
|
459
|
-
if (relativeToRoot === ".." ||
|
|
460
|
-
relativeToRoot.startsWith(".." + path.sep) ||
|
|
461
|
-
path.isAbsolute(relativeToRoot)) {
|
|
640
|
+
function parseCanonicalDocument(relativePath, content, diagnostics) {
|
|
641
|
+
const result = parseFrontmatter(content);
|
|
642
|
+
if (result.kind === "missing") {
|
|
643
|
+
diagnostics.push({
|
|
644
|
+
severity: "error",
|
|
645
|
+
code: "contract.missing-frontmatter",
|
|
646
|
+
message: "File must open with a '---' YAML frontmatter block.",
|
|
647
|
+
path: relativePath,
|
|
648
|
+
});
|
|
462
649
|
return undefined;
|
|
463
650
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
651
|
+
if (result.kind === "malformed") {
|
|
652
|
+
diagnostics.push({
|
|
653
|
+
severity: "error",
|
|
654
|
+
code: "contract.malformed-frontmatter",
|
|
655
|
+
message: `Frontmatter cannot be parsed: ${result.message}`,
|
|
656
|
+
path: relativePath,
|
|
657
|
+
});
|
|
467
658
|
return undefined;
|
|
468
659
|
}
|
|
469
|
-
return {
|
|
660
|
+
return { data: result.data, body: result.body };
|
|
470
661
|
}
|
|
471
|
-
function
|
|
472
|
-
|
|
662
|
+
function checkRequiredSections(relativePath, body, required, diagnostics) {
|
|
663
|
+
const sections = splitMarkdownSections(body);
|
|
664
|
+
for (const section of required) {
|
|
665
|
+
if (!sections.has(normalizeSectionName(section))) {
|
|
666
|
+
diagnostics.push({
|
|
667
|
+
severity: "error",
|
|
668
|
+
code: "contract.missing-section",
|
|
669
|
+
message: `Required section '## ${section}' is missing.`,
|
|
670
|
+
path: relativePath,
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
const procedure = sections.get(normalizeSectionName(NUMBERED_PROCEDURE_SECTION));
|
|
675
|
+
if (procedure !== undefined && !/^\s*1\.\s+\S/m.test(procedure)) {
|
|
676
|
+
diagnostics.push({
|
|
677
|
+
severity: "error",
|
|
678
|
+
code: "contract.unnumbered-procedure",
|
|
679
|
+
message: `Section '## ${NUMBERED_PROCEDURE_SECTION}' must be a numbered list.`,
|
|
680
|
+
path: relativePath,
|
|
681
|
+
});
|
|
682
|
+
}
|
|
473
683
|
}
|
|
474
684
|
function isPathWithin(root, target) {
|
|
475
685
|
const relative = path.relative(root, target);
|
|
476
686
|
return (relative === "" ||
|
|
477
687
|
(relative !== ".." && !relative.startsWith(".." + path.sep) && !path.isAbsolute(relative)));
|
|
478
688
|
}
|
|
479
|
-
function normalizeRelativePath(value) {
|
|
480
|
-
const normalized = value
|
|
481
|
-
.trim()
|
|
482
|
-
.replaceAll("\\", "/")
|
|
483
|
-
.replace(/\/+/g, "/")
|
|
484
|
-
.replace(/^(?:\.\/)+/, "")
|
|
485
|
-
.replace(/\/$/, "");
|
|
486
|
-
return normalized || ".";
|
|
487
|
-
}
|
|
488
|
-
function normalizeForComparison(value) {
|
|
489
|
-
return normalizeRelativePath(value).toLowerCase();
|
|
490
|
-
}
|
|
491
689
|
function reportDuplicates(values, label, code, diagnostics, diagnosticPath = ".ai/workspace.yaml") {
|
|
492
690
|
const seen = new Set();
|
|
493
691
|
const reported = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-service.js","sourceRoot":"","sources":["../../src/application/doctor-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor-service.js","sourceRoot":"","sources":["../../src/application/doctor-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FileSystem } from "../infrastructure/file-system.ts";
|
|
2
|
+
import type { Diagnostic } from "./doctor-service.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Validate the generated project-skill namespace: the ledger itself, the frontmatter contract of
|
|
5
|
+
* every `SKILL.md` under `.ai/skills/project/**`, the evidence behind it, and the shape heuristics.
|
|
6
|
+
* Contract violations are errors; heuristics and staleness are warnings, per design D13.
|
|
7
|
+
*/
|
|
8
|
+
export declare function diagnoseGeneratedSkills(fileSystem: FileSystem, rootDirectory: string): Promise<Diagnostic[]>;
|
|
9
|
+
//# sourceMappingURL=generated-skill-doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-skill-doctor.d.ts","sourceRoot":"","sources":["../../src/application/generated-skill-doctor.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAQnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,EAAE,CAAC,CA0DvB"}
|