@interf/compiler 0.1.12 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -192
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +65 -84
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +19 -3
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/create.d.ts +3 -0
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +39 -14
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +2 -0
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -63
- package/dist/commands/init.js.map +1 -1
- package/dist/index.d.ts +11 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-args.d.ts +4 -0
- package/dist/lib/agent-args.d.ts.map +1 -0
- package/dist/lib/agent-args.js +42 -0
- package/dist/lib/agent-args.js.map +1 -0
- package/dist/lib/agent-constants.d.ts +6 -0
- package/dist/lib/agent-constants.d.ts.map +1 -0
- package/dist/lib/agent-constants.js +29 -0
- package/dist/lib/agent-constants.js.map +1 -0
- package/dist/lib/agent-detection.d.ts +8 -0
- package/dist/lib/agent-detection.d.ts.map +1 -0
- package/dist/lib/agent-detection.js +66 -0
- package/dist/lib/agent-detection.js.map +1 -0
- package/dist/lib/agent-execution.d.ts +3 -0
- package/dist/lib/agent-execution.d.ts.map +1 -0
- package/dist/lib/agent-execution.js +207 -0
- package/dist/lib/agent-execution.js.map +1 -0
- package/dist/lib/agent-logs.d.ts +3 -0
- package/dist/lib/agent-logs.d.ts.map +1 -0
- package/dist/lib/agent-logs.js +18 -0
- package/dist/lib/agent-logs.js.map +1 -0
- package/dist/lib/agent-preflight.d.ts +8 -0
- package/dist/lib/agent-preflight.d.ts.map +1 -0
- package/dist/lib/agent-preflight.js +77 -0
- package/dist/lib/agent-preflight.js.map +1 -0
- package/dist/lib/agent-render.d.ts +9 -0
- package/dist/lib/agent-render.d.ts.map +1 -0
- package/dist/lib/agent-render.js +219 -0
- package/dist/lib/agent-render.js.map +1 -0
- package/dist/lib/agent-status.d.ts +4 -0
- package/dist/lib/agent-status.d.ts.map +1 -0
- package/dist/lib/agent-status.js +59 -0
- package/dist/lib/agent-status.js.map +1 -0
- package/dist/lib/agent-types.d.ts +31 -0
- package/dist/lib/agent-types.d.ts.map +1 -0
- package/dist/lib/agent-types.js +2 -0
- package/dist/lib/agent-types.js.map +1 -0
- package/dist/lib/agents.d.ts +7 -49
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +8 -554
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/benchmark-execution.d.ts +9 -0
- package/dist/lib/benchmark-execution.d.ts.map +1 -0
- package/dist/lib/benchmark-execution.js +488 -0
- package/dist/lib/benchmark-execution.js.map +1 -0
- package/dist/lib/benchmark-paths.d.ts +11 -0
- package/dist/lib/benchmark-paths.d.ts.map +1 -0
- package/dist/lib/benchmark-paths.js +38 -0
- package/dist/lib/benchmark-paths.js.map +1 -0
- package/dist/lib/benchmark-specs.d.ts +8 -0
- package/dist/lib/benchmark-specs.d.ts.map +1 -0
- package/dist/lib/benchmark-specs.js +115 -0
- package/dist/lib/benchmark-specs.js.map +1 -0
- package/dist/lib/benchmark-targets.d.ts +5 -0
- package/dist/lib/benchmark-targets.d.ts.map +1 -0
- package/dist/lib/benchmark-targets.js +72 -0
- package/dist/lib/benchmark-targets.js.map +1 -0
- package/dist/lib/benchmark-types.d.ts +19 -0
- package/dist/lib/benchmark-types.d.ts.map +1 -0
- package/dist/lib/benchmark-types.js +2 -0
- package/dist/lib/benchmark-types.js.map +1 -0
- package/dist/lib/benchmark.d.ts +4 -29
- package/dist/lib/benchmark.d.ts.map +1 -1
- package/dist/lib/benchmark.js +3 -324
- package/dist/lib/benchmark.js.map +1 -1
- package/dist/lib/bundled-templates.d.ts +5 -0
- package/dist/lib/bundled-templates.d.ts.map +1 -0
- package/dist/lib/bundled-templates.js +23 -0
- package/dist/lib/bundled-templates.js.map +1 -0
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/eval-packs.d.ts +204 -0
- package/dist/lib/eval-packs.d.ts.map +1 -0
- package/dist/lib/eval-packs.js +177 -0
- package/dist/lib/eval-packs.js.map +1 -0
- package/dist/lib/execution-profile.d.ts +18 -0
- package/dist/lib/execution-profile.d.ts.map +1 -0
- package/dist/lib/execution-profile.js +85 -0
- package/dist/lib/execution-profile.js.map +1 -0
- package/dist/lib/interf-bootstrap.d.ts +4 -0
- package/dist/lib/interf-bootstrap.d.ts.map +1 -1
- package/dist/lib/interf-bootstrap.js +71 -68
- package/dist/lib/interf-bootstrap.js.map +1 -1
- package/dist/lib/interf-compile-plan.d.ts +12 -0
- package/dist/lib/interf-compile-plan.d.ts.map +1 -0
- package/dist/lib/interf-compile-plan.js +143 -0
- package/dist/lib/interf-compile-plan.js.map +1 -0
- package/dist/lib/interf-detect.d.ts.map +1 -1
- package/dist/lib/interf-detect.js +11 -10
- package/dist/lib/interf-detect.js.map +1 -1
- package/dist/lib/interf-scaffold.d.ts +1 -10
- package/dist/lib/interf-scaffold.d.ts.map +1 -1
- package/dist/lib/interf-scaffold.js +25 -362
- package/dist/lib/interf-scaffold.js.map +1 -1
- package/dist/lib/interf-workflow-package.d.ts +4 -0
- package/dist/lib/interf-workflow-package.d.ts.map +1 -0
- package/dist/lib/interf-workflow-package.js +131 -0
- package/dist/lib/interf-workflow-package.js.map +1 -0
- package/dist/lib/interf.d.ts +2 -1
- package/dist/lib/interf.d.ts.map +1 -1
- package/dist/lib/interf.js +2 -1
- package/dist/lib/interf.js.map +1 -1
- package/dist/lib/local-workflows.d.ts.map +1 -1
- package/dist/lib/local-workflows.js +8 -12
- package/dist/lib/local-workflows.js.map +1 -1
- package/dist/lib/logger.d.ts +4 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +11 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/obsidian.d.ts.map +1 -1
- package/dist/lib/obsidian.js +7 -3
- package/dist/lib/obsidian.js.map +1 -1
- package/dist/lib/parse.d.ts +2 -2
- package/dist/lib/parse.d.ts.map +1 -1
- package/dist/lib/parse.js +11 -7
- package/dist/lib/parse.js.map +1 -1
- package/dist/lib/registry.js +3 -3
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/runtime-acceptance.d.ts +4 -0
- package/dist/lib/runtime-acceptance.d.ts.map +1 -0
- package/dist/lib/runtime-acceptance.js +123 -0
- package/dist/lib/runtime-acceptance.js.map +1 -0
- package/dist/lib/runtime-contracts.d.ts +4 -0
- package/dist/lib/runtime-contracts.d.ts.map +1 -0
- package/dist/lib/runtime-contracts.js +63 -0
- package/dist/lib/runtime-contracts.js.map +1 -0
- package/dist/lib/runtime-paths.d.ts +8 -0
- package/dist/lib/runtime-paths.d.ts.map +1 -0
- package/dist/lib/runtime-paths.js +28 -0
- package/dist/lib/runtime-paths.js.map +1 -0
- package/dist/lib/runtime-prompt.d.ts +3 -0
- package/dist/lib/runtime-prompt.d.ts.map +1 -0
- package/dist/lib/runtime-prompt.js +59 -0
- package/dist/lib/runtime-prompt.js.map +1 -0
- package/dist/lib/runtime-reconcile.d.ts +6 -0
- package/dist/lib/runtime-reconcile.d.ts.map +1 -0
- package/dist/lib/runtime-reconcile.js +339 -0
- package/dist/lib/runtime-reconcile.js.map +1 -0
- package/dist/lib/runtime-runs.d.ts +12 -0
- package/dist/lib/runtime-runs.d.ts.map +1 -0
- package/dist/lib/runtime-runs.js +337 -0
- package/dist/lib/runtime-runs.js.map +1 -0
- package/dist/lib/runtime-types.d.ts +42 -0
- package/dist/lib/runtime-types.d.ts.map +1 -0
- package/dist/lib/runtime-types.js +2 -0
- package/dist/lib/runtime-types.js.map +1 -0
- package/dist/lib/runtime.d.ts +6 -58
- package/dist/lib/runtime.d.ts.map +1 -1
- package/dist/lib/runtime.js +5 -614
- package/dist/lib/runtime.js.map +1 -1
- package/dist/lib/schema.d.ts +156 -13
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +113 -4
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/source-config.d.ts +13 -0
- package/dist/lib/source-config.d.ts.map +1 -0
- package/dist/lib/source-config.js +75 -0
- package/dist/lib/source-config.js.map +1 -0
- package/dist/lib/state-artifacts.d.ts +15 -0
- package/dist/lib/state-artifacts.d.ts.map +1 -0
- package/dist/lib/state-artifacts.js +24 -0
- package/dist/lib/state-artifacts.js.map +1 -0
- package/dist/lib/state-health.d.ts +9 -0
- package/dist/lib/state-health.d.ts.map +1 -0
- package/dist/lib/state-health.js +330 -0
- package/dist/lib/state-health.js.map +1 -0
- package/dist/lib/state-io.d.ts +15 -0
- package/dist/lib/state-io.d.ts.map +1 -0
- package/dist/lib/state-io.js +219 -0
- package/dist/lib/state-io.js.map +1 -0
- package/dist/lib/state-paths.d.ts +5 -0
- package/dist/lib/state-paths.d.ts.map +1 -0
- package/dist/lib/state-paths.js +19 -0
- package/dist/lib/state-paths.js.map +1 -0
- package/dist/lib/state-view.d.ts +7 -0
- package/dist/lib/state-view.d.ts.map +1 -0
- package/dist/lib/state-view.js +147 -0
- package/dist/lib/state-view.js.map +1 -0
- package/dist/lib/state.d.ts +6 -46
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +5 -632
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/summarize-plan.d.ts +1 -0
- package/dist/lib/summarize-plan.d.ts.map +1 -1
- package/dist/lib/summarize-plan.js +10 -0
- package/dist/lib/summarize-plan.js.map +1 -1
- package/dist/lib/user-config.js +2 -2
- package/dist/lib/user-config.js.map +1 -1
- package/dist/lib/validate-helpers.d.ts +21 -0
- package/dist/lib/validate-helpers.d.ts.map +1 -0
- package/dist/lib/validate-helpers.js +72 -0
- package/dist/lib/validate-helpers.js.map +1 -0
- package/dist/lib/validate-interface.d.ts +2 -0
- package/dist/lib/validate-interface.d.ts.map +1 -1
- package/dist/lib/validate-interface.js +103 -53
- package/dist/lib/validate-interface.js.map +1 -1
- package/dist/lib/validate-kb.d.ts +8 -0
- package/dist/lib/validate-kb.d.ts.map +1 -1
- package/dist/lib/validate-kb.js +53 -24
- package/dist/lib/validate-kb.js.map +1 -1
- package/dist/lib/validate.d.ts +1 -1
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +5 -2
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/workflow-definitions.d.ts +1 -1
- package/dist/lib/workflow-definitions.d.ts.map +1 -1
- package/dist/lib/workflow-definitions.js +90 -166
- package/dist/lib/workflow-definitions.js.map +1 -1
- package/dist/lib/workflow-helpers.d.ts.map +1 -1
- package/dist/lib/workflow-helpers.js +6 -3
- package/dist/lib/workflow-helpers.js.map +1 -1
- package/dist/lib/workflow-stage-runner.d.ts +41 -0
- package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
- package/dist/lib/workflow-stage-runner.js +106 -0
- package/dist/lib/workflow-stage-runner.js.map +1 -0
- package/dist/lib/workflow-starter-docs.d.ts +9 -0
- package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
- package/dist/lib/workflow-starter-docs.js +18 -0
- package/dist/lib/workflow-starter-docs.js.map +1 -0
- package/dist/lib/workflows-interface-contracts.d.ts +24 -0
- package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
- package/dist/lib/workflows-interface-contracts.js +304 -0
- package/dist/lib/workflows-interface-contracts.js.map +1 -0
- package/dist/lib/workflows-interface.d.ts +3 -10
- package/dist/lib/workflows-interface.d.ts.map +1 -1
- package/dist/lib/workflows-interface.js +117 -365
- package/dist/lib/workflows-interface.js.map +1 -1
- package/dist/lib/workflows-kb.d.ts.map +1 -1
- package/dist/lib/workflows-kb.js +79 -55
- package/dist/lib/workflows-kb.js.map +1 -1
- package/dist/lib/workflows.d.ts.map +1 -1
- package/dist/lib/workflows.js +1 -1
- package/dist/lib/workflows.js.map +1 -1
- package/package.json +15 -4
- package/skills/interface/analyze/SKILL.md +79 -28
- package/skills/interface/compile/SKILL.md +27 -28
- package/skills/interface/create/SKILL.md +53 -230
- package/skills/interface/create/references/compile-plan-format.md +31 -31
- package/skills/interface/create/references/workflows.md +17 -32
- package/skills/interface/query/SKILL.md +15 -1
- package/skills/interface/retrieve/SKILL.md +32 -65
- package/skills/knowledge-base/compile/SKILL.md +59 -83
- package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
- package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
- package/skills/knowledge-base/query/SKILL.md +13 -1
- package/skills/knowledge-base/summarize/SKILL.md +54 -24
- package/templates/interface/README.md +13 -12
- package/templates/interface/interfaces.md +14 -11
- package/templates/knowledge-base/README.md +0 -1
- package/templates/knowledge-base/registry.md +15 -15
- package/templates/workflow-package/README.md +16 -0
- package/templates/workflow-package/create/SKILL.md +8 -0
- package/templates/workflow-package/interface-query/SKILL.md +29 -0
- package/templates/workflow-package/interface-stage/SKILL.md +13 -0
- package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
- package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
- package/templates/workflow-starters/interface/interf/README.md +13 -0
- package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
- package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
- package/templates/workflow-starters/knowledge-base/karpathy/README.md +13 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { readJsonFileWithSchema } from "./parse.js";
|
|
4
|
+
import { SourceFolderConfigSchema, } from "./schema.js";
|
|
5
|
+
import { slugify } from "./util.js";
|
|
6
|
+
export const SOURCE_FOLDER_CONFIG_FILE = "interf.config.json";
|
|
7
|
+
function sourceConfigPath(sourcePath) {
|
|
8
|
+
return join(sourcePath, SOURCE_FOLDER_CONFIG_FILE);
|
|
9
|
+
}
|
|
10
|
+
function normalizeEvalCases(cases) {
|
|
11
|
+
const seen = new Set();
|
|
12
|
+
return cases.map((caseSpec, index) => {
|
|
13
|
+
const baseId = slugify(caseSpec.id ?? caseSpec.question) || `check-${index + 1}`;
|
|
14
|
+
let id = baseId;
|
|
15
|
+
let suffix = 2;
|
|
16
|
+
while (seen.has(id)) {
|
|
17
|
+
id = `${baseId}-${suffix}`;
|
|
18
|
+
suffix += 1;
|
|
19
|
+
}
|
|
20
|
+
seen.add(id);
|
|
21
|
+
return {
|
|
22
|
+
id,
|
|
23
|
+
question: caseSpec.question.trim(),
|
|
24
|
+
...(caseSpec.answer ? { answer: caseSpec.answer.trim() } : {}),
|
|
25
|
+
...(caseSpec.strictness ? { strictness: caseSpec.strictness.trim() } : {}),
|
|
26
|
+
...(caseSpec.expect ? { expect: caseSpec.expect } : {}),
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function loadSourceFolderConfig(sourcePath) {
|
|
31
|
+
const filePath = sourceConfigPath(sourcePath);
|
|
32
|
+
if (!existsSync(filePath))
|
|
33
|
+
return null;
|
|
34
|
+
return readJsonFileWithSchema(filePath, "source-folder config", SourceFolderConfigSchema);
|
|
35
|
+
}
|
|
36
|
+
export function buildBenchmarkSpecFromSourceFolderConfig(options) {
|
|
37
|
+
const { sourcePath, type, targetName } = options;
|
|
38
|
+
const config = loadSourceFolderConfig(sourcePath);
|
|
39
|
+
if (!config)
|
|
40
|
+
return null;
|
|
41
|
+
if (type === "knowledge-base") {
|
|
42
|
+
const knowledgeBase = config.knowledge_base;
|
|
43
|
+
if (!knowledgeBase?.evals || knowledgeBase.evals.length === 0)
|
|
44
|
+
return null;
|
|
45
|
+
const configPath = sourceConfigPath(sourcePath);
|
|
46
|
+
return {
|
|
47
|
+
id: knowledgeBase.id ?? slugify(knowledgeBase.name ?? basename(sourcePath) ?? "knowledge-base"),
|
|
48
|
+
filePath: `${configPath}#knowledge_base`,
|
|
49
|
+
type: "knowledge-base",
|
|
50
|
+
name: knowledgeBase.name ?? "Knowledge Base",
|
|
51
|
+
description: `Derived from ${SOURCE_FOLDER_CONFIG_FILE}`,
|
|
52
|
+
cases: normalizeEvalCases(knowledgeBase.evals),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const interfaces = config.interfaces ?? [];
|
|
56
|
+
if (interfaces.length === 0)
|
|
57
|
+
return null;
|
|
58
|
+
const match = targetName
|
|
59
|
+
? interfaces.find((entry) => entry.name === targetName)
|
|
60
|
+
: interfaces.length === 1
|
|
61
|
+
? interfaces[0]
|
|
62
|
+
: null;
|
|
63
|
+
if (!match?.evals || match.evals.length === 0)
|
|
64
|
+
return null;
|
|
65
|
+
const configPath = sourceConfigPath(sourcePath);
|
|
66
|
+
return {
|
|
67
|
+
id: match.id ?? slugify(match.name),
|
|
68
|
+
filePath: `${configPath}#interfaces/${match.name}`,
|
|
69
|
+
type: "interface",
|
|
70
|
+
name: match.name,
|
|
71
|
+
description: match.about,
|
|
72
|
+
cases: normalizeEvalCases(match.evals),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=source-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-config.js","sourceRoot":"","sources":["../../src/lib/source-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type InterfaceHealth, type InterfaceViewSpec, type KnowledgeBaseHealth, type KnowledgeBaseSourceAccess, type KnowledgeBaseViewSpec } from "./schema.js";
|
|
2
|
+
export declare function refreshInterfaceArtifacts(dirPath: string, options?: {
|
|
3
|
+
ensureViewSpec?: boolean;
|
|
4
|
+
}): {
|
|
5
|
+
health: InterfaceHealth;
|
|
6
|
+
viewSpec?: InterfaceViewSpec;
|
|
7
|
+
};
|
|
8
|
+
export declare function refreshKnowledgeBaseArtifacts(dirPath: string, options?: {
|
|
9
|
+
ensureViewSpec?: boolean;
|
|
10
|
+
}): {
|
|
11
|
+
health: KnowledgeBaseHealth;
|
|
12
|
+
viewSpec?: KnowledgeBaseViewSpec;
|
|
13
|
+
sourceAccess: KnowledgeBaseSourceAccess;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=state-artifacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-artifacts.d.ts","sourceRoot":"","sources":["../../src/lib/state-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAgBrB,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAW3D;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAAC,YAAY,EAAE,yBAAyB,CAAA;CAAE,CAW5G"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { saveInterfaceHealth, saveKnowledgeBaseHealth, } from "./state-io.js";
|
|
2
|
+
import { computeInterfaceHealth, computeKnowledgeBaseHealth, normalizeInterfaceCompileState, } from "./state-health.js";
|
|
3
|
+
import { ensureInterfaceViewSpec, ensureKnowledgeBaseSourceAccess, ensureKnowledgeBaseViewSpec, } from "./state-view.js";
|
|
4
|
+
export function refreshInterfaceArtifacts(dirPath, options) {
|
|
5
|
+
normalizeInterfaceCompileState(dirPath);
|
|
6
|
+
const health = computeInterfaceHealth(dirPath);
|
|
7
|
+
saveInterfaceHealth(dirPath, health);
|
|
8
|
+
let viewSpec;
|
|
9
|
+
if (options?.ensureViewSpec) {
|
|
10
|
+
viewSpec = ensureInterfaceViewSpec(dirPath);
|
|
11
|
+
}
|
|
12
|
+
return { health, viewSpec };
|
|
13
|
+
}
|
|
14
|
+
export function refreshKnowledgeBaseArtifacts(dirPath, options) {
|
|
15
|
+
const health = computeKnowledgeBaseHealth(dirPath);
|
|
16
|
+
saveKnowledgeBaseHealth(dirPath, health);
|
|
17
|
+
const sourceAccess = ensureKnowledgeBaseSourceAccess(dirPath);
|
|
18
|
+
let viewSpec;
|
|
19
|
+
if (options?.ensureViewSpec) {
|
|
20
|
+
viewSpec = ensureKnowledgeBaseViewSpec(dirPath);
|
|
21
|
+
}
|
|
22
|
+
return { health, viewSpec, sourceAccess };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=state-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-artifacts.js","sourceRoot":"","sources":["../../src/lib/state-artifacts.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,OAAsC;IAEtC,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,QAAuC,CAAC;IAC5C,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAe,EACf,OAAsC;IAEtC,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAE9D,IAAI,QAA2C,CAAC;IAChD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type InterfaceHealth, type InterfaceState, type InterfaceStage, type KnowledgeBaseHealth, type KnowledgeBaseState, type KnowledgeBaseStage, type RuntimeStatus } from "./schema.js";
|
|
2
|
+
export declare function computeKnowledgeBaseHealth(dirPath: string): KnowledgeBaseHealth;
|
|
3
|
+
export declare function computeInterfaceHealth(dirPath: string): InterfaceHealth;
|
|
4
|
+
export declare function resolveKnowledgeBaseStatus(rawTotal: number, summarized: number, toSummarize: number, toCompile: number, errors: number, state: KnowledgeBaseState): RuntimeStatus;
|
|
5
|
+
export declare function resolveKnowledgeBaseStage(state: KnowledgeBaseState, rawTotal: number, summarized: number, toSummarize: number, toCompile: number, errors: number): KnowledgeBaseStage;
|
|
6
|
+
export declare function resolveInterfaceStatus(state: InterfaceState, toSync: number, errors: number): RuntimeStatus;
|
|
7
|
+
export declare function resolveInterfaceStage(state: InterfaceState, errors: number): InterfaceStage;
|
|
8
|
+
export declare function normalizeInterfaceCompileState(dirPath: string): InterfaceState;
|
|
9
|
+
//# sourceMappingURL=state-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-health.d.ts","sourceRoot":"","sources":["../../src/lib/state-health.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAUrB,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAyF/E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CA0HvE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,kBAAkB,GACxB,aAAa,CAKf;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAMpB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,aAAa,CAMf;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,GACb,cAAc,CAMhB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CA0B9E"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { basename, join, resolve } from "node:path";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { countFilesRecursive } from "./filesystem.js";
|
|
4
|
+
import { discoverSourceFiles } from "./discovery.js";
|
|
5
|
+
import { readInterfConfig, resolveKnowledgeBaseSourcePath } from "./interf.js";
|
|
6
|
+
import { loadRuntimeRun } from "./runtime.js";
|
|
7
|
+
import { validateKnowledgeBase, validateInterfaceKnowledgeBase } from "./validate.js";
|
|
8
|
+
import { STATE_DIR } from "./util.js";
|
|
9
|
+
import { initInterfaceState, initKnowledgeBaseState, loadState, saveState, } from "./state-io.js";
|
|
10
|
+
export function computeKnowledgeBaseHealth(dirPath) {
|
|
11
|
+
const state = {
|
|
12
|
+
...initKnowledgeBaseState(),
|
|
13
|
+
...(loadState(dirPath) ?? {}),
|
|
14
|
+
};
|
|
15
|
+
const validation = validateKnowledgeBase(dirPath);
|
|
16
|
+
const now = new Date().toISOString();
|
|
17
|
+
const config = readInterfConfig(dirPath);
|
|
18
|
+
const knowledgeBaseName = config?.name ?? basename(dirPath);
|
|
19
|
+
const sourcePath = resolveKnowledgeBaseSourcePath(dirPath, config);
|
|
20
|
+
const discovery = discoverSourceFiles(sourcePath, dirPath);
|
|
21
|
+
const summariesPresent = existsSync(join(dirPath, "summaries"));
|
|
22
|
+
const inventoryPresent = existsSync(join(dirPath, STATE_DIR, "inventory.json"));
|
|
23
|
+
const homePresent = existsSync(join(dirPath, "home.md"));
|
|
24
|
+
const outputs = countKnowledgeBaseOutputFiles(dirPath);
|
|
25
|
+
const outputsPresent = outputs > 0;
|
|
26
|
+
const sourceTotal = discovery.totalCount;
|
|
27
|
+
const summarized = summariesPresent ? countFilesRecursive(join(dirPath, "summaries")) : 0;
|
|
28
|
+
const sourceCovered = Math.min(sourceTotal, summarized);
|
|
29
|
+
const compiled = Math.min(summarized, state.compiled ?? 0);
|
|
30
|
+
const toSummarize = Math.max(0, sourceTotal - sourceCovered);
|
|
31
|
+
const toCompile = Math.max(0, summarized - compiled);
|
|
32
|
+
const warnings = (toSummarize > 0 ? 1 : 0) +
|
|
33
|
+
(toCompile > 0 ? 1 : 0) +
|
|
34
|
+
(summarized > sourceTotal && sourceTotal > 0 ? 1 : 0) +
|
|
35
|
+
(!outputsPresent && state.last_compile ? 1 : 0) +
|
|
36
|
+
validation.invalid_frontmatter +
|
|
37
|
+
validation.short_abstracts +
|
|
38
|
+
validation.broken_links;
|
|
39
|
+
const errors = (!validation.config_present ? 1 : 0) +
|
|
40
|
+
(!validation.config_valid && validation.config_present ? 1 : 0) +
|
|
41
|
+
(!validation.config_type_match && validation.config_valid ? 1 : 0) +
|
|
42
|
+
(state.error_count ?? 0);
|
|
43
|
+
const activeRun = loadRuntimeRun(dirPath);
|
|
44
|
+
const inferredStage = resolveKnowledgeBaseStage(state, sourceTotal, summarized, toSummarize, toCompile, errors);
|
|
45
|
+
const inferredStatus = resolveKnowledgeBaseStatus(sourceTotal, summarized, toSummarize, toCompile, errors, state);
|
|
46
|
+
const stage = activeRun?.status === "running"
|
|
47
|
+
? activeRun.contract_type === "kb-knowledge-layer"
|
|
48
|
+
? "compile"
|
|
49
|
+
: activeRun.contract_type === "kb-file-evidence"
|
|
50
|
+
? "summarize"
|
|
51
|
+
: inferredStage
|
|
52
|
+
: inferredStage;
|
|
53
|
+
const status = activeRun?.status === "running" ? "running" : inferredStatus;
|
|
54
|
+
return {
|
|
55
|
+
kind: "knowledge-base-health",
|
|
56
|
+
version: 1,
|
|
57
|
+
generated_at: now,
|
|
58
|
+
target_name: knowledgeBaseName,
|
|
59
|
+
status,
|
|
60
|
+
stage,
|
|
61
|
+
summary: activeRun?.status === "running"
|
|
62
|
+
? `Running — ${activeRun.stage_label} via ${activeRun.executor.display_name}. ${activeRun.summary}`
|
|
63
|
+
: buildKnowledgeBaseSummary(status, stage, { rawTotal: sourceTotal, rawCovered: sourceCovered, summarized, toSummarize, compiled, toCompile }),
|
|
64
|
+
metrics: {
|
|
65
|
+
source_total: sourceTotal,
|
|
66
|
+
source_covered: sourceCovered,
|
|
67
|
+
summarized,
|
|
68
|
+
to_summarize: toSummarize,
|
|
69
|
+
compiled,
|
|
70
|
+
to_compile: toCompile,
|
|
71
|
+
entities: state.entity_count ?? countFilesRecursive(join(dirPath, "knowledge", "entities")),
|
|
72
|
+
claims: state.claim_count ?? countFilesRecursive(join(dirPath, "knowledge", "claims")),
|
|
73
|
+
outputs,
|
|
74
|
+
invalid_frontmatter: validation.invalid_frontmatter,
|
|
75
|
+
short_abstracts: validation.short_abstracts,
|
|
76
|
+
broken_links: validation.broken_links,
|
|
77
|
+
warnings: (state.warning_count ?? 0) + warnings,
|
|
78
|
+
errors,
|
|
79
|
+
},
|
|
80
|
+
checks: {
|
|
81
|
+
config_present: validation.config_present,
|
|
82
|
+
config_valid: validation.config_valid,
|
|
83
|
+
config_type_match: validation.config_type_match,
|
|
84
|
+
summaries_present: summariesPresent,
|
|
85
|
+
inventory_present: inventoryPresent,
|
|
86
|
+
outputs_present: outputsPresent,
|
|
87
|
+
home_present: homePresent,
|
|
88
|
+
summary_frontmatter_valid: validation.summary_frontmatter_valid,
|
|
89
|
+
abstracts_valid: validation.abstracts_valid,
|
|
90
|
+
links_valid: validation.broken_links === 0,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export function computeInterfaceHealth(dirPath) {
|
|
95
|
+
const state = {
|
|
96
|
+
...initInterfaceState(),
|
|
97
|
+
...(loadState(dirPath) ?? {}),
|
|
98
|
+
};
|
|
99
|
+
const validation = validateInterfaceKnowledgeBase(dirPath);
|
|
100
|
+
const now = new Date().toISOString();
|
|
101
|
+
const config = readInterfConfig(dirPath);
|
|
102
|
+
const interfaceName = config?.name ?? basename(dirPath);
|
|
103
|
+
const knowledgeBasePath = config?.type === "interface" && config.knowledge_base?.path
|
|
104
|
+
? resolve(dirPath, config.knowledge_base.path)
|
|
105
|
+
: null;
|
|
106
|
+
const knowledgeBasePathValid = knowledgeBasePath !== null && existsSync(join(knowledgeBasePath, "summaries"));
|
|
107
|
+
const coverageProof = existsSync(join(dirPath, STATE_DIR, "coverage.json"));
|
|
108
|
+
const retrievedSet = existsSync(join(dirPath, STATE_DIR, "relevant.json"));
|
|
109
|
+
const analysisPending = existsSync(join(dirPath, STATE_DIR, "analysis.json"));
|
|
110
|
+
const homePresent = existsSync(join(dirPath, "home.md"));
|
|
111
|
+
const outputs = countOutputFiles(dirPath);
|
|
112
|
+
const outputsPresent = outputs > 0;
|
|
113
|
+
const knowledgeBaseTotal = knowledgeBasePathValid ? countFilesRecursive(join(knowledgeBasePath, "summaries")) : 0;
|
|
114
|
+
const knowledgeBaseCompiled = Math.min(knowledgeBaseTotal, resolveInterfaceCompileReferenceCount(state, knowledgeBaseTotal));
|
|
115
|
+
const toSync = Math.max(0, knowledgeBaseTotal - knowledgeBaseCompiled);
|
|
116
|
+
const freshAnalyzePrepared = hasInterfaceStagePrepared(state, "analyze");
|
|
117
|
+
const freshRetrievePrepared = hasInterfaceStagePrepared(state, "retrieve");
|
|
118
|
+
const compileSurfaceExpected = !freshAnalyzePrepared &&
|
|
119
|
+
!freshRetrievePrepared &&
|
|
120
|
+
Boolean(state.compile_complete || state.last_compile);
|
|
121
|
+
const warnings = (toSync > 0 ? 1 : 0) +
|
|
122
|
+
((state.frontmatter_scanned ?? 0) > 0 && (state.frontmatter_scanned ?? 0) < knowledgeBaseTotal ? 1 : 0) +
|
|
123
|
+
(state.retrieve_complete && !coverageProof ? 1 : 0) +
|
|
124
|
+
(state.retrieve_complete && !(state.coverage_complete ?? false) ? 1 : 0) +
|
|
125
|
+
validation.broken_links;
|
|
126
|
+
const errors = (!validation.config_present ? 1 : 0) +
|
|
127
|
+
(!validation.config_valid && validation.config_present ? 1 : 0) +
|
|
128
|
+
(!validation.config_type_match && validation.config_valid ? 1 : 0) +
|
|
129
|
+
(!knowledgeBasePathValid ? 1 : 0) +
|
|
130
|
+
(compileSurfaceExpected && !homePresent ? 1 : 0) +
|
|
131
|
+
(compileSurfaceExpected && !outputsPresent ? 1 : 0) +
|
|
132
|
+
(compileSurfaceExpected && analysisPending ? 1 : 0) +
|
|
133
|
+
(state.error_count ?? 0);
|
|
134
|
+
const activeRun = loadRuntimeRun(dirPath);
|
|
135
|
+
const inferredStage = resolveInterfaceStage(state, errors);
|
|
136
|
+
const inferredStatus = resolveInterfaceStatus(state, toSync, errors);
|
|
137
|
+
const stage = activeRun?.status === "running"
|
|
138
|
+
? activeRun.contract_type === "interface-plan"
|
|
139
|
+
? "create"
|
|
140
|
+
: activeRun.contract_type === "interface-retrieval"
|
|
141
|
+
? "retrieve"
|
|
142
|
+
: activeRun.contract_type === "interface-analysis"
|
|
143
|
+
? "analyze"
|
|
144
|
+
: activeRun.contract_type === "interface-output"
|
|
145
|
+
? "compile"
|
|
146
|
+
: inferredStage
|
|
147
|
+
: inferredStage;
|
|
148
|
+
const status = activeRun?.status === "running" ? "running" : inferredStatus;
|
|
149
|
+
return {
|
|
150
|
+
kind: "interface-health",
|
|
151
|
+
version: 1,
|
|
152
|
+
generated_at: now,
|
|
153
|
+
interface_name: interfaceName,
|
|
154
|
+
status,
|
|
155
|
+
stage,
|
|
156
|
+
summary: activeRun?.status === "running"
|
|
157
|
+
? `Running — ${activeRun.stage_label} via ${activeRun.executor.display_name}. ${activeRun.summary}`
|
|
158
|
+
: buildInterfaceSummary(status, stage, {
|
|
159
|
+
knowledgeBaseTotal,
|
|
160
|
+
knowledgeBaseCompiled,
|
|
161
|
+
toSync,
|
|
162
|
+
frontmatterScanned: state.frontmatter_scanned ?? 0,
|
|
163
|
+
abstractsRead: state.abstracts_read ?? 0,
|
|
164
|
+
relevant: state.relevant_count ?? 0,
|
|
165
|
+
delta: state.delta_count ?? 0,
|
|
166
|
+
}),
|
|
167
|
+
metrics: {
|
|
168
|
+
knowledge_base_total: knowledgeBaseTotal,
|
|
169
|
+
knowledge_base_compiled: knowledgeBaseCompiled,
|
|
170
|
+
to_compile: toSync,
|
|
171
|
+
frontmatter_scanned: state.frontmatter_scanned ?? 0,
|
|
172
|
+
candidate_count: state.candidate_count ?? 0,
|
|
173
|
+
abstracts_read: state.abstracts_read ?? 0,
|
|
174
|
+
expansion_passes: state.expansion_passes ?? 0,
|
|
175
|
+
relevant: state.relevant_count ?? 0,
|
|
176
|
+
rejected: state.rejected_count ?? 0,
|
|
177
|
+
delta: state.delta_count ?? 0,
|
|
178
|
+
entities: state.entity_count ??
|
|
179
|
+
state.extracted_entities ??
|
|
180
|
+
countFilesRecursive(join(dirPath, "knowledge", "entities")),
|
|
181
|
+
claims: state.claim_count ??
|
|
182
|
+
state.extracted_claims ??
|
|
183
|
+
countFilesRecursive(join(dirPath, "knowledge", "claims")),
|
|
184
|
+
outputs,
|
|
185
|
+
broken_links: validation.broken_links,
|
|
186
|
+
warnings: (state.warning_count ?? 0) + warnings,
|
|
187
|
+
errors,
|
|
188
|
+
},
|
|
189
|
+
checks: {
|
|
190
|
+
config_present: validation.config_present,
|
|
191
|
+
config_valid: validation.config_valid,
|
|
192
|
+
config_type_match: validation.config_type_match,
|
|
193
|
+
knowledge_base_path_valid: knowledgeBasePathValid,
|
|
194
|
+
coverage_proof: coverageProof,
|
|
195
|
+
coverage_complete: state.coverage_complete ?? false,
|
|
196
|
+
retrieved_set: retrievedSet,
|
|
197
|
+
analysis_pending: analysisPending,
|
|
198
|
+
outputs_present: outputsPresent,
|
|
199
|
+
home_present: homePresent,
|
|
200
|
+
links_valid: validation.broken_links === 0,
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
export function resolveKnowledgeBaseStatus(rawTotal, summarized, toSummarize, toCompile, errors, state) {
|
|
205
|
+
if (errors > 0)
|
|
206
|
+
return "failed";
|
|
207
|
+
if (rawTotal === 0 && summarized === 0 && state.last_summarize === null && state.last_compile === null)
|
|
208
|
+
return "idle";
|
|
209
|
+
if (toSummarize > 0 || toCompile > 0)
|
|
210
|
+
return "stale";
|
|
211
|
+
return "compiled";
|
|
212
|
+
}
|
|
213
|
+
export function resolveKnowledgeBaseStage(state, rawTotal, summarized, toSummarize, toCompile, errors) {
|
|
214
|
+
if (errors > 0)
|
|
215
|
+
return "failed";
|
|
216
|
+
if (rawTotal === 0 && summarized === 0 && state.last_summarize === null && state.last_compile === null)
|
|
217
|
+
return "idle";
|
|
218
|
+
if (toSummarize > 0)
|
|
219
|
+
return "summarize";
|
|
220
|
+
if (toCompile > 0)
|
|
221
|
+
return "compile";
|
|
222
|
+
return "compiled";
|
|
223
|
+
}
|
|
224
|
+
export function resolveInterfaceStatus(state, toSync, errors) {
|
|
225
|
+
if (errors > 0)
|
|
226
|
+
return "failed";
|
|
227
|
+
if (hasInterfaceStagePrepared(state, "analyze") || hasInterfaceStagePrepared(state, "retrieve"))
|
|
228
|
+
return "running";
|
|
229
|
+
if (state.last_compile === null)
|
|
230
|
+
return "idle";
|
|
231
|
+
if (toSync > 0)
|
|
232
|
+
return "stale";
|
|
233
|
+
return "compiled";
|
|
234
|
+
}
|
|
235
|
+
export function resolveInterfaceStage(state, errors) {
|
|
236
|
+
if (errors > 0)
|
|
237
|
+
return "failed";
|
|
238
|
+
if (hasInterfaceStagePrepared(state, "analyze"))
|
|
239
|
+
return "compile";
|
|
240
|
+
if (hasInterfaceStagePrepared(state, "retrieve"))
|
|
241
|
+
return "analyze";
|
|
242
|
+
if (state.compile_complete || state.last_compile)
|
|
243
|
+
return "compiled";
|
|
244
|
+
return "idle";
|
|
245
|
+
}
|
|
246
|
+
export function normalizeInterfaceCompileState(dirPath) {
|
|
247
|
+
const state = {
|
|
248
|
+
...initInterfaceState(),
|
|
249
|
+
...(loadState(dirPath) ?? {}),
|
|
250
|
+
};
|
|
251
|
+
const config = readInterfConfig(dirPath);
|
|
252
|
+
const knowledgeBasePath = config?.type === "interface" && config.knowledge_base?.path
|
|
253
|
+
? resolve(dirPath, config.knowledge_base.path)
|
|
254
|
+
: null;
|
|
255
|
+
const knowledgeBaseTotal = knowledgeBasePath !== null && existsSync(join(knowledgeBasePath, "summaries"))
|
|
256
|
+
? countFilesRecursive(join(knowledgeBasePath, "summaries"))
|
|
257
|
+
: 0;
|
|
258
|
+
if (state.compile_complete === true &&
|
|
259
|
+
typeof state.last_compile === "string" &&
|
|
260
|
+
knowledgeBaseTotal > 0 &&
|
|
261
|
+
(state.knowledge_base_summary_count_at_last_compile ?? 0) <= 0) {
|
|
262
|
+
state.knowledge_base_summary_count_at_last_compile = knowledgeBaseTotal;
|
|
263
|
+
saveState(dirPath, state);
|
|
264
|
+
}
|
|
265
|
+
return state;
|
|
266
|
+
}
|
|
267
|
+
function resolveInterfaceCompileReferenceCount(state, knowledgeBaseTotal) {
|
|
268
|
+
const explicitCount = state.knowledge_base_summary_count_at_last_compile ?? 0;
|
|
269
|
+
if (explicitCount > 0)
|
|
270
|
+
return explicitCount;
|
|
271
|
+
if (state.compile_complete === true && typeof state.last_compile === "string") {
|
|
272
|
+
return knowledgeBaseTotal;
|
|
273
|
+
}
|
|
274
|
+
return 0;
|
|
275
|
+
}
|
|
276
|
+
function buildKnowledgeBaseSummary(status, stage, metrics) {
|
|
277
|
+
if (status === "failed")
|
|
278
|
+
return "Failed — required knowledge-base inputs are missing.";
|
|
279
|
+
if (status === "idle")
|
|
280
|
+
return "Idle — no raw files have been ingested yet.";
|
|
281
|
+
if (stage === "summarize") {
|
|
282
|
+
return `Stale — ${metrics.toSummarize} raw files still need summaries (${metrics.rawCovered}/${metrics.rawTotal} summarized).`;
|
|
283
|
+
}
|
|
284
|
+
if (stage === "compile") {
|
|
285
|
+
return `Stale — ${metrics.toCompile} summaries still need graph compile (${metrics.compiled}/${metrics.summarized} compiled).`;
|
|
286
|
+
}
|
|
287
|
+
return `Compiled — ${metrics.compiled}/${metrics.summarized} summaries compiled, ${metrics.rawCovered}/${metrics.rawTotal} raw files summarized.`;
|
|
288
|
+
}
|
|
289
|
+
function buildInterfaceSummary(status, stage, metrics) {
|
|
290
|
+
if (status === "failed")
|
|
291
|
+
return "Failed — required interface inputs are missing.";
|
|
292
|
+
if (status === "running") {
|
|
293
|
+
return stage === "create"
|
|
294
|
+
? "Runtime design in progress."
|
|
295
|
+
: `Compile in progress — ${stage} stage active.`;
|
|
296
|
+
}
|
|
297
|
+
if (status === "idle")
|
|
298
|
+
return "Idle — interface has not been compiled yet.";
|
|
299
|
+
if (status === "stale") {
|
|
300
|
+
return `Stale — ${metrics.toSync} new summary files since last compile (${metrics.knowledgeBaseCompiled}/${metrics.knowledgeBaseTotal} covered).`;
|
|
301
|
+
}
|
|
302
|
+
return `Compiled — scanned ${metrics.frontmatterScanned}/${metrics.knowledgeBaseTotal} summaries, reviewed ${metrics.abstractsRead} abstracts, selected ${metrics.relevant} relevant, ${metrics.toSync} to compile.`;
|
|
303
|
+
}
|
|
304
|
+
function countOutputFiles(dirPath) {
|
|
305
|
+
return [
|
|
306
|
+
join(dirPath, "knowledge", "entities"),
|
|
307
|
+
join(dirPath, "knowledge", "claims"),
|
|
308
|
+
join(dirPath, "briefs"),
|
|
309
|
+
join(dirPath, "summaries"),
|
|
310
|
+
].reduce((total, dir) => total + countFilesRecursive(dir), 0);
|
|
311
|
+
}
|
|
312
|
+
function countKnowledgeBaseOutputFiles(dirPath) {
|
|
313
|
+
return [
|
|
314
|
+
join(dirPath, "knowledge", "entities"),
|
|
315
|
+
join(dirPath, "knowledge", "claims"),
|
|
316
|
+
join(dirPath, "knowledge", "indexes"),
|
|
317
|
+
].reduce((total, dir) => total + countFilesRecursive(dir), 0);
|
|
318
|
+
}
|
|
319
|
+
function hasInterfaceStagePrepared(state, stage) {
|
|
320
|
+
const stageComplete = stage === "retrieve" ? state.retrieve_complete : state.analyze_complete;
|
|
321
|
+
const stageAt = stage === "retrieve" ? state.last_retrieve : state.last_analyze;
|
|
322
|
+
if (!stageComplete)
|
|
323
|
+
return false;
|
|
324
|
+
if (stageAt === null)
|
|
325
|
+
return true;
|
|
326
|
+
if (state.last_compile === null)
|
|
327
|
+
return true;
|
|
328
|
+
return stageAt > state.last_compile;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=state-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-health.js","sourceRoot":"","sources":["../../src/lib/state-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type InterfaceHealth, type InterfaceState, type InterfaceViewSpec, type KnowledgeBaseHealth, type KnowledgeBaseSourceAccess, type KnowledgeBaseState, type KnowledgeBaseViewSpec } from "./schema.js";
|
|
2
|
+
export declare function loadState<T>(dirPath: string): T | null;
|
|
3
|
+
export declare function saveState<T>(dirPath: string, state: T): void;
|
|
4
|
+
export declare function loadInterfaceHealth(dirPath: string): InterfaceHealth | null;
|
|
5
|
+
export declare function loadKnowledgeBaseHealth(dirPath: string): KnowledgeBaseHealth | null;
|
|
6
|
+
export declare function saveInterfaceHealth(dirPath: string, health: InterfaceHealth): void;
|
|
7
|
+
export declare function saveKnowledgeBaseHealth(dirPath: string, health: KnowledgeBaseHealth): void;
|
|
8
|
+
export declare function loadInterfaceViewSpec(dirPath: string): InterfaceViewSpec | null;
|
|
9
|
+
export declare function loadKnowledgeBaseViewSpec(dirPath: string): KnowledgeBaseViewSpec | null;
|
|
10
|
+
export declare function loadKnowledgeBaseSourceAccess(dirPath: string): KnowledgeBaseSourceAccess | null;
|
|
11
|
+
export declare function saveInterfaceViewSpec(dirPath: string, viewSpec: InterfaceViewSpec): void;
|
|
12
|
+
export declare function saveKnowledgeBaseViewSpec(dirPath: string, viewSpec: KnowledgeBaseViewSpec): void;
|
|
13
|
+
export declare function initKnowledgeBaseState(): KnowledgeBaseState;
|
|
14
|
+
export declare function initInterfaceState(): InterfaceState;
|
|
15
|
+
//# sourceMappingURL=state-io.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-io.d.ts","sourceRoot":"","sources":["../../src/lib/state-io.ts"],"names":[],"mappings":"AASA,OAAO,EASL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAcrB,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CA0BtD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAI5D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAI3E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAInF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAIlF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAI1F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAI/E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAIvF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAI/F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAIxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAIhG;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,CAiB3D;AAED,wBAAgB,kBAAkB,IAAI,cAAc,CA2BnD"}
|