@interf/compiler 0.6.1 → 0.6.4

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 (391) hide show
  1. package/README.md +106 -80
  2. package/builtin-workflows/interf/README.md +5 -5
  3. package/builtin-workflows/interf/compile/stages/shape/SKILL.md +4 -4
  4. package/builtin-workflows/interf/improve/SKILL.md +2 -2
  5. package/builtin-workflows/interf/use/query/SKILL.md +1 -1
  6. package/builtin-workflows/interf/workflow.json +6 -6
  7. package/builtin-workflows/interf/workflow.schema.json +1 -1
  8. package/dist/bin.js +2 -28
  9. package/dist/{commands → cli/commands}/check-draft.d.ts +2 -2
  10. package/dist/{commands → cli/commands}/check-draft.js +16 -16
  11. package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
  12. package/dist/{commands → cli/commands}/compile-controller.js +37 -35
  13. package/dist/{commands → cli/commands}/compile.d.ts +2 -2
  14. package/dist/{commands → cli/commands}/compile.js +15 -11
  15. package/dist/{commands → cli/commands}/compiled-flow.d.ts +3 -4
  16. package/dist/{commands → cli/commands}/compiled-flow.js +9 -14
  17. package/dist/{commands → cli/commands}/create-workflow-wizard.d.ts +3 -3
  18. package/dist/{commands → cli/commands}/create-workflow-wizard.js +64 -37
  19. package/dist/{commands → cli/commands}/create.d.ts +1 -1
  20. package/dist/{commands → cli/commands}/create.js +15 -18
  21. package/dist/{commands → cli/commands}/dataset-selection.d.ts +1 -1
  22. package/dist/{commands → cli/commands}/default.js +3 -3
  23. package/dist/{commands → cli/commands}/doctor.js +5 -6
  24. package/dist/{commands → cli/commands}/executor-flow.d.ts +1 -1
  25. package/dist/{commands → cli/commands}/executor-flow.js +13 -16
  26. package/dist/{commands → cli/commands}/init.d.ts +4 -1
  27. package/dist/{commands → cli/commands}/init.js +162 -77
  28. package/dist/{commands → cli/commands}/list.js +6 -6
  29. package/dist/{commands → cli/commands}/reset.js +4 -4
  30. package/dist/{commands → cli/commands}/source-config-wizard.d.ts +9 -4
  31. package/dist/{commands → cli/commands}/source-config-wizard.js +168 -94
  32. package/dist/{commands → cli/commands}/status.js +20 -11
  33. package/dist/{commands → cli/commands}/test-flow.d.ts +13 -4
  34. package/dist/{commands → cli/commands}/test-flow.js +52 -48
  35. package/dist/cli/commands/test.d.ts +14 -0
  36. package/dist/{commands → cli/commands}/test.js +40 -24
  37. package/dist/{commands → cli/commands}/verify.js +4 -4
  38. package/dist/cli/index.d.ts +21 -0
  39. package/dist/cli/index.js +33 -0
  40. package/dist/index.d.ts +22 -11
  41. package/dist/index.js +15 -6
  42. package/dist/lib/agent-args.d.ts +1 -4
  43. package/dist/lib/agent-args.js +1 -52
  44. package/dist/lib/agent-constants.d.ts +1 -5
  45. package/dist/lib/agent-constants.js +1 -28
  46. package/dist/lib/agent-detection.d.ts +1 -7
  47. package/dist/lib/agent-detection.js +1 -65
  48. package/dist/lib/agent-execution.d.ts +1 -2
  49. package/dist/lib/agent-execution.js +1 -243
  50. package/dist/lib/agent-logs.d.ts +1 -2
  51. package/dist/lib/agent-logs.js +1 -17
  52. package/dist/lib/agent-preflight.d.ts +1 -7
  53. package/dist/lib/agent-preflight.js +1 -77
  54. package/dist/lib/agent-render.d.ts +1 -8
  55. package/dist/lib/agent-render.js +1 -218
  56. package/dist/lib/agent-shells.d.ts +1 -69
  57. package/dist/lib/agent-shells.js +1 -1021
  58. package/dist/lib/agent-status.d.ts +1 -3
  59. package/dist/lib/agent-status.js +1 -58
  60. package/dist/lib/agent-types.d.ts +1 -30
  61. package/dist/lib/agent-types.js +1 -1
  62. package/dist/lib/agents.d.ts +1 -6
  63. package/dist/lib/agents.js +1 -5
  64. package/dist/lib/builtin-compiled-workflow.d.ts +1 -38
  65. package/dist/lib/builtin-compiled-workflow.js +1 -94
  66. package/dist/lib/chart-guidance.d.ts +1 -1
  67. package/dist/lib/chart-guidance.js +1 -8
  68. package/dist/lib/compiled-compile.d.ts +1 -48
  69. package/dist/lib/compiled-compile.js +1 -255
  70. package/dist/lib/compiled-paths.d.ts +1 -40
  71. package/dist/lib/compiled-paths.js +3 -106
  72. package/dist/lib/compiled-raw.d.ts +1 -49
  73. package/dist/lib/compiled-raw.js +3 -102
  74. package/dist/lib/compiled-reset.d.ts +1 -2
  75. package/dist/lib/compiled-reset.js +3 -72
  76. package/dist/lib/compiled-schema.d.ts +1 -31
  77. package/dist/lib/compiled-schema.js +1 -141
  78. package/dist/lib/discovery.d.ts +1 -7
  79. package/dist/lib/discovery.js +1 -84
  80. package/dist/lib/execution-profile.d.ts +1 -17
  81. package/dist/lib/execution-profile.js +1 -84
  82. package/dist/lib/executors.d.ts +1 -32
  83. package/dist/lib/executors.js +1 -43
  84. package/dist/lib/filesystem.d.ts +1 -2
  85. package/dist/lib/filesystem.js +1 -55
  86. package/dist/lib/interf-bootstrap.d.ts +1 -3
  87. package/dist/lib/interf-bootstrap.js +3 -18
  88. package/dist/lib/interf-detect.d.ts +1 -33
  89. package/dist/lib/interf-detect.js +3 -176
  90. package/dist/lib/interf-scaffold.d.ts +1 -2
  91. package/dist/lib/interf-scaffold.js +3 -114
  92. package/dist/lib/interf-workflow-package.d.ts +1 -25
  93. package/dist/lib/interf-workflow-package.js +1 -342
  94. package/dist/lib/interf.d.ts +1 -5
  95. package/dist/lib/interf.js +3 -4
  96. package/dist/lib/local-workflows.d.ts +1 -54
  97. package/dist/lib/local-workflows.js +1 -422
  98. package/dist/lib/logger.d.ts +1 -3
  99. package/dist/lib/logger.js +1 -10
  100. package/dist/lib/package-root.d.ts +1 -0
  101. package/dist/lib/package-root.js +1 -0
  102. package/dist/lib/parse.d.ts +1 -8
  103. package/dist/lib/parse.js +1 -145
  104. package/dist/lib/project-paths.d.ts +1 -11
  105. package/dist/lib/project-paths.js +3 -32
  106. package/dist/lib/runtime-acceptance.d.ts +1 -9
  107. package/dist/lib/runtime-acceptance.js +1 -269
  108. package/dist/lib/runtime-contracts.d.ts +1 -2
  109. package/dist/lib/runtime-contracts.js +1 -48
  110. package/dist/lib/runtime-inventory.d.ts +1 -7
  111. package/dist/lib/runtime-inventory.js +1 -29
  112. package/dist/lib/runtime-paths.d.ts +1 -8
  113. package/dist/lib/runtime-paths.js +1 -26
  114. package/dist/lib/runtime-prompt.d.ts +1 -2
  115. package/dist/lib/runtime-prompt.js +1 -48
  116. package/dist/lib/runtime-reconcile.d.ts +1 -2
  117. package/dist/lib/runtime-reconcile.js +1 -193
  118. package/dist/lib/runtime-runs.d.ts +1 -11
  119. package/dist/lib/runtime-runs.js +1 -262
  120. package/dist/lib/runtime-types.d.ts +1 -43
  121. package/dist/lib/runtime-types.js +1 -1
  122. package/dist/lib/runtime.d.ts +1 -6
  123. package/dist/lib/runtime.js +1 -5
  124. package/dist/lib/schema.d.ts +4 -1073
  125. package/dist/lib/schema.js +6 -542
  126. package/dist/lib/source-config.d.ts +1 -39
  127. package/dist/lib/source-config.js +3 -293
  128. package/dist/lib/state-artifacts.d.ts +1 -8
  129. package/dist/lib/state-artifacts.js +1 -13
  130. package/dist/lib/state-health.d.ts +1 -4
  131. package/dist/lib/state-health.js +1 -132
  132. package/dist/lib/state-io.d.ts +1 -10
  133. package/dist/lib/state-io.js +1 -76
  134. package/dist/lib/state-paths.d.ts +1 -4
  135. package/dist/lib/state-paths.js +1 -13
  136. package/dist/lib/state-view.d.ts +1 -4
  137. package/dist/lib/state-view.js +1 -103
  138. package/dist/lib/state.d.ts +1 -7
  139. package/dist/lib/state.js +1 -12
  140. package/dist/lib/test-execution.d.ts +1 -14
  141. package/dist/lib/test-execution.js +3 -525
  142. package/dist/lib/test-matrices.d.ts +1 -90
  143. package/dist/lib/test-matrices.js +3 -96
  144. package/dist/lib/test-paths.d.ts +1 -12
  145. package/dist/lib/test-paths.js +3 -59
  146. package/dist/lib/test-profile-presets.d.ts +1 -57
  147. package/dist/lib/test-profile-presets.js +3 -50
  148. package/dist/lib/test-sandbox.d.ts +1 -11
  149. package/dist/lib/test-sandbox.js +3 -105
  150. package/dist/lib/test-specs.d.ts +1 -7
  151. package/dist/lib/test-specs.js +3 -114
  152. package/dist/lib/test-targets.d.ts +1 -5
  153. package/dist/lib/test-targets.js +3 -38
  154. package/dist/lib/test-types.d.ts +1 -17
  155. package/dist/lib/test-types.js +3 -1
  156. package/dist/lib/test.d.ts +1 -4
  157. package/dist/lib/test.js +3 -3
  158. package/dist/lib/util.d.ts +1 -4
  159. package/dist/lib/util.js +1 -25
  160. package/dist/lib/validate-compiled.d.ts +1 -27
  161. package/dist/lib/validate-compiled.js +1 -241
  162. package/dist/lib/validate-helpers.d.ts +1 -12
  163. package/dist/lib/validate-helpers.js +1 -41
  164. package/dist/lib/validate.d.ts +1 -21
  165. package/dist/lib/validate.js +1 -249
  166. package/dist/lib/workflow-authoring.d.ts +1 -26
  167. package/dist/lib/workflow-authoring.js +1 -119
  168. package/dist/lib/workflow-definitions.d.ts +1 -78
  169. package/dist/lib/workflow-definitions.js +1 -203
  170. package/dist/lib/workflow-edit-session.d.ts +1 -16
  171. package/dist/lib/workflow-edit-session.js +1 -57
  172. package/dist/lib/workflow-edit-utils.d.ts +1 -10
  173. package/dist/lib/workflow-edit-utils.js +1 -39
  174. package/dist/lib/workflow-helpers.d.ts +1 -38
  175. package/dist/lib/workflow-helpers.js +1 -167
  176. package/dist/lib/workflow-improvement.d.ts +1 -22
  177. package/dist/lib/workflow-improvement.js +1 -209
  178. package/dist/lib/workflow-primitives.d.ts +1 -2
  179. package/dist/lib/workflow-primitives.js +1 -5
  180. package/dist/lib/workflow-review-paths.d.ts +1 -10
  181. package/dist/lib/workflow-review-paths.js +1 -27
  182. package/dist/lib/workflow-stage-policy.d.ts +1 -5
  183. package/dist/lib/workflow-stage-policy.js +1 -31
  184. package/dist/lib/workflow-stage-runner.d.ts +1 -41
  185. package/dist/lib/workflow-stage-runner.js +1 -109
  186. package/dist/lib/workflows.d.ts +1 -15
  187. package/dist/lib/workflows.js +1 -31
  188. package/dist/packages/agents/index.d.ts +18 -0
  189. package/dist/packages/agents/index.js +16 -0
  190. package/dist/packages/agents/lib/agents.d.ts +6 -0
  191. package/dist/packages/agents/lib/agents.js +5 -0
  192. package/dist/packages/agents/lib/args.d.ts +4 -0
  193. package/dist/packages/agents/lib/args.js +52 -0
  194. package/dist/packages/agents/lib/chart-guidance.d.ts +1 -0
  195. package/dist/packages/agents/lib/chart-guidance.js +8 -0
  196. package/dist/packages/agents/lib/compiled-bootstrap.d.ts +3 -0
  197. package/dist/packages/agents/lib/compiled-bootstrap.js +18 -0
  198. package/dist/packages/agents/lib/constants.d.ts +5 -0
  199. package/dist/packages/agents/lib/constants.js +28 -0
  200. package/dist/packages/agents/lib/detection.d.ts +7 -0
  201. package/dist/packages/agents/lib/detection.js +65 -0
  202. package/dist/packages/agents/lib/execution-profile.d.ts +17 -0
  203. package/dist/packages/agents/lib/execution-profile.js +84 -0
  204. package/dist/packages/agents/lib/execution.d.ts +2 -0
  205. package/dist/packages/agents/lib/execution.js +243 -0
  206. package/dist/packages/agents/lib/executors.d.ts +32 -0
  207. package/dist/packages/agents/lib/executors.js +45 -0
  208. package/dist/packages/agents/lib/logs.d.ts +2 -0
  209. package/dist/packages/agents/lib/logs.js +17 -0
  210. package/dist/packages/agents/lib/preflight.d.ts +7 -0
  211. package/dist/packages/agents/lib/preflight.js +77 -0
  212. package/dist/packages/agents/lib/render.d.ts +8 -0
  213. package/dist/packages/agents/lib/render.js +218 -0
  214. package/dist/packages/agents/lib/schema.d.ts +8 -0
  215. package/dist/packages/agents/lib/schema.js +7 -0
  216. package/dist/packages/agents/lib/shells.d.ts +71 -0
  217. package/dist/packages/agents/lib/shells.js +1023 -0
  218. package/dist/packages/agents/lib/status.d.ts +3 -0
  219. package/dist/packages/agents/lib/status.js +58 -0
  220. package/dist/packages/agents/lib/types.d.ts +30 -0
  221. package/dist/packages/agents/lib/types.js +1 -0
  222. package/dist/{lib → packages/agents/lib}/user-config.d.ts +1 -0
  223. package/dist/{lib → packages/agents/lib}/user-config.js +3 -2
  224. package/dist/packages/compiler/compiled-compile.d.ts +4 -0
  225. package/dist/packages/compiler/compiled-compile.js +4 -0
  226. package/dist/packages/compiler/compiled-paths.d.ts +40 -0
  227. package/dist/packages/compiler/compiled-paths.js +106 -0
  228. package/dist/packages/compiler/compiled-pipeline.d.ts +39 -0
  229. package/dist/packages/compiler/compiled-pipeline.js +134 -0
  230. package/dist/packages/compiler/compiled-schema.d.ts +31 -0
  231. package/dist/packages/compiler/compiled-schema.js +141 -0
  232. package/dist/packages/compiler/compiled-stage-plan.d.ts +15 -0
  233. package/dist/packages/compiler/compiled-stage-plan.js +79 -0
  234. package/dist/packages/compiler/compiled-stage-runner.d.ts +10 -0
  235. package/dist/packages/compiler/compiled-stage-runner.js +46 -0
  236. package/dist/packages/compiler/compiled-target.d.ts +11 -0
  237. package/dist/packages/compiler/compiled-target.js +16 -0
  238. package/dist/packages/compiler/discovery.d.ts +7 -0
  239. package/dist/packages/compiler/discovery.js +80 -0
  240. package/dist/packages/compiler/index.d.ts +24 -0
  241. package/dist/packages/compiler/index.js +23 -0
  242. package/dist/packages/compiler/lib/schema.d.ts +684 -0
  243. package/dist/packages/compiler/lib/schema.js +363 -0
  244. package/dist/packages/compiler/raw-snapshot.d.ts +49 -0
  245. package/dist/packages/compiler/raw-snapshot.js +102 -0
  246. package/dist/packages/compiler/reset.d.ts +2 -0
  247. package/dist/packages/compiler/reset.js +72 -0
  248. package/dist/packages/compiler/runtime-acceptance.d.ts +9 -0
  249. package/dist/packages/compiler/runtime-acceptance.js +269 -0
  250. package/dist/packages/compiler/runtime-contracts.d.ts +2 -0
  251. package/dist/packages/compiler/runtime-contracts.js +48 -0
  252. package/dist/packages/compiler/runtime-inventory.d.ts +7 -0
  253. package/dist/packages/compiler/runtime-inventory.js +29 -0
  254. package/dist/packages/compiler/runtime-paths.d.ts +8 -0
  255. package/dist/packages/compiler/runtime-paths.js +26 -0
  256. package/dist/packages/compiler/runtime-prompt.d.ts +2 -0
  257. package/dist/packages/compiler/runtime-prompt.js +48 -0
  258. package/dist/packages/compiler/runtime-reconcile.d.ts +2 -0
  259. package/dist/packages/compiler/runtime-reconcile.js +193 -0
  260. package/dist/packages/compiler/runtime-runs.d.ts +11 -0
  261. package/dist/packages/compiler/runtime-runs.js +262 -0
  262. package/dist/packages/compiler/runtime-types.d.ts +43 -0
  263. package/dist/packages/compiler/runtime-types.js +1 -0
  264. package/dist/packages/compiler/runtime.d.ts +6 -0
  265. package/dist/packages/compiler/runtime.js +5 -0
  266. package/dist/packages/compiler/state-artifacts.d.ts +8 -0
  267. package/dist/packages/compiler/state-artifacts.js +13 -0
  268. package/dist/packages/compiler/state-health.d.ts +4 -0
  269. package/dist/packages/compiler/state-health.js +132 -0
  270. package/dist/packages/compiler/state-io.d.ts +10 -0
  271. package/dist/packages/compiler/state-io.js +76 -0
  272. package/dist/packages/compiler/state-paths.d.ts +4 -0
  273. package/dist/packages/compiler/state-paths.js +13 -0
  274. package/dist/packages/compiler/state-view.d.ts +4 -0
  275. package/dist/packages/compiler/state-view.js +103 -0
  276. package/dist/packages/compiler/state.d.ts +7 -0
  277. package/dist/packages/compiler/state.js +12 -0
  278. package/dist/packages/compiler/validate-compiled.d.ts +27 -0
  279. package/dist/packages/compiler/validate-compiled.js +241 -0
  280. package/dist/packages/compiler/validate-helpers.d.ts +12 -0
  281. package/dist/packages/compiler/validate-helpers.js +41 -0
  282. package/dist/packages/compiler/validate.d.ts +21 -0
  283. package/dist/packages/compiler/validate.js +249 -0
  284. package/dist/packages/compiler/workflow-primitives.d.ts +2 -0
  285. package/dist/packages/compiler/workflow-primitives.js +5 -0
  286. package/dist/packages/compiler/workflows.d.ts +15 -0
  287. package/dist/packages/compiler/workflows.js +31 -0
  288. package/dist/packages/project-model/compiled-paths.d.ts +1 -0
  289. package/dist/packages/project-model/compiled-paths.js +1 -0
  290. package/dist/packages/project-model/compiled-raw.d.ts +1 -0
  291. package/dist/packages/project-model/compiled-raw.js +1 -0
  292. package/dist/packages/project-model/compiled-reset.d.ts +1 -0
  293. package/dist/packages/project-model/compiled-reset.js +1 -0
  294. package/dist/packages/project-model/index.d.ts +11 -0
  295. package/dist/packages/project-model/index.js +10 -0
  296. package/dist/packages/project-model/interf-bootstrap.d.ts +1 -0
  297. package/dist/packages/project-model/interf-bootstrap.js +1 -0
  298. package/dist/packages/project-model/interf-detect.d.ts +33 -0
  299. package/dist/packages/project-model/interf-detect.js +176 -0
  300. package/dist/packages/project-model/interf-scaffold.d.ts +2 -0
  301. package/dist/packages/project-model/interf-scaffold.js +124 -0
  302. package/dist/packages/project-model/interf.d.ts +5 -0
  303. package/dist/packages/project-model/interf.js +4 -0
  304. package/dist/packages/project-model/lib/schema.d.ts +125 -0
  305. package/dist/packages/project-model/lib/schema.js +62 -0
  306. package/dist/packages/project-model/project-paths.d.ts +11 -0
  307. package/dist/packages/project-model/project-paths.js +32 -0
  308. package/dist/packages/project-model/source-config.d.ts +38 -0
  309. package/dist/packages/project-model/source-config.js +298 -0
  310. package/dist/packages/shared/file-types.d.ts +1 -0
  311. package/dist/packages/shared/file-types.js +4 -0
  312. package/dist/packages/shared/filesystem.d.ts +2 -0
  313. package/dist/packages/shared/filesystem.js +55 -0
  314. package/dist/packages/shared/index.d.ts +7 -0
  315. package/dist/packages/shared/index.js +7 -0
  316. package/dist/packages/shared/logger.d.ts +3 -0
  317. package/dist/packages/shared/logger.js +10 -0
  318. package/dist/packages/shared/naming.d.ts +1 -0
  319. package/dist/packages/shared/naming.js +8 -0
  320. package/dist/packages/shared/parse.d.ts +8 -0
  321. package/dist/packages/shared/parse.js +145 -0
  322. package/dist/packages/shared/path-guards.d.ts +2 -0
  323. package/dist/packages/shared/path-guards.js +14 -0
  324. package/dist/packages/shared/util.d.ts +3 -0
  325. package/dist/packages/shared/util.js +3 -0
  326. package/dist/packages/testing/index.d.ts +13 -0
  327. package/dist/packages/testing/index.js +10 -0
  328. package/dist/packages/testing/lib/schema.d.ts +261 -0
  329. package/dist/packages/testing/lib/schema.js +119 -0
  330. package/dist/packages/testing/test-execution.d.ts +14 -0
  331. package/dist/packages/testing/test-execution.js +525 -0
  332. package/dist/packages/testing/test-matrices.d.ts +90 -0
  333. package/dist/packages/testing/test-matrices.js +96 -0
  334. package/dist/packages/testing/test-paths.d.ts +12 -0
  335. package/dist/packages/testing/test-paths.js +59 -0
  336. package/dist/packages/testing/test-profile-presets.d.ts +57 -0
  337. package/dist/packages/testing/test-profile-presets.js +50 -0
  338. package/dist/packages/testing/test-sandbox.d.ts +11 -0
  339. package/dist/packages/testing/test-sandbox.js +105 -0
  340. package/dist/packages/testing/test-specs.d.ts +7 -0
  341. package/dist/packages/testing/test-specs.js +114 -0
  342. package/dist/packages/testing/test-targets.d.ts +5 -0
  343. package/dist/packages/testing/test-targets.js +38 -0
  344. package/dist/packages/testing/test-types.d.ts +16 -0
  345. package/dist/packages/testing/test-types.js +1 -0
  346. package/dist/packages/testing/test.d.ts +4 -0
  347. package/dist/packages/testing/test.js +3 -0
  348. package/dist/packages/workflow-authoring/index.d.ts +4 -0
  349. package/dist/packages/workflow-authoring/index.js +4 -0
  350. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.d.ts +10 -0
  351. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.js +39 -0
  352. package/dist/packages/workflow-authoring/workflow-authoring.d.ts +26 -0
  353. package/dist/packages/workflow-authoring/workflow-authoring.js +121 -0
  354. package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +16 -0
  355. package/dist/packages/workflow-authoring/workflow-edit-session.js +57 -0
  356. package/dist/packages/workflow-authoring/workflow-improvement.d.ts +23 -0
  357. package/dist/packages/workflow-authoring/workflow-improvement.js +210 -0
  358. package/dist/packages/workflow-package/builtin-compiled-workflow.d.ts +38 -0
  359. package/dist/packages/workflow-package/builtin-compiled-workflow.js +94 -0
  360. package/dist/packages/workflow-package/context-interface.d.ts +96 -0
  361. package/dist/packages/workflow-package/context-interface.js +146 -0
  362. package/dist/packages/workflow-package/index.d.ts +11 -0
  363. package/dist/packages/workflow-package/index.js +11 -0
  364. package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
  365. package/dist/packages/workflow-package/interf-workflow-package.js +389 -0
  366. package/dist/{lib/config.d.ts → packages/workflow-package/lib/package-root.d.ts} +0 -1
  367. package/dist/packages/workflow-package/lib/package-root.js +6 -0
  368. package/dist/packages/workflow-package/local-workflows.d.ts +57 -0
  369. package/dist/packages/workflow-package/local-workflows.js +424 -0
  370. package/dist/packages/workflow-package/workflow-definitions.d.ts +82 -0
  371. package/dist/packages/workflow-package/workflow-definitions.js +210 -0
  372. package/dist/packages/workflow-package/workflow-helpers.d.ts +38 -0
  373. package/dist/packages/workflow-package/workflow-helpers.js +167 -0
  374. package/dist/packages/workflow-package/workflow-review-paths.d.ts +10 -0
  375. package/dist/packages/workflow-package/workflow-review-paths.js +27 -0
  376. package/dist/packages/workflow-package/workflow-stage-policy.d.ts +5 -0
  377. package/dist/packages/workflow-package/workflow-stage-policy.js +31 -0
  378. package/dist/packages/workflow-package/workflow-stage-runner.d.ts +41 -0
  379. package/dist/packages/workflow-package/workflow-stage-runner.js +109 -0
  380. package/package.json +43 -19
  381. package/dist/commands/test.d.ts +0 -3
  382. package/dist/lib/compiled-home.d.ts +0 -5
  383. package/dist/lib/compiled-home.js +0 -32
  384. package/dist/lib/config.js +0 -9
  385. /package/dist/{commands → cli/commands}/dataset-selection.js +0 -0
  386. /package/dist/{commands → cli/commands}/default.d.ts +0 -0
  387. /package/dist/{commands → cli/commands}/doctor.d.ts +0 -0
  388. /package/dist/{commands → cli/commands}/list.d.ts +0 -0
  389. /package/dist/{commands → cli/commands}/reset.d.ts +0 -0
  390. /package/dist/{commands → cli/commands}/status.d.ts +0 -0
  391. /package/dist/{commands → cli/commands}/verify.d.ts +0 -0
