@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
@@ -1,110 +1 @@
1
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
- import { dirname, join } from "node:path";
3
- import { readJsonFileWithSchema } from "./parse.js";
4
- import { BUILTIN_COMPILED_ZONE_IDS, listBuiltinCompiledZoneSpecs, requiredCompiledZoneOwners, } from "./builtin-compiled-workflow.js";
5
- import { WorkflowCompiledSchemaSchema, } from "./schema.js";
6
- export { BUILTIN_COMPILED_ZONE_IDS } from "./builtin-compiled-workflow.js";
7
- export const COMPILED_SCHEMA_FILE = "compiled.schema.json";
8
- const BUILTIN_COMPILED_ZONE_SPEC_BY_ID = new Map(listBuiltinCompiledZoneSpecs().map((zone) => [zone.id, zone]));
9
- export function compiledSchemaFilePath(rootPath) {
10
- return join(rootPath, COMPILED_SCHEMA_FILE);
11
- }
12
- export function compiledSchemaRelativePath() {
13
- return `workflow/${COMPILED_SCHEMA_FILE}`;
14
- }
15
- export function listCompiledSchemaZones(schema) {
16
- return [...schema.zones];
17
- }
18
- export function findCompiledSchemaZone(schema, zoneId) {
19
- return schema.zones.find((zone) => zone.id === zoneId) ?? null;
20
- }
21
- export function compiledZoneAbsolutePath(compiledPath, zone) {
22
- return join(compiledPath, zone.path);
23
- }
24
- export function compiledContractArtifactPath(zone) {
25
- if (zone.kind === "file")
26
- return zone.path;
27
- return zone.path.endsWith("/") ? zone.path : `${zone.path}/`;
28
- }
29
- export function compiledContractArtifactPathsForZoneIds(schema, zoneIds) {
30
- return zoneIds.map((zoneId) => {
31
- const zone = findCompiledSchemaZone(schema, zoneId);
32
- if (!zone) {
33
- throw new Error(`Compiled schema is missing declared zone "${zoneId}".`);
34
- }
35
- return compiledContractArtifactPath(zone);
36
- });
37
- }
38
- export function builtinCompiledZoneRelativePath(zoneId) {
39
- const zone = BUILTIN_COMPILED_ZONE_SPEC_BY_ID.get(zoneId);
40
- if (!zone) {
41
- throw new Error(`Missing built-in compiled zone "${zoneId}".`);
42
- }
43
- return zone.path;
44
- }
45
- export function builtinCompiledZoneAbsolutePath(compiledPath, zoneId) {
46
- return join(compiledPath, builtinCompiledZoneRelativePath(zoneId));
47
- }
48
- export function compiledSummariesPath(compiledPath) {
49
- return builtinCompiledZoneAbsolutePath(compiledPath, BUILTIN_COMPILED_ZONE_IDS.SUMMARIES);
50
- }
51
- export function compiledKnowledgeEntitiesPath(compiledPath) {
52
- return builtinCompiledZoneAbsolutePath(compiledPath, BUILTIN_COMPILED_ZONE_IDS.KNOWLEDGE_ENTITIES);
53
- }
54
- export function compiledKnowledgeClaimsPath(compiledPath) {
55
- return builtinCompiledZoneAbsolutePath(compiledPath, BUILTIN_COMPILED_ZONE_IDS.KNOWLEDGE_CLAIMS);
56
- }
57
- export function compiledKnowledgeIndexesPath(compiledPath) {
58
- return builtinCompiledZoneAbsolutePath(compiledPath, BUILTIN_COMPILED_ZONE_IDS.KNOWLEDGE_INDEXES);
59
- }
60
- export function compiledKnowledgeRootPath(compiledPath) {
61
- return dirname(compiledKnowledgeEntitiesPath(compiledPath));
62
- }
63
- export function compiledHomePath(compiledPath) {
64
- return builtinCompiledZoneAbsolutePath(compiledPath, BUILTIN_COMPILED_ZONE_IDS.HOME);
65
- }
66
- export function ensureCompiledZoneTargets(compiledPath, schema) {
67
- for (const zone of schema.zones) {
68
- if (zone.kind === "directory" || zone.kind === "runtime") {
69
- mkdirSync(compiledZoneAbsolutePath(compiledPath, zone), { recursive: true });
70
- continue;
71
- }
72
- mkdirSync(dirname(compiledZoneAbsolutePath(compiledPath, zone)), { recursive: true });
73
- }
74
- }
75
- function pushZone(zones, zone) {
76
- if (zones.some((existing) => existing.path === zone.path))
77
- return;
78
- zones.push(zone);
79
- }
80
- export function buildCompiledSchema(stages, label = "Compiled dataset schema") {
81
- const zones = [];
82
- for (const zone of listBuiltinCompiledZoneSpecs()) {
83
- pushZone(zones, {
84
- id: zone.id,
85
- path: zone.path,
86
- kind: zone.kind,
87
- required: zone.required,
88
- owned_by: requiredCompiledZoneOwners(stages, zone.id),
89
- description: zone.description,
90
- });
91
- }
92
- return {
93
- kind: "compiled-schema",
94
- version: 1,
95
- target_type: "compiled",
96
- label,
97
- zones,
98
- };
99
- }
100
- export function writeCompiledSchemaFile(rootPath, stages, label) {
101
- const schema = buildCompiledSchema(stages, label);
102
- writeFileSync(compiledSchemaFilePath(rootPath), `${JSON.stringify(schema, null, 2)}\n`);
103
- return schema;
104
- }
105
- export function readCompiledSchemaFile(rootPath) {
106
- const path = compiledSchemaFilePath(rootPath);
107
- if (!existsSync(path))
108
- return null;
109
- return readJsonFileWithSchema(path, "compiled schema", WorkflowCompiledSchemaSchema);
110
- }
1
+ export * from "../packages/compiler/compiled-schema.js";
@@ -4,4 +4,4 @@ export interface DiscoveryResult {
4
4
  ignoredCount: number;
5
5
  }
