@agentxm/client-core 0.16.2 → 0.18.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 (494) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.d.ts +7589 -2945
  2. package/dist/src/unstable/agent-capabilities/catalog.d.ts.map +1 -1
  3. package/dist/src/unstable/agent-capabilities/data/agents/adal.d.ts +46 -24
  4. package/dist/src/unstable/agent-capabilities/data/agents/adal.d.ts.map +1 -1
  5. package/dist/src/unstable/agent-capabilities/data/agents/adal.js +52 -24
  6. package/dist/src/unstable/agent-capabilities/data/agents/adal.js.map +1 -1
  7. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.d.ts +24 -17
  8. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.d.ts.map +1 -1
  9. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.js +24 -17
  10. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.js.map +1 -1
  11. package/dist/src/unstable/agent-capabilities/data/agents/amp.d.ts +71 -32
  12. package/dist/src/unstable/agent-capabilities/data/agents/amp.d.ts.map +1 -1
  13. package/dist/src/unstable/agent-capabilities/data/agents/amp.js +76 -32
  14. package/dist/src/unstable/agent-capabilities/data/agents/amp.js.map +1 -1
  15. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.d.ts +90 -36
  16. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.d.ts.map +1 -1
  17. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.js +101 -36
  18. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.js.map +1 -1
  19. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts +252 -34
  20. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts.map +1 -1
  21. package/dist/src/unstable/agent-capabilities/data/agents/augment.js +226 -34
  22. package/dist/src/unstable/agent-capabilities/data/agents/augment.js.map +1 -1
  23. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts +200 -31
  24. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts.map +1 -1
  25. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js +159 -33
  26. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js.map +1 -1
  27. package/dist/src/unstable/agent-capabilities/data/agents/cline.d.ts +82 -28
  28. package/dist/src/unstable/agent-capabilities/data/agents/cline.d.ts.map +1 -1
  29. package/dist/src/unstable/agent-capabilities/data/agents/cline.js +87 -28
  30. package/dist/src/unstable/agent-capabilities/data/agents/cline.js.map +1 -1
  31. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.d.ts +24 -17
  32. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.d.ts.map +1 -1
  33. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.js +24 -17
  34. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.js.map +1 -1
  35. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts +272 -33
  36. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts.map +1 -1
  37. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js +253 -33
  38. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js.map +1 -1
  39. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.d.ts +24 -17
  40. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.d.ts.map +1 -1
  41. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.js +24 -17
  42. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.js.map +1 -1
  43. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.d.ts +24 -17
  44. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.d.ts.map +1 -1
  45. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.js +24 -17
  46. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.js.map +1 -1
  47. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +222 -56
  48. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts.map +1 -1
  49. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +197 -60
  50. package/dist/src/unstable/agent-capabilities/data/agents/codex.js.map +1 -1
  51. package/dist/src/unstable/agent-capabilities/data/agents/command-code.d.ts +24 -19
  52. package/dist/src/unstable/agent-capabilities/data/agents/command-code.d.ts.map +1 -1
  53. package/dist/src/unstable/agent-capabilities/data/agents/command-code.js +24 -19
  54. package/dist/src/unstable/agent-capabilities/data/agents/command-code.js.map +1 -1
  55. package/dist/src/unstable/agent-capabilities/data/agents/continue.d.ts +36 -22
  56. package/dist/src/unstable/agent-capabilities/data/agents/continue.d.ts.map +1 -1
  57. package/dist/src/unstable/agent-capabilities/data/agents/continue.js +39 -22
  58. package/dist/src/unstable/agent-capabilities/data/agents/continue.js.map +1 -1
  59. package/dist/src/unstable/agent-capabilities/data/agents/cortex.d.ts +24 -17
  60. package/dist/src/unstable/agent-capabilities/data/agents/cortex.d.ts.map +1 -1
  61. package/dist/src/unstable/agent-capabilities/data/agents/cortex.js +24 -17
  62. package/dist/src/unstable/agent-capabilities/data/agents/cortex.js.map +1 -1
  63. package/dist/src/unstable/agent-capabilities/data/agents/crush.d.ts +61 -29
  64. package/dist/src/unstable/agent-capabilities/data/agents/crush.d.ts.map +1 -1
  65. package/dist/src/unstable/agent-capabilities/data/agents/crush.js +66 -29
  66. package/dist/src/unstable/agent-capabilities/data/agents/crush.js.map +1 -1
  67. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts +36 -31
  68. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts.map +1 -1
  69. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js +37 -33
  70. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js.map +1 -1
  71. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts +24 -17
  72. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts.map +1 -1
  73. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js +24 -17
  74. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js.map +1 -1
  75. package/dist/src/unstable/agent-capabilities/data/agents/devin.d.ts +263 -35
  76. package/dist/src/unstable/agent-capabilities/data/agents/devin.d.ts.map +1 -1
  77. package/dist/src/unstable/agent-capabilities/data/agents/devin.js +254 -35
  78. package/dist/src/unstable/agent-capabilities/data/agents/devin.js.map +1 -1
  79. package/dist/src/unstable/agent-capabilities/data/agents/dexto.d.ts +24 -17
  80. package/dist/src/unstable/agent-capabilities/data/agents/dexto.d.ts.map +1 -1
  81. package/dist/src/unstable/agent-capabilities/data/agents/dexto.js +24 -17
  82. package/dist/src/unstable/agent-capabilities/data/agents/dexto.js.map +1 -1
  83. package/dist/src/unstable/agent-capabilities/data/agents/droid.d.ts +24 -19
  84. package/dist/src/unstable/agent-capabilities/data/agents/droid.d.ts.map +1 -1
  85. package/dist/src/unstable/agent-capabilities/data/agents/droid.js +24 -19
  86. package/dist/src/unstable/agent-capabilities/data/agents/droid.js.map +1 -1
  87. package/dist/src/unstable/agent-capabilities/data/agents/firebender.d.ts +24 -17
  88. package/dist/src/unstable/agent-capabilities/data/agents/firebender.d.ts.map +1 -1
  89. package/dist/src/unstable/agent-capabilities/data/agents/firebender.js +24 -17
  90. package/dist/src/unstable/agent-capabilities/data/agents/firebender.js.map +1 -1
  91. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.d.ts +24 -18
  92. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.d.ts.map +1 -1
  93. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.js +24 -18
  94. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.js.map +1 -1
  95. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts +207 -38
  96. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts.map +1 -1
  97. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js +212 -41
  98. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js.map +1 -1
  99. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +30 -24
  100. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts.map +1 -1
  101. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +33 -24
  102. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js.map +1 -1
  103. package/dist/src/unstable/agent-capabilities/data/agents/goose.d.ts +37 -53
  104. package/dist/src/unstable/agent-capabilities/data/agents/goose.d.ts.map +1 -1
  105. package/dist/src/unstable/agent-capabilities/data/agents/goose.js +37 -55
  106. package/dist/src/unstable/agent-capabilities/data/agents/goose.js.map +1 -1
  107. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.d.ts +59 -28
  108. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.d.ts.map +1 -1
  109. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.js +66 -28
  110. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.js.map +1 -1
  111. package/dist/src/unstable/agent-capabilities/data/agents/hermes.d.ts +49 -21
  112. package/dist/src/unstable/agent-capabilities/data/agents/hermes.d.ts.map +1 -1
  113. package/dist/src/unstable/agent-capabilities/data/agents/hermes.js +39 -21
  114. package/dist/src/unstable/agent-capabilities/data/agents/hermes.js.map +1 -1
  115. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts +34 -23
  116. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts.map +1 -1
  117. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js +37 -23
  118. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js.map +1 -1
  119. package/dist/src/unstable/agent-capabilities/data/agents/junie.d.ts +71 -47
  120. package/dist/src/unstable/agent-capabilities/data/agents/junie.d.ts.map +1 -1
  121. package/dist/src/unstable/agent-capabilities/data/agents/junie.js +84 -47
  122. package/dist/src/unstable/agent-capabilities/data/agents/junie.js.map +1 -1
  123. package/dist/src/unstable/agent-capabilities/data/agents/kilo.d.ts +90 -70
  124. package/dist/src/unstable/agent-capabilities/data/agents/kilo.d.ts.map +1 -1
  125. package/dist/src/unstable/agent-capabilities/data/agents/kilo.js +97 -74
  126. package/dist/src/unstable/agent-capabilities/data/agents/kilo.js.map +1 -1
  127. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.d.ts +24 -18
  128. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.d.ts.map +1 -1
  129. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.js +24 -18
  130. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.js.map +1 -1
  131. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts +60 -33
  132. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts.map +1 -1
  133. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js +69 -33
  134. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js.map +1 -1
  135. package/dist/src/unstable/agent-capabilities/data/agents/kode.d.ts +24 -20
  136. package/dist/src/unstable/agent-capabilities/data/agents/kode.d.ts.map +1 -1
  137. package/dist/src/unstable/agent-capabilities/data/agents/kode.js +24 -20
  138. package/dist/src/unstable/agent-capabilities/data/agents/kode.js.map +1 -1
  139. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.d.ts +24 -17
  140. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.d.ts.map +1 -1
  141. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.js +24 -17
  142. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.js.map +1 -1
  143. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.d.ts +24 -20
  144. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.d.ts.map +1 -1
  145. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.js +24 -20
  146. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.js.map +1 -1
  147. package/dist/src/unstable/agent-capabilities/data/agents/mux.d.ts +24 -19
  148. package/dist/src/unstable/agent-capabilities/data/agents/mux.d.ts.map +1 -1
  149. package/dist/src/unstable/agent-capabilities/data/agents/mux.js +24 -19
  150. package/dist/src/unstable/agent-capabilities/data/agents/mux.js.map +1 -1
  151. package/dist/src/unstable/agent-capabilities/data/agents/neovate.d.ts +24 -18
  152. package/dist/src/unstable/agent-capabilities/data/agents/neovate.d.ts.map +1 -1
  153. package/dist/src/unstable/agent-capabilities/data/agents/neovate.js +24 -18
  154. package/dist/src/unstable/agent-capabilities/data/agents/neovate.js.map +1 -1
  155. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.d.ts +24 -17
  156. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.d.ts.map +1 -1
  157. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.js +24 -17
  158. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.js.map +1 -1
  159. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts +98 -32
  160. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts.map +1 -1
  161. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js +101 -32
  162. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js.map +1 -1
  163. package/dist/src/unstable/agent-capabilities/data/agents/openhands.d.ts +25 -19
  164. package/dist/src/unstable/agent-capabilities/data/agents/openhands.d.ts.map +1 -1
  165. package/dist/src/unstable/agent-capabilities/data/agents/openhands.js +25 -19
  166. package/dist/src/unstable/agent-capabilities/data/agents/openhands.js.map +1 -1
  167. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts +30 -22
  168. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts.map +1 -1
  169. package/dist/src/unstable/agent-capabilities/data/agents/pi.js +30 -22
  170. package/dist/src/unstable/agent-capabilities/data/agents/pi.js.map +1 -1
  171. package/dist/src/unstable/agent-capabilities/data/agents/pochi.d.ts +24 -18
  172. package/dist/src/unstable/agent-capabilities/data/agents/pochi.d.ts.map +1 -1
  173. package/dist/src/unstable/agent-capabilities/data/agents/pochi.js +24 -18
  174. package/dist/src/unstable/agent-capabilities/data/agents/pochi.js.map +1 -1
  175. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts +199 -40
  176. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts.map +1 -1
  177. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js +175 -43
  178. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js.map +1 -1
  179. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts +239 -34
  180. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts.map +1 -1
  181. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js +209 -34
  182. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js.map +1 -1
  183. package/dist/src/unstable/agent-capabilities/data/agents/replit.d.ts +24 -18
  184. package/dist/src/unstable/agent-capabilities/data/agents/replit.d.ts.map +1 -1
  185. package/dist/src/unstable/agent-capabilities/data/agents/replit.js +24 -18
  186. package/dist/src/unstable/agent-capabilities/data/agents/replit.js.map +1 -1
  187. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts +46 -64
  188. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts.map +1 -1
  189. package/dist/src/unstable/agent-capabilities/data/agents/roo.js +48 -67
  190. package/dist/src/unstable/agent-capabilities/data/agents/roo.js.map +1 -1
  191. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.d.ts +24 -18
  192. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.d.ts.map +1 -1
  193. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.js +24 -18
  194. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.js.map +1 -1
  195. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.d.ts +24 -18
  196. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.d.ts.map +1 -1
  197. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.js +24 -18
  198. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.js.map +1 -1
  199. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.d.ts +24 -19
  200. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.d.ts.map +1 -1
  201. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.js +24 -19
  202. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.js.map +1 -1
  203. package/dist/src/unstable/agent-capabilities/data/agents/trae.d.ts +24 -19
  204. package/dist/src/unstable/agent-capabilities/data/agents/trae.d.ts.map +1 -1
  205. package/dist/src/unstable/agent-capabilities/data/agents/trae.js +24 -19
  206. package/dist/src/unstable/agent-capabilities/data/agents/trae.js.map +1 -1
  207. package/dist/src/unstable/agent-capabilities/data/agents/warp.d.ts +24 -17
  208. package/dist/src/unstable/agent-capabilities/data/agents/warp.d.ts.map +1 -1
  209. package/dist/src/unstable/agent-capabilities/data/agents/warp.js +24 -17
  210. package/dist/src/unstable/agent-capabilities/data/agents/warp.js.map +1 -1
  211. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts +232 -39
  212. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts.map +1 -1
  213. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js +177 -42
  214. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js.map +1 -1
  215. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.d.ts +34 -23
  216. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.d.ts.map +1 -1
  217. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.js +34 -23
  218. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.js.map +1 -1
  219. package/dist/src/unstable/agent-capabilities/derive.d.ts +76 -14
  220. package/dist/src/unstable/agent-capabilities/derive.d.ts.map +1 -1
  221. package/dist/src/unstable/agent-capabilities/derive.js +167 -38
  222. package/dist/src/unstable/agent-capabilities/derive.js.map +1 -1
  223. package/dist/src/unstable/agent-capabilities/index.d.ts +2 -2
  224. package/dist/src/unstable/agent-capabilities/index.d.ts.map +1 -1
  225. package/dist/src/unstable/agent-capabilities/index.js +2 -2
  226. package/dist/src/unstable/agent-capabilities/index.js.map +1 -1
  227. package/dist/src/unstable/agent-capabilities/schema.d.ts +653 -479
  228. package/dist/src/unstable/agent-capabilities/schema.d.ts.map +1 -1
  229. package/dist/src/unstable/agent-capabilities/schema.js +330 -117
  230. package/dist/src/unstable/agent-capabilities/schema.js.map +1 -1
  231. package/dist/src/unstable/agents/augment/service.d.ts.map +1 -1
  232. package/dist/src/unstable/agents/augment/service.js +4 -9
  233. package/dist/src/unstable/agents/augment/service.js.map +1 -1
  234. package/dist/src/unstable/agents/codex/service.js +1 -1
  235. package/dist/src/unstable/agents/codex/service.js.map +1 -1
  236. package/dist/src/unstable/agents/gemini-cli/service.js +1 -1
  237. package/dist/src/unstable/agents/instructions.d.ts +3 -3
  238. package/dist/src/unstable/agents/instructions.d.ts.map +1 -1
  239. package/dist/src/unstable/agents/instructions.js +16 -4
  240. package/dist/src/unstable/agents/instructions.js.map +1 -1
  241. package/dist/src/unstable/agents/junie/service.d.ts.map +1 -1
  242. package/dist/src/unstable/agents/junie/service.js +5 -0
  243. package/dist/src/unstable/agents/junie/service.js.map +1 -1
  244. package/dist/src/unstable/agents/kiro-cli/service.d.ts.map +1 -1
  245. package/dist/src/unstable/agents/kiro-cli/service.js +3 -8
  246. package/dist/src/unstable/agents/kiro-cli/service.js.map +1 -1
  247. package/dist/src/unstable/agents/mcp-sync.d.ts.map +1 -1
  248. package/dist/src/unstable/agents/mcp-sync.js +27 -11
  249. package/dist/src/unstable/agents/mcp-sync.js.map +1 -1
  250. package/dist/src/unstable/agents/repository.d.ts.map +1 -1
  251. package/dist/src/unstable/agents/repository.js +63 -42
  252. package/dist/src/unstable/agents/repository.js.map +1 -1
  253. package/dist/src/unstable/app-error/cause-chain.d.ts +11 -0
  254. package/dist/src/unstable/app-error/cause-chain.d.ts.map +1 -0
  255. package/dist/src/unstable/app-error/cause-chain.js +91 -0
  256. package/dist/src/unstable/app-error/cause-chain.js.map +1 -0
  257. package/dist/src/unstable/app-error/index.d.ts +1 -0
  258. package/dist/src/unstable/app-error/index.d.ts.map +1 -1
  259. package/dist/src/unstable/app-error/index.js +1 -0
  260. package/dist/src/unstable/app-error/index.js.map +1 -1
  261. package/dist/src/unstable/app-error/render.d.ts.map +1 -1
  262. package/dist/src/unstable/app-error/render.js +11 -29
  263. package/dist/src/unstable/app-error/render.js.map +1 -1
  264. package/dist/src/unstable/auth/auth-client.d.ts +1 -1
  265. package/dist/src/unstable/auth/auth-middleware.d.ts +2 -2
  266. package/dist/src/unstable/auth/device-login.d.ts +1 -1
  267. package/dist/src/unstable/auth/guard.d.ts +1 -1
  268. package/dist/src/unstable/auth/loopback-login.d.ts +1 -1
  269. package/dist/src/unstable/auth/token-resolution.d.ts +1 -1
  270. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.d.ts +1 -0
  271. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.d.ts.map +1 -1
  272. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.js +11 -1
  273. package/dist/src/unstable/cli/prompt/autocomplete-multiselect.js.map +1 -1
  274. package/dist/src/unstable/cli-runtime/command-summary.d.ts +1 -1
  275. package/dist/src/unstable/cli-runtime/command-summary.d.ts.map +1 -1
  276. package/dist/src/unstable/cli-runtime/command-summary.js.map +1 -1
  277. package/dist/src/unstable/cli-runtime/handle-error.d.ts +4 -1
  278. package/dist/src/unstable/cli-runtime/handle-error.d.ts.map +1 -1
  279. package/dist/src/unstable/cli-runtime/handle-error.js +13 -17
  280. package/dist/src/unstable/cli-runtime/handle-error.js.map +1 -1
  281. package/dist/src/unstable/cli-runtime/json-envelope.d.ts +17 -2
  282. package/dist/src/unstable/cli-runtime/json-envelope.d.ts.map +1 -1
  283. package/dist/src/unstable/cli-runtime/json-envelope.js +10 -2
  284. package/dist/src/unstable/cli-runtime/json-envelope.js.map +1 -1
  285. package/dist/src/unstable/cli-runtime/run-cli-main.d.ts.map +1 -1
  286. package/dist/src/unstable/cli-runtime/run-cli-main.js +29 -8
  287. package/dist/src/unstable/cli-runtime/run-cli-main.js.map +1 -1
  288. package/dist/src/unstable/cli-runtime/runtime-envelope.d.ts +1 -1
  289. package/dist/src/unstable/cli-runtime/runtime-envelope.d.ts.map +1 -1
  290. package/dist/src/unstable/cli-runtime/runtime-envelope.js +2 -3
  291. package/dist/src/unstable/cli-runtime/runtime-envelope.js.map +1 -1
  292. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +1 -1
  293. package/dist/src/unstable/extensions/configured-entry.d.ts +11 -0
  294. package/dist/src/unstable/extensions/configured-entry.d.ts.map +1 -0
  295. package/dist/src/unstable/extensions/configured-entry.js +8 -0
  296. package/dist/src/unstable/extensions/configured-entry.js.map +1 -0
  297. package/dist/src/unstable/extensions/index.d.ts +1 -0
  298. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  299. package/dist/src/unstable/extensions/index.js +1 -0
  300. package/dist/src/unstable/extensions/index.js.map +1 -1
  301. package/dist/src/unstable/extensions/materializable-from-disk.d.ts.map +1 -1
  302. package/dist/src/unstable/extensions/materializable-from-disk.js +5 -4
  303. package/dist/src/unstable/extensions/materializable-from-disk.js.map +1 -1
  304. package/dist/src/unstable/files/manager.d.ts.map +1 -1
  305. package/dist/src/unstable/files/manager.js +2 -2
  306. package/dist/src/unstable/files/manager.js.map +1 -1
  307. package/dist/src/unstable/git/detect.d.ts +7 -0
  308. package/dist/src/unstable/git/detect.d.ts.map +1 -0
  309. package/dist/src/unstable/git/detect.js +23 -0
  310. package/dist/src/unstable/git/detect.js.map +1 -0
  311. package/dist/src/unstable/git/index.d.ts +1 -0
  312. package/dist/src/unstable/git/index.d.ts.map +1 -1
  313. package/dist/src/unstable/git/index.js +1 -0
  314. package/dist/src/unstable/git/index.js.map +1 -1
  315. package/dist/src/unstable/hooks/manager.d.ts.map +1 -1
  316. package/dist/src/unstable/hooks/manager.js +169 -49
  317. package/dist/src/unstable/hooks/manager.js.map +1 -1
  318. package/dist/src/unstable/hooks/manifest-schema.d.ts +126 -5
  319. package/dist/src/unstable/hooks/manifest-schema.d.ts.map +1 -1
  320. package/dist/src/unstable/hooks/manifest-schema.js +74 -9
  321. package/dist/src/unstable/hooks/manifest-schema.js.map +1 -1
  322. package/dist/src/unstable/hooks/operations/new-hook.d.ts +2 -2
  323. package/dist/src/unstable/hooks/operations/new-hook.d.ts.map +1 -1
  324. package/dist/src/unstable/hooks/operations/new-hook.js +4 -2
  325. package/dist/src/unstable/hooks/operations/new-hook.js.map +1 -1
  326. package/dist/src/unstable/libraries/index.d.ts +3 -0
  327. package/dist/src/unstable/libraries/index.d.ts.map +1 -0
  328. package/dist/src/unstable/libraries/index.js +2 -0
  329. package/dist/src/unstable/libraries/index.js.map +1 -0
  330. package/dist/src/unstable/libraries/ref.d.ts +17 -0
  331. package/dist/src/unstable/libraries/ref.d.ts.map +1 -0
  332. package/dist/src/unstable/libraries/ref.js +43 -0
  333. package/dist/src/unstable/libraries/ref.js.map +1 -0
  334. package/dist/src/unstable/lint/catalog/hook/matcher-raw-portability.d.ts +4 -0
  335. package/dist/src/unstable/lint/catalog/hook/matcher-raw-portability.d.ts.map +1 -0
  336. package/dist/src/unstable/lint/catalog/hook/matcher-raw-portability.js +51 -0
  337. package/dist/src/unstable/lint/catalog/hook/matcher-raw-portability.js.map +1 -0
  338. package/dist/src/unstable/lint/catalog/hook.d.ts.map +1 -1
  339. package/dist/src/unstable/lint/catalog/hook.js +2 -0
  340. package/dist/src/unstable/lint/catalog/hook.js.map +1 -1
  341. package/dist/src/unstable/lint/catalog/mcp-server/manifest-keys-recognized.js +2 -2
  342. package/dist/src/unstable/lint/catalog/mcp-server/manifest-keys-recognized.js.map +1 -1
  343. package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.js +3 -3
  344. package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.js.map +1 -1
  345. package/dist/src/unstable/lint/catalog/mcp-server/manifest-schema-valid.js +2 -2
  346. package/dist/src/unstable/lint/catalog/mcp-server/manifest-schema-valid.js.map +1 -1
  347. package/dist/src/unstable/lint/catalog/shared/manifest-json.js +1 -1
  348. package/dist/src/unstable/lint/catalog/shared/manifest-json.js.map +1 -1
  349. package/dist/src/unstable/lint/catalog/shared/schema-rule.js +1 -1
  350. package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -1
  351. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-drift.d.ts.map +1 -1
  352. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-drift.js +6 -3
  353. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-drift.js.map +1 -1
  354. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-orphaned.d.ts.map +1 -1
  355. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-orphaned.js +4 -1
  356. package/dist/src/unstable/lint/catalog/workspace/mcp-server-agent-orphaned.js.map +1 -1
  357. package/dist/src/unstable/lockfile/index.d.ts +3 -3
  358. package/dist/src/unstable/lockfile/index.d.ts.map +1 -1
  359. package/dist/src/unstable/lockfile/index.js +2 -2
  360. package/dist/src/unstable/lockfile/index.js.map +1 -1
  361. package/dist/src/unstable/lockfile/lockfile.d.ts +969 -36
  362. package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
  363. package/dist/src/unstable/lockfile/lockfile.js +223 -31
  364. package/dist/src/unstable/lockfile/lockfile.js.map +1 -1
  365. package/dist/src/unstable/lockfile/schema.d.ts +96 -0
  366. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  367. package/dist/src/unstable/lockfile/schema.js +54 -0
  368. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  369. package/dist/src/unstable/mcps/config-writer.d.ts.map +1 -1
  370. package/dist/src/unstable/mcps/config-writer.js +89 -58
  371. package/dist/src/unstable/mcps/config-writer.js.map +1 -1
  372. package/dist/src/unstable/mcps/index.d.ts +1 -0
  373. package/dist/src/unstable/mcps/index.d.ts.map +1 -1
  374. package/dist/src/unstable/mcps/index.js +1 -0
  375. package/dist/src/unstable/mcps/index.js.map +1 -1
  376. package/dist/src/unstable/mcps/inspection.d.ts.map +1 -1
  377. package/dist/src/unstable/mcps/inspection.js +29 -8
  378. package/dist/src/unstable/mcps/inspection.js.map +1 -1
  379. package/dist/src/unstable/mcps/manifest-schema.d.ts +3 -3
  380. package/dist/src/unstable/mcps/manifest-schema.d.ts.map +1 -1
  381. package/dist/src/unstable/mcps/manifest-schema.js +4 -4
  382. package/dist/src/unstable/mcps/manifest-schema.js.map +1 -1
  383. package/dist/src/unstable/mcps/metadata.d.ts +26 -0
  384. package/dist/src/unstable/mcps/metadata.d.ts.map +1 -0
  385. package/dist/src/unstable/mcps/metadata.js +75 -0
  386. package/dist/src/unstable/mcps/metadata.js.map +1 -0
  387. package/dist/src/unstable/mcps/operations/publish.d.ts +1 -1
  388. package/dist/src/unstable/mcps/operations/publish.js +1 -1
  389. package/dist/src/unstable/mcps/projection.d.ts.map +1 -1
  390. package/dist/src/unstable/mcps/projection.js +22 -4
  391. package/dist/src/unstable/mcps/projection.js.map +1 -1
  392. package/dist/src/unstable/mcps/resolution.d.ts.map +1 -1
  393. package/dist/src/unstable/mcps/resolution.js +18 -10
  394. package/dist/src/unstable/mcps/resolution.js.map +1 -1
  395. package/dist/src/unstable/packs/dependency-resolution.d.ts +3 -1
  396. package/dist/src/unstable/packs/dependency-resolution.d.ts.map +1 -1
  397. package/dist/src/unstable/packs/dependency-resolution.js +11 -10
  398. package/dist/src/unstable/packs/dependency-resolution.js.map +1 -1
  399. package/dist/src/unstable/packs/expansion.d.ts +3 -0
  400. package/dist/src/unstable/packs/expansion.d.ts.map +1 -1
  401. package/dist/src/unstable/packs/expansion.js +2 -2
  402. package/dist/src/unstable/packs/expansion.js.map +1 -1
  403. package/dist/src/unstable/publish/manifest-policy.d.ts +42 -2
  404. package/dist/src/unstable/publish/manifest-policy.d.ts.map +1 -1
  405. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +2304 -127
  406. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  407. package/dist/src/unstable/registry/__generated__/registry-client.js +369 -10
  408. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  409. package/dist/src/unstable/registry/admin-client.d.ts +72 -0
  410. package/dist/src/unstable/registry/admin-client.d.ts.map +1 -0
  411. package/dist/src/unstable/registry/admin-client.js +71 -0
  412. package/dist/src/unstable/registry/admin-client.js.map +1 -0
  413. package/dist/src/unstable/registry/client.d.ts +52 -0
  414. package/dist/src/unstable/registry/client.d.ts.map +1 -1
  415. package/dist/src/unstable/registry/client.js.map +1 -1
  416. package/dist/src/unstable/registry/index.d.ts +6 -2
  417. package/dist/src/unstable/registry/index.d.ts.map +1 -1
  418. package/dist/src/unstable/registry/index.js +3 -1
  419. package/dist/src/unstable/registry/index.js.map +1 -1
  420. package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
  421. package/dist/src/unstable/registry/local-client.js +1 -0
  422. package/dist/src/unstable/registry/local-client.js.map +1 -1
  423. package/dist/src/unstable/registry/release-age-policy.d.ts +18 -0
  424. package/dist/src/unstable/registry/release-age-policy.d.ts.map +1 -0
  425. package/dist/src/unstable/registry/release-age-policy.js +41 -0
  426. package/dist/src/unstable/registry/release-age-policy.js.map +1 -0
  427. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  428. package/dist/src/unstable/registry/remote-client.js +59 -0
  429. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  430. package/dist/src/unstable/registry/utils.d.ts +2 -0
  431. package/dist/src/unstable/registry/utils.d.ts.map +1 -1
  432. package/dist/src/unstable/registry/utils.js +7 -0
  433. package/dist/src/unstable/registry/utils.js.map +1 -1
  434. package/dist/src/unstable/rules/manager.d.ts.map +1 -1
  435. package/dist/src/unstable/rules/manager.js +2 -2
  436. package/dist/src/unstable/rules/manager.js.map +1 -1
  437. package/dist/src/unstable/settings/index.d.ts +2 -2
  438. package/dist/src/unstable/settings/index.d.ts.map +1 -1
  439. package/dist/src/unstable/settings/index.js +1 -1
  440. package/dist/src/unstable/settings/index.js.map +1 -1
  441. package/dist/src/unstable/settings/schema.d.ts +62 -5
  442. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  443. package/dist/src/unstable/settings/schema.js +88 -4
  444. package/dist/src/unstable/settings/schema.js.map +1 -1
  445. package/dist/src/unstable/source-resolution/providers/registry/host-provider.d.ts.map +1 -1
  446. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js +8 -7
  447. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js.map +1 -1
  448. package/dist/src/unstable/sources/provider.d.ts +3 -0
  449. package/dist/src/unstable/sources/provider.d.ts.map +1 -1
  450. package/dist/src/unstable/utils/transient-backup.d.ts +27 -0
  451. package/dist/src/unstable/utils/transient-backup.d.ts.map +1 -0
  452. package/dist/src/unstable/utils/transient-backup.js +53 -0
  453. package/dist/src/unstable/utils/transient-backup.js.map +1 -0
  454. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +9 -8
  455. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts.map +1 -1
  456. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +30 -0
  457. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js.map +1 -1
  458. package/dist/src/unstable/workspace/initialization-interaction.d.ts.map +1 -1
  459. package/dist/src/unstable/workspace/initialization-interaction.js +1 -0
  460. package/dist/src/unstable/workspace/initialization-interaction.js.map +1 -1
  461. package/dist/src/unstable/workspace/initialization.d.ts +56 -24
  462. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  463. package/dist/src/unstable/workspace/initialization.js +5 -2
  464. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  465. package/dist/src/unstable/workspace/read-model/__fixtures__/builder.d.ts +1 -1
  466. package/dist/src/unstable/workspace/read-model/__fixtures__/builder.d.ts.map +1 -1
  467. package/dist/src/unstable/workspace/read-model/__fixtures__/builder.js +14 -5
  468. package/dist/src/unstable/workspace/read-model/__fixtures__/builder.js.map +1 -1
  469. package/dist/src/unstable/workspace/service-interface.d.ts +27 -2
  470. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  471. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  472. package/dist/src/unstable/workspace/service.d.ts +85 -7
  473. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  474. package/dist/src/unstable/workspace/service.js +148 -50
  475. package/dist/src/unstable/workspace/service.js.map +1 -1
  476. package/dist/src/unstable/workspace/test-stubs.d.ts +2 -0
  477. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  478. package/dist/src/unstable/workspace/test-stubs.js +11 -0
  479. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  480. package/dist/src/unstable/workspace/version-currency/collectors.d.ts.map +1 -1
  481. package/dist/src/unstable/workspace/version-currency/collectors.js +2 -3
  482. package/dist/src/unstable/workspace/version-currency/collectors.js.map +1 -1
  483. package/dist/src/unstable/workspace/version-currency/test-stubs.d.ts.map +1 -1
  484. package/dist/src/unstable/workspace/version-currency/test-stubs.js +1 -0
  485. package/dist/src/unstable/workspace/version-currency/test-stubs.js.map +1 -1
  486. package/dist/src/unstable/yaml/index.d.ts +13 -0
  487. package/dist/src/unstable/yaml/index.d.ts.map +1 -0
  488. package/dist/src/unstable/yaml/index.js +73 -0
  489. package/dist/src/unstable/yaml/index.js.map +1 -0
  490. package/package.json +12 -4
  491. package/site-content/__generated__/schemas/axm-lock.schema.json +77 -0
  492. package/site-content/__generated__/schemas/hook.schema.json +166 -10
  493. package/site-content/__generated__/schemas/{mcp-server.schema.json → mcp.schema.json} +1 -1
  494. package/site-content/__generated__/schemas/settings.schema.json +80 -11
