@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,84 +1 @@
1
- const INTERNAL_ACCEPTANCE_DEFAULTS = {
2
- "claude-code": {
3
- model: "claude-sonnet-4-6",
4
- effort: "low",
5
- },
6
- codex: {
7
- model: "gpt-5.4-mini",
8
- effort: "low",
9
- },
10
- };
11
- function readAgentName(agent) {
12
- if (!agent)
13
- return null;
14
- return typeof agent === "string" ? agent : agent.name;
15
- }
16
- function normalizeOptionalString(value) {
17
- if (typeof value !== "string")
18
- return null;
19
- const trimmed = value.trim();
20
- return trimmed.length > 0 ? trimmed : null;
21
- }
22
- function normalizeOptionalTimeout(value) {
23
- if (value === undefined || value === null || value === "")
24
- return null;
25
- const parsed = typeof value === "number" ? value : Number.parseInt(String(value), 10);
26
- if (!Number.isFinite(parsed) || parsed <= 0) {
27
- throw new Error(`Invalid timeout: ${String(value)}`);
28
- }
29
- return parsed;
30
- }
31
- export function addExecutionProfileOptions(yargs) {
32
- return yargs
33
- .option("model", {
34
- type: "string",
35
- describe: "Override the local executor model for this run",
36
- })
37
- .option("profile", {
38
- type: "string",
39
- describe: "Executor-specific profile override for this run",
40
- })
41
- .option("effort", {
42
- type: "string",
43
- describe: "Override the model reasoning effort for this run",
44
- })
45
- .option("timeout-ms", {
46
- type: "number",
47
- describe: "Interrupt the local executor after this much inactivity",
48
- });
49
- }
50
- export function executionProfileFromArgv(argv) {
51
- return {
52
- model: normalizeOptionalString(argv.model),
53
- profile: normalizeOptionalString(argv.profile),
54
- effort: normalizeOptionalString(argv.effort),
55
- timeoutMs: normalizeOptionalTimeout(argv.timeoutMs ?? argv["timeout-ms"]),
56
- };
57
- }
58
- export function applyInternalAcceptanceExecutionProfileDefaults(agent, overrides = {}) {
59
- const defaults = INTERNAL_ACCEPTANCE_DEFAULTS[readAgentName(agent) ?? ""];
60
- const profile = overrides.profile ?? null;
61
- const explicitEffort = overrides.effort ?? null;
62
- return {
63
- model: overrides.model ?? defaults?.model ?? null,
64
- profile,
65
- effort: explicitEffort ?? (profile ? null : defaults?.effort ?? null),
66
- timeoutMs: overrides.timeoutMs ?? null,
67
- };
68
- }
69
- export function hasWorkflowExecutionProfile(profile) {
70
- return Boolean(profile?.model ||
71
- profile?.profile ||
72
- profile?.effort ||
73
- profile?.timeoutMs);
74
- }
75
- export function formatWorkflowExecutionProfile(profile) {
76
- if (!hasWorkflowExecutionProfile(profile))
77
- return null;
78
- return JSON.stringify({
79
- ...(profile?.model ? { model: profile.model } : {}),
80
- ...(profile?.profile ? { profile: profile.profile } : {}),
81
- ...(profile?.effort ? { effort: profile.effort } : {}),
82
- ...(profile?.timeoutMs ? { timeout_ms: profile.timeoutMs } : {}),
83
- });
84
- }
1
+ export * from "../packages/agents/lib/execution-profile.js";
@@ -1,32 +1 @@
1
- import type { Agent } from "./agents.js";
2
- import type { RuntimeExecutorInfo } from "./schema.js";
3
- export type WorkflowExecutorKind = "local-agent" | "connected-provider" | "managed";
4
- export interface WorkflowExecutionProfile {
5
- model?: string | null;
6
- effort?: string | null;
7
- profile?: string | null;
8
- timeoutMs?: number | null;
9
- }
10
- export interface WorkflowExecuteOptions {
11
- eventLogPath?: string | null;
12
- statusLogPath?: string | null;
13
- completionCheck?: (() => boolean) | null;
14
- }
15
- export interface WorkflowExecutor {
16
- kind: WorkflowExecutorKind;
17
- name: string;
18
- displayName: string;
19
- command?: string | null;
20
- executionProfile?: WorkflowExecutionProfile;
21
- execute(rootPath: string, prompt: string, options?: WorkflowExecuteOptions): Promise<number>;
22
- }
23
- export type { RuntimeExecutorInfo } from "./schema.js";
24
- export declare function buildRuntimeExecutorInfo(executor: WorkflowExecutor): RuntimeExecutorInfo;
25
- export declare function createLocalAgentExecutor(agent: Agent, executionProfile?: WorkflowExecutionProfile): WorkflowExecutor;
26
- export declare function resolveLocalExecutor(options?: {
27
- preflight?: boolean;
28
- executionProfile?: WorkflowExecutionProfile;
29
- }): {
30
- executor: WorkflowExecutor | null;
31
- error?: string;
32
- };
1
+ export * from "../packages/agents/lib/executors.js";
@@ -1,43 +1 @@
1
- import { ensureAgentAutomatedRunReady, resolveAgent, spawnAgent } from "./agents.js";
2
- export function buildRuntimeExecutorInfo(executor) {
3
- return {
4
- kind: executor.kind,
5
- name: executor.name,
6
- display_name: executor.displayName,
7
- command: executor.command ?? null,
8
- model: executor.executionProfile?.model ?? null,
9
- effort: executor.executionProfile?.effort ?? null,
10
- profile: executor.executionProfile?.profile ?? null,
11
- timeout_ms: executor.executionProfile?.timeoutMs ?? null,
12
- };
13
- }
14
- export function createLocalAgentExecutor(agent, executionProfile = {}) {
15
- return {
16
- kind: "local-agent",
17
- name: agent.name,
18
- displayName: agent.displayName,
19
- command: agent.command,
20
- executionProfile,
21
- execute(rootPath, prompt, options) {
22
- return spawnAgent(agent, rootPath, prompt, {
23
- eventLogPath: options?.eventLogPath,
24
- statusLogPath: options?.statusLogPath,
25
- executionProfile,
26
- completionCheck: options?.completionCheck,
27
- });
28
- },
29
- };
30
- }
31
- export function resolveLocalExecutor(options = {}) {
32
- const { agent, error } = resolveAgent();
33
- if (!agent) {
34
- return { executor: null, error };
35
- }
36
- if (options.preflight !== false) {
37
- const readiness = ensureAgentAutomatedRunReady(agent);
38
- if (!readiness.ok) {
39
- return { executor: null, error: readiness.error };
40
- }
41
- }
42
- return { executor: createLocalAgentExecutor(agent, options.executionProfile) };
43
- }
1
+ export * from "../packages/agents/lib/executors.js";
@@ -1,2 +1 @@
1
- export declare function countFilesRecursive(dirPath: string): number;
2
- export declare function listFilesRecursive(dirPath: string, predicate?: (filePath: string) => boolean): string[];
1
+ export * from "../packages/shared/filesystem.js";
@@ -1,55 +1 @@
1
- import { existsSync, readdirSync, realpathSync, statSync } from "node:fs";
2
- import { join } from "node:path";
3
- export function countFilesRecursive(dirPath) {
4
- if (!existsSync(dirPath))
5
- return 0;
6
- let total = 0;
7
- walkFilesRecursive(dirPath, () => {
8
- total += 1;
9
- });
10
- return total;
11
- }
12
- export function listFilesRecursive(dirPath, predicate) {
13
- const files = [];
14
- if (!existsSync(dirPath))
15
- return files;
16
- walkFilesRecursive(dirPath, (filePath) => {
17
- if (!predicate || predicate(filePath)) {
18
- files.push(filePath);
19
- }
20
- });
21
- return files;
22
- }
23
- function walkFilesRecursive(dirPath, onFile, visitedDirs = new Set()) {
24
- if (!existsSync(dirPath))
25
- return;
26
- walkFilesRecursiveInternal(dirPath, onFile, visitedDirs);
27
- }
28
- function walkFilesRecursiveInternal(dirPath, onFile, visitedDirs) {
29
- let resolvedDir;
30
- try {
31
- resolvedDir = realpathSync(dirPath);
32
- }
33
- catch {
34
- return;
35
- }
36
- if (visitedDirs.has(resolvedDir))
37
- return;
38
- visitedDirs.add(resolvedDir);
39
- for (const entry of readdirSync(dirPath)) {
40
- const fullPath = join(dirPath, entry);
41
- let stat;
42
- try {
43
- stat = statSync(fullPath);
44
- }
45
- catch {
46
- continue;
47
- }
48
- if (stat.isDirectory()) {
49
- walkFilesRecursiveInternal(fullPath, onFile, visitedDirs);
50
- }
51
- else if (stat.isFile()) {
52
- onFile(fullPath);
53
- }
54
- }
55
- }
1
+ export * from "../packages/shared/filesystem.js";
@@ -1,3 +1 @@
1
- import { renderClaudeBootstrap } from "./agent-shells.js";
2
- export { renderClaudeBootstrap };
3
- export declare function refreshCompiledBootstrapGuidance(dirPath: string): boolean;
1
+ export * from "../packages/project-model/interf-bootstrap.js";
@@ -1,18 +1,3 @@
1
- import { basename } from "node:path";
2
- import { readInterfConfig } from "./interf-detect.js";
3
- import { projectCompiledQueryShell, renderClaudeBootstrap } from "./agent-shells.js";
4
- export { renderClaudeBootstrap };
5
- export function refreshCompiledBootstrapGuidance(dirPath) {
6
- const config = readInterfConfig(dirPath);
7
- if (!config)
8
- return false;
9
- const compiledName = config.name ?? basename(dirPath);
10
- const workflowId = config.workflow ?? "interf";
11
- const workflowOriginSelected = config.workflow_origin?.selected ?? workflowId;
12
- const workflowLocalDraft = config.workflow_origin?.local_draft === true;
13
- const about = typeof config.about === "string" && config.about.length > 0 ? config.about : undefined;
14
- return projectCompiledQueryShell(dirPath, compiledName, workflowId, about, {
15
- workflowOriginSelected,
16
- workflowLocalDraft,
17
- });
18
- }
1
+ // Compatibility shim for historical `src/lib/interf-bootstrap.ts` imports.
2
+ // Source of truth: `src/packages/project-model/interf-bootstrap.ts`.
3
+ export * from "../packages/project-model/interf-bootstrap.js";
@@ -1,33 +1 @@
1
- import { type InterfConfig } from "./schema.js";
2
- export type { InterfConfig } from "./schema.js";
3
- export interface ResolvedCompiled {
4
- sourcePath: string;
5
- compiledPath: string;
6
- config: InterfConfig;
7
- }
8
- export declare const INTERF_CONTAINER_NAME = "interf";
9
- export declare const WORKFLOW_CONTAINER_NAME = "workflows";
10
- export declare const TEST_CONTAINER_NAME = "tests";
11
- export declare const INTERF_CONFIG_FILE = "interf.json";
12
- export declare const WORKFLOW_PACKAGE_DIR = "workflow";
13
- export declare function readInterfConfig(dirPath: string): InterfConfig | null;
14
- export declare function hasSourceFolderInput(config: InterfConfig | null | undefined): config is InterfConfig & {
15
- source: {
16
- path: string;
17
- };
18
- };
19
- export declare function detectInterf(cwd: string): {
20
- path: string;
21
- config: InterfConfig;
22
- } | null;
23
- export declare function resolveCompiled(cwd: string): ResolvedCompiled | null;
24
- export declare function resolveSourceFolderPath(compiledPath: string, config?: InterfConfig | null): string;
25
- export declare function resolveSourceControlPath(compiledPath: string): string;
26
- export declare function resolveSourceInputPath(compiledPath: string): string;
27
- export declare function listCompiledDatasetsForSourceFolder(sourcePath: string): Array<{
28
- path: string;
29
- config: InterfConfig;
30
- }>;
31
- export declare function assertCompiledContainer(sourcePath: string): string;
32
- export declare function assertWritableTargetDir(dirPath: string, label: string): void;
33
- export declare function assertCompiledName(name: string, label: string): void;
1
+ export * from "../packages/project-model/interf-detect.js";
@@ -1,176 +1,3 @@
1
- import { existsSync, readdirSync, statSync, } from "node:fs";
2
- import { join, resolve } from "node:path";
3
- import { warnInterf } from "./logger.js";
4
- import { readJsonFileUnchecked } from "./parse.js";
5
- import { compiledCompiledPathForDataset, projectInterfRoot, } from "./project-paths.js";
6
- import { resolveSourceControlPathForCompiled, compiledInterfConfigPath, } from "./compiled-paths.js";
7
- import { InterfConfigSchema, } from "./schema.js";
8
- import { assertPathWithinRoot } from "./util.js";
9
- export const INTERF_CONTAINER_NAME = "interf";
10
- export const WORKFLOW_CONTAINER_NAME = "workflows";
11
- export const TEST_CONTAINER_NAME = "tests";
12
- export const INTERF_CONFIG_FILE = "interf.json";
13
- export const WORKFLOW_PACKAGE_DIR = "workflow";
14
- export function readInterfConfig(dirPath) {
15
- const configPath = compiledInterfConfigPath(dirPath);
16
- if (!existsSync(configPath))
17
- return null;
18
- const raw = readJsonFileUnchecked(configPath, "Interf config");
19
- if (raw === null)
20
- return null;
21
- if (!raw || typeof raw !== "object" || Array.isArray(raw))
22
- return null;
23
- if (raw.type !== "compiled") {
24
- return null;
25
- }
26
- const parsed = InterfConfigSchema.safeParse(raw);
27
- if (!parsed.success) {
28
- warnInterf(`Warning: failed to validate Interf config at ${configPath}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
29
- return null;
30
- }
31
- return parsed.data;
32
- }
33
- export function hasSourceFolderInput(config) {
34
- return typeof config?.source?.path === "string" && config.source.path.length > 0;
35
- }
36
- export function detectInterf(cwd) {
37
- const config = readInterfConfig(cwd);
38
- if (config)
39
- return { path: cwd, config };
40
- return null;
41
- }
42
- export function resolveCompiled(cwd) {
43
- const detected = detectInterf(cwd);
44
- if (!detected)
45
- return null;
46
- return {
47
- sourcePath: resolveSourceControlPath(detected.path),
48
- compiledPath: detected.path,
49
- config: detected.config,
50
- };
51
- }
52
- export function resolveSourceFolderPath(compiledPath, config = null) {
53
- const resolvedConfig = config ?? readInterfConfig(compiledPath);
54
- if (hasSourceFolderInput(resolvedConfig)) {
55
- return assertPathWithinRoot(compiledPath, resolve(compiledPath, resolvedConfig.source.path), "Compiled raw source path");
56
- }
57
- return resolve(compiledPath, "raw");
58
- }
59
- export function resolveSourceControlPath(compiledPath) {
60
- return resolveSourceControlPathForCompiled(compiledPath);
61
- }
62
- export function resolveSourceInputPath(compiledPath) {
63
- const config = readInterfConfig(compiledPath);
64
- if (typeof config?.source?.dataset_path === "string" && config.source.dataset_path.length > 0) {
65
- const projectPath = resolveSourceControlPathForCompiled(compiledPath);
66
- return assertPathWithinRoot(projectPath, resolve(compiledPath, config.source.dataset_path), "Dataset source path");
67
- }
68
- throw new Error(`Compiled dataset is missing source.dataset_path in ${compiledInterfConfigPath(compiledPath)}.`);
69
- }
70
- export function listCompiledDatasetsForSourceFolder(sourcePath) {
71
- const interfRoot = projectInterfRoot(sourcePath);
72
- if (!existsSync(interfRoot))
73
- return [];
74
- try {
75
- if (!statSync(interfRoot).isDirectory())
76
- return [];
77
- }
78
- catch (error) {
79
- warnInterf(`Warning: failed to inspect Interf container at ${interfRoot}: ${error instanceof Error ? error.message : String(error)}`);
80
- return [];
81
- }
82
- return readdirSync(interfRoot)
83
- .filter((entry) => !entry.startsWith(".") &&
84
- entry !== WORKFLOW_CONTAINER_NAME &&
85
- entry !== TEST_CONTAINER_NAME)
86
- .map((entry) => compiledCompiledPathForDataset(sourcePath, entry))
87
- .filter((compiledPath) => existsSync(compiledPath))
88
- .map((compiledPath) => {
89
- const config = readInterfConfig(compiledPath);
90
- return config ? { path: compiledPath, config } : null;
91
- })
92
- .filter((value) => value !== null);
93
- }
94
- export function assertCompiledContainer(sourcePath) {
95
- const interfRoot = projectInterfRoot(sourcePath);
96
- if (existsSync(interfRoot)) {
97
- const stat = statSync(interfRoot);
98
- if (!stat.isDirectory()) {
99
- throw new Error(`Interf container exists and is not a directory: ${interfRoot}`);
100
- }
101
- const unexpectedRootEntries = readdirSync(interfRoot).filter((entry) => {
102
- if (entry.startsWith("."))
103
- return false;
104
- const entryPath = join(interfRoot, entry);
105
- if (entry === WORKFLOW_CONTAINER_NAME || entry === TEST_CONTAINER_NAME) {
106
- try {
107
- return !statSync(entryPath).isDirectory();
108
- }
109
- catch (error) {
110
- warnInterf(`Warning: failed to inspect Interf control-plane path at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
111
- return true;
112
- }
113
- }
114
- try {
115
- if (!statSync(entryPath).isDirectory())
116
- return true;
117
- }
118
- catch (error) {
119
- warnInterf(`Warning: failed to inspect Interf entry at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
120
- return true;
121
- }
122
- return false;
123
- });
124
- if (unexpectedRootEntries.length > 0) {
125
- throw new Error(`Interf container contains unexpected entries: ${interfRoot}`);
126
- }
127
- }
128
- const containerPath = interfRoot;
129
- if (!existsSync(containerPath)) {
130
- return containerPath;
131
- }
132
- const stat = statSync(containerPath);
133
- if (!stat.isDirectory()) {
134
- throw new Error(`Interf container exists and is not a directory: ${containerPath}`);
135
- }
136
- const unexpectedEntries = readdirSync(containerPath).filter((entry) => {
137
- if (entry.startsWith("."))
138
- return false;
139
- if (entry === WORKFLOW_CONTAINER_NAME || entry === TEST_CONTAINER_NAME)
140
- return false;
141
- const entryPath = join(containerPath, entry);
142
- try {
143
- if (!statSync(entryPath).isDirectory())
144
- return true;
145
- }
146
- catch (error) {
147
- warnInterf(`Warning: failed to inspect Interf entry at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
148
- return true;
149
- }
150
- const compiledPath = compiledCompiledPathForDataset(sourcePath, entry);
151
- if (!existsSync(compiledPath)) {
152
- return false;
153
- }
154
- return !readInterfConfig(compiledPath);
155
- });
156
- if (unexpectedEntries.length > 0) {
157
- throw new Error(`Interf container contains invalid dataset entries: ${containerPath}`);
158
- }
159
- return containerPath;
160
- }
161
- export function assertWritableTargetDir(dirPath, label) {
162
- if (!existsSync(dirPath))
163
- return;
164
- const stat = statSync(dirPath);
165
- if (!stat.isDirectory()) {
166
- throw new Error(`${label} target exists and is not a directory: ${dirPath}`);
167
- }
168
- if (readdirSync(dirPath).length > 0) {
169
- throw new Error(`${label} target already exists and is not empty: ${dirPath}`);
170
- }
171
- }
172
- export function assertCompiledName(name, label) {
173
- if (!/^[a-z0-9][a-z0-9-]*$/.test(name)) {
174
- throw new Error(`${label} name must be a safe slug with lowercase letters, numbers, and dashes only: ${name}`);
175
- }
176
- }
1
+ // Compatibility shim for historical `src/lib/interf-detect.ts` imports.
2
+ // Source of truth: `src/packages/project-model/interf-detect.ts`.
3
+ export * from "../packages/project-model/interf-detect.js";
@@ -1,2 +1 @@
1
- export declare function createCompiled(name: string, sourcePath: string, workflowId?: string, about?: string, datasetPath?: string): string;
2
- export declare function defaultCompiledNameForSource(sourcePath: string): string;
1
+ export * from "../packages/project-model/interf-scaffold.js";
@@ -1,114 +1,3 @@
1
- import { mkdirSync, existsSync, writeFileSync, } from "node:fs";
2
- import { basename, join, relative, sep } from "node:path";
3
- import { getCompiledWorkflow } from "./workflow-definitions.js";
4
- import { initializeCompiledRuntimeState, } from "./state.js";
5
- import { assertCompiledContainer, assertWritableTargetDir, assertCompiledName, } from "./interf-detect.js";
6
- import { refreshCompiledBootstrapGuidance } from "./interf-bootstrap.js";
7
- import { seedCompiledWorkflowPackage } from "./interf-workflow-package.js";
8
- import { compiledCompiledPathForDataset } from "./project-paths.js";
9
- import { syncCompiledRawSnapshot } from "./compiled-raw.js";
10
- import { ensureCompiledZoneTargets, readCompiledSchemaFile } from "./compiled-schema.js";
11
- import { findSourceDatasetConfig, loadSourceFolderConfig, resolveSourceDatasetPath, saveCompiledInterfConfig, } from "./source-config.js";
12
- import { defaultControlPathForCompiled, workflowPackagePathForCompiled } from "./compiled-paths.js";
13
- const DEFAULT_INTERFIGNORE = [
14
- ".claude/",
15
- ".codex/",
16
- ".agents/",
17
- ".cursor/",
18
- ".interf/tests/",
19
- ".interf/tests/targets/sandboxes/",
20
- ".interf/runtime/",
21
- "",
22
- ].join("\n");
23
- const UNCOMPILED_COMPILED_PLACEHOLDER = "Not yet compiled. Run `interf compile` to build the compiled dataset.";
24
- function renderUncompiledCompiledFile(compiledName, relativePath, about) {
25
- return [
26
- `# ${compiledName} — ${relativePath}`,
27
- "",
28
- UNCOMPILED_COMPILED_PLACEHOLDER,
29
- ...(about ? ["", `About: ${about}`] : []),
30
- "",
31
- ].join("\n");
32
- }
33
- function compiledGitignoreEntries(compiledPath) {
34
- const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(compiledPath));
35
- const zoneEntries = (schema?.zones ?? [])
36
- .filter((zone) => zone.kind !== "runtime")
37
- .map((zone) => zone.kind === "file" ? zone.path : `${zone.path}/`);
38
- return [
39
- ...zoneEntries,
40
- ".claude/",
41
- ".codex/",
42
- ".agents/",
43
- ".cursor/",
44
- ".interf/tests/",
45
- ".interf/tests/targets/sandboxes/",
46
- ".interf/runtime/",
47
- ];
48
- }
49
- function scaffoldCompiledOutputs(compiledPath, compiledName, about) {
50
- const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(compiledPath));
51
- if (!schema) {
52
- throw new Error(`Missing workflow schema at ${workflowPackagePathForCompiled(compiledPath)}.`);
53
- }
54
- ensureCompiledZoneTargets(compiledPath, schema);
55
- for (const zone of schema.zones) {
56
- if (!zone.required || zone.kind !== "file" || zone.role !== "output")
57
- continue;
58
- const targetPath = join(compiledPath, zone.path);
59
- if (existsSync(targetPath))
60
- continue;
61
- writeFileSync(targetPath, renderUncompiledCompiledFile(compiledName, zone.path, about));
62
- }
63
- }
64
- export function createCompiled(name, sourcePath, workflowId = "interf", about, datasetPath = sourcePath) {
65
- assertCompiledName(name, "Compiled");
66
- assertCompiledContainer(sourcePath);
67
- const compiledPath = compiledCompiledPathForDataset(sourcePath, name);
68
- assertWritableTargetDir(compiledPath, "Compiled");
69
- mkdirSync(compiledPath, { recursive: true });
70
- const savedCompiled = findSourceDatasetConfig(loadSourceFolderConfig(sourcePath), name);
71
- const selectedWorkflow = getCompiledWorkflow(workflowId, { sourcePath });
72
- const resolvedAbout = about ?? savedCompiled?.about;
73
- const resolvedDatasetPath = savedCompiled
74
- ? resolveSourceDatasetPath(sourcePath, savedCompiled)
75
- : datasetPath;
76
- saveCompiledInterfConfig(compiledPath, {
77
- type: "compiled",
78
- name,
79
- ...(resolvedAbout ? { about: resolvedAbout } : {}),
80
- workflow: selectedWorkflow.id,
81
- ...(typeof savedCompiled?.max_attempts === "number"
82
- ? { max_attempts: savedCompiled.max_attempts }
83
- : {}),
84
- ...(typeof savedCompiled?.max_loops === "number"
85
- ? { max_loops: savedCompiled.max_loops }
86
- : {}),
87
- checks: savedCompiled?.checks ?? [],
88
- workflow_origin: {
89
- selected: selectedWorkflow.id,
90
- local_draft: false,
91
- },
92
- source: {
93
- path: "./raw",
94
- control_path: defaultControlPathForCompiled(compiledPath),
95
- dataset_path: relative(compiledPath, resolvedDatasetPath).split(sep).join("/") || ".",
96
- },
97
- });
98
- mkdirSync(join(compiledPath, "raw"), { recursive: true });
99
- syncCompiledRawSnapshot(compiledPath, resolvedDatasetPath);
100
- writeFileSync(join(compiledPath, ".interfignore"), DEFAULT_INTERFIGNORE);
101
- seedCompiledWorkflowPackage({
102
- compiledPath,
103
- sourcePath,
104
- workflowId: selectedWorkflow.id,
105
- });
106
- scaffoldCompiledOutputs(compiledPath, name, about);
107
- refreshCompiledBootstrapGuidance(compiledPath);
108
- writeFileSync(join(compiledPath, ".gitignore"), [...compiledGitignoreEntries(compiledPath), ""].join("\n"));
109
- initializeCompiledRuntimeState(compiledPath);
110
- return compiledPath;
111
- }
112
- export function defaultCompiledNameForSource(sourcePath) {
113
- return basename(sourcePath);
114
- }
1
+ // Compatibility shim for historical `src/lib/interf-scaffold.ts` imports.
2
+ // Source of truth: `src/packages/project-model/interf-scaffold.ts`.
3
+ export * from "../packages/project-model/interf-scaffold.js";
@@ -1,25 +1 @@
1
- import { type WorkflowDefinition } from "./workflow-definitions.js";
2
- export declare function writeCompiledWorkflowPackage(compiledPath: string, workflow: WorkflowDefinition<string>): void;
3
- export declare function writeWorkflowPackageToDir(workflowDir: string, workflow: WorkflowDefinition<string>, options?: {
4
- overwrite?: boolean;
5
- }): void;
6
- export declare function seedCompiledWorkflowPackage(options: {
7
- compiledPath: string;
8
- sourcePath: string;
9
- workflowId: string;
10
- }): void;
11
- export declare function createLocalWorkflowPackageFromTemplate(options: {
12
- sourcePath: string;
13
- baseWorkflowId: string;
14
- workflowId: string;
15
- label: string;
16
- hint: string;
17
- stagePolicyNotes: Record<string, string[]>;
18
- }): string;
19
- export declare function seedLocalWorkflowPackageFromBase(options: {
20
- sourcePath: string;
21
- baseWorkflowId: string;
22
- workflowId: string;
23
- label: string;
24
- hint: string;
25
- }): string;
1
+ export * from "../packages/workflow-package/interf-workflow-package.js";