@agentxm/client-core 0.22.10 → 0.22.11

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 (249) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.d.ts +4846 -1502
  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 +2 -2
  4. package/dist/src/unstable/agent-capabilities/data/agents/adal.js +2 -2
  5. package/dist/src/unstable/agent-capabilities/data/agents/adal.js.map +1 -1
  6. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.d.ts +29 -11
  7. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.d.ts.map +1 -1
  8. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.js +30 -11
  9. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.js.map +1 -1
  10. package/dist/src/unstable/agent-capabilities/data/agents/amp.d.ts +30 -10
  11. package/dist/src/unstable/agent-capabilities/data/agents/amp.d.ts.map +1 -1
  12. package/dist/src/unstable/agent-capabilities/data/agents/amp.js +37 -10
  13. package/dist/src/unstable/agent-capabilities/data/agents/amp.js.map +1 -1
  14. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.d.ts +105 -10
  15. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.d.ts.map +1 -1
  16. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.js +81 -13
  17. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.js.map +1 -1
  18. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts +30 -25
  19. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts.map +1 -1
  20. package/dist/src/unstable/agent-capabilities/data/agents/augment.js +31 -25
  21. package/dist/src/unstable/agent-capabilities/data/agents/augment.js.map +1 -1
  22. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts +7 -12
  23. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts.map +1 -1
  24. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js +7 -13
  25. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js.map +1 -1
  26. package/dist/src/unstable/agent-capabilities/data/agents/cline.d.ts +15 -13
  27. package/dist/src/unstable/agent-capabilities/data/agents/cline.d.ts.map +1 -1
  28. package/dist/src/unstable/agent-capabilities/data/agents/cline.js +15 -13
  29. package/dist/src/unstable/agent-capabilities/data/agents/cline.js.map +1 -1
  30. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.d.ts +5 -5
  31. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.d.ts.map +1 -1
  32. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.js +5 -5
  33. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.js.map +1 -1
  34. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts +65 -49
  35. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts.map +1 -1
  36. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js +63 -49
  37. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js.map +1 -1
  38. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.d.ts +39 -21
  39. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.d.ts.map +1 -1
  40. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.js +54 -21
  41. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.js.map +1 -1
  42. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +43 -40
  43. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts.map +1 -1
  44. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +41 -41
  45. package/dist/src/unstable/agent-capabilities/data/agents/codex.js.map +1 -1
  46. package/dist/src/unstable/agent-capabilities/data/agents/command-code.d.ts +54 -20
  47. package/dist/src/unstable/agent-capabilities/data/agents/command-code.d.ts.map +1 -1
  48. package/dist/src/unstable/agent-capabilities/data/agents/command-code.js +57 -20
  49. package/dist/src/unstable/agent-capabilities/data/agents/command-code.js.map +1 -1
  50. package/dist/src/unstable/agent-capabilities/data/agents/continue.d.ts +176 -10
  51. package/dist/src/unstable/agent-capabilities/data/agents/continue.d.ts.map +1 -1
  52. package/dist/src/unstable/agent-capabilities/data/agents/continue.js +152 -10
  53. package/dist/src/unstable/agent-capabilities/data/agents/continue.js.map +1 -1
  54. package/dist/src/unstable/agent-capabilities/data/agents/cortex.d.ts +182 -23
  55. package/dist/src/unstable/agent-capabilities/data/agents/cortex.d.ts.map +1 -1
  56. package/dist/src/unstable/agent-capabilities/data/agents/cortex.js +150 -23
  57. package/dist/src/unstable/agent-capabilities/data/agents/cortex.js.map +1 -1
  58. package/dist/src/unstable/agent-capabilities/data/agents/crush.d.ts +4 -4
  59. package/dist/src/unstable/agent-capabilities/data/agents/crush.js +4 -4
  60. package/dist/src/unstable/agent-capabilities/data/agents/crush.js.map +1 -1
  61. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts +5 -5
  62. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts.map +1 -1
  63. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js +5 -5
  64. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js.map +1 -1
  65. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts +28 -13
  66. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts.map +1 -1
  67. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js +36 -13
  68. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js.map +1 -1
  69. package/dist/src/unstable/agent-capabilities/data/agents/devin.d.ts +29 -21
  70. package/dist/src/unstable/agent-capabilities/data/agents/devin.d.ts.map +1 -1
  71. package/dist/src/unstable/agent-capabilities/data/agents/devin.js +31 -21
  72. package/dist/src/unstable/agent-capabilities/data/agents/devin.js.map +1 -1
  73. package/dist/src/unstable/agent-capabilities/data/agents/dexto.d.ts +33 -11
  74. package/dist/src/unstable/agent-capabilities/data/agents/dexto.d.ts.map +1 -1
  75. package/dist/src/unstable/agent-capabilities/data/agents/dexto.js +39 -11
  76. package/dist/src/unstable/agent-capabilities/data/agents/dexto.js.map +1 -1
  77. package/dist/src/unstable/agent-capabilities/data/agents/droid.d.ts +193 -18
  78. package/dist/src/unstable/agent-capabilities/data/agents/droid.d.ts.map +1 -1
  79. package/dist/src/unstable/agent-capabilities/data/agents/droid.js +162 -18
  80. package/dist/src/unstable/agent-capabilities/data/agents/droid.js.map +1 -1
  81. package/dist/src/unstable/agent-capabilities/data/agents/firebender.d.ts +180 -25
  82. package/dist/src/unstable/agent-capabilities/data/agents/firebender.d.ts.map +1 -1
  83. package/dist/src/unstable/agent-capabilities/data/agents/firebender.js +153 -25
  84. package/dist/src/unstable/agent-capabilities/data/agents/firebender.js.map +1 -1
  85. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.d.ts +49 -15
  86. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.d.ts.map +1 -1
  87. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.js +54 -15
  88. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.js.map +1 -1
  89. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts +10 -10
  90. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js +10 -10
  91. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js.map +1 -1
  92. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +32 -5
  93. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts.map +1 -1
  94. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +40 -5
  95. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js.map +1 -1
  96. package/dist/src/unstable/agent-capabilities/data/agents/goose.d.ts +13 -13
  97. package/dist/src/unstable/agent-capabilities/data/agents/goose.js +13 -13
  98. package/dist/src/unstable/agent-capabilities/data/agents/goose.js.map +1 -1
  99. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.d.ts +31 -20
  100. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.d.ts.map +1 -1
  101. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.js +33 -23
  102. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.js.map +1 -1
  103. package/dist/src/unstable/agent-capabilities/data/agents/hermes.d.ts +120 -7
  104. package/dist/src/unstable/agent-capabilities/data/agents/hermes.d.ts.map +1 -1
  105. package/dist/src/unstable/agent-capabilities/data/agents/hermes.js +82 -7
  106. package/dist/src/unstable/agent-capabilities/data/agents/hermes.js.map +1 -1
  107. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts +29 -12
  108. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts.map +1 -1
  109. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js +32 -12
  110. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js.map +1 -1
  111. package/dist/src/unstable/agent-capabilities/data/agents/junie.d.ts +8 -8
  112. package/dist/src/unstable/agent-capabilities/data/agents/junie.js +8 -8
  113. package/dist/src/unstable/agent-capabilities/data/agents/junie.js.map +1 -1
  114. package/dist/src/unstable/agent-capabilities/data/agents/kilo.d.ts +40 -6
  115. package/dist/src/unstable/agent-capabilities/data/agents/kilo.d.ts.map +1 -1
  116. package/dist/src/unstable/agent-capabilities/data/agents/kilo.js +46 -6
  117. package/dist/src/unstable/agent-capabilities/data/agents/kilo.js.map +1 -1
  118. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.d.ts +142 -18
  119. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.d.ts.map +1 -1
  120. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.js +110 -18
  121. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.js.map +1 -1
  122. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts +3 -3
  123. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js +3 -3
  124. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js.map +1 -1
  125. package/dist/src/unstable/agent-capabilities/data/agents/kode.d.ts +15 -8
  126. package/dist/src/unstable/agent-capabilities/data/agents/kode.d.ts.map +1 -1
  127. package/dist/src/unstable/agent-capabilities/data/agents/kode.js +15 -8
  128. package/dist/src/unstable/agent-capabilities/data/agents/kode.js.map +1 -1
  129. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.d.ts +8 -3
  130. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.d.ts.map +1 -1
  131. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.js +8 -3
  132. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.js.map +1 -1
  133. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.d.ts +103 -17
  134. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.d.ts.map +1 -1
  135. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.js +87 -17
  136. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.js.map +1 -1
  137. package/dist/src/unstable/agent-capabilities/data/agents/mux.d.ts +14 -8
  138. package/dist/src/unstable/agent-capabilities/data/agents/mux.d.ts.map +1 -1
  139. package/dist/src/unstable/agent-capabilities/data/agents/mux.js +14 -8
  140. package/dist/src/unstable/agent-capabilities/data/agents/mux.js.map +1 -1
  141. package/dist/src/unstable/agent-capabilities/data/agents/neovate.d.ts +17 -15
  142. package/dist/src/unstable/agent-capabilities/data/agents/neovate.d.ts.map +1 -1
  143. package/dist/src/unstable/agent-capabilities/data/agents/neovate.js +17 -15
  144. package/dist/src/unstable/agent-capabilities/data/agents/neovate.js.map +1 -1
  145. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.d.ts +3 -3
  146. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.js +3 -3
  147. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.js.map +1 -1
  148. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts +3 -3
  149. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts.map +1 -1
  150. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js +3 -3
  151. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js.map +1 -1
  152. package/dist/src/unstable/agent-capabilities/data/agents/openhands.d.ts +104 -14
  153. package/dist/src/unstable/agent-capabilities/data/agents/openhands.d.ts.map +1 -1
  154. package/dist/src/unstable/agent-capabilities/data/agents/openhands.js +72 -15
  155. package/dist/src/unstable/agent-capabilities/data/agents/openhands.js.map +1 -1
  156. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts +24 -16
  157. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts.map +1 -1
  158. package/dist/src/unstable/agent-capabilities/data/agents/pi.js +26 -16
  159. package/dist/src/unstable/agent-capabilities/data/agents/pi.js.map +1 -1
  160. package/dist/src/unstable/agent-capabilities/data/agents/pochi.d.ts +18 -18
  161. package/dist/src/unstable/agent-capabilities/data/agents/pochi.d.ts.map +1 -1
  162. package/dist/src/unstable/agent-capabilities/data/agents/pochi.js +18 -18
  163. package/dist/src/unstable/agent-capabilities/data/agents/pochi.js.map +1 -1
  164. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts +3 -3
  165. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js +3 -3
  166. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js.map +1 -1
  167. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts +32 -12
  168. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts.map +1 -1
  169. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js +32 -12
  170. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js.map +1 -1
  171. package/dist/src/unstable/agent-capabilities/data/agents/replit.d.ts +12 -45
  172. package/dist/src/unstable/agent-capabilities/data/agents/replit.d.ts.map +1 -1
  173. package/dist/src/unstable/agent-capabilities/data/agents/replit.js +12 -47
  174. package/dist/src/unstable/agent-capabilities/data/agents/replit.js.map +1 -1
  175. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts +40 -13
  176. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts.map +1 -1
  177. package/dist/src/unstable/agent-capabilities/data/agents/roo.js +58 -13
  178. package/dist/src/unstable/agent-capabilities/data/agents/roo.js.map +1 -1
  179. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.d.ts +56 -17
  180. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.d.ts.map +1 -1
  181. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.js +63 -17
  182. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.js.map +1 -1
  183. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.d.ts +145 -14
  184. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.d.ts.map +1 -1
  185. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.js +127 -14
  186. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.js.map +1 -1
  187. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.d.ts +9 -9
  188. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.js +9 -9
  189. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.js.map +1 -1
  190. package/dist/src/unstable/agent-capabilities/data/agents/trae.d.ts +10 -10
  191. package/dist/src/unstable/agent-capabilities/data/agents/trae.d.ts.map +1 -1
  192. package/dist/src/unstable/agent-capabilities/data/agents/trae.js +10 -10
  193. package/dist/src/unstable/agent-capabilities/data/agents/trae.js.map +1 -1
  194. package/dist/src/unstable/agent-capabilities/data/agents/warp.d.ts +38 -13
  195. package/dist/src/unstable/agent-capabilities/data/agents/warp.d.ts.map +1 -1
  196. package/dist/src/unstable/agent-capabilities/data/agents/warp.js +35 -13
  197. package/dist/src/unstable/agent-capabilities/data/agents/warp.js.map +1 -1
  198. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts +18 -5
  199. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts.map +1 -1
  200. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js +13 -5
  201. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js.map +1 -1
  202. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.d.ts +13 -33
  203. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.d.ts.map +1 -1
  204. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.js +16 -36
  205. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.js.map +1 -1
  206. package/dist/src/unstable/agent-capabilities/derive.d.ts +9 -9
  207. package/dist/src/unstable/agents/kilo/service.d.ts.map +1 -1
  208. package/dist/src/unstable/agents/kilo/service.js +3 -8
  209. package/dist/src/unstable/agents/kilo/service.js.map +1 -1
  210. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +8 -9
  211. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts.map +1 -1
  212. package/dist/src/unstable/extension-types/catalog.js +3 -3
  213. package/dist/src/unstable/extension-types/catalog.js.map +1 -1
  214. package/dist/src/unstable/install-meta/install-meta.d.ts +4 -4
  215. package/dist/src/unstable/install-meta/install-meta.d.ts.map +1 -1
  216. package/dist/src/unstable/knowledge/manifest-schema.d.ts +1 -1
  217. package/dist/src/unstable/knowledge/manifest-schema.d.ts.map +1 -1
  218. package/dist/src/unstable/knowledge/manifest-schema.js +3 -3
  219. package/dist/src/unstable/knowledge/manifest-schema.js.map +1 -1
  220. package/dist/src/unstable/knowledge/okf.d.ts +28 -4
  221. package/dist/src/unstable/knowledge/okf.d.ts.map +1 -1
  222. package/dist/src/unstable/knowledge/okf.js +327 -10
  223. package/dist/src/unstable/knowledge/okf.js.map +1 -1
  224. package/dist/src/unstable/registry/admin-client.d.ts +73 -73
  225. package/dist/src/unstable/registry/admin-client.d.ts.map +1 -1
  226. package/dist/src/unstable/source-resolution/providers/azurerepos/scp.d.ts +8 -9
  227. package/dist/src/unstable/source-resolution/providers/azurerepos/scp.d.ts.map +1 -1
  228. package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts +9 -9
  229. package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts.map +1 -1
  230. package/dist/src/unstable/source-resolution/providers/bitbucket/scp.d.ts +7 -8
  231. package/dist/src/unstable/source-resolution/providers/bitbucket/scp.d.ts.map +1 -1
  232. package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts +8 -8
  233. package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts.map +1 -1
  234. package/dist/src/unstable/source-resolution/providers/github/scp.d.ts +7 -8
  235. package/dist/src/unstable/source-resolution/providers/github/scp.d.ts.map +1 -1
  236. package/dist/src/unstable/source-resolution/providers/github/url.d.ts +8 -8
  237. package/dist/src/unstable/source-resolution/providers/github/url.d.ts.map +1 -1
  238. package/dist/src/unstable/source-resolution/providers/gitlab/scp.d.ts +7 -8
  239. package/dist/src/unstable/source-resolution/providers/gitlab/scp.d.ts.map +1 -1
  240. package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts +8 -8
  241. package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts.map +1 -1
  242. package/dist/src/unstable/update-check/update-check.d.ts +4 -4
  243. package/dist/src/unstable/update-check/update-check.d.ts.map +1 -1
  244. package/dist/src/unstable/workspace/initialization.d.ts +223 -215
  245. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  246. package/dist/src/unstable/workspace/service.d.ts +60 -59
  247. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  248. package/package.json +6 -6
  249. package/site-content/__generated__/schemas/knowledge.schema.json +3 -3
