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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchesIgnoreGlob = exports.loadIgnoreGlobs = exports.isBinaryContent = exports.scanProjectSurface = exports.scanText = exports.DEFAULT_IGNORE_FILE = exports.SCAN_SURFACE_ROOTS = exports.SECRET_PATTERNS = exports.parseYaml = exports.ID_CHAR_CLASS = exports.patternToRegExp = exports.generateId = exports.runValidation = exports.emitUnknownFieldWarning = exports.toValidationError = exports.ValidationError = exports.EXIT_VALIDATION = exports.EXIT_INTEGRITY = exports.E_YAML_PARSE_ERROR = exports.E_VALIDATION = void 0;
3
+ exports.matchesIgnoreGlob = exports.loadIgnoreGlobs = exports.isBinaryContent = exports.scanProjectSurface = exports.scanText = exports.DEFAULT_IGNORE_FILE = exports.SCAN_SURFACE_ROOTS = exports.SECRET_PATTERNS = exports.refuseNewerFormat = exports.newerFormatMessage = exports.newerFormatIssue = exports.isNewerFormatError = exports.formatField = exports.WORKFLOWS_YAML_FORMAT = exports.WORKFLOW_FORMAT = exports.ROLES_YAML_FORMAT = exports.MEMORY_YAML_FORMAT = exports.MEMORY_TEMPLATE_FORMAT = exports.E_INVALID_FORMAT = exports.DNA_YAML_FORMAT = exports.DIRECTIVE_FORMAT = exports.ADAPTER_MANIFEST_FORMAT = exports.isBlankIdentityName = exports.isAttributableIdentity = exports.hasReservedDomain = exports.attributionEmailIssue = exports.isVersionIncrease = exports.parseYaml = exports.ID_CHAR_CLASS = exports.patternToSource = exports.patternToRegExp = exports.patternTokens = exports.isNumericToken = exports.isIdPiece = exports.idPatternIssues = exports.generateId = exports.runValidation = exports.withWarningSink = exports.reportWarning = exports.emitUnknownFieldWarning = exports.toValidationError = exports.formatDiagnostic = exports.DiagnosticsError = exports.ValidationError = exports.EXIT_VALIDATION = exports.EXIT_INTEGRITY = exports.E_YAML_PARSE_ERROR = exports.E_VALIDATION = void 0;
4
4
  /**
5
5
  * `src/validation` — the shared validation & ID module (spec-009-validation-strategy,
6
6
  * task-002-validation-id-engine). Single entry point every schema (spec-001/002/003 and the
@@ -13,18 +13,50 @@ Object.defineProperty(exports, "E_YAML_PARSE_ERROR", { enumerable: true, get: fu
13
13
  Object.defineProperty(exports, "EXIT_INTEGRITY", { enumerable: true, get: function () { return errors_1.EXIT_INTEGRITY; } });
14
14
  Object.defineProperty(exports, "EXIT_VALIDATION", { enumerable: true, get: function () { return errors_1.EXIT_VALIDATION; } });
15
15
  Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
16
+ var diagnostic_1 = require("./diagnostic");
17
+ Object.defineProperty(exports, "DiagnosticsError", { enumerable: true, get: function () { return diagnostic_1.DiagnosticsError; } });
18
+ Object.defineProperty(exports, "formatDiagnostic", { enumerable: true, get: function () { return diagnostic_1.formatDiagnostic; } });
16
19
  var error_mapper_1 = require("./error-mapper");
17
20
  Object.defineProperty(exports, "toValidationError", { enumerable: true, get: function () { return error_mapper_1.toValidationError; } });
18
21
  var warning_1 = require("./warning");
19
22
  Object.defineProperty(exports, "emitUnknownFieldWarning", { enumerable: true, get: function () { return warning_1.emitUnknownFieldWarning; } });
23
+ Object.defineProperty(exports, "reportWarning", { enumerable: true, get: function () { return warning_1.reportWarning; } });
24
+ Object.defineProperty(exports, "withWarningSink", { enumerable: true, get: function () { return warning_1.withWarningSink; } });
20
25
  var two_pass_1 = require("./two-pass");
21
26
  Object.defineProperty(exports, "runValidation", { enumerable: true, get: function () { return two_pass_1.runValidation; } });
22
27
  var id_1 = require("./id");
23
28
  Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return id_1.generateId; } });
29
+ Object.defineProperty(exports, "idPatternIssues", { enumerable: true, get: function () { return id_1.idPatternIssues; } });
30
+ Object.defineProperty(exports, "isIdPiece", { enumerable: true, get: function () { return id_1.isIdPiece; } });
31
+ Object.defineProperty(exports, "isNumericToken", { enumerable: true, get: function () { return id_1.isNumericToken; } });
32
+ Object.defineProperty(exports, "patternTokens", { enumerable: true, get: function () { return id_1.patternTokens; } });
24
33
  Object.defineProperty(exports, "patternToRegExp", { enumerable: true, get: function () { return id_1.patternToRegExp; } });
34
+ Object.defineProperty(exports, "patternToSource", { enumerable: true, get: function () { return id_1.patternToSource; } });
25
35
  Object.defineProperty(exports, "ID_CHAR_CLASS", { enumerable: true, get: function () { return id_1.ID_CHAR_CLASS; } });
26
36
  var yaml_1 = require("./yaml");
27
37
  Object.defineProperty(exports, "parseYaml", { enumerable: true, get: function () { return yaml_1.parseYaml; } });
38
+ var config_version_1 = require("./config-version");
39
+ Object.defineProperty(exports, "isVersionIncrease", { enumerable: true, get: function () { return config_version_1.isVersionIncrease; } });
40
+ var identity_1 = require("./identity");
41
+ Object.defineProperty(exports, "attributionEmailIssue", { enumerable: true, get: function () { return identity_1.attributionEmailIssue; } });
42
+ Object.defineProperty(exports, "hasReservedDomain", { enumerable: true, get: function () { return identity_1.hasReservedDomain; } });
43
+ Object.defineProperty(exports, "isAttributableIdentity", { enumerable: true, get: function () { return identity_1.isAttributableIdentity; } });
44
+ Object.defineProperty(exports, "isBlankIdentityName", { enumerable: true, get: function () { return identity_1.isBlankIdentityName; } });
45
+ var format_1 = require("./format");
46
+ Object.defineProperty(exports, "ADAPTER_MANIFEST_FORMAT", { enumerable: true, get: function () { return format_1.ADAPTER_MANIFEST_FORMAT; } });
47
+ Object.defineProperty(exports, "DIRECTIVE_FORMAT", { enumerable: true, get: function () { return format_1.DIRECTIVE_FORMAT; } });
48
+ Object.defineProperty(exports, "DNA_YAML_FORMAT", { enumerable: true, get: function () { return format_1.DNA_YAML_FORMAT; } });
49
+ Object.defineProperty(exports, "E_INVALID_FORMAT", { enumerable: true, get: function () { return format_1.E_INVALID_FORMAT; } });
50
+ Object.defineProperty(exports, "MEMORY_TEMPLATE_FORMAT", { enumerable: true, get: function () { return format_1.MEMORY_TEMPLATE_FORMAT; } });
51
+ Object.defineProperty(exports, "MEMORY_YAML_FORMAT", { enumerable: true, get: function () { return format_1.MEMORY_YAML_FORMAT; } });
52
+ Object.defineProperty(exports, "ROLES_YAML_FORMAT", { enumerable: true, get: function () { return format_1.ROLES_YAML_FORMAT; } });
53
+ Object.defineProperty(exports, "WORKFLOW_FORMAT", { enumerable: true, get: function () { return format_1.WORKFLOW_FORMAT; } });
54
+ Object.defineProperty(exports, "WORKFLOWS_YAML_FORMAT", { enumerable: true, get: function () { return format_1.WORKFLOWS_YAML_FORMAT; } });
55
+ Object.defineProperty(exports, "formatField", { enumerable: true, get: function () { return format_1.formatField; } });
56
+ Object.defineProperty(exports, "isNewerFormatError", { enumerable: true, get: function () { return format_1.isNewerFormatError; } });
57
+ Object.defineProperty(exports, "newerFormatIssue", { enumerable: true, get: function () { return format_1.newerFormatIssue; } });
58
+ Object.defineProperty(exports, "newerFormatMessage", { enumerable: true, get: function () { return format_1.newerFormatMessage; } });
59
+ Object.defineProperty(exports, "refuseNewerFormat", { enumerable: true, get: function () { return format_1.refuseNewerFormat; } });
28
60
  var secret_scan_1 = require("./secret-scan");
29
61
  Object.defineProperty(exports, "SECRET_PATTERNS", { enumerable: true, get: function () { return secret_scan_1.SECRET_PATTERNS; } });
30
62
  Object.defineProperty(exports, "SCAN_SURFACE_ROOTS", { enumerable: true, get: function () { return secret_scan_1.SCAN_SURFACE_ROOTS; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AAGjB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qCAAoD;AAA3C,kHAAA,uBAAuB,OAAA;AAEhC,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AAEtB,2BAAkE;AAAzD,gGAAA,UAAU,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,mGAAA,aAAa,OAAA;AACnD,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,6CASuB;AARrB,8GAAA,eAAe,OAAA;AACf,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA;AACnB,uGAAA,QAAQ,OAAA;AACR,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mCAMkB;AALhB,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AAGjB,2CAAkE;AAAzD,8GAAA,gBAAgB,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAE3C,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qCAAoF;AAA3E,kHAAA,uBAAuB,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,0GAAA,eAAe,OAAA;AAEhE,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AAEtB,2BAA8I;AAArI,gGAAA,UAAU,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,+FAAA,SAAS,OAAA;AAAE,oGAAA,cAAc,OAAA;AAAE,mGAAA,aAAa,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,qGAAA,eAAe,OAAA;AAAE,mGAAA,aAAa,OAAA;AAC/H,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAC1B,uCAAmH;AAA1G,iHAAA,qBAAqB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAE9F,mCAekB;AAdhB,iHAAA,uBAAuB,OAAA;AACvB,0GAAA,gBAAgB,OAAA;AAChB,yGAAA,eAAe,OAAA;AACf,0GAAA,gBAAgB,OAAA;AAChB,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,+GAAA,qBAAqB,OAAA;AACrB,qGAAA,WAAW,OAAA;AACX,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,4GAAA,kBAAkB,OAAA;AAClB,2GAAA,iBAAiB,OAAA;AAEnB,6CASuB;AARrB,8GAAA,eAAe,OAAA;AACf,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA;AACnB,uGAAA,QAAQ,OAAA;AACR,iHAAA,kBAAkB,OAAA;AAClB,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA"}
@@ -74,19 +74,22 @@ export interface ScanTextOptions {
74
74
  /**
75
75
  * Scan one file's already-decoded text content (spec-007 §4): evaluate {@link SECRET_PATTERNS} in
76
76
  * declared order against every line, apply the §3 exclusions, and classify each surviving finding by
77
- * severity. This is the seam a future commit-time gate or `task-044`'s `init` integrity check calls
78
- * per file-about-to-be-written/committed (spec-007 §4 step 5).
77
+ * severity. This is the seam spec-007 §4 step 5's callers use per file about to be written or
78
+ * committed: `init`'s pre-write pass over the built-in templates calls it (`verifyBuiltinTemplates`,
79
+ * `src/core/builtin-integrity.ts`, task-135), and a future commit-time gate would.
79
80
  */
