wingfoil 0.2.2 → 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 (454) hide show
  1. package/README.md +83 -43
  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 +1 -1
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +2 -1
  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 +4 -2
  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 +162 -40
  65. package/dist/cli/program.js.map +1 -1
  66. package/dist/cli/registrar.d.ts +1 -1
  67. package/dist/cli/registrar.d.ts.map +1 -1
  68. package/dist/cli/registrar.js +67 -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.d.ts.map +1 -1
  137. package/dist/core/exit-code.js +6 -7
  138. package/dist/core/exit-code.js.map +1 -1
  139. package/dist/core/git-identity.d.ts +46 -11
  140. package/dist/core/git-identity.d.ts.map +1 -1
  141. package/dist/core/git-identity.js +140 -27
  142. package/dist/core/git-identity.js.map +1 -1
  143. package/dist/core/index.d.ts +184 -10
  144. package/dist/core/index.d.ts.map +1 -1
  145. package/dist/core/index.js +1045 -185
  146. package/dist/core/index.js.map +1 -1
  147. package/dist/core/init.d.ts +45 -5
  148. package/dist/core/init.d.ts.map +1 -1
  149. package/dist/core/init.js +134 -24
  150. package/dist/core/init.js.map +1 -1
  151. package/dist/core/loaders.d.ts +170 -14
  152. package/dist/core/loaders.d.ts.map +1 -1
  153. package/dist/core/loaders.js +570 -89
  154. package/dist/core/loaders.js.map +1 -1
  155. package/dist/core/memory-add-link.d.ts +28 -0
  156. package/dist/core/memory-add-link.d.ts.map +1 -0
  157. package/dist/core/memory-add-link.js +67 -0
  158. package/dist/core/memory-add-link.js.map +1 -0
  159. package/dist/core/memory-add-type.d.ts +25 -1
  160. package/dist/core/memory-add-type.d.ts.map +1 -1
  161. package/dist/core/memory-add-type.js +59 -1
  162. package/dist/core/memory-add-type.js.map +1 -1
  163. package/dist/core/memory-amend.d.ts +80 -0
  164. package/dist/core/memory-amend.d.ts.map +1 -0
  165. package/dist/core/memory-amend.js +160 -0
  166. package/dist/core/memory-amend.js.map +1 -0
  167. package/dist/core/memory-supersede.d.ts +28 -0
  168. package/dist/core/memory-supersede.d.ts.map +1 -0
  169. package/dist/core/memory-supersede.js +79 -0
  170. package/dist/core/memory-supersede.js.map +1 -0
  171. package/dist/core/memory-transition.d.ts +190 -30
  172. package/dist/core/memory-transition.d.ts.map +1 -1
  173. package/dist/core/memory-transition.js +480 -59
  174. package/dist/core/memory-transition.js.map +1 -1
  175. package/dist/core/registry.d.ts +82 -10
  176. package/dist/core/registry.d.ts.map +1 -1
  177. package/dist/core/registry.js +50 -0
  178. package/dist/core/registry.js.map +1 -1
  179. package/dist/core/relevance.d.ts +74 -12
  180. package/dist/core/relevance.d.ts.map +1 -1
  181. package/dist/core/relevance.js +45 -27
  182. package/dist/core/relevance.js.map +1 -1
  183. package/dist/core/require-reason.d.ts.map +1 -1
  184. package/dist/core/require-reason.js +6 -5
  185. package/dist/core/require-reason.js.map +1 -1
  186. package/dist/core/required-fields.d.ts +28 -0
  187. package/dist/core/required-fields.d.ts.map +1 -0
  188. package/dist/core/required-fields.js +60 -0
  189. package/dist/core/required-fields.js.map +1 -0
  190. package/dist/core/revision.d.ts +82 -0
  191. package/dist/core/revision.d.ts.map +1 -0
  192. package/dist/core/revision.js +144 -0
  193. package/dist/core/revision.js.map +1 -0
  194. package/dist/core/types.d.ts +28 -2
  195. package/dist/core/types.d.ts.map +1 -1
  196. package/dist/core/types.js +12 -3
  197. package/dist/core/types.js.map +1 -1
  198. package/dist/core/workflow-core-checks.d.ts +34 -0
  199. package/dist/core/workflow-core-checks.d.ts.map +1 -0
  200. package/dist/core/workflow-core-checks.js +403 -0
  201. package/dist/core/workflow-core-checks.js.map +1 -0
  202. package/dist/core/workflow-create-remove.d.ts +65 -0
  203. package/dist/core/workflow-create-remove.d.ts.map +1 -0
  204. package/dist/core/workflow-create-remove.js +277 -0
  205. package/dist/core/workflow-create-remove.js.map +1 -0
  206. package/dist/core/workflow-deduction.d.ts +48 -0
  207. package/dist/core/workflow-deduction.d.ts.map +1 -0
  208. package/dist/core/workflow-deduction.js +523 -0
  209. package/dist/core/workflow-deduction.js.map +1 -0
  210. package/dist/core/workflow-diagnostics.d.ts +83 -0
  211. package/dist/core/workflow-diagnostics.d.ts.map +1 -0
  212. package/dist/core/workflow-diagnostics.js +375 -0
  213. package/dist/core/workflow-diagnostics.js.map +1 -0
  214. package/dist/core/workflow-exit-state.d.ts +125 -0
  215. package/dist/core/workflow-exit-state.d.ts.map +1 -0
  216. package/dist/core/workflow-exit-state.js +243 -0
  217. package/dist/core/workflow-exit-state.js.map +1 -0
  218. package/dist/core/workflow-finalize.d.ts +37 -0
  219. package/dist/core/workflow-finalize.d.ts.map +1 -0
  220. package/dist/core/workflow-finalize.js +153 -0
  221. package/dist/core/workflow-finalize.js.map +1 -0
  222. package/dist/core/workflow-list-show.d.ts +176 -0
  223. package/dist/core/workflow-list-show.d.ts.map +1 -0
  224. package/dist/core/workflow-list-show.js +268 -0
  225. package/dist/core/workflow-list-show.js.map +1 -0
  226. package/dist/core/workflow-next.d.ts +268 -0
  227. package/dist/core/workflow-next.d.ts.map +1 -0
  228. package/dist/core/workflow-next.js +503 -0
  229. package/dist/core/workflow-next.js.map +1 -0
  230. package/dist/core/workflow-registry.d.ts +52 -0
  231. package/dist/core/workflow-registry.d.ts.map +1 -0
  232. package/dist/core/workflow-registry.js +158 -0
  233. package/dist/core/workflow-registry.js.map +1 -0
  234. package/dist/core/workflow-start-end.d.ts +71 -0
  235. package/dist/core/workflow-start-end.d.ts.map +1 -0
  236. package/dist/core/workflow-start-end.js +298 -0
  237. package/dist/core/workflow-start-end.js.map +1 -0
  238. package/dist/core/workflow-status.d.ts +83 -0
  239. package/dist/core/workflow-status.d.ts.map +1 -0
  240. package/dist/core/workflow-status.js +125 -0
  241. package/dist/core/workflow-status.js.map +1 -0
  242. package/dist/core/write-guard.d.ts +51 -8
  243. package/dist/core/write-guard.d.ts.map +1 -1
  244. package/dist/core/write-guard.js +139 -9
  245. package/dist/core/write-guard.js.map +1 -1
  246. package/dist/directives/index.d.ts +3 -2
  247. package/dist/directives/index.d.ts.map +1 -1
  248. package/dist/directives/index.js +5 -3
  249. package/dist/directives/index.js.map +1 -1
  250. package/dist/directives/schema.d.ts +34 -29
  251. package/dist/directives/schema.d.ts.map +1 -1
  252. package/dist/directives/schema.js +35 -29
  253. package/dist/directives/schema.js.map +1 -1
  254. package/dist/directives/version.d.ts +28 -0
  255. package/dist/directives/version.d.ts.map +1 -0
  256. package/dist/directives/version.js +51 -0
  257. package/dist/directives/version.js.map +1 -0
  258. package/dist/dna/edit.d.ts +7 -6
  259. package/dist/dna/edit.d.ts.map +1 -1
  260. package/dist/dna/edit.js +96 -41
  261. package/dist/dna/edit.js.map +1 -1
  262. package/dist/dna/mutate.js +18 -3
  263. package/dist/dna/mutate.js.map +1 -1
  264. package/dist/dna/path.d.ts +2 -2
  265. package/dist/dna/roles.d.ts +1 -1
  266. package/dist/dna/schema.d.ts +61 -3
  267. package/dist/dna/schema.d.ts.map +1 -1
  268. package/dist/dna/schema.js +121 -6
  269. package/dist/dna/schema.js.map +1 -1
  270. package/dist/mcp/dna-resource.d.ts.map +1 -1
  271. package/dist/mcp/dna-resource.js +4 -4
  272. package/dist/mcp/dna-resource.js.map +1 -1
  273. package/dist/mcp/index.d.ts +8 -4
  274. package/dist/mcp/index.d.ts.map +1 -1
  275. package/dist/mcp/index.js +13 -2
  276. package/dist/mcp/index.js.map +1 -1
  277. package/dist/mcp/memory-resource.d.ts.map +1 -1
  278. package/dist/mcp/memory-resource.js +30 -19
  279. package/dist/mcp/memory-resource.js.map +1 -1
  280. package/dist/mcp/prompt.d.ts +61 -24
  281. package/dist/mcp/prompt.d.ts.map +1 -1
  282. package/dist/mcp/prompt.js +176 -47
  283. package/dist/mcp/prompt.js.map +1 -1
  284. package/dist/mcp/read-only.d.ts +39 -0
  285. package/dist/mcp/read-only.d.ts.map +1 -1
  286. package/dist/mcp/read-only.js +61 -0
  287. package/dist/mcp/read-only.js.map +1 -1
  288. package/dist/mcp/registrar.d.ts +10 -0
  289. package/dist/mcp/registrar.d.ts.map +1 -1
  290. package/dist/mcp/registrar.js +48 -12
  291. package/dist/mcp/registrar.js.map +1 -1
  292. package/dist/mcp/server.d.ts +21 -14
  293. package/dist/mcp/server.d.ts.map +1 -1
  294. package/dist/mcp/server.js +41 -15
  295. package/dist/mcp/server.js.map +1 -1
  296. package/dist/mcp/session-resource.d.ts +13 -0
  297. package/dist/mcp/session-resource.d.ts.map +1 -0
  298. package/dist/mcp/session-resource.js +65 -0
  299. package/dist/mcp/session-resource.js.map +1 -0
  300. package/dist/mcp/workflow-resource.d.ts +18 -0
  301. package/dist/mcp/workflow-resource.d.ts.map +1 -1
  302. package/dist/mcp/workflow-resource.js +37 -8
  303. package/dist/mcp/workflow-resource.js.map +1 -1
  304. package/dist/memory/add.d.ts +110 -24
  305. package/dist/memory/add.d.ts.map +1 -1
  306. package/dist/memory/add.js +251 -64
  307. package/dist/memory/add.js.map +1 -1
  308. package/dist/memory/audit.d.ts +152 -39
  309. package/dist/memory/audit.d.ts.map +1 -1
  310. package/dist/memory/audit.js +257 -103
  311. package/dist/memory/audit.js.map +1 -1
  312. package/dist/memory/commit-message.d.ts +60 -38
  313. package/dist/memory/commit-message.d.ts.map +1 -1
  314. package/dist/memory/commit-message.js +167 -21
  315. package/dist/memory/commit-message.js.map +1 -1
  316. package/dist/memory/entry.d.ts.map +1 -1
  317. package/dist/memory/entry.js +1 -2
  318. package/dist/memory/entry.js.map +1 -1
  319. package/dist/memory/frontmatter-edit.d.ts +16 -4
  320. package/dist/memory/frontmatter-edit.d.ts.map +1 -1
  321. package/dist/memory/frontmatter-edit.js +13 -1
  322. package/dist/memory/frontmatter-edit.js.map +1 -1
  323. package/dist/memory/git-log.d.ts +18 -6
  324. package/dist/memory/git-log.d.ts.map +1 -1
  325. package/dist/memory/git-log.js +40 -13
  326. package/dist/memory/git-log.js.map +1 -1
  327. package/dist/memory/history.d.ts +73 -12
  328. package/dist/memory/history.d.ts.map +1 -1
  329. package/dist/memory/history.js +128 -44
  330. package/dist/memory/history.js.map +1 -1
  331. package/dist/memory/index.d.ts +13 -11
  332. package/dist/memory/index.d.ts.map +1 -1
  333. package/dist/memory/index.js +34 -3
  334. package/dist/memory/index.js.map +1 -1
  335. package/dist/memory/query.d.ts +161 -19
  336. package/dist/memory/query.d.ts.map +1 -1
  337. package/dist/memory/query.js +435 -55
  338. package/dist/memory/query.js.map +1 -1
  339. package/dist/memory/schema.d.ts +52 -3
  340. package/dist/memory/schema.d.ts.map +1 -1
  341. package/dist/memory/schema.js +132 -8
  342. package/dist/memory/schema.js.map +1 -1
  343. package/dist/memory/state-machine.d.ts +65 -10
  344. package/dist/memory/state-machine.d.ts.map +1 -1
  345. package/dist/memory/state-machine.js +134 -46
  346. package/dist/memory/state-machine.js.map +1 -1
  347. package/dist/memory/submit.d.ts +52 -3
  348. package/dist/memory/submit.d.ts.map +1 -1
  349. package/dist/memory/submit.js +118 -11
  350. package/dist/memory/submit.js.map +1 -1
  351. package/dist/storage/build-stamp.d.ts +18 -0
  352. package/dist/storage/build-stamp.d.ts.map +1 -0
  353. package/dist/storage/build-stamp.js +68 -0
  354. package/dist/storage/build-stamp.js.map +1 -0
  355. package/dist/storage/builtin-adapters.d.ts +32 -0
  356. package/dist/storage/builtin-adapters.d.ts.map +1 -0
  357. package/dist/storage/builtin-adapters.js +100 -0
  358. package/dist/storage/builtin-adapters.js.map +1 -0
  359. package/dist/storage/builtin-directives.d.ts +0 -29
  360. package/dist/storage/builtin-directives.d.ts.map +1 -1
  361. package/dist/storage/builtin-directives.js +9 -4
  362. package/dist/storage/builtin-directives.js.map +1 -1
  363. package/dist/storage/commit.d.ts +310 -3
  364. package/dist/storage/commit.d.ts.map +1 -1
  365. package/dist/storage/commit.js +807 -33
  366. package/dist/storage/commit.js.map +1 -1
  367. package/dist/storage/document.d.ts +6 -0
  368. package/dist/storage/document.d.ts.map +1 -1
  369. package/dist/storage/document.js +10 -1
  370. package/dist/storage/document.js.map +1 -1
  371. package/dist/storage/dry-run.d.ts +65 -0
  372. package/dist/storage/dry-run.d.ts.map +1 -0
  373. package/dist/storage/dry-run.js +150 -0
  374. package/dist/storage/dry-run.js.map +1 -0
  375. package/dist/storage/errors.d.ts +26 -0
  376. package/dist/storage/errors.d.ts.map +1 -1
  377. package/dist/storage/errors.js +27 -1
  378. package/dist/storage/errors.js.map +1 -1
  379. package/dist/storage/frontmatter.d.ts +1 -1
  380. package/dist/storage/frontmatter.js +1 -1
  381. package/dist/storage/git-read.d.ts +64 -0
  382. package/dist/storage/git-read.d.ts.map +1 -0
  383. package/dist/storage/git-read.js +107 -0
  384. package/dist/storage/git-read.js.map +1 -0
  385. package/dist/storage/index.d.ts +13 -5
  386. package/dist/storage/index.d.ts.map +1 -1
  387. package/dist/storage/index.js +39 -2
  388. package/dist/storage/index.js.map +1 -1
  389. package/dist/storage/layout.d.ts +2 -2
  390. package/dist/storage/layout.d.ts.map +1 -1
  391. package/dist/storage/layout.js +2 -7
  392. package/dist/storage/layout.js.map +1 -1
  393. package/dist/storage/memory-path.d.ts +18 -5
  394. package/dist/storage/memory-path.d.ts.map +1 -1
  395. package/dist/storage/memory-path.js +41 -5
  396. package/dist/storage/memory-path.js.map +1 -1
  397. package/dist/storage/snapshot.js +1 -1
  398. package/dist/storage/templates.d.ts +33 -6
  399. package/dist/storage/templates.d.ts.map +1 -1
  400. package/dist/storage/templates.js +170 -16
  401. package/dist/storage/templates.js.map +1 -1
  402. package/dist/validation/config-version.d.ts +19 -0
  403. package/dist/validation/config-version.d.ts.map +1 -0
  404. package/dist/validation/config-version.js +53 -0
  405. package/dist/validation/config-version.js.map +1 -0
  406. package/dist/validation/diagnostic.d.ts +40 -0
  407. package/dist/validation/diagnostic.d.ts.map +1 -0
  408. package/dist/validation/diagnostic.js +41 -0
  409. package/dist/validation/diagnostic.js.map +1 -0
  410. package/dist/validation/format.d.ts +74 -0
  411. package/dist/validation/format.d.ts.map +1 -0
  412. package/dist/validation/format.js +104 -0
  413. package/dist/validation/format.js.map +1 -0
  414. package/dist/validation/id.d.ts +14 -0
  415. package/dist/validation/id.d.ts.map +1 -1
  416. package/dist/validation/id.js +35 -11
  417. package/dist/validation/id.js.map +1 -1
  418. package/dist/validation/identity.d.ts +40 -0
  419. package/dist/validation/identity.d.ts.map +1 -0
  420. package/dist/validation/identity.js +78 -0
  421. package/dist/validation/identity.js.map +1 -0
  422. package/dist/validation/index.d.ts +9 -3
  423. package/dist/validation/index.d.ts.map +1 -1
  424. package/dist/validation/index.js +30 -1
  425. package/dist/validation/index.js.map +1 -1
  426. package/dist/validation/secret-scan.d.ts +3 -2
  427. package/dist/validation/secret-scan.d.ts.map +1 -1
  428. package/dist/validation/secret-scan.js +32 -11
  429. package/dist/validation/secret-scan.js.map +1 -1
  430. package/dist/validation/warning.d.ts +30 -16
  431. package/dist/validation/warning.d.ts.map +1 -1
  432. package/dist/validation/warning.js +74 -7
  433. package/dist/validation/warning.js.map +1 -1
  434. package/dist/workflow/bindings.d.ts +152 -0
  435. package/dist/workflow/bindings.d.ts.map +1 -0
  436. package/dist/workflow/bindings.js +249 -0
  437. package/dist/workflow/bindings.js.map +1 -0
  438. package/dist/workflow/create.d.ts +13 -0
  439. package/dist/workflow/create.d.ts.map +1 -0
  440. package/dist/workflow/create.js +41 -0
  441. package/dist/workflow/create.js.map +1 -0
  442. package/dist/workflow/deduce.d.ts +400 -0
  443. package/dist/workflow/deduce.d.ts.map +1 -0
  444. package/dist/workflow/deduce.js +1109 -0
  445. package/dist/workflow/deduce.js.map +1 -0
  446. package/dist/workflow/manifest-edit.d.ts +19 -0
  447. package/dist/workflow/manifest-edit.d.ts.map +1 -0
  448. package/dist/workflow/manifest-edit.js +124 -0
  449. package/dist/workflow/manifest-edit.js.map +1 -0
  450. package/dist/workflow/schema.d.ts +158 -19
  451. package/dist/workflow/schema.d.ts.map +1 -1
  452. package/dist/workflow/schema.js +163 -15
  453. package/dist/workflow/schema.js.map +1 -1
  454. package/package.json +18 -8
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/storage/commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/storage/commit.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export declare function documentExists(absolutePath: string): boolean;
5
5
  /**
6
6
  * Write `content` to `absolutePath`, creating any missing parent directories. No other file or
7
7
  * directory is created or touched — the write is exactly this one path, nothing else.
8
+ *
9
+ * A mutating operation writes through `writeAndCommit` (`./commit`, task-210), not through this
10
+ * function: during a dry run this throws instead of writing (`./dry-run`).
8
11
  */
