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":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,yGAAyG;AACzG,eAAO,MAAM,WAAW,EAAG,YAAqB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3F,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAO3D,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAK5G;AAMD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,yGAAyG;AACzG,eAAO,MAAM,WAAW,EAAG,YAAqB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3F,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAK3D,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAOhF,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAM5G;AAMD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
package/dist/mcp/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startMcpServer = exports.createMcpServer = exports.roleSessionPromptName = exports.registerRolePrompts = exports.WRITE_INTENT_META_KEY = exports.WRITE_REFUSAL_MESSAGE = exports.resourceNotFoundError = exports.refuseIfWriteIntent = exports.registerWriteRefusalHandler = exports.WORKFLOW_DOCUMENT_URI_TEMPLATE = exports.WORKFLOWS_COLLECTION_URI = exports.registerWorkflowResources = exports.DNA_SECTION_URI_TEMPLATE = exports.DNA_WHOLE_URI = exports.registerDnaResources = exports.MEMORY_DOCUMENT_URI_TEMPLATE = exports.MEMORY_COLLECTION_URI_TEMPLATE = exports.registerMemoryResources = exports.deriveMcpResourceUri = exports.deriveMcpToolName = exports.registerCoreModules = exports.MODULE_NAME = void 0;
3
+ exports.startMcpServer = exports.createMcpServer = exports.SESSION_CONTEXT_URI_TEMPLATE = exports.registerSessionContextResource = exports.roleSessionPromptName = exports.registerRolePrompts = exports.WRITE_INTENT_META_KEY = exports.WRITE_REFUSAL_MESSAGE = exports.resourceNotFoundError = exports.refuseIfWriteIntent = exports.registerWriteRefusalHandler = exports.WORKFLOW_STATUS_URI = exports.WORKFLOW_NEXT_URI = exports.WORKFLOW_DOCUMENT_URI_TEMPLATE = exports.WORKFLOWS_COLLECTION_URI = exports.registerWorkflowStateResources = exports.registerWorkflowResources = exports.DNA_SECTION_URI_TEMPLATE = exports.DNA_WHOLE_URI = exports.registerDnaResources = exports.MEMORY_DOCUMENT_URI_TEMPLATE = exports.MEMORY_COLLECTION_URI_TEMPLATE = exports.registerMemoryResources = exports.deriveMcpResourceUri = exports.deriveMcpToolName = exports.registerCoreModules = exports.MODULE_NAME = void 0;
4
4
  exports.registerReadOnlyResources = registerReadOnlyResources;
5
5
  /** This module's `dna.yaml` name (`mcp-server`) — the stable identifier surfaces and tests key it by. */
6
6
  exports.MODULE_NAME = 'mcp-server';