@@ -1,6 +1,33 @@
1
1
  /**
2
2
  * Agent capability catalog schemas.
3
3
  *
4
+ * Sourcing namespaces:
5
+ *
6
+ * - `native` is the vendor-authoritative fact layer: whether the agent exposes
7
+ * the surface, which standard or convention it follows, where config lives,
8
+ * and the source URLs used to verify that claim.
9
+ * - `axm` is AXM integration state: whether AXM has modeled support, whether a
10
+ * writer exists, the writer metadata needed by AXM, and AXM-owned backlog or
11
+ * unsupported reasons. These fields are not vendor facts.
12
+ * - `canonical` is a derived, vendor-neutral vocabulary. Hook event/tool
13
+ * mappings store canonical IDs beside native names, but the catalog does not
14
+ * store a per-agent canonical capability block.
15
+ *
16
+ * Status axes:
17
+ *
18
+ * - `AgentLifecycle` describes the coding agent product itself.
19
+ * - `VendorStatus` describes the vendor or plugin surface named by
20
+ * `Availability`.
21
+ * - `Availability` describes whether the surface is native, plugin-backed, or
22
+ * absent.
23
+ * - AXM support/writer state lives under `axm.status` and `axm.writer`;
24
+ * `axm.writer !== null` means AXM has verified write mechanics for that
25
+ * capability.
26
+ *
27
+ * `permissions` lives beside `capabilities` because it models AXM grant/write
28
+ * mechanics for an agent's permission system. It is not a publishable leaf
29
+ * extension type and therefore is not keyed under the extension capability map.
30
+ *
4
31
  * @experimental This API is unstable and may change without notice.
5
32
  */