@@ -1,10 +1,15 @@
1
- /** Open Knowledge Format 0.1 draft discovery and AgentXM-profile validation. */
1
+ /** Open Knowledge Format discovery and AgentXM-profile validation (v0.1 and v0.2). */
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as FileSystem from "effect/FileSystem";
4
4
  import * as Path from "effect/Path";
5
5
  import * as Option from "effect/Option";
6
6
  import { parseFrontmatterEffect } from "../extensions/frontmatter.js";
7
7
  const RESERVED_BASENAMES = new Set(["index.md", "log.md"]);
8
+ const SUPPORTED_OKF_VERSIONS = ["0.1", "0.2"];
9
+ const DEFAULT_OKF_VERSION = "0.1";
10
+ const SCAFFOLD_OKF_VERSION = "0.2";
11
+ const CONCEPT_STATUSES = new Set(["draft", "stable", "deprecated"]);
12
+ const ATTESTED_COMPUTATION_TYPE = "attested computation";
8
13
  const MAX_FILE_BYTES = 1024n * 1024n;
9
14
  const MAX_BUNDLE_BYTES = 10n * 1024n * 1024n;
10
15
  const MAX_BUNDLE_FILES = 1_000;
@@ -55,6 +60,7 @@ const markdownLinks = (body) => {
55
60
  }
