@interf/compiler 0.5.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/README.md +160 -201
  2. package/builtin-workflows/interf/README.md +22 -10
  3. package/builtin-workflows/interf/compile/stages/shape/SKILL.md +8 -5
  4. package/builtin-workflows/interf/compile/stages/structure/SKILL.md +3 -0
  5. package/builtin-workflows/interf/compile/stages/summarize/SKILL.md +18 -2
  6. package/builtin-workflows/interf/improve/SKILL.md +4 -4
  7. package/builtin-workflows/interf/use/query/SKILL.md +1 -1
  8. package/builtin-workflows/interf/workflow.json +19 -5
  9. package/builtin-workflows/interf/{compiled.schema.json → workflow.schema.json} +10 -3
  10. package/dist/bin.js +2 -28
  11. package/dist/{commands → cli/commands}/check-draft.d.ts +2 -2
  12. package/dist/{commands → cli/commands}/check-draft.js +13 -13
  13. package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
  14. package/dist/{commands → cli/commands}/compile-controller.js +39 -44
  15. package/dist/cli/commands/compile.d.ts +33 -0
  16. package/dist/{commands → cli/commands}/compile.js +107 -33
  17. package/dist/{commands → cli/commands}/compiled-flow.d.ts +3 -4
  18. package/dist/{commands → cli/commands}/compiled-flow.js +9 -14
  19. package/dist/{commands → cli/commands}/create-workflow-wizard.d.ts +20 -2
  20. package/dist/cli/commands/create-workflow-wizard.js +288 -0
  21. package/dist/{commands → cli/commands}/create.d.ts +2 -2
  22. package/dist/cli/commands/create.js +166 -0
  23. package/dist/cli/commands/dataset-selection.d.ts +6 -0
  24. package/dist/cli/commands/dataset-selection.js +11 -0
  25. package/dist/{commands → cli/commands}/default.js +5 -5
  26. package/dist/{commands → cli/commands}/doctor.js +12 -13
  27. package/dist/{commands → cli/commands}/executor-flow.d.ts +2 -2
  28. package/dist/{commands → cli/commands}/executor-flow.js +17 -17
  29. package/dist/cli/commands/init.d.ts +11 -0
  30. package/dist/{commands → cli/commands}/init.js +202 -109
  31. package/dist/{commands → cli/commands}/list.js +9 -6
  32. package/dist/{commands → cli/commands}/reset.js +5 -5
  33. package/dist/{commands → cli/commands}/source-config-wizard.d.ts +10 -5
  34. package/dist/{commands → cli/commands}/source-config-wizard.js +202 -95
  35. package/dist/{commands → cli/commands}/status.js +20 -11
  36. package/dist/{commands → cli/commands}/test-flow.d.ts +13 -4
  37. package/dist/{commands → cli/commands}/test-flow.js +30 -26
  38. package/dist/cli/commands/test.d.ts +14 -0
  39. package/dist/{commands → cli/commands}/test.js +48 -40
  40. package/dist/{commands → cli/commands}/verify.js +4 -4
  41. package/dist/cli/index.d.ts +21 -0
  42. package/dist/cli/index.js +33 -0
  43. package/dist/index.d.ts +22 -11
  44. package/dist/index.js +15 -6
  45. package/dist/lib/agent-args.d.ts +1 -3
  46. package/dist/lib/agent-args.js +1 -42
  47. package/dist/lib/agent-constants.d.ts +1 -5
  48. package/dist/lib/agent-constants.js +1 -28
  49. package/dist/lib/agent-detection.d.ts +1 -7
  50. package/dist/lib/agent-detection.js +1 -65
  51. package/dist/lib/agent-execution.d.ts +1 -2
  52. package/dist/lib/agent-execution.js +1 -242
  53. package/dist/lib/agent-logs.d.ts +1 -2
  54. package/dist/lib/agent-logs.js +1 -17
  55. package/dist/lib/agent-preflight.d.ts +1 -7
  56. package/dist/lib/agent-preflight.js +1 -76
  57. package/dist/lib/agent-render.d.ts +1 -8
  58. package/dist/lib/agent-render.js +1 -218
  59. package/dist/lib/agent-shells.d.ts +1 -44
  60. package/dist/lib/agent-shells.js +1 -847
  61. package/dist/lib/agent-status.d.ts +1 -3
  62. package/dist/lib/agent-status.js +1 -58
  63. package/dist/lib/agent-types.d.ts +1 -30
  64. package/dist/lib/agent-types.js +1 -1
  65. package/dist/lib/agents.d.ts +1 -6
  66. package/dist/lib/agents.js +1 -5
  67. package/dist/lib/builtin-compiled-workflow.d.ts +1 -129
  68. package/dist/lib/builtin-compiled-workflow.js +1 -153
  69. package/dist/lib/compiled-compile.d.ts +1 -52
  70. package/dist/lib/compiled-compile.js +1 -274
  71. package/dist/lib/compiled-paths.d.ts +1 -39
  72. package/dist/lib/compiled-paths.js +3 -103
  73. package/dist/lib/compiled-raw.d.ts +1 -49
  74. package/dist/lib/compiled-raw.js +3 -102
  75. package/dist/lib/compiled-reset.d.ts +1 -1
  76. package/dist/lib/compiled-reset.js +3 -44
  77. package/dist/lib/compiled-schema.d.ts +1 -27
  78. package/dist/lib/compiled-schema.js +1 -110
  79. package/dist/lib/discovery.d.ts +1 -1
  80. package/dist/lib/discovery.js +2 -2
  81. package/dist/lib/execution-profile.d.ts +1 -17
  82. package/dist/lib/execution-profile.js +1 -84
  83. package/dist/lib/executors.d.ts +1 -32
  84. package/dist/lib/executors.js +1 -43
  85. package/dist/lib/interf-bootstrap.d.ts +1 -3
  86. package/dist/lib/interf-bootstrap.js +3 -18
  87. package/dist/lib/interf-detect.d.ts +1 -33
  88. package/dist/lib/interf-detect.js +3 -176
  89. package/dist/lib/interf-scaffold.d.ts +1 -2
  90. package/dist/lib/interf-scaffold.js +3 -121
  91. package/dist/lib/interf-workflow-package.d.ts +1 -20
  92. package/dist/lib/interf-workflow-package.js +1 -276
  93. package/dist/lib/interf.d.ts +1 -5
  94. package/dist/lib/interf.js +3 -4
  95. package/dist/lib/local-workflows.d.ts +1 -53
  96. package/dist/lib/local-workflows.js +1 -399
  97. package/dist/lib/package-root.d.ts +1 -0
  98. package/dist/lib/package-root.js +1 -0
  99. package/dist/lib/project-paths.d.ts +1 -11
  100. package/dist/lib/project-paths.js +3 -32
  101. package/dist/lib/runtime-acceptance.d.ts +1 -9
  102. package/dist/lib/runtime-acceptance.js +1 -257
  103. package/dist/lib/runtime-contracts.d.ts +1 -2
  104. package/dist/lib/runtime-contracts.js +1 -47
  105. package/dist/lib/runtime-inventory.d.ts +1 -7
  106. package/dist/lib/runtime-inventory.js +1 -29
  107. package/dist/lib/runtime-paths.d.ts +1 -7
  108. package/dist/lib/runtime-paths.js +1 -23
  109. package/dist/lib/runtime-prompt.d.ts +1 -2
  110. package/dist/lib/runtime-prompt.js +1 -46
  111. package/dist/lib/runtime-reconcile.d.ts +1 -2
  112. package/dist/lib/runtime-reconcile.js +1 -156
  113. package/dist/lib/runtime-runs.d.ts +1 -11
  114. package/dist/lib/runtime-runs.js +1 -250
  115. package/dist/lib/runtime-types.d.ts +1 -43
  116. package/dist/lib/runtime-types.js +1 -1
  117. package/dist/lib/runtime.d.ts +1 -6
  118. package/dist/lib/runtime.js +1 -5
  119. package/dist/lib/schema.d.ts +4 -1016
  120. package/dist/lib/schema.js +6 -539
  121. package/dist/lib/source-config.d.ts +1 -39
  122. package/dist/lib/source-config.js +3 -293
  123. package/dist/lib/state-artifacts.d.ts +1 -8
  124. package/dist/lib/state-artifacts.js +1 -13
  125. package/dist/lib/state-health.d.ts +1 -4
  126. package/dist/lib/state-health.js +1 -132
  127. package/dist/lib/state-io.d.ts +1 -10
  128. package/dist/lib/state-io.js +1 -76
  129. package/dist/lib/state-paths.d.ts +1 -4
  130. package/dist/lib/state-paths.js +1 -13
  131. package/dist/lib/state-view.d.ts +1 -4
  132. package/dist/lib/state-view.js +1 -103
  133. package/dist/lib/state.d.ts +1 -6
  134. package/dist/lib/state.js +1 -5
  135. package/dist/lib/test-execution.d.ts +1 -14
  136. package/dist/lib/test-execution.js +3 -525
  137. package/dist/lib/test-matrices.d.ts +1 -90
  138. package/dist/lib/test-matrices.js +3 -96
  139. package/dist/lib/test-paths.d.ts +1 -12
  140. package/dist/lib/test-paths.js +3 -59
  141. package/dist/lib/test-profile-presets.d.ts +1 -57
  142. package/dist/lib/test-profile-presets.js +3 -50
  143. package/dist/lib/test-sandbox.d.ts +1 -11
  144. package/dist/lib/test-sandbox.js +3 -105
  145. package/dist/lib/test-specs.d.ts +1 -7
  146. package/dist/lib/test-specs.js +3 -114
  147. package/dist/lib/test-targets.d.ts +1 -5
  148. package/dist/lib/test-targets.js +3 -38
  149. package/dist/lib/test-types.d.ts +1 -17
  150. package/dist/lib/test-types.js +3 -1
  151. package/dist/lib/test.d.ts +1 -4
  152. package/dist/lib/test.js +3 -3
  153. package/dist/lib/validate-compiled.d.ts +1 -27
  154. package/dist/lib/validate-compiled.js +1 -238
  155. package/dist/lib/validate-helpers.d.ts +1 -12
  156. package/dist/lib/validate-helpers.js +1 -41
  157. package/dist/lib/validate.d.ts +1 -19
  158. package/dist/lib/validate.js +1 -256
  159. package/dist/lib/workflow-authoring.d.ts +1 -0
  160. package/dist/lib/workflow-authoring.js +1 -0
  161. package/dist/lib/workflow-definitions.d.ts +1 -68
  162. package/dist/lib/workflow-definitions.js +1 -206
  163. package/dist/lib/workflow-edit-session.d.ts +1 -0
  164. package/dist/lib/workflow-edit-session.js +1 -0
  165. package/dist/lib/workflow-edit-utils.d.ts +1 -0
  166. package/dist/lib/workflow-edit-utils.js +1 -0
  167. package/dist/lib/workflow-helpers.d.ts +1 -38
  168. package/dist/lib/workflow-helpers.js +1 -167
  169. package/dist/lib/workflow-improvement.d.ts +1 -22
  170. package/dist/lib/workflow-improvement.js +1 -396
  171. package/dist/lib/workflow-primitives.d.ts +1 -2
  172. package/dist/lib/workflow-primitives.js +1 -5
  173. package/dist/lib/workflow-review-paths.d.ts +1 -10
  174. package/dist/lib/workflow-review-paths.js +1 -27
  175. package/dist/lib/workflow-stage-policy.d.ts +1 -0
  176. package/dist/lib/workflow-stage-policy.js +1 -0
  177. package/dist/lib/workflow-stage-runner.d.ts +1 -41
  178. package/dist/lib/workflow-stage-runner.js +1 -109
  179. package/dist/lib/workflows.d.ts +1 -15
  180. package/dist/lib/workflows.js +1 -31
  181. package/dist/packages/agents/index.d.ts +17 -0
  182. package/dist/packages/agents/index.js +15 -0
  183. package/dist/packages/agents/lib/agents.d.ts +6 -0
  184. package/dist/packages/agents/lib/agents.js +5 -0
  185. package/dist/packages/agents/lib/args.d.ts +4 -0
  186. package/dist/packages/agents/lib/args.js +52 -0
  187. package/dist/packages/agents/lib/constants.d.ts +5 -0
  188. package/dist/packages/agents/lib/constants.js +28 -0
  189. package/dist/packages/agents/lib/detection.d.ts +7 -0
  190. package/dist/packages/agents/lib/detection.js +65 -0
  191. package/dist/packages/agents/lib/execution-profile.d.ts +17 -0
  192. package/dist/packages/agents/lib/execution-profile.js +84 -0
  193. package/dist/packages/agents/lib/execution.d.ts +2 -0
  194. package/dist/packages/agents/lib/execution.js +243 -0
  195. package/dist/packages/agents/lib/executors.d.ts +32 -0
  196. package/dist/packages/agents/lib/executors.js +45 -0
  197. package/dist/packages/agents/lib/logs.d.ts +2 -0
  198. package/dist/packages/agents/lib/logs.js +17 -0
  199. package/dist/packages/agents/lib/preflight.d.ts +7 -0
  200. package/dist/packages/agents/lib/preflight.js +77 -0
  201. package/dist/packages/agents/lib/render.d.ts +8 -0
  202. package/dist/packages/agents/lib/render.js +218 -0
  203. package/dist/packages/agents/lib/schema.d.ts +8 -0
  204. package/dist/packages/agents/lib/schema.js +7 -0
  205. package/dist/packages/agents/lib/shells.d.ts +69 -0
  206. package/dist/packages/agents/lib/shells.js +1021 -0
  207. package/dist/packages/agents/lib/status.d.ts +3 -0
  208. package/dist/packages/agents/lib/status.js +58 -0
  209. package/dist/packages/agents/lib/types.d.ts +30 -0
  210. package/dist/packages/agents/lib/types.js +1 -0
  211. package/dist/{lib → packages/agents/lib}/user-config.d.ts +1 -0
  212. package/dist/{lib → packages/agents/lib}/user-config.js +3 -2
  213. package/dist/packages/compiler/compiled-compile.d.ts +48 -0
  214. package/dist/packages/compiler/compiled-compile.js +256 -0
  215. package/dist/packages/compiler/compiled-schema.d.ts +31 -0
  216. package/dist/packages/compiler/compiled-schema.js +141 -0
  217. package/dist/packages/compiler/index.d.ts +24 -0
  218. package/dist/packages/compiler/index.js +23 -0
  219. package/dist/packages/compiler/lib/schema.d.ts +684 -0
  220. package/dist/packages/compiler/lib/schema.js +361 -0
  221. package/dist/packages/compiler/runtime-acceptance.d.ts +9 -0
  222. package/dist/packages/compiler/runtime-acceptance.js +269 -0
  223. package/dist/packages/compiler/runtime-contracts.d.ts +2 -0
  224. package/dist/packages/compiler/runtime-contracts.js +48 -0
  225. package/dist/packages/compiler/runtime-inventory.d.ts +7 -0
  226. package/dist/packages/compiler/runtime-inventory.js +29 -0
  227. package/dist/packages/compiler/runtime-paths.d.ts +8 -0
  228. package/dist/packages/compiler/runtime-paths.js +26 -0
  229. package/dist/packages/compiler/runtime-prompt.d.ts +2 -0
  230. package/dist/packages/compiler/runtime-prompt.js +48 -0
  231. package/dist/packages/compiler/runtime-reconcile.d.ts +2 -0
  232. package/dist/packages/compiler/runtime-reconcile.js +193 -0
  233. package/dist/packages/compiler/runtime-runs.d.ts +11 -0
  234. package/dist/packages/compiler/runtime-runs.js +262 -0
  235. package/dist/packages/compiler/runtime-types.d.ts +43 -0
  236. package/dist/packages/compiler/runtime-types.js +1 -0
  237. package/dist/packages/compiler/runtime.d.ts +6 -0
  238. package/dist/packages/compiler/runtime.js +5 -0
  239. package/dist/packages/compiler/state-artifacts.d.ts +8 -0
  240. package/dist/packages/compiler/state-artifacts.js +13 -0
  241. package/dist/packages/compiler/state-health.d.ts +4 -0
  242. package/dist/packages/compiler/state-health.js +132 -0
  243. package/dist/packages/compiler/state-io.d.ts +10 -0
  244. package/dist/packages/compiler/state-io.js +76 -0
  245. package/dist/packages/compiler/state-paths.d.ts +4 -0
  246. package/dist/packages/compiler/state-paths.js +13 -0
  247. package/dist/packages/compiler/state-view.d.ts +4 -0
  248. package/dist/packages/compiler/state-view.js +103 -0
  249. package/dist/packages/compiler/state.d.ts +7 -0
  250. package/dist/packages/compiler/state.js +12 -0
  251. package/dist/packages/compiler/validate-compiled.d.ts +27 -0
  252. package/dist/packages/compiler/validate-compiled.js +241 -0
  253. package/dist/packages/compiler/validate-helpers.d.ts +12 -0
  254. package/dist/packages/compiler/validate-helpers.js +41 -0
  255. package/dist/packages/compiler/validate.d.ts +21 -0
  256. package/dist/packages/compiler/validate.js +249 -0
  257. package/dist/packages/compiler/workflow-primitives.d.ts +2 -0
  258. package/dist/packages/compiler/workflow-primitives.js +5 -0
  259. package/dist/packages/compiler/workflows.d.ts +15 -0
  260. package/dist/packages/compiler/workflows.js +31 -0
  261. package/dist/packages/project-model/compiled-paths.d.ts +40 -0
  262. package/dist/packages/project-model/compiled-paths.js +106 -0
  263. package/dist/packages/project-model/compiled-raw.d.ts +49 -0
  264. package/dist/packages/project-model/compiled-raw.js +102 -0
  265. package/dist/packages/project-model/compiled-reset.d.ts +2 -0
  266. package/dist/packages/project-model/compiled-reset.js +72 -0
  267. package/dist/packages/project-model/index.d.ts +11 -0
  268. package/dist/packages/project-model/index.js +10 -0
  269. package/dist/packages/project-model/interf-bootstrap.d.ts +3 -0
  270. package/dist/packages/project-model/interf-bootstrap.js +18 -0
  271. package/dist/packages/project-model/interf-detect.d.ts +33 -0
  272. package/dist/packages/project-model/interf-detect.js +176 -0
  273. package/dist/packages/project-model/interf-scaffold.d.ts +2 -0
  274. package/dist/packages/project-model/interf-scaffold.js +124 -0
  275. package/dist/packages/project-model/interf.d.ts +5 -0
  276. package/dist/packages/project-model/interf.js +4 -0
  277. package/dist/packages/project-model/lib/schema.d.ts +125 -0
  278. package/dist/packages/project-model/lib/schema.js +62 -0
  279. package/dist/packages/project-model/project-paths.d.ts +11 -0
  280. package/dist/packages/project-model/project-paths.js +32 -0
  281. package/dist/packages/project-model/source-config.d.ts +38 -0
  282. package/dist/packages/project-model/source-config.js +297 -0
  283. package/dist/packages/testing/index.d.ts +13 -0
  284. package/dist/packages/testing/index.js +10 -0
  285. package/dist/packages/testing/lib/schema.d.ts +261 -0
  286. package/dist/packages/testing/lib/schema.js +119 -0
  287. package/dist/packages/testing/test-execution.d.ts +14 -0
  288. package/dist/packages/testing/test-execution.js +525 -0
  289. package/dist/packages/testing/test-matrices.d.ts +90 -0
  290. package/dist/packages/testing/test-matrices.js +96 -0
  291. package/dist/packages/testing/test-paths.d.ts +12 -0
  292. package/dist/packages/testing/test-paths.js +59 -0
  293. package/dist/packages/testing/test-profile-presets.d.ts +57 -0
  294. package/dist/packages/testing/test-profile-presets.js +50 -0
  295. package/dist/packages/testing/test-sandbox.d.ts +11 -0
  296. package/dist/packages/testing/test-sandbox.js +105 -0
  297. package/dist/packages/testing/test-specs.d.ts +7 -0
  298. package/dist/packages/testing/test-specs.js +114 -0
  299. package/dist/packages/testing/test-targets.d.ts +5 -0
  300. package/dist/packages/testing/test-targets.js +38 -0
  301. package/dist/packages/testing/test-types.d.ts +16 -0
  302. package/dist/packages/testing/test-types.js +1 -0
  303. package/dist/packages/testing/test.d.ts +4 -0
  304. package/dist/packages/testing/test.js +3 -0
  305. package/dist/packages/workflow-authoring/index.d.ts +4 -0
  306. package/dist/packages/workflow-authoring/index.js +4 -0
  307. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.d.ts +10 -0
  308. package/dist/packages/workflow-authoring/lib/workflow-edit-utils.js +39 -0
  309. package/dist/packages/workflow-authoring/workflow-authoring.d.ts +26 -0
  310. package/dist/packages/workflow-authoring/workflow-authoring.js +120 -0
  311. package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +16 -0
  312. package/dist/packages/workflow-authoring/workflow-edit-session.js +57 -0
  313. package/dist/packages/workflow-authoring/workflow-improvement.d.ts +23 -0
  314. package/dist/packages/workflow-authoring/workflow-improvement.js +209 -0
  315. package/dist/packages/workflow-package/builtin-compiled-workflow.d.ts +38 -0
  316. package/dist/packages/workflow-package/builtin-compiled-workflow.js +94 -0
  317. package/dist/packages/workflow-package/index.d.ts +9 -0
  318. package/dist/packages/workflow-package/index.js +9 -0
  319. package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
  320. package/dist/packages/workflow-package/interf-workflow-package.js +342 -0
  321. package/dist/{lib/config.d.ts → packages/workflow-package/lib/package-root.d.ts} +0 -1
  322. package/dist/packages/workflow-package/lib/package-root.js +6 -0
  323. package/dist/packages/workflow-package/local-workflows.d.ts +54 -0
  324. package/dist/packages/workflow-package/local-workflows.js +422 -0
  325. package/dist/packages/workflow-package/workflow-definitions.d.ts +78 -0
  326. package/dist/packages/workflow-package/workflow-definitions.js +203 -0
  327. package/dist/packages/workflow-package/workflow-helpers.d.ts +38 -0
  328. package/dist/packages/workflow-package/workflow-helpers.js +167 -0
  329. package/dist/packages/workflow-package/workflow-review-paths.d.ts +10 -0
  330. package/dist/packages/workflow-package/workflow-review-paths.js +27 -0
  331. package/dist/packages/workflow-package/workflow-stage-policy.d.ts +5 -0
  332. package/dist/packages/workflow-package/workflow-stage-policy.js +31 -0
  333. package/dist/packages/workflow-package/workflow-stage-runner.d.ts +41 -0
  334. package/dist/packages/workflow-package/workflow-stage-runner.js +109 -0
  335. package/package.json +44 -21
  336. package/dist/commands/compile.d.ts +0 -15
  337. package/dist/commands/create-workflow-wizard.js +0 -125
  338. package/dist/commands/create.js +0 -162
  339. package/dist/commands/init.d.ts +0 -3
  340. package/dist/commands/test.d.ts +0 -9
  341. package/dist/lib/compiled-home.d.ts +0 -5
  342. package/dist/lib/compiled-home.js +0 -32
  343. package/dist/lib/config.js +0 -9
  344. package/dist/lib/obsidian.d.ts +0 -1
  345. package/dist/lib/obsidian.js +0 -15
  346. package/dist/lib/summarize-plan.d.ts +0 -17
  347. package/dist/lib/summarize-plan.js +0 -120
  348. /package/dist/{commands → cli/commands}/default.d.ts +0 -0
  349. /package/dist/{commands → cli/commands}/doctor.d.ts +0 -0
  350. /package/dist/{commands → cli/commands}/list.d.ts +0 -0
  351. /package/dist/{commands → cli/commands}/reset.d.ts +0 -0
  352. /package/dist/{commands → cli/commands}/status.d.ts +0 -0
  353. /package/dist/{commands → cli/commands}/verify.d.ts +0 -0
