@interf/compiler 0.5.1 → 0.6.3

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 (353) hide show
  1. package/README.md +160 -201
  2. package/builtin-workflows/interf/README.md +22 -10
  3. package/builtin-workflows/interf/compile/stages/shape/SKILL.md +8 -5
  4. package/builtin-workflows/interf/compile/stages/structure/SKILL.md +3 -0
  5. package/builtin-workflows/interf/compile/stages/summarize/SKILL.md +18 -2
  6. package/builtin-workflows/interf/improve/SKILL.md +4 -4
  7. package/builtin-workflows/interf/use/query/SKILL.md +1 -1
  8. package/builtin-workflows/interf/workflow.json +19 -5
  9. package/builtin-workflows/interf/{compiled.schema.json → workflow.schema.json} +10 -3
  10. package/dist/bin.js +2 -28
  11. package/dist/{commands → cli/commands}/check-draft.d.ts +2 -2
  12. package/dist/{commands → cli/commands}/check-draft.js +13 -13
  13. package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
  14. package/dist/{commands → cli/commands}/compile-controller.js +39 -44
  15. package/dist/cli/commands/compile.d.ts +33 -0
  16. package/dist/{commands → cli/commands}/compile.js +107 -33
  17. package/dist/{commands → cli/commands}/compiled-flow.d.ts +3 -4
  18. package/dist/{commands → cli/commands}/compiled-flow.js +9 -14
  19. package/dist/{commands → cli/commands}/create-workflow-wizard.d.ts +20 -2
  20. package/dist/cli/commands/create-workflow-wizard.js +288 -0
  21. package/dist/{commands → cli/commands}/create.d.ts +2 -2
  22. package/dist/cli/commands/create.js +166 -0
  23. package/dist/cli/commands/dataset-selection.d.ts +6 -0
  24. package/dist/cli/commands/dataset-selection.js +11 -0
  25. package/dist/{commands → cli/commands}/default.js +5 -5
  26. package/dist/{commands → cli/commands}/doctor.js +12 -13
  27. package/dist/{commands → cli/commands}/executor-flow.d.ts +2 -2
  28. package/dist/{commands → cli/commands}/executor-flow.js +17 -17
  29. package/dist/cli/commands/init.d.ts +11 -0
  30. package/dist/{commands → cli/commands}/init.js +202 -109
  31. package/dist/{commands → cli/commands}/list.js +9 -6
  32. package/dist/{commands → cli/commands}/reset.js +5 -5
  33. package/dist/{commands → cli/commands}/source-config-wizard.d.ts +10 -5
  34. package/dist/{commands → cli/commands}/source-config-wizard.js +202 -95
  35. package/dist/{commands → cli/commands}/status.js +20 -11
  36. package/dist/{commands → cli/commands}/test-flow.d.ts +13 -4
  37. package/dist/{commands → cli/commands}/test-flow.js +30 -26
  38. package/dist/cli/commands/test.d.ts +14 -0
  39. package/dist/{commands → cli/commands}/test.js +48 -40
  40. package/dist/{commands → cli/commands}/verify.js +4 -4
  41. package/dist/cli/index.d.ts +21 -0
  42. package/dist/cli/index.js +33 -0
  43. package/dist/index.d.ts +22 -11
  44. package/dist/index.js +15 -6
  45. package/dist/lib/agent-args.d.ts +1 -3
  46. package/dist/lib/agent-args.js +1 -42
  47. package/dist/lib/agent-constants.d.ts +1 -5
  48. package/dist/lib/agent-constants.js +1 -28
  49. package/dist/lib/agent-detection.d.ts +1 -7
  50. package/dist/lib/agent-detection.js +1 -65
  51. package/dist/lib/agent-execution.d.ts +1 -2
  52. package/dist/lib/agent-execution.js +1 -242
  53. package/dist/lib/agent-logs.d.ts +1 -2
  54. package/dist/lib/agent-logs.js +1 -17
  55. package/dist/lib/agent-preflight.d.ts +1 -7
  56. package/dist/lib/agent-preflight.js +1 -76
  57. package/dist/lib/agent-render.d.ts +1 -8
  58. package/dist/lib/agent-render.js +1 -218
  59. package/dist/lib/agent-shells.d.ts +1 -44
  60. package/dist/lib/agent-shells.js +1 -847
  61. package/dist/lib/agent-status.d.ts +1 -3
  62. package/dist/lib/agent-status.js +1 -58
  63. package/dist/lib/agent-types.d.ts +1 -30
  64. package/dist/lib/agent-types.js +1 -1
  65. package/dist/lib/agents.d.ts +1 -6
  66. package/dist/lib/agents.js +1 -5
  67. package/dist/lib/builtin-compiled-workflow.d.ts +1 -129
  68. package/dist/lib/builtin-compiled-workflow.js +1 -153
  69. package/dist/lib/compiled-compile.d.ts +1 -52
  70. package/dist/lib/compiled-compile.js +1 -274
  71. package/dist/lib/compiled-paths.d.ts +1 -39
  72. package/dist/lib/compiled-paths.js +3 -103
  73. package/dist/lib/compiled-raw.d.ts +1 -49
  74. package/dist/lib/compiled-raw.js +3 -102
  75. package/dist/lib/compiled-reset.d.ts +1 -1
  76. package/dist/lib/compiled-reset.js +3 -44
  77. package/dist/lib/compiled-schema.d.ts +1 -27
  78. package/dist/lib/compiled-schema.js +1 -110
  79. package/dist/lib/discovery.d.ts +1 -1
  80. package/dist/lib/discovery.js +2 -2
  81. package/dist/lib/execution-profile.d.ts +1 -17
  82. package/dist/lib/execution-profile.js +1 -84
  83. package/dist/lib/executors.d.ts +1 -32
  84. package/dist/lib/executors.js +1 -43
  85. package/dist/lib/interf-bootstrap.d.ts +1 -3
  86. package/dist/lib/interf-bootstrap.js +3 -18
  87. package/dist/lib/interf-detect.d.ts +1 -33
  88. package/dist/lib/interf-detect.js +3 -176
  89. package/dist/lib/interf-scaffold.d.ts +1 -2
  90. package/dist/lib/interf-scaffold.js +3 -121
  91. package/dist/lib/interf-workflow-package.d.ts +1 -20
  92. package/dist/lib/interf-workflow-package.js +1 -276
  93. package/dist/lib/interf.d.ts +1 -5
  94. package/dist/lib/interf.js +3 -4
  95. package/dist/lib/local-workflows.d.ts +1 -53
  96. package/dist/lib/local-workflows.js +1 -399
  97. package/dist/lib/package-root.d.ts +1 -0
  98. package/dist/lib/package-root.js +1 -0
  99. package/dist/lib/project-paths.d.ts +1 -11
  100. package/dist/lib/project-paths.js +3 -32
  101. package/dist/lib/runtime-acceptance.d.ts +1 -9
  102. package/dist/lib/runtime-acceptance.js +1 -257
  103. package/dist/lib/runtime-contracts.d.ts +1 -2
  104. package/dist/lib/runtime-contracts.js +1 -47
  105. package/dist/lib/runtime-inventory.d.ts +1 -7
  106. package/dist/lib/runtime-inventory.js +1 -29
  107. package/dist/lib/runtime-paths.d.ts +1 -7
  108. package/dist/lib/runtime-paths.js +1 -23
  109. package/dist/lib/runtime-prompt.d.ts +1 -2
  110. package/dist/lib/runtime-prompt.js +1 -46
  111. package/dist/lib/runtime-reconcile.d.ts +1 -2
  112. package/dist/lib/runtime-reconcile.js +1 -156
  113. package/dist/lib/runtime-runs.d.ts +1 -11
  114. package/dist/lib/runtime-runs.js +1 -250
  115. package/dist/lib/runtime-types.d.ts +1 -43
  116. package/dist/lib/runtime-types.js +1 -1
  117. package/dist/lib/runtime.d.ts +1 -6
  118. package/dist/lib/runtime.js +1 -5
  119. package/dist/lib/schema.d.ts +4 -1016
  120. package/dist/lib/schema.js +6 -539
  121. package/dist/lib/source-config.d.ts +1 -39
  122. package/dist/lib/source-config.js +3 -293
  123. package/dist/lib/state-artifacts.d.ts +1 -8
  124. package/dist/lib/state-artifacts.js +1 -13
  125. package/dist/lib/state-health.d.ts +1 -4
  126. package/dist/lib/state-health.js +1 -132
  127. package/dist/lib/state-io.d.ts +1 -10
  128. package/dist/lib/state-io.js +1 -76
  129. package/dist/lib/state-paths.d.ts +1 -4
  130. package/dist/lib/state-paths.js +1 -13
  131. package/dist/lib/state-view.d.ts +1 -4
  132. package/dist/lib/state-view.js +1 -103
  133. package/dist/lib/state.d.ts +1 -6
  134. package/dist/lib/state.js +1 -5
  135. package/dist/lib/test-execution.d.ts +1 -14
  136. package/dist/lib/test-execution.js +3 -525
  137. package/dist/lib/test-matrices.d.ts +1 -90
  138. package/dist/lib/test-matrices.js +3 -96
  139. package/dist/lib/test-paths.d.ts +1 -12
  140. package/dist/lib/test-paths.js +3 -59
  141. package/dist/lib/test-profile-presets.d.ts +1 -57
  142. package/dist/lib/test-profile-presets.js +3 -50
  143. package/dist/lib/test-sandbox.d.ts +1 -11
  144. package/dist/lib/test-sandbox.js +3 -105
  145. package/dist/lib/test-specs.d.ts +1 -7
  146. package/dist/lib/test-specs.js +3 -114
  147. package/dist/lib/test-targets.d.ts +1 -5
  148. package/dist/lib/test-targets.js +3 -38
  149. package/dist/lib/test-types.d.ts +1 -17
  150. package/dist/lib/test-types.js +3 -1
  151. package/dist/lib/test.d.ts +1 -4
  152. package/dist/lib/test.js +3 -3
  153. package/dist/lib/validate-compiled.d.ts +1 -27
  154. package/dist/lib/validate-compiled.js +1 -238
  155. package/dist/lib/validate-helpers.d.ts +1 -12
  156. package/dist/lib/validate-helpers.js +1 -41
  157. package/dist/lib/validate.d.ts +1 -19
  158. package/dist/lib/validate.js +1 -256
  159. package/dist/lib/workflow-authoring.d.ts +1 -0
  160. package/dist/lib/workflow-authoring.js +1 -0
  161. package/dist/lib/workflow-definitions.d.ts +1 -68
  162. package/dist/lib/workflow-definitions.js +1 -206
  163. package/dist/lib/workflow-edit-session.d.ts +1 -0
  164. package/dist/lib/workflow-edit-session.js +1 -0
  165. package/dist/lib/workflow-edit-utils.d.ts +1 -0
  166. package/dist/lib/workflow-edit-utils.js +1 -0
  167. package/dist/lib/workflow-helpers.d.ts +1 -38
  168. package/dist/lib/workflow-helpers.js +1 -167
  169. package/dist/lib/workflow-improvement.d.ts +1 -22
  170. package/dist/lib/workflow-improvement.js +1 -396
  171. package/dist/lib/workflow-primitives.d.ts +1 -2
  172. package/dist/lib/workflow-primitives.js +1 -5
  173. package/dist/lib/workflow-review-paths.d.ts +1 -10
  174. package/dist/lib/workflow-review-paths.js +1 -27
  175. package/dist/lib/workflow-stage-policy.d.ts +1 -0
  176. package/dist/lib/workflow-stage-policy.js +1 -0
  177. package/dist/lib/workflow-stage-runner.d.ts +1 -41
  178. package/dist/lib/workflow-stage-runner.js +1 -109
  179. package/dist/lib/workflows.d.ts +1 -15
  180. package/dist/lib/workflows.js +1 -31
  181. package/dist/packages/agents/index.d.ts +17 -0
  182. package/dist/packages/agents/index.js +15 -0
  183. package/dist/packages/agents/lib/agents.d.ts +6 -0
  184. package/dist/packages/agents/lib/agents.js +5 -0
  185. package/dist/packages/agents/lib/args.d.ts +4 -0
  186. package/dist/packages/agents/lib/args.js +52 -0
  187. package/dist/packages/agents/lib/constants.d.ts +5 -0
  188. package/dist/packages/agents/lib/constants.js +28 -0
  189. package/dist/packages/agents/lib/detection.d.ts +7 -0
  190. package/dist/packages/agents/lib/detection.js +65 -0
  191. package/dist/packages/agents/lib/execution-profile.d.ts +17 -0
  192. package/dist/packages/agents/lib/execution-profile.js +84 -0
  193. package/dist/packages/agents/lib/execution.d.ts +2 -0
  194. package/dist/packages/agents/lib/execution.js +243 -0
  195. package/dist/packages/agents/lib/executors.d.ts +32 -0
  196. package/dist/packages/agents/lib/executors.js +45 -0
  197. package/dist/packages/agents/lib/logs.d.ts +2 -0
  198. package/dist/packages/agents/lib/logs.js +17 -0
  199. package/dist/packages/agents/lib/preflight.d.ts +7 -0
  200. package/dist/packages/agents/lib/preflight.js +77 -0
  201. package/dist/packages/agents/lib/render.d.ts +8 -0
  202. package/dist/packages/agents/lib/render.js +218 -0
  203. package/dist/packages/agents/lib/schema.d.ts +8 -0
  204. package/dist/packages/agents/lib/schema.js +7 -0
  205. package/dist/packages/agents/lib/shells.d.ts +69 -0
  206. package/dist/packages/agents/lib/shells.js +1021 -0
  207. package/dist/packages/agents/lib/status.d.ts +3 -0
  208. package/dist/packages/agents/lib/status.js +58 -0
  209. package/dist/packages/agents/lib/types.d.ts +30 -0
  210. package/dist/packages/agents/lib/types.js +1 -0
  211. package/dist/{lib → packages/agents/lib}/user-config.d.ts +1 -0
  212. package/dist/{lib → packages/agents/lib}/user-config.js +3 -2
  213. package/dist/packages/compiler/compiled-compile.d.ts +48 -0
  214. package/dist/packages/compiler/compiled-compile.js +256 -0
  215. package/dist/packages/compiler/compiled-schema.d.ts +31 -0
  216. package/dist/packages/compiler/compiled-schema.js +141 -0
  217. package/dist/packages/compiler/index.d.ts +24 -0
  218. package/dist/packages/compiler/index.js +23 -0
  219. package/dist/packages/compiler/lib/schema.d.ts +684 -0
  220. package/dist/packages/compiler/lib/schema.js +361 -0
  221. package/dist/packages/compiler/runtime-acceptance.d.ts +9 -0
  222. package/dist/packages/compiler/runtime-acceptance.js +269 -0
  223. package/dist/packages/compiler/runtime-contracts.d.ts +2 -0
  224. package/dist/packages/compiler/runtime-contracts.js +48 -0
  225. package/dist/packages/compiler/runtime-inventory.d.ts +7 -0
  226. package/dist/packages/compiler/runtime-inventory.js +29 -0
  227. package/dist/packages/compiler/runtime-paths.d.ts +8 -0
  228. package/dist/packages/compiler/runtime-paths.js +26 -0
  229. package/dist/packages/compiler/runtime-prompt.d.ts +2 -0
  230. package/dist/packages/compiler/runtime-prompt.js +48 -0
  231. package/dist/packages/compiler/runtime-reconcile.d.ts +2 -0
  232. package/dist/packages/compiler/runtime-reconcile.js +193 -0
  233. package/dist/packages/compiler/runtime-runs.d.ts +11 -0
  234. package/dist/packages/compiler/runtime-runs.js +262 -0
  235. package/dist/packages/compiler/runtime-types.d.ts +43 -0
  236. package/dist/packages/compiler/runtime-types.js +1 -0
  237. package/dist/packages/compiler/runtime.d.ts +6 -0
  238. package/dist/packages/compiler/runtime.js +5 -0
  239. package/dist/packages/compiler/state-artifacts.d.ts +8 -0
  240. package/dist/packages/compiler/state-artifacts.js +13 -0
  241. package/dist/packages/compiler/state-health.d.ts +4 -0
  242. package/dist/packages/compiler/state-health.js +132 -0
  243. package/dist/packages/compiler/state-io.d.ts +10 -0
  244. package/dist/packages/compiler/state-io.js +76 -0
  245. package/dist/packages/compiler/state-paths.d.ts +4 -0
  246. package/dist/packages/compiler/state-paths.js +13 -0
  247. package/dist/packages/compiler/state-view.d.ts +4 -0
  248. package/dist/packages/compiler/state-view.js +103 -0
  249. package/dist/packages/compiler/state.d.ts +7 -0
  250. package/dist/packages/compiler/state.js +12 -0
  251. package/dist/packages/compiler/validate-compiled.d.ts +27 -0
  252. package/dist/packages/compiler/validate-compiled.js +241 -0
  253. package/dist/packages/compiler/validate-helpers.d.ts +12 -0
  254. package/dist/packages/compiler/validate-helpers.js +41 -0
  255. package/dist/packages/compiler/validate.d.ts +21 -0
  256. package/dist/packages/compiler/validate.js +249 -0
  257. package/dist/packages/compiler/workflow-primitives.d.ts +2 -0
  258. package/dist/packages/compiler/workflow-primitives.js +5 -0
  259. package/dist/packages/compiler/workflows.d.ts +15 -0
  260. package/dist/packages/compiler/workflows.js +31 -0
  261. package/dist/packages/project-model/compiled-paths.d.ts +40 -0
  262. package/dist/packages/project-model/compiled-paths.js +106 -0
  263. package/dist/packages/project-model/compiled-raw.d.ts +49 -0
  264. package/dist/packages/project-model/compiled-raw.js +102 -0
  265. package/dist/packages/project-model/compiled-reset.d.ts +2 -0
  266. package/dist/packages/project-model/compiled-reset.js +72 -0
  267. package/dist/packages/project-model/index.d.ts +11 -0
  268. package/dist/packages/project-model/index.js +10 -0
  269. package/dist/packages/project-model/interf-bootstrap.d.ts +3 -0
  270. package/dist/packages/project-model/interf-bootstrap.js +18 -0
  271. package/dist/packages/project-model/interf-detect.d.ts +33 -0
  272. package/dist/packages/project-model/interf-detect.js +176 -0
  273. package/dist/packages/project-model/interf-scaffold.d.ts +2 -0
  274. package/dist/packages/project-model/interf-scaffold.js +124 -0
  275. package/dist/packages/project-model/interf.d.ts +5 -0
  276. package/dist/packages/project-model/interf.js +4 -0
  277. package/dist/packages/project-model/lib/schema.d.ts +125 -0
  278. package/dist/packages/project-model/lib/schema.js +62 -0
  279. package/dist/packages/project-model/project-paths.d.ts +11 -0
  280. package/dist/packages/project-model/project-paths.js +32 -0
  281. package/dist/packages/project-model/source-config.d.ts +38 -0
  282. package/dist/packages/project-model/source-config.js +297 -0
  283. package/dist/packages/testing/index.d.ts +13 -0
  284. package/dist/packages/testing/index.js +10 -0
  285. package/dist/packages/testing/lib/schema.d.ts +261 -0
  286. package/dist/packages/testing/lib/schema.js +119 -0
  287. package/dist/packages/testing/test-execution.d.ts +14 -0
  288. package/dist/packages/testing/test-execution.js +525 -0
  289. package/dist/packages/testing/test-matrices.d.ts +90 -0
  290. package/dist/packages/testing/test-matrices.js +96 -0
  291. package/dist/packages/testing/test-paths.d.ts +12 -0
  292. package/dist/packages/testing/test-paths.js +59 -0
  293. package/dist/packages/testing/test-profile-presets.d.ts +57 -0
  294. package/dist/packages/testing/test-profile-presets.js +50 -0
  295. package/dist/packages/testing/test-sandbox.d.ts +11 -0
  296. package/dist/packages/testing/test-sandbox.js +105 -0
  297. package/dist/packages/testing/test-specs.d.ts +7 -0
  298. package/dist/packages/testing/test-specs.js +114 -0
  299. package/dist/packages/testing/test-targets.d.ts +5 -0
  300. package/dist/packages/testing/test-targets.js +38 -0
  301. package/dist/packages/testing/test-types.d.ts +16 -0
  302. package/dist/packages/testing/test-types.js +1 -0
  303. package/dist/packages/testing/test.d.ts +4 -0
  304. package/dist/packages/testing/test.js +3 -0
  305. package/dist/packages/workflow-authoring/index.d.ts +4 -0
  306. package/dist/packages/workflow-authoring/index.js +4 -0
  307. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.d.ts +10 -0
  308. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.js +39 -0
  309. package/dist/packages/workflow-authoring/workflow-authoring.d.ts +26 -0
  310. package/dist/packages/workflow-authoring/workflow-authoring.js +120 -0
  311. package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +16 -0
  312. package/dist/packages/workflow-authoring/workflow-edit-session.js +57 -0
  313. package/dist/packages/workflow-authoring/workflow-improvement.d.ts +23 -0
  314. package/dist/packages/workflow-authoring/workflow-improvement.js +209 -0
  315. package/dist/packages/workflow-package/builtin-compiled-workflow.d.ts +38 -0
  316. package/dist/packages/workflow-package/builtin-compiled-workflow.js +94 -0
  317. package/dist/packages/workflow-package/index.d.ts +9 -0
  318. package/dist/packages/workflow-package/index.js +9 -0
  319. package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
  320. package/dist/packages/workflow-package/interf-workflow-package.js +342 -0
  321. package/dist/{lib/config.d.ts → packages/workflow-package/lib/package-root.d.ts} +0 -1
  322. package/dist/packages/workflow-package/lib/package-root.js +6 -0
  323. package/dist/packages/workflow-package/local-workflows.d.ts +54 -0
  324. package/dist/packages/workflow-package/local-workflows.js +422 -0
  325. package/dist/packages/workflow-package/workflow-definitions.d.ts +78 -0
  326. package/dist/packages/workflow-package/workflow-definitions.js +203 -0
  327. package/dist/packages/workflow-package/workflow-helpers.d.ts +38 -0
  328. package/dist/packages/workflow-package/workflow-helpers.js +167 -0
  329. package/dist/packages/workflow-package/workflow-review-paths.d.ts +10 -0
  330. package/dist/packages/workflow-package/workflow-review-paths.js +27 -0
  331. package/dist/packages/workflow-package/workflow-stage-policy.d.ts +5 -0
  332. package/dist/packages/workflow-package/workflow-stage-policy.js +31 -0
  333. package/dist/packages/workflow-package/workflow-stage-runner.d.ts +41 -0
  334. package/dist/packages/workflow-package/workflow-stage-runner.js +109 -0
  335. package/package.json +44 -21
  336. package/dist/commands/compile.d.ts +0 -15
  337. package/dist/commands/create-workflow-wizard.js +0 -125
  338. package/dist/commands/create.js +0 -162
  339. package/dist/commands/init.d.ts +0 -3
  340. package/dist/commands/test.d.ts +0 -9
  341. package/dist/lib/compiled-home.d.ts +0 -5
  342. package/dist/lib/compiled-home.js +0 -32
  343. package/dist/lib/config.js +0 -9
  344. package/dist/lib/obsidian.d.ts +0 -1
  345. package/dist/lib/obsidian.js +0 -15
  346. package/dist/lib/summarize-plan.d.ts +0 -17
  347. package/dist/lib/summarize-plan.js +0 -120
  348. /package/dist/{commands → cli/commands}/default.d.ts +0 -0
  349. /package/dist/{commands → cli/commands}/doctor.d.ts +0 -0
  350. /package/dist/{commands → cli/commands}/list.d.ts +0 -0
  351. /package/dist/{commands → cli/commands}/reset.d.ts +0 -0
  352. /package/dist/{commands → cli/commands}/status.d.ts +0 -0
  353. /package/dist/{commands → cli/commands}/verify.d.ts +0 -0