6
6
  export declare function discoverSourceFiles(sourcePath: string, compiledPath: string): DiscoveryResult;
7
- export declare function loadIgnorePatterns(knowledgeBasePath: string): string[];
7
+ export declare function loadIgnorePatterns(compiledPath: string): string[];
@@ -36,8 +36,8 @@ export function discoverSourceFiles(sourcePath, compiledPath) {
36
36
  ignoredCount,
37
37
  };
38
38
  }
39
- export function loadIgnorePatterns(knowledgeBasePath) {
40
- const ignorePath = join(knowledgeBasePath, ".interfignore");
39
+ export function loadIgnorePatterns(compiledPath) {
40
+ const ignorePath = join(compiledPath, ".interfignore");
41
41
  if (!existsSync(ignorePath))
42
42
  return [];
43
43
  return readFileSync(ignorePath, "utf-8")
@@ -1,17 +1 @@
1
- import type { Argv } from "yargs";
2
- import type { Agent } from "./agents.js";
3
- import type { WorkflowExecutionProfile } from "./executors.js";
4
- type AgentLike = Pick<Agent, "name"> | string | null | undefined;
5
- export declare function addExecutionProfileOptions<T extends Argv>(yargs: T): T;
6
- type ExecutionProfileArgSource = Record<string, unknown> & {
7
- model?: unknown;
8
- profile?: unknown;
9
- effort?: unknown;
10
- timeoutMs?: unknown;
11
- "timeout-ms"?: unknown;
12
- };
13
- export declare function executionProfileFromArgv(argv: ExecutionProfileArgSource): WorkflowExecutionProfile;
14
- export declare function applyInternalAcceptanceExecutionProfileDefaults(agent: AgentLike, overrides?: WorkflowExecutionProfile): WorkflowExecutionProfile;
15
- export declare function hasWorkflowExecutionProfile(profile: WorkflowExecutionProfile | null | undefined): boolean;
16
- export declare function formatWorkflowExecutionProfile(profile: WorkflowExecutionProfile | null | undefined): string | null;
17
- export {};
1
+ export * from "../packages/agents/lib/execution-profile.js";
@@ -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(knowledgeBasePath: 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(knowledgeBasePath, prompt, options) {
22
- return spawnAgent(agent, knowledgeBasePath, 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,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";