9
12
  export declare function writeDocument(absolutePath: string, content: string): void;
10
13
  /**
@@ -19,6 +22,9 @@ export declare function writeDocument(absolutePath: string, content: string): vo
19
22
  * exactly as it is for a write (`commitPaths`, ./commit) — this module only owns the bytes at an
20
23
  * already-resolved absolute path.
21
24
  *
25
+ * During a dry run this throws instead of deleting (task-210, `./dry-run`); a mutating operation deletes
26
+ * through `writeAndCommit` (`./commit`).
27
+ *
22
28
  * @throws Node's `ENOENT` when nothing is there. Callers resolve the target before calling (P3.3
23
29
  * resolves a directive NAME to a file that `loadDirectives` just read), so a missing path is a
24
30
  * programmer error rather than a domain outcome to swallow.
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":"AAWA,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEzD"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":"AAaA,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAGzD"}
@@ -8,12 +8,13 @@ exports.removeDocument = removeDocument;
8
8
  * Plain document read/write/remove (task-003-git-backed-sot, REQ-SYS-01). Every Memory/DNA/Directives/
9
9
  * Workflow mutation is a regular file write with no side-channel state — no `.wingfoil/state/`
10
10
  * index (REQ-SYS-03), no cache file that isn't itself just a copy of what's already on disk.
11
- * `git add`/`git commit` of the result is the caller's job (dev-loop's commit conventions, CLAUDE.md
11
+ * `git add`/`git commit` of the result is the caller's job (dev-loop's commit conventions, AGENTS.md
12
12
  * §5.1) — this module only owns the bytes at an already-resolved absolute path (see
13
13
  * `./memory-path`).
14
14
  */
