@agentxm/extension-model 0.28.4-bootstrap.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 (263) hide show
  1. package/LICENSE +110 -0
  2. package/README.md +17 -0
  3. package/dist/src/unstable/agent-capabilities/catalog.d.ts +47000 -0
  4. package/dist/src/unstable/agent-capabilities/catalog.js +172 -0
  5. package/dist/src/unstable/agent-capabilities/data/agents/adal.d.ts +162 -0
  6. package/dist/src/unstable/agent-capabilities/data/agents/adal.js +134 -0
  7. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.d.ts +167 -0
  8. package/dist/src/unstable/agent-capabilities/data/agents/aider-desk.js +133 -0
  9. package/dist/src/unstable/agent-capabilities/data/agents/amp.d.ts +203 -0
  10. package/dist/src/unstable/agent-capabilities/data/agents/amp.js +187 -0
  11. package/dist/src/unstable/agent-capabilities/data/agents/antigravity-cli.d.ts +186 -0
  12. package/dist/src/unstable/agent-capabilities/data/agents/antigravity-cli.js +140 -0
  13. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.d.ts +357 -0
  14. package/dist/src/unstable/agent-capabilities/data/agents/antigravity.js +294 -0
  15. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts +383 -0
  16. package/dist/src/unstable/agent-capabilities/data/agents/augment.js +329 -0
  17. package/dist/src/unstable/agent-capabilities/data/agents/chatgpt.d.ts +159 -0
  18. package/dist/src/unstable/agent-capabilities/data/agents/chatgpt.js +117 -0
  19. package/dist/src/unstable/agent-capabilities/data/agents/claude-ai.d.ts +153 -0
  20. package/dist/src/unstable/agent-capabilities/data/agents/claude-ai.js +105 -0
  21. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts +460 -0
  22. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js +406 -0
  23. package/dist/src/unstable/agent-capabilities/data/agents/cline.d.ts +225 -0
  24. package/dist/src/unstable/agent-capabilities/data/agents/cline.js +190 -0
  25. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.d.ts +246 -0
  26. package/dist/src/unstable/agent-capabilities/data/agents/codearts-agent.js +206 -0
  27. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts +420 -0
  28. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js +378 -0
  29. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.d.ts +143 -0
  30. package/dist/src/unstable/agent-capabilities/data/agents/codemaker.js +112 -0
  31. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.d.ts +165 -0
  32. package/dist/src/unstable/agent-capabilities/data/agents/codestudio.js +136 -0
  33. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +458 -0
  34. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +399 -0
  35. package/dist/src/unstable/agent-capabilities/data/agents/command-code.d.ts +247 -0
  36. package/dist/src/unstable/agent-capabilities/data/agents/command-code.js +222 -0
  37. package/dist/src/unstable/agent-capabilities/data/agents/continue.d.ts +322 -0
  38. package/dist/src/unstable/agent-capabilities/data/agents/continue.js +273 -0
  39. package/dist/src/unstable/agent-capabilities/data/agents/cortex.d.ts +306 -0
  40. package/dist/src/unstable/agent-capabilities/data/agents/cortex.js +241 -0
  41. package/dist/src/unstable/agent-capabilities/data/agents/cowork.d.ts +185 -0
  42. package/dist/src/unstable/agent-capabilities/data/agents/cowork.js +133 -0
  43. package/dist/src/unstable/agent-capabilities/data/agents/crush.d.ts +249 -0
  44. package/dist/src/unstable/agent-capabilities/data/agents/crush.js +218 -0
  45. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts +300 -0
  46. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js +282 -0
  47. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts +159 -0
  48. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js +137 -0
  49. package/dist/src/unstable/agent-capabilities/data/agents/devin.d.ts +410 -0
  50. package/dist/src/unstable/agent-capabilities/data/agents/devin.js +358 -0
  51. package/dist/src/unstable/agent-capabilities/data/agents/dexto.d.ts +166 -0
  52. package/dist/src/unstable/agent-capabilities/data/agents/dexto.js +141 -0
  53. package/dist/src/unstable/agent-capabilities/data/agents/droid.d.ts +318 -0
  54. package/dist/src/unstable/agent-capabilities/data/agents/droid.js +257 -0
  55. package/dist/src/unstable/agent-capabilities/data/agents/firebender.d.ts +313 -0
  56. package/dist/src/unstable/agent-capabilities/data/agents/firebender.js +244 -0
  57. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.d.ts +193 -0
  58. package/dist/src/unstable/agent-capabilities/data/agents/forgecode.js +160 -0
  59. package/dist/src/unstable/agent-capabilities/data/agents/gemini-app.d.ts +153 -0
  60. package/dist/src/unstable/agent-capabilities/data/agents/gemini-app.js +105 -0
  61. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts +424 -0
  62. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js +411 -0
  63. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +300 -0
  64. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +307 -0
  65. package/dist/src/unstable/agent-capabilities/data/agents/goose.d.ts +162 -0
  66. package/dist/src/unstable/agent-capabilities/data/agents/goose.js +131 -0
  67. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.d.ts +186 -0
  68. package/dist/src/unstable/agent-capabilities/data/agents/grok-cli.js +164 -0
  69. package/dist/src/unstable/agent-capabilities/data/agents/hermes.d.ts +303 -0
  70. package/dist/src/unstable/agent-capabilities/data/agents/hermes.js +223 -0
  71. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts +231 -0
  72. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js +200 -0
  73. package/dist/src/unstable/agent-capabilities/data/agents/iflow-cli.d.ts +182 -0
  74. package/dist/src/unstable/agent-capabilities/data/agents/iflow-cli.js +126 -0
  75. package/dist/src/unstable/agent-capabilities/data/agents/index.d.ts +67 -0
  76. package/dist/src/unstable/agent-capabilities/data/agents/index.js +67 -0
  77. package/dist/src/unstable/agent-capabilities/data/agents/junie.d.ts +219 -0
  78. package/dist/src/unstable/agent-capabilities/data/agents/junie.js +200 -0
  79. package/dist/src/unstable/agent-capabilities/data/agents/kilo.d.ts +282 -0
  80. package/dist/src/unstable/agent-capabilities/data/agents/kilo.js +260 -0
  81. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.d.ts +350 -0
  82. package/dist/src/unstable/agent-capabilities/data/agents/kimi-cli.js +274 -0
  83. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts +227 -0
  84. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js +197 -0
  85. package/dist/src/unstable/agent-capabilities/data/agents/kode.d.ts +166 -0
  86. package/dist/src/unstable/agent-capabilities/data/agents/kode.js +141 -0
  87. package/dist/src/unstable/agent-capabilities/data/agents/lingma.d.ts +185 -0
  88. package/dist/src/unstable/agent-capabilities/data/agents/lingma.js +149 -0
  89. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.d.ts +144 -0
  90. package/dist/src/unstable/agent-capabilities/data/agents/mcpjam.js +116 -0
  91. package/dist/src/unstable/agent-capabilities/data/agents/minimax-code.d.ts +138 -0
  92. package/dist/src/unstable/agent-capabilities/data/agents/minimax-code.js +93 -0
  93. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.d.ts +244 -0
  94. package/dist/src/unstable/agent-capabilities/data/agents/mistral-vibe.js +200 -0
  95. package/dist/src/unstable/agent-capabilities/data/agents/mux.d.ts +155 -0
  96. package/dist/src/unstable/agent-capabilities/data/agents/mux.js +127 -0
  97. package/dist/src/unstable/agent-capabilities/data/agents/neovate.d.ts +211 -0
  98. package/dist/src/unstable/agent-capabilities/data/agents/neovate.js +178 -0
  99. package/dist/src/unstable/agent-capabilities/data/agents/ona.d.ts +167 -0
  100. package/dist/src/unstable/agent-capabilities/data/agents/ona.js +110 -0
  101. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.d.ts +139 -0
  102. package/dist/src/unstable/agent-capabilities/data/agents/openclaw.js +114 -0
  103. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts +220 -0
  104. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js +192 -0
  105. package/dist/src/unstable/agent-capabilities/data/agents/openhands.d.ts +245 -0
  106. package/dist/src/unstable/agent-capabilities/data/agents/openhands.js +184 -0
  107. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts +185 -0
  108. package/dist/src/unstable/agent-capabilities/data/agents/pi.js +169 -0
  109. package/dist/src/unstable/agent-capabilities/data/agents/pochi.d.ts +199 -0
  110. package/dist/src/unstable/agent-capabilities/data/agents/pochi.js +163 -0
  111. package/dist/src/unstable/agent-capabilities/data/agents/qoder-cn.d.ts +199 -0
  112. package/dist/src/unstable/agent-capabilities/data/agents/qoder-cn.js +141 -0
  113. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts +414 -0
  114. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js +378 -0
  115. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts +406 -0
  116. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js +345 -0
  117. package/dist/src/unstable/agent-capabilities/data/agents/replit.d.ts +144 -0
  118. package/dist/src/unstable/agent-capabilities/data/agents/replit.js +116 -0
  119. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts +192 -0
  120. package/dist/src/unstable/agent-capabilities/data/agents/roo.js +180 -0
  121. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.d.ts +189 -0
  122. package/dist/src/unstable/agent-capabilities/data/agents/rovodev.js +156 -0
  123. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.d.ts +280 -0
  124. package/dist/src/unstable/agent-capabilities/data/agents/tabnine-cli.js +223 -0
  125. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.d.ts +188 -0
  126. package/dist/src/unstable/agent-capabilities/data/agents/trae-cn.js +156 -0
  127. package/dist/src/unstable/agent-capabilities/data/agents/trae.d.ts +188 -0
  128. package/dist/src/unstable/agent-capabilities/data/agents/trae.js +156 -0
  129. package/dist/src/unstable/agent-capabilities/data/agents/warp.d.ts +169 -0
  130. package/dist/src/unstable/agent-capabilities/data/agents/warp.js +133 -0
  131. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts +414 -0
  132. package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js +326 -0
  133. package/dist/src/unstable/agent-capabilities/data/agents/zed.d.ts +168 -0
  134. package/dist/src/unstable/agent-capabilities/data/agents/zed.js +109 -0
  135. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.d.ts +168 -0
  136. package/dist/src/unstable/agent-capabilities/data/agents/zencoder.js +137 -0
  137. package/dist/src/unstable/agent-capabilities/data/agents/zenflow.d.ts +153 -0
  138. package/dist/src/unstable/agent-capabilities/data/agents/zenflow.js +96 -0
  139. package/dist/src/unstable/agent-capabilities/derive.d.ts +129 -0
  140. package/dist/src/unstable/agent-capabilities/derive.js +389 -0
  141. package/dist/src/unstable/agent-capabilities/index.d.ts +15 -0
  142. package/dist/src/unstable/agent-capabilities/index.js +15 -0
  143. package/dist/src/unstable/agent-capabilities/lookup.d.ts +10 -0
  144. package/dist/src/unstable/agent-capabilities/lookup.js +9 -0
  145. package/dist/src/unstable/agent-capabilities/schema.d.ts +3788 -0
  146. package/dist/src/unstable/agent-capabilities/schema.js +1218 -0
  147. package/dist/src/unstable/agent-capabilities/verification.d.ts +25 -0
  148. package/dist/src/unstable/agent-capabilities/verification.js +40 -0
  149. package/dist/src/unstable/agents/registry.d.ts +33 -0
  150. package/dist/src/unstable/agents/registry.js +50 -0
  151. package/dist/src/unstable/agents/types.d.ts +126 -0
  152. package/dist/src/unstable/agents/types.js +17 -0
  153. package/dist/src/unstable/date-time.d.ts +17 -0
  154. package/dist/src/unstable/date-time.js +30 -0
  155. package/dist/src/unstable/discovery-walk.d.ts +8 -0
  156. package/dist/src/unstable/discovery-walk.js +15 -0
  157. package/dist/src/unstable/extension-types/index.d.ts +8 -0
  158. package/dist/src/unstable/extension-types/index.js +8 -0
  159. package/dist/src/unstable/extension-types/schema.d.ts +154 -0
  160. package/dist/src/unstable/extension-types/schema.js +102 -0
  161. package/dist/src/unstable/extension-types/standards.d.ts +29 -0
  162. package/dist/src/unstable/extension-types/standards.js +29 -0
  163. package/dist/src/unstable/extensions/common.d.ts +539 -0
  164. package/dist/src/unstable/extensions/common.js +605 -0
  165. package/dist/src/unstable/extensions/deprecation.d.ts +42 -0
  166. package/dist/src/unstable/extensions/deprecation.js +46 -0
  167. package/dist/src/unstable/extensions/fqn-pattern.d.ts +17 -0
  168. package/dist/src/unstable/extensions/fqn-pattern.js +63 -0
  169. package/dist/src/unstable/extensions/fqn.d.ts +51 -0
  170. package/dist/src/unstable/extensions/fqn.js +51 -0
  171. package/dist/src/unstable/extensions/handle.d.ts +16 -0
  172. package/dist/src/unstable/extensions/handle.js +30 -0
  173. package/dist/src/unstable/extensions/index.d.ts +13 -0
  174. package/dist/src/unstable/extensions/index.js +13 -0
  175. package/dist/src/unstable/extensions/installable-types.d.ts +12 -0
  176. package/dist/src/unstable/extensions/installable-types.js +21 -0
  177. package/dist/src/unstable/extensions/license.d.ts +16 -0
  178. package/dist/src/unstable/extensions/license.js +29 -0
  179. package/dist/src/unstable/extensions/manifest-metadata.d.ts +18 -0
  180. package/dist/src/unstable/extensions/manifest-metadata.js +61 -0
  181. package/dist/src/unstable/extensions/refs/extension-ref.d.ts +20 -0
  182. package/dist/src/unstable/extensions/refs/extension-ref.js +12 -0
  183. package/dist/src/unstable/extensions/refs/hook.d.ts +29 -0
  184. package/dist/src/unstable/extensions/refs/hook.js +8 -0
  185. package/dist/src/unstable/extensions/refs/knowledge.d.ts +15 -0
  186. package/dist/src/unstable/extensions/refs/knowledge.js +2 -0
  187. package/dist/src/unstable/extensions/refs/mcp-server.d.ts +19 -0
  188. package/dist/src/unstable/extensions/refs/mcp-server.js +8 -0
  189. package/dist/src/unstable/extensions/refs/pack.d.ts +17 -0
  190. package/dist/src/unstable/extensions/refs/pack.js +10 -0
  191. package/dist/src/unstable/extensions/refs/ref-base.d.ts +125 -0
  192. package/dist/src/unstable/extensions/refs/ref-base.js +12 -0
  193. package/dist/src/unstable/extensions/refs/rule.d.ts +27 -0
  194. package/dist/src/unstable/extensions/refs/rule.js +8 -0
  195. package/dist/src/unstable/extensions/refs/skill.d.ts +28 -0
  196. package/dist/src/unstable/extensions/refs/skill.js +11 -0
  197. package/dist/src/unstable/extensions/refs/subagent.d.ts +19 -0
  198. package/dist/src/unstable/extensions/refs/subagent.js +8 -0
  199. package/dist/src/unstable/extensions/registry-source.d.ts +37 -0
  200. package/dist/src/unstable/extensions/registry-source.js +158 -0
  201. package/dist/src/unstable/extensions/release-age.d.ts +36 -0
  202. package/dist/src/unstable/extensions/release-age.js +11 -0
  203. package/dist/src/unstable/extensions/universal-skills-dir.d.ts +58 -0
  204. package/dist/src/unstable/extensions/universal-skills-dir.js +68 -0
  205. package/dist/src/unstable/hooks/manifest-schema.d.ts +175 -0
  206. package/dist/src/unstable/hooks/manifest-schema.js +112 -0
  207. package/dist/src/unstable/knowledge/concept-ref.d.ts +34 -0
  208. package/dist/src/unstable/knowledge/concept-ref.js +114 -0
  209. package/dist/src/unstable/knowledge/index.d.ts +8 -0
  210. package/dist/src/unstable/knowledge/index.js +8 -0
  211. package/dist/src/unstable/knowledge/manifest-schema.d.ts +60 -0
  212. package/dist/src/unstable/knowledge/manifest-schema.js +34 -0
  213. package/dist/src/unstable/mcps/manifest-schema.d.ts +899 -0
  214. package/dist/src/unstable/mcps/manifest-schema.js +230 -0
  215. package/dist/src/unstable/package-urls/companion-package.d.ts +14 -0
  216. package/dist/src/unstable/package-urls/companion-package.js +44 -0
  217. package/dist/src/unstable/package-urls/index.d.ts +4 -0
  218. package/dist/src/unstable/package-urls/index.js +4 -0
  219. package/dist/src/unstable/package-urls/internal.d.ts +6 -0
  220. package/dist/src/unstable/package-urls/internal.js +17 -0
  221. package/dist/src/unstable/package-urls/package-identity-purl.d.ts +5 -0
  222. package/dist/src/unstable/package-urls/package-identity-purl.js +26 -0
  223. package/dist/src/unstable/package-urls/vers-range.d.ts +34 -0
  224. package/dist/src/unstable/package-urls/vers-range.js +163 -0
  225. package/dist/src/unstable/packaging/index.d.ts +8 -0
  226. package/dist/src/unstable/packaging/index.js +8 -0
  227. package/dist/src/unstable/packaging/package-type.d.ts +23 -0
  228. package/dist/src/unstable/packaging/package-type.js +31 -0
  229. package/dist/src/unstable/packaging/package-url.d.ts +50 -0
  230. package/dist/src/unstable/packaging/package-url.js +93 -0
  231. package/dist/src/unstable/packs/manifest-schema.d.ts +66 -0
  232. package/dist/src/unstable/packs/manifest-schema.js +34 -0
  233. package/dist/src/unstable/path-types.d.ts +22 -0
  234. package/dist/src/unstable/path-types.js +48 -0
  235. package/dist/src/unstable/rules/manifest-schema.d.ts +70 -0
  236. package/dist/src/unstable/rules/manifest-schema.js +43 -0
  237. package/dist/src/unstable/schema-issues.d.ts +13 -0
  238. package/dist/src/unstable/schema-issues.js +34 -0
  239. package/dist/src/unstable/skills/manifest-schema.d.ts +69 -0
  240. package/dist/src/unstable/skills/manifest-schema.js +31 -0
  241. package/dist/src/unstable/sources/forge-grammar.d.ts +22 -0
  242. package/dist/src/unstable/sources/forge-grammar.js +50 -0
  243. package/dist/src/unstable/sources/parser.d.ts +85 -0
  244. package/dist/src/unstable/sources/parser.js +122 -0
  245. package/dist/src/unstable/sources/printer.d.ts +14 -0
  246. package/dist/src/unstable/sources/printer.js +45 -0
  247. package/dist/src/unstable/sources/source-hash.d.ts +24 -0
  248. package/dist/src/unstable/sources/source-hash.js +22 -0
  249. package/dist/src/unstable/sources/source-host-provider.d.ts +112 -0
  250. package/dist/src/unstable/sources/source-host-provider.js +11 -0
  251. package/dist/src/unstable/sources/types.d.ts +262 -0
  252. package/dist/src/unstable/sources/types.js +127 -0
  253. package/dist/src/unstable/sources/workspace.d.ts +13 -0
  254. package/dist/src/unstable/sources/workspace.js +13 -0
  255. package/dist/src/unstable/subagents/manifest-schema.d.ts +81 -0
  256. package/dist/src/unstable/subagents/manifest-schema.js +43 -0
  257. package/dist/src/unstable/version-constraints/version-constraints.d.ts +71 -0
  258. package/dist/src/unstable/version-constraints/version-constraints.js +144 -0
  259. package/dist/src/unstable/workspace-files.d.ts +13 -0
  260. package/dist/src/unstable/workspace-files.js +13 -0
  261. package/dist/src/unstable/workspace-scope.d.ts +11 -0
  262. package/dist/src/unstable/workspace-scope.js +10 -0
  263. package/package.json +271 -0
