@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,28 +1 @@
1
- import { join } from "node:path";
2
- import { homedir } from "node:os";
3
- export const SHOW_AGENT_TOOL_EVENTS = process.env.INTERF_DEBUG_AGENT_TOOLS === "1";
4
- export const AGENTS = [
5
- {
6
- name: "claude-code",
7
- displayName: "Claude Code",
8
- skillsDir: join(homedir(), ".claude", "skills"),
9
- command: "claude",
10
- },
11
- {
12
- name: "codex",
13
- displayName: "Codex",
14
- skillsDir: join(homedir(), ".codex", "skills"),
15
- command: "codex",
16
- },
17
- {
18
- name: "cursor",
19
- displayName: "Cursor",
20
- skillsDir: join(homedir(), ".cursor", "skills"),
21
- command: "cursor",
22
- },
23
- ];
24
- export const CODEX_NOISE_PATTERNS = [
25
- /codex_core_skills::loader: failed to stat skills entry .*\/(interf-[^ ]+|compiled\/[^ ]+) \(symlink\): No such file or directory/,
26
- /codex_core::codex: failed to load skill .*\/gstack\/SKILL\.md: invalid description: exceeds maximum length of 1024 characters/,
27
- ];
28
- export const VISIBLE_STATUS_PREFIXES = ["STATUS:", "DONE:", "BLOCKED:", "ERROR:"];
1
+ export * from "../packages/agents/lib/constants.js";
@@ -1,7 +1 @@
1
- import type { Agent } from "./agent-types.js";
2
- export declare function detectAgents(): Agent[];
3
- export declare function supportsAutomatedRuns(agent: Agent): boolean;
4
- export declare function resolveAgent(): {
5
- agent: Agent | null;
6
- error?: string;
7
- };
1
+ export * from "../packages/agents/lib/detection.js";
@@ -1,65 +1 @@
1
- import { existsSync } from "node:fs";
2
- import { execFileSync } from "node:child_process";
3
- import { homedir } from "node:os";
4
- import { join } from "node:path";
5
- import { loadUserConfig } from "./user-config.js";
6
- import { AGENTS } from "./agent-constants.js";
7
- export function detectAgents() {
8
- return AGENTS.filter((agent) => {
9
- const dir = join(homedir(), `.${agent.name === "claude-code" ? "claude" : agent.name}`);
10
- return existsSync(dir);
11
- });
12
- }
13
- function commandExists(command) {
14
- try {
15
- execFileSync("which", [command], { stdio: "ignore" });
16
- return true;
17
- }
18
- catch {
19
- return false;
20
- }
21
- }
22
- export function supportsAutomatedRuns(agent) {
23
- return agent.name === "claude-code" || agent.name === "codex";
24
- }
25
- export function resolveAgent() {
26
- const config = loadUserConfig();
27
- if (config) {
28
- const configured = AGENTS.find((agent) => agent.command === config.agentCommand) ??
29
- AGENTS.find((agent) => agent.name === config.agent) ??
30
- AGENTS.find((agent) => agent.displayName === config.agent);
31
- if (!configured) {
32
- return {
33
- agent: null,
34
- error: `Configured agent "${config.agent}" is not supported by this Interf build. Run \`interf\` or \`interf init\` to choose a supported agent.`,
35
- };
36
- }
37
- if (!commandExists(configured.command)) {
38
- return {
39
- agent: null,
40
- error: `Configured agent "${configured.displayName}" is not available in PATH. Run \`interf\` or \`interf init\` to reconfigure.`,
41
- };
42
- }
43
- if (!supportsAutomatedRuns(configured)) {
44
- return {
45
- agent: null,
46
- error: `Configured agent "${configured.displayName}" is detected, but this Interf build can only automate Claude Code or Codex. Run \`interf\` or \`interf init\` and choose one of those agents.`,
47
- };
48
- }
49
- return { agent: configured };
50
- }
51
- const detected = detectAgents().filter((agent) => commandExists(agent.command) && supportsAutomatedRuns(agent));
52
- if (detected.length === 0) {
53
- return {
54
- agent: null,
55
- error: "No coding agent detected. Install Claude Code or Codex.",
56
- };
57
- }
58
- if (detected.length > 1) {
59
- return {
60
- agent: null,
61
- error: "Multiple coding agents detected but no default is configured. Run `interf` or `interf init` to choose which agent local runs should use.",
62
- };
63
- }
64
- return { agent: detected[0] };
65
- }
1
+ export * from "../packages/agents/lib/detection.js";
@@ -1,2 +1 @@
1
- import type { Agent, SpawnAgentOptions } from "./agent-types.js";
2
- export declare function spawnAgent(agent: Agent, dirPath: string, prompt: string, options?: SpawnAgentOptions): Promise<number>;
1
+ export * from "../packages/agents/lib/execution.js";
@@ -1,243 +1 @@
1
- import { spawn } from "node:child_process";
2
- import chalk from "chalk";
3
- import { CODEX_NOISE_PATTERNS } from "./agent-constants.js";
4
- import { buildAgentArgs, buildAgentEnv } from "./agent-args.js";
5
- import { appendAgentEventLog, appendAgentStatusLog } from "./agent-logs.js";
6
- import { displayAgentEvent, emitVisibleAgentText, summarizeAgentToolActivity, } from "./agent-render.js";
7
- import { classifyTerminalVisibleStatus, extractAgentFailureStatus, hasAgentStalled, } from "./agent-status.js";
8
- const STOP_SIGNAL_GRACE_MS = 1500;
9
- export function spawnAgent(agent, dirPath, prompt, options = {}) {
10
- return new Promise((resolve) => {
11
- const args = buildAgentArgs(agent, prompt, options.executionProfile);
12
- appendAgentEventLog(options.eventLogPath, {
13
- type: "spawn",
14
- command: agent.command,
15
- args,
16
- cwd: dirPath,
17
- });
18
- const launchLine = `Launching ${agent.displayName}...`;
19
- console.log(chalk.dim(` ${launchLine}`));
20
- appendAgentStatusLog(options.statusLogPath, launchLine);
21
- const proc = spawn(agent.command, args, {
22
- cwd: dirPath,
23
- env: buildAgentEnv(agent),
24
- stdio: ["ignore", "pipe", "pipe"],
25
- });
26
- const timeoutMs = options.executionProfile?.timeoutMs ?? null;
27
- let buffer = "";
28
- let stderrBuffer = "";
29
- let lastVisibleOutputAt = Date.now();
30
- let lastActivityAt = Date.now();
31
- let lastHeartbeatAt = 0;
32
- let sawRawOutput = false;
33
- let sawVisibleEvent = false;
34
- let timedOut = false;
35
- let completionSatisfied = false;
36
- let failureStatus = null;
37
- let terminalSignalSent = false;
38
- let lastToolActivity = null;
39
- let stopPhase = "running";
40
- let stopTimer = null;
41
- const lastVisibleText = { current: null };
42
- const clearStopTimer = () => {
43
- if (!stopTimer)
44
- return;
45
- clearTimeout(stopTimer);
46
- stopTimer = null;
47
- };
48
- const requestProcessStop = (signal = "SIGINT") => {
49
- if (proc.exitCode != null)
50
- return;
51
- if (signal === "SIGINT") {
52
- if (stopPhase !== "running")
53
- return;
54
- stopPhase = "sigint";
55
- }
56
- else if (signal === "SIGTERM") {
57
- if (stopPhase === "sigterm" || stopPhase === "sigkill")
58
- return;
59
- stopPhase = "sigterm";
60
- }
61
- else if (signal === "SIGKILL") {
62
- if (stopPhase === "sigkill")
63
- return;
64
- stopPhase = "sigkill";
65
- }
66
- appendAgentEventLog(options.eventLogPath, {
67
- type: "signal",
68
- signal,
69
- });
70
- proc.kill(signal);
71
- clearStopTimer();
72
- if (signal === "SIGKILL")
73
- return;
74
- stopTimer = setTimeout(() => {
75
- if (proc.exitCode != null)
76
- return;
77
- requestProcessStop(signal === "SIGINT" ? "SIGTERM" : "SIGKILL");
78
- }, STOP_SIGNAL_GRACE_MS);
79
- };
80
- const heartbeat = setInterval(() => {
81
- const now = Date.now();
82
- const minQuietMs = sawVisibleEvent ? 15000 : 8000;
83
- const minHeartbeatGapMs = sawVisibleEvent ? 30000 : 12000;
84
- if (now - lastVisibleOutputAt < minQuietMs)
85
- return;
86
- if (now - lastHeartbeatAt < minHeartbeatGapMs)
87
- return;
88
- lastHeartbeatAt = now;
89
- const seconds = Math.floor((now - lastVisibleOutputAt) / 1000);
90
- const activitySuffix = lastToolActivity ? ` while ${lastToolActivity}` : "";
91
- const label = sawVisibleEvent
92
- ? `${agent.displayName} is still running${activitySuffix}... (${seconds}s since last output)`
93
- : sawRawOutput
94
- ? `${agent.displayName} is active${activitySuffix}, but has not emitted visible progress yet... (${seconds}s)`
95
- : `${agent.displayName} started, but has not emitted visible progress yet... (${seconds}s)`;
96
- console.log(chalk.dim(` ${label}`));
97
- appendAgentStatusLog(options.statusLogPath, label);
98
- }, 5000);
99
- const forwardSignal = () => {
100
- requestProcessStop("SIGINT");
101
- };
102
- const maybeInterruptAfterTerminalStatus = () => {
103
- if (options.completionCheck)
104
- return;
105
- if (terminalSignalSent || !lastVisibleText.terminalStatus)
106
- return;
107
- terminalSignalSent = true;
108
- appendAgentEventLog(options.eventLogPath, {
109
- type: "terminal-status",
110
- status: lastVisibleText.terminalStatus,
111
- });
112
- const terminalKind = classifyTerminalVisibleStatus(lastVisibleText.terminalStatus);
113
- if (terminalKind === "done") {
114
- completionSatisfied = true;
115
- }
116
- else if (terminalKind === "failure") {
117
- failureStatus ||= lastVisibleText.terminalStatus;
118
- }
119
- requestProcessStop("SIGINT");
120
- };
121
- const timeout = typeof timeoutMs === "number" && timeoutMs > 0
122
- ? setInterval(() => {
123
- const now = Date.now();
124
- const idleMs = now - lastActivityAt;
125
- if (!hasAgentStalled(lastActivityAt, now, timeoutMs))
126
- return;
127
- timedOut = true;
128
- appendAgentEventLog(options.eventLogPath, {
129
- type: "stall-timeout",
130
- timeout_ms: timeoutMs,
131
- idle_ms: idleMs,
132
- });
133
- console.log(chalk.red(` ${agent.displayName} stalled for ${Math.round(idleMs / 1000)}s without agent output.`));
134
- requestProcessStop("SIGINT");
135
- }, 2000)
136
- : null;
137
- const completionPoll = options.completionCheck
138
- ? setInterval(() => {
139
- if (timedOut || completionSatisfied)
140
- return;
141
- try {
142
- if (!options.completionCheck?.())
143
- return;
144
- completionSatisfied = true;
145
- appendAgentEventLog(options.eventLogPath, {
146
- type: "completion-check-satisfied",
147
- });
148
- requestProcessStop("SIGINT");
149
- }
150
- catch {
151
- // Ignore completion check failures and let the agent continue.
152
- }
153
- }, 1000)
154
- : null;
155
- process.once("SIGINT", forwardSignal);
156
- proc.stdout?.on("data", (chunk) => {
157
- sawRawOutput = true;
158
- lastActivityAt = Date.now();
159
- buffer += chunk.toString();
160
- const lines = buffer.split("\n");
161
- buffer = lines.pop() ?? "";
162
- for (const line of lines) {
163
- if (!line.trim())
164
- continue;
165
- appendAgentEventLog(options.eventLogPath, {
166
- type: "stdout",
167
- line,
168
- });
169
- try {
170
- const event = JSON.parse(line);
171
- const toolActivity = summarizeAgentToolActivity(event);
172
- if (toolActivity) {
173
- lastToolActivity = toolActivity;
174
- }
175
- failureStatus ||= extractAgentFailureStatus(event);
176
- if (displayAgentEvent(event, options.statusLogPath, lastVisibleText)) {
177
- sawVisibleEvent = true;
178
- lastVisibleOutputAt = Date.now();
179
- }
180
- maybeInterruptAfterTerminalStatus();
181
- }
182
- catch {
183
- if (emitVisibleAgentText(line, options.statusLogPath, lastVisibleText)) {
184
- sawVisibleEvent = true;
185
- lastVisibleOutputAt = Date.now();
186
- }
187
- maybeInterruptAfterTerminalStatus();
188
- }
189
- }
190
- });
191
- proc.stderr?.on("data", (chunk) => {
192
- lastActivityAt = Date.now();
193
- stderrBuffer += chunk.toString();
194
- const lines = stderrBuffer.split("\n");
195
- stderrBuffer = lines.pop() ?? "";
196
- for (const line of lines) {
197
- if (!line.trim())
198
- continue;
199
- appendAgentEventLog(options.eventLogPath, {
200
- type: "stderr",
201
- line,
202
- });
203
- if (CODEX_NOISE_PATTERNS.some((pattern) => pattern.test(line)))
204
- continue;
205
- sawRawOutput = true;
206
- lastVisibleOutputAt = Date.now();
207
- process.stderr.write(`${line}\n`);
208
- sawVisibleEvent = true;
209
- }
210
- });
211
- proc.on("close", (code) => {
212
- clearInterval(heartbeat);
213
- if (timeout)
214
- clearInterval(timeout);
215
- if (completionPoll)
216
- clearInterval(completionPoll);
217
- clearStopTimer();
218
- process.removeListener("SIGINT", forwardSignal);
219
- const finalCode = timedOut ? 124 : failureStatus ? 1 : completionSatisfied ? 0 : (code ?? 0);
220
- appendAgentEventLog(options.eventLogPath, {
221
- type: "close",
222
- code: finalCode,
223
- failure_status: failureStatus,
224
- });
225
- resolve(finalCode);
226
- });
227
- proc.on("error", () => {
228
- clearInterval(heartbeat);
229
- if (timeout)
230
- clearInterval(timeout);
231
- if (completionPoll)
232
- clearInterval(completionPoll);
233
- clearStopTimer();
234
- process.removeListener("SIGINT", forwardSignal);
235
- appendAgentEventLog(options.eventLogPath, {
236
- type: "error",
237
- message: `Failed to start ${agent.displayName}`,
238
- });
239
- console.log(chalk.red(` Failed to start ${agent.displayName}.`));
240
- resolve(1);
241
- });
242
- });
243
- }
1
+ export * from "../packages/agents/lib/execution.js";
@@ -1,2 +1 @@
1
- export declare function appendAgentEventLog(eventLogPath: string | null | undefined, event: Record<string, unknown>): void;
2
- export declare function appendAgentStatusLog(statusLogPath: string | null | undefined, text: string): void;
1
+ export * from "../packages/agents/lib/logs.js";
@@ -1,17 +1 @@
1
- import { appendFileSync, mkdirSync } from "node:fs";
2
- import { dirname } from "node:path";
3
- export function appendAgentEventLog(eventLogPath, event) {
4
- if (!eventLogPath)
5
- return;
6
- mkdirSync(dirname(eventLogPath), { recursive: true });
7
- appendFileSync(eventLogPath, `${JSON.stringify({
8
- timestamp: new Date().toISOString(),
9
- ...event,
10
- })}\n`);
11
- }
12
- export function appendAgentStatusLog(statusLogPath, text) {
13
- if (!statusLogPath)
14
- return;
15
- mkdirSync(dirname(statusLogPath), { recursive: true });
16
- appendFileSync(statusLogPath, `${new Date().toISOString()} ${text}\n`);
17
- }
1
+ export * from "../packages/agents/lib/logs.js";
@@ -1,7 +1 @@
1
- import type { Agent, AgentAutomationReadiness, AgentPreflightOptions, AgentPreflightResult } from "./agent-types.js";
2
- export declare function buildAgentPreflightPrompt(): string;
3
- export declare function runAgentPreflight(agent: Agent, options?: AgentPreflightOptions): AgentPreflightResult;
4
- export declare function ensureAgentAutomatedRunReady(agent: Agent, options?: {
5
- force?: boolean;
6
- runPreflight?: typeof runAgentPreflight;
7
- }): AgentAutomationReadiness;
1
+ export * from "../packages/agents/lib/preflight.js";
@@ -1,77 +1 @@
1
- import { mkdtempSync, rmSync } from "node:fs";
2
- import { spawnSync } from "node:child_process";
3
- import { tmpdir } from "node:os";
4
- import { join } from "node:path";
5
- import { CODEX_NOISE_PATTERNS } from "./agent-constants.js";
6
- import { buildAgentArgs, buildAgentEnv } from "./agent-args.js";
7
- const successfulPreflightAgents = new Set();
8
- export function buildAgentPreflightPrompt() {
9
- return [
10
- "Interf doctor preflight.",
11
- 'Reply with exactly one line: "DONE: Interf doctor ok".',
12
- "Do not use tools.",
13
- "Do not read files.",
14
- "Do not write files.",
15
- ].join(" ");
16
- }
17
- export function runAgentPreflight(agent, options = {}) {
18
- const timeoutMs = options.timeoutMs ?? 60000;
19
- const spawnSyncImpl = options.spawnSyncImpl ?? spawnSync;
20
- const dirPath = mkdtempSync(join(tmpdir(), "interf-doctor-"));
21
- try {
22
- const result = spawnSyncImpl(agent.command, buildAgentArgs(agent, buildAgentPreflightPrompt()), {
23
- cwd: dirPath,
24
- encoding: "utf8",
25
- env: buildAgentEnv(agent),
26
- timeout: timeoutMs,
27
- });
28
- const stdout = typeof result.stdout === "string" ? result.stdout.trim() : "";
29
- const stderr = sanitizeAgentStderr(typeof result.stderr === "string" ? result.stderr : "");
30
- const timedOut = result.error?.name === "Error" && result.error.message.includes("timed out");
31
- if (result.error) {
32
- return {
33
- ok: false,
34
- code: typeof result.status === "number" ? result.status : null,
35
- timedOut,
36
- stdout,
37
- stderr,
38
- error: result.error.message,
39
- };
40
- }
41
- return {
42
- ok: result.status === 0,
43
- code: typeof result.status === "number" ? result.status : null,
44
- timedOut: false,
45
- stdout,
46
- stderr,
47
- error: result.status === 0 ? null : `Exited with code ${result.status ?? "unknown"}`,
48
- };
49
- }
50
- finally {
51
- rmSync(dirPath, { recursive: true, force: true });
52
- }
53
- }
54
- export function ensureAgentAutomatedRunReady(agent, options = {}) {
55
- if (!options.force && successfulPreflightAgents.has(agent.name)) {
56
- return { ok: true };
57
- }
58
- const runPreflight = options.runPreflight ?? runAgentPreflight;
59
- const result = runPreflight(agent);
60
- if (!result.ok) {
61
- const details = [result.error, result.stderr].filter(Boolean).join(" ");
62
- return {
63
- ok: false,
64
- error: `${agent.displayName} failed Interf executor preflight. Run \`interf doctor --live\` for details.${details ? ` ${details}` : ""}`,
65
- };
66
- }
67
- successfulPreflightAgents.add(agent.name);
68
- return { ok: true };
69
- }
70
- function sanitizeAgentStderr(stderr) {
71
- return stderr
72
- .split("\n")
73
- .filter((line) => line.trim().length > 0)
74
- .filter((line) => !CODEX_NOISE_PATTERNS.some((pattern) => pattern.test(line)))
75
- .join("\n")
76
- .trim();
77
- }
1
+ export * from "../packages/agents/lib/preflight.js";
@@ -1,8 +1 @@
1
- export interface VisibleTextState {
2
- current: string | null;
3
- terminated?: boolean;
4
- terminalStatus?: string | null;
5
- }
6
- export declare function emitVisibleAgentText(text: string, statusLogPath: string | null | undefined, lastVisibleText?: VisibleTextState): boolean;
7
- export declare function displayAgentEvent(event: Record<string, unknown>, statusLogPath: string | null | undefined, lastVisibleText: VisibleTextState): boolean;
8
- export declare function summarizeAgentToolActivity(event: Record<string, unknown>): string | null;
1
+ export * from "../packages/agents/lib/render.js";