15
15
  const fs_1 = require("fs");
16
16
  const path_1 = require("path");
17
+ const dry_run_1 = require("./dry-run");
17
18
  /** Read a document's full contents as UTF-8 text. */
18
19
  function readDocument(absolutePath) {
19
20
  return (0, fs_1.readFileSync)(absolutePath, 'utf-8');
@@ -25,8 +26,12 @@ function documentExists(absolutePath) {
25
26
  /**
26
27
  * Write `content` to `absolutePath`, creating any missing parent directories. No other file or
27
28
  * directory is created or touched — the write is exactly this one path, nothing else.
29
+ *
30
+ * A mutating operation writes through `writeAndCommit` (`./commit`, task-210), not through this
31
+ * function: during a dry run this throws instead of writing (`./dry-run`).
28
32
  */
29
33
  function writeDocument(absolutePath, content) {
34
+ (0, dry_run_1.refuseDuringDryRun)('writeDocument');
30
35
  (0, fs_1.mkdirSync)((0, path_1.dirname)(absolutePath), { recursive: true });
31
36
  (0, fs_1.writeFileSync)(absolutePath, content, 'utf-8');
32
37
  }
@@ -42,11 +47,15 @@ function writeDocument(absolutePath, content) {
42
47
  * exactly as it is for a write (`commitPaths`, ./commit) — this module only owns the bytes at an
43
48
  * already-resolved absolute path.
44
49
  *
50
+ * During a dry run this throws instead of deleting (task-210, `./dry-run`); a mutating operation deletes
51
+ * through `writeAndCommit` (`./commit`).
52
+ *
45
53
  * @throws Node's `ENOENT` when nothing is there. Callers resolve the target before calling (P3.3
46
54
  * resolves a directive NAME to a file that `loadDirectives` just read), so a missing path is a
47
55
  * programmer error rather than a domain outcome to swallow.
48
56
  */
49
57
  function removeDocument(absolutePath) {
58
+ (0, dry_run_1.refuseDuringDryRun)('removeDocument');
50
59
  (0, fs_1.unlinkSync)(absolutePath);
51
60
  }
52
61
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":";;AAYA,oCAEC;AAGD,wCAEC;AAMD,sCAGC;AAkBD,wCAEC;AAhDD;;;;;;;GAOG;AACH,2BAAoF;AACpF,+BAA+B;AAE/B,qDAAqD;AACrD,SAAgB,YAAY,CAAC,YAAoB;IAC/C,OAAO,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,mDAAmD;AACnD,SAAgB,cAAc,CAAC,YAAoB;IACjD,OAAO,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,YAAoB,EAAE,OAAe;IACjE,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAA,kBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,cAAc,CAAC,YAAoB;IACjD,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":";;AAcA,oCAEC;AAGD,wCAEC;AASD,sCAIC;AAqBD,wCAGC;AA1DD;;;;;;;GAOG;AACH,2BAAoF;AACpF,+BAA+B;AAE/B,uCAA+C;AAE/C,qDAAqD;AACrD,SAAgB,YAAY,CAAC,YAAoB;IAC/C,OAAO,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,mDAAmD;AACnD,SAAgB,cAAc,CAAC,YAAoB;IACjD,OAAO,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,YAAoB,EAAE,OAAe;IACjE,IAAA,4BAAkB,EAAC,eAAe,CAAC,CAAC;IACpC,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAA,kBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,cAAc,CAAC,YAAoB;IACjD,IAAA,4BAAkB,EAAC,gBAAgB,CAAC,CAAC;IACrC,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * The commit a dry run would have made. `subject` and `message` are what the commit would record
3
+ * (`message` with the `WingFoil-Version:` trailer paragraph the primitive appends, task-192); `paths` are
4
+ * root-relative POSIX paths, sorted; `diff` is the unified diff of those paths from `HEAD` to the blobs
5
+ * the commit would record ({@link planDiff}).
6
+ */
7
+ export interface DryRunPlan {
8
+ readonly dryRun: true;
9
+ readonly subject: string;
10
+ readonly message: string;
11
+ readonly paths: readonly string[];
12
+ readonly diff: string;
13
+ }
14
+ /** Whether the calling code runs inside {@link captureDryRun}. */
15
+ export declare function isDryRunActive(): boolean;
16
+ /**
17
+ * Record `plan`, and the success `warnings` the operation collected before its commit point, as the dry
18
+ * run's outcome, and end the operation by throwing. Only the first plan is kept. The throw is a control
19
+ * transfer, not a failure: {@link captureDryRun} reads the store whatever the operation did with the
20
+ * error — rethrew it, or folded it into a failed result.
21
+ */
22
+ export declare function stopWithPlan(plan: DryRunPlan, warnings?: readonly string[]): never;
23
+ /**
24
+ * Throw when a raw write primitive (`writeDocument`, `removeDocument`, `commitPaths`) is called during a
25
+ * dry run. Every mutating operation writes through `writeAndCommit`, which plans instead of writing; a
26
+ * call that reaches a raw primitive is a writer that bypassed it, and must fail rather than write.
27
+ */
28
+ export declare function refuseDuringDryRun(primitive: string): void;
29
+ /** What {@link captureDryRun} observed: the plan and its warnings, or else what `run` returned or threw. */
30
+ export type DryRunOutcome<T> = {
31
+ readonly kind: 'planned';
32
+ readonly plan: DryRunPlan;
33
+ readonly warnings: readonly string[];
34
+ } | {
35
+ readonly kind: 'returned';
36
+ readonly value: T;
37
+ } | {
38
+ readonly kind: 'threw';
39
+ readonly error: unknown;
40
+ };
41
+ /** Run `run` as a dry run and report how it ended. A recorded plan wins over whatever `run` did after it. */
42
+ export declare function captureDryRun<T>(run: () => Promise<T>): Promise<DryRunOutcome<T>>;
43
+ /**
44
+ * The unified diff the commit of `content` at `path` would carry, from `HEAD` (`content` `null` = the
45
+ * path is deleted): `--- a/<path>` / `+++ b/<path>` headers (`/dev/null` for an absent side), then the
46
+ * hunks. Empty when the commit would record the blob `HEAD` already holds.
47
+ *
48
+ * **The blobs are the commit's.** The new side is hashed by `git hash-object --path=<path>` in the
49
+ * repository, under the caller's environment, so the clean conversion the commit applies — `core.autocrlf`
50
+ * from any configuration level, `.gitattributes` `eol`/`text`/`filter` — is applied here too: a CRLF
51
+ * document that normalizes to a one-line change shows that one line, as `git show` does. The object is
52
+ * written to a temporary object directory outside the repository (`GIT_OBJECT_DIRECTORY`, with the
53
+ * repository's own objects as an alternate), so the repository gains no object.
54
+ *
55
+ * **The hunks are git's defaults.** The blob-to-blob diff runs with every hunk-shaping key pinned by `-c`
56
+ * ({@link DIFF_CONFIG_PINS}), over every configuration level, and colour, external diff drivers and
57
+ * textconv off: they are what `git show` prints for the real commit under git's default diff settings, on
58
+ * any machine (REQ-SYS-07). The configuration itself is not switched off (task-210 review F7): the
59
+ * operator's `safe.directory`, which lets git open a repository another user owns, must keep applying,
60
+ * or a dry run would fail where the real run commits.
61
+ *
62
+ * @throws {@link StorageError} `E_GIT_READ_FAILED` when git cannot produce the diff.
63
+ */
64
+ export declare function planDiff(root: string, path: string, content: string | null, env?: NodeJS.ProcessEnv): string;
65
+ //# sourceMappingURL=dry-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/storage/dry-run.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkBD,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,KAAK,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,4GAA4G;AAC5G,MAAM,MAAM,aAAa,CAAC,CAAC,IACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAExD,6GAA6G;AAC7G,wBAAsB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CASvF;AAkCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CA2BzH"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDryRunActive = isDryRunActive;
4
+ exports.stopWithPlan = stopWithPlan;
5
+ exports.refuseDuringDryRun = refuseDuringDryRun;
6
+ exports.captureDryRun = captureDryRun;
7
+ exports.planDiff = planDiff;
8
+ /**
9
+ * The dry-run context of the commit primitive (task-210, `dl-106` W2, `spec-008-cli-grammar` §2).
10
+ *
11
+ * A dry run executes an operation exactly as the real run would — every read, every guard, every
12
+ * refusal — up to the moment it would write: there, {@link writeAndCommit} (`./commit`) records the
13
+ * commit it would make as a {@link DryRunPlan} and stops the operation, so nothing reaches the working
14
+ * tree, the index or a ref. The mode travels in an `AsyncLocalStorage` rather than in each operation's
15
+ * params, which is what makes it **inherited**: an operation never sees the flag, so a mutating
16
+ * operation added later is dry-runnable by construction as long as it writes through `writeAndCommit`.
17
+ * One that writes any other way is caught loudly: the raw primitives ({@link refuseDuringDryRun}) throw
18
+ * while a dry run is active instead of writing.
19
+ *
20
+ * A dry run stops at the operation's **first** commit. Every registered operation makes one, except
21
+ * `memory approve` when the `supersedes:` trigger fires a second, `finalize` commit (task-162), whose
22
+ * message names the first commit's sha: that second commit is not planned.
23
+ *
24
+ * The success warnings an operation has collected before its commit point reach the dry run's result
25
+ * (task-210 review, F4): the operation hands them to `writeAndCommit` (`CommitOptions.warnings`), which
26
+ * records them beside the plan.
27
+ */
28
+ const node_async_hooks_1 = require("node:async_hooks");
29
+ const node_child_process_1 = require("node:child_process");
30
+ const node_fs_1 = require("node:fs");
31
+ const node_os_1 = require("node:os");
32
+ const node_path_1 = require("node:path");
33
+ const errors_1 = require("./errors");
34
+ const context = new node_async_hooks_1.AsyncLocalStorage();
35
+ /** Thrown by {@link stopWithPlan} to end the operation where it would have committed. */
36
+ class DryRunStop extends Error {
37
+ constructor() {
38
+ super('dry run: stopped where the operation would have committed');
39
+ this.name = 'DryRunStop';
40
+ Object.setPrototypeOf(this, DryRunStop.prototype);
41
+ }
42
+ }
43
+ /** Whether the calling code runs inside {@link captureDryRun}. */
44
+ function isDryRunActive() {
45
+ return context.getStore() !== undefined;
46
+ }
47
+ /**
48
+ * Record `plan`, and the success `warnings` the operation collected before its commit point, as the dry
49
+ * run's outcome, and end the operation by throwing. Only the first plan is kept. The throw is a control
50
+ * transfer, not a failure: {@link captureDryRun} reads the store whatever the operation did with the
51
+ * error — rethrew it, or folded it into a failed result.
52
+ */
53
+ function stopWithPlan(plan, warnings = []) {
54
+ const store = context.getStore();
55
+ if (store === undefined)
56
+ throw new Error('stopWithPlan called outside a dry run');
57
+ store.recorded ??= { plan, warnings };
58
+ throw new DryRunStop();
59
+ }
60
+ /**
61
+ * Throw when a raw write primitive (`writeDocument`, `removeDocument`, `commitPaths`) is called during a
62
+ * dry run. Every mutating operation writes through `writeAndCommit`, which plans instead of writing; a
63
+ * call that reaches a raw primitive is a writer that bypassed it, and must fail rather than write.
64
+ */
65
+ function refuseDuringDryRun(primitive) {
66
+ if (isDryRunActive()) {
67
+ throw new Error(`dry run: ${primitive} was called directly; a mutating operation must write through writeAndCommit`);
68
+ }
69
+ }
70
+ /** Run `run` as a dry run and report how it ended. A recorded plan wins over whatever `run` did after it. */
71
+ async function captureDryRun(run) {
72
+ const store = {};
73
+ let outcome;
74
+ try {
75
+ outcome = { kind: 'returned', value: await context.run(store, run) };
76
+ }
77
+ catch (error) {
78
+ outcome = { kind: 'threw', error };
79
+ }
80
+ return store.recorded !== undefined ? { kind: 'planned', ...store.recorded } : outcome;
81
+ }
82
+ /**
83
+ * The `-c` pins of the diff step: every configuration key that changes which hunks git prints, set to
84
+ * git's default, over whatever any configuration file says (`-c` wins over system, global and repository
85
+ * configuration). Keys that shape only what {@link planDiff} replaces or drops — the file headers
86
+ * (`diff.noprefix`, `diff.mnemonicPrefix`, `diff.relative`), colour — need no pin; neither does a
87
+ * `diff.<driver>.xfuncname`, since a blob-to-blob diff has no path for `.gitattributes` to select one by.
88
+ */
89
+ const DIFF_CONFIG_PINS = [
90
+ 'diff.context=3',
91
+ 'diff.interHunkContext=0',
92
+ 'diff.indentHeuristic=true',
93
+ 'diff.suppressBlankEmpty=false',
94
+ 'diff.algorithm=myers',
95
+ ];
96
+ /** One git run for {@link planDiff}; a spawn failure or an exit outside `accepted` is `E_GIT_READ_FAILED`. */
97
+ function planGit(root, path, args, env, accepted, input) {
98
+ const run = (0, node_child_process_1.spawnSync)('git', ['-C', root, ...args], { encoding: 'utf-8', env, input, stdio: ['pipe', 'pipe', 'pipe'] });
99
+ if (run.error !== undefined || !accepted.includes(run.status)) {
100
+ const detail = run.error !== undefined ? run.error.message : run.stderr.trim();
101
+ throw new errors_1.StorageError(errors_1.E_GIT_READ_FAILED, `git for the dry run of ${path} failed: ${detail}`);
102
+ }
103
+ return { status: run.status, stdout: run.stdout };
104
+ }
105
+ /**
106
+ * The unified diff the commit of `content` at `path` would carry, from `HEAD` (`content` `null` = the
107
+ * path is deleted): `--- a/<path>` / `+++ b/<path>` headers (`/dev/null` for an absent side), then the
108
+ * hunks. Empty when the commit would record the blob `HEAD` already holds.
109
+ *
110
+ * **The blobs are the commit's.** The new side is hashed by `git hash-object --path=<path>` in the
111
+ * repository, under the caller's environment, so the clean conversion the commit applies — `core.autocrlf`
112
+ * from any configuration level, `.gitattributes` `eol`/`text`/`filter` — is applied here too: a CRLF
113
+ * document that normalizes to a one-line change shows that one line, as `git show` does. The object is
114
+ * written to a temporary object directory outside the repository (`GIT_OBJECT_DIRECTORY`, with the
115
+ * repository's own objects as an alternate), so the repository gains no object.
116
+ *
117
+ * **The hunks are git's defaults.** The blob-to-blob diff runs with every hunk-shaping key pinned by `-c`
118
+ * ({@link DIFF_CONFIG_PINS}), over every configuration level, and colour, external diff drivers and
119
+ * textconv off: they are what `git show` prints for the real commit under git's default diff settings, on
120
+ * any machine (REQ-SYS-07). The configuration itself is not switched off (task-210 review F7): the
121
+ * operator's `safe.directory`, which lets git open a repository another user owns, must keep applying,
122
+ * or a dry run would fail where the real run commits.
123
+ *
124
+ * @throws {@link StorageError} `E_GIT_READ_FAILED` when git cannot produce the diff.
125
+ */
126
+ function planDiff(root, path, content, env = process.env) {
127
+ const scratch = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'wingfoil-dry-run-'));
128
+ try {
129
+ const objects = (0, node_path_1.join)(scratch, 'objects');
130
+ (0, node_fs_1.mkdirSync)(objects);
131
+ const repositoryObjects = (0, node_path_1.resolve)(root, planGit(root, path, ['rev-parse', '--git-path', 'objects'], env, [0]).stdout.trim());
132
+ const planned = { ...env, GIT_OBJECT_DIRECTORY: objects, GIT_ALTERNATE_OBJECT_DIRECTORIES: repositoryObjects };
133
+ // `--verify --quiet` exits 1 for a path `HEAD` does not hold, 128 when there is no `HEAD` at all.
134
+ const head = planGit(root, path, ['rev-parse', '--verify', '--quiet', `HEAD:${path}`], env, [0, 1, 128]);
135
+ const before = head.status === 0 ? head.stdout.trim() : null;
136
+ const after = content === null ? null : planGit(root, path, ['hash-object', '-w', `--path=${path}`, '--stdin'], planned, [0], content).stdout.trim();
137
+ if (before === after)
138
+ return '';
139
+ const empty = planGit(root, path, ['hash-object', '-w', '--stdin'], planned, [0], '').stdout.trim();
140
+ const diff = planGit(root, path, [...DIFF_CONFIG_PINS.flatMap((pin) => ['-c', pin]), 'diff', '--no-color', '--no-ext-diff', '--no-textconv', before ?? empty, after ?? empty], planned, [0]).stdout;
141
+ const lines = diff.split('\n');
142
+ const firstHunk = lines.findIndex((line) => line.startsWith('@@'));
143
+ const hunks = firstHunk === -1 ? [] : lines.slice(firstHunk);
144
+ return [before === null ? '--- /dev/null' : `--- a/${path}`, after === null ? '+++ /dev/null' : `+++ b/${path}`, ...hunks].join('\n').replace(/\n*$/, '\n');
145
+ }
146
+ finally {
147
+ (0, node_fs_1.rmSync)(scratch, { recursive: true, force: true });
148
+ }
149
+ }
150
+ //# sourceMappingURL=dry-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/storage/dry-run.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,12 @@ export declare const E_MISSING_PATH_VALUE = "E_MISSING_PATH_VALUE";
23
23
  * project root — e.g. a crafted `id`/value containing `../` traversal (REQ-SEC-06 storage confinement).