@@ -1,250 +1 @@
1
- import { appendFileSync, mkdirSync, existsSync, readFileSync, writeFileSync, } from "node:fs";
2
- import { dirname, join, relative } from "node:path";
3
- import chalk from "chalk";
4
- import { countFilesRecursive } from "./filesystem.js";
5
- import { buildRuntimeExecutorInfo } from "./executors.js";
6
- import { RuntimeRunSchema, } from "./schema.js";
7
- import { getWorkflowStageDefinition, getWorkflowStagePosition, getWorkflowStages, } from "./workflow-definitions.js";
8
- import { eventLogPath, logsDirPath, promptLogPath, runHistoryPath, runPath, stageContractPath, statusLogPath, } from "./runtime-paths.js";
9
- import { warnInterf } from "./logger.js";
10
- export function loadRuntimeRun(dirPath) {
11
- const path = runPath(dirPath);
12
- if (!existsSync(path))
13
- return null;
14
- try {
15
- const raw = JSON.parse(readFileSync(path, "utf8"));
16
- const parsed = RuntimeRunSchema.safeParse(raw);
17
- if (parsed.success)
18
- return parsed.data;
19
- warnInterf(`Warning: failed to validate runtime run at ${path}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
20
- return null;
21
- }
22
- catch (error) {
23
- warnInterf(`Warning: failed to read runtime run at ${path}: ${error instanceof Error ? error.message : String(error)}`);
24
- return null;
25
- }
26
- }
27
- export function saveRuntimeRun(dirPath, run) {
28
- mkdirSync(dirname(runPath(dirPath)), { recursive: true });
29
- writeFileSync(runPath(dirPath), JSON.stringify(run, null, 2) + "\n");
30
- }
31
- export function writeStageContract(dirPath, contract) {
32
- mkdirSync(dirname(stageContractPath(dirPath)), { recursive: true });
33
- const path = stageContractPath(dirPath);
34
- writeFileSync(path, JSON.stringify(contract, null, 2) + "\n");
35
- return path;
36
- }
37
- export async function runExecutorStage(options) {
38
- const run = startRuntimeRun(options);
39
- const prompt = options.buildPrompt(run.contract_path);
40
- writeRuntimeRunPrompt(options.compiledPath, run.run_id, prompt);
41
- const executionPath = options.executionPath ?? options.compiledPath;
42
- const code = await options.executor.execute(executionPath, prompt, {
43
- eventLogPath: eventLogPath(options.compiledPath, run.run_id),
44
- statusLogPath: statusLogPath(options.compiledPath, run.run_id),
45
- completionCheck: options.completionCheck,
46
- });
47
- finalizeRuntimeRun(options.compiledPath, code);
48
- return code;
49
- }
50
- export async function runExecutorSummarizeStage(options) {
51
- const run = startRuntimeRun(options);
52
- const prompt = options.buildPrompt(run.contract_path);
53
- let lastReported = 0;
54
- writeRuntimeRunPrompt(options.compiledPath, run.run_id, prompt);
55
- const executionPath = options.executionPath ?? options.compiledPath;
56
- const progressPromise = options.executor.execute(executionPath, prompt, {
57
- eventLogPath: eventLogPath(options.compiledPath, run.run_id),
58
- statusLogPath: statusLogPath(options.compiledPath, run.run_id),
59
- completionCheck: options.completionCheck,
60
- });
61
- const timer = setInterval(() => {
62
- const currentSummaryCount = countFilesRecursive(join(options.compiledPath, "summaries"));
63
- const completed = Math.max(0, Math.min(options.targetCount, currentSummaryCount - options.startingSummaryCount));
64
- if (completed <= lastReported)
65
- return;
66
- lastReported = completed;
67
- updateRuntimeRun(options.compiledPath, {
68
- counts: {
69
- ...run.counts,
70
- completed_summaries: completed,
71
- target_summaries: options.targetCount,
72
- },
73
- summary: `${options.stageLabel} ${completed}/${options.targetCount} source files into summaries.`,
74
- });
75
- console.log(chalk.dim(` STATUS: wrote ${completed}/${options.targetCount} summaries`));
76
- }, 10000);
77
- try {
78
- const code = await progressPromise;
79
- finalizeRuntimeRun(options.compiledPath, code);
80
- return code;
81
- }
82
- finally {
83
- clearInterval(timer);
84
- }
85
- }
86
- export function beginRuntimeRun(dirPath, run) {
87
- saveRuntimeRun(dirPath, run);
88
- return run;
89
- }
90
- export function updateRuntimeRun(dirPath, patch) {
91
- const current = loadRuntimeRun(dirPath);
92
- if (!current)
93
- return null;
94
- const next = {
95
- ...current,
96
- ...patch,
97
- updated_at: new Date().toISOString(),
98
- };
99
- saveRuntimeRun(dirPath, next);
100
- return next;
101
- }
102
- export function markRuntimeRunFailedAfterValidation(dirPath, summary) {
103
- const current = loadRuntimeRun(dirPath);
104
- if (!current)
105
- return null;
106
- const finishedAt = current.finished_at ?? new Date().toISOString();
107
- const next = {
108
- ...current,
109
- status: "failed",
110
- updated_at: new Date().toISOString(),
111
- finished_at: finishedAt,
112
- exit_code: 1,
113
- error: summary,
114
- summary,
115
- };
116
- saveRuntimeRun(dirPath, next);
117
- replaceOrAppendRunHistoryEntry(dirPath, next);
118
- return next;
119
- }
120
- export function markRuntimeRunSucceededAfterValidation(dirPath, summary) {
121
- const current = loadRuntimeRun(dirPath);
122
- if (!current)
123
- return null;
124
- const finishedAt = current.finished_at ?? new Date().toISOString();
125
- const next = {
126
- ...current,
127
- status: "succeeded",
128
- updated_at: new Date().toISOString(),
129
- finished_at: finishedAt,
130
- exit_code: 0,
131
- error: null,
132
- summary,
133
- };
134
- saveRuntimeRun(dirPath, next);
135
- replaceOrAppendRunHistoryEntry(dirPath, next);
136
- return next;
137
- }
138
- function startRuntimeRun(options) {
139
- const runId = createRunId();
140
- const generatedAt = new Date().toISOString();
141
- const workflowStages = getWorkflowStages(options.workflow, options.workflowSourcePath);
142
- const stagePosition = getWorkflowStagePosition(options.workflow, options.stage, options.workflowSourcePath);
143
- const stageDefinition = getWorkflowStageDefinition(options.workflow, options.stage, options.workflowSourcePath);
144
- const contract = {
145
- kind: "interf-stage-contract",
146
- version: 1,
147
- generated_at: generatedAt,
148
- run_id: runId,
149
- target_type: "compiled",
150
- target_name: options.compiledName,
151
- workflow: {
152
- id: options.workflow,
153
- stage_index: stagePosition?.stageIndex ?? null,
154
- stage_total: stagePosition?.stageTotal ?? workflowStages.length,
155
- stages: stagePosition?.stages ?? workflowStages,
156
- },
157
- stage: options.stage,
158
- stage_label: stageDefinition?.label ?? options.stageLabel,
159
- contract_type: options.contractType,
160
- executor: buildRuntimeExecutorInfo(options.executor),
161
- instructions: options.contract.instructions,
162
- counts: options.contract.counts,
163
- ...(options.contract.acceptance ? { acceptance: options.contract.acceptance } : {}),
164
- artifacts: options.contract.artifacts,
165
- policies: options.contract.policies,
166
- };
167
- const contractPath = writeStageContract(options.compiledPath, contract);
168
- const run = {
169
- kind: "interf-run",
170
- version: 1,
171
- run_id: runId,
172
- target_type: "compiled",
173
- target_name: options.compiledName,
174
- workflow: options.workflow,
175
- stage: options.stage,
176
- stage_label: stageDefinition?.label ?? options.stageLabel,
177
- contract_type: options.contractType,
178
- status: "running",
179
- executor: buildRuntimeExecutorInfo(options.executor),
180
- started_at: generatedAt,
181
- updated_at: generatedAt,
182
- finished_at: null,
183
- contract_path: relative(options.compiledPath, contractPath),
184
- ...(options.executionPath ? { execution_path: relative(options.compiledPath, options.executionPath) } : {}),
185
- counts: { ...contract.counts },
186
- output_artifacts: [...contract.artifacts.writes],
187
- logs: {
188
- prompt_path: relative(options.compiledPath, promptLogPath(options.compiledPath, runId)),
189
- event_stream_path: relative(options.compiledPath, eventLogPath(options.compiledPath, runId)),
190
- status_path: relative(options.compiledPath, statusLogPath(options.compiledPath, runId)),
191
- },
192
- summary: options.summary,
193
- exit_code: null,
194
- error: null,
195
- };
196
- return beginRuntimeRun(options.compiledPath, run);
197
- }
198
- function finalizeRuntimeRun(dirPath, code) {
199
- const current = loadRuntimeRun(dirPath);
200
- if (!current)
201
- return null;
202
- const finishedAt = new Date().toISOString();
203
- const next = {
204
- ...current,
205
- status: code === 0 ? "succeeded" : "failed",
206
- updated_at: finishedAt,
207
- finished_at: finishedAt,
208
- exit_code: code,
209
- error: code === 0 ? null : `Executor exited with code ${code}.`,
210
- summary: code === 0
211
- ? `${current.stage_label} completed successfully.`
212
- : `${current.stage_label} failed with exit code ${code}.`,
213
- };
214
- saveRuntimeRun(dirPath, next);
215
- appendFileSync(runHistoryPath(dirPath), JSON.stringify(next) + "\n");
216
- return next;
217
- }
218
- function writeRuntimeRunPrompt(dirPath, runId, prompt) {
219
- mkdirSync(logsDirPath(dirPath), { recursive: true });
220
- writeFileSync(promptLogPath(dirPath, runId), `${prompt}\n`);
221
- }
222
- function createRunId() {
223
- return `run_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
224
- }
225
- function replaceOrAppendRunHistoryEntry(dirPath, run) {
226
- const historyPath = runHistoryPath(dirPath);
227
- if (!existsSync(historyPath)) {
228
- appendFileSync(historyPath, JSON.stringify(run) + "\n");
229
- return;
230
- }
231
- const raw = readFileSync(historyPath, "utf8");
232
- const lines = raw.split("\n").filter((line) => line.trim().length > 0);
233
- let replaced = false;
234
- const nextLines = lines.map((line) => {
235
- try {
236
- const entry = JSON.parse(line);
237
- if (entry.run_id === run.run_id) {
238
- replaced = true;
239
- return JSON.stringify(run);
240
- }
241
- }
242
- catch {
243
- // preserve malformed history lines as-is
244
- }
245
- return line;
246
- });
247
- if (!replaced)
248
- nextLines.push(JSON.stringify(run));
249
- writeFileSync(historyPath, `${nextLines.join("\n")}\n`);
250
- }
1
+ export * from "../packages/compiler/runtime-runs.js";
@@ -1,43 +1 @@
1
- import { type WorkflowExecutor } from "./executors.js";
2
- import { type WorkflowId, type RuntimeContractType, type RuntimeRun, type RuntimeStage, type RuntimeStageAcceptance, type RuntimeStageContract, type RuntimeStageInstructions } from "./schema.js";
3
- export type RuntimeRunStatus = "running" | "succeeded" | "failed";
4
- export type RuntimeStageContractDraft = Omit<RuntimeStageContract, "kind" | "version" | "generated_at" | "run_id" | "target_type" | "target_name" | "workflow" | "stage" | "stage_label" | "contract_type" | "executor">;
5
- export interface RuntimeStageExecutionOptions {
6
- executor: WorkflowExecutor;
7
- compiledPath: string;
8
- executionPath?: string;
9
- compiledName: string;
10
- workflow: WorkflowId;
11
- workflowSourcePath?: string;
12
- stage: RuntimeStage;
13
- stageLabel: string;
14
- contractType: RuntimeContractType;
15
- summary: string;
16
- contract: RuntimeStageContractDraft;
17
- buildPrompt: (contractPath: string) => string;
18
- completionCheck?: (() => boolean) | null;
19
- }
20
- export interface RuntimeSummarizeExecutionOptions extends RuntimeStageExecutionOptions {
21
- startingSummaryCount: number;
22
- targetCount: number;
23
- }
24
- export interface RuntimeStageAcceptanceValidation {
25
- ok: boolean;
26
- summary: string;
27
- failures: string[];
28
- }
29
- export interface RuntimeStageContractOptions {
30
- compiledName: string;
31
- stageId: string;
32
- stageLabel: string;
33
- counts?: Record<string, number>;
34
- extraReadArtifacts?: string[];
35
- stageReadArtifacts: string[];
36
- stageWriteArtifacts: string[];
37
- workflowNotes?: string[];
38
- localSkillDocs?: string[];
39
- instructions: RuntimeStageInstructions;
40
- acceptance?: RuntimeStageAcceptance;
41
- }
42
- export interface RuntimeRunPatch extends Partial<Pick<RuntimeRun, "counts" | "summary" | "status" | "error" | "exit_code" | "finished_at">> {
43
- }
1
+ export * from "../packages/compiler/runtime-types.js";
@@ -1 +1 @@
1
- export {};
1
+ export * from "../packages/compiler/runtime-types.js";
@@ -1,6 +1 @@
1
- export type { RuntimeRunPatch, RuntimeRunStatus, RuntimeStageAcceptanceValidation, RuntimeStageContractDraft, RuntimeStageExecutionOptions, RuntimeSummarizeExecutionOptions, RuntimeStageContractOptions, } from "./runtime-types.js";
2
- export { eventLogPath, logsDirPath, promptLogPath, runHistoryPath, runPath, stageContractPath, statusLogPath, } from "./runtime-paths.js";
3
- export { validateStageContractAcceptance } from "./runtime-acceptance.js";
4
- export { buildStagePrompt } from "./runtime-prompt.js";
5
- export { buildRuntimeStageContract, } from "./runtime-contracts.js";
6
- export { beginRuntimeRun, loadRuntimeRun, markRuntimeRunFailedAfterValidation, markRuntimeRunSucceededAfterValidation, runExecutorStage, runExecutorSummarizeStage, saveRuntimeRun, updateRuntimeRun, writeStageContract, } from "./runtime-runs.js";
1
+ export * from "../packages/compiler/runtime.js";
@@ -1,5 +1 @@
1
- export { eventLogPath, logsDirPath, promptLogPath, runHistoryPath, runPath, stageContractPath, statusLogPath, } from "./runtime-paths.js";
2
- export { validateStageContractAcceptance } from "./runtime-acceptance.js";
3
- export { buildStagePrompt } from "./runtime-prompt.js";
4
- export { buildRuntimeStageContract, } from "./runtime-contracts.js";
5
- export { beginRuntimeRun, loadRuntimeRun, markRuntimeRunFailedAfterValidation, markRuntimeRunSucceededAfterValidation, runExecutorStage, runExecutorSummarizeStage, saveRuntimeRun, updateRuntimeRun, writeStageContract, } from "./runtime-runs.js";
1
+ export * from "../packages/compiler/runtime.js";