56
61
  return links;
57
62
  };
63
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
58
64
  const metadataField = (metadata, key) => {
59
65
  if (typeof metadata !== "object" || metadata === null)
60
66
  return undefined;
@@ -108,6 +114,162 @@ const validResource = (value) => {
108
114
  return false;
109
115
  }
110
116
  };
117
+ const validIsoDate = (value) => /^\d{4}-\d{2}-\d{2}$/.test(value) && !Number.isNaN(Date.parse(`${value}T00:00:00Z`));
118
+ /**
119
+ * OKF 0.2 actor convention: `<producer>/<version>` for agents and tools,
120
+ * `human:<id>` for people, and `process:<id>` for automated processes.
121
+ */
122
+ const validActor = (value) => {
123
+ if (value.length === 0 || /\s/.test(value))
124
+ return false;
125
+ const prefixed = /^(?:human|process):(.+)$/.exec(value);
126
+ if (prefixed !== null)
127
+ return (prefixed[1]?.length ?? 0) > 0;
128
+ const segments = value.split("/");
129
+ return segments.length === 2 && segments.every((segment) => segment.length > 0);
130
+ };
131
+ const dateIssue = (value, label) => typeof value === "string" && validIsoDate(value)
132
+ ? undefined
133
+ : `${label} must be an ISO 8601 YYYY-MM-DD date.`;
134
+ /** Validate one `{ by, at }` actor record shared by `generated` and `verified`. */
135
+ const actorRecordIssues = (value, label) => {
136
+ if (!isRecord(value))
137
+ return [`${label} must be a mapping with a by field.`];
138
+ const issues = [];
139
+ const by = value["by"];
140
+ if (typeof by !== "string" || !validActor(by)) {
141
+ issues.push(`${label}.by must use the OKF actor convention (<producer>/<version>, human:<id>, or process:<id>).`);
142
+ }
143
+ const at = value["at"];
144
+ if (at !== undefined && (typeof at !== "string" || !validIsoTimestamp(at))) {
145
+ issues.push(`${label}.at must be an ISO 8601 date-time with a timezone.`);
146
+ }
147
+ return issues;
148
+ };
149
+ const sourcesIssues = (value) => {
150
+ if (!Array.isArray(value))
151
+ return ["sources must be a list of source entries."];
152
+ const issues = [];
153
+ const ids = new Map();
154
+ value.forEach((entry, index) => {
155
+ const label = `sources[${index}]`;
156
+ if (!isRecord(entry)) {
157
+ issues.push(`${label} must be a mapping.`);
158
+ return;
159
+ }
160
+ const resource = entry["resource"];
161
+ if (typeof resource !== "string" || !validResource(resource)) {
162
+ issues.push(`${label}.resource is required and must be a safe absolute URI.`);
163
+ }
164
+ const id = entry["id"];
165
+ if (id !== undefined) {
166
+ if (typeof id !== "string" || id.trim().length === 0) {
167
+ issues.push(`${label}.id must be a non-empty string.`);
168
+ }
169
+ else {
170
+ const seen = ids.get(id);
171
+ if (seen !== undefined)
172
+ issues.push(`${label}.id duplicates sources[${seen}].id.`);
173
+ else
174
+ ids.set(id, index);
175
+ }
176
+ }
177
+ const title = entry["title"];
178
+ if (title !== undefined && typeof title !== "string") {
179
+ issues.push(`${label}.title must be a string.`);
180
+ }
181
+ // `author` is a free-form credibility signal, not an actor field; the spec
182
+ // uses values such as `team:ga4-docs` that the actor convention rejects.
183
+ const author = entry["author"];
184
+ if (author !== undefined && (typeof author !== "string" || author.trim().length === 0)) {
185
+ issues.push(`${label}.author must be a non-empty string.`);
186
+ }
187
+ const usageCount = entry["usage_count"];
188
+ if (usageCount !== undefined &&
189
+ (typeof usageCount !== "number" || !Number.isInteger(usageCount) || usageCount < 0)) {
190
+ issues.push(`${label}.usage_count must be a non-negative integer.`);
191
+ }
192
+ const lastModified = entry["last_modified"];
193
+ if (lastModified !== undefined) {
194
+ const issue = dateIssue(lastModified, `${label}.last_modified`);
195
+ if (issue !== undefined)
196
+ issues.push(issue);
197
+ }
198
+ });
199
+ return issues;
200
+ };
201
+ const usageWindowIssues = (value) => {
202
+ if (!isRecord(value))
203
+ return ["usage_window must be a mapping with from and to dates."];
204
+ const issues = [];
205
+ for (const key of ["from", "to"]) {
206
+ const issue = dateIssue(value[key], `usage_window.${key}`);
207
+ if (issue !== undefined)
208
+ issues.push(issue);
209
+ }
210
+ return issues;
211
+ };
212
+ const verifiedRecords = (value) => Array.isArray(value) ? value : [value];
213
+ const attestationIssues = (metadata, body) => {
214
+ const issues = [];
215
+ const runtime = metadataField(metadata, "runtime");
216
+ if (typeof runtime !== "string" || runtime.trim().length === 0) {
217
+ issues.push("Attested Computation concepts require a non-empty runtime.");
218
+ }
219
+ const parameters = metadataField(metadata, "parameters");
220
+ if (parameters !== undefined) {
221
+ if (!Array.isArray(parameters)) {
222
+ issues.push("parameters must be a list of typed parameter mappings.");
223
+ }
224
+ else {
225
+ parameters.forEach((parameter, index) => {
226
+ const label = `parameters[${index}]`;
227
+ if (!isRecord(parameter)) {
228
+ issues.push(`${label} must be a mapping.`);
229
+ return;
230
+ }
231
+ const name = parameter["name"];
232
+ if (typeof name !== "string" || name.trim().length === 0) {
233
+ issues.push(`${label}.name is required and must be a non-empty string.`);
234
+ }
235
+ const type = parameter["type"];
236
+ if (typeof type !== "string" || type.trim().length === 0) {
237
+ issues.push(`${label}.type is required and must be a non-empty string.`);
238
+ }
239
+ const required = parameter["required"];
240
+ if (required !== undefined && typeof required !== "boolean") {
241
+ issues.push(`${label}.required must be a boolean.`);
242
+ }
243
+ });
244
+ }
245
+ }
246
+ for (const key of ["executor", "attester"]) {
247
+ const value = metadataField(metadata, key);
248
+ if (value === undefined)
249
+ continue;
250
+ if (!isRecord(value)) {
251
+ issues.push(`${key} must be a mapping with a resource.`);
252
+ continue;
253
+ }
254
+ const resource = value["resource"];
255
+ if (typeof resource !== "string" || resource.trim().length === 0) {
256
+ issues.push(`${key}.resource is required and must be a non-empty string.`);
257
+ }
258
+ const receipt = value["receipt"];
259
+ if (receipt !== undefined &&
260
+ (!Array.isArray(receipt) || !receipt.every((field) => typeof field === "string"))) {
261
+ issues.push(`${key}.receipt must be a list of receipt field names.`);
262
+ }
263
+ }
264
+ const computation = metadataField(metadata, "computation");
265
+ if (computation !== undefined && typeof computation !== "string") {
266
+ issues.push("computation must be a bundle-relative path to a computation file.");
267
+ }
268
+ if (computation === undefined && !/^#\s+Computation\s*$/im.test(body)) {
269
+ issues.push("Attested Computation concepts require a `# Computation` body heading or a computation field.");
270
+ }
271
+ return issues;
272
+ };
111
273
  const secretPatterns = [
112
274
  /-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/,
113
275
  /\bAKIA[0-9A-Z]{16}\b/,
@@ -138,8 +300,10 @@ const resolvedMarkdownTarget = (sourcePath, target, markdownPaths) => {
138
300
  };
139
301
  };