24
24
  */
25
25
  export declare const E_PATH_ESCAPES_ROOT = "E_PATH_ESCAPES_ROOT";
26
+ /**
27
+ * Raised by {@link resolveConfinedMemoryPath} when a resolved Memory-entry path stays inside the project root
28
+ * but leaves its type's folder — the static prefix of the type's `path` pattern (`pathPatternFolder`;
29
+ * task-281, `bug-325`). Checked after the root confinement, so a root escape keeps {@link E_PATH_ESCAPES_ROOT}.
30
+ */
31
+ export declare const E_PATH_OUTSIDE_TYPE_FOLDER = "E_PATH_OUTSIDE_TYPE_FOLDER";
26
32
  /**
27
33
  * Raised by {@link resolveConfinedMemoryPath} when the target's **own name** is a symbolic link
28
34
  * (task-106, `bug-120-a-symlinked-document-leaf-is-followed-by-the-write`).
@@ -33,4 +39,24 @@ export declare const E_PATH_ESCAPES_ROOT = "E_PATH_ESCAPES_ROOT";
33
39
  * `targetIsSymlink` (`./confinement.ts`).
34
40
  */
35
41
  export declare const E_TARGET_IS_SYMLINK = "E_TARGET_IS_SYMLINK";
42
+ /**
43
+ * Raised when a read-only `git` invocation whose answer an operation depends on fails — a repository
44
+ * that cannot be read, or output larger than the read allows (task-128: `memory add`'s id counter). A
45
+ * failed read must not pass for an empty answer: a counter that saw nothing would reissue `1`.
46
+ */
47
+ export declare const E_GIT_READ_FAILED = "E_GIT_READ_FAILED";
48
+ /**
49
+ * Raised by `readPathsAtRev` (`./commit.ts`, task-137 review) for a revision that would change the
50
+ * batch request itself: a newline or carriage return ends the request line early, so the answers shift
51
+ * onto the wrong paths; a `:` changes which path is read; a NUL cannot travel at all.
52
+ */
53
+ export declare const E_INVALID_REVISION = "E_INVALID_REVISION";
54
+ /**
55
+ * Raised by `writeAndCommit` (`./commit.ts`, task-210, `bug-217`) when git refuses or fails the commit
56
+ * of a write — a refusing hook, a full disk, an author date git cannot parse. Raised only after the
57
+ * primitive has put the working tree and the index of every path it wrote back as they were, so the
58
+ * message says that nothing was committed and nothing is left behind. It names the paths repository-
59
+ * relative and carries git's own explanation with the project root removed (the `bug-251` class).
60
+ */
61
+ export declare const E_COMMIT_FAILED = "E_COMMIT_FAILED";
36
62
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAO1C;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAO1C;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.E_TARGET_IS_SYMLINK = exports.E_PATH_ESCAPES_ROOT = exports.E_MISSING_PATH_VALUE = exports.E_NOT_AT_GIT_ROOT = exports.E_NO_GIT_ROOT = exports.StorageError = void 0;
3
+ exports.E_COMMIT_FAILED = exports.E_INVALID_REVISION = exports.E_GIT_READ_FAILED = exports.E_TARGET_IS_SYMLINK = exports.E_PATH_OUTSIDE_TYPE_FOLDER = exports.E_PATH_ESCAPES_ROOT = exports.E_MISSING_PATH_VALUE = exports.E_NOT_AT_GIT_ROOT = exports.E_NO_GIT_ROOT = exports.StorageError = void 0;
4
4
  /**
5
5
  * Shared storage-layer error type (task-003-git-backed-sot, REQ-SYS-01, spec-011-storage-layout).
6
6
  *
@@ -33,6 +33,12 @@ exports.E_MISSING_PATH_VALUE = 'E_MISSING_PATH_VALUE';
33
33
  * project root — e.g. a crafted `id`/value containing `../` traversal (REQ-SEC-06 storage confinement).
34
34
  */