@@ -0,0 +1,9 @@
1
+ export * as builtinWorkflow from "./builtin-compiled-workflow.js";
2
+ export * as localWorkflows from "./local-workflows.js";
3
+ export * as packageWriters from "./interf-workflow-package.js";
4
+ export * as workflowDefinitions from "./workflow-definitions.js";
5
+ export * as workflowHelpers from "./workflow-helpers.js";
6
+ export * as workflowStagePolicy from "./workflow-stage-policy.js";
7
+ export * as workflowStageRunner from "./workflow-stage-runner.js";
8
+ export * as workflowReviewPaths from "./workflow-review-paths.js";
9
+ export * as packageRoot from "./lib/package-root.js";
@@ -0,0 +1,9 @@
1
+ export * as builtinWorkflow from "./builtin-compiled-workflow.js";
2
+ export * as localWorkflows from "./local-workflows.js";
3
+ export * as packageWriters from "./interf-workflow-package.js";
4
+ export * as workflowDefinitions from "./workflow-definitions.js";
5
+ export * as workflowHelpers from "./workflow-helpers.js";
6
+ export * as workflowStagePolicy from "./workflow-stage-policy.js";
7
+ export * as workflowStageRunner from "./workflow-stage-runner.js";
8
+ export * as workflowReviewPaths from "./workflow-review-paths.js";
9
+ export * as packageRoot from "./lib/package-root.js";
@@ -0,0 +1,25 @@
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;
@@ -0,0 +1,342 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { renderCompiledQuerySkill } from "../agents/lib/shells.js";
4
+ import { WORKFLOW_SCHEMA_FILE, writeWorkflowSchemaDocument, writeWorkflowSchemaFile, } from "../compiler/compiled-schema.js";
5
+ import { copyWorkflowPackageDirectory, isPortableWorkflowPackage, patchWorkflowPackageMetadata, resolveWorkflowPackageSourcePath, workflowDefinitionPath, } from "./local-workflows.js";
6
+ import { getCompiledWorkflow, } from "./workflow-definitions.js";
7
+ import { workflowPackagePathForCompiled } from "../project-model/compiled-paths.js";
8
+ import { mergeStagePolicyNotesForStages } from "./workflow-stage-policy.js";
9
+ function workflowPackagePath(dirPath) {
10
+ return workflowPackagePathForCompiled(dirPath);
11
+ }
12
+ function writeWorkflowStarterDocs(dirPath, docs, options) {
13
+ for (const doc of docs ?? []) {
14
+ const targetPath = join(dirPath, doc.relativePath);
15
+ if (!options.overwrite && existsSync(targetPath))
16
+ continue;
17
+ mkdirSync(dirname(targetPath), { recursive: true });
18
+ writeFileSync(targetPath, doc.content);
19
+ }
20
+ }
21
+ function writeWorkflowPackageJson(rootPath, workflow, options) {
22
+ const targetPath = join(rootPath, "workflow.json");
23
+ if (!options.overwrite && existsSync(targetPath))
24
+ return;
25
+ writeFileSync(targetPath, `${JSON.stringify({
26
+ id: workflow.id,
27
+ type: "compiled",
28
+ compiler_api: workflow.compilerApi ?? {
29
+ kind: "compiled",
30
+ version: 1,
31
+ },
32
+ ...(workflow.purpose
33
+ ? {
34
+ purpose: {
35
+ label: workflow.purpose.label,
36
+ task_hint: workflow.purpose.taskHint,
37
+ },
38
+ }
39
+ : {}),
40
+ label: workflow.label,
41
+ hint: workflow.hint,
42
+ stages: workflow.stages.map((stage) => ({
43
+ id: stage.id,
44
+ label: stage.label,
45
+ description: stage.description,
46
+ contract_type: stage.contractType,
47
+ skill_dir: stage.skillDir,
48
+ reads: stage.reads,
49
+ writes: stage.writes,
50
+ ...(stage.acceptance ? { acceptance: stage.acceptance } : {}),
51
+ })),
52
+ ...(workflow.stagePolicyNotes ? { stage_policy_notes: workflow.stagePolicyNotes } : {}),
53
+ }, null, 2)}\n`);
54
+ }
55
+ function renderWorkflowReadme(workflow) {
56
+ const stageLines = workflow.stages
57
+ .map((stage) => `- \`${stage.id}\` — ${stage.description} (${stage.contractType}; reads: ${stage.reads.join(", ")}; writes: ${stage.writes.join(", ")})`)
58
+ .join("\n");
59
+ const zoneLines = workflow.schema?.zones
60
+ ? workflow.schema.zones
61
+ .map((zone) => `- \`${zone.id}\` — ${zone.role} ${zone.kind} at \`${zone.path}\``)
62
+ .join("\n")
63
+ : null;
64
+ return [
65
+ `# ${workflow.label}`,
66
+ "",
67
+ workflow.hint,
68
+ ...(workflow.purpose
69
+ ? [
70
+ "",
71
+ "## Purpose",
72
+ "",
73
+ `- ${workflow.purpose.label}`,
74
+ `- ${workflow.purpose.taskHint}`,
75
+ ]
76
+ : []),
77
+ "",
78
+ "## Package",
79
+ "",
80
+ "- `workflow.json` = stage graph, compiler API target, and compile contract mapping",
81
+ "- `workflow.schema.json` = deterministic zone contract for the workflow package",
82
+ "- `improve/`, `compile/stages/`, and `use/query/` = human-readable authoring docs",
83
+ "- Portable workflow packages are standalone: explicit stages, schema, and docs live together in this folder",
84
+ "- Interf projects native agent shells from these docs for query use, stage execution, and workflow-improvement loops",
85
+ ...(zoneLines
86
+ ? [
87
+ "",
88
+ "## Zones",
89
+ "",
90
+ zoneLines,
91
+ ]
92
+ : []),
93
+ "",
94
+ "## Stages",
95
+ "",
96
+ stageLines,
97
+ "",
98
+ "Interf runs the local copy of this package directly from `.interf/workflow/` inside each compiled context.",
99
+ "",
100
+ ].join("\n");
101
+ }
102
+ function renderDerivedWorkflowReadme(options) {
103
+ return [
104
+ `# ${options.label}`,
105
+ "",
106
+ options.hint,
107
+ "",
108
+ `This workflow package was copied from \`${options.baseWorkflowId}\` and materialized as a standalone package for this task.`,
109
+ "",
110
+ "Interf runs the local copy of this package directly. Keep changes in this folder self-contained instead of relying on runtime inheritance or fallback.",
111
+ "",
112
+ "## Emphasis",
113
+ "",
114
+ ...(options.emphasis.length > 0
115
+ ? options.emphasis.map((entry) => `- ${entry.stageId} (${entry.label}): ${entry.notes.join("; ")}`)
116
+ : ["- No stage-specific emphasis was added yet."]),
117
+ "",
118
+ ].join("\n");
119
+ }
120
+ function renderSeedWorkflowReadme(options) {
121
+ return [
122
+ `# ${options.label}`,
123
+ "",
124
+ options.hint,
125
+ "",
126
+ `This workflow package was seeded from \`${options.baseWorkflowId}\` as a standalone local draft.`,
127
+ "",
128
+ "Interf runs the local copy of this package directly. Refine the workflow docs, stage instructions, and zone contract in this folder instead of relying on inheritance or runtime fallback.",
129
+ "",
130
+ ].join("\n");
131
+ }
132
+ function renderImproveSkill(workflow) {
133
+ return [
134
+ "# Workflow Improvement",
135
+ "",
136
+ `Workflow: ${workflow.id}`,
137
+ "",
138
+ "This file is the editable authoring source for Interf's generated native workflow-improver shell.",
139
+ "The improver edits this local package directly.",
140
+ "",
141
+ "Default loop:",
142
+ "1. Read the loop context first.",
143
+ "2. Review preserved stage shells, runtime logs, and saved test runs from failed attempts.",
144
+ "3. Edit only the local workflow package for this compiled context to create a better workflow variation for this task.",
145
+ `4. Keep \`workflow.json\`, \`${WORKFLOW_SCHEMA_FILE}\`, and any changed stage docs aligned.`,
146
+ "",
147
+ "Guardrails:",
148
+ "- do not edit checks, test specs, or raw files",
149
+ "- do not hardcode expected answers into workflow docs",
150
+ "- keep this package standalone; do not add or rely on runtime `extends` or fallback behavior",
151
+ "- prefer small, defensible workflow changes over random churn",
152
+ "",
153
+ ].join("\n");
154
+ }
155
+ function renderStageSkill(workflow, stage) {
156
+ const notes = workflow.stagePolicyNotes?.[stage.id] ?? [];
157
+ const acceptanceKeys = stage.acceptance ? Object.keys(stage.acceptance) : [];
158
+ const abstractRules = stage.contractType === "compiled-file-evidence"
159
+ ? [
160
+ "- Valid abstract forms for deterministic validation are:",
161
+ ' - frontmatter key `"abstract"` with a real sentence, or',
162
+ " - a markdown heading `## Abstract` followed by at least one sentence",
163
+ "- A bare `Abstract` label without markdown heading syntax does not count.",
164
+ ]
165
+ : [];
166
+ return [
167
+ `# ${stage.label}`,
168
+ "",
169
+ stage.description,
170
+ "",
171
+ "## Stage Contract",
172
+ "",
173
+ `- Contract type: \`${stage.contractType}\``,
174
+ `- Reads zones: ${stage.reads.map((zoneId) => `\`${zoneId}\``).join(", ")}`,
175
+ `- Writes zones: ${stage.writes.map((zoneId) => `\`${zoneId}\``).join(", ")}`,
176
+ "",
177
+ "## Requirements",
178
+ "",
179
+ "- Treat `workflow.json` and `workflow.schema.json` as the authoritative package contract for this stage.",
180
+ "- Read only from the declared input zones unless this package explicitly documents a broader method.",
181
+ "- Write only inside the declared output zones for this stage. Do not invent undeclared zones or implicit outputs.",
182
+ "- Keep stage instructions, zone ownership, and workflow-level acceptance aligned when you change this stage.",
183
+ "- Treat runtime files as proof and execution state, not as the source of truth for workflow behavior.",
184
+ "- Prefer direct file-reading and search tools over shell commands for routine file inspection.",
185
+ ...abstractRules,
186
+ "",
187
+ ...(acceptanceKeys.length > 0
188
+ ? [
189
+ "## Declarative Acceptance",
190
+ "",
191
+ ...acceptanceKeys.map((key) => `- \`${key}\``),
192
+ "",
193
+ ]
194
+ : []),
195
+ ...(notes.length > 0
196
+ ? [
197
+ "## Notes",
198
+ "",
199
+ ...notes.map((note) => `- ${note}`),
200
+ "",
201
+ ]
202
+ : []),
203
+ ].join("\n");
204
+ }
205
+ export function writeCompiledWorkflowPackage(compiledPath, workflow) {
206
+ writeWorkflowPackageToDir(workflowPackagePath(compiledPath), workflow);
207
+ }
208
+ export function writeWorkflowPackageToDir(workflowDir, workflow, options = {}) {
209
+ const overwrite = options.overwrite ?? true;
210
+ mkdirSync(join(workflowDir, "improve"), { recursive: true });
211
+ mkdirSync(join(workflowDir, "use", "query"), { recursive: true });
212
+ mkdirSync(join(workflowDir, "compile", "stages"), { recursive: true });
213
+ for (const stage of workflow.stages) {
214
+ mkdirSync(join(workflowDir, "compile", "stages", stage.skillDir), { recursive: true });
215
+ }
216
+ writeWorkflowPackageJson(workflowDir, workflow, { overwrite });
217
+ if (overwrite || !existsSync(join(workflowDir, WORKFLOW_SCHEMA_FILE))) {
218
+ if (workflow.schema) {
219
+ writeWorkflowSchemaDocument(workflowDir, {
220
+ ...workflow.schema,
221
+ label: workflow.schema.label || `${workflow.label} workflow schema`,
222
+ });
223
+ }
224
+ else {
225
+ writeWorkflowSchemaFile(workflowDir, workflow.stages, `${workflow.label} workflow schema`);
226
+ }
227
+ }
228
+ if (overwrite || !existsSync(join(workflowDir, "README.md"))) {
229
+ writeFileSync(join(workflowDir, "README.md"), renderWorkflowReadme(workflow));
230
+ }
231
+ if (overwrite || !existsSync(join(workflowDir, "improve", "SKILL.md"))) {
232
+ writeFileSync(join(workflowDir, "improve", "SKILL.md"), renderImproveSkill(workflow));
233
+ }
234
+ if (overwrite || !existsSync(join(workflowDir, "use", "query", "SKILL.md"))) {
235
+ writeFileSync(join(workflowDir, "use", "query", "SKILL.md"), renderCompiledQuerySkill());
236
+ }
237
+ for (const stage of workflow.stages) {
238
+ const targetPath = join(workflowDir, "compile", "stages", stage.skillDir, "SKILL.md");
239
+ if (overwrite || !existsSync(targetPath)) {
240
+ writeFileSync(targetPath, renderStageSkill(workflow, stage));
241
+ }
242
+ }
243
+ writeWorkflowStarterDocs(workflowDir, workflow.starterDocs, { overwrite });
244
+ }
245
+ export function seedCompiledWorkflowPackage(options) {
246
+ const resolvedWorkflow = getCompiledWorkflow(options.workflowId, {
247
+ sourcePath: options.sourcePath,
248
+ });
249
+ const sourceWorkflowPath = resolveWorkflowPackageSourcePath(options.sourcePath, resolvedWorkflow.id);
250
+ if (sourceWorkflowPath && isPortableWorkflowPackage(sourceWorkflowPath)) {
251
+ // Portable seed packages can be copied directly because compile runs the
252
+ // local package folder without any source-root fallback.
253
+ copyWorkflowPackageDirectory(sourceWorkflowPath, workflowPackagePath(options.compiledPath));
254
+ patchWorkflowPackageMetadata(workflowPackagePath(options.compiledPath), {
255
+ id: resolvedWorkflow.id,
256
+ label: resolvedWorkflow.label,
257
+ hint: resolvedWorkflow.hint,
258
+ stagePolicyNotes: resolvedWorkflow.stagePolicyNotes,
259
+ });
260
+ return;
261
+ }
262
+ // Legacy or partially-defined seed packages are resolved once and
263
+ // materialized into a standalone local package.
264
+ writeCompiledWorkflowPackage(options.compiledPath, resolvedWorkflow);
265
+ }
266
+ export function createLocalWorkflowPackageFromTemplate(options) {
267
+ const targetPath = seedLocalWorkflowPackageFromBase({
268
+ sourcePath: options.sourcePath,
269
+ baseWorkflowId: options.baseWorkflowId,
270
+ workflowId: options.workflowId,
271
+ label: options.label,
272
+ hint: options.hint,
273
+ });
274
+ const baseWorkflow = getCompiledWorkflow(options.baseWorkflowId, {
275
+ sourcePath: options.sourcePath,
276
+ });
277
+ const stagePolicyNotes = mergeStagePolicyNotesForStages(baseWorkflow.stages, baseWorkflow.stagePolicyNotes, options.stagePolicyNotes);
278
+ patchWorkflowPackageMetadata(targetPath, {
279
+ id: options.workflowId,
280
+ label: options.label,
281
+ hint: options.hint,
282
+ stagePolicyNotes,
283
+ });
284
+ writeFileSync(join(targetPath, "README.md"), renderDerivedWorkflowReadme({
285
+ label: options.label,
286
+ hint: options.hint,
287
+ baseWorkflowId: options.baseWorkflowId,
288
+ emphasis: baseWorkflow.stages
289
+ .map((stage) => ({
290
+ stageId: stage.id,
291
+ label: stage.label,
292
+ notes: stagePolicyNotes?.[stage.id] ?? [],
293
+ }))
294
+ .filter((entry) => entry.notes.length > 0),
295
+ }));
296
+ return targetPath;
297
+ }
298
+ export function seedLocalWorkflowPackageFromBase(options) {
299
+ const sourceWorkflowPath = resolveWorkflowPackageSourcePath(options.sourcePath, options.baseWorkflowId);
300
+ const targetPath = workflowDefinitionPath(options.sourcePath, options.workflowId);
301
+ if (sourceWorkflowPath && isPortableWorkflowPackage(sourceWorkflowPath)) {
302
+ // Copy directly when the base package is already portable and standalone.
303
+ copyWorkflowPackageDirectory(sourceWorkflowPath, targetPath);
304
+ patchWorkflowPackageMetadata(targetPath, {
305
+ id: options.workflowId,
306
+ label: options.label,
307
+ hint: options.hint,
308
+ });
309
+ writeFileSync(join(targetPath, "README.md"), renderSeedWorkflowReadme({
310
+ label: options.label,
311
+ hint: options.hint,
312
+ baseWorkflowId: options.baseWorkflowId,
313
+ }));
314
+ return targetPath;
315
+ }
316
+ // Legacy or inherited base packages are materialized immediately so the new
317
+ // local workflow package is standalone from its first write.
318
+ const baseWorkflow = getCompiledWorkflow(options.baseWorkflowId, {
319
+ sourcePath: options.sourcePath,
320
+ });
321
+ const localWorkflow = {
322
+ ...baseWorkflow,
323
+ id: options.workflowId,
324
+ label: options.label,
325
+ hint: options.hint,
326
+ recommended: false,
327
+ scope: "local",
328
+ starterDocs: [
329
+ {
330
+ relativePath: "README.md",
331
+ content: renderSeedWorkflowReadme({
332
+ label: options.label,
333
+ hint: options.hint,
334
+ baseWorkflowId: options.baseWorkflowId,
335
+ }),
336
+ },
337
+ ...(baseWorkflow.starterDocs ?? []).filter((doc) => doc.relativePath !== "README.md"),
338
+ ],
339
+ };
340
+ writeWorkflowPackageToDir(targetPath, localWorkflow);
341
+ return targetPath;
342
+ }
@@ -1,2 +1 @@
1
1
  export declare const PACKAGE_ROOT: string;