80
81
  export declare function scanText(content: string, filePath: string, options?: ScanTextOptions): ScanResult;
81
82
  /** Null-byte sniff on the first 8KB (spec-007 §1) — binary files are out of scan scope. */
82
83
  export declare function isBinaryContent(buf: Buffer): boolean;
83
84
  /**
84
- * Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus the current
85
- * self-hosted analog (`docs/self/.wingfoil/`, `docs/self/docs/04_memory/`) "applied by analogy until
86
- * the tool-managed root exists". A root with no indexed files contributes nothing, so
87
- * {@link scanProjectSurface} is safe to call before `init` has ever run.
85
+ * Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus `docs/04_memory/`,
86
+ * this repository's own Memory folder — spec-007 §1's self-hosted analog, which followed the
87
+ * configuration to the repository root in `task-111-configuration-moves-to-the-repository-root`
88
+ * (before it, the analog named the nested dogfooding copies of both folders). A root with no indexed
89
+ * files contributes nothing, so {@link scanProjectSurface} is safe to call before `init` has ever run,
90
+ * and on a project whose Memory lives elsewhere.
88
91
  */
89
- export declare const SCAN_SURFACE_ROOTS: readonly [".wingfoil", "docs/self/.wingfoil", "docs/self/docs/04_memory"];
92
+ export declare const SCAN_SURFACE_ROOTS: readonly [".wingfoil", "docs/04_memory"];
90
93
  /** Default path (root-relative) of the `security-ignore` glob list (spec-007 §3). */