35
35
  exports.E_PATH_ESCAPES_ROOT = 'E_PATH_ESCAPES_ROOT';
36
+ /**
37
+ * Raised by {@link resolveConfinedMemoryPath} when a resolved Memory-entry path stays inside the project root
38
+ * but leaves its type's folder — the static prefix of the type's `path` pattern (`pathPatternFolder`;
39
+ * task-281, `bug-325`). Checked after the root confinement, so a root escape keeps {@link E_PATH_ESCAPES_ROOT}.
40
+ */
41
+ exports.E_PATH_OUTSIDE_TYPE_FOLDER = 'E_PATH_OUTSIDE_TYPE_FOLDER';
36
42
  /**
37
43
  * Raised by {@link resolveConfinedMemoryPath} when the target's **own name** is a symbolic link
38
44
  * (task-106, `bug-120-a-symlinked-document-leaf-is-followed-by-the-write`).
@@ -43,4 +49,24 @@ exports.E_PATH_ESCAPES_ROOT = 'E_PATH_ESCAPES_ROOT';
43
49
  * `targetIsSymlink` (`./confinement.ts`).
44
50
  */
45
51
  exports.E_TARGET_IS_SYMLINK = 'E_TARGET_IS_SYMLINK';
52
+ /**
53
+ * Raised when a read-only `git` invocation whose answer an operation depends on fails — a repository
54
+ * that cannot be read, or output larger than the read allows (task-128: `memory add`'s id counter). A
55
+ * failed read must not pass for an empty answer: a counter that saw nothing would reissue `1`.
56
+ */
57
+ exports.E_GIT_READ_FAILED = 'E_GIT_READ_FAILED';
58
+ /**
59
+ * Raised by `readPathsAtRev` (`./commit.ts`, task-137 review) for a revision that would change the
60
+ * batch request itself: a newline or carriage return ends the request line early, so the answers shift
61
+ * onto the wrong paths; a `:` changes which path is read; a NUL cannot travel at all.
62
+ */
63
+ exports.E_INVALID_REVISION = 'E_INVALID_REVISION';
64
+ /**
65
+ * Raised by `writeAndCommit` (`./commit.ts`, task-210, `bug-217`) when git refuses or fails the commit
66
+ * of a write — a refusing hook, a full disk, an author date git cannot parse. Raised only after the
67
+ * primitive has put the working tree and the index of every path it wrote back as they were, so the
68
+ * message says that nothing was committed and nothing is left behind. It names the paths repository-
69
+ * relative and carries git's own explanation with the project root removed (the `bug-251` class).
70
+ */
71
+ exports.E_COMMIT_FAILED = 'E_COMMIT_FAILED';
46
72
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,sFAAsF;QACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAVD,oCAUC;AAED,8FAA8F;AACjF,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,4FAA4F;AAC/E,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;GAGG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,sFAAsF;QACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAVD,oCAUC;AAED,8FAA8F;AACjF,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,4FAA4F;AAC/E,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;GAGG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;GAIG;AACU,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAEvE;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD;;;;;;GAMG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Frontmatter extraction (task-003-git-backed-sot). Memory element state is derived from each
3
- * document's frontmatter, not any external index (CLAUDE.md §5, REQ-STATE-01/-02): this is the
3
+ * document's frontmatter, not any external index (AGENTS.md §5, REQ-STATE-01/-02): this is the
4
4
  * shared primitive for reading it, as raw YAML text. Parsing that text against a type's schema is