@@ -0,0 +1,144 @@
1
+ import * as Schema from "effect/Schema";
2
+ import * as Option from "effect/Option";
3
+ import * as semver from "semver";
4
+ /**
5
+ * Canonical strict semver pattern from semver.org.
6
+ *
7
+ * Equivalent to `semver.valid(value) === value`: rejects leading `v`,
8
+ * whitespace, partial versions, and leading-zero numeric identifiers.
9
+ */
10
+ export const SEMVER_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
11
+ const SEMVER_RANGE_PATTERN = /^[~^<>=*xXvV0-9A-Za-z+| .-]+$/;
12
+ /**
13
+ * Schema for an exact semver version (no ranges).
14
+ */
15
+ export const VersionSchema = Schema.String.pipe(Schema.check(Schema.isPattern(SEMVER_PATTERN, {
16
+ message: "Expected a semver version (e.g., 1.0.0)",
17
+ })), Schema.annotate({
18
+ identifier: "Version",
19
+ title: "Version",
20
+ description: "A semver version like 1.0.0. Ranges are not allowed here.",
21
+ examples: ["1.0.0", "2.3.1", "0.1.0-beta.1"],
22
+ message: "Expected a semver version (e.g., 1.0.0)",
23
+ }), Schema.brand("Version"));
24
+ /**
25
+ * Schema for a semver version range, including exact versions and range expressions.
26
+ */
27
+ export const VersionRangeSchema = Schema.NonEmptyString.pipe(Schema.check(Schema.makeFilter((value) => {
28
+ const normalized = semver.validRange(value);
29
+ return normalized !== null ? undefined : `Expected a semver version range, got: ${value}`;
30
+ })), Schema.check(Schema.isPattern(SEMVER_RANGE_PATTERN, {
31
+ message: "Expected a semver version range (e.g., ^1.0.0)",
32
+ })), Schema.annotate({
33
+ identifier: "VersionRange",
34
+ title: "Version Range",
35
+ description: 'A semver version range like ^1.0.0, ~2.3.0, >=1.0.0 <3.0.0, or an exact version 1.2.3. Use "*" to always resolve to the latest available version.',
36
+ examples: ["^1.0.0", "~2.4", ">=1 <3", "1.2.3", "*"],
37
+ message: "Expected a semver version range (e.g., ^1.0.0)",
38
+ }), Schema.brand("VersionRange"));
39
+ /**
40
+ * Decode a value as an exact semver version.
41
+ */
42
+ export const decodeVersionSync = Schema.decodeUnknownSync(VersionSchema);
43
+ /**
44
+ * Decode a value as a semver version range.
45
+ */
46
+ export const decodeVersionRangeSync = Schema.decodeUnknownSync(VersionRangeSchema);
47
+ const parseSemverVersion = (version) => semver.parse(version);
48
+ /**
49
+ * Extract a version range suffix from a source string.
50
+ *
51
+ * Handles both namespaced (`@handle/name@^1.0.0`) and non-namespaced (`name@^1.0.0`) names.
52
+ * Returns `Option.none()` when no version suffix is present.
53
+ */
54
+ export const parseVersionRange = (sourceString) => {
55
+ const decodeRange = (value) => {
56
+ try {
57
+ return Option.some(decodeVersionRangeSync(value));
58
+ }
59
+ catch {
60
+ return Option.none();
61
+ }
62
+ };
63
+ // For namespaced packages (@handle/name@range), find the @ after the handle
64
+ if (sourceString.startsWith("@")) {
65
+ const slashIndex = sourceString.indexOf("/");
66
+ if (slashIndex === -1)
67
+ return Option.none();
68
+ const afterHandle = sourceString.indexOf("@", slashIndex + 1);
69
+ if (afterHandle === -1)
70
+ return Option.none();
71
+ return decodeRange(sourceString.slice(afterHandle + 1));
72
+ }
73
+ // For non-namespaced packages (name@range)
74
+ const atIndex = sourceString.indexOf("@");
75
+ if (atIndex === -1)
76
+ return Option.none();
77
+ return decodeRange(sourceString.slice(atIndex + 1));
78
+ };
79
+ /**
80
+ * Check whether a string is a valid semver version range.
81
+ */
82
+ export const isValidVersionRange = (range) => semver.validRange(range) !== null;
83
+ /** Return one range representing the complete intersection, or undefined when unsatisfiable. */
84
+ export const intersectVersionConstraints = (constraints) => {
85
+ let intersections = [""];
86
+ for (const constraint of constraints) {
87
+ const validRange = semver.validRange(constraint);
88
+ if (validRange === null)
89
+ return undefined;
90
+ const range = new semver.Range(validRange);
91
+ intersections = intersections.flatMap((current) => range.set.flatMap((comparators) => {
92
+ const candidate = [current, ...comparators.map((comparator) => comparator.value)]
93
+ .filter((part) => part.length > 0)
94
+ .join(" ");
95
+ return semver.minVersion(candidate) === null ? [] : [candidate];
96
+ }));
97
+ if (intersections.length === 0)
98
+ return undefined;
99
+ }
100
+ return intersections.join(" || ");
101
+ };
102
+ /**
103
+ * Check whether moving from `previousVersion` to `currentVersion` includes at
104
+ * least a minor version bump.
105
+ */
106
+ export const hasMinorOrMajorVersionBump = (previousVersion, currentVersion) => {
107
+ const previous = parseSemverVersion(previousVersion);
108
+ const current = parseSemverVersion(currentVersion);
109
+ if (previous === null || current === null) {
110
+ return false;
111
+ }
112
+ return current.major > previous.major || current.minor > previous.minor;
113
+ };
114
+ /**
115
+ * Check whether a version satisfies a semver version range.
116
+ */
117
+ export const versionSatisfiesRange = (version, range) => semver.satisfies(version, range);
118
+ /**
119
+ * Select the maximum version that satisfies the range, independent of input
120
+ * order.
121
+ *
122
+ * - `Option.none()` range or `"*"` matches any version.
123
+ * - Invalid ranges match nothing.
124
+ */
125
+ export const resolveVersionInRange = (versions, range) => {
126
+ const rangeStr = Option.getOrElse(range, () => "*");
127
+ // Wildcard means no range filtering
128
+ const isWildcard = rangeStr === "*";
129
+ // Validate the range early
130
+ if (!isWildcard && !isValidVersionRange(rangeStr)) {
131
+ return Option.none();
132
+ }
133
+ let selected;
134
+ for (const version of versions) {
135
+ if (!isWildcard && !semver.satisfies(version.version, rangeStr)) {
136
+ continue;
137
+ }
138
+ if (selected === undefined || semver.compareBuild(version.version, selected.version) > 0) {
139
+ selected = version;
140
+ }
141
+ }
142
+ return Option.fromUndefinedOr(selected);
143
+ };
144
+ //# sourceMappingURL=version-constraints.js.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Canonical filenames of the AXM workspace contract files.
3
+ *
4
+ * Both the AXM client and the AgentXM platform must agree on these names:
5
+ * published JSON Schemas, lint findings, and documentation all refer to them.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ /** The workspace settings file. */
10
+ export declare const SETTINGS_FILENAME = "axm.json";
11
+ /** The workspace lock file. */
12
+ export declare const LOCKFILE_NAME = "axm-lock.yaml";
13
+ //# sourceMappingURL=workspace-files.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Canonical filenames of the AXM workspace contract files.
3
+ *
4
+ * Both the AXM client and the AgentXM platform must agree on these names:
5
+ * published JSON Schemas, lint findings, and documentation all refer to them.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ /** The workspace settings file. */
10
+ export const SETTINGS_FILENAME = "axm.json";
11
+ /** The workspace lock file. */
12
+ export const LOCKFILE_NAME = "axm-lock.yaml";
13
+ //# sourceMappingURL=workspace-files.js.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WorkspaceMutations scope helpers for CLI flags and workspace options.
3
+ *
4
+ * `project` uses the project root; `user` uses `~/.axm/workspace/`.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ export declare const WORKSPACE_SCOPES: readonly ["project", "user"];
9
+ export type WorkspaceScope = (typeof WORKSPACE_SCOPES)[number];
10
+ export declare const DEFAULT_WORKSPACE_SCOPE: WorkspaceScope;
11
+ //# sourceMappingURL=workspace-scope.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WorkspaceMutations scope helpers for CLI flags and workspace options.
3
+ *
4
+ * `project` uses the project root; `user` uses `~/.axm/workspace/`.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ export const WORKSPACE_SCOPES = ["project", "user"];
9
+ export const DEFAULT_WORKSPACE_SCOPE = "project";
10
+ //# sourceMappingURL=workspace-scope.js.map
package/package.json ADDED
@@ -0,0 +1,271 @@
1
+ {
2
+ "name": "@agentxm/extension-model",
3
+ "version": "0.28.4-bootstrap.0",
4
+ "description": "Shared AgentXM extension model: identities, manifests, version constraints, and agent capabilities. Unstable and unsupported — use the axm.sh CLI.",
5
+ "type": "module",
6
+ "license": "FSL-1.1-MIT",
7
+ "homepage": "https://axm.sh",
8
+ "bugs": {
9
+ "url": "https://github.com/agentxm/axm/issues"
10
+ },
11
+ "author": "AgentXM <hello@agentxm.ai> (https://agentxm.ai)",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/agentxm/axm.git",
15
+ "directory": "packages/extension-model"
16
+ },
17
+ "sideEffects": false,
18
+ "exports": {
19
+ "./unstable/agent-capabilities": {
20
+ "types": "./dist/src/unstable/agent-capabilities/index.d.ts",
21
+ "default": "./dist/src/unstable/agent-capabilities/index.js"
22
+ },
23
+ "./unstable/agent-capabilities/catalog": {
24
+ "types": "./dist/src/unstable/agent-capabilities/catalog.d.ts",
25
+ "default": "./dist/src/unstable/agent-capabilities/catalog.js"
26
+ },
27
+ "./unstable/agent-capabilities/derive": {
28
+ "types": "./dist/src/unstable/agent-capabilities/derive.d.ts",
29
+ "default": "./dist/src/unstable/agent-capabilities/derive.js"
30
+ },
31
+ "./unstable/agents/registry": {
32
+ "types": "./dist/src/unstable/agents/registry.d.ts",
33
+ "default": "./dist/src/unstable/agents/registry.js"
34
+ },
35
+ "./unstable/agents/types": {
36
+ "types": "./dist/src/unstable/agents/types.d.ts",
37
+ "default": "./dist/src/unstable/agents/types.js"
38
+ },
39
+ "./unstable/date-time": {
40
+ "types": "./dist/src/unstable/date-time.d.ts",
41
+ "default": "./dist/src/unstable/date-time.js"
42
+ },
43
+ "./unstable/discovery-walk": {
44
+ "types": "./dist/src/unstable/discovery-walk.d.ts",
45
+ "default": "./dist/src/unstable/discovery-walk.js"
46
+ },
47
+ "./unstable/extension-types": {
48
+ "types": "./dist/src/unstable/extension-types/index.d.ts",
49
+ "default": "./dist/src/unstable/extension-types/index.js"
50
+ },
51
+ "./unstable/extension-types/schema": {
52
+ "types": "./dist/src/unstable/extension-types/schema.d.ts",
53
+ "default": "./dist/src/unstable/extension-types/schema.js"
54
+ },
55
+ "./unstable/extension-types/standards": {
56
+ "types": "./dist/src/unstable/extension-types/standards.d.ts",
57
+ "default": "./dist/src/unstable/extension-types/standards.js"
58
+ },
59
+ "./unstable/extensions": {
60
+ "types": "./dist/src/unstable/extensions/index.d.ts",
61
+ "default": "./dist/src/unstable/extensions/index.js"
62
+ },
63
+ "./unstable/extensions/common": {
64
+ "types": "./dist/src/unstable/extensions/common.d.ts",
65
+ "default": "./dist/src/unstable/extensions/common.js"
66
+ },
67
+ "./unstable/extensions/deprecation": {
68
+ "types": "./dist/src/unstable/extensions/deprecation.d.ts",
69
+ "default": "./dist/src/unstable/extensions/deprecation.js"
70
+ },
71
+ "./unstable/extensions/fqn": {
72
+ "types": "./dist/src/unstable/extensions/fqn.d.ts",
73
+ "default": "./dist/src/unstable/extensions/fqn.js"
74
+ },
75
+ "./unstable/extensions/fqn-pattern": {
76
+ "types": "./dist/src/unstable/extensions/fqn-pattern.d.ts",
77
+ "default": "./dist/src/unstable/extensions/fqn-pattern.js"
78
+ },
79
+ "./unstable/extensions/handle": {
80
+ "types": "./dist/src/unstable/extensions/handle.d.ts",
81
+ "default": "./dist/src/unstable/extensions/handle.js"
82
+ },
83
+ "./unstable/extensions/installable-types": {
84
+ "types": "./dist/src/unstable/extensions/installable-types.d.ts",
85
+ "default": "./dist/src/unstable/extensions/installable-types.js"
86
+ },
87
+ "./unstable/extensions/license": {
88
+ "types": "./dist/src/unstable/extensions/license.d.ts",
89
+ "default": "./dist/src/unstable/extensions/license.js"
90
+ },
91
+ "./unstable/extensions/manifest-metadata": {
92
+ "types": "./dist/src/unstable/extensions/manifest-metadata.d.ts",
93
+ "default": "./dist/src/unstable/extensions/manifest-metadata.js"
94
+ },
95
+ "./unstable/extensions/refs/extension-ref": {
96
+ "types": "./dist/src/unstable/extensions/refs/extension-ref.d.ts",
97
+ "default": "./dist/src/unstable/extensions/refs/extension-ref.js"
98
+ },
99
+ "./unstable/extensions/refs/hook": {
100
+ "types": "./dist/src/unstable/extensions/refs/hook.d.ts",
101
+ "default": "./dist/src/unstable/extensions/refs/hook.js"
102
+ },
103
+ "./unstable/extensions/refs/knowledge": {
104
+ "types": "./dist/src/unstable/extensions/refs/knowledge.d.ts",
105
+ "default": "./dist/src/unstable/extensions/refs/knowledge.js"
106
+ },
107
+ "./unstable/extensions/refs/mcp-server": {
108
+ "types": "./dist/src/unstable/extensions/refs/mcp-server.d.ts",
109
+ "default": "./dist/src/unstable/extensions/refs/mcp-server.js"
110
+ },
111
+ "./unstable/extensions/refs/pack": {
112
+ "types": "./dist/src/unstable/extensions/refs/pack.d.ts",
113
+ "default": "./dist/src/unstable/extensions/refs/pack.js"
114
+ },
115
+ "./unstable/extensions/refs/ref-base": {
116
+ "types": "./dist/src/unstable/extensions/refs/ref-base.d.ts",
117
+ "default": "./dist/src/unstable/extensions/refs/ref-base.js"
118
+ },
119
+ "./unstable/extensions/refs/rule": {
120
+ "types": "./dist/src/unstable/extensions/refs/rule.d.ts",
121
+ "default": "./dist/src/unstable/extensions/refs/rule.js"
122
+ },
123
+ "./unstable/extensions/refs/skill": {
124
+ "types": "./dist/src/unstable/extensions/refs/skill.d.ts",
125
+ "default": "./dist/src/unstable/extensions/refs/skill.js"
126
+ },
127
+ "./unstable/extensions/refs/subagent": {
128
+ "types": "./dist/src/unstable/extensions/refs/subagent.d.ts",
129
+ "default": "./dist/src/unstable/extensions/refs/subagent.js"
130
+ },
131
+ "./unstable/extensions/registry-source": {
132
+ "types": "./dist/src/unstable/extensions/registry-source.d.ts",
133
+ "default": "./dist/src/unstable/extensions/registry-source.js"
134
+ },
135
+ "./unstable/extensions/release-age": {
136
+ "types": "./dist/src/unstable/extensions/release-age.d.ts",
137
+ "default": "./dist/src/unstable/extensions/release-age.js"
138
+ },
139
+ "./unstable/extensions/universal-skills-dir": {
140
+ "types": "./dist/src/unstable/extensions/universal-skills-dir.d.ts",
141
+ "default": "./dist/src/unstable/extensions/universal-skills-dir.js"
142
+ },
143
+ "./unstable/hooks/manifest-schema": {
144
+ "types": "./dist/src/unstable/hooks/manifest-schema.d.ts",
145
+ "default": "./dist/src/unstable/hooks/manifest-schema.js"
146
+ },
147
+ "./unstable/knowledge": {
148
+ "types": "./dist/src/unstable/knowledge/index.d.ts",
149
+ "default": "./dist/src/unstable/knowledge/index.js"
150
+ },
151
+ "./unstable/knowledge/concept-ref": {
152
+ "types": "./dist/src/unstable/knowledge/concept-ref.d.ts",
153
+ "default": "./dist/src/unstable/knowledge/concept-ref.js"
154
+ },
155
+ "./unstable/knowledge/manifest-schema": {
156
+ "types": "./dist/src/unstable/knowledge/manifest-schema.d.ts",
157
+ "default": "./dist/src/unstable/knowledge/manifest-schema.js"
158
+ },
159
+ "./unstable/mcps/manifest-schema": {
160
+ "types": "./dist/src/unstable/mcps/manifest-schema.d.ts",
161
+ "default": "./dist/src/unstable/mcps/manifest-schema.js"
162
+ },
163
+ "./unstable/package-urls": {
164
+ "types": "./dist/src/unstable/package-urls/index.d.ts",
165
+ "default": "./dist/src/unstable/package-urls/index.js"
166
+ },
167
+ "./unstable/packaging": {
168
+ "types": "./dist/src/unstable/packaging/index.d.ts",
169
+ "default": "./dist/src/unstable/packaging/index.js"
170
+ },
171
+ "./unstable/packaging/package-type": {
172
+ "types": "./dist/src/unstable/packaging/package-type.d.ts",
173
+ "default": "./dist/src/unstable/packaging/package-type.js"
174
+ },
175
+ "./unstable/packaging/package-url": {
176
+ "types": "./dist/src/unstable/packaging/package-url.d.ts",
177
+ "default": "./dist/src/unstable/packaging/package-url.js"
178
+ },
179
+ "./unstable/packs/manifest-schema": {
180
+ "types": "./dist/src/unstable/packs/manifest-schema.d.ts",
181
+ "default": "./dist/src/unstable/packs/manifest-schema.js"
182
+ },
183
+ "./unstable/path-types": {
184
+ "types": "./dist/src/unstable/path-types.d.ts",
185
+ "default": "./dist/src/unstable/path-types.js"
186
+ },
187
+ "./unstable/rules/manifest-schema": {
188
+ "types": "./dist/src/unstable/rules/manifest-schema.d.ts",
189
+ "default": "./dist/src/unstable/rules/manifest-schema.js"
190
+ },
191
+ "./unstable/schema-issues": {
192
+ "types": "./dist/src/unstable/schema-issues.d.ts",
193
+ "default": "./dist/src/unstable/schema-issues.js"
194
+ },
195
+ "./unstable/skills/manifest-schema": {
196
+ "types": "./dist/src/unstable/skills/manifest-schema.d.ts",
197
+ "default": "./dist/src/unstable/skills/manifest-schema.js"
198
+ },
199
+ "./unstable/sources/forge-grammar": {
200
+ "types": "./dist/src/unstable/sources/forge-grammar.d.ts",
201
+ "default": "./dist/src/unstable/sources/forge-grammar.js"
202
+ },
203
+ "./unstable/sources/parser": {
204
+ "types": "./dist/src/unstable/sources/parser.d.ts",
205
+ "default": "./dist/src/unstable/sources/parser.js"
206
+ },
207
+ "./unstable/sources/printer": {
208
+ "types": "./dist/src/unstable/sources/printer.d.ts",
209
+ "default": "./dist/src/unstable/sources/printer.js"
210
+ },
211
+ "./unstable/sources/source-hash": {
212
+ "types": "./dist/src/unstable/sources/source-hash.d.ts",
213
+ "default": "./dist/src/unstable/sources/source-hash.js"
214
+ },
215
+ "./unstable/sources/source-host-provider": {
216
+ "types": "./dist/src/unstable/sources/source-host-provider.d.ts",
217
+ "default": "./dist/src/unstable/sources/source-host-provider.js"
218
+ },
219
+ "./unstable/sources/types": {
220
+ "types": "./dist/src/unstable/sources/types.d.ts",
221
+ "default": "./dist/src/unstable/sources/types.js"
222
+ },
223
+ "./unstable/sources/workspace": {
224
+ "types": "./dist/src/unstable/sources/workspace.d.ts",
225
+ "default": "./dist/src/unstable/sources/workspace.js"
226
+ },
227
+ "./unstable/subagents/manifest-schema": {
228
+ "types": "./dist/src/unstable/subagents/manifest-schema.d.ts",
229
+ "default": "./dist/src/unstable/subagents/manifest-schema.js"
230
+ },
231
+ "./unstable/version-constraints": {
232
+ "types": "./dist/src/unstable/version-constraints/version-constraints.d.ts",
233
+ "default": "./dist/src/unstable/version-constraints/version-constraints.js"
234
+ },
235
+ "./unstable/workspace-files": {
236
+ "types": "./dist/src/unstable/workspace-files.d.ts",
237
+ "default": "./dist/src/unstable/workspace-files.js"
238
+ },
239
+ "./unstable/workspace-scope": {
240
+ "types": "./dist/src/unstable/workspace-scope.d.ts",
241
+ "default": "./dist/src/unstable/workspace-scope.js"
242
+ }
243
+ },
244
+ "files": [
245
+ "dist/src/",
246
+ "!**/*.map"
247
+ ],
248
+ "publishConfig": {
249
+ "access": "public"
250
+ },
251
+ "engines": {
252
+ "node": ">=22.19.0"
253
+ },
254
+ "nx": {
255
+ "includedScripts": []
256
+ },
257
+ "dependencies": {
258
+ "effect": "4.0.0-rc.112",
259
+ "packageurl-js": "^2.0.1",
260
+ "semver": "^7.8.5",
261
+ "spdx-expression-parse": "4.0.0"
262
+ },
263
+ "devDependencies": {
264
+ "@effect/vitest": "4.0.0-rc.112",
265
+ "@types/semver": "^7.5.8",
266
+ "@types/spdx-expression-parse": "4.0.0",
267
+ "@typescript/native": "npm:typescript@^7.0.2",
268
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
269
+ "vitest": "^4.1.10"
270
+ }
271
+ }