@interf/compiler 0.3.4 → 0.4.0

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 (385) hide show
  1. package/README.md +131 -149
  2. package/builtin-workflows/interf/README.md +19 -0
  3. package/builtin-workflows/interf/compile/stages/shape/SKILL.md +28 -0
  4. package/builtin-workflows/interf/compile/stages/structure/SKILL.md +18 -0
  5. package/builtin-workflows/interf/compile/stages/summarize/SKILL.md +18 -0
  6. package/builtin-workflows/interf/improve/SKILL.md +18 -0
  7. package/builtin-workflows/interf/use/query/SKILL.md +28 -0
  8. package/builtin-workflows/interf/workflow.json +120 -0
  9. package/builtin-workflows/interf/workspace.schema.json +75 -0
  10. package/dist/bin.d.ts +0 -1
  11. package/dist/bin.js +0 -1
  12. package/dist/commands/compile-controller.d.ts +14 -0
  13. package/dist/commands/compile-controller.js +409 -0
  14. package/dist/commands/compile.d.ts +8 -9
  15. package/dist/commands/compile.js +151 -153
  16. package/dist/commands/create-workflow-wizard.d.ts +4 -2
  17. package/dist/commands/create-workflow-wizard.js +33 -31
  18. package/dist/commands/create.d.ts +0 -1
  19. package/dist/commands/create.js +15 -11
  20. package/dist/commands/default.d.ts +0 -1
  21. package/dist/commands/default.js +0 -1
  22. package/dist/commands/doctor.d.ts +0 -1
  23. package/dist/commands/doctor.js +1 -16
  24. package/dist/commands/executor-flow.d.ts +0 -1
  25. package/dist/commands/executor-flow.js +0 -1
  26. package/dist/commands/init.d.ts +0 -1
  27. package/dist/commands/init.js +71 -14
  28. package/dist/commands/list.d.ts +0 -1
  29. package/dist/commands/list.js +0 -1
  30. package/dist/commands/reset.d.ts +0 -1
  31. package/dist/commands/reset.js +0 -1
  32. package/dist/commands/source-config-wizard.d.ts +28 -7
  33. package/dist/commands/source-config-wizard.js +159 -63
  34. package/dist/commands/status.d.ts +0 -1
  35. package/dist/commands/status.js +0 -1
  36. package/dist/commands/test-flow.d.ts +20 -10
  37. package/dist/commands/test-flow.js +89 -23
  38. package/dist/commands/test.d.ts +0 -1
  39. package/dist/commands/test.js +36 -72
  40. package/dist/commands/verify.d.ts +0 -1
  41. package/dist/commands/verify.js +0 -1
  42. package/dist/commands/workspace-flow.d.ts +3 -3
  43. package/dist/commands/workspace-flow.js +30 -12
  44. package/dist/index.d.ts +5 -6
  45. package/dist/index.js +3 -4
  46. package/dist/lib/agent-args.d.ts +0 -1
  47. package/dist/lib/agent-args.js +0 -1
  48. package/dist/lib/agent-constants.d.ts +0 -1
  49. package/dist/lib/agent-constants.js +0 -1
  50. package/dist/lib/agent-detection.d.ts +0 -1
  51. package/dist/lib/agent-detection.js +0 -1
  52. package/dist/lib/agent-execution.d.ts +0 -1
  53. package/dist/lib/agent-execution.js +47 -12
  54. package/dist/lib/agent-logs.d.ts +0 -1
  55. package/dist/lib/agent-logs.js +0 -1
  56. package/dist/lib/agent-preflight.d.ts +0 -1
  57. package/dist/lib/agent-preflight.js +1 -2
  58. package/dist/lib/agent-render.d.ts +0 -1
  59. package/dist/lib/agent-render.js +0 -1
  60. package/dist/lib/agent-shells.d.ts +30 -3
  61. package/dist/lib/agent-shells.js +517 -54
  62. package/dist/lib/agent-status.d.ts +0 -1
  63. package/dist/lib/agent-status.js +0 -1
  64. package/dist/lib/agent-types.d.ts +0 -1
  65. package/dist/lib/agent-types.js +0 -1
  66. package/dist/lib/agents.d.ts +0 -9
  67. package/dist/lib/agents.js +0 -9
  68. package/dist/lib/chart-guidance.d.ts +1 -0
  69. package/dist/lib/chart-guidance.js +8 -0
  70. package/dist/lib/config.d.ts +0 -3
  71. package/dist/lib/config.js +0 -5
  72. package/dist/lib/discovery.d.ts +0 -1
  73. package/dist/lib/discovery.js +0 -1
  74. package/dist/lib/execution-profile.d.ts +0 -1
  75. package/dist/lib/execution-profile.js +0 -1
  76. package/dist/lib/executors.d.ts +0 -1
  77. package/dist/lib/executors.js +0 -1
  78. package/dist/lib/filesystem.d.ts +0 -1
  79. package/dist/lib/filesystem.js +0 -1
  80. package/dist/lib/interf-bootstrap.d.ts +0 -1
  81. package/dist/lib/interf-bootstrap.js +6 -2
  82. package/dist/lib/interf-detect.d.ts +2 -2
  83. package/dist/lib/interf-detect.js +25 -8
  84. package/dist/lib/interf-scaffold.d.ts +0 -1
  85. package/dist/lib/interf-scaffold.js +54 -21
  86. package/dist/lib/interf-workflow-package.d.ts +18 -1
  87. package/dist/lib/interf-workflow-package.js +164 -23
  88. package/dist/lib/interf.d.ts +1 -2
  89. package/dist/lib/interf.js +1 -2
  90. package/dist/lib/local-workflows.d.ts +10 -5
  91. package/dist/lib/local-workflows.js +208 -97
  92. package/dist/lib/logger.d.ts +0 -1
  93. package/dist/lib/logger.js +0 -1
  94. package/dist/lib/obsidian.d.ts +0 -1
  95. package/dist/lib/obsidian.js +0 -1
  96. package/dist/lib/parse.d.ts +0 -1
  97. package/dist/lib/parse.js +0 -1
  98. package/dist/lib/registry.d.ts +0 -1
  99. package/dist/lib/registry.js +0 -1
  100. package/dist/lib/runtime-acceptance.d.ts +0 -1
  101. package/dist/lib/runtime-acceptance.js +1 -2
  102. package/dist/lib/runtime-contracts.d.ts +0 -1
  103. package/dist/lib/runtime-contracts.js +14 -8
  104. package/dist/lib/runtime-paths.d.ts +0 -1
  105. package/dist/lib/runtime-paths.js +5 -10
  106. package/dist/lib/runtime-prompt.d.ts +0 -1
  107. package/dist/lib/runtime-prompt.js +8 -23
  108. package/dist/lib/runtime-reconcile.d.ts +0 -1
  109. package/dist/lib/runtime-reconcile.js +7 -3
  110. package/dist/lib/runtime-runs.d.ts +0 -1
  111. package/dist/lib/runtime-runs.js +4 -5
  112. package/dist/lib/runtime-types.d.ts +0 -1
  113. package/dist/lib/runtime-types.js +0 -1
  114. package/dist/lib/runtime.d.ts +0 -1
  115. package/dist/lib/runtime.js +0 -1
  116. package/dist/lib/schema.d.ts +356 -51
  117. package/dist/lib/schema.js +189 -54
  118. package/dist/lib/source-config.d.ts +17 -8
  119. package/dist/lib/source-config.js +125 -11
  120. package/dist/lib/state-artifacts.d.ts +0 -1
  121. package/dist/lib/state-artifacts.js +0 -1
  122. package/dist/lib/state-health.d.ts +0 -1
  123. package/dist/lib/state-health.js +2 -3
  124. package/dist/lib/state-io.d.ts +1 -1
  125. package/dist/lib/state-io.js +9 -10
  126. package/dist/lib/state-paths.d.ts +0 -1
  127. package/dist/lib/state-paths.js +5 -11
  128. package/dist/lib/state-view.d.ts +0 -1
  129. package/dist/lib/state-view.js +7 -8
  130. package/dist/lib/state.d.ts +0 -1
  131. package/dist/lib/state.js +0 -1
  132. package/dist/lib/summarize-plan.d.ts +0 -1
  133. package/dist/lib/summarize-plan.js +3 -3
  134. package/dist/lib/test-execution.d.ts +14 -0
  135. package/dist/lib/{benchmark-execution.js → test-execution.js} +122 -120
  136. package/dist/lib/test-matrices.d.ts +90 -0
  137. package/dist/lib/test-matrices.js +96 -0
  138. package/dist/lib/test-paths.d.ts +12 -0
  139. package/dist/lib/test-paths.js +44 -0
  140. package/dist/lib/test-profile-presets.d.ts +57 -0
  141. package/dist/lib/test-profile-presets.js +50 -0
  142. package/dist/lib/test-sandbox.d.ts +11 -0
  143. package/dist/lib/{benchmark-sandbox.js → test-sandbox.js} +18 -13
  144. package/dist/lib/test-specs.d.ts +7 -0
  145. package/dist/lib/test-specs.js +114 -0
  146. package/dist/lib/test-targets.d.ts +5 -0
  147. package/dist/lib/test-targets.js +38 -0
  148. package/dist/lib/test-types.d.ts +17 -0
  149. package/dist/lib/test-types.js +1 -0
  150. package/dist/lib/test.d.ts +4 -0
  151. package/dist/lib/test.js +3 -0
  152. package/dist/lib/user-config.d.ts +0 -1
  153. package/dist/lib/user-config.js +0 -1
  154. package/dist/lib/util.d.ts +0 -2
  155. package/dist/lib/util.js +0 -2
  156. package/dist/lib/validate-helpers.d.ts +0 -1
  157. package/dist/lib/validate-helpers.js +0 -1
  158. package/dist/lib/validate-workspace.d.ts +0 -1
  159. package/dist/lib/validate-workspace.js +34 -25
  160. package/dist/lib/validate.d.ts +0 -1
  161. package/dist/lib/validate.js +55 -9
  162. package/dist/lib/workflow-abi.d.ts +138 -0
  163. package/dist/lib/workflow-abi.js +181 -0
  164. package/dist/lib/workflow-definitions.d.ts +26 -5
  165. package/dist/lib/workflow-definitions.js +105 -168
  166. package/dist/lib/workflow-helpers.d.ts +1 -2
  167. package/dist/lib/workflow-helpers.js +32 -21
  168. package/dist/lib/workflow-improvement.d.ts +22 -0
  169. package/dist/lib/workflow-improvement.js +396 -0
  170. package/dist/lib/workflow-review-paths.d.ts +10 -0
  171. package/dist/lib/workflow-review-paths.js +27 -0
  172. package/dist/lib/workflow-stage-runner.d.ts +1 -1
  173. package/dist/lib/workflow-stage-runner.js +4 -1
  174. package/dist/lib/workflows.d.ts +1 -2
  175. package/dist/lib/workflows.js +1 -2
  176. package/dist/lib/workspace-compile.d.ts +0 -1
  177. package/dist/lib/workspace-compile.js +146 -109
  178. package/dist/lib/workspace-home.d.ts +5 -0
  179. package/dist/lib/workspace-home.js +32 -0
  180. package/dist/lib/workspace-layout.d.ts +2 -0
  181. package/dist/lib/workspace-layout.js +60 -0
  182. package/dist/lib/workspace-paths.d.ts +41 -0
  183. package/dist/lib/workspace-paths.js +107 -0
  184. package/dist/lib/workspace-raw.d.ts +20 -2
  185. package/dist/lib/workspace-raw.js +6 -8
  186. package/dist/lib/workspace-reset.d.ts +0 -1
  187. package/dist/lib/workspace-reset.js +27 -5
  188. package/dist/lib/workspace-schema.d.ts +1 -10
  189. package/dist/lib/workspace-schema.js +16 -74
  190. package/package.json +16 -15
  191. package/dist/bin.d.ts.map +0 -1
  192. package/dist/bin.js.map +0 -1
  193. package/dist/commands/compile.d.ts.map +0 -1
  194. package/dist/commands/compile.js.map +0 -1
  195. package/dist/commands/create-workflow-wizard.d.ts.map +0 -1
  196. package/dist/commands/create-workflow-wizard.js.map +0 -1
  197. package/dist/commands/create.d.ts.map +0 -1
  198. package/dist/commands/create.js.map +0 -1
  199. package/dist/commands/default.d.ts.map +0 -1
  200. package/dist/commands/default.js.map +0 -1
  201. package/dist/commands/doctor.d.ts.map +0 -1
  202. package/dist/commands/doctor.js.map +0 -1
  203. package/dist/commands/executor-flow.d.ts.map +0 -1
  204. package/dist/commands/executor-flow.js.map +0 -1
  205. package/dist/commands/init.d.ts.map +0 -1
  206. package/dist/commands/init.js.map +0 -1
  207. package/dist/commands/list.d.ts.map +0 -1
  208. package/dist/commands/list.js.map +0 -1
  209. package/dist/commands/reset.d.ts.map +0 -1
  210. package/dist/commands/reset.js.map +0 -1
  211. package/dist/commands/source-config-wizard.d.ts.map +0 -1
  212. package/dist/commands/source-config-wizard.js.map +0 -1
  213. package/dist/commands/status.d.ts.map +0 -1
  214. package/dist/commands/status.js.map +0 -1
  215. package/dist/commands/test-flow.d.ts.map +0 -1
  216. package/dist/commands/test-flow.js.map +0 -1
  217. package/dist/commands/test.d.ts.map +0 -1
  218. package/dist/commands/test.js.map +0 -1
  219. package/dist/commands/verify.d.ts.map +0 -1
  220. package/dist/commands/verify.js.map +0 -1
  221. package/dist/commands/workspace-flow.d.ts.map +0 -1
  222. package/dist/commands/workspace-flow.js.map +0 -1
  223. package/dist/index.d.ts.map +0 -1
  224. package/dist/index.js.map +0 -1
  225. package/dist/lib/agent-args.d.ts.map +0 -1
  226. package/dist/lib/agent-args.js.map +0 -1
  227. package/dist/lib/agent-constants.d.ts.map +0 -1
  228. package/dist/lib/agent-constants.js.map +0 -1
  229. package/dist/lib/agent-detection.d.ts.map +0 -1
  230. package/dist/lib/agent-detection.js.map +0 -1
  231. package/dist/lib/agent-execution.d.ts.map +0 -1
  232. package/dist/lib/agent-execution.js.map +0 -1
  233. package/dist/lib/agent-logs.d.ts.map +0 -1
  234. package/dist/lib/agent-logs.js.map +0 -1
  235. package/dist/lib/agent-preflight.d.ts.map +0 -1
  236. package/dist/lib/agent-preflight.js.map +0 -1
  237. package/dist/lib/agent-render.d.ts.map +0 -1
  238. package/dist/lib/agent-render.js.map +0 -1
  239. package/dist/lib/agent-shells.d.ts.map +0 -1
  240. package/dist/lib/agent-shells.js.map +0 -1
  241. package/dist/lib/agent-skills.d.ts +0 -21
  242. package/dist/lib/agent-skills.d.ts.map +0 -1
  243. package/dist/lib/agent-skills.js +0 -215
  244. package/dist/lib/agent-skills.js.map +0 -1
  245. package/dist/lib/agent-status.d.ts.map +0 -1
  246. package/dist/lib/agent-status.js.map +0 -1
  247. package/dist/lib/agent-types.d.ts.map +0 -1
  248. package/dist/lib/agent-types.js.map +0 -1
  249. package/dist/lib/agents.d.ts.map +0 -1
  250. package/dist/lib/agents.js.map +0 -1
  251. package/dist/lib/benchmark-execution.d.ts +0 -13
  252. package/dist/lib/benchmark-execution.d.ts.map +0 -1
  253. package/dist/lib/benchmark-execution.js.map +0 -1
  254. package/dist/lib/benchmark-paths.d.ts +0 -13
  255. package/dist/lib/benchmark-paths.d.ts.map +0 -1
  256. package/dist/lib/benchmark-paths.js +0 -44
  257. package/dist/lib/benchmark-paths.js.map +0 -1
  258. package/dist/lib/benchmark-sandbox.d.ts +0 -12
  259. package/dist/lib/benchmark-sandbox.d.ts.map +0 -1
  260. package/dist/lib/benchmark-sandbox.js.map +0 -1
  261. package/dist/lib/benchmark-specs.d.ts +0 -8
  262. package/dist/lib/benchmark-specs.d.ts.map +0 -1
  263. package/dist/lib/benchmark-specs.js +0 -115
  264. package/dist/lib/benchmark-specs.js.map +0 -1
  265. package/dist/lib/benchmark-targets.d.ts +0 -5
  266. package/dist/lib/benchmark-targets.d.ts.map +0 -1
  267. package/dist/lib/benchmark-targets.js +0 -38
  268. package/dist/lib/benchmark-targets.js.map +0 -1
  269. package/dist/lib/benchmark-types.d.ts +0 -18
  270. package/dist/lib/benchmark-types.d.ts.map +0 -1
  271. package/dist/lib/benchmark-types.js +0 -2
  272. package/dist/lib/benchmark-types.js.map +0 -1
  273. package/dist/lib/benchmark.d.ts +0 -5
  274. package/dist/lib/benchmark.d.ts.map +0 -1
  275. package/dist/lib/benchmark.js +0 -4
  276. package/dist/lib/benchmark.js.map +0 -1
  277. package/dist/lib/config.d.ts.map +0 -1
  278. package/dist/lib/config.js.map +0 -1
  279. package/dist/lib/discovery.d.ts.map +0 -1
  280. package/dist/lib/discovery.js.map +0 -1
  281. package/dist/lib/eval-packs.d.ts +0 -158
  282. package/dist/lib/eval-packs.d.ts.map +0 -1
  283. package/dist/lib/eval-packs.js +0 -149
  284. package/dist/lib/eval-packs.js.map +0 -1
  285. package/dist/lib/execution-profile.d.ts.map +0 -1
  286. package/dist/lib/execution-profile.js.map +0 -1
  287. package/dist/lib/executors.d.ts.map +0 -1
  288. package/dist/lib/executors.js.map +0 -1
  289. package/dist/lib/filesystem.d.ts.map +0 -1
  290. package/dist/lib/filesystem.js.map +0 -1
  291. package/dist/lib/interf-bootstrap.d.ts.map +0 -1
  292. package/dist/lib/interf-bootstrap.js.map +0 -1
  293. package/dist/lib/interf-detect.d.ts.map +0 -1
  294. package/dist/lib/interf-detect.js.map +0 -1
  295. package/dist/lib/interf-scaffold.d.ts.map +0 -1
  296. package/dist/lib/interf-scaffold.js.map +0 -1
  297. package/dist/lib/interf-workflow-package.d.ts.map +0 -1
  298. package/dist/lib/interf-workflow-package.js.map +0 -1
  299. package/dist/lib/interf.d.ts.map +0 -1
  300. package/dist/lib/interf.js.map +0 -1
  301. package/dist/lib/local-workflows.d.ts.map +0 -1
  302. package/dist/lib/local-workflows.js.map +0 -1
  303. package/dist/lib/logger.d.ts.map +0 -1
  304. package/dist/lib/logger.js.map +0 -1
  305. package/dist/lib/obsidian.d.ts.map +0 -1
  306. package/dist/lib/obsidian.js.map +0 -1
  307. package/dist/lib/parse.d.ts.map +0 -1
  308. package/dist/lib/parse.js.map +0 -1
  309. package/dist/lib/registry.d.ts.map +0 -1
  310. package/dist/lib/registry.js.map +0 -1
  311. package/dist/lib/runtime-acceptance.d.ts.map +0 -1
  312. package/dist/lib/runtime-acceptance.js.map +0 -1
  313. package/dist/lib/runtime-contracts.d.ts.map +0 -1
  314. package/dist/lib/runtime-contracts.js.map +0 -1
  315. package/dist/lib/runtime-paths.d.ts.map +0 -1
  316. package/dist/lib/runtime-paths.js.map +0 -1
  317. package/dist/lib/runtime-prompt.d.ts.map +0 -1
  318. package/dist/lib/runtime-prompt.js.map +0 -1
  319. package/dist/lib/runtime-reconcile.d.ts.map +0 -1
  320. package/dist/lib/runtime-reconcile.js.map +0 -1
  321. package/dist/lib/runtime-runs.d.ts.map +0 -1
  322. package/dist/lib/runtime-runs.js.map +0 -1
  323. package/dist/lib/runtime-types.d.ts.map +0 -1
  324. package/dist/lib/runtime-types.js.map +0 -1
  325. package/dist/lib/runtime.d.ts.map +0 -1
  326. package/dist/lib/runtime.js.map +0 -1
  327. package/dist/lib/schema.d.ts.map +0 -1
  328. package/dist/lib/schema.js.map +0 -1
  329. package/dist/lib/source-config.d.ts.map +0 -1
  330. package/dist/lib/source-config.js.map +0 -1
  331. package/dist/lib/state-artifacts.d.ts.map +0 -1
  332. package/dist/lib/state-artifacts.js.map +0 -1
  333. package/dist/lib/state-health.d.ts.map +0 -1
  334. package/dist/lib/state-health.js.map +0 -1
  335. package/dist/lib/state-io.d.ts.map +0 -1
  336. package/dist/lib/state-io.js.map +0 -1
  337. package/dist/lib/state-paths.d.ts.map +0 -1
  338. package/dist/lib/state-paths.js.map +0 -1
  339. package/dist/lib/state-view.d.ts.map +0 -1
  340. package/dist/lib/state-view.js.map +0 -1
  341. package/dist/lib/state.d.ts.map +0 -1
  342. package/dist/lib/state.js.map +0 -1
  343. package/dist/lib/summarize-plan.d.ts.map +0 -1
  344. package/dist/lib/summarize-plan.js.map +0 -1
  345. package/dist/lib/user-config.d.ts.map +0 -1
  346. package/dist/lib/user-config.js.map +0 -1
  347. package/dist/lib/util.d.ts.map +0 -1
  348. package/dist/lib/util.js.map +0 -1
  349. package/dist/lib/validate-helpers.d.ts.map +0 -1
  350. package/dist/lib/validate-helpers.js.map +0 -1
  351. package/dist/lib/validate-workspace.d.ts.map +0 -1
  352. package/dist/lib/validate-workspace.js.map +0 -1
  353. package/dist/lib/validate.d.ts.map +0 -1
  354. package/dist/lib/validate.js.map +0 -1
  355. package/dist/lib/workflow-definitions.d.ts.map +0 -1
  356. package/dist/lib/workflow-definitions.js.map +0 -1
  357. package/dist/lib/workflow-helpers.d.ts.map +0 -1
  358. package/dist/lib/workflow-helpers.js.map +0 -1
  359. package/dist/lib/workflow-stage-runner.d.ts.map +0 -1
  360. package/dist/lib/workflow-stage-runner.js.map +0 -1
  361. package/dist/lib/workflow-starter-docs.d.ts +0 -7
  362. package/dist/lib/workflow-starter-docs.d.ts.map +0 -1
  363. package/dist/lib/workflow-starter-docs.js +0 -3
  364. package/dist/lib/workflow-starter-docs.js.map +0 -1
  365. package/dist/lib/workflows.d.ts.map +0 -1
  366. package/dist/lib/workflows.js.map +0 -1
  367. package/dist/lib/workspace-compile.d.ts.map +0 -1
  368. package/dist/lib/workspace-compile.js.map +0 -1
  369. package/dist/lib/workspace-docs.d.ts +0 -3
  370. package/dist/lib/workspace-docs.d.ts.map +0 -1
  371. package/dist/lib/workspace-docs.js +0 -82
  372. package/dist/lib/workspace-docs.js.map +0 -1
  373. package/dist/lib/workspace-raw.d.ts.map +0 -1
  374. package/dist/lib/workspace-raw.js.map +0 -1
  375. package/dist/lib/workspace-reset.d.ts.map +0 -1
  376. package/dist/lib/workspace-reset.js.map +0 -1
  377. package/dist/lib/workspace-schema.d.ts.map +0 -1
  378. package/dist/lib/workspace-schema.js.map +0 -1
  379. package/skills/benchmark/SKILL.md +0 -122
  380. package/skills/workflow/create/SKILL.md +0 -141
  381. package/skills/workspace/shape/SKILL.md +0 -15
  382. package/skills/workspace/structure/SKILL.md +0 -15
  383. package/skills/workspace/summarize/SKILL.md +0 -15
  384. package/templates/workspace/README.md +0 -24
  385. package/templates/workspace/interfignore +0 -2