91
94
  export declare const DEFAULT_IGNORE_FILE = ".wingfoil/security-ignore";
92
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"AAmBA,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA8EnD,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAElF,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0GAA0G;AAC1G,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,UAAU,CA2CrG;AAYD,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,2EAA4E,CAAC;AAE5G,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAoE/D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhE;AA8BD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAErF;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAY7F"}
1
+ {"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"AAqBA,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAWD;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EA2FnD,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAElF,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0GAA0G;AAC1G,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,UAAU,CA2CrG;AAYD,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,0CAA2C,CAAC;AAE3E,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAoE/D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhE;AA8BD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAErF;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAY7F"}
@@ -13,10 +13,12 @@ exports.scanProjectSurface = scanProjectSurface;
13
13
  * `wingfoil audit`) re-implements its own regex list and lets the patterns drift.
14
14
  *
15
15
  * `SECRET_PATTERNS` reproduces spec-007 §2's ten named rules; each JS `RegExp` below carries a
16
- * comment quoting the exact spec-007 YAML `regex:` string it implements. Two of spec-007's patterns
16
+ * comment quoting the exact spec-007 YAML `regex:` string it implements. Four of spec-007's patterns
17
17
  * use the PCRE inline mode-modifier syntax `(?i)`/`(?im)` in their YAML text — JS `RegExp` has no
18
- * such inline syntax (`new RegExp('(?i)...')` throws `SyntaxError`) — so that flag is moved to the
19
- * equivalent JS `i` flag instead. This is a mechanical syntax translation, not a semantic rewrite:
18
+ * such inline syntax on Node 22 (`new RegExp('(?i)...')` throws `SyntaxError`) — so that flag is
19
+ * moved to the equivalent JS `i` flag instead, except on `generic-api-key-assignment`, whose YAML
20
+ * also holds a case-sensitive `(?-i:…)` group: there the key words are case-folded letter by letter
21
+ * (`caseless`) and no flag is set. This is a mechanical syntax translation, not a semantic rewrite:
20
22
  * the matched shape is unchanged, so it satisfies spec-007's Consequences-section instruction to
21
23
  * "reproduce the pattern table in §2 verbatim (or import it as data)" rather than hand-roll
22
24
  * alternative regexes.
@@ -24,6 +26,14 @@ exports.scanProjectSurface = scanProjectSurface;
24
26
  const child_process_1 = require("child_process");
25
27
  const fs_1 = require("fs");
26
28
  const path_1 = require("path");