140
302
  /**
141
- * Inspect an OKF bundle. The root index requirement is an explicit AgentXM
142
- * profile constraint; upstream OKF 0.1 itself permits a root without it.
303
+ * Inspect an OKF bundle in the dialect its root index declares. The root index
304
+ * requirement is an explicit AgentXM profile constraint; upstream OKF permits a
305
+ * root without it. The 0.2 frontmatter families are enforced only for bundles
306
+ * that declare `okf_version: "0.2"`, so published 0.1 bundles keep validating.
143
307
  */
144
308
  export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(function* () {
145
309
  const files = entries
@@ -245,8 +409,29 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
245
409
  message: "AgentXM knowledge bundles require src/index.md as their discovery root.",
246
410
  });
247
411
  }
412
+ const rawByPath = new Map();
248
413
  for (const relativePath of files) {
249
- const raw = yield* readMarkdown(relativePath);
414
+ rawByPath.set(relativePath, yield* readMarkdown(relativePath));
415
+ }
416
+ // The dialect is declared once at the bundle root and governs which
417
+ // frontmatter families apply, so it is resolved before any concept is
418
+ // validated. Undeclared or unsupported roots fall back to 0.1 and are
419
+ // reported separately when index.md is inspected.
420
+ const declaredOkfVersion = yield* Effect.gen(function* () {
421
+ const rootRaw = rawByPath.get("index.md");
422
+ if (rootRaw === undefined)
423
+ return undefined;
424
+ const parsed = yield* parseFrontmatterEffect(rootRaw).pipe(Effect.option);
425
+ if (Option.isNone(parsed))
426
+ return undefined;
427
+ const value = metadataField(parsed.value.frontmatter, "okf_version");
428
+ return value === undefined ? undefined : String(value);
429
+ });
430
+ const okfVersion = SUPPORTED_OKF_VERSIONS.find((supported) => supported === declaredOkfVersion) ??
431
+ DEFAULT_OKF_VERSION;
432
+ const isOkf02 = okfVersion === "0.2";
433
+ for (const relativePath of files) {
434
+ const raw = rawByPath.get(relativePath) ?? "";
250
435
  const links = markdownLinks(raw);
251
436
  linksByPath.set(relativePath, links);
252
437
  const foundSecretLine = secretLine(raw);
@@ -385,21 +570,21 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
385
570
  });