@@ -1,4 +1,3 @@
1
1
  export declare function extractAgentFailureStatus(event: Record<string, unknown>): string | null;
2
2
  export declare function classifyTerminalVisibleStatus(text: string | null | undefined): "done" | "failure" | null;
3
3
  export declare function hasAgentStalled(lastActivityAt: number, now: number, stallTimeoutMs: number | null | undefined): boolean;
4
- //# sourceMappingURL=agent-status.d.ts.map
@@ -56,4 +56,3 @@ function pickString(value) {
56
56
  }
57
57
  return null;
58
58
  }
59
- //# sourceMappingURL=agent-status.js.map
@@ -28,4 +28,3 @@ export interface SpawnAgentOptions {
28
28
  executionProfile?: WorkflowExecutionProfile;
29
29
  completionCheck?: (() => boolean) | null;
30
30
  }
31
- //# sourceMappingURL=agent-types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent-types.js.map
@@ -1,15 +1,6 @@
1
- import type { Agent } from "./agent-types.js";
2
- export { refreshInterfSkills, inspectInterfSkills, ensureRequiredSkill, extractRequiredSkill, } from "./agent-skills.js";
3
- export type { InterfSkillHealth } from "./agent-skills.js";
4
1
  export type { Agent, AgentAutomationReadiness, AgentPreflightOptions, AgentPreflightResult, SpawnAgentOptions, } from "./agent-types.js";
