wingfoil 0.2.1 → 0.3.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 (452) hide show
  1. package/README.md +88 -42
  2. package/dist/agent/discovery.d.ts +72 -0
  3. package/dist/agent/discovery.d.ts.map +1 -0
  4. package/dist/agent/discovery.js +210 -0
  5. package/dist/agent/discovery.js.map +1 -0
  6. package/dist/agent/execute.d.ts +206 -0
  7. package/dist/agent/execute.d.ts.map +1 -0
  8. package/dist/agent/execute.js +581 -0
  9. package/dist/agent/execute.js.map +1 -0
  10. package/dist/agent/index.d.ts +23 -0
  11. package/dist/agent/index.d.ts.map +1 -0
  12. package/dist/agent/index.js +85 -0
  13. package/dist/agent/index.js.map +1 -0
  14. package/dist/agent/launch.d.ts +133 -0
  15. package/dist/agent/launch.d.ts.map +1 -0
  16. package/dist/agent/launch.js +380 -0
  17. package/dist/agent/launch.js.map +1 -0
  18. package/dist/agent/manifest.d.ts +30 -0
  19. package/dist/agent/manifest.d.ts.map +1 -0
  20. package/dist/agent/manifest.js +93 -0
  21. package/dist/agent/manifest.js.map +1 -0
  22. package/dist/agent/placeholders.d.ts +49 -0
  23. package/dist/agent/placeholders.d.ts.map +1 -0
  24. package/dist/agent/placeholders.js +177 -0
  25. package/dist/agent/placeholders.js.map +1 -0
  26. package/dist/agent/run-log.d.ts +254 -0
  27. package/dist/agent/run-log.d.ts.map +1 -0
  28. package/dist/agent/run-log.js +612 -0
  29. package/dist/agent/run-log.js.map +1 -0
  30. package/dist/agent/schema.d.ts +100 -0
  31. package/dist/agent/schema.d.ts.map +1 -0
  32. package/dist/agent/schema.js +89 -0
  33. package/dist/agent/schema.js.map +1 -0
  34. package/dist/agent/step.d.ts +41 -0
  35. package/dist/agent/step.d.ts.map +1 -0
  36. package/dist/agent/step.js +95 -0
  37. package/dist/agent/step.js.map +1 -0
  38. package/dist/build-info.json +4 -0
  39. package/dist/cli/error.d.ts +11 -2
  40. package/dist/cli/error.d.ts.map +1 -1
  41. package/dist/cli/error.js +27 -6
  42. package/dist/cli/error.js.map +1 -1
  43. package/dist/cli/exit.d.ts +33 -3
  44. package/dist/cli/exit.d.ts.map +1 -1
  45. package/dist/cli/exit.js +54 -3
  46. package/dist/cli/exit.js.map +1 -1
  47. package/dist/cli/index.d.ts +2 -2
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +3 -2
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/init-command.d.ts.map +1 -1
  52. package/dist/cli/init-command.js +6 -3
  53. package/dist/cli/init-command.js.map +1 -1
  54. package/dist/cli/mcp-command.d.ts +13 -4
  55. package/dist/cli/mcp-command.d.ts.map +1 -1
  56. package/dist/cli/mcp-command.js +25 -8
  57. package/dist/cli/mcp-command.js.map +1 -1
  58. package/dist/cli/output.d.ts +12 -4
  59. package/dist/cli/output.d.ts.map +1 -1
  60. package/dist/cli/output.js +15 -4
  61. package/dist/cli/output.js.map +1 -1
  62. package/dist/cli/program.d.ts +1 -1
  63. package/dist/cli/program.d.ts.map +1 -1
  64. package/dist/cli/program.js +270 -60
  65. package/dist/cli/program.js.map +1 -1
  66. package/dist/cli/registrar.d.ts +16 -7
  67. package/dist/cli/registrar.d.ts.map +1 -1
  68. package/dist/cli/registrar.js +71 -6
  69. package/dist/cli/registrar.js.map +1 -1
  70. package/dist/cli/suggest.d.ts +20 -0
  71. package/dist/cli/suggest.d.ts.map +1 -0
  72. package/dist/cli/suggest.js +49 -0
  73. package/dist/cli/suggest.js.map +1 -0
  74. package/dist/cli/warning.d.ts +26 -0
  75. package/dist/cli/warning.d.ts.map +1 -0
  76. package/dist/cli/warning.js +66 -0
  77. package/dist/cli/warning.js.map +1 -0
  78. package/dist/cli.js +11 -2
  79. package/dist/cli.js.map +1 -1
  80. package/dist/core/agent-execute.d.ts +44 -0
  81. package/dist/core/agent-execute.d.ts.map +1 -0
  82. package/dist/core/agent-execute.js +71 -0
  83. package/dist/core/agent-execute.js.map +1 -0
  84. package/dist/core/agent-list.d.ts +95 -0
  85. package/dist/core/agent-list.d.ts.map +1 -0
  86. package/dist/core/agent-list.js +207 -0
  87. package/dist/core/agent-list.js.map +1 -0
  88. package/dist/core/agent-show.d.ts +44 -0
  89. package/dist/core/agent-show.d.ts.map +1 -0
  90. package/dist/core/agent-show.js +188 -0
  91. package/dist/core/agent-show.js.map +1 -0
  92. package/dist/core/approval-authority.d.ts +17 -14
  93. package/dist/core/approval-authority.d.ts.map +1 -1
  94. package/dist/core/approval-authority.js +9 -9
  95. package/dist/core/approval-authority.js.map +1 -1
  96. package/dist/core/builtin-asset.d.ts +18 -15
  97. package/dist/core/builtin-asset.d.ts.map +1 -1
  98. package/dist/core/builtin-asset.js +17 -14
  99. package/dist/core/builtin-asset.js.map +1 -1
  100. package/dist/core/builtin-integrity.d.ts +12 -2
  101. package/dist/core/builtin-integrity.d.ts.map +1 -1
  102. package/dist/core/builtin-integrity.js +85 -9
  103. package/dist/core/builtin-integrity.js.map +1 -1
  104. package/dist/core/confinement.d.ts +3 -1
  105. package/dist/core/confinement.d.ts.map +1 -1
  106. package/dist/core/confinement.js +7 -4
  107. package/dist/core/confinement.js.map +1 -1
  108. package/dist/core/context.d.ts +150 -98
  109. package/dist/core/context.d.ts.map +1 -1
  110. package/dist/core/context.js +602 -66
  111. package/dist/core/context.js.map +1 -1
  112. package/dist/core/directive-assign.d.ts +33 -7
  113. package/dist/core/directive-assign.d.ts.map +1 -1
  114. package/dist/core/directive-assign.js +67 -27
  115. package/dist/core/directive-assign.js.map +1 -1
  116. package/dist/core/directive-scope.d.ts +36 -0
  117. package/dist/core/directive-scope.d.ts.map +1 -0
  118. package/dist/core/directive-scope.js +34 -0
  119. package/dist/core/directive-scope.js.map +1 -0
  120. package/dist/core/directives-list.d.ts +13 -3
  121. package/dist/core/directives-list.d.ts.map +1 -1
  122. package/dist/core/directives-list.js +18 -6
  123. package/dist/core/directives-list.js.map +1 -1
  124. package/dist/core/dry-run.d.ts +33 -0
  125. package/dist/core/dry-run.d.ts.map +1 -0
  126. package/dist/core/dry-run.js +45 -0
  127. package/dist/core/dry-run.js.map +1 -0
  128. package/dist/core/element-ref.d.ts +23 -0
  129. package/dist/core/element-ref.d.ts.map +1 -0
  130. package/dist/core/element-ref.js +24 -0
  131. package/dist/core/element-ref.js.map +1 -0
  132. package/dist/core/error-details.d.ts +20 -0
  133. package/dist/core/error-details.d.ts.map +1 -0
  134. package/dist/core/error-details.js +65 -0
  135. package/dist/core/error-details.js.map +1 -0
  136. package/dist/core/exit-code.js +6 -6
  137. package/dist/core/git-identity.d.ts +46 -11
  138. package/dist/core/git-identity.d.ts.map +1 -1
  139. package/dist/core/git-identity.js +140 -27
  140. package/dist/core/git-identity.js.map +1 -1
  141. package/dist/core/index.d.ts +189 -14
  142. package/dist/core/index.d.ts.map +1 -1
  143. package/dist/core/index.js +1241 -238
  144. package/dist/core/index.js.map +1 -1
  145. package/dist/core/init.d.ts +50 -8
  146. package/dist/core/init.d.ts.map +1 -1
  147. package/dist/core/init.js +139 -27
  148. package/dist/core/init.js.map +1 -1
  149. package/dist/core/loaders.d.ts +170 -14
  150. package/dist/core/loaders.d.ts.map +1 -1
  151. package/dist/core/loaders.js +570 -89
  152. package/dist/core/loaders.js.map +1 -1
  153. package/dist/core/memory-add-link.d.ts +28 -0
  154. package/dist/core/memory-add-link.d.ts.map +1 -0
  155. package/dist/core/memory-add-link.js +67 -0
  156. package/dist/core/memory-add-link.js.map +1 -0
  157. package/dist/core/memory-add-type.d.ts +25 -1
  158. package/dist/core/memory-add-type.d.ts.map +1 -1
  159. package/dist/core/memory-add-type.js +59 -1
  160. package/dist/core/memory-add-type.js.map +1 -1
  161. package/dist/core/memory-amend.d.ts +80 -0
  162. package/dist/core/memory-amend.d.ts.map +1 -0
  163. package/dist/core/memory-amend.js +160 -0
  164. package/dist/core/memory-amend.js.map +1 -0
  165. package/dist/core/memory-supersede.d.ts +28 -0
  166. package/dist/core/memory-supersede.d.ts.map +1 -0
  167. package/dist/core/memory-supersede.js +79 -0
  168. package/dist/core/memory-supersede.js.map +1 -0
  169. package/dist/core/memory-transition.d.ts +190 -30
  170. package/dist/core/memory-transition.d.ts.map +1 -1
  171. package/dist/core/memory-transition.js +480 -59
  172. package/dist/core/memory-transition.js.map +1 -1
  173. package/dist/core/registry.d.ts +147 -23
  174. package/dist/core/registry.d.ts.map +1 -1
  175. package/dist/core/registry.js +50 -0
  176. package/dist/core/registry.js.map +1 -1
  177. package/dist/core/relevance.d.ts +74 -12
  178. package/dist/core/relevance.d.ts.map +1 -1
  179. package/dist/core/relevance.js +45 -27
  180. package/dist/core/relevance.js.map +1 -1
  181. package/dist/core/require-reason.d.ts.map +1 -1
  182. package/dist/core/require-reason.js +6 -5
  183. package/dist/core/require-reason.js.map +1 -1
  184. package/dist/core/required-fields.d.ts +28 -0
  185. package/dist/core/required-fields.d.ts.map +1 -0
  186. package/dist/core/required-fields.js +60 -0
  187. package/dist/core/required-fields.js.map +1 -0
  188. package/dist/core/revision.d.ts +82 -0
  189. package/dist/core/revision.d.ts.map +1 -0
  190. package/dist/core/revision.js +144 -0
  191. package/dist/core/revision.js.map +1 -0
  192. package/dist/core/types.d.ts +28 -2
  193. package/dist/core/types.d.ts.map +1 -1
  194. package/dist/core/types.js +12 -3
  195. package/dist/core/types.js.map +1 -1
  196. package/dist/core/workflow-core-checks.d.ts +34 -0
  197. package/dist/core/workflow-core-checks.d.ts.map +1 -0
  198. package/dist/core/workflow-core-checks.js +403 -0
  199. package/dist/core/workflow-core-checks.js.map +1 -0
  200. package/dist/core/workflow-create-remove.d.ts +65 -0
  201. package/dist/core/workflow-create-remove.d.ts.map +1 -0
  202. package/dist/core/workflow-create-remove.js +277 -0
  203. package/dist/core/workflow-create-remove.js.map +1 -0
  204. package/dist/core/workflow-deduction.d.ts +48 -0
  205. package/dist/core/workflow-deduction.d.ts.map +1 -0
  206. package/dist/core/workflow-deduction.js +523 -0
  207. package/dist/core/workflow-deduction.js.map +1 -0
  208. package/dist/core/workflow-diagnostics.d.ts +83 -0
  209. package/dist/core/workflow-diagnostics.d.ts.map +1 -0
  210. package/dist/core/workflow-diagnostics.js +375 -0
  211. package/dist/core/workflow-diagnostics.js.map +1 -0
  212. package/dist/core/workflow-exit-state.d.ts +125 -0
  213. package/dist/core/workflow-exit-state.d.ts.map +1 -0
  214. package/dist/core/workflow-exit-state.js +243 -0
  215. package/dist/core/workflow-exit-state.js.map +1 -0
  216. package/dist/core/workflow-finalize.d.ts +37 -0
  217. package/dist/core/workflow-finalize.d.ts.map +1 -0
  218. package/dist/core/workflow-finalize.js +153 -0
  219. package/dist/core/workflow-finalize.js.map +1 -0
  220. package/dist/core/workflow-list-show.d.ts +176 -0
  221. package/dist/core/workflow-list-show.d.ts.map +1 -0
  222. package/dist/core/workflow-list-show.js +268 -0
  223. package/dist/core/workflow-list-show.js.map +1 -0
  224. package/dist/core/workflow-next.d.ts +268 -0
  225. package/dist/core/workflow-next.d.ts.map +1 -0
  226. package/dist/core/workflow-next.js +503 -0
  227. package/dist/core/workflow-next.js.map +1 -0
  228. package/dist/core/workflow-registry.d.ts +52 -0
  229. package/dist/core/workflow-registry.d.ts.map +1 -0
  230. package/dist/core/workflow-registry.js +158 -0
  231. package/dist/core/workflow-registry.js.map +1 -0
  232. package/dist/core/workflow-start-end.d.ts +71 -0
  233. package/dist/core/workflow-start-end.d.ts.map +1 -0
  234. package/dist/core/workflow-start-end.js +298 -0
  235. package/dist/core/workflow-start-end.js.map +1 -0
  236. package/dist/core/workflow-status.d.ts +83 -0
  237. package/dist/core/workflow-status.d.ts.map +1 -0
  238. package/dist/core/workflow-status.js +125 -0
  239. package/dist/core/workflow-status.js.map +1 -0
  240. package/dist/core/write-guard.d.ts +51 -8
  241. package/dist/core/write-guard.d.ts.map +1 -1
  242. package/dist/core/write-guard.js +139 -9
  243. package/dist/core/write-guard.js.map +1 -1
  244. package/dist/directives/index.d.ts +3 -2
  245. package/dist/directives/index.d.ts.map +1 -1
  246. package/dist/directives/index.js +5 -3
  247. package/dist/directives/index.js.map +1 -1
  248. package/dist/directives/schema.d.ts +35 -30
  249. package/dist/directives/schema.d.ts.map +1 -1
  250. package/dist/directives/schema.js +36 -30
  251. package/dist/directives/schema.js.map +1 -1
  252. package/dist/directives/version.d.ts +28 -0
  253. package/dist/directives/version.d.ts.map +1 -0
  254. package/dist/directives/version.js +51 -0
  255. package/dist/directives/version.js.map +1 -0
  256. package/dist/dna/edit.d.ts +7 -6
  257. package/dist/dna/edit.d.ts.map +1 -1
  258. package/dist/dna/edit.js +96 -41
  259. package/dist/dna/edit.js.map +1 -1
  260. package/dist/dna/mutate.js +18 -3
  261. package/dist/dna/mutate.js.map +1 -1
  262. package/dist/dna/path.d.ts +2 -2
  263. package/dist/dna/roles.d.ts +1 -1
  264. package/dist/dna/schema.d.ts +61 -3
  265. package/dist/dna/schema.d.ts.map +1 -1
  266. package/dist/dna/schema.js +121 -6
  267. package/dist/dna/schema.js.map +1 -1
  268. package/dist/mcp/dna-resource.d.ts.map +1 -1
  269. package/dist/mcp/dna-resource.js +4 -4
  270. package/dist/mcp/dna-resource.js.map +1 -1
  271. package/dist/mcp/index.d.ts +9 -5
  272. package/dist/mcp/index.d.ts.map +1 -1
  273. package/dist/mcp/index.js +13 -2
  274. package/dist/mcp/index.js.map +1 -1
  275. package/dist/mcp/memory-resource.d.ts.map +1 -1
  276. package/dist/mcp/memory-resource.js +30 -19
  277. package/dist/mcp/memory-resource.js.map +1 -1
  278. package/dist/mcp/prompt.d.ts +61 -24
  279. package/dist/mcp/prompt.d.ts.map +1 -1
  280. package/dist/mcp/prompt.js +176 -47
  281. package/dist/mcp/prompt.js.map +1 -1
  282. package/dist/mcp/read-only.d.ts +39 -0
  283. package/dist/mcp/read-only.d.ts.map +1 -1
  284. package/dist/mcp/read-only.js +61 -0
  285. package/dist/mcp/read-only.js.map +1 -1
  286. package/dist/mcp/registrar.d.ts +10 -0
  287. package/dist/mcp/registrar.d.ts.map +1 -1
  288. package/dist/mcp/registrar.js +48 -12
  289. package/dist/mcp/registrar.js.map +1 -1
  290. package/dist/mcp/server.d.ts +21 -14
  291. package/dist/mcp/server.d.ts.map +1 -1
  292. package/dist/mcp/server.js +41 -15
  293. package/dist/mcp/server.js.map +1 -1
  294. package/dist/mcp/session-resource.d.ts +13 -0
  295. package/dist/mcp/session-resource.d.ts.map +1 -0
  296. package/dist/mcp/session-resource.js +65 -0
  297. package/dist/mcp/session-resource.js.map +1 -0
  298. package/dist/mcp/workflow-resource.d.ts +18 -0
  299. package/dist/mcp/workflow-resource.d.ts.map +1 -1
  300. package/dist/mcp/workflow-resource.js +37 -8
  301. package/dist/mcp/workflow-resource.js.map +1 -1
  302. package/dist/memory/add.d.ts +160 -17
  303. package/dist/memory/add.d.ts.map +1 -1
  304. package/dist/memory/add.js +361 -51
  305. package/dist/memory/add.js.map +1 -1
  306. package/dist/memory/audit.d.ts +165 -32
  307. package/dist/memory/audit.d.ts.map +1 -1
  308. package/dist/memory/audit.js +267 -97
  309. package/dist/memory/audit.js.map +1 -1
  310. package/dist/memory/commit-message.d.ts +60 -38
  311. package/dist/memory/commit-message.d.ts.map +1 -1
  312. package/dist/memory/commit-message.js +167 -21
  313. package/dist/memory/commit-message.js.map +1 -1
  314. package/dist/memory/entry.d.ts.map +1 -1
  315. package/dist/memory/entry.js +1 -2
  316. package/dist/memory/entry.js.map +1 -1
  317. package/dist/memory/frontmatter-edit.d.ts +16 -4
  318. package/dist/memory/frontmatter-edit.d.ts.map +1 -1
  319. package/dist/memory/frontmatter-edit.js +13 -1
  320. package/dist/memory/frontmatter-edit.js.map +1 -1
  321. package/dist/memory/git-log.d.ts +18 -6
  322. package/dist/memory/git-log.d.ts.map +1 -1
  323. package/dist/memory/git-log.js +40 -13
  324. package/dist/memory/git-log.js.map +1 -1
  325. package/dist/memory/history.d.ts +74 -13
  326. package/dist/memory/history.d.ts.map +1 -1
  327. package/dist/memory/history.js +129 -45
  328. package/dist/memory/history.js.map +1 -1
  329. package/dist/memory/index.d.ts +13 -11
  330. package/dist/memory/index.d.ts.map +1 -1
  331. package/dist/memory/index.js +38 -3
  332. package/dist/memory/index.js.map +1 -1
  333. package/dist/memory/query.d.ts +161 -19
  334. package/dist/memory/query.d.ts.map +1 -1
  335. package/dist/memory/query.js +435 -55
  336. package/dist/memory/query.js.map +1 -1
  337. package/dist/memory/schema.d.ts +52 -3
  338. package/dist/memory/schema.d.ts.map +1 -1
  339. package/dist/memory/schema.js +132 -8
  340. package/dist/memory/schema.js.map +1 -1
  341. package/dist/memory/state-machine.d.ts +65 -10
  342. package/dist/memory/state-machine.d.ts.map +1 -1
  343. package/dist/memory/state-machine.js +136 -48
  344. package/dist/memory/state-machine.js.map +1 -1
  345. package/dist/memory/submit.d.ts +52 -3
  346. package/dist/memory/submit.d.ts.map +1 -1
  347. package/dist/memory/submit.js +118 -11
  348. package/dist/memory/submit.js.map +1 -1
  349. package/dist/storage/build-stamp.d.ts +18 -0
  350. package/dist/storage/build-stamp.d.ts.map +1 -0
  351. package/dist/storage/build-stamp.js +68 -0
  352. package/dist/storage/build-stamp.js.map +1 -0
  353. package/dist/storage/builtin-adapters.d.ts +32 -0
  354. package/dist/storage/builtin-adapters.d.ts.map +1 -0
  355. package/dist/storage/builtin-adapters.js +100 -0
  356. package/dist/storage/builtin-adapters.js.map +1 -0
  357. package/dist/storage/builtin-directives.d.ts +0 -29
  358. package/dist/storage/builtin-directives.d.ts.map +1 -1
  359. package/dist/storage/builtin-directives.js +9 -4
  360. package/dist/storage/builtin-directives.js.map +1 -1
  361. package/dist/storage/commit.d.ts +310 -3
  362. package/dist/storage/commit.d.ts.map +1 -1
  363. package/dist/storage/commit.js +807 -33
  364. package/dist/storage/commit.js.map +1 -1
  365. package/dist/storage/document.d.ts +6 -0
  366. package/dist/storage/document.d.ts.map +1 -1
  367. package/dist/storage/document.js +10 -1
  368. package/dist/storage/document.js.map +1 -1
  369. package/dist/storage/dry-run.d.ts +65 -0
  370. package/dist/storage/dry-run.d.ts.map +1 -0
  371. package/dist/storage/dry-run.js +150 -0
  372. package/dist/storage/dry-run.js.map +1 -0
  373. package/dist/storage/errors.d.ts +26 -0
  374. package/dist/storage/errors.d.ts.map +1 -1
  375. package/dist/storage/errors.js +27 -1
  376. package/dist/storage/errors.js.map +1 -1
  377. package/dist/storage/frontmatter.d.ts +1 -1
  378. package/dist/storage/frontmatter.js +1 -1
  379. package/dist/storage/git-read.d.ts +64 -0
  380. package/dist/storage/git-read.d.ts.map +1 -0
  381. package/dist/storage/git-read.js +107 -0
  382. package/dist/storage/git-read.js.map +1 -0
  383. package/dist/storage/index.d.ts +13 -5
  384. package/dist/storage/index.d.ts.map +1 -1
  385. package/dist/storage/index.js +39 -2
  386. package/dist/storage/index.js.map +1 -1
  387. package/dist/storage/layout.d.ts +2 -2
  388. package/dist/storage/layout.d.ts.map +1 -1
  389. package/dist/storage/layout.js +2 -7
  390. package/dist/storage/layout.js.map +1 -1
  391. package/dist/storage/memory-path.d.ts +18 -5
  392. package/dist/storage/memory-path.d.ts.map +1 -1
  393. package/dist/storage/memory-path.js +41 -5
  394. package/dist/storage/memory-path.js.map +1 -1
  395. package/dist/storage/snapshot.js +1 -1
  396. package/dist/storage/templates.d.ts +33 -6
  397. package/dist/storage/templates.d.ts.map +1 -1
  398. package/dist/storage/templates.js +182 -17
  399. package/dist/storage/templates.js.map +1 -1
  400. package/dist/validation/config-version.d.ts +19 -0
  401. package/dist/validation/config-version.d.ts.map +1 -0
  402. package/dist/validation/config-version.js +53 -0
  403. package/dist/validation/config-version.js.map +1 -0
  404. package/dist/validation/diagnostic.d.ts +40 -0
  405. package/dist/validation/diagnostic.d.ts.map +1 -0
  406. package/dist/validation/diagnostic.js +41 -0
  407. package/dist/validation/diagnostic.js.map +1 -0
  408. package/dist/validation/format.d.ts +74 -0
  409. package/dist/validation/format.d.ts.map +1 -0
  410. package/dist/validation/format.js +104 -0
  411. package/dist/validation/format.js.map +1 -0
  412. package/dist/validation/id.d.ts +40 -0
  413. package/dist/validation/id.d.ts.map +1 -1
  414. package/dist/validation/id.js +99 -12
  415. package/dist/validation/id.js.map +1 -1
  416. package/dist/validation/identity.d.ts +40 -0
  417. package/dist/validation/identity.d.ts.map +1 -0
  418. package/dist/validation/identity.js +78 -0
  419. package/dist/validation/identity.js.map +1 -0
  420. package/dist/validation/index.d.ts +9 -3
  421. package/dist/validation/index.d.ts.map +1 -1
  422. package/dist/validation/index.js +33 -1
  423. package/dist/validation/index.js.map +1 -1
  424. package/dist/validation/secret-scan.d.ts +10 -7
  425. package/dist/validation/secret-scan.d.ts.map +1 -1
  426. package/dist/validation/secret-scan.js +39 -16
  427. package/dist/validation/secret-scan.js.map +1 -1
  428. package/dist/validation/warning.d.ts +30 -16
  429. package/dist/validation/warning.d.ts.map +1 -1
  430. package/dist/validation/warning.js +74 -7
  431. package/dist/validation/warning.js.map +1 -1
  432. package/dist/workflow/bindings.d.ts +152 -0
  433. package/dist/workflow/bindings.d.ts.map +1 -0
  434. package/dist/workflow/bindings.js +249 -0
  435. package/dist/workflow/bindings.js.map +1 -0
  436. package/dist/workflow/create.d.ts +13 -0
  437. package/dist/workflow/create.d.ts.map +1 -0
  438. package/dist/workflow/create.js +41 -0
  439. package/dist/workflow/create.js.map +1 -0
  440. package/dist/workflow/deduce.d.ts +400 -0
  441. package/dist/workflow/deduce.d.ts.map +1 -0
  442. package/dist/workflow/deduce.js +1109 -0
  443. package/dist/workflow/deduce.js.map +1 -0
  444. package/dist/workflow/manifest-edit.d.ts +19 -0
  445. package/dist/workflow/manifest-edit.d.ts.map +1 -0
  446. package/dist/workflow/manifest-edit.js +124 -0
  447. package/dist/workflow/manifest-edit.js.map +1 -0
  448. package/dist/workflow/schema.d.ts +158 -19
  449. package/dist/workflow/schema.d.ts.map +1 -1
  450. package/dist/workflow/schema.js +190 -16
  451. package/dist/workflow/schema.js.map +1 -1
  452. package/package.json +37 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/agent/launch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { AdapterManifest } from './schema';