29
+ /**
30
+ * Case-fold the letters of a regex source fragment (`token` → `[Tt][Oo][Kk][Ee][Nn]`), leaving every
31
+ * other character as written. It stands in for spec-007's PCRE `(?i)` on a pattern that also needs a
32
+ * case-sensitive part, which a JS `i` flag cannot express (bug-228).
33
+ */
34
+ function caseless(source) {
35
+ return source.replace(/[a-z]/gi, (ch) => `[${ch.toUpperCase()}${ch.toLowerCase()}]`);
36
+ }
27
37
  /**
28
38
  * The canonical secret-hygiene pattern set (spec-007 §2), in the fixed declaration order every scan
29
39
  * must evaluate patterns in (determinism, REQ-SYS-07, spec-007 §4 step 3). Adding, removing, or
@@ -41,9 +51,15 @@ exports.SECRET_PATTERNS = [
41
51
  id: 'generic-api-key-assignment',
42
52
  description: 'Variable assignment that looks like an API key/secret/token',
43
53
  severity: 'block',
44
- // spec-007 §2 (case-insensitive per its `(?i)` marker):
45
- // '(api[_-]?key|secret|token|passwd|password)\s*[:=]\s*["\']?[A-Za-z0-9_\-\/+=]{16,}["\']?'
46
- regex: /(api[_-]?key|secret|token|passwd|password)\s*[:=]\s*["']?[A-Za-z0-9_\-/+=]{16,}["']?/i,
54
+ // spec-007 §2 (case-insensitive key words per its `(?i)` marker; the `(?-i:…)` group is
55
+ // case-SENSITIVE, bug-228):
56
+ // '(?i)(api[_-]?key|secret|token|passwd|password)\s*[:=]\s*["\']?(?-i:(?![a-z]+(?:-[a-z]+)+(?![A-Za-z0-9_\-\/+=])))[A-Za-z0-9_\-\/+=]{16,}["\']?'
57
+ // The lookahead refuses a value made only of lower-case words joined by hyphens — prose such as
58
+ // a hyphenated name after a colon, not a key. JS has no `(?-i:…)` group on Node 22, so instead of
59
+ // the `i` flag the key words are case-folded one letter at a time (`caseless`): the matched
60
+ // shape is the spec's, and only the lookahead stays case-sensitive.
61
+ regex: new RegExp(`(${['api[_-]?key', 'secret', 'token', 'passwd', 'password'].map(caseless).join('|')})` +
62
+ `\\s*[:=]\\s*["']?(?![a-z]+(?:-[a-z]+)+(?![A-Za-z0-9_\\-/+=]))[A-Za-z0-9_\\-/+=]{16,}["']?`),
47
63
  },
48
64
  {
49
65
  id: 'aws-access-key-id',
@@ -103,9 +119,13 @@ exports.SECRET_PATTERNS = [
103
119
  // promoted warn → block by dl-036-secret-scan-warn-severity-vs-req-sec-08 (spec-007 §2 amended)
104
120
  severity: 'block',
105
121
  // spec-007 §2 (case-insensitive per its `(?im)` marker; the `m` is a no-op here because the
106
- // scan procedure already evaluates one line at a time, so `^`/`$` anchor to that line either way):
107
- // '^[A-Z0-9_]*(SECRET|TOKEN|PASSWORD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*\s*=\s*\S+'
108
- regex: /^[A-Z0-9_]*(SECRET|TOKEN|PASSWORD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*\s*=\s*\S+/i,
122
+ // scan procedure already evaluates one line at a time, so `^`/`$` anchor to that line either way).
123
+ // The optional prefix — indentation, an `export` keyword, a `-`/`*` list marker — is
124
+ // bug-037's amendment (task-135): a column-0 anchor let those lines through. bug-190's (task-182)
125
+ // adds a `#` comment, a list marker before the keyword, `readonly` and `declare` (with flags such
126
+ // as `-x`), and PowerShell's `$env:` scope.
127
+ // '^\s*(?:#+\s*)?(?:[-*]\s+)?(?:(?:export|readonly|declare)(?:\s+-[A-Za-z]+)*\s+)?(?:\$env:)?[A-Z0-9_]*(SECRET|TOKEN|PASSWORD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*\s*=\s*\S+'
128
+ regex: /^\s*(?:#+\s*)?(?:[-*]\s+)?(?:(?:export|readonly|declare)(?:\s+-[A-Za-z]+)*\s+)?(?:\$env:)?[A-Z0-9_]*(SECRET|TOKEN|PASSWORD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*\s*=\s*\S+/i,
109
129
  },
110
130
  ];
111
131
  const FENCE_DELIMITER_RE = /^`{3,}/;
@@ -158,8 +178,9 @@ function matchLine(line, pattern, lineNumber, filePath) {
158
178
  /**
159
179
  * Scan one file's already-decoded text content (spec-007 §4): evaluate {@link SECRET_PATTERNS} in
160
180
  * declared order against every line, apply the §3 exclusions, and classify each surviving finding by
161
- * severity. This is the seam a future commit-time gate or `task-044`'s `init` integrity check calls
162
- * per file-about-to-be-written/committed (spec-007 §4 step 5).
181
+ * severity. This is the seam spec-007 §4 step 5's callers use per file about to be written or
182
+ * committed: `init`'s pre-write pass over the built-in templates calls it (`verifyBuiltinTemplates`,
183
+ * `src/core/builtin-integrity.ts`, task-135), and a future commit-time gate would.
163
184
  */