5
2
  export { detectAgents, supportsAutomatedRuns, resolveAgent, } from "./agent-detection.js";
6
3
  export { buildAgentPreflightPrompt, runAgentPreflight, ensureAgentAutomatedRunReady, } from "./agent-preflight.js";
7
4
  export { spawnAgent, } from "./agent-execution.js";
8
5
  export { buildAgentArgs } from "./agent-args.js";
9
6
  export { extractAgentFailureStatus, classifyTerminalVisibleStatus, hasAgentStalled, } from "./agent-status.js";
10
- export declare function installSkills(agents?: Agent[]): {
11
- agent: string;
12
- skill: string;
13
- success: boolean;
14
- }[];
15
- //# sourceMappingURL=agents.d.ts.map
@@ -1,14 +1,5 @@
1
- import { installSkills as installSkillsCore } from "./agent-skills.js";
2
- import { detectAgents } from "./agent-detection.js";
3
- // Re-export skill functions so existing imports from "./agents.js" still resolve.
4
- export { refreshInterfSkills, inspectInterfSkills, ensureRequiredSkill, extractRequiredSkill, } from "./agent-skills.js";
5
1
  export { detectAgents, supportsAutomatedRuns, resolveAgent, } from "./agent-detection.js";
6
2
  export { buildAgentPreflightPrompt, runAgentPreflight, ensureAgentAutomatedRunReady, } from "./agent-preflight.js";