386
571
  }
387
572
  if (relativePath === "index.md") {
388
- const okfVersion = isMetadata && "okf_version" in metadata ? metadata.okf_version : undefined;
389
- if (okfVersion === undefined) {
573
+ const declaredVersion = isMetadata && "okf_version" in metadata ? String(metadata.okf_version) : undefined;
574
+ if (declaredVersion === undefined) {
390
575
  diagnostics.push({
391
576
  code: "missing-okf-version",
392
577
  severity: "error",
393
578
  relativePath,
394
- message: "src/index.md requires okf_version: 0.1 in YAML frontmatter.",
579
+ message: `src/index.md requires okf_version: ${SCAFFOLD_OKF_VERSION} in YAML frontmatter.`,
395
580
  });
396
581
  }
397
- else if (String(okfVersion) !== "0.1") {
582
+ else if (!SUPPORTED_OKF_VERSIONS.some((supported) => supported === declaredVersion)) {
398
583
  diagnostics.push({
399
584
  code: "unsupported-okf-version",
400
585
  severity: "error",
401
586
  relativePath,
402
- message: `Unsupported OKF version ${String(okfVersion)}; expected 0.1.`,
587
+ message: `Unsupported OKF version ${declaredVersion}; expected ${SUPPORTED_OKF_VERSIONS.join(" or ")}.`,
403
588
  });
404
589
  }
405
590
  }
@@ -423,6 +608,124 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
423
608
  message: `${relativePath} timestamp must be an ISO 8601 date-time with a timezone.`,
424
609
  });
