@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,50 @@
1
+ /**
2
+ * Package URL (purl) schema for decomposing purl strings into typed parts.
3
+ *
4
+ * Follows the same String -> Parts pattern as RegistrySourcePatternSchema.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ import * as Schema from "effect/Schema";
9
+ /**
10
+ * Structured purl components schema covering the seven spec components:
11
+ * type, namespace, name, version, qualifiers, and subpath. The `pkg` scheme
12
+ * is implicit.
13
+ *
14
+ * @experimental This API is unstable and may change without notice.
15
+ */
16
+ export declare const PackageUrlPartsSchema: Schema.Struct<{
17
+ readonly type: Schema.brand<Schema.String, "PackageType">;
18
+ readonly namespace: Schema.optional<Schema.String>;
19
+ readonly name: Schema.String;
20
+ readonly version: Schema.optional<Schema.String>;
21
+ readonly qualifiers: Schema.optional<Schema.$Record<Schema.String, Schema.NonEmptyString>>;
22
+ readonly subpath: Schema.optional<Schema.NonEmptyString>;
23
+ }>;
24
+ /**
25
+ * Inferred type for decomposed purl parts.
26
+ *
27
+ * @experimental This API is unstable and may change without notice.
28
+ */
29
+ export type PackageUrlParts = Schema.Schema.Type<typeof PackageUrlPartsSchema>;
30
+ /**
31
+ * Format a PackageUrlParts as a human-readable display string: `name (type)`.
32
+ *
33
+ * @experimental This API is unstable and may change without notice.
34
+ */
35
+ export declare const formatPackageDisplay: (parts: PackageUrlParts) => string;
36
+ /**
37
+ * Schema that decodes purl strings into structured PackageUrlParts and
38
+ * encodes parts back to canonical purl strings.
39
+ *
40
+ * @experimental This API is unstable and may change without notice.
41
+ */
42
+ export declare const PackageUrlSchema: Schema.decodeTo<Schema.toType<Schema.Struct<{
43
+ readonly type: Schema.brand<Schema.String, "PackageType">;
44
+ readonly namespace: Schema.optional<Schema.String>;
45
+ readonly name: Schema.String;
46
+ readonly version: Schema.optional<Schema.String>;
47
+ readonly qualifiers: Schema.optional<Schema.$Record<Schema.String, Schema.NonEmptyString>>;
48
+ readonly subpath: Schema.optional<Schema.NonEmptyString>;
49
+ }>>, Schema.String, never, never>;
50
+ //# sourceMappingURL=package-url.d.ts.map
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Package URL (purl) schema for decomposing purl strings into typed parts.
3
+ *
4
+ * Follows the same String -> Parts pattern as RegistrySourcePatternSchema.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ import * as Effect from "effect/Effect";
9
+ import * as Schema from "effect/Schema";
10
+ import * as SchemaIssue from "effect/SchemaIssue";
11
+ import * as SchemaTransformation from "effect/SchemaTransformation";
12
+ import { PackageURL } from "packageurl-js";
13
+ import { PackageTypeSchema } from "./package-type.js";
14
+ /**
15
+ * Spec-conformant character set for a purl qualifier key: lowercase ASCII
16
+ * letters, digits, period, dash, and underscore; must start with a letter.
17
+ * The purl spec declares qualifier keys case-insensitive with a lowercase
18
+ * canonical form, so this schema accepts only the canonical form.
19
+ *
20
+ * @see https://github.com/package-url/purl-spec
21
+ */
22
+ const PURL_QUALIFIER_KEY_PATTERN = /^[a-z][a-z0-9._-]*$/;
23
+ const PurlQualifierKeySchema = Schema.String.pipe(Schema.check(Schema.isPattern(PURL_QUALIFIER_KEY_PATTERN, {
24
+ title: "Purl Qualifier Key",
25
+ description: "A purl qualifier key in canonical lowercase form. Allowed characters: ASCII letters, digits, '.', '-', '_'; must start with a letter.",
26
+ examples: ["repository_url", "classifier", "arch"],
27
+ message: "Expected a lowercase purl qualifier key like classifier or arch",
28
+ })));
29
+ /**
30
+ * Structured purl components schema covering the seven spec components:
31
+ * type, namespace, name, version, qualifiers, and subpath. The `pkg` scheme
32
+ * is implicit.
33
+ *
34
+ * @experimental This API is unstable and may change without notice.
35
+ */
36
+ export const PackageUrlPartsSchema = Schema.Struct({
37
+ type: PackageTypeSchema,
38
+ namespace: Schema.optional(Schema.String),
39
+ name: Schema.String,
40
+ version: Schema.optional(Schema.String),
41
+ qualifiers: Schema.optional(Schema.Record(PurlQualifierKeySchema, Schema.NonEmptyString)),
42
+ subpath: Schema.optional(Schema.NonEmptyString),
43
+ }).annotate({
44
+ identifier: "PackageUrlParts",
45
+ title: "Package URL Parts",
46
+ description: "Decomposed purl components: type, namespace, name, version, qualifiers, and subpath.",
47
+ });
48
+ /**
49
+ * Format a PackageUrlParts as a human-readable display string: `name (type)`.
50
+ *
51
+ * @experimental This API is unstable and may change without notice.
52
+ */
53
+ export const formatPackageDisplay = (parts) => `${parts.name} (${parts.type})`;
54
+ const decodePackageTypeSync = Schema.decodeUnknownSync(PackageTypeSchema);
55
+ /**
56
+ * Loose Package URL shape pattern: `pkg:<type>/<rest>`. The scheme is
57
+ * case-insensitive per the purl spec, so the prefix accepts both cases.
58
+ * The full purl structure is validated by `PackageURL.fromString` during
59
+ * decoding; this pattern exists to expose a useful shape hint in JSON Schema.
60
+ */
61
+ const PACKAGE_URL_PATTERN = /^[Pp][Kk][Gg]:[a-zA-Z][a-zA-Z0-9.+-]*\/.+$/;
62
+ /**
63
+ * Schema that decodes purl strings into structured PackageUrlParts and
64
+ * encodes parts back to canonical purl strings.
65
+ *
66
+ * @experimental This API is unstable and may change without notice.
67
+ */
68
+ export const PackageUrlSchema = Schema.String.pipe(Schema.check(Schema.isPattern(PACKAGE_URL_PATTERN, {
69
+ title: "Package URL",
70
+ description: "A Package URL (purl) string identifying a package across ecosystems (e.g. pkg:npm/react@18.2.0).",
71
+ examples: ["pkg:npm/react@18.2.0", "pkg:pypi/requests@2.31.0", "pkg:cargo/serde@1.0"],
72
+ message: "Expected a Package URL like pkg:npm/react@18.2.0",
73
+ })), Schema.decodeTo(Schema.toType(PackageUrlPartsSchema), SchemaTransformation.transformOrFail({
74
+ decode: (input) => {
75
+ try {
76
+ const parsed = PackageURL.fromString(input);
77
+ const parts = {
78
+ type: decodePackageTypeSync(parsed.type),
79
+ name: parsed.name,
80
+ ...(parsed.namespace != null ? { namespace: parsed.namespace } : {}),
81
+ ...(parsed.version != null ? { version: parsed.version } : {}),
82
+ ...(parsed.qualifiers != null ? { qualifiers: { ...parsed.qualifiers } } : {}),
83
+ ...(parsed.subpath != null ? { subpath: parsed.subpath } : {}),
84
+ };
85
+ return Effect.succeed(parts);
86
+ }
87
+ catch {
88
+ return Effect.fail(new SchemaIssue.Forbidden({ message: `Expected valid purl, got: ${input}` }, input));
89
+ }
90
+ },
91
+ encode: (value) => Effect.succeed(new PackageURL(value.type, value.namespace ?? null, value.name, value.version ?? null, value.qualifiers ?? null, value.subpath ?? null).toString()),
92
+ })), Schema.annotate({ identifier: "PackageUrl" }));
93
+ //# sourceMappingURL=package-url.js.map
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Pack manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ export declare const PACK_MANIFEST_FILENAME = "pack.json";
8
+ export declare const PACK_MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/pack.schema.json";
9
+ /**
10
+ * Schema for pack manifest files (pack.json).
11
+ *
12
+ * Packs bundle multiple extensions (skills, MCP servers, subagents, rules,
13
+ * hooks, and knowledge bundles) for convenient distribution and installation. Each extension entry
14
+ * maps a fully qualified name to a semver version range.
15
+ *
16
+ * @experimental This API is unstable and may change without notice.
17
+ */
18
+ export declare const PackManifestSchema: Schema.Struct<{
19
+ readonly type: Schema.Literal<"pack">;
20
+ readonly name: Schema.brand<Schema.NonEmptyString, "ExtensionName">;
21
+ readonly dependencies: Schema.$Record<Schema.String, Schema.brand<Schema.NonEmptyString, "VersionRange">>;
22
+ readonly publish: Schema.optional<Schema.Struct<{
23
+ readonly visibility: Schema.optional<Schema.Literals<readonly ["public", "private"]>>;
24
+ readonly ignore: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
25
+ }>>;
26
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
27
+ readonly owner: Schema.brand<Schema.String, "Handle">;
28
+ readonly version: Schema.brand<Schema.String, "Version">;
29
+ readonly description: Schema.optional<Schema.String>;
30
+ readonly keywords: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
31
+ readonly repository: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
32
+ readonly type: Schema.optional<Schema.NonEmptyString>;
33
+ readonly url: Schema.NonEmptyString;
34
+ readonly directory: Schema.optional<Schema.NonEmptyString>;
35
+ }>]>>;
36
+ readonly homepage: Schema.optional<Schema.String>;
37
+ readonly license: Schema.optional<Schema.String>;
38
+ readonly bugs: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
39
+ readonly url: Schema.optional<Schema.NonEmptyString>;
40
+ readonly email: Schema.optional<Schema.NonEmptyString>;
41
+ }>]>>;
42
+ readonly authors: Schema.optional<Schema.$Array<Schema.Struct<{
43
+ readonly name: Schema.String;
44
+ readonly email: Schema.optional<Schema.String>;
45
+ readonly url: Schema.optional<Schema.String>;
46
+ }>>>;
47
+ readonly packages: Schema.optional<Schema.$Array<Schema.Struct<{
48
+ readonly purl: Schema.brand<Schema.NonEmptyString, "PackageIdentityPurl">;
49
+ readonly versionRange: Schema.optional<Schema.brand<Schema.decodeTo<Schema.toType<Schema.Struct<{
50
+ readonly raw: Schema.NonEmptyString;
51
+ readonly scheme: Schema.NonEmptyString;
52
+ readonly constraints: Schema.$Array<Schema.Struct<{
53
+ readonly comparator: Schema.Literals<readonly ["=", "!=", "<", "<=", ">", ">="]>;
54
+ readonly version: Schema.NonEmptyString;
55
+ }>>;
56
+ }>>, Schema.NonEmptyString, never, never>, "VersRange">>;
57
+ }>>>;
58
+ readonly $schema: Schema.optional<Schema.String>;
59
+ }>;
60
+ /**
61
+ * Inferred type for PackManifest schema.
62
+ *
63
+ * @experimental This API is unstable and may change without notice.
64
+ */
65
+ export type PackManifest = Schema.Schema.Type<typeof PackManifestSchema>;
66
+ //# sourceMappingURL=manifest-schema.d.ts.map
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Pack manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ import { CommonManifestBaseFields, ExtensionNameSchema, NonPackExtensionDependencyConstraintMapSchema, } from "../extensions/common.js";
8
+ export const PACK_MANIFEST_FILENAME = "pack.json";
9
+ export const PACK_MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/pack.schema.json";
10
+ /**
11
+ * Schema for pack manifest files (pack.json).
12
+ *
13
+ * Packs bundle multiple extensions (skills, MCP servers, subagents, rules,
14
+ * hooks, and knowledge bundles) for convenient distribution and installation. Each extension entry
15
+ * maps a fully qualified name to a semver version range.
16
+ *
17
+ * @experimental This API is unstable and may change without notice.
18
+ */
19
+ export const PackManifestSchema = Schema.Struct({
20
+ $schema: Schema.optional(Schema.String),
21
+ ...CommonManifestBaseFields,
22
+ type: Schema.Literal("pack"),
23
+ name: ExtensionNameSchema.pipe(Schema.annotateKey({ messageMissingKey: "pack name is required" }), Schema.annotate({
24
+ description: "Short name for this pack within its owner namespace. Combined with owner, forms the FQN @owner/packs/<name>.",
25
+ })),
26
+ dependencies: NonPackExtensionDependencyConstraintMapSchema.pipe(Schema.annotateKey({ messageMissingKey: "pack dependencies are required" }), Schema.annotate({
27
+ description: "Install-time extension constraints. AXM resolves and installs a member version satisfying each range; `axm packs add` writes a `>=` lower bound rooted at the current resolved version, so members track their latest release without republishing the pack. Narrow a range by hand only to exclude a known-breaking member release, and note that a caret below 1.0 pins to the current patch or minor and goes stale on every later release. These constraints select installed extension versions, unlike companion-package recommendation ranges in `packages`, which are metadata only.",
28
+ })),
29
+ }).annotate({
30
+ identifier: "PackManifest",
31
+ title: "Pack Manifest",
32
+ description: "Extension manifest file for extension packs. Bundles a curated set of skills, MCP servers, subagents, rules, hooks, and knowledge bundles into a single installable unit.",
33
+ });
34
+ //# sourceMappingURL=manifest-schema.js.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Nominal path string types.
3
+ *
4
+ * Use these at module boundaries after a path has been normalized by the
5
+ * Effect `Path` service. Keep raw strings at external input boundaries.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as Option from "effect/Option";
10
+ import type * as Path from "effect/Path";
11
+ import * as Schema from "effect/Schema";
12
+ export declare const AbsolutePathSchema: Schema.brand<Schema.String, "AbsolutePath">;
13
+ export type AbsolutePath = Schema.Schema.Type<typeof AbsolutePathSchema>;
14
+ export declare const RelativePathSchema: Schema.brand<Schema.String, "RelativePath">;
15
+ export type RelativePath = Schema.Schema.Type<typeof RelativePathSchema>;
16
+ export declare const decodeAbsolutePathSync: (value: string) => AbsolutePath;
17
+ export declare const decodeRelativePathSync: (value: string) => RelativePath;
18
+ export declare const makeAbsolutePath: (path: Path.Path, value: string) => AbsolutePath;
19
+ export declare const makeRelativePath: (path: Path.Path, value: string) => Option.Option<RelativePath>;
20
+ export declare const makeWorkspaceRelativePath: (path: Path.Path, workspaceRoot: AbsolutePath | string, target: string) => Option.Option<RelativePath>;
21
+ export declare const makeWorkspaceRelativeSourcePath: (path: Path.Path, workspaceRoot: AbsolutePath | string, target: string) => Option.Option<string>;
22
+ //# sourceMappingURL=path-types.d.ts.map
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Nominal path string types.
3
+ *
4
+ * Use these at module boundaries after a path has been normalized by the
5
+ * Effect `Path` service. Keep raw strings at external input boundaries.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as Option from "effect/Option";
10
+ import * as Schema from "effect/Schema";
11
+ const looksAbsolutePath = (value) => value.startsWith("/") || /^[A-Za-z]:[\\/]/.test(value) || value.startsWith("\\\\");
12
+ const looksEscapingRelativePath = (value) => value === "" || value === ".." || value.startsWith("../") || value.startsWith("..\\");
13
+ export const AbsolutePathSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => looksAbsolutePath(value) ? undefined : "Expected an absolute path")), Schema.brand("AbsolutePath"));
14
+ export const RelativePathSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => looksAbsolutePath(value) || looksEscapingRelativePath(value)
15
+ ? "Expected a relative path that stays within its root"
16
+ : undefined)), Schema.brand("RelativePath"));
17
+ const decodeAbsolutePath = Schema.decodeUnknownSync(AbsolutePathSchema);
18
+ const decodeRelativePath = Schema.decodeUnknownSync(RelativePathSchema);
19
+ export const decodeAbsolutePathSync = (value) => decodeAbsolutePath(value);
20
+ export const decodeRelativePathSync = (value) => decodeRelativePath(value);
21
+ export const makeAbsolutePath = (path, value) => decodeAbsolutePath(path.resolve(value));
22
+ export const makeRelativePath = (path, value) => {
23
+ if (path.isAbsolute(value))
24
+ return Option.none();
25
+ const normalized = path.normalize(value);
26
+ if (looksEscapingRelativePath(normalized))
27
+ return Option.none();
28
+ return Option.some(decodeRelativePath(normalized));
29
+ };
30
+ export const makeWorkspaceRelativePath = (path, workspaceRoot, target) => {
31
+ const root = path.resolve(workspaceRoot);
32
+ const resolvedTarget = path.isAbsolute(target)
33
+ ? path.resolve(target)
34
+ : path.resolve(root, target);
35
+ const relative = path.relative(root, resolvedTarget);
36
+ return makeRelativePath(path, relative);
37
+ };
38
+ export const makeWorkspaceRelativeSourcePath = (path, workspaceRoot, target) => {
39
+ const root = path.resolve(workspaceRoot);
40
+ const resolvedTarget = path.isAbsolute(target)
41
+ ? path.resolve(target)
42
+ : path.resolve(root, target);
43
+ const relative = path.relative(root, resolvedTarget);
44
+ if (path.isAbsolute(relative))
45
+ return Option.none();
46
+ return Option.some(path.normalize(relative.length === 0 ? "." : relative));
47
+ };
48
+ //# sourceMappingURL=path-types.js.map
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Rule manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ export declare const RULE_MANIFEST_FILENAME = "rule.json";
8
+ export declare const RULE_EXTENSION_DIR = "rules";
9
+ export declare const RULE_MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/rule.schema.json";
10
+ export declare const RULE_BODY_FILENAME = "RULE.md";
11
+ /**
12
+ * Schema for rule manifest files (rule.json).
13
+ *
14
+ * Rules distribute behavior guidance. Placement is workspace-owned; v1 injects
15
+ * enabled rule bodies into the canonical instruction source file.
16
+ *
17
+ * @experimental This API is unstable and may change without notice.
18
+ */
19
+ export declare const RuleManifestSchema: Schema.Struct<{
20
+ readonly type: Schema.Literal<"rule">;
21
+ readonly name: Schema.brand<Schema.NonEmptyString, "ExtensionName">;
22
+ readonly title: Schema.optional<Schema.NonEmptyString>;
23
+ readonly priority: Schema.optional<Schema.Int>;
24
+ readonly appliesTo: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
25
+ readonly enhances: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
26
+ readonly requires: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
27
+ readonly fallback: Schema.optional<Schema.Literals<readonly ["auto", "none"]>>;
28
+ readonly recommendedPacks: Schema.optional<Schema.$Array<Schema.brand<Schema.NonEmptyString, "PackSpec">>>;
29
+ readonly standalone: Schema.optional<Schema.Boolean>;
30
+ readonly publish: Schema.optional<Schema.Struct<{
31
+ readonly visibility: Schema.optional<Schema.Literals<readonly ["public", "private"]>>;
32
+ readonly ignore: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
33
+ }>>;
34
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
35
+ readonly owner: Schema.brand<Schema.String, "Handle">;
36
+ readonly version: Schema.brand<Schema.String, "Version">;
37
+ readonly description: Schema.optional<Schema.String>;
38
+ readonly keywords: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
39
+ readonly repository: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
40
+ readonly type: Schema.optional<Schema.NonEmptyString>;
41
+ readonly url: Schema.NonEmptyString;
42
+ readonly directory: Schema.optional<Schema.NonEmptyString>;
43
+ }>]>>;
44
+ readonly homepage: Schema.optional<Schema.String>;
45
+ readonly license: Schema.optional<Schema.String>;
46
+ readonly bugs: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
47
+ readonly url: Schema.optional<Schema.NonEmptyString>;
48
+ readonly email: Schema.optional<Schema.NonEmptyString>;
49
+ }>]>>;
50
+ readonly authors: Schema.optional<Schema.$Array<Schema.Struct<{
51
+ readonly name: Schema.String;
52
+ readonly email: Schema.optional<Schema.String>;
53
+ readonly url: Schema.optional<Schema.String>;
54
+ }>>>;
55
+ readonly packages: Schema.optional<Schema.$Array<Schema.Struct<{
56
+ readonly purl: Schema.brand<Schema.NonEmptyString, "PackageIdentityPurl">;
57
+ readonly versionRange: Schema.optional<Schema.brand<Schema.decodeTo<Schema.toType<Schema.Struct<{
58
+ readonly raw: Schema.NonEmptyString;
59
+ readonly scheme: Schema.NonEmptyString;
60
+ readonly constraints: Schema.$Array<Schema.Struct<{
61
+ readonly comparator: Schema.Literals<readonly ["=", "!=", "<", "<=", ">", ">="]>;
62
+ readonly version: Schema.NonEmptyString;
63
+ }>>;
64
+ }>>, Schema.NonEmptyString, never, never>, "VersRange">>;
65
+ }>>>;
66
+ readonly $schema: Schema.optional<Schema.String>;
67
+ }>;
68
+ /** @experimental */
69
+ export type RuleManifest = Schema.Schema.Type<typeof RuleManifestSchema>;
70
+ //# sourceMappingURL=manifest-schema.d.ts.map
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Rule manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ import { CommonManifestBaseFields, ExtensionNameSchema, NonPackManifestFields, } from "../extensions/common.js";
8
+ export const RULE_MANIFEST_FILENAME = "rule.json";
9
+ export const RULE_EXTENSION_DIR = "rules";
10
+ export const RULE_MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/rule.schema.json";
11
+ export const RULE_BODY_FILENAME = "RULE.md";
12
+ /**
13
+ * Schema for rule manifest files (rule.json).
14
+ *
15
+ * Rules distribute behavior guidance. Placement is workspace-owned; v1 injects
16
+ * enabled rule bodies into the canonical instruction source file.
17
+ *
18
+ * @experimental This API is unstable and may change without notice.
19
+ */
20
+ export const RuleManifestSchema = Schema.Struct({
21
+ $schema: Schema.optional(Schema.String),
22
+ ...CommonManifestBaseFields,
23
+ ...NonPackManifestFields,
24
+ type: Schema.Literal("rule"),
25
+ name: ExtensionNameSchema.pipe(Schema.annotateKey({ messageMissingKey: "rule name is required" }), Schema.annotate({
26
+ description: "Short name for this rule within its owner namespace. Combined with owner, forms the FQN @owner/rules/<name>.",
27
+ })),
28
+ title: Schema.optional(Schema.NonEmptyString.annotate({
29
+ description: "Optional display title for this rule.",
30
+ })),
31
+ priority: Schema.optional(Schema.Int.annotate({
32
+ description: "Ordering priority for instruction injection. Lower values render earlier.",
33
+ default: 100,
34
+ })),
35
+ appliesTo: Schema.optional(Schema.Array(Schema.NonEmptyString).annotate({
36
+ description: "Advisory path globs for future scoped placement. v1 inject placement does not enforce globs.",
37
+ })),
38
+ }).annotate({
39
+ identifier: "RuleManifest",
40
+ title: "Rule Manifest",
41
+ description: "Rule manifest for behavior-guidance extensions. The rule body lives at src/RULE.md.",
42
+ });
43
+ //# sourceMappingURL=manifest-schema.js.map
@@ -0,0 +1,13 @@
1
+ import * as SchemaIssue from "effect/SchemaIssue";
2
+ /**
3
+ * Format a schema validation issue into human-readable lines with dot-notation
4
+ * paths.
5
+ *
6
+ * Each line has the form `"path.to.field: message"` for issues with a path, or
7
+ * just `"message"` for root-level issues. The result is capped at `maxIssues`
8
+ * lines (default 5).
9
+ *
10
+ * @experimental This API is unstable and may change without notice.
11
+ */
12
+ export declare const formatSchemaIssuesToLines: (issue: SchemaIssue.Issue, maxIssues?: number) => ReadonlyArray<string>;
13
+ //# sourceMappingURL=schema-issues.d.ts.map
@@ -0,0 +1,34 @@
1
+ import * as SchemaIssue from "effect/SchemaIssue";
2
+ const DEFAULT_MAX_ISSUES = 5;
3
+ /**
4
+ * Format a schema validation issue into human-readable lines with dot-notation
5
+ * paths.
6
+ *
7
+ * Each line has the form `"path.to.field: message"` for issues with a path, or
8
+ * just `"message"` for root-level issues. The result is capped at `maxIssues`
9
+ * lines (default 5).
10
+ *
11
+ * @experimental This API is unstable and may change without notice.
12
+ */
13
+ export const formatSchemaIssuesToLines = (issue, maxIssues = DEFAULT_MAX_ISSUES) => {
14
+ const formatter = SchemaIssue.makeFormatterStandardSchemaV1();
15
+ const { issues } = formatter(issue);
16
+ const lines = [];
17
+ for (const item of issues) {
18
+ const path = item.path;
19
+ if (path !== undefined && path.length > 0) {
20
+ const segments = path.map((segment) => {
21
+ if (typeof segment === "object" && segment !== null && "key" in segment) {
22
+ return String(segment.key);
23
+ }
24
+ return String(segment);
25
+ });
26
+ lines.push(`${segments.join(".")}: ${item.message}`);
27
+ }
28
+ else {
29
+ lines.push(item.message);
30
+ }
31
+ }
32
+ return lines.slice(0, maxIssues);
33
+ };
34
+ //# sourceMappingURL=schema-issues.js.map
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Skill manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ export declare const MANIFEST_FILENAME = "skill.json";
8
+ export declare const MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/skill.schema.json";
9
+ /**
10
+ * Schema for skill manifest files (skill.json).
11
+ *
12
+ * Skills extend coding agent capabilities with reusable prompts
13
+ * and context that can be invoked on demand.
14
+ *
15
+ * @experimental This API is unstable and may change without notice.
16
+ */
17
+ export declare const SkillManifestSchema: Schema.Struct<{
18
+ readonly type: Schema.Literal<"skill">;
19
+ readonly name: Schema.brand<Schema.NonEmptyString, "ExtensionName">;
20
+ readonly enhances: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
21
+ readonly requires: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
22
+ readonly fallback: Schema.optional<Schema.Literals<readonly ["auto", "none"]>>;
23
+ readonly recommendedPacks: Schema.optional<Schema.$Array<Schema.brand<Schema.NonEmptyString, "PackSpec">>>;
24
+ readonly standalone: Schema.optional<Schema.Boolean>;
25
+ readonly publish: Schema.optional<Schema.Struct<{
26
+ readonly visibility: Schema.optional<Schema.Literals<readonly ["public", "private"]>>;
27
+ readonly ignore: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
28
+ }>>;
29
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
30
+ readonly owner: Schema.brand<Schema.String, "Handle">;
31
+ readonly version: Schema.brand<Schema.String, "Version">;
32
+ readonly description: Schema.optional<Schema.String>;
33
+ readonly keywords: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
34
+ readonly repository: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
35
+ readonly type: Schema.optional<Schema.NonEmptyString>;
36
+ readonly url: Schema.NonEmptyString;
37
+ readonly directory: Schema.optional<Schema.NonEmptyString>;
38
+ }>]>>;
39
+ readonly homepage: Schema.optional<Schema.String>;
40
+ readonly license: Schema.optional<Schema.String>;
41
+ readonly bugs: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
42
+ readonly url: Schema.optional<Schema.NonEmptyString>;
43
+ readonly email: Schema.optional<Schema.NonEmptyString>;
44
+ }>]>>;
45
+ readonly authors: Schema.optional<Schema.$Array<Schema.Struct<{
46
+ readonly name: Schema.String;
47
+ readonly email: Schema.optional<Schema.String>;
48
+ readonly url: Schema.optional<Schema.String>;
49
+ }>>>;
50
+ readonly packages: Schema.optional<Schema.$Array<Schema.Struct<{
51
+ readonly purl: Schema.brand<Schema.NonEmptyString, "PackageIdentityPurl">;
52
+ readonly versionRange: Schema.optional<Schema.brand<Schema.decodeTo<Schema.toType<Schema.Struct<{
53
+ readonly raw: Schema.NonEmptyString;
54
+ readonly scheme: Schema.NonEmptyString;
55
+ readonly constraints: Schema.$Array<Schema.Struct<{
56
+ readonly comparator: Schema.Literals<readonly ["=", "!=", "<", "<=", ">", ">="]>;
57
+ readonly version: Schema.NonEmptyString;
58
+ }>>;
59
+ }>>, Schema.NonEmptyString, never, never>, "VersRange">>;
60
+ }>>>;
61
+ readonly $schema: Schema.optional<Schema.String>;
62
+ }>;
63
+ /**
64
+ * Inferred type for SkillManifest schema.
65
+ *
66
+ * @experimental This API is unstable and may change without notice.
67
+ */
68
+ export type SkillManifest = Schema.Schema.Type<typeof SkillManifestSchema>;
69
+ //# sourceMappingURL=manifest-schema.d.ts.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Skill manifest schema definition.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ import { CommonManifestBaseFields, ExtensionNameSchema, NonPackManifestFields, } from "../extensions/common.js";
8
+ export const MANIFEST_FILENAME = "skill.json";
9
+ export const MANIFEST_SCHEMA_URL = "https://axm.sh/schemas/skill.schema.json";
10
+ /**
11
+ * Schema for skill manifest files (skill.json).
12
+ *
13
+ * Skills extend coding agent capabilities with reusable prompts
14
+ * and context that can be invoked on demand.
15
+ *
16
+ * @experimental This API is unstable and may change without notice.
17
+ */
18
+ export const SkillManifestSchema = Schema.Struct({
19
+ $schema: Schema.optional(Schema.String),
20
+ ...CommonManifestBaseFields,
21
+ ...NonPackManifestFields,
22
+ type: Schema.Literal("skill"),
23
+ name: ExtensionNameSchema.pipe(Schema.annotateKey({ messageMissingKey: "skill name is required" }), Schema.annotate({
24
+ description: "Short name for this skill within its owner namespace. Combined with owner, forms the FQN @owner/skills/<name>.",
25
+ })),
26
+ }).annotate({
27
+ identifier: "SkillManifest",
28
+ title: "Skill Manifest",
29
+ description: "Extension manifest file for skill. Carries the registry-facing identity, version, and metadata.",
30
+ });
31
+ //# sourceMappingURL=manifest-schema.js.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Pure per-forge source shorthand printing grammar.
3
+ *
4
+ * Each printer formats source params as the forge's canonical shorthand
5
+ * string. Probing and acquisition stay with the source-resolution providers;
6
+ * only the string grammar lives here.
7
+ *
8
+ * @experimental This API is unstable and may change without notice.
9
+ * @packageDocumentation
10
+ */
11
+ import type { AzureReposSourceParams, BitbucketSourceParams, GitHubSourceParams, GitLabSourceParams, LocalSourceParams } from "./types.js";
12
+ /** @experimental */
13
+ export declare const printGitHubSource: (source: GitHubSourceParams, sourceName?: string) => string;
14
+ /** @experimental */
15
+ export declare const printGitLabSource: (source: GitLabSourceParams, sourceName?: string) => string;
16
+ /** @experimental */
17
+ export declare const printBitbucketSource: (source: BitbucketSourceParams, sourceName?: string) => string;
18
+ /** @experimental */
19
+ export declare const printAzureReposSource: (source: AzureReposSourceParams, sourceName?: string) => string;
20
+ /** @experimental */
21
+ export declare const printLocalSource: (source: LocalSourceParams) => string;
22
+ //# sourceMappingURL=forge-grammar.d.ts.map