164
185
  function scanText(content, filePath, options = {}) {
165
186
  const lines = content.split(/\r\n|\r|\n/);
@@ -219,12 +240,14 @@ function isBinaryContent(buf) {
219
240
  return head.includes(0);
220
241
  }
221
242
  /**
222
- * Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus the current
223
- * self-hosted analog (`docs/self/.wingfoil/`, `docs/self/docs/04_memory/`) "applied by analogy until
224
- * the tool-managed root exists". A root with no indexed files contributes nothing, so
225
- * {@link scanProjectSurface} is safe to call before `init` has ever run.
243
+ * Default scan-surface roots (spec-007 §1): `.wingfoil/` once `init` exists, plus `docs/04_memory/`,
244
+ * this repository's own Memory folder — spec-007 §1's self-hosted analog, which followed the
245
+ * configuration to the repository root in `task-111-configuration-moves-to-the-repository-root`
246
+ * (before it, the analog named the nested dogfooding copies of both folders). A root with no indexed
247
+ * files contributes nothing, so {@link scanProjectSurface} is safe to call before `init` has ever run,
248
+ * and on a project whose Memory lives elsewhere.
226
249
  */
227
- exports.SCAN_SURFACE_ROOTS = ['.wingfoil', 'docs/self/.wingfoil', 'docs/self/docs/04_memory'];
250
+ exports.SCAN_SURFACE_ROOTS = ['.wingfoil', 'docs/04_memory'];
228
251
  /** Default path (root-relative) of the `security-ignore` glob list (spec-007 §3). */
229
252
  exports.DEFAULT_IGNORE_FILE = '.wingfoil/security-ignore';
230
253
  /** `git ls-files -s` mode of a gitlink (submodule commit) — not a blob, nothing to read. */
@@ -1 +1 @@
1
- {"version":3,"file":"secret-scan.js","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-scan.js","sourceRoot":"","sources":["../../src/validation/secret-scan.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,32 @@
1
+ /** Where a raised warning goes: one operator-facing sentence, no prefix. */
2
+ export type WarningSink = (text: string) => void;
1
3
  /**
2
- * Unknown-field warning policy for `.passthrough()` schemas (spec-009-validation-strategy §2).
3
- *
4
- * Unknown-ness is decided against the schema's own declared key set (`schema.shape`), NOT against
5
- * the passthrough-parsed output. Under `.passthrough()` the parsed object retains every unknown
6
- * key, so a `raw` vs `parsed` diff is always empty — the "known-defective mechanism" spec-009 §2
7
- * explicitly warns against. Diffing raw keys against `schema.shape` is the correct mechanism.
8
- *
9
- * The same diff is applied recursively at every nesting level that is itself a `.passthrough()`
10
- * object schema (spec-009 §2: "the same diff is applied recursively at each nesting level that
11
- * itself has a `.passthrough()` schema, so unknown fields inside nested config blocks are reported
12
- * too, not only at the document root"). This matters because the files this module guards —
13
- * `memory.yaml`, `dna.yaml`, `workflows.yaml` — all carry deeply nested config blocks (per-type
14
- * state machines, phase objects, etc.), where an unknown field would otherwise go undetected.
4
+ * Run `run` with `sink` receiving every warning {@link reportWarning} raises inside it, its awaited
5
+ * continuations included. Returns what `run` returns.
15
6
  */
7
+ export declare function withWarningSink<T>(sink: WarningSink, run: () => T): T;
8
+ /**
9
+ * Raise one warning: to the sink {@link withWarningSink} installed around the running operation, or,
10
+ * with none installed, to stderr as `Warning: <text>`.
11
+ */
12
+ export declare function reportWarning(text: string): void;
13
+ /**
14
+ * Run `run` with each distinct warning raised inside it passed on once (task-228, the B3 handover: a
15
+ * pipeline that loads one file twice raises its warning twice), after `rewrite` (identity by default).
16
+ * The warnings go to the sink installed around the call, or to stderr outside any.
17
+ */
18
+ export declare function withDistinctWarnings<T>(run: () => T, rewrite?: (text: string) => string): T;
19
+ /**
20
+ * A **notice**: an informational line an operation prints while it runs, neither a warning nor an error
21
+ * — `agent execute`'s launch banner (`spec-016` §3.3 step 13, task-228). It travels like a warning, to
22
+ * the sink the surface installs ({@link withNoticeSink}); the CLI renders it in the active `--format`
23
+ * on stderr. Outside any sink it is written to stderr as is.
24
+ */
25
+ export type NoticeSink = (text: string) => void;
26
+ /** Run `run` with `sink` receiving every notice {@link reportNotice} raises inside it. */
27
+ export declare function withNoticeSink<T>(sink: NoticeSink, run: () => T): T;
28
+ /** Raise one notice: to the installed sink, or, with none, to stderr as a bare line. */
29
+ export declare function reportNotice(text: string): void;
16
30
  /**
17
31
  * Minimal structural view of a Zod object schema: only its declared top-level `shape` is needed.
18
32
  * Typed structurally rather than as `AnyZodObject` (spec-009 §2's listing) because Zod 4 — the
@@ -23,9 +37,9 @@ export interface HasShape {
23
37
  readonly shape: Record<string, unknown>;
24
38
  }
25
39
  /**
26
- * Emit one stderr warning (spec-009 §2) listing every raw key not declared in `schema`'s shape,
27
- * recursively through nested passthrough object/array-of-object schemas. Writes nothing when there
28
- * are no unknown fields.
40
+ * Raise one warning (spec-009 §2) listing every raw key not declared in `schema`'s shape, recursively
41
+ * through nested passthrough object/array-of-object schemas, through {@link reportWarning} (`bug-202`):
42
+ * `<file>: unknown field(s) ignored: <paths>`. Raises nothing when there are no unknown fields.
29
43
  */
30
44
  export declare function emitUnknownFieldWarning(raw: Record<string, unknown>, schema: HasShape, filePath: string): void;
31
45
  //# sourceMappingURL=warning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../../src/validation/warning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAwED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI,CAKN"}
1
+ {"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../../src/validation/warning.ts"],"names":[],"mappings":"AA2BA,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAIjD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAErE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,GAAG,CAAC,CAU3G;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAIhD,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAEnE;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAwED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI,CAKN"}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withWarningSink = withWarningSink;
4
+ exports.reportWarning = reportWarning;
5
+ exports.withDistinctWarnings = withDistinctWarnings;
6
+ exports.withNoticeSink = withNoticeSink;
7
+ exports.reportNotice = reportNotice;
8
+ exports.emitUnknownFieldWarning = emitUnknownFieldWarning;
2
9
  /**
3
- * Unknown-field warning policy for `.passthrough()` schemas (spec-009-validation-strategy §2).
10
+ * Unknown-field warning policy for `.passthrough()` schemas (spec-009-validation-strategy §2), and the
11
+ * **warning sink** every warning raised while an operation runs goes through (task-218, `bug-202`).
4
12
  *
5
13
  * Unknown-ness is decided against the schema's own declared key set (`schema.shape`), NOT against
6
14
  * the passthrough-parsed output. Under `.passthrough()` the parsed object retains every unknown
@@ -13,9 +21,68 @@
13
21
  * too, not only at the document root"). This matters because the files this module guards —
14
22
  * `memory.yaml`, `dna.yaml`, `workflows.yaml` — all carry deeply nested config blocks (per-type
15
23
  * state machines, phase objects, etc.), where an unknown field would otherwise go undetected.
24
+ *
25
+ * **The sink.** A loader deep inside `src/` does not know the surface it serves or its `--format`, so it
26
+ * never writes a warning itself: it hands it to {@link reportWarning}. The surface that runs the
27
+ * operation installs a sink around the call ({@link withWarningSink}) — the CLI registrar renders each
28
+ * warning through `src/cli/warning.ts`, the one renderer, in the active `--format`, at the moment it is
29
+ * raised, so it precedes whatever the command prints after it (an error, or `agent execute`'s pre-flight
30
+ * refusal, `spec-016` §3.3 step 8). The mode travels in an `AsyncLocalStorage`, as the dry run's does,
31
+ * so no loader signature changes. Outside any sink (the MCP server, a library caller) the warning is
32
+ * written to stderr as `Warning: <text>`, the line these loaders always wrote.
16
33
  */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.emitUnknownFieldWarning = emitUnknownFieldWarning;
34
+ const node_async_hooks_1 = require("node:async_hooks");
35
+ const sinkStore = new node_async_hooks_1.AsyncLocalStorage();
36
+ /**
37
+ * Run `run` with `sink` receiving every warning {@link reportWarning} raises inside it, its awaited
38
+ * continuations included. Returns what `run` returns.
39
+ */
40
+ function withWarningSink(sink, run) {
41
+ return sinkStore.run(sink, run);
42
+ }
43
+ /**
44
+ * Raise one warning: to the sink {@link withWarningSink} installed around the running operation, or,
45
+ * with none installed, to stderr as `Warning: <text>`.
46
+ */
47
+ function reportWarning(text) {
48
+ const sink = sinkStore.getStore();
49
+ if (sink !== undefined)
50
+ sink(text);
51
+ else
52
+ process.stderr.write(`Warning: ${text}\n`);
53
+ }
54
+ /**
55
+ * Run `run` with each distinct warning raised inside it passed on once (task-228, the B3 handover: a
56
+ * pipeline that loads one file twice raises its warning twice), after `rewrite` (identity by default).
57
+ * The warnings go to the sink installed around the call, or to stderr outside any.
58
+ */
59
+ function withDistinctWarnings(run, rewrite = (text) => text) {
60
+ const outer = sinkStore.getStore();
61
+ const seen = new Set();
62
+ return sinkStore.run((text) => {
63
+ const shown = rewrite(text);
64
+ if (seen.has(shown))
65
+ return;
66
+ seen.add(shown);
67
+ if (outer !== undefined)
68
+ outer(shown);
69
+ else
70
+ process.stderr.write(`Warning: ${shown}\n`);
71
+ }, run);
72
+ }
73
+ const noticeStore = new node_async_hooks_1.AsyncLocalStorage();
74
+ /** Run `run` with `sink` receiving every notice {@link reportNotice} raises inside it. */
75
+ function withNoticeSink(sink, run) {
76
+ return noticeStore.run(sink, run);
77
+ }
78
+ /** Raise one notice: to the installed sink, or, with none, to stderr as a bare line. */
79
+ function reportNotice(text) {
80
+ const sink = noticeStore.getStore();
81
+ if (sink !== undefined)
82
+ sink(text);
83
+ else
84
+ process.stderr.write(`${text}\n`);
85
+ }
19
86
  /** True when `v` is a Zod object schema (structurally: exposes a `.shape` record). */
20
87
  function isHasShape(v) {
21
88
  return (typeof v === 'object' &&
@@ -68,14 +135,14 @@ function collectUnknownFields(raw, schema, prefix) {
68
135
  return out;
69
136
  }
70
137
  /**
71
- * Emit one stderr warning (spec-009 §2) listing every raw key not declared in `schema`'s shape,
72
- * recursively through nested passthrough object/array-of-object schemas. Writes nothing when there
73
- * are no unknown fields.
138
+ * Raise one warning (spec-009 §2) listing every raw key not declared in `schema`'s shape, recursively
139
+ * through nested passthrough object/array-of-object schemas, through {@link reportWarning} (`bug-202`):
140
+ * `<file>: unknown field(s) ignored: <paths>`. Raises nothing when there are no unknown fields.
74
141
  */
75
142
  function emitUnknownFieldWarning(raw, schema, filePath) {
76
143
  const unknown = collectUnknownFields(raw, schema, '');
77
144
  if (unknown.length > 0) {
78
- process.stderr.write(`Warning: ${filePath}: unknown field(s) ignored: ${unknown.join(', ')}\n`);
145
+ reportWarning(`${filePath}: unknown field(s) ignored: ${unknown.join(', ')}`);
79
146
  }
80
147
  }
81
148
  //# sourceMappingURL=warning.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warning.js","sourceRoot":"","sources":["../../src/validation/warning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warning.js","sourceRoot":"","sources":["../../src/validation/warning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Layer 3 — the token-binding file `.wingfoil/workflows/bindings.yaml` (spec-003-workflows-yaml-schema
3
+ * § "Layer 3", `dl-090` Q1 (a), Q2 (c), Q3 (a), Q4, Q5 (c), Q6), and the **built-in** binding table
4
+ * (spec-003 § "Action expressions"). Every `actions:` and `checks:` token of a workflow resolves through
5
+ * one of the two: a token WingFoil implements itself is built in and may not be rebound; every other
6
+ * token is bound by the project here, or is unbound (`W_WORKFLOW_UNBOUND_TOKEN`, a warning in v0.3).
7
+ *
8
+ * Like `./schema.ts`, this module holds the **structural** (Zod) shape plus the pure readings the
9
+ * loader's checks and later commands share ({@link tokenName}, {@link isBuiltinToken},
10
+ * {@link resolveToken}, {@link isWholeInterpolation}, {@link runsAgentExecute}). The loader rows
11
+ * themselves are run by `src/core/loaders.ts` with `src/core/workflow-diagnostics.ts`
12
+ * (spec-009-validation-strategy §1). Every object node is `.passthrough()` per spec-009 §2, except
13
+ * where spec-003's shape is strict.
14
+ *
15
+ * Nothing here runs a binding: in v0.3 the loader validates and `workflow show` / `workflow next`
16
+ * display (spec-003 § "What v0.3 does with these fields"); the v1.0 engine executes (P4.10, P4.12).
17
+ */
18
+ import { z } from 'zod';
19
+ /** The bindings file, relative to `.wingfoil/` — the `file` of its diagnostics (spec-003 Layer 3). */
20
+ export declare const BINDINGS_FILE: "workflows/bindings.yaml";
21
+ /** A check token's binding: a command and a severity (`dl-090` Q4; default `reject`). */
22
+ export declare const CheckBinding: z.ZodObject<{
23
+ run: z.ZodArray<z.ZodString>;
24
+ severity: z.ZodDefault<z.ZodEnum<{
25
+ warn: "warn";
26
+ reject: "reject";
27
+ }>>;
28
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ }, z.core.$loose>;
30
+ export type CheckBinding = z.infer<typeof CheckBinding>;
31
+ /** An action token's binding: exactly one of `run` (a command) or `manual: true` (`dl-090` Q2 (c)). */
32
+ export declare const ActionBinding: z.ZodObject<{
33
+ run: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ manual: z.ZodOptional<z.ZodLiteral<true>>;
35
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
36
+ }, z.core.$loose>;
37
+ export type ActionBinding = z.infer<typeof ActionBinding>;
38
+ /** One collection entry: a scalar, or a map keyed by its `id` (else its `name`) field. */
39
+ declare const CollectionEntry: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
40
+ /** One entry of a collection (spec-003 § "Collections"): a scalar, or a map keyed by its `id` / `name` field. */
41
+ export type CollectionEntry = z.infer<typeof CollectionEntry>;
42
+ /**
43
+ * The key of one collection entry (spec-003 § "Collections"): the entry itself for a scalar, the
44
+ * entry's `id` field, else its `name` field, for a map. `null` when a map entry has neither as a
45
+ * scalar.
46
+ */
47
+ export declare function collectionEntryKey(entry: CollectionEntry): string | null;
48
+ /** One collection-key problem: the entry's index and the message (`E_BINDING_COLLECTION_KEY`). */
49
+ export interface CollectionKeyIssue {
50
+ readonly index: number;
51
+ readonly message: string;
52
+ }
53
+ /**
54
+ * The key problems of one collection (spec-003 § "Collections"), in entry order: a map entry with no
55
+ * `id` / `name`, a key outside spec-009's ID characters, a key already used by an earlier entry.
56
+ */
57
+ export declare function collectionKeyIssues(entries: readonly CollectionEntry[]): CollectionKeyIssue[];
58
+ /**
59
+ * Layer 3 — `.wingfoil/workflows/bindings.yaml`. Optional: an absent file is no bindings. A `dl-149` file
60
+ * kind (`dl-153` (A)): `format` is optional (absent = 1), and a newer one is refused by the loader before
61
+ * this structural pass.
62
+ */
63
+ export declare const BindingsYaml: z.ZodObject<{
64
+ version: z.ZodOptional<z.ZodNumber>;
65
+ format: z.ZodOptional<z.ZodNumber>;
66
+ checks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
67
+ run: z.ZodArray<z.ZodString>;
68
+ severity: z.ZodDefault<z.ZodEnum<{
69
+ warn: "warn";
70
+ reject: "reject";
71
+ }>>;
72
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
73
+ }, z.core.$loose>>>;
74
+ actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
75
+ run: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
+ manual: z.ZodOptional<z.ZodLiteral<true>>;
77
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
78
+ }, z.core.$loose>>>;
79
+ collections: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>>;
80
+ }, z.core.$loose>;
81
+ export type BindingsYaml = z.infer<typeof BindingsYaml>;
82
+ /**
83
+ * The name of an action or check token: the text before its first `(` or `:`, trimmed
84
+ * (`memory.add(type: adr)` → `memory.add`; `tests.coverage(min: 80)` → `tests.coverage`;
85
+ * `frontmatter.required: [title]` → `frontmatter.required`). A prose check keeps its prose, which no
86
+ * binding key names, so it stays unbound.
87
+ */
88
+ export declare function tokenName(token: string): string;
89
+ /** The `type:` argument of a `memory.add(...)` token, or `null` (`memory.add(type: tech-spec)` → `tech-spec`). */
90
+ export declare function memoryAddType(token: string): string | null;
91
+ /** The Memory verbs a workflow action may emit (spec-003 § "Action expressions", `dl-079` (A)). */
92
+ export type ActionMemoryVerb = 'add' | 'submit' | 'approve' | 'reject' | 'deprecate' | 'start' | 'finalize' | 'sync' | 'assign';
93
+ /** How a token resolves: the binding kind spec-003's built-in table and Layer 3 name. */
94
+ export type BindingKind = 'wingfoil' | 'manual' | 'agent' | 'run' | 'unbound';
95
+ /** A token's resolved binding — what `workflow show` / `workflow next` report (task-216). */
96
+ export interface TokenBinding {
97
+ readonly kind: BindingKind;
98
+ /** `built-in` for spec-003's table, `project` for `bindings.yaml`, `none` when unbound. */
99
+ readonly source: 'built-in' | 'project' | 'none';
100
+ /**
101
+ * The command, as an argument vector, when the binding names one: the built-in command prefix
102
+ * (`wingfoil memory add --type <T>`, `wingfoil init`, `wingfoil agent execute`), or the project's
103
+ * `run`. The step's own operands (element id, `--workflow`, `--step`) are the caller's.
104
+ */
105
+ readonly argv?: readonly string[];
106
+ /**
107
+ * The Memory commit the step is expected to produce: the element type when the token names it
108
+ * (`null` for the workflow's own element), and the candidate verbs. A `set_state` lists three;
109
+ * which one applies follows spec-003's rule under the verb table (approval, last state, else start).
110
+ */
111
+ readonly expectedCommit?: {
112
+ readonly type: string | null;
113
+ readonly verbs: readonly ActionMemoryVerb[];
114
+ };
115
+ /** A check binding's severity (`dl-090` Q4). */
116
+ readonly severity?: 'warn' | 'reject';
117
+ }
118
+ /**
119
+ * The Memory type a typed state action names — the `T` of `<T>.set_state(…)` / `<T>.sync_state(…)` —
120
+ * or `null` for `element.set_state` / `element.sync_state` (the workflow's own element, not a type) and
121
+ * for any other token. The core check `E_WORKFLOW_ELEMENT_TYPE_UNKNOWN` (spec-003, `bug-282`) checks it
122
+ * against `memory.yaml`.
123
+ */
124
+ export declare function typedStateType(token: string): string | null;
125
+ /**
126
+ * Whether `name` (a {@link tokenName}) is a **built-in** token (spec-003's built-in table):
127
+ * `memory.add|submit|approve|reject|deprecate`, `element.set_state`, `<type>.set_state`,
128
+ * `<type>.sync_state`, `element.set_release`, `config.init` and every `agent.*`. A project may not
129
+ * rebind one (`E_BINDING_BUILTIN_TOKEN`).
130
+ */
131
+ export declare function isBuiltinToken(name: string): boolean;
132
+ /**
133
+ * Resolve one token to its binding (spec-003 § "Action expressions" built-in table, Layer 3): an
134
+ * action resolves through the built-in table first, then `bindings.actions`; a check only through
135
+ * `bindings.checks` (no check is built in, and none may be bound to an agent). An unresolved token is
136
+ * `{ kind: 'unbound', source: 'none' }`. Pure and total: the same inputs give the same answer.
137
+ *
138
+ * @param token - The token as written in `actions:` / `checks:` / `awaits.evidence`, arguments included.
139
+ * @param role - Whether the token is an action or a check.
140
+ * @param bindings - The validated `bindings.yaml`, or `null` when the project has none.
141
+ */
142
+ export declare function resolveToken(token: string, role: 'action' | 'check', bindings: BindingsYaml | null): TokenBinding;
143
+ /** Whether one `run` element interpolates only as a whole element (`dl-090` Q3 (a)). */
144
+ export declare function isWholeInterpolation(element: string): boolean;
145
+ /**
146
+ * Whether an argument vector runs `wingfoil agent execute` (`E_BINDING_AGENT_CHECK`, `dl-090` Q6): an
147
+ * `agent`, `execute` pair after a `wingfoil` program — called directly, through `npx`, or as the
148
+ * built `cli.js`.
149
+ */
150
+ export declare function runsAgentExecute(run: readonly string[]): boolean;
151
+ export {};
152
+ //# sourceMappingURL=bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/workflow/bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,sGAAsG;AACtG,eAAO,MAAM,aAAa,EAAG,yBAAkC,CAAC;AAoBhE,yFAAyF;AACzF,eAAO,MAAM,YAAY;;;;;;;iBAMT,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,uGAAuG;AACvG,eAAO,MAAM,aAAa;;;;iBAWtB,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,0FAA0F;AAC1F,QAAA,MAAM,eAAe,uGAAoF,CAAC;AAC1G,iHAAiH;AACjH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAIxE;AAUD,kGAAkG;AAClG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAc7F;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;iBAQT,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,kHAAkH;AAClH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED,mGAAmG;AACnG,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhI,yFAAyF;AACzF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;AAE9E,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACxG,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACvC;AAaD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQpD;AAsBD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,YAAY,CAYjH;AAOD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAOD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAOhE"}