2
- export declare const INTERF_HOME: string;
@@ -0,0 +1,6 @@
1
+ import { dirname, join } from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ const __filename = fileURLToPath(import.meta.url);
4
+ const __dirname = dirname(__filename);
5
+ // Package root (dist/packages/workflow-package/lib/ -> package root)
6
+ export const PACKAGE_ROOT = join(__dirname, "..", "..", "..", "..");
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ import { WorkflowCompilerApiSchema, RuntimeContractTypeSchema, RuntimeStageAcceptanceSchema, WorkflowPurposeSchema, WorkflowStageZoneAccessSchema, type WorkflowCompiledSchema } from "../compiler/lib/schema.js";
3
+ export interface LocalWorkflowStarterDoc {
4
+ relativePath: string;
5
+ content: string;
6
+ }
7
+ export interface LocalWorkflowStageDefinition {
8
+ id: string;
9
+ label: string;
10
+ contract_type: z.infer<typeof RuntimeContractTypeSchema>;
11
+ skill_dir?: string;
12
+ description?: string;
13
+ reads: z.infer<typeof WorkflowStageZoneAccessSchema>;
14
+ writes: z.infer<typeof WorkflowStageZoneAccessSchema>;
15
+ acceptance?: z.infer<typeof RuntimeStageAcceptanceSchema>;
16
+ }
17
+ export interface LocalWorkflowDefinition {
18
+ id: string;
19
+ type: "compiled";
20
+ compiler_api?: z.infer<typeof WorkflowCompilerApiSchema>;
21
+ purpose?: z.infer<typeof WorkflowPurposeSchema>;
22
+ label: string;
23
+ hint: string;
24
+ extends?: string;
25
+ stages?: LocalWorkflowStageDefinition[];
26
+ stage_policy_notes?: Record<string, string[]>;
27
+ workflow_schema: WorkflowCompiledSchema;
28
+ starter_docs: LocalWorkflowStarterDoc[];
29
+ directoryPath: string;
30
+ workflowPath: string;
31
+ workflowSchemaPath: string;
32
+ }
33
+ export declare function workflowDefinitionPath(sourcePath: string, id: string): string;
34
+ export declare function loadWorkflowDefinitionFromDir(dirPath: string): LocalWorkflowDefinition | null;
35
+ export declare function listLocalWorkflowDefinitions(sourcePath: string): LocalWorkflowDefinition[];
36
+ export declare function loadLocalWorkflowDefinition(sourcePath: string, id: string): LocalWorkflowDefinition | null;
37
+ export declare function resolveWorkflowPackageSourcePath(sourcePath: string, workflowId: string): string | null;
38
+ export declare function isWorkflowId(value: string): boolean;
39
+ export declare function patchWorkflowPackageMetadata(dirPath: string, options?: {
40
+ id?: string;
41
+ label?: string;
42
+ hint?: string;
43
+ stagePolicyNotes?: Record<string, string[]>;
44
+ }): void;
45
+ export declare function describeWorkflowPackagePortability(dirPath: string): string[];
46
+ export declare function isPortableWorkflowPackage(dirPath: string): boolean;
47
+ export declare function copyWorkflowPackageDirectory(sourceWorkflowPath: string, targetWorkflowPath: string): void;
48
+ export interface WorkflowValidationResult {
49
+ ok: boolean;
50
+ summary: string;
51
+ errors: string[];
52
+ counts: Record<string, number>;
53
+ }
54
+ export declare function validateWorkflowPackage(dirPath: string): WorkflowValidationResult;