425
610
  }
611
+ const statusValue = metadataField(metadata, "status");
612
+ const staleAfterValue = metadataField(metadata, "stale_after");
613
+ const generatedValue = metadataField(metadata, "generated");
614
+ const verifiedValue = metadataField(metadata, "verified");
615
+ const sourcesValue = metadataField(metadata, "sources");
616
+ const usageWindowValue = metadataField(metadata, "usage_window");
617
+ const generated = isOkf02 && isRecord(generatedValue) && typeof generatedValue["by"] === "string"
618
+ ? {
619
+ by: generatedValue["by"],
620
+ ...(typeof generatedValue["at"] === "string" ? { at: generatedValue["at"] } : {}),
621
+ }
622
+ : undefined;
623
+ const verified = isOkf02
624
+ ? verifiedRecords(verifiedValue)
625
+ .filter(isRecord)
626
+ .flatMap((record) => typeof record["by"] === "string"
627
+ ? [
628
+ {
629
+ by: record["by"],
630
+ ...(typeof record["at"] === "string" ? { at: record["at"] } : {}),
631
+ },
632
+ ]
633
+ : [])
634
+ : [];
635
+ const trust = !isOkf02
636
+ ? undefined
637
+ : verifiedValue === undefined || verified.length === 0
638
+ ? "unverified"
639
+ : verified.some((record) => record.by.startsWith("human:"))
640
+ ? "human-reviewed"
641
+ : "machine-confirmed";
642
+ if (isOkf02 && !RESERVED_BASENAMES.has(baseName)) {
643
+ // OKF 0.2 supersedes the top-level `timestamp` with `generated.at` and
644
+ // the `# Citations` body list with the `sources` family. Both legacy
645
+ // forms stay readable, so they degrade to deprecation warnings.
646
+ if (timestampValue !== undefined) {
647
+ diagnostics.push({
648
+ code: "deprecated-timestamp",
649
+ severity: "warning",
650
+ relativePath,
651
+ message: `${relativePath} uses the superseded timestamp field; OKF 0.2 records this as generated.at.`,
652
+ });
653
+ }
654
+ if (sourcesValue !== undefined) {
655
+ for (const issue of sourcesIssues(sourcesValue)) {
656
+ diagnostics.push({
657
+ code: "invalid-sources",
658
+ severity: "error",
659
+ relativePath,
660
+ message: `${relativePath} ${issue}`,
661
+ });
662
+ }
663
+ }
664
+ if (usageWindowValue !== undefined) {
665
+ for (const issue of usageWindowIssues(usageWindowValue)) {
666
+ diagnostics.push({
667
+ code: "invalid-sources",
668
+ severity: "error",
669
+ relativePath,
670
+ message: `${relativePath} ${issue}`,
671
+ });
672
+ }
673
+ }
674
+ if (generatedValue !== undefined) {
675
+ for (const issue of actorRecordIssues(generatedValue, "generated")) {
676
+ diagnostics.push({
677
+ code: "invalid-generated",
678
+ severity: "error",
679
+ relativePath,
680
+ message: `${relativePath} ${issue}`,
681
+ });
682
+ }
683
+ }
684
+ if (verifiedValue !== undefined) {
685
+ const records = verifiedRecords(verifiedValue);
686
+ records.forEach((record, index) => {
687
+ const label = Array.isArray(verifiedValue) ? `verified[${index}]` : "verified";
688
+ for (const issue of actorRecordIssues(record, label)) {
689
+ diagnostics.push({
690
+ code: "invalid-verified",
691
+ severity: "error",
692
+ relativePath,
693
+ message: `${relativePath} ${issue}`,
694
+ });
695
+ }
696
+ });
697
+ }
698
+ if (statusValue !== undefined &&
699
+ (typeof statusValue !== "string" || !CONCEPT_STATUSES.has(statusValue))) {
700
+ diagnostics.push({
701
+ code: "invalid-status",
702
+ severity: "error",
703
+ relativePath,
704
+ message: `${relativePath} status must be one of ${[...CONCEPT_STATUSES].join(", ")}.`,
705
+ });
706
+ }
707
+ if (staleAfterValue !== undefined) {
708
+ const issue = dateIssue(staleAfterValue, "stale_after");
709
+ if (issue !== undefined) {
710
+ diagnostics.push({
711
+ code: "invalid-stale-after",
712
+ severity: "error",
713
+ relativePath,
714
+ message: `${relativePath} ${issue}`,
715
+ });
716
+ }
717
+ }
718
+ if (type !== undefined && type.toLocaleLowerCase() === ATTESTED_COMPUTATION_TYPE) {
719
+ for (const issue of attestationIssues(metadata, parsed.value.body)) {
720
+ diagnostics.push({
721
+ code: "invalid-attestation",
722
+ severity: "error",
723
+ relativePath,
724
+ message: `${relativePath} ${issue}`,
725
+ });
726
+ }
727
+ }
728
+ }
426
729
  if (!RESERVED_BASENAMES.has(baseName) && type === undefined) {
427
730
  diagnostics.push({
428
731
  code: "missing-type",
@@ -467,6 +770,15 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
467
770
  types.set(type.toLocaleLowerCase(), spellings);
468
771
  }
469
772
  const citationHeading = parsed.value.body.search(/^#\s+Citations\s*$/im);
773
+ if (citationHeading >= 0 && isOkf02 && !RESERVED_BASENAMES.has(baseName)) {
774
+ diagnostics.push({
775
+ code: "deprecated-citations",
776
+ severity: "warning",
777
+ relativePath,
778
+ line: parsed.value.body.slice(0, citationHeading).split(/\r?\n/).length,
779
+ message: `${relativePath} uses the superseded # Citations section; OKF 0.2 records provenance in the sources frontmatter.`,
780
+ });
781
+ }
470
782
  if (citationHeading >= 0) {
471
783
  const citationBody = parsed.value.body.slice(citationHeading).split(/\r?\n/).slice(1);
472
784
  const malformedIndex = citationBody.findIndex((line) => /^\s*\[\d+\]/.test(line) && !/^\s*\[\d+\]\s+\[[^\]]+\]\([^)]+\)/.test(line));
@@ -490,6 +802,11 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
490
802
  ...(tags === undefined ? {} : { tags }),
491
803
  ...(resource === undefined ? {} : { resource }),
492
804
  ...(timestamp === undefined ? {} : { timestamp }),
805
+ ...(typeof statusValue === "string" ? { status: statusValue } : {}),
806
+ ...(isOkf02 && typeof staleAfterValue === "string" ? { staleAfter: staleAfterValue } : {}),
807
+ ...(generated === undefined ? {} : { generated }),
808
+ ...(verified.length === 0 ? {} : { verified }),
809
+ ...(trust === undefined ? {} : { trust }),
493
810
  relativePath,
494
811
  body: parsed.value.body,
495
812
  });
@@ -603,7 +920,7 @@ export const inspectKnowledgeEntries = (entries, readMarkdown) => Effect.gen(fun
603
920
  });
604
921
  }
605
922
  }
606
- return { concepts, diagnostics };
923
+ return { concepts, diagnostics, okfVersion };
607
924
  });
608
925
  export const inspectKnowledgeBundle = (sourceRoot) => Effect.gen(function* () {
609
926
  const fs = yield* FileSystem.FileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"okf.js","sourceRoot":"","sources":["../../../../src/unstable/knowledge/okf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"okf.js","sourceRoot":"","sources":["../../../../src/unstable/knowledge/okf.ts"],"names":[],"mappings":"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"}