@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,219 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { warnInterf } from "./logger.js";
4
+ import { readJsonFileUnchecked, readJsonFileWithSchema } from "./parse.js";
5
+ import { InterfaceHealthSchema, KnowledgeBaseInventorySchema, InterfaceStateSchema, InterfaceViewSpecSchema, KnowledgeBaseHealthSchema, KnowledgeBaseSourceAccessSchema, KnowledgeBaseStateSchema, KnowledgeBaseViewSpecSchema, } from "./schema.js";
6
+ import { readInventoryFiles, readInventoryTotal } from "./validate-helpers.js";
7
+ import { STATE_DIR } from "./util.js";
8
+ import { healthPath, sourceAccessPath, statePath, viewSpecPath } from "./state-paths.js";
9
+ const RuntimeStateSchema = KnowledgeBaseStateSchema.or(InterfaceStateSchema);
10
+ const NORMALIZABLE_RUNTIME_TIMESTAMP_FIELDS = [
11
+ "last_add",
12
+ "last_summarize",
13
+ "last_compile",
14
+ "last_retrieve",
15
+ "last_analyze",
16
+ ];
17
+ export function loadState(dirPath) {
18
+ const p = statePath(dirPath);
19
+ if (!existsSync(p))
20
+ return null;
21
+ const raw = readJsonFileUnchecked(p, "runtime state");
22
+ if (raw === null)
23
+ return null;
24
+ const parsed = RuntimeStateSchema.safeParse(raw);
25
+ if (parsed.success) {
26
+ const healed = healParsedRuntimeState(dirPath, parsed.data);
27
+ if (healed !== null) {
28
+ saveState(dirPath, healed);
29
+ return healed;
30
+ }
31
+ return parsed.data;
32
+ }
33
+ const normalized = normalizeRuntimeState(raw);
34
+ if (normalized !== null) {
35
+ saveState(dirPath, normalized);
36
+ return normalized;
37
+ }
38
+ warnInterf(`Warning: failed to validate runtime state at ${p}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
39
+ return null;
40
+ }
41
+ export function saveState(dirPath, state) {
42
+ const dir = join(dirPath, STATE_DIR);
43
+ mkdirSync(dir, { recursive: true });
44
+ writeFileSync(statePath(dirPath), JSON.stringify(state, null, 2) + "\n");
45
+ }
46
+ export function loadInterfaceHealth(dirPath) {
47
+ const p = healthPath(dirPath);
48
+ if (!existsSync(p))
49
+ return null;
50
+ return readJsonFileWithSchema(p, "interface health", InterfaceHealthSchema);
51
+ }
52
+ export function loadKnowledgeBaseHealth(dirPath) {
53
+ const p = healthPath(dirPath);
54
+ if (!existsSync(p))
55
+ return null;
56
+ return readJsonFileWithSchema(p, "knowledge-base health", KnowledgeBaseHealthSchema);
57
+ }
58
+ export function saveInterfaceHealth(dirPath, health) {
59
+ const dir = join(dirPath, STATE_DIR);
60
+ mkdirSync(dir, { recursive: true });
61
+ writeFileSync(healthPath(dirPath), JSON.stringify(health, null, 2) + "\n");
62
+ }
63
+ export function saveKnowledgeBaseHealth(dirPath, health) {
64
+ const dir = join(dirPath, STATE_DIR);
65
+ mkdirSync(dir, { recursive: true });
66
+ writeFileSync(healthPath(dirPath), JSON.stringify(health, null, 2) + "\n");
67
+ }
68
+ export function loadInterfaceViewSpec(dirPath) {
69
+ const p = viewSpecPath(dirPath);
70
+ if (!existsSync(p))
71
+ return null;
72
+ return loadViewSpec(p, InterfaceViewSpecSchema);
73
+ }
74
+ export function loadKnowledgeBaseViewSpec(dirPath) {
75
+ const p = viewSpecPath(dirPath);
76
+ if (!existsSync(p))
77
+ return null;
78
+ return loadViewSpec(p, KnowledgeBaseViewSpecSchema);
79
+ }
80
+ export function loadKnowledgeBaseSourceAccess(dirPath) {
81
+ const p = sourceAccessPath(dirPath);
82
+ if (!existsSync(p))
83
+ return null;
84
+ return readJsonFileWithSchema(p, "knowledge-base source access", KnowledgeBaseSourceAccessSchema);
85
+ }
86
+ export function saveInterfaceViewSpec(dirPath, viewSpec) {
87
+ const dir = join(dirPath, STATE_DIR);
88
+ mkdirSync(dir, { recursive: true });
89
+ writeFileSync(viewSpecPath(dirPath), JSON.stringify(viewSpec, null, 2) + "\n");
90
+ }
91
+ export function saveKnowledgeBaseViewSpec(dirPath, viewSpec) {
92
+ const dir = join(dirPath, STATE_DIR);
93
+ mkdirSync(dir, { recursive: true });
94
+ writeFileSync(viewSpecPath(dirPath), JSON.stringify(viewSpec, null, 2) + "\n");
95
+ }
96
+ export function initKnowledgeBaseState() {
97
+ return {
98
+ version: 1,
99
+ pending: [],
100
+ summarized: 0,
101
+ compiled: 0,
102
+ last_add: null,
103
+ last_summarize: null,
104
+ last_compile: null,
105
+ inventory_complete: false,
106
+ abstracts_read: 0,
107
+ full_reads: 0,
108
+ entity_count: 0,
109
+ claim_count: 0,
110
+ warning_count: 0,
111
+ error_count: 0,
112
+ };
113
+ }
114
+ export function initInterfaceState() {
115
+ return {
116
+ version: 1,
117
+ retrieve_complete: false,
118
+ analyze_complete: false,
119
+ compile_complete: false,
120
+ coverage_complete: false,
121
+ frontmatter_scanned: 0,
122
+ candidate_count: 0,
123
+ abstracts_read: 0,
124
+ expansion_passes: 0,
125
+ relevant_count: 0,
126
+ rejected_count: 0,
127
+ delta_count: 0,
128
+ delta_files: [],
129
+ last_retrieve: null,
130
+ last_analyze: null,
131
+ last_compile: null,
132
+ knowledge_base_summary_count_at_last_compile: 0,
133
+ extracted_entities: 0,
134
+ extracted_claims: 0,
135
+ entity_count: 0,
136
+ claim_count: 0,
137
+ output_count: 0,
138
+ warning_count: 0,
139
+ error_count: 0,
140
+ };
141
+ }
142
+ function normalizeRuntimeState(raw) {
143
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
144
+ return null;
145
+ const normalized = { ...raw };
146
+ let changed = false;
147
+ if (typeof normalized.build_complete === "boolean" &&
148
+ typeof normalized.compile_complete !== "boolean") {
149
+ normalized.compile_complete = normalized.build_complete;
150
+ changed = true;
151
+ }
152
+ const legacyBuildTimestamp = normalizeRuntimeTimestampField(normalized.last_build);
153
+ if (legacyBuildTimestamp !== undefined &&
154
+ (typeof normalized.last_compile !== "string" && normalized.last_compile !== null)) {
155
+ normalized.last_compile = legacyBuildTimestamp;
156
+ changed = true;
157
+ }
158
+ for (const field of NORMALIZABLE_RUNTIME_TIMESTAMP_FIELDS) {
159
+ const timestamp = normalizeRuntimeTimestampField(normalized[field]);
160
+ if (timestamp !== undefined && timestamp !== normalized[field]) {
161
+ normalized[field] = timestamp;
162
+ changed = true;
163
+ }
164
+ }
165
+ if (!changed)
166
+ return null;
167
+ const parsed = RuntimeStateSchema.safeParse(normalized);
168
+ return parsed.success ? parsed.data : null;
169
+ }
170
+ function healParsedRuntimeState(dirPath, state) {
171
+ if (!("pending" in state) || typeof state.summarized !== "number")
172
+ return null;
173
+ if (typeof state.inventory_complete === "boolean")
174
+ return null;
175
+ if (!Array.isArray(state.pending) || state.pending.length > 0)
176
+ return null;
177
+ if (typeof state.last_summarize !== "string" || state.last_summarize.length === 0)
178
+ return null;
179
+ const inventoryPath = join(dirPath, STATE_DIR, "inventory.json");
180
+ if (!existsSync(inventoryPath))
181
+ return null;
182
+ const inventory = readJsonFileWithSchema(inventoryPath, "knowledge-base inventory", KnowledgeBaseInventorySchema);
183
+ if (inventory === null)
184
+ return null;
185
+ const inventoryFiles = readInventoryFiles(inventory);
186
+ const inventoryTotal = readInventoryTotal(inventory, inventoryFiles);
187
+ if (inventoryTotal !== state.summarized || inventoryFiles.files.length !== state.summarized)
188
+ return null;
189
+ return {
190
+ ...state,
191
+ inventory_complete: true,
192
+ };
193
+ }
194
+ function normalizeRuntimeTimestampField(value) {
195
+ if (typeof value === "string" || value === null)
196
+ return value;
197
+ if (!value || typeof value !== "object" || Array.isArray(value))
198
+ return undefined;
199
+ const record = value;
200
+ for (const key of ["generated_at", "finished_at", "updated_at", "started_at", "timestamp"]) {
201
+ const candidate = record[key];
202
+ if (typeof candidate === "string" && candidate.length > 0) {
203
+ return candidate;
204
+ }
205
+ }
206
+ return undefined;
207
+ }
208
+ function loadViewSpec(filePath, schema) {
209
+ try {
210
+ const raw = JSON.parse(readFileSync(filePath, "utf8"));
211
+ const parsed = schema.safeParse(raw);
212
+ return parsed.success ? (parsed.data ?? null) : null;
213
+ }
214
+ catch (error) {
215
+ warnInterf(`Warning: failed to read view spec at ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
216
+ return null;
217
+ }
218
+ }
219
+ //# sourceMappingURL=state-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-io.js","sourceRoot":"","sources":["../../src/lib/state-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function statePath(dirPath: string): string;
2
+ export declare function healthPath(dirPath: string): string;
3
+ export declare function viewSpecPath(dirPath: string): string;
4
+ export declare function sourceAccessPath(dirPath: string): string;
5
+ //# sourceMappingURL=state-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-paths.d.ts","sourceRoot":"","sources":["../../src/lib/state-paths.ts"],"names":[],"mappings":"AAQA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,19 @@
1
+ import { join } from "node:path";
2
+ import { STATE_DIR } from "./util.js";
3
+ const STATE_FILE = "state.json";
4
+ const HEALTH_FILE = "health.json";
5
+ const VIEW_SPEC_FILE = "view-spec.json";
6
+ const SOURCE_ACCESS_FILE = "source-access.json";
7
+ export function statePath(dirPath) {
8
+ return join(dirPath, STATE_DIR, STATE_FILE);
9
+ }
10
+ export function healthPath(dirPath) {
11
+ return join(dirPath, STATE_DIR, HEALTH_FILE);
12
+ }
13
+ export function viewSpecPath(dirPath) {
14
+ return join(dirPath, STATE_DIR, VIEW_SPEC_FILE);
15
+ }
16
+ export function sourceAccessPath(dirPath) {
17
+ return join(dirPath, STATE_DIR, SOURCE_ACCESS_FILE);
18
+ }
19
+ //# sourceMappingURL=state-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-paths.js","sourceRoot":"","sources":["../../src/lib/state-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type InterfaceViewSpec, type KnowledgeBaseSourceAccess, type KnowledgeBaseViewSpec } from "./schema.js";
2
+ export declare function ensureInterfaceViewSpec(dirPath: string): InterfaceViewSpec;
3
+ export declare function ensureKnowledgeBaseViewSpec(dirPath: string): KnowledgeBaseViewSpec;
4
+ export declare function ensureKnowledgeBaseSourceAccess(dirPath: string): KnowledgeBaseSourceAccess;
5
+ export declare function normalizeInterfaceViewSpec(existing: InterfaceViewSpec, defaults: InterfaceViewSpec): InterfaceViewSpec;
6
+ export declare function normalizeKnowledgeBaseViewSpec(existing: KnowledgeBaseViewSpec, defaults: KnowledgeBaseViewSpec): KnowledgeBaseViewSpec;
7
+ //# sourceMappingURL=state-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-view.d.ts","sourceRoot":"","sources":["../../src/lib/state-view.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAUrB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAyC1E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAwClF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CA0B1F;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,GAC1B,iBAAiB,CAuBnB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,GAC9B,qBAAqB,CAcvB"}
@@ -0,0 +1,147 @@
1
+ import { basename, relative, resolve, join } from "node:path";
2
+ import { mkdirSync, writeFileSync } from "node:fs";
3
+ import { discoverSourceFiles } from "./discovery.js";
4
+ import { readInterfConfig, resolveKnowledgeBaseSourcePath } from "./interf.js";
5
+ import { loadInterfaceViewSpec, loadKnowledgeBaseViewSpec, saveInterfaceViewSpec, saveKnowledgeBaseViewSpec, } from "./state-io.js";
6
+ import { sourceAccessPath } from "./state-paths.js";
7
+ import { STATE_DIR } from "./util.js";
8
+ export function ensureInterfaceViewSpec(dirPath) {
9
+ const existing = loadInterfaceViewSpec(dirPath);
10
+ const now = new Date().toISOString();
11
+ const interfaceName = readInterfConfig(dirPath)?.name ?? basename(dirPath);
12
+ const defaults = {
13
+ kind: "interface-view-spec",
14
+ version: 1,
15
+ generated_at: now,
16
+ interface_name: interfaceName,
17
+ health_source: ".interf/health.json",
18
+ state_source: ".interf/state.json",
19
+ default_note: "home.md",
20
+ graph_scope: ["knowledge", "briefs", "summaries"],
21
+ cards: [
22
+ { id: "compile", label: "Knowledge Base Compiled", metric: "knowledge_base_compiled", denominator_metric: "knowledge_base_total", format: "fraction" },
23
+ { id: "scanned", label: "Scanned", metric: "frontmatter_scanned", denominator_metric: "knowledge_base_total", format: "fraction" },
24
+ { id: "abstracts", label: "Abstracts Read", metric: "abstracts_read", format: "number" },
25
+ { id: "to-compile", label: "To Compile", metric: "to_compile", format: "number" },
26
+ { id: "relevant", label: "Relevant", metric: "relevant", format: "number" },
27
+ { id: "entities", label: "Entities", metric: "entities", format: "number" },
28
+ { id: "outputs", label: "Outputs", metric: "outputs", format: "number" },
29
+ ],
30
+ sections: [
31
+ { id: "status", type: "status", title: "Compile Status", path: ".interf/health.json" },
32
+ { id: "cards", type: "cards", title: "Key Metrics", path: ".interf/health.json" },
33
+ { id: "graph", type: "graph", title: "Knowledge Graph", paths: ["knowledge", "briefs", "summaries"] },
34
+ { id: "core-docs", type: "documents", title: "Core Docs", paths: ["home.md", "briefs", "summaries", "knowledge/claims", "knowledge/entities"] },
35
+ { id: "claims", type: "table", title: "Claims", path: "knowledge/claims" },
36
+ ],
37
+ };
38
+ if (existing) {
39
+ const normalized = normalizeInterfaceViewSpec(existing, defaults);
40
+ if (JSON.stringify(normalized) !== JSON.stringify(existing)) {
41
+ saveInterfaceViewSpec(dirPath, normalized);
42
+ }
43
+ return normalized;
44
+ }
45
+ saveInterfaceViewSpec(dirPath, defaults);
46
+ return defaults;
47
+ }
48
+ export function ensureKnowledgeBaseViewSpec(dirPath) {
49
+ const existing = loadKnowledgeBaseViewSpec(dirPath);
50
+ const now = new Date().toISOString();
51
+ const knowledgeBaseName = readInterfConfig(dirPath)?.name ?? basename(dirPath);
52
+ const defaults = {
53
+ kind: "knowledge-base-view-spec",
54
+ version: 1,
55
+ generated_at: now,
56
+ target_name: knowledgeBaseName,
57
+ health_source: ".interf/health.json",
58
+ state_source: ".interf/state.json",
59
+ default_note: "home.md",
60
+ graph_scope: ["summaries", "knowledge"],
61
+ cards: [
62
+ { id: "source-total", label: "Source Files", metric: "source_total", format: "number" },
63
+ { id: "summarized", label: "Summarized", metric: "source_covered", denominator_metric: "source_total", format: "fraction" },
64
+ { id: "to-summarize", label: "To Summarize", metric: "to_summarize", format: "number" },
65
+ { id: "compiled", label: "Compiled", metric: "compiled", denominator_metric: "summarized", format: "fraction" },
66
+ { id: "entities", label: "Entities", metric: "entities", format: "number" },
67
+ { id: "claims", label: "Claims", metric: "claims", format: "number" },
68
+ ],
69
+ sections: [
70
+ { id: "status", type: "status", title: "Compile Status", path: ".interf/health.json" },
71
+ { id: "cards", type: "cards", title: "Key Metrics", path: ".interf/health.json" },
72
+ { id: "graph", type: "graph", title: "Knowledge Graph", paths: ["summaries", "knowledge"] },
73
+ { id: "core-docs", type: "documents", title: "Core Docs", paths: ["home.md", "knowledge/indexes", "knowledge/entities", "knowledge/claims", "summaries"] },
74
+ { id: "claims", type: "table", title: "Claims", path: "knowledge/claims" },
75
+ ],
76
+ };
77
+ if (existing) {
78
+ const normalized = normalizeKnowledgeBaseViewSpec(existing, defaults);
79
+ if (JSON.stringify(normalized) !== JSON.stringify(existing)) {
80
+ saveKnowledgeBaseViewSpec(dirPath, normalized);
81
+ }
82
+ return normalized;
83
+ }
84
+ saveKnowledgeBaseViewSpec(dirPath, defaults);
85
+ return defaults;
86
+ }
87
+ export function ensureKnowledgeBaseSourceAccess(dirPath) {
88
+ const now = new Date().toISOString();
89
+ const config = readInterfConfig(dirPath);
90
+ const knowledgeBaseName = config?.name ?? basename(dirPath);
91
+ const sourcePath = resolveKnowledgeBaseSourcePath(dirPath, config);
92
+ const discovery = discoverSourceFiles(sourcePath, dirPath);
93
+ const sampleFiles = [...discovery.sourceFiles]
94
+ .sort((a, b) => a.length - b.length || a.localeCompare(b))
95
+ .slice(0, 10);
96
+ const sourceRoot = relative(dirPath, sourcePath) || ".";
97
+ const suggestedChecks = sampleFiles.slice(0, 3).map((file) => resolve(sourcePath, file));
98
+ const artifact = {
99
+ kind: "knowledge-base-source-access",
100
+ version: 1,
101
+ generated_at: now,
102
+ target_name: knowledgeBaseName,
103
+ source_root: sourceRoot,
104
+ source_total: discovery.totalCount,
105
+ sample_files: sampleFiles,
106
+ suggested_checks: suggestedChecks,
107
+ };
108
+ mkdirSync(join(dirPath, STATE_DIR), { recursive: true });
109
+ writeFileSync(sourceAccessPath(dirPath), JSON.stringify(artifact, null, 2) + "\n");
110
+ return artifact;
111
+ }
112
+ export function normalizeInterfaceViewSpec(existing, defaults) {
113
+ const existingCards = Array.isArray(existing.cards) ? existing.cards : defaults.cards;
114
+ const cards = existingCards.map((card) => {
115
+ if (card.id === "compile" && card.format === "fraction" && !card.denominator_metric) {
116
+ return {
117
+ ...card,
118
+ metric: "knowledge_base_compiled",
119
+ denominator_metric: "knowledge_base_total",
120
+ };
121
+ }
122
+ return card;
123
+ });
124
+ return {
125
+ ...defaults,
126
+ ...existing,
127
+ cards,
128
+ sections: Array.isArray(existing.sections) && existing.sections.length > 0 ? existing.sections : defaults.sections,
129
+ graph_scope: Array.isArray(existing.graph_scope) && existing.graph_scope.length > 0
130
+ ? existing.graph_scope
131
+ : defaults.graph_scope,
132
+ };
133
+ }
134
+ export function normalizeKnowledgeBaseViewSpec(existing, defaults) {
135
+ const existingCards = Array.isArray(existing.cards) ? existing.cards : defaults.cards;
136
+ const cards = existingCards.map((card) => card);
137
+ return {
138
+ ...defaults,
139
+ ...existing,
140
+ cards,
141
+ sections: Array.isArray(existing.sections) && existing.sections.length > 0 ? existing.sections : defaults.sections,
142
+ graph_scope: Array.isArray(existing.graph_scope) && existing.graph_scope.length > 0
143
+ ? existing.graph_scope
144
+ : defaults.graph_scope,
145
+ };
146
+ }
147
+ //# sourceMappingURL=state-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-view.js","sourceRoot":"","sources":["../../src/lib/state-view.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,7 @@
1
- import { type InterfaceHealth, type InterfaceState, type InterfaceViewSpec, type KnowledgeBaseHealth, type KnowledgeBaseSourceAccess, type KnowledgeBaseState, type KnowledgeBaseViewSpec } from "./schema.js";
2
- export type RuntimeStatus = "idle" | "running" | "compiled" | "stale" | "failed";
3
- export type KnowledgeBaseStage = "idle" | "summarize" | "compile" | "compiled" | "failed";
4
- export type InterfaceStage = "idle" | "create" | "retrieve" | "analyze" | "compile" | "compiled" | "failed";
5
- export type { KnowledgeBaseState, InterfaceState, KnowledgeBaseHealth, InterfaceHealth, ViewSection, ViewCard, KnowledgeBaseViewSpec, InterfaceViewSpec, KnowledgeBaseSourceAccess } from "./schema.js";
6
- export declare function statePath(dirPath: string): string;
7
- export declare function healthPath(dirPath: string): string;
8
- export declare function viewSpecPath(dirPath: string): string;
9
- export declare function sourceAccessPath(dirPath: string): string;
10
- export declare function loadState<T>(dirPath: string): T | null;
11
- export declare function saveState<T>(dirPath: string, state: T): void;
12
- export declare function loadInterfaceHealth(dirPath: string): InterfaceHealth | null;
13
- export declare function loadKnowledgeBaseHealth(dirPath: string): KnowledgeBaseHealth | null;
14
- export declare function saveInterfaceHealth(dirPath: string, health: InterfaceHealth): void;
15
- export declare function saveKnowledgeBaseHealth(dirPath: string, health: KnowledgeBaseHealth): void;
16
- export declare function loadInterfaceViewSpec(dirPath: string): InterfaceViewSpec | null;
17
- export declare function loadKnowledgeBaseViewSpec(dirPath: string): KnowledgeBaseViewSpec | null;
18
- export declare function loadKnowledgeBaseSourceAccess(dirPath: string): KnowledgeBaseSourceAccess | null;
19
- export declare function saveInterfaceViewSpec(dirPath: string, viewSpec: InterfaceViewSpec): void;
20
- export declare function saveKnowledgeBaseViewSpec(dirPath: string, viewSpec: KnowledgeBaseViewSpec): void;
21
- export declare function initKnowledgeBaseState(): KnowledgeBaseState;
22
- export declare function initInterfaceState(): InterfaceState;
23
- export declare function refreshInterfaceArtifacts(dirPath: string, options?: {
24
- ensureViewSpec?: boolean;
25
- }): {
26
- health: InterfaceHealth;
27
- viewSpec?: InterfaceViewSpec;
28
- };
29
- export declare function refreshKnowledgeBaseArtifacts(dirPath: string, options?: {
30
- ensureViewSpec?: boolean;
31
- }): {
32
- health: KnowledgeBaseHealth;
33
- viewSpec?: KnowledgeBaseViewSpec;
34
- sourceAccess: KnowledgeBaseSourceAccess;
35
- };
36
- export declare function computeKnowledgeBaseHealth(dirPath: string): KnowledgeBaseHealth;
37
- export declare function computeInterfaceHealth(dirPath: string): InterfaceHealth;
38
- export declare function ensureInterfaceViewSpec(dirPath: string): InterfaceViewSpec;
39
- export declare function ensureKnowledgeBaseViewSpec(dirPath: string): KnowledgeBaseViewSpec;
40
- export declare function ensureKnowledgeBaseSourceAccess(dirPath: string): KnowledgeBaseSourceAccess;
41
- export declare function resolveKnowledgeBaseStatus(rawTotal: number, summarized: number, toSummarize: number, toCompile: number, errors: number, state: KnowledgeBaseState): RuntimeStatus;
42
- export declare function resolveKnowledgeBaseStage(state: KnowledgeBaseState, rawTotal: number, summarized: number, toSummarize: number, toCompile: number, errors: number): KnowledgeBaseStage;
43
- export declare function normalizeInterfaceViewSpec(existing: InterfaceViewSpec, defaults: InterfaceViewSpec): InterfaceViewSpec;
44
- export declare function normalizeKnowledgeBaseViewSpec(existing: KnowledgeBaseViewSpec, defaults: KnowledgeBaseViewSpec): KnowledgeBaseViewSpec;
45
- export declare function resolveInterfaceStatus(state: InterfaceState, toSync: number, errors: number): RuntimeStatus;
46
- export declare function resolveInterfaceStage(state: InterfaceState, errors: number): InterfaceStage;
1
+ export type { RuntimeStatus, KnowledgeBaseStage, InterfaceStage, KnowledgeBaseState, InterfaceState, KnowledgeBaseHealth, InterfaceHealth, ViewSection, ViewCard, KnowledgeBaseViewSpec, InterfaceViewSpec, KnowledgeBaseSourceAccess, } from "./schema.js";
2
+ export { statePath, healthPath, viewSpecPath, sourceAccessPath, } from "./state-paths.js";
3
+ export { loadState, saveState, loadInterfaceHealth, loadKnowledgeBaseHealth, saveInterfaceHealth, saveKnowledgeBaseHealth, loadInterfaceViewSpec, loadKnowledgeBaseViewSpec, loadKnowledgeBaseSourceAccess, saveInterfaceViewSpec, saveKnowledgeBaseViewSpec, initKnowledgeBaseState, initInterfaceState, } from "./state-io.js";
4
+ export { refreshInterfaceArtifacts, refreshKnowledgeBaseArtifacts, } from "./state-artifacts.js";
5
+ export { computeKnowledgeBaseHealth, computeInterfaceHealth, resolveKnowledgeBaseStatus, resolveKnowledgeBaseStage, resolveInterfaceStatus, resolveInterfaceStage, } from "./state-health.js";
6
+ export { ensureInterfaceViewSpec, ensureKnowledgeBaseViewSpec, ensureKnowledgeBaseSourceAccess, normalizeInterfaceViewSpec, normalizeKnowledgeBaseViewSpec, } from "./state-view.js";
47
7
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC"}