7
3
  export { spawnAgent, } from "./agent-execution.js";
8
4
  export { buildAgentArgs } from "./agent-args.js";
9
5
  export { extractAgentFailureStatus, classifyTerminalVisibleStatus, hasAgentStalled, } from "./agent-status.js";
10
- // Keep the legacy facade shape so existing "./agents.js" imports stay stable.
11
- export function installSkills(agents) {
12
- return installSkillsCore(agents ?? detectAgents());
13
- }
14
- //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ export declare const CHART_APPROXIMATION_NOTES: readonly ["When a chart-derived value is approximate, use a bounded range instead of a pseudo-exact number.", "Match the granularity of the visible axis labels or bands. Do not invent finer precision than the chart supports.", "Keep the answer inside the visible tick band unless the chart supports a tighter bound.", "Use an upper-half or lower-half band only when the mark clearly sits there.", "If a mark touches or nearly touches a labeled gridline, anchor the answer at that gridline or the immediately adjacent half-band.", "Do not widen a chart-derived range across multiple visible bands unless the chart genuinely supports that uncertainty."];
@@ -0,0 +1,8 @@
1
+ export const CHART_APPROXIMATION_NOTES = [
2
+ "When a chart-derived value is approximate, use a bounded range instead of a pseudo-exact number.",
3
+ "Match the granularity of the visible axis labels or bands. Do not invent finer precision than the chart supports.",
4
+ "Keep the answer inside the visible tick band unless the chart supports a tighter bound.",
5
+ "Use an upper-half or lower-half band only when the mark clearly sits there.",
6
+ "If a mark touches or nearly touches a labeled gridline, anchor the answer at that gridline or the immediately adjacent half-band.",
7
+ "Do not widen a chart-derived range across multiple visible bands unless the chart genuinely supports that uncertainty.",
8
+ ];
@@ -1,6 +1,3 @@
1
1
  export declare const PACKAGE_ROOT: string;