@@ -1,16 +1 @@
1
- import type { WorkflowExecutor } from "./executors.js";
2
- import type { WorkflowValidationResult } from "./local-workflows.js";
3
- import { type WorkflowEditShellArtifacts } from "./workflow-edit-utils.js";
4
- export interface WorkflowEditSessionResult {
5
- status: "updated" | "no-change" | "invalid" | "executor-failed";
6
- changed: boolean;
7
- validation: WorkflowValidationResult | null;
8
- summary: string;
9
- }
10
- export declare function runWorkflowEditSession(options: {
11
- executor: WorkflowExecutor;
12
- workflowPath: string;
13
- shell: WorkflowEditShellArtifacts;
14
- prompt: string;
15
- validate: (workflowPath: string) => WorkflowValidationResult;
16
- }): Promise<WorkflowEditSessionResult>;
1
+ export * from "../packages/workflow-authoring/workflow-edit-session.js";
@@ -1,57 +1 @@
1
- import { writeFileSync } from "node:fs";
2
- import { copyDirectory, directoriesMatch } from "./workflow-edit-utils.js";
3
- export async function runWorkflowEditSession(options) {
4
- copyDirectory(options.workflowPath, options.shell.workflowBeforePath);
5
- writeFileSync(options.shell.promptLogPath, `${options.prompt}\n`);
6
- let code = 1;
7
- let executeError = null;
8
- try {
9
- code = await options.executor.execute(options.shell.rootPath, options.prompt, {
10
- eventLogPath: options.shell.eventLogPath,
11
- statusLogPath: options.shell.statusLogPath,
12
- });
13
- }
14
- catch (error) {
15
- executeError = error instanceof Error ? error.message : String(error);
16
- }
17
- copyDirectory(options.workflowPath, options.shell.workflowAfterPath);
18
- const changed = !directoriesMatch(options.shell.workflowBeforePath, options.shell.workflowAfterPath);
19
- if (executeError) {
20
- copyDirectory(options.shell.workflowBeforePath, options.workflowPath);
21
- return {
22
- status: "executor-failed",
23
- changed,
24
- validation: null,
25
- summary: `Workflow editor failed before completing: ${executeError}`,
26
- };
27
- }
28
- if (code !== 0) {
29
- copyDirectory(options.shell.workflowBeforePath, options.workflowPath);
30
- return {
31
- status: "executor-failed",
32
- changed,
33
- validation: null,
34
- summary: `Workflow editor exited with code ${code}.`,
35
- };
36
- }
37
- const validation = options.validate(options.workflowPath);
38
- if (!validation.ok) {
39
- copyDirectory(options.shell.workflowBeforePath, options.workflowPath);
40
- return {
41
- status: "invalid",
42
- changed,
43
- validation,
44
- summary: changed
45
- ? `Workflow package failed validation: ${validation.summary}`
46
- : `Workflow package is invalid without any workflow edits: ${validation.summary}`,
47
- };
48
- }
49
- return {
50
- status: changed ? "updated" : "no-change",
51
- changed,
52
- validation,
53
- summary: changed
54
- ? "Workflow package updated and validated."
55
- : "Workflow package is valid without additional edits.",
56
- };
57
- }
1
+ export * from "../packages/workflow-authoring/workflow-edit-session.js";
@@ -1,10 +1 @@
1
- export declare function copyDirectory(sourcePath: string, targetPath: string): void;
2
- export declare function directoriesMatch(leftPath: string, rightPath: string): boolean;
3
- export interface WorkflowEditShellArtifacts {
4
- rootPath: string;
5
- workflowBeforePath: string;
6
- workflowAfterPath: string;
7
- promptLogPath: string;
8
- eventLogPath: string;
9
- statusLogPath: string;
10
- }
1
+ export * from "../packages/workflow-authoring/lib/workflow-edit-utils.js";
@@ -1,39 +1 @@
1
- import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, } from "node:fs";
2
- import { join, relative } from "node:path";
3
- export function copyDirectory(sourcePath, targetPath) {
4
- rmSync(targetPath, { recursive: true, force: true });
5
- mkdirSync(targetPath, { recursive: true });
6
- cpSync(sourcePath, targetPath, { recursive: true });
7
- }
8
- function listFileSnapshot(dirPath) {
9
- const snapshot = new Map();
10
- if (!existsSync(dirPath))
11
- return snapshot;
12
- const collect = (currentPath) => {
13
- for (const entry of readdirSync(currentPath)) {
14
- const fullPath = join(currentPath, entry);
15
- const stat = statSync(fullPath);
16
- if (stat.isDirectory()) {
17
- collect(fullPath);
18
- continue;
19
- }
20
- if (!stat.isFile())
21
- continue;
22
- snapshot.set(relative(dirPath, fullPath), readFileSync(fullPath, "utf8"));
23
- }
24
- };
25
- collect(dirPath);
26
- return snapshot;
27
- }
28
- export function directoriesMatch(leftPath, rightPath) {
29
- const left = listFileSnapshot(leftPath);
30
- const right = listFileSnapshot(rightPath);
31
- if (left.size !== right.size)
32
- return false;
33
- for (const [relativePath, content] of left.entries()) {
34
- if (right.get(relativePath) !== content) {
35
- return false;
36
- }
37
- }
38
- return true;
39
- }
1
+ export * from "../packages/workflow-authoring/lib/workflow-edit-utils.js";
@@ -1,38 +1 @@
1
- import { type LocalInstructionMode, type RuntimeInstructionMode, type RuntimeStageInstructions } from "./schema.js";
2
- import { type WorkflowStageDefinition } from "./workflow-definitions.js";
3
- export interface WorkflowReporter {
4
- line?: (message: string) => void;
5
- blankLine?: () => void;
6
- }
7
- export interface WorkflowStageResult {
8
- ok: boolean;
9
- code: number;
10
- summary?: string | null;
11
- }
12
- export declare function workflowQueryDirectory(): string;
13
- export declare function workflowImproveDirectory(): string;
14
- export declare function workflowCompileStageDirectory(stageDir: string): string;
15
- export interface LocalSkillContractExtension {
16
- reads: string[];
17
- count: number;
18
- notes: string[];
19
- localMode: LocalInstructionMode | null;
20
- effectiveMode: RuntimeInstructionMode;
21
- modeSources: string[];
22
- }
23
- export declare function emptyLocalSkillContractExtension(): LocalSkillContractExtension;
24
- export declare function buildLocalSkillContractExtension(rootPath: string, directories: string[], purpose: string): LocalSkillContractExtension;
25
- export declare function buildLocalSkillContractExtensionRelativeTo(rootPath: string, relativeToPath: string, directories: string[], purpose: string): LocalSkillContractExtension;
26
- export declare function mergeLocalSkillContractExtensions(extensions: LocalSkillContractExtension[]): LocalSkillContractExtension;
27
- export declare function buildStageInstructions(stageSkillDir: string, localSkills: LocalSkillContractExtension): RuntimeStageInstructions;
28
- export declare function reportLine(reporter: WorkflowReporter | undefined, message: string): void;
29
- export declare function reportBlankLine(reporter: WorkflowReporter | undefined): void;
30
- export declare function reportValidationFailure(reporter: WorkflowReporter | undefined, summary: string, errors?: string[]): void;
31
- export declare function resolveStageAcceptance(workflowId: string, stageId: string, sourcePath?: string): WorkflowStageDefinition["acceptance"] | undefined;
32
- export declare function validateStageOutcome(_dirPath: string, validation: {
33
- ok: boolean;
34
- summary: string;
35
- }): {
36
- ok: boolean;
37
- summary: string;
38
- };
1
+ export * from "../packages/workflow-package/workflow-helpers.js";
@@ -1,167 +1 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import { join, relative, sep } from "node:path";
3
- import { listFilesRecursive } from "./filesystem.js";
4
- import { isMarkdownFile } from "./util.js";
5
- import { getCompiledWorkflow, } from "./workflow-definitions.js";
6
- import { parseJsonFrontmatter } from "./parse.js";
7
- import { workflowPackagePathForCompiled } from "./compiled-paths.js";
8
- const LOCAL_SKILL_READ_LIMIT = 50;
9
- export function workflowQueryDirectory() {
10
- return "workflow/use/query";
11
- }
12
- export function workflowImproveDirectory() {
13
- return "workflow/improve";
14
- }
15
- export function workflowCompileStageDirectory(stageDir) {
16
- return `workflow/compile/stages/${stageDir}`;
17
- }
18
- export function emptyLocalSkillContractExtension() {
19
- return {
20
- reads: [],
21
- count: 0,
22
- notes: [],
23
- localMode: null,
24
- effectiveMode: "builtin",
25
- modeSources: [],
26
- };
27
- }
28
- function readLocalInstructionMode(filePath) {
29
- try {
30
- const parsed = parseJsonFrontmatter(readFileSync(filePath, "utf8"));
31
- const mode = parsed?.frontmatter.mode;
32
- return mode === "extend" || mode === "override" ? mode : null;
33
- }
34
- catch {
35
- return null;
36
- }
37
- }
38
- function collectLocalSkillDocs(rootPath, directories) {
39
- return collectLocalSkillDocsRelativeTo(rootPath, rootPath, directories);
40
- }
41
- function collectLocalSkillDocsRelativeTo(rootPath, relativeToPath, directories) {
42
- const docs = new Map();
43
- const workflowRoot = workflowPackagePathForCompiled(rootPath);
44
- const rootReadme = join(workflowRoot, "README.md");
45
- if (existsSync(rootReadme)) {
46
- const read = projectWorkflowReadPath(rootPath, relativeToPath, rootReadme);
47
- docs.set(read, {
48
- read,
49
- absolutePath: rootReadme,
50
- mode: readLocalInstructionMode(rootReadme),
51
- });
52
- }
53
- for (const directory of directories) {
54
- const absoluteDirectory = resolveAuthoringDirectory(rootPath, directory);
55
- for (const filePath of listFilesRecursive(absoluteDirectory, isMarkdownFile)) {
56
- const read = projectWorkflowReadPath(rootPath, relativeToPath, filePath);
57
- docs.set(read, {
58
- read,
59
- absolutePath: filePath,
60
- mode: readLocalInstructionMode(filePath),
61
- });
62
- }
63
- }
64
- return Array.from(docs.values())
65
- .sort((a, b) => a.read.localeCompare(b.read))
66
- .slice(0, LOCAL_SKILL_READ_LIMIT);
67
- }
68
- function resolveAuthoringDirectory(rootPath, directory) {
69
- if (directory === "workflow") {
70
- return workflowPackagePathForCompiled(rootPath);
71
- }
72
- if (directory.startsWith(`workflow${sep}`) || directory.startsWith("workflow/")) {
73
- const relativeWorkflowPath = directory.replace(/^workflow[\\/]/, "");
74
- return join(workflowPackagePathForCompiled(rootPath), relativeWorkflowPath);
75
- }
76
- return join(rootPath, directory);
77
- }
78
- function projectWorkflowReadPath(rootPath, relativeToPath, absolutePath) {
79
- const workflowRoot = workflowPackagePathForCompiled(rootPath);
80
- const normalizedWorkflowRoot = `${workflowRoot}${sep}`;
81
- if (absolutePath === workflowRoot || absolutePath.startsWith(normalizedWorkflowRoot)) {
82
- const relativeWorkflowPath = relative(workflowRoot, absolutePath);
83
- return relative(relativeToPath, join(rootPath, "workflow", relativeWorkflowPath));
84
- }
85
- return relative(relativeToPath, absolutePath);
86
- }
87
- export function buildLocalSkillContractExtension(rootPath, directories, purpose) {
88
- const docs = collectLocalSkillDocs(rootPath, directories);
89
- return buildContractExtensionFromDocs(docs, directories, purpose);
90
- }
91
- export function buildLocalSkillContractExtensionRelativeTo(rootPath, relativeToPath, directories, purpose) {
92
- const docs = collectLocalSkillDocsRelativeTo(rootPath, relativeToPath, directories);
93
- return buildContractExtensionFromDocs(docs, directories, purpose);
94
- }
95
- function buildContractExtensionFromDocs(docs, directories, purpose) {
96
- const reads = docs.map((doc) => doc.read);
97
- const modeSources = docs.filter((doc) => doc.mode !== null).map((doc) => doc.read);
98
- const localMode = docs.some((doc) => doc.mode === "override")
99
- ? "override"
100
- : docs.some((doc) => doc.mode === "extend")
101
- ? "extend"
102
- : null;
103
- if (docs.length === 0) {
104
- return emptyLocalSkillContractExtension();
105
- }
106
- const readNotice = directories.length > 0
107
- ? `Read any local instruction docs listed under ${directories.join(", ")} before executing the core stage.`
108
- : "Read any local instruction docs listed by the stage contract before executing the core stage.";
109
- return {
110
- reads,
111
- count: reads.length,
112
- notes: [
113
- readNotice,
114
- localMode === "override"
115
- ? `${purpose} One or more local docs declare \`mode: override\`, so their workflow instructions replace Interf's bundled stage instructions for this run. They still do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`
116
- : `${purpose} These local workflow docs can refine the stage, but they do not bypass coverage proof, evidence weighting, required writes, or deterministic runtime reconciliation.`,
117
- ],
118
- localMode,
119
- effectiveMode: localMode ?? "builtin",
120
- modeSources,
121
- };
122
- }
123
- export function mergeLocalSkillContractExtensions(extensions) {
124
- const reads = Array.from(new Set(extensions.flatMap((extension) => extension.reads)));
125
- const notes = Array.from(new Set(extensions.flatMap((extension) => extension.notes)));
126
- const modeSources = Array.from(new Set(extensions.flatMap((extension) => extension.modeSources)));
127
- const localMode = extensions.some((extension) => extension.localMode === "override")
128
- ? "override"
129
- : extensions.some((extension) => extension.localMode === "extend")
130
- ? "extend"
131
- : null;
132
- return {
133
- reads,
134
- count: reads.length,
135
- notes,
136
- localMode,
137
- effectiveMode: localMode ?? "builtin",
138
- modeSources,
139
- };
140
- }
141
- export function buildStageInstructions(stageSkillDir, localSkills) {
142
- return {
143
- stage_skill_dir: stageSkillDir,
144
- effective_mode: localSkills.effectiveMode,
145
- local_mode: localSkills.localMode,
146
- local_docs: localSkills.reads,
147
- mode_sources: localSkills.modeSources,
148
- };
149
- }
150
- export function reportLine(reporter, message) {
151
- reporter?.line?.(message);
152
- }
153
- export function reportBlankLine(reporter) {
154
- reporter?.blankLine?.();
155
- }
156
- export function reportValidationFailure(reporter, summary, errors = []) {
157
- reportLine(reporter, summary);
158
- for (const error of errors) {
159
- reportLine(reporter, `- ${error}`);
160
- }
161
- }
162
- export function resolveStageAcceptance(workflowId, stageId, sourcePath) {
163
- return getCompiledWorkflow(workflowId, { sourcePath }).stages.find((stage) => stage.id === stageId)?.acceptance;
164
- }
165
- export function validateStageOutcome(_dirPath, validation) {
166
- return validation;
167
- }
1
+ export * from "../packages/workflow-package/workflow-helpers.js";
@@ -1,22 +1 @@
1
- import type { WorkflowExecutor } from "./executors.js";
2
- import { type WorkflowValidationResult } from "./local-workflows.js";
3
- import type { SourceDatasetConfig, WorkflowImprovementLoopSummary } from "./schema.js";
4
- export interface WorkflowImprovementRunResult {
5
- status: "updated" | "no-change" | "invalid" | "executor-failed";
6
- changed: boolean;
7
- validation: WorkflowValidationResult | null;
8
- summary: string;
9
- shellPath: string;
10
- loopRootPath: string;
11
- }
12
- export declare function runWorkflowImprovementLoop(options: {
13
- executor: WorkflowExecutor;
14
- compiledPath: string;
15
- workflowId: string;
16
- compiledConfig: Pick<SourceDatasetConfig, "checks">;
17
- runId: string;
18
- loopIndex: number;
19
- maxLoops: number;
20
- maxAttempts: number;
21
- previousVariations: WorkflowImprovementLoopSummary[];
22
- }): Promise<WorkflowImprovementRunResult>;
1
+ export * from "../packages/workflow-authoring/workflow-improvement.js";
@@ -1,209 +1 @@
1
- import { appendFileSync, existsSync, mkdirSync, writeFileSync, } from "node:fs";
2
- import { join, relative } from "node:path";
3
- import { createWorkflowImprovementShell, freezeWorkflowImprovementShell, } from "./agent-shells.js";
4
- import { readInterfConfig } from "./interf.js";
5
- import { validateWorkflowPackage } from "./local-workflows.js";
6
- import { readJsonFileWithSchema } from "./parse.js";
7
- import { saveCompiledInterfConfig } from "./source-config.js";
8
- import { WorkflowImprovementRunLedgerSchema, } from "./schema.js";
9
- import { resolveWorkflowImprovementReviewPaths } from "./workflow-review-paths.js";
10
- import { runWorkflowEditSession } from "./workflow-edit-session.js";
11
- import { targetTestRunsRootForCompiled, targetTestSandboxesRootForCompiled, workflowImprovementRunRoot, workflowPackagePathForCompiled, } from "./compiled-paths.js";
12
- import { WORKFLOW_SCHEMA_FILE } from "./compiled-schema.js";
13
- function toShellArtifactPath(absolutePath, sourceRoot, shellRoot) {
14
- if (!absolutePath)
15
- return null;
16
- const normalizedSourceRoot = `${sourceRoot}/`;
17
- if (absolutePath !== sourceRoot && !absolutePath.startsWith(normalizedSourceRoot)) {
18
- return null;
19
- }
20
- const relativePath = relative(sourceRoot, absolutePath);
21
- return join(shellRoot, relativePath);
22
- }
23
- function mapLoopSummaryForShell(summary, compiledPath) {
24
- const shellTestRunsRoot = "artifacts/test-runs";
25
- const shellTestSandboxesRoot = "artifacts/test-sandboxes";
26
- return {
27
- ...summary,
28
- test_run_path: toShellArtifactPath(summary.test_run_path, targetTestRunsRootForCompiled(compiledPath), shellTestRunsRoot) ?? summary.test_run_path ?? null,
29
- test_sandbox_path: toShellArtifactPath(summary.test_sandbox_path, targetTestSandboxesRootForCompiled(compiledPath), shellTestSandboxesRoot) ?? summary.test_sandbox_path ?? null,
30
- };
31
- }
32
- function buildLoopContext(options) {
33
- const previousVariations = options.previousVariations.map((summary) => mapLoopSummaryForShell(summary, options.compiledPath));
34
- const latestFailure = previousVariations.at(-1) ?? null;
35
- return {
36
- kind: "interf-workflow-improvement-loop",
37
- version: 1,
38
- generated_at: new Date().toISOString(),
39
- target_name: readInterfConfig(options.compiledPath)?.name ?? "compiled",
40
- workflow_id: options.workflowId,
41
- loop_index: options.loopIndex,
42
- max_loops: options.maxLoops,
43
- max_attempts: options.maxAttempts,
44
- review_paths: resolveWorkflowImprovementReviewPaths(options.compiledPath),
45
- truth_checks: {
46
- count: options.compiledConfig.checks.length,
47
- questions: options.compiledConfig.checks.map((check, index) => ({
48
- id: check.id ?? `check-${index + 1}`,
49
- question: check.question,
50
- })),
51
- },
52
- previous_variations: previousVariations,
53
- latest_failure: latestFailure,
54
- };
55
- }
56
- function buildWorkflowImprovementPrompt() {
57
- return [
58
- "This is an automated Interf workflow-improvement run, not an open-ended chat session.",
59
- "The user already invoked this through `interf compile` with self-improving loops enabled. Execute it now.",
60
- "Read `runtime/loop-context.json` first.",
61
- `Then read \`workflow/README.md\`, \`workflow/workflow.json\`, \`workflow/${WORKFLOW_SCHEMA_FILE}\`, and \`workflow/improve/SKILL.md\` if it exists.`,
62
- "Review preserved evidence from earlier failures under `artifacts/` before you edit the workflow.",
63
- "Treat `workflow/improve/SKILL.md` as guidance for how to improve the workflow, not as the default file to edit.",
64
- "Prefer editing the stage docs, workflow contract, or schema ownership that actually change compiled outputs.",
65
- "Edit only files under `workflow/`.",
66
- "Do not edit truth checks, test specs, raw dataset files, or generated compiled outputs.",
67
- "Keep the workflow valid for the current compiler API and workflow schema.",
68
- "Respect stage boundaries: a stage may only introduce links that resolve within that stage's declared writes or already-existing read zones.",
69
- "Do not make one stage point at files or notes that are only created later by another stage.",
70
- "Prefer small, defensible changes to workflow docs, stage docs, stage policies, or schema ownership over random churn.",
71
- "Do not narrate plans or ask follow-up questions.",
72
- "Only emit user-visible updates that begin with STATUS:, DONE:, BLOCKED:, or ERROR:.",
73
- "As soon as the workflow edits are complete, stop.",
74
- ].join("\n");
75
- }
76
- function updateCompiledWorkflowOrigin(options) {
77
- const current = readInterfConfig(options.compiledPath);
78
- if (!current)
79
- return;
80
- const nextConfig = {
81
- ...current,
82
- workflow: current.workflow ?? options.selectedWorkflowId,
83
- workflow_origin: {
84
- selected: options.selectedWorkflowId,
85
- ...(options.localDraft ? { local_draft: true } : {}),
86
- },
87
- };
88
- saveCompiledInterfConfig(options.compiledPath, nextConfig);
89
- }
90
- function workflowImprovementRunLedgerPath(compiledPath, runId) {
91
- return join(workflowImprovementRunRoot(compiledPath, runId), "run.json");
92
- }
93
- function workflowImprovementLoopHistoryPath(compiledPath, runId) {
94
- return join(workflowImprovementRunRoot(compiledPath, runId), "loop-history.jsonl");
95
- }
96
- function workflowImprovementLoopRecordPath(loopRootPath) {
97
- return join(loopRootPath, "loop.json");
98
- }
99
- function readWorkflowImprovementRunLedger(compiledPath, runId) {
100
- const ledgerPath = workflowImprovementRunLedgerPath(compiledPath, runId);
101
- if (!existsSync(ledgerPath))
102
- return null;
103
- return readJsonFileWithSchema(ledgerPath, "workflow improvement run ledger", WorkflowImprovementRunLedgerSchema);
104
- }
105
- function writeWorkflowImprovementRunLedger(compiledPath, runId, record, options) {
106
- const runRoot = workflowImprovementRunRoot(compiledPath, runId);
107
- mkdirSync(runRoot, { recursive: true });
108
- const existing = readWorkflowImprovementRunLedger(compiledPath, runId);
109
- const generatedAt = existing?.generated_at ?? new Date().toISOString();
110
- const ledger = {
111
- kind: "interf-workflow-improvement-run",
112
- version: 1,
113
- generated_at: generatedAt,
114
- updated_at: new Date().toISOString(),
115
- run_id: runId,
116
- target_name: options.targetName,
117
- workflow_id: options.workflowId,
118
- max_loops: options.maxLoops,
119
- max_attempts: options.maxAttempts,
120
- loops: [...(existing?.loops ?? []), record],
121
- };
122
- writeFileSync(workflowImprovementRunLedgerPath(compiledPath, runId), `${JSON.stringify(ledger, null, 2)}\n`);
123
- writeFileSync(workflowImprovementLoopRecordPath(record.loop_root_path), `${JSON.stringify(record, null, 2)}\n`);
124
- appendFileSync(workflowImprovementLoopHistoryPath(compiledPath, runId), `${JSON.stringify(record)}\n`);
125
- }
126
- function buildWorkflowImprovementLoopRecord(options) {
127
- return {
128
- kind: "interf-workflow-improvement-loop-record",
129
- version: 1,
130
- recorded_at: new Date().toISOString(),
131
- run_id: options.runId,
132
- loop_index: options.loopIndex,
133
- target_name: options.targetName,
134
- workflow_id: options.workflowId,
135
- result: options.result,
136
- changed: options.changed,
137
- applied: options.result === "updated",
138
- summary: options.summary,
139
- shell_path: options.shellPath,
140
- loop_root_path: options.loopRootPath,
141
- context_path: join(options.shellPath, "runtime", "loop-context.json"),
142
- workflow_before_path: options.workflowBeforePath,
143
- workflow_after_path: options.workflowAfterPath,
144
- prompt_log_path: options.promptLogPath,
145
- event_log_path: options.eventLogPath,
146
- status_log_path: options.statusLogPath,
147
- preserved_shell_manifest_path: options.preservedShellManifestPath,
148
- validation: options.validation,
149
- };
150
- }
151
- export async function runWorkflowImprovementLoop(options) {
152
- const compiledName = readInterfConfig(options.compiledPath)?.name ?? "compiled";
153
- const context = buildLoopContext(options);
154
- const shell = createWorkflowImprovementShell({
155
- compiledPath: options.compiledPath,
156
- compiledName,
157
- workflowId: options.workflowId,
158
- runId: options.runId,
159
- loopIndex: options.loopIndex,
160
- context,
161
- });
162
- const workflowRoot = workflowPackagePathForCompiled(options.compiledPath);
163
- const session = await runWorkflowEditSession({
164
- executor: options.executor,
165
- workflowPath: workflowRoot,
166
- shell,
167
- prompt: buildWorkflowImprovementPrompt(),
168
- validate: validateWorkflowPackage,
169
- });
170
- const preservedShellManifestPath = freezeWorkflowImprovementShell(shell.rootPath);
171
- writeWorkflowImprovementRunLedger(options.compiledPath, options.runId, buildWorkflowImprovementLoopRecord({
172
- targetName: compiledName,
173
- workflowId: options.workflowId,
174
- runId: options.runId,
175
- loopIndex: options.loopIndex,
176
- shellPath: shell.rootPath,
177
- loopRootPath: shell.loopRootPath,
178
- workflowBeforePath: shell.workflowBeforePath,
179
- workflowAfterPath: shell.workflowAfterPath,
180
- promptLogPath: shell.promptLogPath,
181
- eventLogPath: shell.eventLogPath,
182
- statusLogPath: shell.statusLogPath,
183
- preservedShellManifestPath,
184
- changed: session.changed,
185
- validation: session.validation,
186
- result: session.status,
187
- summary: session.summary,
188
- }), {
189
- targetName: compiledName,
190
- workflowId: options.workflowId,
191
- maxLoops: options.maxLoops,
192
- maxAttempts: options.maxAttempts,
193
- });
194
- if (session.status === "updated") {
195
- updateCompiledWorkflowOrigin({
196
- compiledPath: options.compiledPath,
197
- selectedWorkflowId: options.workflowId,
198
- localDraft: true,
199
- });
200
- }
201
- return {
202
- status: session.status,
203
- changed: session.changed,
204
- validation: session.validation,
205
- summary: session.summary,
206
- shellPath: shell.rootPath,
207
- loopRootPath: shell.loopRootPath,
208
- };
209
- }
1
+ export * from "../packages/workflow-authoring/workflow-improvement.js";
@@ -1,2 +1 @@
1
- export declare const COMPILED_ZONE_KINDS: readonly ["directory", "file", "runtime"];
2
- export type CompiledZoneKind = typeof COMPILED_ZONE_KINDS[number];
1
+ export * from "../packages/compiler/workflow-primitives.js";
@@ -1,5 +1 @@
1
- export const COMPILED_ZONE_KINDS = [
2
- "directory",
3
- "file",
4
- "runtime",
5
- ];
1
+ export * from "../packages/compiler/workflow-primitives.js";
@@ -1,10 +1 @@
1
- import type { WorkflowImprovementContext } from "./schema.js";
2
- export interface WorkflowImprovementReviewSourcePaths {
3
- compiledRuntime: string | null;
4
- testComparisons: string | null;
5
- executionShells: string | null;
6
- targetTestRuns: string | null;
7
- targetTestSandboxes: string | null;
8
- }
9
- export declare function resolveWorkflowImprovementReviewSourcePaths(compiledPath: string): WorkflowImprovementReviewSourcePaths;
10
- export declare function resolveWorkflowImprovementReviewPaths(compiledPath: string): WorkflowImprovementContext["review_paths"];
1
+ export * from "../packages/workflow-package/workflow-review-paths.js";
@@ -1,27 +1 @@
1
- import { existsSync } from "node:fs";
2
- import { testRootForCompiled, targetTestRunsRootForCompiled, targetTestSandboxesRootForCompiled, stageExecutionShellsRoot, compiledRuntimeRoot, } from "./compiled-paths.js";
3
- export function resolveWorkflowImprovementReviewSourcePaths(compiledPath) {
4
- const compiledRuntime = compiledRuntimeRoot(compiledPath);
5
- const testComparisons = testRootForCompiled(compiledPath);
6
- const executionShells = stageExecutionShellsRoot(compiledPath);
7
- const targetTestRuns = targetTestRunsRootForCompiled(compiledPath);
8
- const targetTestSandboxes = targetTestSandboxesRootForCompiled(compiledPath);
9
- return {
10
- compiledRuntime: existsSync(compiledRuntime) ? compiledRuntime : null,
11
- testComparisons: existsSync(testComparisons) ? testComparisons : null,
12
- executionShells: existsSync(executionShells) ? executionShells : null,
13
- targetTestRuns: existsSync(targetTestRuns) ? targetTestRuns : null,
14
- targetTestSandboxes: existsSync(targetTestSandboxes) ? targetTestSandboxes : null,
15
- };
16
- }
17
- export function resolveWorkflowImprovementReviewPaths(compiledPath) {
18
- const sources = resolveWorkflowImprovementReviewSourcePaths(compiledPath);
19
- return {
20
- workflow_root: "workflow",
21
- compiled_runtime: sources.compiledRuntime ? "artifacts/compiled-runtime" : null,
22
- test_comparisons: sources.testComparisons ? "artifacts/test-comparisons" : null,
23
- execution_shells: sources.executionShells ? "artifacts/execution-shells" : null,
24
- test_runs: sources.targetTestRuns ? "artifacts/test-runs" : null,
25
- test_sandboxes: sources.targetTestSandboxes ? "artifacts/test-sandboxes" : null,
26
- };
27
- }
1
+ export * from "../packages/workflow-package/workflow-review-paths.js";
@@ -1,5 +1 @@
1
- export interface StagePolicyStageLike {
2
- id: string;
3
- }
4
- export declare function normalizeStagePolicyNotes(value: unknown): Record<string, string[]> | undefined;
5
- export declare function mergeStagePolicyNotesForStages(stages: readonly StagePolicyStageLike[], baseNotes: unknown, overrideNotes: Record<string, string[]> | undefined): Record<string, string[]> | undefined;
1
+ export * from "../packages/workflow-package/workflow-stage-policy.js";