@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.
Files changed (282) hide show
  1. package/README.md +197 -192
  2. package/dist/commands/benchmark.d.ts.map +1 -1
  3. package/dist/commands/benchmark.js +65 -84
  4. package/dist/commands/benchmark.js.map +1 -1
  5. package/dist/commands/compile.d.ts.map +1 -1
  6. package/dist/commands/compile.js +19 -3
  7. package/dist/commands/compile.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -0
  9. package/dist/commands/create.d.ts.map +1 -1
  10. package/dist/commands/create.js +39 -14
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/default.d.ts.map +1 -1
  13. package/dist/commands/default.js +2 -0
  14. package/dist/commands/default.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +8 -63
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/index.d.ts +11 -29
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/agent-args.d.ts +4 -0
  23. package/dist/lib/agent-args.d.ts.map +1 -0
  24. package/dist/lib/agent-args.js +42 -0
  25. package/dist/lib/agent-args.js.map +1 -0
  26. package/dist/lib/agent-constants.d.ts +6 -0
  27. package/dist/lib/agent-constants.d.ts.map +1 -0
  28. package/dist/lib/agent-constants.js +29 -0
  29. package/dist/lib/agent-constants.js.map +1 -0
  30. package/dist/lib/agent-detection.d.ts +8 -0
  31. package/dist/lib/agent-detection.d.ts.map +1 -0
  32. package/dist/lib/agent-detection.js +66 -0
  33. package/dist/lib/agent-detection.js.map +1 -0
  34. package/dist/lib/agent-execution.d.ts +3 -0
  35. package/dist/lib/agent-execution.d.ts.map +1 -0
  36. package/dist/lib/agent-execution.js +207 -0
  37. package/dist/lib/agent-execution.js.map +1 -0
  38. package/dist/lib/agent-logs.d.ts +3 -0
  39. package/dist/lib/agent-logs.d.ts.map +1 -0
  40. package/dist/lib/agent-logs.js +18 -0
  41. package/dist/lib/agent-logs.js.map +1 -0
  42. package/dist/lib/agent-preflight.d.ts +8 -0
  43. package/dist/lib/agent-preflight.d.ts.map +1 -0
  44. package/dist/lib/agent-preflight.js +77 -0
  45. package/dist/lib/agent-preflight.js.map +1 -0
  46. package/dist/lib/agent-render.d.ts +9 -0
  47. package/dist/lib/agent-render.d.ts.map +1 -0
  48. package/dist/lib/agent-render.js +219 -0
  49. package/dist/lib/agent-render.js.map +1 -0
  50. package/dist/lib/agent-status.d.ts +4 -0
  51. package/dist/lib/agent-status.d.ts.map +1 -0
  52. package/dist/lib/agent-status.js +59 -0
  53. package/dist/lib/agent-status.js.map +1 -0
  54. package/dist/lib/agent-types.d.ts +31 -0
  55. package/dist/lib/agent-types.d.ts.map +1 -0
  56. package/dist/lib/agent-types.js +2 -0
  57. package/dist/lib/agent-types.js.map +1 -0
  58. package/dist/lib/agents.d.ts +7 -49
  59. package/dist/lib/agents.d.ts.map +1 -1
  60. package/dist/lib/agents.js +8 -554
  61. package/dist/lib/agents.js.map +1 -1
  62. package/dist/lib/benchmark-execution.d.ts +9 -0
  63. package/dist/lib/benchmark-execution.d.ts.map +1 -0
  64. package/dist/lib/benchmark-execution.js +488 -0
  65. package/dist/lib/benchmark-execution.js.map +1 -0
  66. package/dist/lib/benchmark-paths.d.ts +11 -0
  67. package/dist/lib/benchmark-paths.d.ts.map +1 -0
  68. package/dist/lib/benchmark-paths.js +38 -0
  69. package/dist/lib/benchmark-paths.js.map +1 -0
  70. package/dist/lib/benchmark-specs.d.ts +8 -0
  71. package/dist/lib/benchmark-specs.d.ts.map +1 -0
  72. package/dist/lib/benchmark-specs.js +115 -0
  73. package/dist/lib/benchmark-specs.js.map +1 -0
  74. package/dist/lib/benchmark-targets.d.ts +5 -0
  75. package/dist/lib/benchmark-targets.d.ts.map +1 -0
  76. package/dist/lib/benchmark-targets.js +72 -0
  77. package/dist/lib/benchmark-targets.js.map +1 -0
  78. package/dist/lib/benchmark-types.d.ts +19 -0
  79. package/dist/lib/benchmark-types.d.ts.map +1 -0
  80. package/dist/lib/benchmark-types.js +2 -0
  81. package/dist/lib/benchmark-types.js.map +1 -0
  82. package/dist/lib/benchmark.d.ts +4 -29
  83. package/dist/lib/benchmark.d.ts.map +1 -1
  84. package/dist/lib/benchmark.js +3 -324
  85. package/dist/lib/benchmark.js.map +1 -1
  86. package/dist/lib/bundled-templates.d.ts +5 -0
  87. package/dist/lib/bundled-templates.d.ts.map +1 -0
  88. package/dist/lib/bundled-templates.js +23 -0
  89. package/dist/lib/bundled-templates.js.map +1 -0
  90. package/dist/lib/config.d.ts +1 -0
  91. package/dist/lib/config.d.ts.map +1 -1
  92. package/dist/lib/config.js +2 -0
  93. package/dist/lib/config.js.map +1 -1
  94. package/dist/lib/eval-packs.d.ts +204 -0
  95. package/dist/lib/eval-packs.d.ts.map +1 -0
  96. package/dist/lib/eval-packs.js +177 -0
  97. package/dist/lib/eval-packs.js.map +1 -0
  98. package/dist/lib/execution-profile.d.ts +18 -0
  99. package/dist/lib/execution-profile.d.ts.map +1 -0
  100. package/dist/lib/execution-profile.js +85 -0
  101. package/dist/lib/execution-profile.js.map +1 -0
  102. package/dist/lib/interf-bootstrap.d.ts +4 -0
  103. package/dist/lib/interf-bootstrap.d.ts.map +1 -1
  104. package/dist/lib/interf-bootstrap.js +71 -68
  105. package/dist/lib/interf-bootstrap.js.map +1 -1
  106. package/dist/lib/interf-compile-plan.d.ts +12 -0
  107. package/dist/lib/interf-compile-plan.d.ts.map +1 -0
  108. package/dist/lib/interf-compile-plan.js +143 -0
  109. package/dist/lib/interf-compile-plan.js.map +1 -0
  110. package/dist/lib/interf-detect.d.ts.map +1 -1
  111. package/dist/lib/interf-detect.js +11 -10
  112. package/dist/lib/interf-detect.js.map +1 -1
  113. package/dist/lib/interf-scaffold.d.ts +1 -10
  114. package/dist/lib/interf-scaffold.d.ts.map +1 -1
  115. package/dist/lib/interf-scaffold.js +25 -362
  116. package/dist/lib/interf-scaffold.js.map +1 -1
  117. package/dist/lib/interf-workflow-package.d.ts +4 -0
  118. package/dist/lib/interf-workflow-package.d.ts.map +1 -0
  119. package/dist/lib/interf-workflow-package.js +131 -0
  120. package/dist/lib/interf-workflow-package.js.map +1 -0
  121. package/dist/lib/interf.d.ts +2 -1
  122. package/dist/lib/interf.d.ts.map +1 -1
  123. package/dist/lib/interf.js +2 -1
  124. package/dist/lib/interf.js.map +1 -1
  125. package/dist/lib/local-workflows.d.ts.map +1 -1
  126. package/dist/lib/local-workflows.js +8 -12
  127. package/dist/lib/local-workflows.js.map +1 -1
  128. package/dist/lib/logger.d.ts +4 -0
  129. package/dist/lib/logger.d.ts.map +1 -0
  130. package/dist/lib/logger.js +11 -0
  131. package/dist/lib/logger.js.map +1 -0
  132. package/dist/lib/obsidian.d.ts.map +1 -1
  133. package/dist/lib/obsidian.js +7 -3
  134. package/dist/lib/obsidian.js.map +1 -1
  135. package/dist/lib/parse.d.ts +2 -2
  136. package/dist/lib/parse.d.ts.map +1 -1
  137. package/dist/lib/parse.js +11 -7
  138. package/dist/lib/parse.js.map +1 -1
  139. package/dist/lib/registry.js +3 -3
  140. package/dist/lib/registry.js.map +1 -1
  141. package/dist/lib/runtime-acceptance.d.ts +4 -0
  142. package/dist/lib/runtime-acceptance.d.ts.map +1 -0
  143. package/dist/lib/runtime-acceptance.js +123 -0
  144. package/dist/lib/runtime-acceptance.js.map +1 -0
  145. package/dist/lib/runtime-contracts.d.ts +4 -0
  146. package/dist/lib/runtime-contracts.d.ts.map +1 -0
  147. package/dist/lib/runtime-contracts.js +63 -0
  148. package/dist/lib/runtime-contracts.js.map +1 -0
  149. package/dist/lib/runtime-paths.d.ts +8 -0
  150. package/dist/lib/runtime-paths.d.ts.map +1 -0
  151. package/dist/lib/runtime-paths.js +28 -0
  152. package/dist/lib/runtime-paths.js.map +1 -0
  153. package/dist/lib/runtime-prompt.d.ts +3 -0
  154. package/dist/lib/runtime-prompt.d.ts.map +1 -0
  155. package/dist/lib/runtime-prompt.js +59 -0
  156. package/dist/lib/runtime-prompt.js.map +1 -0
  157. package/dist/lib/runtime-reconcile.d.ts +6 -0
  158. package/dist/lib/runtime-reconcile.d.ts.map +1 -0
  159. package/dist/lib/runtime-reconcile.js +339 -0
  160. package/dist/lib/runtime-reconcile.js.map +1 -0
  161. package/dist/lib/runtime-runs.d.ts +12 -0
  162. package/dist/lib/runtime-runs.d.ts.map +1 -0
  163. package/dist/lib/runtime-runs.js +337 -0
  164. package/dist/lib/runtime-runs.js.map +1 -0
  165. package/dist/lib/runtime-types.d.ts +42 -0
  166. package/dist/lib/runtime-types.d.ts.map +1 -0
  167. package/dist/lib/runtime-types.js +2 -0
  168. package/dist/lib/runtime-types.js.map +1 -0
  169. package/dist/lib/runtime.d.ts +6 -58
  170. package/dist/lib/runtime.d.ts.map +1 -1
  171. package/dist/lib/runtime.js +5 -614
  172. package/dist/lib/runtime.js.map +1 -1
  173. package/dist/lib/schema.d.ts +156 -13
  174. package/dist/lib/schema.d.ts.map +1 -1
  175. package/dist/lib/schema.js +113 -4
  176. package/dist/lib/schema.js.map +1 -1
  177. package/dist/lib/source-config.d.ts +13 -0
  178. package/dist/lib/source-config.d.ts.map +1 -0
  179. package/dist/lib/source-config.js +75 -0
  180. package/dist/lib/source-config.js.map +1 -0
  181. package/dist/lib/state-artifacts.d.ts +15 -0
  182. package/dist/lib/state-artifacts.d.ts.map +1 -0
  183. package/dist/lib/state-artifacts.js +24 -0
  184. package/dist/lib/state-artifacts.js.map +1 -0
  185. package/dist/lib/state-health.d.ts +9 -0
  186. package/dist/lib/state-health.d.ts.map +1 -0
  187. package/dist/lib/state-health.js +330 -0
  188. package/dist/lib/state-health.js.map +1 -0
  189. package/dist/lib/state-io.d.ts +15 -0
  190. package/dist/lib/state-io.d.ts.map +1 -0
  191. package/dist/lib/state-io.js +219 -0
  192. package/dist/lib/state-io.js.map +1 -0
  193. package/dist/lib/state-paths.d.ts +5 -0
  194. package/dist/lib/state-paths.d.ts.map +1 -0
  195. package/dist/lib/state-paths.js +19 -0
  196. package/dist/lib/state-paths.js.map +1 -0
  197. package/dist/lib/state-view.d.ts +7 -0
  198. package/dist/lib/state-view.d.ts.map +1 -0
  199. package/dist/lib/state-view.js +147 -0
  200. package/dist/lib/state-view.js.map +1 -0
  201. package/dist/lib/state.d.ts +6 -46
  202. package/dist/lib/state.d.ts.map +1 -1
  203. package/dist/lib/state.js +5 -632
  204. package/dist/lib/state.js.map +1 -1
  205. package/dist/lib/summarize-plan.d.ts +1 -0
  206. package/dist/lib/summarize-plan.d.ts.map +1 -1
  207. package/dist/lib/summarize-plan.js +10 -0
  208. package/dist/lib/summarize-plan.js.map +1 -1
  209. package/dist/lib/user-config.js +2 -2
  210. package/dist/lib/user-config.js.map +1 -1
  211. package/dist/lib/validate-helpers.d.ts +21 -0
  212. package/dist/lib/validate-helpers.d.ts.map +1 -0
  213. package/dist/lib/validate-helpers.js +72 -0
  214. package/dist/lib/validate-helpers.js.map +1 -0
  215. package/dist/lib/validate-interface.d.ts +2 -0
  216. package/dist/lib/validate-interface.d.ts.map +1 -1
  217. package/dist/lib/validate-interface.js +103 -53
  218. package/dist/lib/validate-interface.js.map +1 -1
  219. package/dist/lib/validate-kb.d.ts +8 -0
  220. package/dist/lib/validate-kb.d.ts.map +1 -1
  221. package/dist/lib/validate-kb.js +53 -24
  222. package/dist/lib/validate-kb.js.map +1 -1
  223. package/dist/lib/validate.d.ts +1 -1
  224. package/dist/lib/validate.d.ts.map +1 -1
  225. package/dist/lib/validate.js +5 -2
  226. package/dist/lib/validate.js.map +1 -1
  227. package/dist/lib/workflow-definitions.d.ts +1 -1
  228. package/dist/lib/workflow-definitions.d.ts.map +1 -1
  229. package/dist/lib/workflow-definitions.js +90 -166
  230. package/dist/lib/workflow-definitions.js.map +1 -1
  231. package/dist/lib/workflow-helpers.d.ts.map +1 -1
  232. package/dist/lib/workflow-helpers.js +6 -3
  233. package/dist/lib/workflow-helpers.js.map +1 -1
  234. package/dist/lib/workflow-stage-runner.d.ts +41 -0
  235. package/dist/lib/workflow-stage-runner.d.ts.map +1 -0
  236. package/dist/lib/workflow-stage-runner.js +106 -0
  237. package/dist/lib/workflow-stage-runner.js.map +1 -0
  238. package/dist/lib/workflow-starter-docs.d.ts +9 -0
  239. package/dist/lib/workflow-starter-docs.d.ts.map +1 -0
  240. package/dist/lib/workflow-starter-docs.js +18 -0
  241. package/dist/lib/workflow-starter-docs.js.map +1 -0
  242. package/dist/lib/workflows-interface-contracts.d.ts +24 -0
  243. package/dist/lib/workflows-interface-contracts.d.ts.map +1 -0
  244. package/dist/lib/workflows-interface-contracts.js +304 -0
  245. package/dist/lib/workflows-interface-contracts.js.map +1 -0
  246. package/dist/lib/workflows-interface.d.ts +3 -10
  247. package/dist/lib/workflows-interface.d.ts.map +1 -1
  248. package/dist/lib/workflows-interface.js +117 -365
  249. package/dist/lib/workflows-interface.js.map +1 -1
  250. package/dist/lib/workflows-kb.d.ts.map +1 -1
  251. package/dist/lib/workflows-kb.js +79 -55
  252. package/dist/lib/workflows-kb.js.map +1 -1
  253. package/dist/lib/workflows.d.ts.map +1 -1
  254. package/dist/lib/workflows.js +1 -1
  255. package/dist/lib/workflows.js.map +1 -1
  256. package/package.json +15 -4
  257. package/skills/interface/analyze/SKILL.md +79 -28
  258. package/skills/interface/compile/SKILL.md +27 -28
  259. package/skills/interface/create/SKILL.md +53 -230
  260. package/skills/interface/create/references/compile-plan-format.md +31 -31
  261. package/skills/interface/create/references/workflows.md +17 -32
  262. package/skills/interface/query/SKILL.md +15 -1
  263. package/skills/interface/retrieve/SKILL.md +32 -65
  264. package/skills/knowledge-base/compile/SKILL.md +59 -83
  265. package/skills/knowledge-base/compile/references/stage-claims.md +1 -1
  266. package/skills/knowledge-base/compile/references/stage-entities.md +2 -2
  267. package/skills/knowledge-base/query/SKILL.md +13 -1
  268. package/skills/knowledge-base/summarize/SKILL.md +54 -24
  269. package/templates/interface/README.md +13 -12
  270. package/templates/interface/interfaces.md +14 -11
  271. package/templates/knowledge-base/README.md +0 -1
  272. package/templates/knowledge-base/registry.md +15 -15
  273. package/templates/workflow-package/README.md +16 -0
  274. package/templates/workflow-package/create/SKILL.md +8 -0
  275. package/templates/workflow-package/interface-query/SKILL.md +29 -0
  276. package/templates/workflow-package/interface-stage/SKILL.md +13 -0
  277. package/templates/workflow-package/knowledge-base-query/SKILL.md +36 -0
  278. package/templates/workflow-package/knowledge-base-stage/SKILL.md +13 -0
  279. package/templates/workflow-starters/interface/interf/README.md +13 -0
  280. package/templates/workflow-starters/interface/interf/create/SKILL.md +15 -0
  281. package/templates/workflow-starters/knowledge-base/interf/README.md +13 -0
  282. 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"}