2
- export declare const SKILLS_DIR: string;
3
- export declare const WORKSPACE_INTERFIGNORE: string;
4
2
  export declare const INTERF_HOME: string;
5
3
  export declare const REGISTRY_PATH: string;
6
- //# sourceMappingURL=config.d.ts.map
@@ -5,11 +5,6 @@ const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = dirname(__filename);
6
6
  // Package root (dist/lib/ → package root)
7
7
  export const PACKAGE_ROOT = join(__dirname, "..", "..");
8
- // Bundled skills shipped with the package
9
- export const SKILLS_DIR = join(PACKAGE_ROOT, "skills");
10
- // Workspace helper files
11
- export const WORKSPACE_INTERFIGNORE = join(PACKAGE_ROOT, "templates", "workspace", "interfignore");
12
8
  // User config
13
9
  export const INTERF_HOME = join(homedir(), ".interf");
14
10
  export const REGISTRY_PATH = join(INTERF_HOME, "registry.json");
15
- //# sourceMappingURL=config.js.map
@@ -5,4 +5,3 @@ export interface DiscoveryResult {
5
5
  }
6
6
  export declare function discoverSourceFiles(sourcePath: string, workspacePath: string): DiscoveryResult;
7
7
  export declare function loadIgnorePatterns(knowledgeBasePath: string): string[];
