@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
@@ -0,0 +1,363 @@
1
+ import { z } from "zod";
2
+ import { COMPILED_ZONE_KINDS, } from "../workflow-primitives.js";
3
+ const JsonRecordSchema = z.record(z.string(), z.unknown());
4
+ const COMPILED_RELATIVE_PATH_SEGMENT = /^(?!\.{1,2}$)[^/\\]+$/;
5
+ function isCompiledRelativePath(value) {
6
+ if (value.length === 0)
7
+ return false;
8
+ if (value.startsWith("/") || value.startsWith("\\"))
9
+ return false;
10
+ return value
11
+ .split(/[\\/]+/)
12
+ .every((segment) => COMPILED_RELATIVE_PATH_SEGMENT.test(segment));
13
+ }
14
+ export const RuntimeTargetTypeSchema = z.enum(["compiled"]);
15
+ export const TestTargetTypeSchema = z.enum(["compiled", "raw"]);
16
+ export const WorkflowIdPattern = /^[a-z0-9][a-z0-9-]{0,79}$/;
17
+ export const RuntimeStageSchema = z.string().regex(WorkflowIdPattern);
18
+ export const RuntimeContractTypeSchema = z.string().regex(WorkflowIdPattern);
19
+ export const WorkflowIdSchema = z.string().regex(WorkflowIdPattern);
20
+ export const WorkflowZoneIdSchema = z.string().regex(WorkflowIdPattern);
21
+ export const WorkflowCompiledZoneKindSchema = z.enum(COMPILED_ZONE_KINDS);
22
+ export const WorkflowZoneRoleSchema = z.enum(["input", "working", "output", "runtime"]);
23
+ export const CompiledStageStatusSchema = z.enum(["idle", "running", "succeeded", "failed"]);
24
+ export const SourceCompiledMaxAttemptsSchema = z.number().int().min(1).max(5);
25
+ export const SourceCompiledMaxLoopsSchema = z.number().int().min(1).max(3);
26
+ export const CompiledStageStateSchema = z.object({
27
+ contract_type: RuntimeContractTypeSchema.optional(),
28
+ status: CompiledStageStatusSchema.optional(),
29
+ started_at: z.string().nullable().optional(),
30
+ finished_at: z.string().nullable().optional(),
31
+ counts: z.record(z.string(), z.number()).optional(),
32
+ zone_counts: z.record(z.string(), z.number()).optional(),
33
+ artifacts: z.array(z.string()).optional(),
34
+ summary: z.string().nullable().optional(),
35
+ run_id: z.string().nullable().optional(),
36
+ });
37
+ export const CompiledStateSchema = z.object({
38
+ version: z.number().int().min(1),
39
+ pending: z.array(z.string()),
40
+ stages: z.record(z.string().regex(WorkflowIdPattern), CompiledStageStateSchema).optional(),
41
+ last_add: z.string().nullable().optional(),
42
+ last_compile: z.string().nullable().optional(),
43
+ warning_count: z.number().optional(),
44
+ error_count: z.number().optional(),
45
+ }).strict();
46
+ export const ViewSectionSchema = z.object({
47
+ id: z.string(),
48
+ type: z.enum(["status", "cards", "graph", "documents", "table"]),
49
+ title: z.string(),
50
+ path: z.string().optional(),
51
+ paths: z.array(z.string()).optional(),
52
+ });
53
+ export const ViewCardSchema = z.object({
54
+ id: z.string(),
55
+ label: z.string(),
56
+ metric: z.string(),
57
+ denominator_metric: z.string().optional(),
58
+ format: z.enum(["number", "fraction", "timestamp"]),
59
+ });
60
+ export const CompiledHealthSchema = z.object({
61
+ kind: z.literal("compiled-health"),
62
+ version: z.number().int().min(1),
63
+ generated_at: z.string(),
64
+ target_name: z.string(),
65
+ status: z.enum(["idle", "running", "compiled", "stale", "failed"]),
66
+ stage: z.union([
67
+ z.enum(["idle", "compiled", "failed"]),
68
+ RuntimeStageSchema,
69
+ ]),
70
+ summary: z.string(),
71
+ metrics: z.record(z.string(), z.number()),
72
+ checks: z.record(z.string(), z.boolean()),
73
+ });
74
+ export const CompiledViewSpecSchema = z.object({
75
+ kind: z.literal("compiled-view-spec"),
76
+ version: z.number().int().min(1),
77
+ generated_at: z.string(),
78
+ target_name: z.string(),
79
+ health_source: z.string(),
80
+ state_source: z.string(),
81
+ default_note: z.string().nullable(),
82
+ graph_scope: z.array(z.string()),
83
+ cards: z.array(ViewCardSchema),
84
+ sections: z.array(ViewSectionSchema),
85
+ });
86
+ export const CompiledRawSnapshotSchema = z.object({
87
+ kind: z.literal("compiled-raw-snapshot"),
88
+ version: z.literal(1),
89
+ generated_at: z.string(),
90
+ target_name: z.string(),
91
+ source_root: z.string(),
92
+ raw_root: z.string(),
93
+ source_total: z.number(),
94
+ sample_files: z.array(z.string()),
95
+ });
96
+ export const WorkflowPurposeSchema = z.object({
97
+ label: z.string().min(1),
98
+ task_hint: z.string().min(1),
99
+ }).strict();
100
+ export const WorkflowZoneSchema = z.object({
101
+ id: WorkflowZoneIdSchema,
102
+ role: WorkflowZoneRoleSchema,
103
+ path: z.string().min(1).refine(isCompiledRelativePath, {
104
+ message: "Zone paths must stay inside the compiled root",
105
+ }),
106
+ kind: WorkflowCompiledZoneKindSchema,
107
+ required: z.boolean(),
108
+ owned_by: z.array(z.string().regex(WorkflowIdPattern)),
109
+ description: z.string().min(1),
110
+ });
111
+ export const WorkflowCompiledZoneSchema = WorkflowZoneSchema;
112
+ // Persisted schema for the workflow-defined context interface that one
113
+ // compiled context must implement on disk.
114
+ export const WorkflowSchemaSchema = z.object({
115
+ kind: z.literal("workflow-schema"),
116
+ version: z.literal(1),
117
+ target_type: z.literal("compiled"),
118
+ label: z.string().min(1),
119
+ zones: z.array(WorkflowZoneSchema).min(1),
120
+ });
121
+ export const WorkflowCompiledSchemaSchema = WorkflowSchemaSchema;
122
+ export const WorkflowCompilerApiSchema = z.object({
123
+ kind: z.literal("compiled"),
124
+ version: z.literal(1),
125
+ });
126
+ export const WorkflowStageZoneAccessSchema = z.array(WorkflowZoneIdSchema).min(1);
127
+ export const ExecutionShellZoneMountSchema = z.object({
128
+ zone_id: WorkflowZoneIdSchema,
129
+ compiled_path: z.string(),
130
+ shell_root_path: z.string(),
131
+ input_mount_path: z.string().nullable(),
132
+ output_mount_path: z.string().nullable(),
133
+ });
134
+ export const ExecutionShellPathsSchema = z.object({
135
+ kind: z.literal("interf-execution-shell"),
136
+ version: z.literal(1),
137
+ workflow: WorkflowIdSchema,
138
+ stage: RuntimeStageSchema,
139
+ reads: z.array(ExecutionShellZoneMountSchema),
140
+ writes: z.array(ExecutionShellZoneMountSchema),
141
+ });
142
+ export const RuntimeExecutorInfoSchema = z.object({
143
+ kind: z.enum(["local-agent", "connected-provider", "managed"]),
144
+ name: z.string(),
145
+ display_name: z.string(),
146
+ command: z.string().nullable(),
147
+ model: z.string().nullable().optional(),
148
+ effort: z.string().nullable().optional(),
149
+ profile: z.string().nullable().optional(),
150
+ timeout_ms: z.number().nullable().optional(),
151
+ });
152
+ export const RuntimeStageInstructionsSchema = z.object({
153
+ stage_skill_dir: z.string().regex(WorkflowIdPattern),
154
+ effective_mode: z.enum(["builtin", "extend", "override"]),
155
+ local_mode: z.enum(["extend", "override"]).nullable(),
156
+ local_docs: z.array(z.string()),
157
+ mode_sources: z.array(z.string()),
158
+ }).strict();
159
+ export const RuntimeStageAcceptanceSchema = z.object({
160
+ artifacts_exist: z.array(z.string()).optional(),
161
+ stage_truthy: z.array(z.string()).optional(),
162
+ stage_equals_counts: z.record(z.string(), z.string()).optional(),
163
+ stage_at_least: z.record(z.string(), z.number()).optional(),
164
+ stage_at_least_counts: z.record(z.string(), z.string()).optional(),
165
+ zone_counts_at_least: z.record(z.string().regex(WorkflowIdPattern), z.number()).optional(),
166
+ zone_counts_at_least_counts: z.record(z.string().regex(WorkflowIdPattern), z.string()).optional(),
167
+ markdown_frontmatter_valid_zones: z.array(WorkflowZoneIdSchema).optional(),
168
+ frontmatter_required_keys_in_zones: z.record(WorkflowZoneIdSchema, z.array(z.string().min(1)).min(1)).optional(),
169
+ markdown_abstract_valid_zones: z.array(WorkflowZoneIdSchema).optional(),
170
+ wikilinks_valid_in_zones: z.array(WorkflowZoneIdSchema).optional(),
171
+ artifacts_must_not_contain: z.record(z.string(), z.array(z.string().min(1))).optional(),
172
+ }).strict();
173
+ export const RuntimeStageContractSchema = z.object({
174
+ kind: z.literal("interf-stage-contract"),
175
+ version: z.literal(1),
176
+ generated_at: z.string(),
177
+ run_id: z.string(),
178
+ target_type: RuntimeTargetTypeSchema,
179
+ target_name: z.string(),
180
+ workflow: z.object({
181
+ id: WorkflowIdSchema,
182
+ stage_index: z.number().nullable(),
183
+ stage_total: z.number(),
184
+ stages: z.array(RuntimeStageSchema),
185
+ }),
186
+ stage: RuntimeStageSchema,
187
+ stage_label: z.string(),
188
+ contract_type: RuntimeContractTypeSchema,
189
+ executor: RuntimeExecutorInfoSchema,
190
+ instructions: RuntimeStageInstructionsSchema,
191
+ counts: z.record(z.string(), z.number()),
192
+ acceptance: RuntimeStageAcceptanceSchema.optional(),
193
+ artifacts: z.object({
194
+ reads: z.array(z.string()),
195
+ writes: z.array(z.string()),
196
+ verifies: z.array(z.string()).optional(),
197
+ }),
198
+ policies: z.object({
199
+ execution_mode: z.literal("deterministic"),
200
+ status_prefixes: z.array(z.string()),
201
+ notes: z.array(z.string()),
202
+ evidence_weighting: z.object({
203
+ required_fields: z.array(z.string()),
204
+ preserve_tiers: z.boolean(),
205
+ }).optional(),
206
+ working_set: z.object({
207
+ target_context_fraction: z.number(),
208
+ strategy: z.string(),
209
+ }).optional(),
210
+ }),
211
+ });
212
+ export const RuntimeRunSchema = z.object({
213
+ kind: z.literal("interf-run"),
214
+ version: z.literal(1),
215
+ run_id: z.string(),
216
+ target_type: RuntimeTargetTypeSchema,
217
+ target_name: z.string(),
218
+ workflow: WorkflowIdSchema,
219
+ stage: RuntimeStageSchema,
220
+ stage_label: z.string(),
221
+ contract_type: RuntimeContractTypeSchema,
222
+ status: z.enum(["running", "succeeded", "failed"]),
223
+ executor: RuntimeExecutorInfoSchema,
224
+ started_at: z.string(),
225
+ updated_at: z.string(),
226
+ finished_at: z.string().nullable(),
227
+ contract_path: z.string(),
228
+ execution_path: z.string().optional(),
229
+ counts: z.record(z.string(), z.number()),
230
+ output_artifacts: z.array(z.string()),
231
+ logs: z.object({
232
+ prompt_path: z.string(),
233
+ event_stream_path: z.string(),
234
+ status_path: z.string().optional(),
235
+ }).optional(),
236
+ summary: z.string(),
237
+ exit_code: z.number().nullable(),
238
+ error: z.string().nullable(),
239
+ });
240
+ export const CompiledInventoryEntrySchema = z.object({
241
+ input_zone: WorkflowZoneIdSchema.optional(),
242
+ input_path: z.string().min(1).optional(),
243
+ output_zone: WorkflowZoneIdSchema,
244
+ output_path: z.string().min(1),
245
+ state: z.string().min(1).optional(),
246
+ metadata: JsonRecordSchema.optional(),
247
+ }).strict();
248
+ export const CompiledInventorySchema = z.object({
249
+ kind: z.literal("compiled-runtime-ledger").optional(),
250
+ version: z.number().int().min(1).optional(),
251
+ stage: RuntimeStageSchema.optional(),
252
+ entries: z.array(CompiledInventoryEntrySchema),
253
+ total: z.number().int().nonnegative(),
254
+ });
255
+ export const TestCaseExpectSchema = z.object({
256
+ must_include: z.array(z.string().min(1)).optional(),
257
+ must_include_one_of: z.array(z.array(z.string().min(1)).min(1)).optional(),
258
+ must_not_include: z.array(z.string().min(1)).optional(),
259
+ min_words: z.number().int().nonnegative().optional(),
260
+ max_words: z.number().int().nonnegative().optional(),
261
+ }).refine((value) => value.min_words === undefined ||
262
+ value.max_words === undefined ||
263
+ value.max_words >= value.min_words, {
264
+ message: "max_words must be greater than or equal to min_words",
265
+ }).refine((value) => (value.must_include?.length ?? 0) > 0 ||
266
+ (value.must_include_one_of?.length ?? 0) > 0 ||
267
+ (value.must_not_include?.length ?? 0) > 0 ||
268
+ value.min_words !== undefined ||
269
+ value.max_words !== undefined, {
270
+ message: "Test expectations must include at least one check",
271
+ });
272
+ export const WorkflowImprovementLoopSummarySchema = z.object({
273
+ variation: z.number().int().min(1),
274
+ kind: z.enum(["baseline", "edited"]),
275
+ attempts_run: z.number().int().min(1),
276
+ passed: z.boolean(),
277
+ passed_questions: z.number().int().min(0),
278
+ total_questions: z.number().int().min(0),
279
+ failed_stage: z.string().nullable().optional(),
280
+ test_run_path: z.string().nullable().optional(),
281
+ test_sandbox_path: z.string().nullable().optional(),
282
+ summary: z.string().min(1),
283
+ });
284
+ export const WorkflowImprovementContextSchema = z.object({
285
+ kind: z.literal("interf-workflow-improvement-loop"),
286
+ version: z.literal(1),
287
+ generated_at: z.string(),
288
+ target_name: z.string(),
289
+ workflow_id: WorkflowIdSchema,
290
+ loop_index: z.number().int().min(1),
291
+ max_loops: SourceCompiledMaxLoopsSchema,
292
+ max_attempts: SourceCompiledMaxAttemptsSchema,
293
+ review_paths: z.object({
294
+ workflow_root: z.string(),
295
+ compiled_runtime: z.string().nullable(),
296
+ test_comparisons: z.string().nullable(),
297
+ execution_shells: z.string().nullable(),
298
+ test_runs: z.string().nullable(),
299
+ test_sandboxes: z.string().nullable(),
300
+ }),
301
+ truth_checks: z.object({
302
+ count: z.number().int().min(0),
303
+ questions: z.array(z.object({
304
+ id: z.string(),
305
+ question: z.string(),
306
+ })),
307
+ }),
308
+ previous_variations: z.array(WorkflowImprovementLoopSummarySchema),
309
+ latest_failure: WorkflowImprovementLoopSummarySchema.nullable(),
310
+ });
311
+ export const PreservedShellTypeSchema = z.enum([
312
+ "stage-execution",
313
+ "workflow-improvement",
314
+ ]);
315
+ export const PreservedShellSnapshotSchema = z.object({
316
+ kind: z.literal("interf-preserved-shell"),
317
+ version: z.literal(1),
318
+ shell_type: PreservedShellTypeSchema,
319
+ generated_at: z.string(),
320
+ root_path: z.string(),
321
+ materialized_symlinks: z.number().int().min(0),
322
+ });
323
+ export const WorkflowPackageValidationSchema = z.object({
324
+ ok: z.boolean(),
325
+ summary: z.string(),
326
+ errors: z.array(z.string()),
327
+ counts: z.record(z.string(), z.number()),
328
+ });
329
+ export const WorkflowImprovementLoopRecordSchema = z.object({
330
+ kind: z.literal("interf-workflow-improvement-loop-record"),
331
+ version: z.literal(1),
332
+ recorded_at: z.string(),
333
+ run_id: z.string(),
334
+ loop_index: z.number().int().min(1),
335
+ target_name: z.string(),
336
+ workflow_id: WorkflowIdSchema,
337
+ result: z.enum(["updated", "no-change", "invalid", "executor-failed"]),
338
+ changed: z.boolean(),
339
+ applied: z.boolean(),
340
+ summary: z.string(),
341
+ shell_path: z.string(),
342
+ loop_root_path: z.string(),
343
+ context_path: z.string(),
344
+ workflow_before_path: z.string(),
345
+ workflow_after_path: z.string(),
346
+ prompt_log_path: z.string(),
347
+ event_log_path: z.string(),
348
+ status_log_path: z.string(),
349
+ preserved_shell_manifest_path: z.string().nullable(),
350
+ validation: WorkflowPackageValidationSchema.nullable(),
351
+ });
352
+ export const WorkflowImprovementRunLedgerSchema = z.object({
353
+ kind: z.literal("interf-workflow-improvement-run"),
354
+ version: z.literal(1),
355
+ generated_at: z.string(),
356
+ updated_at: z.string(),
357
+ run_id: z.string(),
358
+ target_name: z.string(),
359
+ workflow_id: WorkflowIdSchema,
360
+ max_loops: SourceCompiledMaxLoopsSchema,
361
+ max_attempts: SourceCompiledMaxAttemptsSchema,
362
+ loops: z.array(WorkflowImprovementLoopRecordSchema),
363
+ });
@@ -0,0 +1,49 @@
1
+ import type { InterfConfig } from "../project-model/lib/schema.js";
2
+ export interface CompiledRawSyncResult {
3
+ sourceTotal: number;
4
+ copied: number;
5
+ removed: number;
6
+ }
7
+ type RawSnapshotMaterializeMode = "copy" | "link-or-copy";
8
+ export declare function resolveCompiledRawPath(compiledPath: string, config?: {
9
+ [x: string]: unknown;
10
+ type: "compiled";
11
+ name: string;
12
+ workflow: string;
13
+ checks: {
14
+ question: string;
15
+ id?: string | undefined;
16
+ answer?: string | undefined;
17
+ expect?: {
18
+ must_include?: string[] | undefined;
19
+ must_include_one_of?: string[][] | undefined;
20
+ must_not_include?: string[] | undefined;
21
+ min_words?: number | undefined;
22
+ max_words?: number | undefined;
23
+ } | undefined;
24
+ strictness?: string | undefined;
25
+ }[];
26
+ source: {
27
+ path: string;
28
+ dataset_path: string;
29
+ control_path?: string | undefined;
30
+ };
31
+ about?: string | undefined;
32
+ max_attempts?: number | undefined;
33
+ max_loops?: number | undefined;
34
+ workflow_origin?: {
35
+ selected: string;
36
+ local_draft?: boolean | undefined;
37
+ } | undefined;
38
+ } | null): string;
39
+ export declare function syncCompiledRawSnapshot(compiledPath: string, sourcePath?: string): CompiledRawSyncResult;
40
+ export declare function ensureCompiledRawBinding(compiledPath: string): InterfConfig | null;
41
+ export declare function projectRawSnapshot(options: {
42
+ sourcePath: string;
43
+ destinationPath: string;
44
+ compiledPath: string;
45
+ mode?: RawSnapshotMaterializeMode;
46
+ prune?: boolean;
47
+ preserveTimestamps?: boolean;
48
+ }): CompiledRawSyncResult;
49
+ export {};
@@ -0,0 +1,102 @@
1
+ import { cpSync, existsSync, linkSync, mkdirSync, rmSync, statSync, } from "node:fs";
2
+ import { dirname, join, relative, resolve } from "node:path";
3
+ import { listFilesRecursive } from "../shared/filesystem.js";
4
+ import { assertPathWithinRoot } from "../shared/path-guards.js";
5
+ import { discoverSourceFiles } from "./discovery.js";
6
+ import { defaultControlPathForCompiled } from "./compiled-paths.js";
7
+ import { readInterfConfig, resolveSourceInputPath, } from "../project-model/interf-detect.js";
8
+ import { saveCompiledInterfConfig } from "../project-model/source-config.js";
9
+ export function resolveCompiledRawPath(compiledPath, config = readInterfConfig(compiledPath)) {
10
+ const configuredPath = typeof config?.source?.path === "string" && config.source.path.length > 0
11
+ ? config.source.path
12
+ : "raw";
13
+ return assertPathWithinRoot(compiledPath, resolve(compiledPath, configuredPath), "Compiled raw path");
14
+ }
15
+ export function syncCompiledRawSnapshot(compiledPath, sourcePath = resolveSourceInputPath(compiledPath)) {
16
+ ensureCompiledRawBinding(compiledPath);
17
+ const rawPath = resolveCompiledRawPath(compiledPath);
18
+ return projectRawSnapshot({
19
+ sourcePath,
20
+ destinationPath: rawPath,
21
+ compiledPath,
22
+ mode: "copy",
23
+ prune: true,
24
+ preserveTimestamps: true,
25
+ });
26
+ }
27
+ export function ensureCompiledRawBinding(compiledPath) {
28
+ const config = readInterfConfig(compiledPath);
29
+ if (!config)
30
+ return null;
31
+ if (config.source?.path === "./raw")
32
+ return config;
33
+ const nextConfig = {
34
+ ...config,
35
+ source: {
36
+ ...(config.source ?? {}),
37
+ path: "./raw",
38
+ control_path: config.source?.control_path ?? defaultControlPathForCompiled(compiledPath),
39
+ ...(config.source?.dataset_path ? { dataset_path: config.source.dataset_path } : {}),
40
+ },
41
+ };
42
+ return saveCompiledInterfConfig(compiledPath, nextConfig);
43
+ }
44
+ function filesMatch(sourcePath, targetPath) {
45
+ if (!existsSync(targetPath))
46
+ return false;
47
+ try {
48
+ const sourceStat = statSync(sourcePath);
49
+ const targetStat = statSync(targetPath);
50
+ return sourceStat.size === targetStat.size && sourceStat.mtimeMs === targetStat.mtimeMs;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ function materializeRawSnapshotFile(sourcePath, targetPath, options) {
57
+ mkdirSync(dirname(targetPath), { recursive: true });
58
+ rmSync(targetPath, { force: true });
59
+ if (options.mode === "link-or-copy") {
60
+ try {
61
+ linkSync(sourcePath, targetPath);
62
+ return;
63
+ }
64
+ catch {
65
+ // fall through to copy
66
+ }
67
+ }
68
+ cpSync(sourcePath, targetPath, { preserveTimestamps: options.preserveTimestamps });
69
+ }
70
+ export function projectRawSnapshot(options) {
71
+ const discovery = discoverSourceFiles(options.sourcePath, options.compiledPath);
72
+ const expectedFiles = new Set(discovery.sourceFiles);
73
+ mkdirSync(options.destinationPath, { recursive: true });
74
+ let removed = 0;
75
+ if (options.prune !== false) {
76
+ for (const existingPath of listFilesRecursive(options.destinationPath)) {
77
+ const relativePath = relative(options.destinationPath, existingPath);
78
+ if (expectedFiles.has(relativePath))
79
+ continue;
80
+ rmSync(existingPath, { force: true });
81
+ removed += 1;
82
+ }
83
+ }
84
+ let copied = 0;
85
+ for (const relativePath of discovery.sourceFiles) {
86
+ const sourceFilePath = join(options.sourcePath, relativePath);
87
+ const targetFilePath = join(options.destinationPath, relativePath);
88
+ if (filesMatch(sourceFilePath, targetFilePath)) {
89
+ continue;
90
+ }
91
+ materializeRawSnapshotFile(sourceFilePath, targetFilePath, {
92
+ mode: options.mode ?? "copy",
93
+ preserveTimestamps: options.preserveTimestamps ?? true,
94
+ });
95
+ copied += 1;
96
+ }
97
+ return {
98
+ sourceTotal: discovery.totalCount,
99
+ copied,
100
+ removed,
101
+ };
102
+ }
@@ -0,0 +1,2 @@
1
+ export declare function clearCompiledRuntimeDerivedArtifacts(compiledPath: string): void;
2
+ export declare function resetCompiledGeneratedState(compiledPath: string, scope?: "compile" | "all"): void;
@@ -0,0 +1,72 @@
1
+ import { existsSync, readdirSync, rmSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { readCompiledSchemaFile } from "./compiled-schema.js";
4
+ import { initializeCompiledRuntimeState } from "./state.js";
5
+ import { stageExecutionShellsRoot, testRootForCompiled, testTargetsRootForCompiled, workflowImprovementLoopsRoot, compiledQueryAcceptanceRoot, compiledRuntimeRoot, compiledRuntimeLogsRoot, workflowPackagePathForCompiled, } from "./compiled-paths.js";
6
+ function removeIfExists(path) {
7
+ if (existsSync(path)) {
8
+ rmSync(path, { recursive: true, force: true });
9
+ }
10
+ }
11
+ const COMPILE_RUNTIME_RESET_ENTRIES = [
12
+ "state.json",
13
+ "health.json",
14
+ "view-spec.json",
15
+ "inventory.json",
16
+ "run.json",
17
+ "raw-snapshot.json",
18
+ "stage-contract.json",
19
+ ];
20
+ const PRESERVED_COMPILED_ROOTS = new Set([
21
+ ".agents",
22
+ ".claude",
23
+ ".codex",
24
+ ".cursor",
25
+ ".gitignore",
26
+ ".interf",
27
+ ".interfignore",
28
+ "AGENTS.md",
29
+ "CLAUDE.md",
30
+ ]);
31
+ export function clearCompiledRuntimeDerivedArtifacts(compiledPath) {
32
+ const runtimeRoot = compiledRuntimeRoot(compiledPath);
33
+ for (const entry of COMPILE_RUNTIME_RESET_ENTRIES) {
34
+ removeIfExists(join(runtimeRoot, entry));
35
+ }
36
+ removeIfExists(compiledQueryAcceptanceRoot(compiledPath));
37
+ }
38
+ function activeCompiledInputRoots(compiledPath) {
39
+ const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(compiledPath));
40
+ const roots = new Set();
41
+ for (const zone of schema?.zones ?? []) {
42
+ if (zone.role !== "input")
43
+ continue;
44
+ const root = zone.path.split("/")[0]?.trim();
45
+ if (root)
46
+ roots.add(root);
47
+ }
48
+ return roots;
49
+ }
50
+ function resetCompiledGeneratedOutputs(compiledPath) {
51
+ const preservedInputRoots = activeCompiledInputRoots(compiledPath);
52
+ for (const entry of readdirSync(compiledPath)) {
53
+ if (PRESERVED_COMPILED_ROOTS.has(entry))
54
+ continue;
55
+ if (preservedInputRoots.has(entry))
56
+ continue;
57
+ removeIfExists(join(compiledPath, entry));
58
+ }
59
+ }
60
+ export function resetCompiledGeneratedState(compiledPath, scope = "compile") {
61
+ resetCompiledGeneratedOutputs(compiledPath);
62
+ clearCompiledRuntimeDerivedArtifacts(compiledPath);
63
+ initializeCompiledRuntimeState(compiledPath);
64
+ if (scope === "all") {
65
+ removeIfExists(stageExecutionShellsRoot(compiledPath));
66
+ removeIfExists(workflowImprovementLoopsRoot(compiledPath));
67
+ removeIfExists(compiledRuntimeLogsRoot(compiledPath));
68
+ removeIfExists(join(compiledRuntimeRoot(compiledPath), "run-history.jsonl"));
69
+ removeIfExists(testRootForCompiled(compiledPath));
70
+ removeIfExists(testTargetsRootForCompiled(compiledPath));
71
+ }
72
+ }
@@ -0,0 +1,9 @@
1
+ import { type CompiledState, type RuntimeStageAcceptance, type RuntimeStageContract } from "./lib/schema.js";
2
+ import { type RuntimeStageAcceptanceValidation } from "./runtime-types.js";
3
+ export declare function stageRecordFromState(state: CompiledState | null, stageId: string): Record<string, unknown> | null;
4
+ export declare function validateResolvedStageAcceptance(dirPath: string, options: {
5
+ stageId: string;
6
+ acceptance?: RuntimeStageAcceptance;
7
+ counts?: Record<string, number>;
8
+ }): RuntimeStageAcceptanceValidation;
9
+ export declare function validateStageContractAcceptance(dirPath: string, contract?: RuntimeStageContract | null): RuntimeStageAcceptanceValidation;