5
5
  * the validation module's job (spec-009-validation-strategy, task-002), not this module's — keeping
6
6
  * the two concerns separate lets the storage layer stay YAML-schema-agnostic.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Frontmatter extraction (task-003-git-backed-sot). Memory element state is derived from each
4
- * document's frontmatter, not any external index (CLAUDE.md §5, REQ-STATE-01/-02): this is the
4
+ * document's frontmatter, not any external index (AGENTS.md §5, REQ-STATE-01/-02): this is the
5
5
  * shared primitive for reading it, as raw YAML text. Parsing that text against a type's schema is
6
6
  * the validation module's job (spec-009-validation-strategy, task-002), not this module's — keeping
7
7
  * the two concerns separate lets the storage layer stay YAML-schema-agnostic.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Large enough for any answer a Memory read asks of git — a whole tree's path list, a full history
3
+ * walk; an answer past it fails loudly ({@link runGitRead}), it is never truncated.
4
+ */
5
+ export declare const GIT_READ_MAX_BUFFER: number;
6
+ /** Options for {@link runGitRead}. */
7
+ export interface GitReadOptions {
8
+ /**
9
+ * The exit statuses that are answers rather than failures (default `[0]`). A caller that lists a
10
+ * non-zero status interprets it itself — e.g. `128` from `git show <sha>:<path>` for a path that
11
+ * commit does not hold.
12
+ */
13
+ readonly accepted?: readonly number[];
14
+ /** Bytes written to the child's stdin (e.g. `git cat-file --batch` requests); stdin is closed otherwise. */
15
+ readonly input?: string;
16
+ /** Additional environment, merged over `process.env`. */
17
+ readonly env?: NodeJS.ProcessEnv;
18
+ }
19
+ /** What {@link runGitRead} returns: the exit status (one of `accepted`) and both output streams. */
20
+ export interface GitReadResult<Out extends string | Buffer> {
21
+ readonly status: number;
22
+ readonly stdout: Out;
23
+ /** git's own diagnostics, captured — the caller decides whether they mean anything. */
24
+ readonly stderr: string;
25
+ }
26
+ /**
27
+ * Run `git -C <root> <args>` for its answer, with stdout decoded as UTF-8.
28
+ *
29
+ * @param root - The repository to read.
30
+ * @param args - git's arguments, passed verbatim (never through a shell).
31
+ * @param options - {@link GitReadOptions}.
32
+ * @returns The exit status, stdout and the captured stderr.
33
+ * @throws {@link StorageError} `E_GIT_READ_FAILED` — carrying git's stderr, or the spawn error — when
34
+ * git cannot be spawned, its output exceeds {@link GIT_READ_MAX_BUFFER}, it is killed, or it exits
35
+ * with a status outside `accepted`.
36
+ */
37
+ export declare function runGitRead(root: string, args: readonly string[], options?: GitReadOptions): GitReadResult<string>;
38
+ /**
39
+ * {@link runGitRead} for an answer that is bytes, not text — `git cat-file --batch`, whose object
40
+ * sizes are byte counts and whose tree objects are binary.
41
+ *
42
+ * @throws {@link StorageError} `E_GIT_READ_FAILED` on the same conditions as {@link runGitRead}.
43
+ */
44
+ export declare function runGitReadBytes(root: string, args: readonly string[], options?: GitReadOptions): GitReadResult<Buffer>;
45
+ /**
46
+ * `name`, checked to be a full commit name, as a reader of `git log --format=%H` output takes it
47
+ * (`task-268`, `bug-291`).
48
+ *
49
+ * Every `git log` reader passes `--no-show-signature`, so a `log.showSignature` configuration cannot
50
+ * print signature text ("No signature", "Good … signature for …") among the formatted lines. This is
51
+ * the second half: whatever still arrives where a name was expected is refused, never used — a
52
+ * garbled name used as a sha silently drops the commit it should have named (a phase record left
53
+ * uncounted) or surfaces as an unrelated error ("creation commit No signature is not present …").
54
+ * `agent show` makes the same check on its own reader (`task-220` review F1).
55
+ *
56
+ * @param name - The text the reader parsed as a commit name.
57
+ * @param command - The git command that printed it, for the message (e.g. `git log --follow`).
58
+ * @returns `name`, unchanged.
59
+ * @throws {@link StorageError} `E_GIT_READ_FAILED` — `IO` at the core boundary — when `name` is not a
60
+ * full commit name: `<command> printed "<name>" where a commit name was expected`, `name` quoted as a
61
+ * JSON string so a line break in it stays visible.
62
+ */
63
+ export declare function requireCommitName(name: string, command: string): string;
64
+ //# sourceMappingURL=git-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-read.d.ts","sourceRoot":"","sources":["../../src/storage/git-read.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,oGAAoG;AACpG,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,CAOrH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,CAQ1H;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvE"}