8
- //# sourceMappingURL=discovery.d.ts.map
@@ -82,4 +82,3 @@ function matchGlob(path, pattern) {
82
82
  // Prefix match: "dist/foo" matches "dist/foo" and "dist/foo/bar"
83
83
  return path === pattern || path.startsWith(pattern + "/");
84
84
  }
85
- //# sourceMappingURL=discovery.js.map
@@ -15,4 +15,3 @@ export declare function applyInternalAcceptanceExecutionProfileDefaults(agent: A
15
15
  export declare function hasWorkflowExecutionProfile(profile: WorkflowExecutionProfile | null | undefined): boolean;
16
16
  export declare function formatWorkflowExecutionProfile(profile: WorkflowExecutionProfile | null | undefined): string | null;
17
17
  export {};
18
- //# sourceMappingURL=execution-profile.d.ts.map
@@ -82,4 +82,3 @@ export function formatWorkflowExecutionProfile(profile) {
82
82
  ...(profile?.timeoutMs ? { timeout_ms: profile.timeoutMs } : {}),
83
83
  });
84
84
  }
85
- //# sourceMappingURL=execution-profile.js.map
@@ -30,4 +30,3 @@ export declare function resolveLocalExecutor(options?: {
30
30
  executor: WorkflowExecutor | null;
31
31
  error?: string;
32
32
  };
33
- //# sourceMappingURL=executors.d.ts.map
@@ -41,4 +41,3 @@ export function resolveLocalExecutor(options = {}) {
41
41
  }
42
42
  return { executor: createLocalAgentExecutor(agent, options.executionProfile) };
43
43
  }
44
- //# sourceMappingURL=executors.js.map
@@ -1,3 +1,2 @@
1
1
  export declare function countFilesRecursive(dirPath: string): number;
2
2
  export declare function listFilesRecursive(dirPath: string, predicate?: (filePath: string) => boolean): string[];
3
- //# sourceMappingURL=filesystem.d.ts.map
@@ -53,4 +53,3 @@ function walkFilesRecursiveInternal(dirPath, onFile, visitedDirs) {
53
53
  }
54
54
  }
55
55
  }
56
- //# sourceMappingURL=filesystem.js.map
@@ -1,4 +1,3 @@
1
1
  import { renderClaudeBootstrap } from "./agent-shells.js";
2
2
  export { renderClaudeBootstrap };
3
3
  export declare function refreshWorkspaceBootstrapGuidance(dirPath: string): boolean;
4
- //# sourceMappingURL=interf-bootstrap.d.ts.map
@@ -8,7 +8,11 @@ export function refreshWorkspaceBootstrapGuidance(dirPath) {
8
8
  return false;
9
9
  const workspaceName = config.name ?? basename(dirPath);
10
10
  const workflowId = config.workflow ?? "interf";
11
+ const workflowOriginSelected = config.workflow_origin?.selected ?? workflowId;
12
+ const workflowLocalDraft = config.workflow_origin?.local_draft === true;
11
13
  const about = typeof config.about === "string" && config.about.length > 0 ? config.about : undefined;
12
- return projectWorkspaceQueryShell(dirPath, workspaceName, workflowId, about);
14
+ return projectWorkspaceQueryShell(dirPath, workspaceName, workflowId, about, {
15
+ workflowOriginSelected,
16
+ workflowLocalDraft,
17
+ });
13
18
  }