@@ -18,8 +18,11 @@ Object.defineProperty(exports, "DNA_WHOLE_URI", { enumerable: true, get: functio
18
18
  Object.defineProperty(exports, "DNA_SECTION_URI_TEMPLATE", { enumerable: true, get: function () { return dna_resource_1.DNA_SECTION_URI_TEMPLATE; } });
19
19
  var workflow_resource_1 = require("./workflow-resource");
20
20
  Object.defineProperty(exports, "registerWorkflowResources", { enumerable: true, get: function () { return workflow_resource_1.registerWorkflowResources; } });
21
+ Object.defineProperty(exports, "registerWorkflowStateResources", { enumerable: true, get: function () { return workflow_resource_1.registerWorkflowStateResources; } });
21
22
  Object.defineProperty(exports, "WORKFLOWS_COLLECTION_URI", { enumerable: true, get: function () { return workflow_resource_1.WORKFLOWS_COLLECTION_URI; } });
22
23
  Object.defineProperty(exports, "WORKFLOW_DOCUMENT_URI_TEMPLATE", { enumerable: true, get: function () { return workflow_resource_1.WORKFLOW_DOCUMENT_URI_TEMPLATE; } });
24
+ Object.defineProperty(exports, "WORKFLOW_NEXT_URI", { enumerable: true, get: function () { return workflow_resource_1.WORKFLOW_NEXT_URI; } });
25
+ Object.defineProperty(exports, "WORKFLOW_STATUS_URI", { enumerable: true, get: function () { return workflow_resource_1.WORKFLOW_STATUS_URI; } });
23
26
  var read_only_1 = require("./read-only");
24
27
  Object.defineProperty(exports, "registerWriteRefusalHandler", { enumerable: true, get: function () { return read_only_1.registerWriteRefusalHandler; } });
25
28
  Object.defineProperty(exports, "refuseIfWriteIntent", { enumerable: true, get: function () { return read_only_1.refuseIfWriteIntent; } });
@@ -34,13 +37,20 @@ Object.defineProperty(exports, "WRITE_INTENT_META_KEY", { enumerable: true, get:
34
37
  var prompt_1 = require("./prompt");
35
38
  Object.defineProperty(exports, "registerRolePrompts", { enumerable: true, get: function () { return prompt_1.registerRolePrompts; } });
36
39
  Object.defineProperty(exports, "roleSessionPromptName", { enumerable: true, get: function () { return prompt_1.roleSessionPromptName; } });
40
+ // task-236: the same execution context as the `{role}-session` Prompt with `element` and `state`, served also
41
+ // as the read-only Resource template `wingfoil://session/{role}/{element}/{state}` (spec-004 §2.1), because an
42
+ // agent CLI may let its model read Resources but not get Prompts. See `./session-resource.ts`.
43
+ var session_resource_1 = require("./session-resource");
44
+ Object.defineProperty(exports, "registerSessionContextResource", { enumerable: true, get: function () { return session_resource_1.registerSessionContextResource; } });
45
+ Object.defineProperty(exports, "SESSION_CONTEXT_URI_TEMPLATE", { enumerable: true, get: function () { return session_resource_1.SESSION_CONTEXT_URI_TEMPLATE; } });
37
46
  const dna_resource_2 = require("./dna-resource");
38
47
  const memory_resource_2 = require("./memory-resource");
39
48
  const read_only_2 = require("./read-only");
40
49
  const workflow_resource_2 = require("./workflow-resource");
41
50
  /**
42
51
  * Wire the full spec-004 §2 read-only Resources channel onto `server` in one call: the Memory, DNA,
43
- * and Workflow Resources plus the structural `resources/write` refusal. Deliberately does not touch
52
+ * and Workflow Resources — the two workflow-state Resources `wingfoil://workflows/-/next` and `-/status`
53
+ * included (task-239, `spec-017` §9) — plus the structural `resources/write` refusal. Deliberately does not touch
44
54
  * `registerCoreModules`/`CORE_MODULES` — a caller building a real server still calls that separately
45
55
  * for the (today, zero) Tools/legacy-shaped Resources it derives from `src/core`.
46
56
  */
@@ -49,6 +59,7 @@ function registerReadOnlyResources(server, options) {
49
59
  (0, memory_resource_2.registerMemoryResources)(server, options);
50
60
  (0, dna_resource_2.registerDnaResources)(server, options);
51
61
  (0, workflow_resource_2.registerWorkflowResources)(server, options);
62
+ (0, workflow_resource_2.registerWorkflowStateResources)(server, options);
52
63
  }
53
64
  // The production stdio entry point (task-030-implement-mcp-resources, spec-014-mcp-server-entry-point):
54
65
  // `createMcpServer` builds a real `McpServer` with the read-only Resources and Prompts channels above wired on,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AA8EA,8DAKC;AA7DD,yGAAyG;AAC5F,QAAA,WAAW,GAAG,YAAqB,CAAC;AAEjD,yCAA2F;AAAlF,gHAAA,mBAAmB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAGrE,qDAI2B;AAHzB,0HAAA,uBAAuB,OAAA;AACvB,iIAAA,8BAA8B,OAAA;AAC9B,+HAAA,4BAA4B,OAAA;AAI9B,+CAA+F;AAAtF,oHAAA,oBAAoB,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AAGtE,yDAI6B;AAH3B,8HAAA,yBAAyB,OAAA;AACzB,6HAAA,wBAAwB,OAAA;AACxB,mIAAA,8BAA8B,OAAA;AAIhC,yCAMqB;AALnB,wHAAA,2BAA2B,OAAA;AAC3B,gHAAA,mBAAmB,OAAA;AACnB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AAGvB,+FAA+F;AAC/F,8FAA8F;AAC9F,sGAAsG;AACtG,gFAAgF;AAChF,8EAA8E;AAC9E,mCAAsE;AAA7D,6GAAA,mBAAmB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAGnD,iDAAsD;AACtD,uDAA4D;AAC5D,2CAA0D;AAC1D,2DAAgE;AAQhE;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,MAAiB,EAAE,OAAyC;IACpG,IAAA,uCAA2B,EAAC,MAAM,CAAC,CAAC;IACpC,IAAA,yCAAuB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,IAAA,mCAAoB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAA,6CAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,wGAAwG;AACxG,gHAAgH;AAChH,sGAAsG;AACtG,4DAA4D;AAC5D,mCAA2D;AAAlD,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAyFA,8DAMC;AAxED,yGAAyG;AAC5F,QAAA,WAAW,GAAG,YAAqB,CAAC;AAEjD,yCAA2F;AAAlF,gHAAA,mBAAmB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAGrE,qDAI2B;AAHzB,0HAAA,uBAAuB,OAAA;AACvB,iIAAA,8BAA8B,OAAA;AAC9B,+HAAA,4BAA4B,OAAA;AAI9B,+CAA+F;AAAtF,oHAAA,oBAAoB,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AAGtE,yDAO6B;AAN3B,8HAAA,yBAAyB,OAAA;AACzB,mIAAA,8BAA8B,OAAA;AAC9B,6HAAA,wBAAwB,OAAA;AACxB,mIAAA,8BAA8B,OAAA;AAC9B,sHAAA,iBAAiB,OAAA;AACjB,wHAAA,mBAAmB,OAAA;AAIrB,yCAMqB;AALnB,wHAAA,2BAA2B,OAAA;AAC3B,gHAAA,mBAAmB,OAAA;AACnB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AAGvB,+FAA+F;AAC/F,8FAA8F;AAC9F,sGAAsG;AACtG,gFAAgF;AAChF,8EAA8E;AAC9E,mCAAsE;AAA7D,6GAAA,mBAAmB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAGnD,8GAA8G;AAC9G,+GAA+G;AAC/G,+FAA+F;AAC/F,uDAAkG;AAAzF,kIAAA,8BAA8B,OAAA;AAAE,gIAAA,4BAA4B,OAAA;AAGrE,iDAAsD;AACtD,uDAA4D;AAC5D,2CAA0D;AAC1D,2DAAgG;AAQhG;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,MAAiB,EAAE,OAAyC;IACpG,IAAA,uCAA2B,EAAC,MAAM,CAAC,CAAC;IACpC,IAAA,yCAAuB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,IAAA,mCAAoB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAA,6CAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAA,kDAA8B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,wGAAwG;AACxG,gHAAgH;AAChH,sGAAsG;AACtG,4DAA4D;AAC5D,mCAA2D;AAAlD,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-resource.d.ts","sourceRoot":"","sources":["../../src/mcp/memory-resource.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C,wHAAwH;IACxH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;CACpC;AAED,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAyFxG"}
1
+ {"version":3,"file":"memory-resource.d.ts","sourceRoot":"","sources":["../../src/mcp/memory-resource.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C,wHAAwH;IACxH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;CACpC;AAED,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAmGxG"}
@@ -18,7 +18,10 @@ exports.registerMemoryResources = registerMemoryResources;
18
18
  * an agent browsing a type is never handed a replaced or retired decision as if it were current — the
19
19
  * same guarantee `wingfoil://memory/search` and default `memory search` already give. The
20
20
  * **single-document** Resource does **not** filter: addressing a document by its id is explicit
21
- * retrieval, which REQ-STATE-06 preserves ("remaining present on disk and in git history"). It is the
21
+ * retrieval, which REQ-STATE-06 preserves ("remaining present on disk and in git history"). Since
22
+ * task-171 (`dl-038` option 1) the primitives exclude archived content by default, so the collection
23
+ * inherits its filter and the single-document Resource asks for archived content with
24
+ * `includeArchived: true`. It is the
22
25
  * MCP counterpart of `memory search --status deprecated` on the CLI, whose own opt-in
23
26
  * (`memorySearchFn`, `src/core/index.ts`) is gated on the same `isArchivedStatus`. `draft` is not
24
27
  * archived and is withheld by neither handler; only the *context* path (`src/core/relevance.ts`)
@@ -41,8 +44,8 @@ const path_1 = require("path");
41
44
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
42
45
  const core_1 = require("../core");
43
46
  const query_1 = require("../memory/query");
44
- const state_machine_1 = require("../memory/state-machine");
45
47
  const storage_1 = require("../storage");
48
+ const validation_1 = require("../validation");
46
49
  const read_only_1 = require("./read-only");
47
50
  /** spec-004 §2.1 — collection listing (frontmatter only, no `{id}`). */
48
51
  exports.MEMORY_COLLECTION_URI_TEMPLATE = 'wingfoil://memory/{type}';
@@ -55,7 +58,7 @@ exports.MEMORY_DOCUMENT_URI_TEMPLATE = 'wingfoil://memory/{type}/{id}';
55
58
  */
56
59
  function registerMemoryResources(server, options) {
57
60
  const collectionTemplate = new mcp_js_1.ResourceTemplate(exports.MEMORY_COLLECTION_URI_TEMPLATE, { list: undefined });
58
- server.registerResource('memory.list', collectionTemplate, { description: 'Memory documents of one type, frontmatter only (read-only)' }, async (uri, variables, extra) => {
61
+ server.registerResource('memory.list', collectionTemplate, { description: 'Memory documents of one type, frontmatter only (read-only)' }, (uri, variables, extra) => (0, read_only_1.withRefusalDetails)(() => {
59
62
  (0, read_only_1.refuseIfWriteIntent)(extra._meta);
60
63
  const root = options.resolveRoot();
61
64
  const memoryYaml = (0, core_1.loadMemoryYaml)(root);
@@ -68,25 +71,22 @@ function registerMemoryResources(server, options) {
68
71
  throw (0, read_only_1.resourceNotFoundError)(`memory/${type}`);
69
72
  // REQ-STATE-06 / `dl-028-archived-states-excluded-from-context` (`bug-010`): this collection is
70
73
  // an agent-facing read path, so archived documents — `{deprecated, superseded}`, per the shared
71
- // `isArchivedStatus` — are withheld here. The filter sits at this call site rather than inside
72
- // `listMemoryDocumentsByType` because that primitive also serves the single-document Resource's
73
- // consumers, which must still see archived content; the *policy* belongs to the surface, while
74
- // the *definition* of "archived" stays single, as dl-028 requires. `status` is already
75
- // projected to `string | undefined` by the primitive — the shape `isArchivedStatus` takes — so
76
- // a non-string frontmatter `status` is never archived. `filter` preserves the primitive's
77
- // id-ascending order (REQ-SYS-07).
78
- const summaries = (0, query_1.listMemoryDocumentsByType)(root, memoryYaml, type)
79
- .filter(({ status }) => !(0, state_machine_1.isArchivedStatus)(status))
74
+ // `isArchivedStatus` — are withheld. Since task-171 (`dl-038` option 1) the primitive withholds
75
+ // them by default, so this call site no longer filters: omitting a filter fails closed.
76
+ // A document the scan leaves out (unreadable, a link, a newer `format:`) is reported, and the
77
+ // report reaches the client as `warnings` (task-195, `bug-231`), as the CLI prints it.
78
+ const diagnostics = [];
79
+ const summaries = (0, query_1.listMemoryDocumentsByType)(root, memoryYaml, type, { onDiagnostic: (diagnostic) => diagnostics.push(diagnostic) })
80
80
  .map(({ id, title, status, tags }) => ({
81
81
  id,
82
82
  title,
83
83
  status,
84
84
  tags,
85
85
  }));
86
- return (0, read_only_1.jsonResourceResult)(uri, summaries);
87
- });
86
+ return (0, read_only_1.withWarnings)((0, read_only_1.jsonResourceResult)(uri, summaries), diagnostics.map(validation_1.formatDiagnostic));
87
+ }));
88
88
  const documentTemplate = new mcp_js_1.ResourceTemplate(exports.MEMORY_DOCUMENT_URI_TEMPLATE, { list: undefined });
89
- server.registerResource('memory.show', documentTemplate, { description: 'one Memory document, full content + metadata (read-only)' }, async (uri, variables, extra) => {
89
+ server.registerResource('memory.show', documentTemplate, { description: 'one Memory document, full content + metadata (read-only)' }, (uri, variables, extra) => (0, read_only_1.withRefusalDetails)(() => {
90
90
  (0, read_only_1.refuseIfWriteIntent)(extra._meta);
91
91
  const root = options.resolveRoot();
92
92
  const memoryYaml = (0, core_1.loadMemoryYaml)(root);
@@ -94,9 +94,20 @@ function registerMemoryResources(server, options) {
94
94
  const id = variables.id;
95
95
  if (!(type in memoryYaml.types))
96
96
  throw (0, read_only_1.resourceNotFoundError)(`memory/${type}/${id}`);
97
- const doc = (0, query_1.findMemoryDocumentByTypeAndId)(root, memoryYaml, type, id);
97
+ // `includeArchived: true`, said here on purpose (task-171, `dl-038` option 1): REQ-STATE-06 keeps
98
+ // an archived document "present on disk and in git history", and this Resource is how an agent
99
+ // retrieves one explicitly.
100
+ // The lookup reports the files it could not read on its way (task-195, `bug-231`): beside the
101
+ // document on success, and as the refusal's details when it found nothing, since the document
102
+ // may be one of them.
103
+ const diagnostics = [];
104
+ const doc = (0, query_1.findMemoryDocumentByTypeAndId)(root, memoryYaml, type, id, {
105
+ includeArchived: true,
106
+ onDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
107
+ });
108
+ const warnings = diagnostics.map(validation_1.formatDiagnostic);
98
109
  if (!doc)
99
- throw (0, read_only_1.resourceNotFoundError)(`memory/${type}/${id}`);
110
+ throw (0, read_only_1.readRefusalError)((0, read_only_1.resourceNotFoundError)(`memory/${type}/${id}`).message, (0, read_only_1.warningDetails)(warnings));
100
111
  // spec-004 §2.2 wants the *full file content* (frontmatter + body), not the re-serialized
101
112
  // parsed frontmatter `loadMemoryDocumentSummary` already split apart for the scan — so this
102
113
  // re-reads the resolved path's raw bytes via `storage.readDocument` (still a read primitive
@@ -127,7 +138,7 @@ function registerMemoryResources(server, options) {
127
138
  title: doc.frontmatter.title,
128
139
  },
129
140
  };
130
- return result;
131
- });
141
+ return (0, read_only_1.withWarnings)(result, warnings);
142
+ }));
132
143
  }
133
144
  //# sourceMappingURL=memory-resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-resource.js","sourceRoot":"","sources":["../../src/mcp/memory-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-resource.js","sourceRoot":"","sources":["../../src/mcp/memory-resource.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ExecutionContextElement } from '../core';
2
3
  /** Options for {@link registerRolePrompts}. */
3
4
  export interface RegisterRolePromptsOptions {
4
5
  /**
5
- * Resolves the project root each `prompts/get` is served from — invoked per request by the prompt
6
- * handlers, and once by {@link registerRolePrompts} itself to read the DNA role catalogue (see
7
- * that function's note on the two different timings spec-004 §3.1 and §3.2 mandate).
6
+ * Resolves the project root each `prompts/get` is served from — invoked per request by the
7
+ * `prompts/get` handler, which resolves the role's directives then (spec-004 §3.2).
8
8
  */
9
9
  readonly resolveRoot: () => string;
10
+ /**
11
+ * The DNA role set (`dna.yaml` `team.roles[].name`, declaration order), read once before the server
12
+ * starts — by `wingfoil mcp`'s pre-flight (`loadDnaRoleSet`, `dl-049` (b)) — and fixed for the
13
+ * server's life: spec-004 §3.1's "fixed set derived from DNA at server start".
14
+ */
15
+ readonly roles: readonly string[];
10
16
  }
11
17
  /**
12
18
  * `{role}-session` — spec-004 §3.1's prompt naming convention, as a function so the wire-visible name
@@ -15,32 +21,63 @@ export interface RegisterRolePromptsOptions {
15
21
  */
16
22
  export declare function roleSessionPromptName(role: string): string;
17
23
  /**
18
- * Register the role-scoped Prompts channel: one `{role}-session` Prompt per role in `dna.yaml`'s
19
- * `team.roles` catalogue (spec-004 §3.1), each embedding that role's directives (§3.2), and a refusal
20
- * for a session prompt naming a role DNA does not declare (P5.2.2's undefined-role scenario).
24
+ * A request refusal — of `prompts/get`, or of the session Resource's read (`./session-resource.ts`, task-236) —
25
+ * whose JSON-RPC error carries `message` **verbatim** with code `InvalidParams` (-32602, the code the MCP SDK
26
+ * itself uses for an unknown prompt name or resource).
21
27
  *
22
- * **Nothing is read here — every read happens per request** (task-058 second pass, rejection `ff13321`).
23
- * spec-014 §2 requires `createMcpServer` to perform "no I/O at construction time beyond wiring
24
- * handlers", so the DNA role catalogue is loaded inside the `prompts/list` / `prompts/get` handlers,
25
- * next to the per-request directive resolution spec-004 §3.2 already mandated (REQ-INT-02's "a newly
26
- * assigned directive appears on the next session start"). Two consequences, both deliberate:
28
+ * Deliberately a plain `Error` with a `code`, not the SDK's `McpError`: `McpError`'s constructor
29
+ * prefixes its own message with `MCP error <code>: `, and the SDK serializes `error.message` as-is, so a
30
+ * client — which adds that prefix again when it rebuilds the error — would read the prefix twice.
31
+ */
32
+ export declare function promptRequestError(message: string): Error;
33
+ /** The execution context for `(role, element, state)`, as text, with the diagnostics that ride beside it. */
34
+ export interface SessionContext {
35
+ /** `assembleExecutionContext`'s `spec-012` §7 payload, as returned. */
36
+ readonly text: string;
37
+ /** The directive-resolution warnings, then the builder's notes, then the `W_MEMORY_UNREADABLE` lines. */
38
+ readonly warnings: readonly string[];
39
+ }
40
+ /**
41
+ * The execution context for `role`, `element` and `state` (task-195, spec-004 §3.2): `assembleExecutionContext`'s
42
+ * §7 payload, as returned — never re-serialized, and never indexed by its body markers (`bug-265`). `state` is
43
+ * resolved once, here, and the builder reads everything at that sha, so neither a later commit nor an uncommitted
44
+ * edit changes the answer. ONE builder for both carriers: the `{role}-session` Prompt wraps it in `messages`
45
+ * ({@link buildContextPrompt}), the session Resource in `contents` (`./session-resource.ts`, task-236), so the two
46
+ * answer the same bytes for the same arguments.
47
+ *
48
+ * The diagnostics: the directive-resolution warnings (`spec-012` §5.1 order), then the builder's notes (§3 stage
49
+ * order), then the `W_MEMORY_UNREADABLE` lines of the files the scan left out (path order, task-171).
50
+ *
51
+ * Refusals (spec-004 §3.4): a `state` that is not a commit and an element the commit does not hold are request
52
+ * errors, `-32602` — the latter with the unreadable files as `error.data.details`, so a subject that does not parse
53
+ * is not reported as merely absent. Every other refusal is about the repository (an archived subject, one in a
54
+ * newer `format:`, a missing pillar file) and is a failed read, as a failed Resource read is: the core message with
55
+ * its details.
56
+ */
57
+ export declare function buildSessionContext(root: string, role: string, element: ExecutionContextElement, state: string): SessionContext;
58
+ /**
59
+ * Register the role-scoped Prompts channel: one `{role}-session` Prompt per role in `options.roles`
60
+ * (spec-004 §3.1), each embedding that role's directives (§3.2), and the refusals of §3.4.
27
61
  *
28
- * - `wingfoil mcp` starts in a git root with no `.wingfoil/dna.yaml` (e.g. a repository that has not
29
- * run `wingfoil init`) exactly as the Resources channel always has; the missing DNA surfaces as the
30
- * error of each Prompts request instead of aborting the process start.
31
- * - spec-004 §3.1's "fixed set derived from DNA at server start" is served as the DNA role set **at
32
- * request time**: a role added to `dna.yaml` while the server runs is listed on the next
33
- * `prompts/list`. That tension between spec-014 §2 and spec-004 §3.1 is open for the approver.
62
+ * **The role set is fixed; the directives are not** (`dl-049` (b), task-174). `options.roles` is the
63
+ * DNA role set `wingfoil mcp` read once, in its pre-flight, before the server started; it is copied
64
+ * here and never re-read, so `prompts/list` and the undefined-role check read nothing, and a role added
65
+ * to `dna.yaml` while the server runs is served after a restart. The Prompts capability is therefore
66
+ * declared without `listChanged`: the list cannot change during a session. What a Prompt *embeds* is
67
+ * still resolved per request — `roles.yaml` and the directive files are read on every `prompts/get`
68
+ * (spec-004 §3.2, REQ-INT-02's "a newly assigned directive appears on the next session start"). This
69
+ * function itself reads nothing, so `createMcpServer` keeps spec-014 §2's "no I/O at construction".
34
70
  *
35
71
  * **Why the low-level handlers, not `McpServer.registerPrompt`.** The high-level API answers an
36
72
  * unregistered name with its own `Prompt <name> not found` before any WingFoil code runs, so the BDD's
37
- * `no prompt for undefined role 'wizard'` cannot be expressed through it (and it would need the role
38
- * set at registration time). This function therefore owns `prompts/list` and `prompts/get` on
39
- * `server.server` — the same pattern `./read-only.ts`'s `registerWriteRefusalHandler` uses — and a
40
- * later `registerPrompt` on the same server fails loudly ("A request handler for prompts/list already
41
- * exists") instead of being silently shadowed. A requested name that is not `{role}-session`-shaped
42
- * keeps the SDK-equivalent `Prompt <name> not found` wording: it names no role, so it is not an
43
- * undefined-role request, and it is answered without reading anything.
73
+ * `no prompt for undefined role 'wizard'` cannot be expressed through it. This function therefore owns
74
+ * `prompts/list` and `prompts/get` on `server.server` — the same pattern `./read-only.ts`'s
75
+ * `registerWriteRefusalHandler` uses — and a later `registerPrompt` on the same server fails loudly ("A
76
+ * request handler for prompts/list already exists") instead of being silently shadowed. spec-004 §3.4's
77
+ * two refusals, both `-32602`: a `{role}-session` name whose role is not in the set is `no prompt for
78
+ * undefined role '<role>'`; a name that is not `{role}-session`-shaped names no role and keeps the SDK's
79
+ * `Prompt <name> not found`. A read that fails while a Prompt is built carries the loader's details as
80
+ * `error.data.details`, as a failed Resource read does (`withRefusalDetails`, `bug-184`).
44
81
  *
45
82
  * Call before the server is connected (MCP capabilities cannot be registered after connecting).
46
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/mcp/prompt.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;CACpC;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAgGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAkBhG"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/mcp/prompt.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,OAAO,KAAK,EAA4B,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMjF,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEzD;AAuCD,6GAA6G;AAC7G,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yGAAyG;IACzG,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAmB/H;AA6HD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAyChG"}