6
33
  import * as Schema from "effect/Schema";
@@ -56,7 +83,7 @@ export const AxmSupportSchema = Schema.Literals([
56
83
  ]).annotate({
57
84
  identifier: "AxmSupport",
58
85
  title: "AXM Support",
59
- description: "AXM install behavior and verification state for an agent capability.",
86
+ description: "AXM-owned integration status for an agent capability. This is not a vendor fact.",
60
87
  examples: [SUPPORTED_AXM_SUPPORT, "unsupported", "unknown"],
61
88
  });
62
89
  /** @experimental This API is unstable and may change without notice. */
@@ -268,14 +295,26 @@ export const LastVerifiedDateSchema = Schema.NonEmptyString.pipe(Schema.check(Sc
268
295
  const CapabilityNotesSchema = Schema.NullOr(Schema.NonEmptyString);
269
296
  const CapabilityDocsSchema = Schema.Array(DocLinkSchema);
270
297
  const CapabilitySourcesSchema = Schema.Array(UrlSchema);
271
- const UnavailableCanonicalCapabilityFields = {
298
+ const provenanceFields = (sources, lastVerified) => ({
299
+ sources,
300
+ lastVerified,
301
+ });
302
+ const NullableProvenanceFields = provenanceFields(CapabilitySourcesSchema, Schema.NullOr(LastVerifiedDateSchema));
303
+ const VerifiedProvenanceFields = provenanceFields(Schema.NonEmptyArray(UrlSchema), LastVerifiedDateSchema);
304
+ /** @experimental This API is unstable and may change without notice. */
305
+ export const ProvenanceSchema = Schema.Struct(NullableProvenanceFields).annotate({
306
+ identifier: "Provenance",
307
+ title: "Provenance",
308
+ description: "Source URLs and verification date for a catalog capability claim.",
309
+ });
310
+ const UnavailableNativeCapabilityFields = {
272
311
  availability: NoneAvailabilitySchema,
273
312
  vendorStatus: VendorStatusSchema,
274
313
  notes: CapabilityNotesSchema,
275
314
  docs: CapabilityDocsSchema,
276
315
  sources: CapabilitySourcesSchema,
277
316
  };
278
- const AvailableCanonicalCapabilityBaseFields = {
317
+ const AvailableNativeCapabilityBaseFields = {
279
318
  availability: AvailableCapabilityAvailabilitySchema,
280
319
  vendorStatus: VendorStatusSchema,
281
320
  notes: CapabilityNotesSchema,
@@ -287,48 +326,49 @@ const SpecTrackedCapabilityFields = {
287
326
  standardsCompliance: StandardsComplianceSchema,
288
327
  convention: ConventionSchema,
289
328
  };
290
- const AvailableSpecTrackedCanonicalCapabilityFields = {
291
- ...AvailableCanonicalCapabilityBaseFields,
329
+ const AvailableSpecTrackedNativeCapabilityFields = {
330
+ ...AvailableNativeCapabilityBaseFields,
292
331
  ...SpecTrackedCapabilityFields,
293
332
  };
294
- const NoWriterAxmCapabilityStateSchema = Schema.Union([
295
- Schema.Struct({
296
- support: ActiveAxmSupportSchema,
297
- lastVerified: LastVerifiedDateSchema,
298
- writer: Schema.Null,
299
- }),
300
- Schema.Struct({
301
- support: InactiveAxmSupportSchema,
302
- writer: Schema.Null,
303
- }),
304
- ]);
333
+ const axmCapabilityStateDescription = "AXM integration state for this capability: AXM support status, AXM verification date, optional writer metadata, and AXM-owned rationale. This is not a vendor fact.";
334
+ const axmCapabilityStateSchema = (writerSchema, identifier) => Schema.Struct({
335
+ status: AxmSupportSchema,
336
+ lastVerified: Schema.NullOr(LastVerifiedDateSchema),
337
+ reason: Schema.optionalKey(Schema.NonEmptyString),
338
+ writer: Schema.NullOr(writerSchema),
339
+ }).annotate({
340
+ identifier,
341
+ title: "AXM Capability State",
342
+ description: axmCapabilityStateDescription,
343
+ });
344
+ const NoWriterAxmCapabilityStateSchema = axmCapabilityStateSchema(Schema.Never, "NoWriterAxmCapabilityState");
305
345
  const requireSourcesForActiveAxmSupport = (capability) => {
306
- if ((capability.axm.support === SUPPORTED_AXM_SUPPORT || capability.axm.support === "planned") &&
307
- capability.canonical.sources.length === 0) {
346
+ if ((capability.axm.status === SUPPORTED_AXM_SUPPORT || capability.axm.status === "planned") &&
347
+ capability.native.sources.length === 0) {
308
348
  return {
309
- path: ["canonical", "sources"],
310
- issue: "Active AXM support claims require at least one canonical source.",
349
+ path: ["native", "sources"],
350
+ issue: "Active AXM support claims require at least one native source.",
311
351
  };
312
352
  }
313
353
  return undefined;
314
354
  };
315
355
  /** @experimental This API is unstable and may change without notice. */
316
- export const CanonicalCapabilityBaseSchema = Schema.Union([
317
- Schema.Struct(AvailableCanonicalCapabilityBaseFields),
318
- Schema.Struct(UnavailableCanonicalCapabilityFields),
356
+ export const NativeCapabilityBaseSchema = Schema.Union([
357
+ Schema.Struct(AvailableNativeCapabilityBaseFields),
358
+ Schema.Struct(UnavailableNativeCapabilityFields),
319
359
  ]).annotate({
320
- identifier: "CanonicalCapabilityBase",
321
- title: "Canonical Capability Base",
360
+ identifier: "NativeCapabilityBase",
361
+ title: "Native Capability Base",
322
362
  description: "Vendor-sourced fields shared by all agent capabilities.",
323
363
  });
324
364
  /** @experimental This API is unstable and may change without notice. */
325
365
  export const SkillsExtensionCapabilitySchema = Schema.Struct({
326
- canonical: Schema.Union([
366
+ native: Schema.Union([
327
367
  Schema.Struct({
328
- ...AvailableSpecTrackedCanonicalCapabilityFields,
368
+ ...AvailableSpecTrackedNativeCapabilityFields,
329
369
  directory: Schema.NonEmptyString,
330
370
  }),
331
- Schema.Struct(UnavailableCanonicalCapabilityFields),
371
+ Schema.Struct(UnavailableNativeCapabilityFields),
332
372
  ]),
333
373
  axm: NoWriterAxmCapabilityStateSchema,
334
374
  })
@@ -340,12 +380,12 @@ export const SkillsExtensionCapabilitySchema = Schema.Struct({
340
380
  });
341
381
  /** @experimental This API is unstable and may change without notice. */
342
382
  export const CommandsExtensionCapabilitySchema = Schema.Struct({
343
- canonical: Schema.Union([
383
+ native: Schema.Union([
344
384
  Schema.Struct({
345
- ...AvailableCanonicalCapabilityBaseFields,
385
+ ...AvailableNativeCapabilityBaseFields,
346
386
  directory: Schema.NonEmptyString,
347
387
  }),
348
- Schema.Struct(UnavailableCanonicalCapabilityFields),
388
+ Schema.Struct(UnavailableNativeCapabilityFields),
349
389
  ]),
350
390
  axm: NoWriterAxmCapabilityStateSchema,
351
391
  })
@@ -362,21 +402,21 @@ export const SubagentsLayoutSchema = Schema.Literals(["file", "directory"]).anno
362
402
  description: "Whether subagents live in a directory or a single opaque file path.",
363
403
  examples: ["directory", "file"],
364
404
  });
365
- const PluginSubagentsCanonicalCapabilitySchema = Schema.Struct({
366
- ...AvailableCanonicalCapabilityBaseFields,
405
+ const PluginSubagentsNativeCapabilitySchema = Schema.Struct({
406
+ ...AvailableNativeCapabilityBaseFields,
367
407
  availability: PluginAvailabilitySchema,
368
408
  });
369
409
  /** @experimental This API is unstable and may change without notice. */
370
410
  export const SubagentsExtensionCapabilitySchema = Schema.Struct({
371
- canonical: Schema.Union([
411
+ native: Schema.Union([
372
412
  Schema.Struct({
373
- ...AvailableCanonicalCapabilityBaseFields,
413
+ ...AvailableNativeCapabilityBaseFields,
374
414
  availability: NativeAvailabilitySchema,
375
415
  directory: Schema.NonEmptyString,
376
416
  layout: SubagentsLayoutSchema,
377
417
  }),
378
- PluginSubagentsCanonicalCapabilitySchema,
379
- Schema.Struct(UnavailableCanonicalCapabilityFields),
418
+ PluginSubagentsNativeCapabilitySchema,
419
+ Schema.Struct(UnavailableNativeCapabilityFields),
380
420
  ]),
381
421
  axm: NoWriterAxmCapabilityStateSchema,
382
422
  })
@@ -408,7 +448,7 @@ const OptionalRuleDirectoryField = {
408
448
  directory: Schema.optionalKey(Schema.NonEmptyString),
409
449
  };
410
450
  const AgentsMdRulesExtensionCapabilitySchema = Schema.Struct({
411
- ...AvailableSpecTrackedCanonicalCapabilityFields,
451
+ ...AvailableSpecTrackedNativeCapabilityFields,
412
452
  ...OptionalRuleDirectoryField,
413
453
  kind: Schema.Literal("agents-md"),
414
454
  files: Schema.Tuple([Schema.Literal("AGENTS.md")]),
@@ -416,7 +456,7 @@ const AgentsMdRulesExtensionCapabilitySchema = Schema.Struct({
416
456
  importSyntax: Schema.NullOr(RuleInstructionsImportSyntaxSchema),
417
457
  });
418
458
  const OwnFileRulesExtensionCapabilitySchema = Schema.Struct({
419
- ...AvailableSpecTrackedCanonicalCapabilityFields,
459
+ ...AvailableSpecTrackedNativeCapabilityFields,
420
460
  ...OptionalRuleDirectoryField,
421
461
  kind: Schema.Literal("own-file"),
422
462
  files: Schema.Tuple([Schema.NonEmptyString]),
@@ -424,7 +464,7 @@ const OwnFileRulesExtensionCapabilitySchema = Schema.Struct({
424
464
  importSyntax: Schema.NullOr(RuleInstructionsImportSyntaxSchema),
425
465
  });
426
466
  const RulesDirRulesExtensionCapabilitySchema = Schema.Struct({
427
- ...AvailableSpecTrackedCanonicalCapabilityFields,
467
+ ...AvailableSpecTrackedNativeCapabilityFields,
428
468
  kind: Schema.Literal("rules-dir"),
429
469
  files: Schema.Array(Schema.NonEmptyString).pipe(Schema.check(Schema.isUnique())),
430
470
  nestedDiscovery: Schema.Boolean,
@@ -433,11 +473,11 @@ const RulesDirRulesExtensionCapabilitySchema = Schema.Struct({
433
473
  });
434
474
  /** @experimental This API is unstable and may change without notice. */
435
475
  export const RulesExtensionCapabilitySchema = Schema.Struct({
436
- canonical: Schema.Union([
476
+ native: Schema.Union([
437
477
  AgentsMdRulesExtensionCapabilitySchema,
438
478
  OwnFileRulesExtensionCapabilitySchema,
439
479
  RulesDirRulesExtensionCapabilitySchema,
440
- Schema.Struct(UnavailableCanonicalCapabilityFields),
480
+ Schema.Struct(UnavailableNativeCapabilityFields),
441
481
  ]),
442
482
  axm: NoWriterAxmCapabilityStateSchema,
443
483
  })
@@ -449,14 +489,14 @@ export const RulesExtensionCapabilitySchema = Schema.Struct({
449
489
  });
450
490
  /** @experimental This API is unstable and may change without notice. */
451
491
  export const FilesExtensionCapabilitySchema = Schema.Struct({
452
- canonical: Schema.Union([
492
+ native: Schema.Union([
453
493
  Schema.Struct({
454
- ...AvailableCanonicalCapabilityBaseFields,
494
+ ...AvailableNativeCapabilityBaseFields,
455
495
  directory: Schema.NonEmptyString,
456
496
  files: Schema.Array(Schema.NonEmptyString).pipe(Schema.check(Schema.isUnique())),
457
497
  naming: Schema.NullOr(Schema.NonEmptyString),
458
498
  }),
459
- Schema.Struct(UnavailableCanonicalCapabilityFields),
499
+ Schema.Struct(UnavailableNativeCapabilityFields),
460
500
  ]),
461
501
  axm: NoWriterAxmCapabilityStateSchema,
462
502
  })
@@ -471,13 +511,14 @@ export const ConfigFileFormatSchema = Schema.Literals([
471
511
  "json",
472
512
  "jsonc",
473
513
  "toml",
514
+ "yaml",
474
515
  "starlark",
475
516
  "vscode-settings",
476
517
  ]).annotate({
477
518
  identifier: "ConfigFileFormat",
478
519
  title: "Config File Format",
479
520
  description: "Serialization format used by an agent's permission config file.",
480
- examples: ["json", "toml", "vscode-settings"],
521
+ examples: ["json", "toml", "yaml", "vscode-settings"],
481
522
  });
482
523
  /** @experimental This API is unstable and may change without notice. */
483
524
  export const McpServersKeySchema = Schema.Literals([
@@ -572,37 +613,17 @@ export const McpEnvExpansionSchema = Schema.Struct({
572
613
  description: "Whether an agent expands MCP config environment references.",
573
614
  });
574
615
  const McpUnavailableCapabilityStruct = Schema.Struct({
575
- canonical: Schema.Struct(UnavailableCanonicalCapabilityFields),
576
- axm: Schema.Union([
577
- Schema.Struct({
578
- support: ActiveAxmSupportSchema,
579
- lastVerified: LastVerifiedDateSchema,
580
- writer: Schema.NullOr(Schema.Struct({ config: McpConfigSchema })),
581
- }),
582
- Schema.Struct({
583
- support: InactiveAxmSupportSchema,
584
- writer: Schema.NullOr(Schema.Struct({ config: McpConfigSchema })),
585
- }),
586
- ]),
616
+ native: Schema.Struct(UnavailableNativeCapabilityFields),
617
+ axm: axmCapabilityStateSchema(Schema.Struct({ config: McpConfigSchema }), "McpAxmState"),
587
618
  });
588
- const McpCanonicalWithTransportsSchema = Schema.Struct({
589
- ...AvailableSpecTrackedCanonicalCapabilityFields,
619
+ const McpNativeWithTransportsSchema = Schema.Struct({
620
+ ...AvailableSpecTrackedNativeCapabilityFields,
590
621
  transports: NonEmptyMcpTransportsSchema,
591
622
  mcpEnvExpansion: Schema.optionalKey(McpEnvExpansionSchema),
592
623
  });
593
624
  const McpAvailableCapabilityStruct = Schema.Struct({
594
- canonical: McpCanonicalWithTransportsSchema,
595
- axm: Schema.Union([
596
- Schema.Struct({
597
- support: ActiveAxmSupportSchema,
598
- lastVerified: LastVerifiedDateSchema,
599
- writer: Schema.NullOr(Schema.Struct({ config: McpConfigSchema })),
600
- }),
601
- Schema.Struct({
602
- support: InactiveAxmSupportSchema,
603
- writer: Schema.NullOr(Schema.Struct({ config: McpConfigSchema })),
604
- }),
605
- ]),
625
+ native: McpNativeWithTransportsSchema,
626
+ axm: axmCapabilityStateSchema(Schema.Struct({ config: McpConfigSchema }), "McpAxmState"),
606
627
  });
607
628
  const McpExtensionCapabilityStruct = Schema.Union([
608
629
  McpAvailableCapabilityStruct,
@@ -614,17 +635,17 @@ const McpExtensionCapabilitySchemaWithChecks = McpExtensionCapabilityStruct.pipe
614
635
  if (activeSourcesIssue !== undefined)
615
636
  issues.push(activeSourcesIssue);
616
637
  const writer = capability.axm.writer;
617
- if (writer === null || !("transports" in capability.canonical))
638
+ if (writer === null || !("transports" in capability.native))
618
639
  return issues;
619
640
  const config = writer.config;
620
- if (capability.canonical.transports.includes("stdio") && config.stdio === null) {
641
+ if (capability.native.transports.includes("stdio") && config.stdio === null) {
621
642
  issues.push({
622
643
  path: ["axm", "writer", "config", "stdio"],
623
644
  issue: "MCP stdio config is required when stdio transport is supported.",
624
645
  });
625
646
  }
626
- if ((capability.canonical.transports.includes("http") ||
627
- capability.canonical.transports.includes("sse")) &&
647
+ if ((capability.native.transports.includes("http") ||
648
+ capability.native.transports.includes("sse")) &&
628
649
  config.remote === null) {
629
650
  issues.push({
630
651
  path: ["axm", "writer", "config", "remote"],
@@ -676,35 +697,237 @@ export const ConfigFileLocationSchema = Schema.Struct({
676
697
  description: "A configuration file where an agent's permission rules can live.",
677
698
  });
678
699
  /** @experimental This API is unstable and may change without notice. */
679
- export const HooksSerializerSchema = Schema.Literals(["claude-code-settings"]).annotate({
700
+ export const CANONICAL_HOOK_EVENT_IDS = [
701
+ "session.start",
702
+ "prompt.submit",
703
+ "turn.end",
704
+ "tool.pre",
705
+ "tool.post",
706
+ "subagent.stop",
707
+ "compaction.pre",
708
+ ];
709
+ /** @experimental This API is unstable and may change without notice. */
710
+ export const CanonicalHookEventIdSchema = Schema.Literals(CANONICAL_HOOK_EVENT_IDS).annotate({
711
+ identifier: "CanonicalHookEventId",
712
+ title: "Canonical Hook Event ID",
713
+ description: "Vendor-neutral hook lifecycle event identifier.",
714
+ examples: ["tool.pre", "tool.post", "prompt.submit"],
715
+ });
716
+ /** @experimental This API is unstable and may change without notice. */
717
+ export const HookEventTierSchema = Schema.Literals(["core", "extended"]).annotate({
718
+ identifier: "HookEventTier",
719
+ title: "Hook Event Tier",
720
+ description: "Whether a canonical hook event belongs to the stable core or extended tail.",
721
+ });
722
+ /** @experimental This API is unstable and may change without notice. */
723
+ export const CanonicalHookEventSchema = Schema.Struct({
724
+ id: CanonicalHookEventIdSchema,
725
+ tier: HookEventTierSchema,
726
+ }).annotate({
727
+ identifier: "CanonicalHookEvent",
728
+ title: "Canonical Hook Event",
729
+ description: "Registered AXM hook event concept.",
730
+ });
731
+ /** @experimental This API is unstable and may change without notice. */
732
+ export const CANONICAL_HOOK_EVENTS = [
733
+ { id: "session.start", tier: "core" },
734
+ { id: "prompt.submit", tier: "core" },
735
+ { id: "turn.end", tier: "core" },
736
+ { id: "tool.pre", tier: "core" },
737
+ { id: "tool.post", tier: "core" },
738
+ { id: "subagent.stop", tier: "extended" },
739
+ { id: "compaction.pre", tier: "extended" },
740
+ ];
741
+ /** @experimental This API is unstable and may change without notice. */
742
+ export const CANONICAL_HOOK_TOOL_IDS = [
743
+ "file.read",
744
+ "file.write",
745
+ "file.edit",
746
+ "shell.exec",
747
+ "web.fetch",
748
+ "mcp.call",
749
+ ];
750
+ /** @experimental This API is unstable and may change without notice. */
751
+ export const CanonicalHookToolIdSchema = Schema.Literals(CANONICAL_HOOK_TOOL_IDS).annotate({
752
+ identifier: "CanonicalHookToolId",
753
+ title: "Canonical Hook Tool ID",
754
+ description: "Vendor-neutral tool identity used by portable hook matchers.",
755
+ examples: ["file.write", "file.edit", "shell.exec"],
756
+ });
757
+ /** @experimental This API is unstable and may change without notice. */
758
+ export const HookToolMappingSchema = Schema.Struct({
759
+ nativeName: Schema.NonEmptyString,
760
+ canonical: CanonicalHookToolIdSchema,
761
+ ...VerifiedProvenanceFields,
762
+ }).annotate({
763
+ identifier: "HookToolMapping",
764
+ title: "Hook Tool Mapping",
765
+ description: "Native tool name with its canonical AXM tool identity and provenance.",
766
+ });
767
+ /** @experimental This API is unstable and may change without notice. */
768
+ export const HookMechanismFamilySchema = Schema.Literals(["command-stdin", "raw"]).annotate({
769
+ identifier: "HookMechanismFamily",
770
+ title: "Hook Mechanism Family",
771
+ description: "How a native hook system invokes a hook.",
772
+ examples: ["command-stdin", "raw"],
773
+ });
774
+ const NonEmptyHookMechanismFamiliesSchema = Schema.NonEmptyArray(HookMechanismFamilySchema).pipe(Schema.check(Schema.isUnique()));
775
+ /** @experimental This API is unstable and may change without notice. */
776
+ export const HookMatcherKindSchema = Schema.Literals([
777
+ "regex",
778
+ "literal-list",
779
+ "glob",
780
+ "tool-category",
781
+ "exact-substring",
782
+ "none-imperative",
783
+ ]).annotate({
784
+ identifier: "HookMatcherKind",
785
+ title: "Hook Matcher Kind",
786
+ description: "Native matcher syntax used to scope hook invocation.",
787
+ examples: ["regex", "glob", "none-imperative"],
788
+ });
789
+ /** @experimental This API is unstable and may change without notice. */
790
+ export const HookMatcherSchema = Schema.Struct({
791
+ kind: HookMatcherKindSchema,
792
+ example: Schema.NullOr(Schema.NonEmptyString),
793
+ notes: Schema.NullOr(Schema.NonEmptyString),
794
+ }).annotate({
795
+ identifier: "HookMatcher",
796
+ title: "Hook Matcher",
797
+ description: "Matcher model for a native hook event.",
798
+ });
799
+ /** @experimental This API is unstable and may change without notice. */
800
+ export const HookBlockOutcomeSchema = Schema.Literals(["allow", "deny", "ask"]).annotate({
801
+ identifier: "HookBlockOutcome",
802
+ title: "Hook Block Outcome",
803
+ description: "Decision outcome available to blocking hook systems.",
804
+ });
805
+ /** @experimental This API is unstable and may change without notice. */
806
+ export const HookModifyOperationSchema = Schema.Literals([
807
+ "modify-input",
808
+ "inject-context",
809
+ "modify-output",
810
+ "synthesize",
811
+ "redact",
812
+ ]).annotate({
813
+ identifier: "HookModifyOperation",
814
+ title: "Hook Modify Operation",
815
+ description: "Transform operation available to modifying hook systems.",
816
+ });
817
+ /** @experimental This API is unstable and may change without notice. */
818
+ export const HookDecisionCapabilitySchema = Schema.Union([
819
+ Schema.Struct({ kind: Schema.Literal("observe") }),
820
+ Schema.Struct({
821
+ kind: Schema.Literal("block"),
822
+ outcomes: Schema.NonEmptyArray(HookBlockOutcomeSchema).pipe(Schema.check(Schema.isUnique())),
823
+ }),
824
+ Schema.Struct({
825
+ kind: Schema.Literal("modify"),
826
+ operations: Schema.NonEmptyArray(HookModifyOperationSchema).pipe(Schema.check(Schema.isUnique())),
827
+ }),
828
+ ]).annotate({
829
+ identifier: "HookDecisionCapability",
830
+ title: "Hook Decision Capability",
831
+ description: "Whether a hook event can observe, block, or modify lifecycle behavior.",
832
+ });
833
+ /** @experimental This API is unstable and may change without notice. */
834
+ export const HookEventMappingSchema = Schema.Struct({
835
+ nativeName: Schema.NonEmptyString,
836
+ canonical: CanonicalHookEventIdSchema,
837
+ matcher: HookMatcherSchema,
838
+ decision: Schema.NonEmptyArray(HookDecisionCapabilitySchema),
839
+ ...VerifiedProvenanceFields,
840
+ }).annotate({
841
+ identifier: "HookEventMapping",
842
+ title: "Hook Event Mapping",
843
+ description: "Native hook event name with its canonical AXM event pointer and provenance.",
844
+ });
845
+ /** @experimental This API is unstable and may change without notice. */
846
+ export const HooksSerializerSchema = Schema.Literals(["command-stdin"]).annotate({
680
847
  identifier: "HooksSerializer",
681
848
  title: "Hooks Serializer",
682
849
  description: "Native settings serializer AXM uses for managed hook declarations.",
683
- examples: ["claude-code-settings"],
850
+ examples: ["command-stdin"],
684
851
  });
685
852
  /** @experimental This API is unstable and may change without notice. */
686
- export const HooksExtensionCapabilitySchema = Schema.Struct({
687
- canonical: Schema.Union([
688
- Schema.Struct({
689
- ...AvailableCanonicalCapabilityBaseFields,
690
- configFiles: Schema.Array(ConfigFileLocationSchema),
691
- }),
692
- Schema.Struct(UnavailableCanonicalCapabilityFields),
693
- ]),
694
- axm: Schema.Union([
695
- Schema.Struct({
696
- support: ActiveAxmSupportSchema,
697
- lastVerified: LastVerifiedDateSchema,
698
- writer: Schema.NullOr(Schema.Struct({ serializer: HooksSerializerSchema })),
699
- }),
700
- Schema.Struct({
701
- support: InactiveAxmSupportSchema,
702
- writer: Schema.NullOr(Schema.Struct({ serializer: HooksSerializerSchema })),
703
- }),
853
+ export const HookMatcherSerializationSchema = Schema.Literals([
854
+ "bare",
855
+ "slash-delimited",
856
+ "glob",
857
+ ]).annotate({
858
+ identifier: "HookMatcherSerialization",
859
+ title: "Hook Matcher Serialization",
860
+ description: "How AXM serializes manifest matcher strings into an agent-native hook group.",
861
+ examples: ["bare", "slash-delimited", "glob"],
862
+ });
863
+ /** @experimental This API is unstable and may change without notice. */
864
+ export const HookTimeoutSerializationSchema = Schema.Literals(["seconds", "milliseconds"]).annotate({
865
+ identifier: "HookTimeoutSerialization",
866
+ title: "Hook Timeout Serialization",
867
+ description: "Unit AXM uses when serializing hook timeout fields into native settings.",
868
+ examples: ["seconds", "milliseconds"],
869
+ });
870
+ /** @experimental This API is unstable and may change without notice. */
871
+ export const HookCommandNameSerializationSchema = Schema.Literals(["omit", "manifest"]).annotate({
872
+ identifier: "HookCommandNameSerialization",
873
+ title: "Hook Command Name Serialization",
874
+ description: "Whether native command hook entries need an explicit name field.",
875
+ examples: ["omit", "manifest"],
876
+ });
877
+ /** @experimental This API is unstable and may change without notice. */
878
+ export const HooksWriterSchema = Schema.Struct({
879
+ serializer: HooksSerializerSchema,
880
+ configFiles: Schema.NonEmptyArray(ConfigFileLocationSchema),
881
+ settingsKey: Schema.NonEmptyString,
882
+ eventMap: Schema.Literal("native.events"),
883
+ matcherKind: HookMatcherKindSchema,
884
+ matcherSerialization: HookMatcherSerializationSchema,
885
+ timeoutSerialization: HookTimeoutSerializationSchema,
886
+ commandNameSerialization: HookCommandNameSerializationSchema,
887
+ }).annotate({
888
+ identifier: "HooksWriter",
889
+ title: "Hooks Writer",
890
+ description: "Parameterized AXM hook writer metadata derived from native hook catalog data.",
891
+ });
892
+ const HooksAvailableNativeCapabilitySchema = Schema.Struct({
893
+ ...AvailableNativeCapabilityBaseFields,
894
+ mechanism: NonEmptyHookMechanismFamiliesSchema,
895
+ configFiles: Schema.Array(ConfigFileLocationSchema),
896
+ events: Schema.NonEmptyArray(HookEventMappingSchema),
897
+ tools: Schema.Array(HookToolMappingSchema),
898
+ });
899
+ const HooksUnmodeledNativeCapabilitySchema = Schema.Struct({
900
+ ...AvailableNativeCapabilityBaseFields,
901
+ modeling: Schema.Literal("native-unmodeled"),
902
+ });
903
+ const HooksExtensionCapabilityStruct = Schema.Struct({
904
+ native: Schema.Union([
905
+ HooksAvailableNativeCapabilitySchema,
906
+ HooksUnmodeledNativeCapabilitySchema,
907
+ Schema.Struct(UnavailableNativeCapabilityFields),
704
908
  ]),
705
- })
706
- .pipe(Schema.check(Schema.makeFilter(requireSourcesForActiveAxmSupport)))
707
- .annotate({
909
+ axm: axmCapabilityStateSchema(HooksWriterSchema, "HooksAxmState"),
910
+ });
911
+ /** @experimental This API is unstable and may change without notice. */
912
+ export const HooksExtensionCapabilitySchema = HooksExtensionCapabilityStruct.pipe(Schema.check(Schema.makeFilter((capability) => {
913
+ const issues = [];
914
+ if (capability.axm.writer !== null && capability.native.sources.length === 0) {
915
+ issues.push({
916
+ path: ["native", "sources"],
917
+ issue: "Hook writer claims require at least one native source.",
918
+ });
919
+ }
920
+ if ("events" in capability.native) {
921
+ const nativeToolNames = new Set(capability.native.tools.map((tool) => tool.nativeName));
922
+ if (nativeToolNames.size !== capability.native.tools.length) {
923
+ issues.push({
924
+ path: ["native", "tools"],
925
+ issue: "Hook native tool mappings require unique nativeName values.",
926
+ });
927
+ }
928
+ }
929
+ return issues;
930
+ }))).annotate({
708
931
  identifier: "HooksExtensionCapability",
709
932
  title: "Hooks Capability",
710
933
  description: "Agent support for lifecycle hook extensions.",
@@ -754,28 +977,18 @@ export const PermissionGrantSchema = PermissionGrantStruct.pipe(Schema.check(Sch
754
977
  });
755
978
  /** @experimental This API is unstable and may change without notice. */
756
979
  export const PermissionsExtensionCapabilitySchema = Schema.Struct({
757
- canonical: Schema.Union([
980
+ native: Schema.Union([
758
981
  Schema.Struct({
759
- ...AvailableCanonicalCapabilityBaseFields,
982
+ ...AvailableNativeCapabilityBaseFields,
760
983
  mechanism: NonEmptyPermissionMechanismsSchema,
761
984
  configFiles: Schema.Array(ConfigFileLocationSchema),
762
985
  grammar: Schema.NullOr(PermissionGrammarSchema),
763
986
  prerequisites: Schema.Array(PermissionPrerequisiteSchema),
764
987
  cliFlags: Schema.Array(PermissionCliFlagSchema),
765
988
  }),
766
- Schema.Struct(UnavailableCanonicalCapabilityFields),
767
- ]),
768
- axm: Schema.Union([
769
- Schema.Struct({
770
- support: ActiveAxmSupportSchema,
771
- lastVerified: LastVerifiedDateSchema,
772
- writer: Schema.NullOr(Schema.Struct({ grants: Schema.Record(Schema.String, PermissionGrantSchema) })),
773
- }),
774
- Schema.Struct({
775
- support: InactiveAxmSupportSchema,
776
- writer: Schema.NullOr(Schema.Struct({ grants: Schema.Record(Schema.String, PermissionGrantSchema) })),
777
- }),
989
+ Schema.Struct(UnavailableNativeCapabilityFields),
778
990
  ]),
991
+ axm: axmCapabilityStateSchema(Schema.Struct({ grants: Schema.Record(Schema.String, PermissionGrantSchema) }), "PermissionsAxmState"),
779
992
  })
780
993
  .pipe(Schema.check(Schema.makeFilter(requireSourcesForActiveAxmSupport)))
781
994
  .annotate({
@@ -852,11 +1065,11 @@ const AgentStruct = Schema.Struct({
852
1065
  });
853
1066
  /** @experimental This API is unstable and may change without notice. */
854
1067
  export const AgentSchema = AgentStruct.pipe(Schema.check(Schema.makeFilter((agent) => {
855
- if ("kind" in agent.capabilities.rule.canonical &&
856
- agent.capabilities.rule.canonical.kind === "agents-md" &&
857
- agent.capabilities.rule.canonical.files[0] !== "AGENTS.md") {
1068
+ if ("kind" in agent.capabilities.rule.native &&
1069
+ agent.capabilities.rule.native.kind === "agents-md" &&
1070
+ agent.capabilities.rule.native.files[0] !== "AGENTS.md") {
858
1071
  return {
859
- path: ["capabilities", "rule", "canonical", "files"],
1072
+ path: ["capabilities", "rule", "native", "files"],
860
1073
  issue: 'capabilities.rule.kind "agents-md" requires AGENTS.md.',
861
1074
  };
862
1075
  }