2
+ /** Where an adapter is declared: `built-in/` ships with the package, `custom/` is the project's (§2.1). */
3
+ export type AdapterKind = 'built-in' | 'custom';
4
+ /** The `E_*` code of a cross-field rule the manifest breaks (`spec-009` §3). */
5
+ export declare const E_ADAPTER_MANIFEST = "E_ADAPTER_MANIFEST";
6
+ /** What a manifest is checked against besides its own bytes. */
7
+ export interface AdapterSource {
8
+ /** The adapter's name — its file basename, which the manifest's `name` must equal (§2.1). */
9
+ readonly name: string;
10
+ /** The directory it was found in; a built-in must carry `verified_with` (§2.2). */
11
+ readonly kind: AdapterKind;
12
+ /** The label every issue carries, e.g. `HEAD:.wingfoil/agents/custom/fake.yaml`. */
13
+ readonly file: string;
14
+ }
15
+ /**
16
+ * Parse and validate one adapter manifest's text (`spec-016` §2.2–§2.3).
17
+ *
18
+ * A manifest written in a newer format than {@link ADAPTER_MANIFEST_FORMAT} is refused for its format
19
+ * alone, before the structural pass, as the one issue `E_INVALID_FORMAT` on `format` with `dl-149`'s
20
+ * upgrade-WingFoil message (task-200, `bug-242`) — not as whatever of its content today's schema
21
+ * misreads. `format` stays required: an absent one is a structural error.
22
+ *
23
+ * @param text - The manifest's YAML, as read from the baseline the caller chose.
24
+ * @param source - Its name, kind and file label (see {@link AdapterSource}).
25
+ * @returns The validated manifest, `launch.interactive.terminal` defaulted to `required`.
26
+ * @throws `ValidationError` — a YAML parse error, every Pass-1 issue, or every Pass-2 issue, each
27
+ * carrying `source.file`.
28
+ */
29
+ export declare function parseAdapterManifest(text: string, source: AdapterSource): AdapterManifest;
30
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/agent/manifest.ts"],"names":[],"mappings":"AAWA,OAAO,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAEpE,2GAA2G;AAC3G,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAqDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,eAAe,CAiBzF"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.E_ADAPTER_MANIFEST = void 0;
4
+ exports.parseAdapterManifest = parseAdapterManifest;
5
+ const validation_1 = require("../validation");
6
+ const format_1 = require("../validation/format");
7
+ const placeholders_1 = require("./placeholders");
8
+ const schema_1 = require("./schema");
9
+ /** The `E_*` code of a cross-field rule the manifest breaks (`spec-009` §3). */
10
+ exports.E_ADAPTER_MANIFEST = 'E_ADAPTER_MANIFEST';
11
+ /**
12
+ * §2.1's basename rule and §2.2's "Req." column where it depends on another value: `mcp.template` with
13
+ * `mcp.via: config-file` or `config-arg`; `session.assign_args` with `session.id: assign`; `session.lookup_args` with
14
+ * `lookup` and `session.field` with `output` or `lookup`; the same pair under `usage.from`
15
+ * (`usage.lookup_args`, `usage.fields`); `verified_with` on a built-in. Then §2.2's one exclusion,
16
+ * `prompt.via: stdin` beside an interactive launch.
17
+ */
18
+ function crossFieldIssues(manifest, source) {
19
+ const issues = [];
20
+ const issue = (path, message) => {
21
+ issues.push({ code: exports.E_ADAPTER_MANIFEST, path, file: source.file, message });
22
+ };
23
+ const required = (present, path, when) => {
24
+ if (!present)
25
+ issue(path, `required with ${when} (spec-016 §2.2)`);
26
+ };
27
+ if (manifest.name !== source.name) {
28
+ issue('name', `must equal the file basename '${source.name}' (spec-016 §2.1); it is '${manifest.name}'`);
29
+ }
30
+ if (source.kind === 'built-in') {
31
+ required(manifest.verified_with !== undefined, 'verified_with', 'a built-in adapter: the agent CLI version it was checked against by hand');
32
+ }
33
+ // Every format-1 manifest declares `launch.interactive` (it is required), and an interactive agent
34
+ // owns stdin, so `stdin` is refused here; it becomes reachable only if a headless-only launch is.
35
+ if (manifest.prompt.via === 'stdin') {
36
+ issue('prompt.via', "'stdin' is legal only for a headless launch: an interactive agent owns stdin, and launch.interactive is declared (spec-016 §2.2)");
37
+ }
38
+ if (manifest.mcp.via === 'config-file' || manifest.mcp.via === 'config-arg') {
39
+ required(manifest.mcp.template !== undefined, 'mcp.template', `mcp.via: ${manifest.mcp.via}`);
40
+ }
41
+ const session = manifest.session;
42
+ if (session.id === 'assign')
43
+ required(session.assign_args !== undefined, 'session.assign_args', 'session.id: assign');
44
+ if (session.id === 'lookup')
45
+ required(session.lookup_args !== undefined, 'session.lookup_args', 'session.id: lookup');
46
+ if (session.id === 'output' || session.id === 'lookup') {
47
+ required(session.field !== undefined, 'session.field', `session.id: ${session.id}`);
48
+ }
49
+ // Resume is read from v0.4 (§7), but a manifest that declares it supported must say how (bug-234).
50
+ if (session.resume.supported)
51
+ required(session.resume.args !== undefined, 'session.resume.args', 'session.resume.supported: true');
52
+ const usage = manifest.usage;
53
+ if (usage.from === 'lookup')
54
+ required(usage.lookup_args !== undefined, 'usage.lookup_args', 'usage.from: lookup');
55
+ if (usage.from === 'output' || usage.from === 'lookup') {
56
+ required(usage.fields !== undefined, 'usage.fields', `usage.from: ${usage.from}`);
57
+ }
58
+ return issues;
59
+ }
60
+ /**
61
+ * Parse and validate one adapter manifest's text (`spec-016` §2.2–§2.3).
62
+ *
63
+ * A manifest written in a newer format than {@link ADAPTER_MANIFEST_FORMAT} is refused for its format
64
+ * alone, before the structural pass, as the one issue `E_INVALID_FORMAT` on `format` with `dl-149`'s
65
+ * upgrade-WingFoil message (task-200, `bug-242`) — not as whatever of its content today's schema
66
+ * misreads. `format` stays required: an absent one is a structural error.
67
+ *
68
+ * @param text - The manifest's YAML, as read from the baseline the caller chose.
69
+ * @param source - Its name, kind and file label (see {@link AdapterSource}).
70
+ * @returns The validated manifest, `launch.interactive.terminal` defaulted to `required`.
71
+ * @throws `ValidationError` — a YAML parse error, every Pass-1 issue, or every Pass-2 issue, each
72
+ * carrying `source.file`.
73
+ */
74
+ function parseAdapterManifest(text, source) {
75
+ const raw = (0, validation_1.parseYaml)(text, source.file);
76
+ (0, format_1.refuseNewerFormat)(raw, schema_1.ADAPTER_MANIFEST_FORMAT, source.file);
77
+ return (0, validation_1.runValidation)(schema_1.AdapterManifest, raw, source.file, {
78
+ semanticChecks: [
79
+ () => {
80
+ // Pass 1 has accepted `raw`, so it has the input shape.
81
+ const manifest = raw;
82
+ const issues = [
83
+ ...crossFieldIssues(manifest, source),
84
+ ...(0, placeholders_1.placeholderIssues)(manifest, source.file),
85
+ ...(0, placeholders_1.requiredPlaceholderIssues)(manifest, source.file),
86
+ ];
87
+ if (issues.length > 0)
88
+ throw new validation_1.ValidationError(issues);
89
+ },
90
+ ],
91
+ });
92
+ }
93
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/agent/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The adapter manifest's placeholders (`spec-016` §2.3, task-177): a **closed** set, each filling one
3
+ * or more **whole** argv elements, never part of one (`dl-090` Q3 (a): "argv, no shell. … Interpolation
4
+ * fills whole arguments only"), and each legal only in the fields §2.3 lists. Some are also
5
+ * **required** where a declared choice depends on them (task-200, `bug-234`): a manifest that
6
+ * validates can launch.
7
+ *
8
+ * This module only checks a manifest; it renders nothing. Rendering is `agent execute`'s (§3.3
9
+ * step 10), a later task's.
10
+ */
11
+ import type { z } from 'zod';
12
+ import type { ValidationIssue } from '../validation';
13
+ import type { AdapterManifest } from './schema';
14
+ /** `spec-016` §2.3's placeholder names, in the table's order. Nothing else is a placeholder. */
15
+ export declare const ADAPTER_PLACEHOLDERS: readonly ["bootstrap", "bootstrap_file", "mcp_config_file", "mcp_config", "mcp_command", "mcp_args", "session_id"];
16
+ /** One of {@link ADAPTER_PLACEHOLDERS}. */
17
+ export type AdapterPlaceholder = (typeof ADAPTER_PLACEHOLDERS)[number];
18
+ /** The `E_*` code of every placeholder issue (`spec-009` §3). */
19
+ export declare const E_ADAPTER_PLACEHOLDER = "E_ADAPTER_PLACEHOLDER";
20
+ /** The manifest as Pass 1 accepted it (defaults not yet applied; they change nothing checked here). */
21
+ type ManifestInput = z.input<typeof AdapterManifest>;
22
+ /**
23
+ * Every §2.3 violation in `manifest`, in field order: an unknown placeholder, a placeholder concatenated
24
+ * inside an argv element, and a placeholder used outside the fields — or under the conditions — §2.3
25
+ * lists. Fields §2.3 does not list (`command`, `verified_with`, `version_args`, `session.field`,
26
+ * `usage.fields`, `summary.export_args`) hold no placeholder at all.
27
+ *
28
+ * @param manifest - A manifest Pass 1 has accepted.
29
+ * @param file - The label every issue carries (`<rev>:<path>`).
30
+ */
31
+ export declare function placeholderIssues(manifest: ManifestInput, file: string): ValidationIssue[];
32
+ /**
33
+ * The placeholders a declared choice makes **required** (`spec-016` §2.3, task-200, `bug-234`), so that
34
+ * a manifest that validates can launch:
35
+ * - every declared launch's `args` carries the placeholder of `prompt.via` (`{bootstrap}` for `arg`,
36
+ * `{bootstrap_file}` for `file`; `stdin` needs none) and of `mcp.via` (`{mcp_config_file}` for
37
+ * `config-file`; `{mcp_config}` for `config-arg`; `{mcp_command}` and `{mcp_args}` for `args`) — without it the agent starts without
38
+ * its bootstrap, or without the `wingfoil` server `adr-012` makes mandatory;
39
+ * - `session.assign_args`, when `session.id` is `assign`, carries `{session_id}` — without it the
40
+ * assigned id never reaches the agent, and the run record names a session that does not exist;
41
+ * - `session.resume.args`, when `session.resume.supported` is `true`, carries `{session_id}`.
42
+ * An absent field is §2.2's "required with" rule (`E_ADAPTER_MANIFEST`), not reported again here.
43
+ *
44
+ * @param manifest - A manifest Pass 1 has accepted.
45
+ * @param file - The label every issue carries (`<rev>:<path>`).
46
+ */
47
+ export declare function requiredPlaceholderIssues(manifest: ManifestInput, file: string): ValidationIssue[];
48
+ export {};
49
+ //# sourceMappingURL=placeholders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholders.d.ts","sourceRoot":"","sources":["../../src/agent/placeholders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,oHAQvB,CAAC;AAEX,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AA4B7D,uGAAuG;AACvG,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAoDrD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAmC1F;AAOD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CA6BlG"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.E_ADAPTER_PLACEHOLDER = exports.ADAPTER_PLACEHOLDERS = void 0;
4
+ exports.placeholderIssues = placeholderIssues;
5
+ exports.requiredPlaceholderIssues = requiredPlaceholderIssues;
6
+ /** `spec-016` §2.3's placeholder names, in the table's order. Nothing else is a placeholder. */
7
+ exports.ADAPTER_PLACEHOLDERS = [
8
+ 'bootstrap',
9
+ 'bootstrap_file',
10
+ 'mcp_config_file',
11
+ 'mcp_config',
12
+ 'mcp_command',
13
+ 'mcp_args',
14
+ 'session_id',
15
+ ];
16
+ /** The `E_*` code of every placeholder issue (`spec-009` §3). */
17
+ exports.E_ADAPTER_PLACEHOLDER = 'E_ADAPTER_PLACEHOLDER';
18
+ /**
19
+ * A `{name}` token in `mcp.template`. The name class is lower-case words joined by `_`, the shape of
20
+ * every §2.3 name, so the braces of a JSON body (`{"mcpServers": …}`) are never read as a placeholder.
21
+ */
22
+ const TEMPLATE_TOKEN_RE = /\{([a-z][a-z0-9_]*)\}/g;
23
+ /**
24
+ * A `{name}` token in every other field (argv elements, scalars). Wider than {@link TEMPLATE_TOKEN_RE}
25
+ * (task-177 review F1): letters of either case, digits, `_`, `-` and spaces, so a misspelt placeholder
26
+ * (`{Bootstrap}`, `{boot-strap}`, `{bootstrap }`) is refused as unknown instead of reaching the agent
27
+ * as a literal argument. Quotes and colons stay outside the class: no argv field holds JSON.
28
+ */
29
+ const FIELD_TOKEN_RE = /\{([A-Za-z0-9_\- ]+)\}/g;
30
+ /** Where each placeholder is legal, as §2.3's "Legal in" column says it — the text of a refusal. */
31
+ const LEGAL_IN = {
32
+ bootstrap: 'launch.*.args, when prompt.via is arg',
33
+ bootstrap_file: 'launch.*.args, when prompt.via is file',
34
+ mcp_config_file: 'launch.*.args, when mcp.via is config-file',
35
+ mcp_config: 'launch.*.args, when mcp.via is config-arg',
36
+ mcp_command: 'mcp.template, and launch.*.args when mcp.via is args',
37
+ mcp_args: 'mcp.template, and launch.*.args when mcp.via is args',
38
+ session_id: 'session.assign_args and session.resume.args, and session.lookup_args or usage.lookup_args only when session.id is assign',
39
+ };
40
+ /** Every `{name}` token `pattern` finds in `text`, in order of appearance. */
41
+ function tokensOf(text, pattern) {
42
+ return [...text.matchAll(pattern)].map((match) => match[1]);
43
+ }
44
+ function isPlaceholder(name) {
45
+ return exports.ADAPTER_PLACEHOLDERS.includes(name);
46
+ }
47
+ /**
48
+ * The issues of one string field. `legal` is the set of placeholders the field may hold;
49
+ * `wholeElement` is true for an argv element, where a placeholder must be the entire element;
50
+ * `template` is true for `mcp.template` only, whose JSON braces call for the narrow token class.
51
+ */
52
+ function fieldIssues(value, path, file, legal, wholeElement, template = false) {
53
+ const tokens = tokensOf(value, template ? TEMPLATE_TOKEN_RE : FIELD_TOKEN_RE);
54
+ const issues = [];
55
+ const issue = (message) => {
56
+ issues.push({ code: exports.E_ADAPTER_PLACEHOLDER, path, file, message });
57
+ };
58
+ if (wholeElement && tokens.length > 0 && value !== `{${tokens[0]}}`) {
59
+ issue(`a placeholder fills a whole argv element, never part of one: ${JSON.stringify(value)} (spec-016 §2.3, dl-090 Q3 (a))`);
60
+ }
61
+ for (const token of tokens) {
62
+ if (!isPlaceholder(token)) {
63
+ issue(`unknown placeholder {${token}}: the set is closed, {${exports.ADAPTER_PLACEHOLDERS.join('}, {')}} (spec-016 §2.3)`);
64
+ }
65
+ else if (!legal.has(token)) {
66
+ issue(`placeholder {${token}} is not legal here: it is legal in ${LEGAL_IN[token]} (spec-016 §2.3)`);
67
+ }
68
+ }
69
+ return issues;
70
+ }
71
+ /** The issues of an optional argv field, one element at a time (`<path>.<index>`). */
72
+ function argvIssues(args, path, file, legal) {
73
+ return (args ?? []).flatMap((element, index) => fieldIssues(element, `${path}.${index}`, file, legal, true));
74
+ }
75
+ /**
76
+ * Every §2.3 violation in `manifest`, in field order: an unknown placeholder, a placeholder concatenated
77
+ * inside an argv element, and a placeholder used outside the fields — or under the conditions — §2.3
78
+ * lists. Fields §2.3 does not list (`command`, `verified_with`, `version_args`, `session.field`,
79
+ * `usage.fields`, `summary.export_args`) hold no placeholder at all.
80
+ *
81
+ * @param manifest - A manifest Pass 1 has accepted.
82
+ * @param file - The label every issue carries (`<rev>:<path>`).
83
+ */
84
+ function placeholderIssues(manifest, file) {
85
+ const none = new Set();
86
+ const launch = new Set();
87
+ if (manifest.prompt.via === 'arg')
88
+ launch.add('bootstrap');
89
+ if (manifest.prompt.via === 'file')
90
+ launch.add('bootstrap_file');
91
+ if (manifest.mcp.via === 'config-file')
92
+ launch.add('mcp_config_file');
93
+ if (manifest.mcp.via === 'config-arg')
94
+ launch.add('mcp_config');
95
+ if (manifest.mcp.via === 'args') {
96
+ launch.add('mcp_command');
97
+ launch.add('mcp_args');
98
+ }
99
+ const sessionId = new Set(['session_id']);
100
+ // Under `output` or `lookup` the id is not known before the lookup runs (§2.3).
101
+ const lookup = manifest.session.id === 'assign' ? sessionId : none;
102
+ const template = new Set(['mcp_command', 'mcp_args']);
103
+ const fields = manifest.usage.fields ?? {};
104
+ return [
105
+ ...fieldIssues(manifest.command, 'command', file, none, false),
106
+ ...(manifest.verified_with === undefined ? [] : fieldIssues(manifest.verified_with, 'verified_with', file, none, false)),
107
+ ...argvIssues(manifest.version_args, 'version_args', file, none),
108
+ ...argvIssues(manifest.launch.interactive.args, 'launch.interactive.args', file, launch),
109
+ ...argvIssues(manifest.launch.headless?.args, 'launch.headless.args', file, launch),
110
+ ...(manifest.mcp.template === undefined ? [] : fieldIssues(manifest.mcp.template, 'mcp.template', file, template, false, true)),
111
+ ...argvIssues(manifest.session.assign_args, 'session.assign_args', file, sessionId),
112
+ ...argvIssues(manifest.session.lookup_args, 'session.lookup_args', file, lookup),
113
+ ...(manifest.session.field === undefined ? [] : fieldIssues(manifest.session.field, 'session.field', file, none, false)),
114
+ ...argvIssues(manifest.session.resume.args, 'session.resume.args', file, sessionId),
115
+ ...argvIssues(manifest.usage.lookup_args, 'usage.lookup_args', file, lookup),
116
+ ...['model', 'input', 'output', 'cache_read', 'cache_write'].flatMap((key) => {
117
+ const value = fields[key];
118
+ return value === undefined ? [] : fieldIssues(value, `usage.fields.${key}`, file, none, false);
119
+ }),
120
+ ...argvIssues(manifest.summary?.export_args, 'summary.export_args', file, none),
121
+ ];
122
+ }
123
+ /** Whether some element of `args` is exactly the placeholder `name`. */
124
+ function carries(args, name) {
125
+ return args.includes(`{${name}}`);
126
+ }
127
+ /**
128
+ * The placeholders a declared choice makes **required** (`spec-016` §2.3, task-200, `bug-234`), so that
129
+ * a manifest that validates can launch:
130
+ * - every declared launch's `args` carries the placeholder of `prompt.via` (`{bootstrap}` for `arg`,
131
+ * `{bootstrap_file}` for `file`; `stdin` needs none) and of `mcp.via` (`{mcp_config_file}` for
132
+ * `config-file`; `{mcp_config}` for `config-arg`; `{mcp_command}` and `{mcp_args}` for `args`) — without it the agent starts without
133
+ * its bootstrap, or without the `wingfoil` server `adr-012` makes mandatory;
134
+ * - `session.assign_args`, when `session.id` is `assign`, carries `{session_id}` — without it the
135
+ * assigned id never reaches the agent, and the run record names a session that does not exist;
136
+ * - `session.resume.args`, when `session.resume.supported` is `true`, carries `{session_id}`.
137
+ * An absent field is §2.2's "required with" rule (`E_ADAPTER_MANIFEST`), not reported again here.
138
+ *
139
+ * @param manifest - A manifest Pass 1 has accepted.
140
+ * @param file - The label every issue carries (`<rev>:<path>`).
141
+ */
142
+ function requiredPlaceholderIssues(manifest, file) {
143
+ const issues = [];
144
+ const need = (args, path, name, when, why) => {
145
+ if (args === undefined || carries(args, name))
146
+ return;
147
+ issues.push({ code: exports.E_ADAPTER_PLACEHOLDER, path, file, message: `{${name}} is required with ${when}: ${why} (spec-016 §2.3)` });
148
+ };
149
+ const launches = [
150
+ ['launch.interactive.args', manifest.launch.interactive.args],
151
+ ['launch.headless.args', manifest.launch.headless?.args],
152
+ ];
153
+ for (const [path, args] of launches) {
154
+ const noBootstrap = 'without it the agent starts without its bootstrap';
155
+ if (manifest.prompt.via === 'arg')
156
+ need(args, path, 'bootstrap', 'prompt.via: arg', noBootstrap);
157
+ if (manifest.prompt.via === 'file')
158
+ need(args, path, 'bootstrap_file', 'prompt.via: file', noBootstrap);
159
+ const noServer = 'without it the agent runs without the wingfoil MCP server (adr-012)';
160
+ if (manifest.mcp.via === 'config-file')
161
+ need(args, path, 'mcp_config_file', 'mcp.via: config-file', noServer);
162
+ if (manifest.mcp.via === 'config-arg')
163
+ need(args, path, 'mcp_config', 'mcp.via: config-arg', noServer);
164
+ if (manifest.mcp.via === 'args') {
165
+ need(args, path, 'mcp_command', 'mcp.via: args', noServer);
166
+ need(args, path, 'mcp_args', 'mcp.via: args', noServer);
167
+ }
168
+ }
169
+ if (manifest.session.id === 'assign') {
170
+ need(manifest.session.assign_args, 'session.assign_args', 'session_id', 'session.id: assign', 'without it the assigned id never reaches the agent');
171
+ }
172
+ if (manifest.session.resume.supported) {
173
+ need(manifest.session.resume.args, 'session.resume.args', 'session_id', 'session.resume.supported: true', 'without it the agent cannot be told which session to resume');
174
+ }
175
+ return issues;
176
+ }
177
+ //# sourceMappingURL=placeholders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../src/agent/placeholders.ts"],"names":[],"mappings":"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"}