14
- //# sourceMappingURL=interf-bootstrap.js.map
@@ -8,9 +8,10 @@ export interface ResolvedWorkspace {
8
8
  export declare const INTERF_CONTAINER_NAME = "interf";
9
9
  export declare const WORKSPACE_CONTAINER_NAME = "workspaces";
10
10
  export declare const WORKFLOW_CONTAINER_NAME = "workflows";
11
- export declare const BENCHMARK_CONTAINER_NAME = "benchmarks";
11
+ export declare const TEST_CONTAINER_NAME = "tests";
12
12
  export declare const INTERF_CONFIG_FILE = "interf.json";
13
13
  export declare const WORKFLOW_PACKAGE_DIR = "workflow";
14
+ export declare function prepareWorkspaceLayout(dirPath: string): boolean;
14
15
  export declare function readInterfConfig(dirPath: string): InterfConfig | null;
15
16
  export declare function hasSourceFolderInput(config: InterfConfig | null | undefined): config is InterfConfig & {
16
17
  source: {
@@ -31,4 +32,3 @@ export declare function listWorkspacesForSourceFolder(sourcePath: string): Array
31
32
  export declare function assertWorkspaceContainer(sourcePath: string): string;
32
33
  export declare function assertWritableTargetDir(dirPath: string, label: string): void;
33
34
  export declare function assertWorkspaceName(name: string, label: string): void;
34
- //# sourceMappingURL=interf-detect.d.ts.map
@@ -2,15 +2,23 @@ import { existsSync, readdirSync, statSync, } from "node:fs";
2
2
  import { join, resolve } from "node:path";
3
3
  import { warnInterf } from "./logger.js";
4
4
  import { readJsonFileWithSchema } from "./parse.js";
5
+ import { resolveSourceControlPathForWorkspace, workspaceInterfConfigPath, } from "./workspace-paths.js";
6
+ import { normalizeLegacyWorkspaceLayout, workspaceNeedsLegacyLayoutNormalization, } from "./workspace-layout.js";
5
7
  import { InterfConfigSchema, } from "./schema.js";
6
8
  export const INTERF_CONTAINER_NAME = "interf";
7
9
  export const WORKSPACE_CONTAINER_NAME = "workspaces";
8
10
  export const WORKFLOW_CONTAINER_NAME = "workflows";
9
- export const BENCHMARK_CONTAINER_NAME = "benchmarks";
11
+ export const TEST_CONTAINER_NAME = "tests";
10
12
  export const INTERF_CONFIG_FILE = "interf.json";
11
13
  export const WORKFLOW_PACKAGE_DIR = "workflow";
14
+ export function prepareWorkspaceLayout(dirPath) {
15
+ if (!workspaceNeedsLegacyLayoutNormalization(dirPath)) {
16
+ return false;
17
+ }
18
+ return normalizeLegacyWorkspaceLayout(dirPath);
19
+ }
12
20
  export function readInterfConfig(dirPath) {
13
- const configPath = join(dirPath, INTERF_CONFIG_FILE);
21
+ const configPath = workspaceInterfConfigPath(dirPath);
14
22
  if (!existsSync(configPath))
15
23
  return null;
16
24
  return readJsonFileWithSchema(configPath, "Interf config", InterfConfigSchema);
@@ -19,6 +27,7 @@ export function hasSourceFolderInput(config) {
19
27
  return typeof config?.source?.path === "string" && config.source.path.length > 0;
20
28
  }
21
29
  export function detectInterf(cwd) {
30
+ prepareWorkspaceLayout(cwd);
22
31
  const config = readInterfConfig(cwd);
23
32
  if (config)
24
33
  return { path: cwd, config };
@@ -34,14 +43,21 @@ export function resolveWorkspace(cwd) {
34
43
  config: detected.config,
35
44
  };
36
45
  }
37
- export function resolveSourceFolderPath(workspacePath, config = readInterfConfig(workspacePath)) {
38
- if (hasSourceFolderInput(config)) {
39
- return resolve(workspacePath, config.source.path);
46
+ export function resolveSourceFolderPath(workspacePath, config = null) {
47
+ prepareWorkspaceLayout(workspacePath);
48
+ const resolvedConfig = config ?? readInterfConfig(workspacePath);
49
+ if (hasSourceFolderInput(resolvedConfig)) {
50
+ return resolve(workspacePath, resolvedConfig.source.path);
40
51
  }
41
52
  return resolve(workspacePath, "raw");
42
53
  }
43
54
  export function resolveSourceControlPath(workspacePath) {
44
- return resolve(workspacePath, "..", "..", "..");
55
+ prepareWorkspaceLayout(workspacePath);
56
+ const config = readInterfConfig(workspacePath);
57
+ if (typeof config?.source?.control_path === "string" && config.source.control_path.length > 0) {
58
+ return resolve(workspacePath, config.source.control_path);
59
+ }
60
+ return resolveSourceControlPathForWorkspace(workspacePath);
45
61
  }
46
62
  function listWorkspaceEntries(containerPath) {
47
63
  if (!existsSync(containerPath))
@@ -66,6 +82,7 @@ function listWorkspaceEntries(containerPath) {
66
82
  }
67
83
  })
68
84
  .map((entryPath) => {
85
+ prepareWorkspaceLayout(entryPath);
69
86
  const config = readInterfConfig(entryPath);
70
87
  return config ? { path: entryPath, config } : null;
71
88
  })
@@ -87,7 +104,7 @@ export function assertWorkspaceContainer(sourcePath) {
87
104
  const entryPath = join(interfRoot, entry);
88
105
  if (entry === WORKSPACE_CONTAINER_NAME ||
89
106
  entry === WORKFLOW_CONTAINER_NAME ||
90
- entry === BENCHMARK_CONTAINER_NAME) {
107
+ entry === TEST_CONTAINER_NAME) {
91
108
  try {
92
109
  return !statSync(entryPath).isDirectory();
93
110
  }
@@ -122,6 +139,7 @@ export function assertWorkspaceContainer(sourcePath) {
122
139
  warnInterf(`Warning: failed to inspect Interf entry at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
123
140
  return true;
124
141
  }
142
+ prepareWorkspaceLayout(entryPath);
125
143
  return !readInterfConfig(entryPath);
126
144
  });
127
145
  if (unexpectedEntries.length > 0) {
@@ -145,4 +163,3 @@ export function assertWorkspaceName(name, label) {
145
163
  throw new Error(`${label} name must be a safe slug with lowercase letters, numbers, and dashes only: ${name}`);
146
164
  }
147
165
  }
148
- //# sourceMappingURL=interf-detect.js.map
@@ -1,3 +1,2 @@
1
1
  export declare function createWorkspace(name: string, sourcePath: string, workflowId?: string, about?: string): string;
2
2
  export declare function defaultWorkspaceNameForSource(sourcePath: string): string;
3
- //# sourceMappingURL=interf-scaffold.d.ts.map
@@ -1,16 +1,27 @@
1
- import { copyFileSync, existsSync, mkdirSync, writeFileSync, } from "node:fs";
1
+ import { mkdirSync, writeFileSync, } from "node:fs";
2
2
  import { basename, join } from "node:path";
3
- import { WORKSPACE_INTERFIGNORE } from "./config.js";
4
3
  import { getWorkspaceWorkflow } from "./workflow-definitions.js";
5
4
  import { refreshWorkspaceArtifacts, saveState, initWorkspaceState, } from "./state.js";
5
+ import { saveEmptyWorkspaceInventory } from "./state-io.js";
6
6
  import { writeObsidianDefaults } from "./obsidian.js";
7
- import { assertWorkspaceContainer, assertWritableTargetDir, assertWorkspaceName, INTERF_CONFIG_FILE, } from "./interf-detect.js";
7
+ import { assertWorkspaceContainer, assertWritableTargetDir, assertWorkspaceName, } from "./interf-detect.js";
8
8
  import { refreshWorkspaceBootstrapGuidance } from "./interf-bootstrap.js";
9
- import { writeWorkspaceWorkflowPackage } from "./interf-workflow-package.js";
9
+ import { seedWorkspaceWorkflowPackage } from "./interf-workflow-package.js";
10
10
  import { syncWorkspaceRawSnapshot } from "./workspace-raw.js";
11
- function writeInterfConfigFile(dirPath, config) {
12
- writeFileSync(join(dirPath, INTERF_CONFIG_FILE), `${JSON.stringify(config, null, 2)}\n`);
13
- }
11
+ import { findSourceWorkspaceConfig, loadSourceFolderConfig, saveWorkspaceInterfConfig, } from "./source-config.js";
12
+ import { defaultControlPathForWorkspace } from "./workspace-paths.js";
13
+ import { renderUncompiledWorkspaceHome } from "./workspace-home.js";
14
+ const DEFAULT_INTERFIGNORE = [
15
+ ".claude/",
16
+ ".codex/",
17
+ ".agents/",
18
+ ".cursor/",
19
+ ".interf/tests/",
20
+ ".interf/tests/targets/sandboxes/",
21
+ ".interf/runtime/",
22
+ ".obsidian/",
23
+ "",
24
+ ].join("\n");
14
25
  export function createWorkspace(name, sourcePath, workflowId = "interf", about) {
15
26
  assertWorkspaceName(name, "Workspace");
16
27
  const containerPath = assertWorkspaceContainer(sourcePath);
@@ -18,33 +29,56 @@ export function createWorkspace(name, sourcePath, workflowId = "interf", about)
18
29
  const workspacePath = join(containerPath, name);
19
30
  assertWritableTargetDir(workspacePath, "Workspace");
20
31
  mkdirSync(workspacePath, { recursive: true });
32
+ const savedWorkspace = findSourceWorkspaceConfig(loadSourceFolderConfig(sourcePath), name);
21
33
  const selectedWorkflow = getWorkspaceWorkflow(workflowId, { sourcePath });
22
- writeInterfConfigFile(workspacePath, {
34
+ const resolvedAbout = about ?? savedWorkspace?.about;
35
+ saveWorkspaceInterfConfig(workspacePath, {
23
36
  type: "workspace",
24
37
  name,
25
- ...(about ? { about } : {}),
38
+ ...(resolvedAbout ? { about: resolvedAbout } : {}),
26
39
  workflow: selectedWorkflow.id,
40
+ ...(typeof savedWorkspace?.max_attempts === "number"
41
+ ? { max_attempts: savedWorkspace.max_attempts }
42
+ : {}),
43
+ ...(typeof savedWorkspace?.max_loops === "number"
44
+ ? { max_loops: savedWorkspace.max_loops }
45
+ : {}),
46
+ checks: savedWorkspace?.checks ?? [],
47
+ workflow_origin: {
48
+ selected: selectedWorkflow.id,
49
+ local_draft: false,
50
+ },
27
51
  source: {
28
52
  path: "./raw",
53
+ control_path: defaultControlPathForWorkspace(workspacePath),
29
54
  },
30
55
  });
31
56
  mkdirSync(join(workspacePath, "raw"), { recursive: true });
32
57
  syncWorkspaceRawSnapshot(workspacePath, sourcePath);
33
- if (existsSync(WORKSPACE_INTERFIGNORE)) {
34
- copyFileSync(WORKSPACE_INTERFIGNORE, join(workspacePath, ".interfignore"));
35
- }
36
- writeWorkspaceWorkflowPackage(workspacePath, selectedWorkflow);
58
+ writeFileSync(join(workspacePath, ".interfignore"), DEFAULT_INTERFIGNORE);
59
+ seedWorkspaceWorkflowPackage({
60
+ workspacePath,
61
+ sourcePath,
62
+ workflowId: selectedWorkflow.id,
63
+ });
37
64
  refreshWorkspaceBootstrapGuidance(workspacePath);
38
- writeFileSync(join(workspacePath, "home.md"), [
39
- `# ${name} — Home`,
40
- "",
41
- "Not yet compiled. Run `interf compile` to build this compiled workspace.",
42
- ...(about ? ["", `About: ${about}`] : []),
65
+ writeFileSync(join(workspacePath, "home.md"), renderUncompiledWorkspaceHome(name, about));
66
+ writeFileSync(join(workspacePath, ".gitignore"), [
67
+ "raw/",
68
+ "summaries/",
69
+ "knowledge/",
70
+ ".claude/",
71
+ ".codex/",
72
+ ".agents/",
73
+ ".cursor/",
74
+ ".interf/tests/",
75
+ ".interf/tests/targets/sandboxes/",
76
+ ".interf/runtime/",
77
+ ".obsidian/",
43
78
  "",
44
79
  ].join("\n"));
45
- writeFileSync(join(workspacePath, ".gitignore"), "raw/\nsummaries/\nknowledge/\n.interf/\n.obsidian/\n");
46
80
  saveState(workspacePath, initWorkspaceState());
47
- writeFileSync(join(workspacePath, ".interf", "inventory.json"), JSON.stringify({ total: 0, files: [] }, null, 2) + "\n");
81
+ saveEmptyWorkspaceInventory(workspacePath);
48
82
  refreshWorkspaceArtifacts(workspacePath, { ensureViewSpec: true });
49
83
  writeObsidianDefaults(workspacePath, "workspace");
50
84
  return workspacePath;
@@ -52,4 +86,3 @@ export function createWorkspace(name, sourcePath, workflowId = "interf", about)
52
86
  export function defaultWorkspaceNameForSource(sourcePath) {
53
87
  return basename(sourcePath);
54
88
  }
55
- //# sourceMappingURL=interf-scaffold.js.map
@@ -1,3 +1,20 @@
1
1
  import { type WorkflowDefinition } from "./workflow-definitions.js";
2
2
  export declare function writeWorkspaceWorkflowPackage(workspacePath: string, workflow: WorkflowDefinition<string>): void;
3
- //# sourceMappingURL=interf-workflow-package.d.ts.map
3
+ export declare function writeWorkflowPackageToDir(workflowDir: string, workflow: WorkflowDefinition<string>, options?: {
4
+ overwrite?: boolean;
5
+ }): void;
6
+ export declare function seedWorkspaceWorkflowPackage(options: {
7
+ workspacePath: 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
+ summarizeBias: string;
18
+ structureBias: string;
19
+ shapeBias: string;
20
+ }): string;