@agentxm/client-core 0.19.2 → 0.20.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 (342) hide show
  1. package/dist/src/unstable/agent-capabilities/derive.d.ts +9 -9
  2. package/dist/src/unstable/app-error/builders.js +2 -2
  3. package/dist/src/unstable/app-error/builders.js.map +1 -1
  4. package/dist/src/unstable/commands/index.d.ts +1 -1
  5. package/dist/src/unstable/commands/index.d.ts.map +1 -1
  6. package/dist/src/unstable/commands/index.js.map +1 -1
  7. package/dist/src/unstable/commands/install-artifact.d.ts.map +1 -1
  8. package/dist/src/unstable/commands/install-artifact.js +6 -2
  9. package/dist/src/unstable/commands/install-artifact.js.map +1 -1
  10. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  11. package/dist/src/unstable/commands/manager.js +33 -5
  12. package/dist/src/unstable/commands/manager.js.map +1 -1
  13. package/dist/src/unstable/commands/operations/disable.js +1 -1
  14. package/dist/src/unstable/commands/operations/disable.js.map +1 -1
  15. package/dist/src/unstable/commands/operations/enable.js +1 -1
  16. package/dist/src/unstable/commands/operations/enable.js.map +1 -1
  17. package/dist/src/unstable/commands/operations/install.d.ts.map +1 -1
  18. package/dist/src/unstable/commands/operations/install.js +27 -1
  19. package/dist/src/unstable/commands/operations/install.js.map +1 -1
  20. package/dist/src/unstable/commands/operations/publish.d.ts +2 -2
  21. package/dist/src/unstable/commands/operations/publish.js +3 -3
  22. package/dist/src/unstable/commands/operations/publish.js.map +1 -1
  23. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +16 -15
  24. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts.map +1 -1
  25. package/dist/src/unstable/commands/reconciliation-adapter.d.ts.map +1 -1
  26. package/dist/src/unstable/commands/reconciliation-adapter.js +3 -1
  27. package/dist/src/unstable/commands/reconciliation-adapter.js.map +1 -1
  28. package/dist/src/unstable/commands/refs.d.ts +5 -3
  29. package/dist/src/unstable/commands/refs.d.ts.map +1 -1
  30. package/dist/src/unstable/extensions/canonical-path.d.ts +1 -1
  31. package/dist/src/unstable/extensions/canonical-path.d.ts.map +1 -1
  32. package/dist/src/unstable/extensions/canonical-path.js +1 -1
  33. package/dist/src/unstable/extensions/canonical-path.js.map +1 -1
  34. package/dist/src/unstable/extensions/common.d.ts.map +1 -1
  35. package/dist/src/unstable/extensions/common.js +4 -2
  36. package/dist/src/unstable/extensions/common.js.map +1 -1
  37. package/dist/src/unstable/extensions/extension-paths.d.ts +1 -1
  38. package/dist/src/unstable/extensions/extension-paths.d.ts.map +1 -1
  39. package/dist/src/unstable/extensions/extension-paths.js +1 -1
  40. package/dist/src/unstable/extensions/extension-paths.js.map +1 -1
  41. package/dist/src/unstable/extensions/index.d.ts +1 -1
  42. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  43. package/dist/src/unstable/extensions/index.js.map +1 -1
  44. package/dist/src/unstable/extensions/marker-fqn.d.ts +1 -1
  45. package/dist/src/unstable/extensions/marker-fqn.d.ts.map +1 -1
  46. package/dist/src/unstable/extensions/marker-fqn.js +1 -1
  47. package/dist/src/unstable/extensions/marker-fqn.js.map +1 -1
  48. package/dist/src/unstable/extensions/materializable-from-disk.d.ts +4 -2
  49. package/dist/src/unstable/extensions/materializable-from-disk.d.ts.map +1 -1
  50. package/dist/src/unstable/extensions/materializable-from-disk.js +33 -0
  51. package/dist/src/unstable/extensions/materializable-from-disk.js.map +1 -1
  52. package/dist/src/unstable/extensions/operations.d.ts +8 -5
  53. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  54. package/dist/src/unstable/extensions/operations.js +53 -6
  55. package/dist/src/unstable/extensions/operations.js.map +1 -1
  56. package/dist/src/unstable/extensions/ref-base.d.ts +17 -0
  57. package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
  58. package/dist/src/unstable/files/index.d.ts +1 -1
  59. package/dist/src/unstable/files/index.d.ts.map +1 -1
  60. package/dist/src/unstable/files/index.js.map +1 -1
  61. package/dist/src/unstable/files/manager.d.ts.map +1 -1
  62. package/dist/src/unstable/files/manager.js +38 -5
  63. package/dist/src/unstable/files/manager.js.map +1 -1
  64. package/dist/src/unstable/files/refs.d.ts +5 -3
  65. package/dist/src/unstable/files/refs.d.ts.map +1 -1
  66. package/dist/src/unstable/hooks/index.d.ts +1 -1
  67. package/dist/src/unstable/hooks/index.d.ts.map +1 -1
  68. package/dist/src/unstable/hooks/index.js.map +1 -1
  69. package/dist/src/unstable/hooks/manager.d.ts.map +1 -1
  70. package/dist/src/unstable/hooks/manager.js +32 -8
  71. package/dist/src/unstable/hooks/manager.js.map +1 -1
  72. package/dist/src/unstable/hooks/refs.d.ts +6 -4
  73. package/dist/src/unstable/hooks/refs.d.ts.map +1 -1
  74. package/dist/src/unstable/install-meta/install-meta.d.ts +4 -4
  75. package/dist/src/unstable/install-meta/install-meta.d.ts.map +1 -1
  76. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.d.ts.map +1 -1
  77. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js +8 -3
  78. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js.map +1 -1
  79. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts +1 -1
  80. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.d.ts.map +1 -1
  81. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js +14 -0
  82. package/dist/src/unstable/lint/catalog/workspace/helpers/source-categorize.js.map +1 -1
  83. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.d.ts.map +1 -1
  84. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js +12 -1
  85. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js.map +1 -1
  86. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts.map +1 -1
  87. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js +4 -2
  88. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js.map +1 -1
  89. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js +1 -1
  90. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js.map +1 -1
  91. package/dist/src/unstable/lint/cli.d.ts +1 -1
  92. package/dist/src/unstable/lint/cli.js +3 -3
  93. package/dist/src/unstable/lint/cli.js.map +1 -1
  94. package/dist/src/unstable/lockfile/index.d.ts +2 -2
  95. package/dist/src/unstable/lockfile/index.d.ts.map +1 -1
  96. package/dist/src/unstable/lockfile/index.js +1 -1
  97. package/dist/src/unstable/lockfile/index.js.map +1 -1
  98. package/dist/src/unstable/lockfile/lockfile.d.ts +1080 -813
  99. package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
  100. package/dist/src/unstable/lockfile/schema.d.ts +443 -32
  101. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  102. package/dist/src/unstable/lockfile/schema.js +58 -9
  103. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  104. package/dist/src/unstable/mcps/index.d.ts +1 -1
  105. package/dist/src/unstable/mcps/index.d.ts.map +1 -1
  106. package/dist/src/unstable/mcps/index.js.map +1 -1
  107. package/dist/src/unstable/mcps/manager.d.ts.map +1 -1
  108. package/dist/src/unstable/mcps/manager.js +8 -2
  109. package/dist/src/unstable/mcps/manager.js.map +1 -1
  110. package/dist/src/unstable/mcps/metadata.d.ts +2 -2
  111. package/dist/src/unstable/mcps/metadata.d.ts.map +1 -1
  112. package/dist/src/unstable/mcps/metadata.js +4 -0
  113. package/dist/src/unstable/mcps/metadata.js.map +1 -1
  114. package/dist/src/unstable/mcps/operations/install.d.ts.map +1 -1
  115. package/dist/src/unstable/mcps/operations/install.js +40 -3
  116. package/dist/src/unstable/mcps/operations/install.js.map +1 -1
  117. package/dist/src/unstable/mcps/operations/publish.d.ts +2 -2
  118. package/dist/src/unstable/mcps/operations/publish.js +3 -3
  119. package/dist/src/unstable/mcps/operations/publish.js.map +1 -1
  120. package/dist/src/unstable/mcps/reconciliation-adapter.d.ts.map +1 -1
  121. package/dist/src/unstable/mcps/reconciliation-adapter.js +3 -1
  122. package/dist/src/unstable/mcps/reconciliation-adapter.js.map +1 -1
  123. package/dist/src/unstable/mcps/refs.d.ts +5 -3
  124. package/dist/src/unstable/mcps/refs.d.ts.map +1 -1
  125. package/dist/src/unstable/packaging/reader-io.d.ts +2 -2
  126. package/dist/src/unstable/packs/index.d.ts +1 -1
  127. package/dist/src/unstable/packs/index.d.ts.map +1 -1
  128. package/dist/src/unstable/packs/manager.d.ts +13 -2
  129. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  130. package/dist/src/unstable/packs/manager.js +153 -7
  131. package/dist/src/unstable/packs/manager.js.map +1 -1
  132. package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
  133. package/dist/src/unstable/packs/operations/install.js +1 -0
  134. package/dist/src/unstable/packs/operations/install.js.map +1 -1
  135. package/dist/src/unstable/packs/operations/publish.d.ts +2 -2
  136. package/dist/src/unstable/packs/operations/publish.js +3 -3
  137. package/dist/src/unstable/packs/operations/publish.js.map +1 -1
  138. package/dist/src/unstable/packs/operations/uninstall.js +1 -1
  139. package/dist/src/unstable/packs/operations/uninstall.js.map +1 -1
  140. package/dist/src/unstable/packs/reconciliation-adapter.d.ts.map +1 -1
  141. package/dist/src/unstable/packs/reconciliation-adapter.js +3 -1
  142. package/dist/src/unstable/packs/reconciliation-adapter.js.map +1 -1
  143. package/dist/src/unstable/packs/refs.d.ts +5 -3
  144. package/dist/src/unstable/packs/refs.d.ts.map +1 -1
  145. package/dist/src/unstable/plan/index.d.ts +1 -2
  146. package/dist/src/unstable/plan/index.d.ts.map +1 -1
  147. package/dist/src/unstable/plan/index.js +1 -2
  148. package/dist/src/unstable/plan/index.js.map +1 -1
  149. package/dist/src/unstable/plan/plan.d.ts +2 -2
  150. package/dist/src/unstable/plan/plan.d.ts.map +1 -1
  151. package/dist/src/unstable/plan/resolve-plan.d.ts +1 -1
  152. package/dist/src/unstable/plan/resolve-plan.d.ts.map +1 -1
  153. package/dist/src/unstable/publish/index.d.ts +1 -0
  154. package/dist/src/unstable/publish/index.d.ts.map +1 -1
  155. package/dist/src/unstable/publish/index.js +1 -0
  156. package/dist/src/unstable/publish/index.js.map +1 -1
  157. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  158. package/dist/src/unstable/registry/admin-client.d.ts +42 -42
  159. package/dist/src/unstable/registry/admin-client.d.ts.map +1 -1
  160. package/dist/src/unstable/registry/client.d.ts +8 -0
  161. package/dist/src/unstable/registry/client.d.ts.map +1 -1
  162. package/dist/src/unstable/registry/client.js.map +1 -1
  163. package/dist/src/unstable/registry/index.d.ts +1 -1
  164. package/dist/src/unstable/registry/index.d.ts.map +1 -1
  165. package/dist/src/unstable/registry/index.js.map +1 -1
  166. package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
  167. package/dist/src/unstable/registry/local-client.js +17 -4
  168. package/dist/src/unstable/registry/local-client.js.map +1 -1
  169. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  170. package/dist/src/unstable/registry/remote-client.js +15 -0
  171. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  172. package/dist/src/unstable/registry/schema.d.ts +1 -0
  173. package/dist/src/unstable/registry/schema.d.ts.map +1 -1
  174. package/dist/src/unstable/registry/schema.js +1 -0
  175. package/dist/src/unstable/registry/schema.js.map +1 -1
  176. package/dist/src/unstable/rules/index.d.ts +1 -1
  177. package/dist/src/unstable/rules/index.d.ts.map +1 -1
  178. package/dist/src/unstable/rules/index.js.map +1 -1
  179. package/dist/src/unstable/rules/manager.d.ts.map +1 -1
  180. package/dist/src/unstable/rules/manager.js +34 -4
  181. package/dist/src/unstable/rules/manager.js.map +1 -1
  182. package/dist/src/unstable/rules/refs.d.ts +6 -4
  183. package/dist/src/unstable/rules/refs.d.ts.map +1 -1
  184. package/dist/src/unstable/settings/schema.d.ts +20 -73
  185. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  186. package/dist/src/unstable/settings/schema.js +108 -107
  187. package/dist/src/unstable/settings/schema.js.map +1 -1
  188. package/dist/src/unstable/skills/index.d.ts +1 -1
  189. package/dist/src/unstable/skills/index.d.ts.map +1 -1
  190. package/dist/src/unstable/skills/index.js.map +1 -1
  191. package/dist/src/unstable/skills/manager.d.ts.map +1 -1
  192. package/dist/src/unstable/skills/manager.js +9 -3
  193. package/dist/src/unstable/skills/manager.js.map +1 -1
  194. package/dist/src/unstable/skills/materialization.d.ts.map +1 -1
  195. package/dist/src/unstable/skills/materialization.js +6 -0
  196. package/dist/src/unstable/skills/materialization.js.map +1 -1
  197. package/dist/src/unstable/skills/operations/copy.d.ts.map +1 -1
  198. package/dist/src/unstable/skills/operations/copy.js +5 -4
  199. package/dist/src/unstable/skills/operations/copy.js.map +1 -1
  200. package/dist/src/unstable/skills/operations/disable.d.ts.map +1 -1
  201. package/dist/src/unstable/skills/operations/disable.js +4 -2
  202. package/dist/src/unstable/skills/operations/disable.js.map +1 -1
  203. package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
  204. package/dist/src/unstable/skills/operations/install.js +34 -0
  205. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  206. package/dist/src/unstable/skills/operations/publish.d.ts +2 -2
  207. package/dist/src/unstable/skills/operations/publish.js +3 -3
  208. package/dist/src/unstable/skills/operations/publish.js.map +1 -1
  209. package/dist/src/unstable/skills/paths.d.ts +1 -1
  210. package/dist/src/unstable/skills/paths.d.ts.map +1 -1
  211. package/dist/src/unstable/skills/reconciliation-adapter.d.ts.map +1 -1
  212. package/dist/src/unstable/skills/reconciliation-adapter.js +3 -1
  213. package/dist/src/unstable/skills/reconciliation-adapter.js.map +1 -1
  214. package/dist/src/unstable/skills/refs.d.ts +5 -3
  215. package/dist/src/unstable/skills/refs.d.ts.map +1 -1
  216. package/dist/src/unstable/source-resolution/providers/azurerepos/scp.d.ts +9 -8
  217. package/dist/src/unstable/source-resolution/providers/azurerepos/scp.d.ts.map +1 -1
  218. package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts +9 -9
  219. package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts.map +1 -1
  220. package/dist/src/unstable/source-resolution/providers/bitbucket/scp.d.ts +8 -7
  221. package/dist/src/unstable/source-resolution/providers/bitbucket/scp.d.ts.map +1 -1
  222. package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts +8 -8
  223. package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts.map +1 -1
  224. package/dist/src/unstable/source-resolution/providers/github/scp.d.ts +8 -7
  225. package/dist/src/unstable/source-resolution/providers/github/scp.d.ts.map +1 -1
  226. package/dist/src/unstable/source-resolution/providers/github/url.d.ts +8 -8
  227. package/dist/src/unstable/source-resolution/providers/github/url.d.ts.map +1 -1
  228. package/dist/src/unstable/source-resolution/providers/gitlab/scp.d.ts +8 -7
  229. package/dist/src/unstable/source-resolution/providers/gitlab/scp.d.ts.map +1 -1
  230. package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts +8 -8
  231. package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts.map +1 -1
  232. package/dist/src/unstable/source-resolution/resolve-source.d.ts.map +1 -1
  233. package/dist/src/unstable/source-resolution/resolve-source.js +9 -0
  234. package/dist/src/unstable/source-resolution/resolve-source.js.map +1 -1
  235. package/dist/src/unstable/source-resolution/service.d.ts +1 -1
  236. package/dist/src/unstable/source-resolution/service.d.ts.map +1 -1
  237. package/dist/src/unstable/source-resolution/service.js +15 -0
  238. package/dist/src/unstable/source-resolution/service.js.map +1 -1
  239. package/dist/src/unstable/sources/index.d.ts +2 -1
  240. package/dist/src/unstable/sources/index.d.ts.map +1 -1
  241. package/dist/src/unstable/sources/index.js +1 -0
  242. package/dist/src/unstable/sources/index.js.map +1 -1
  243. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts +3 -1
  244. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
  245. package/dist/src/unstable/sources/lock-entry-to-ref.js +106 -14
  246. package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
  247. package/dist/src/unstable/sources/parser.d.ts +9 -2
  248. package/dist/src/unstable/sources/parser.d.ts.map +1 -1
  249. package/dist/src/unstable/sources/parser.js +22 -7
  250. package/dist/src/unstable/sources/parser.js.map +1 -1
  251. package/dist/src/unstable/sources/printer.d.ts +2 -2
  252. package/dist/src/unstable/sources/printer.d.ts.map +1 -1
  253. package/dist/src/unstable/sources/printer.js +14 -0
  254. package/dist/src/unstable/sources/printer.js.map +1 -1
  255. package/dist/src/unstable/sources/source-to-lock-entry.d.ts.map +1 -1
  256. package/dist/src/unstable/sources/source-to-lock-entry.js +10 -0
  257. package/dist/src/unstable/sources/source-to-lock-entry.js.map +1 -1
  258. package/dist/src/unstable/sources/types.d.ts +21 -6
  259. package/dist/src/unstable/sources/types.d.ts.map +1 -1
  260. package/dist/src/unstable/sources/types.js +11 -3
  261. package/dist/src/unstable/sources/types.js.map +1 -1
  262. package/dist/src/unstable/sources/workspace.d.ts +13 -0
  263. package/dist/src/unstable/sources/workspace.d.ts.map +1 -0
  264. package/dist/src/unstable/sources/workspace.js +13 -0
  265. package/dist/src/unstable/sources/workspace.js.map +1 -0
  266. package/dist/src/unstable/subagents/index.d.ts +1 -1
  267. package/dist/src/unstable/subagents/index.d.ts.map +1 -1
  268. package/dist/src/unstable/subagents/index.js.map +1 -1
  269. package/dist/src/unstable/subagents/lock-entry-builder.d.ts.map +1 -1
  270. package/dist/src/unstable/subagents/lock-entry-builder.js +10 -0
  271. package/dist/src/unstable/subagents/lock-entry-builder.js.map +1 -1
  272. package/dist/src/unstable/subagents/manager.d.ts.map +1 -1
  273. package/dist/src/unstable/subagents/manager.js +32 -5
  274. package/dist/src/unstable/subagents/manager.js.map +1 -1
  275. package/dist/src/unstable/subagents/operations/disable.d.ts.map +1 -1
  276. package/dist/src/unstable/subagents/operations/disable.js +2 -1
  277. package/dist/src/unstable/subagents/operations/disable.js.map +1 -1
  278. package/dist/src/unstable/subagents/operations/publish.d.ts +2 -2
  279. package/dist/src/unstable/subagents/operations/publish.js +3 -3
  280. package/dist/src/unstable/subagents/operations/publish.js.map +1 -1
  281. package/dist/src/unstable/subagents/paths.d.ts +1 -1
  282. package/dist/src/unstable/subagents/paths.d.ts.map +1 -1
  283. package/dist/src/unstable/subagents/reconciliation-adapter.d.ts.map +1 -1
  284. package/dist/src/unstable/subagents/reconciliation-adapter.js +3 -1
  285. package/dist/src/unstable/subagents/reconciliation-adapter.js.map +1 -1
  286. package/dist/src/unstable/subagents/refs.d.ts +5 -3
  287. package/dist/src/unstable/subagents/refs.d.ts.map +1 -1
  288. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js.map +1 -1
  289. package/dist/src/unstable/update-check/update-check.d.ts +4 -4
  290. package/dist/src/unstable/update-check/update-check.d.ts.map +1 -1
  291. package/dist/src/unstable/workflows/index.d.ts +1 -1
  292. package/dist/src/unstable/workflows/index.d.ts.map +1 -1
  293. package/dist/src/unstable/workflows/index.js.map +1 -1
  294. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts +9 -7
  295. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts.map +1 -1
  296. package/dist/src/unstable/workflows/uninstall-command/workflow.js +1 -1
  297. package/dist/src/unstable/workflows/uninstall-command/workflow.js.map +1 -1
  298. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts +1 -0
  299. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts.map +1 -1
  300. package/dist/src/unstable/workspace/configured-entry-resolution/index.js +1 -0
  301. package/dist/src/unstable/workspace/configured-entry-resolution/index.js.map +1 -1
  302. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +2 -1
  303. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts.map +1 -1
  304. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +138 -0
  305. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js.map +1 -1
  306. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.d.ts +24 -0
  307. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.d.ts.map +1 -0
  308. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.js +211 -0
  309. package/dist/src/unstable/workspace/configured-entry-resolution/workspace-ref.js.map +1 -0
  310. package/dist/src/unstable/workspace/index.d.ts +1 -1
  311. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  312. package/dist/src/unstable/workspace/index.js +1 -1
  313. package/dist/src/unstable/workspace/index.js.map +1 -1
  314. package/dist/src/unstable/workspace/initialization.d.ts +354 -398
  315. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  316. package/dist/src/unstable/workspace/initialization.js +1 -1
  317. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  318. package/dist/src/unstable/workspace/read-model/state.d.ts.map +1 -1
  319. package/dist/src/unstable/workspace/read-model/state.js +21 -5
  320. package/dist/src/unstable/workspace/read-model/state.js.map +1 -1
  321. package/dist/src/unstable/workspace/reconciliation-types.d.ts +16 -2
  322. package/dist/src/unstable/workspace/reconciliation-types.d.ts.map +1 -1
  323. package/dist/src/unstable/workspace/reconciliation.d.ts.map +1 -1
  324. package/dist/src/unstable/workspace/reconciliation.js +185 -2
  325. package/dist/src/unstable/workspace/reconciliation.js.map +1 -1
  326. package/dist/src/unstable/workspace/service-interface.d.ts +10 -4
  327. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  328. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  329. package/dist/src/unstable/workspace/service.d.ts +916 -653
  330. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  331. package/dist/src/unstable/workspace/service.js +41 -90
  332. package/dist/src/unstable/workspace/service.js.map +1 -1
  333. package/dist/src/unstable/workspace/skill-snapshot.d.ts.map +1 -1
  334. package/dist/src/unstable/workspace/skill-snapshot.js +2 -1
  335. package/dist/src/unstable/workspace/skill-snapshot.js.map +1 -1
  336. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  337. package/dist/src/unstable/workspace/test-stubs.js +1 -0
  338. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  339. package/package.json +6 -6
  340. package/site-content/__generated__/schemas/axm-lock.schema.json +370 -2
  341. package/site-content/__generated__/schemas/pack.schema.json +18 -14
  342. package/site-content/__generated__/schemas/settings.schema.json +102 -103
@@ -7,11 +7,12 @@
7
7
  */
8
8
  import * as Schema from "effect/Schema";
9
9
  import * as SchemaTransformation from "effect/SchemaTransformation";
10
- import { ConfigurableAgentIdSchema, EXTENSION_NAME_PATTERN } from "../extensions/common.js";
10
+ import { ConfigurableAgentIdSchema, EXTENSION_NAME_PATTERN, FQN_PATTERN, } from "../extensions/common.js";
11
11
  import { FileInputValueSchema } from "../files/manifest-schema.js";
12
12
  import { HandleSchema } from "../extensions/handle.js";
13
13
  import { LibraryRefSchema } from "../libraries/index.js";
14
14
  import { LintConfigSchema } from "../lint/config.js";
15
+ import { isWorkspaceSourceLocator } from "../sources/workspace.js";
15
16
  // -----------------------------------------------------------------------------
16
17
  // Source Host Config (array-based, discriminated on `type` field)
17
18
  // -----------------------------------------------------------------------------
@@ -21,13 +22,13 @@ import { LintConfigSchema } from "../lint/config.js";
21
22
  *
22
23
  * @experimental This API is unstable and may change without notice.
23
24
  */
24
- const SOURCE_NAME_PATTERN = /^[a-z0-9][a-z0-9.-]*$/;
25
+ const SOURCE_NAME_PATTERN = /^(?!workspace$)[a-z0-9][a-z0-9.-]*$/;
25
26
  const SourceNameSchema = Schema.String.check(Schema.isPattern(SOURCE_NAME_PATTERN, {
26
- message: "source name must start with a letter or digit and contain only lowercase alphanumeric characters, hyphens, and dots",
27
+ message: 'source name must start with a letter or digit, contain only lowercase alphanumeric characters, hyphens, and dots, and must not be reserved name "workspace"',
27
28
  })).annotate({
28
29
  identifier: "SourceName",
29
30
  title: "Source Name",
30
- description: "A source host alias: lowercase letters, numbers, hyphens, and dots.",
31
+ description: 'A source host alias: lowercase letters, numbers, hyphens, and dots. The name "workspace" is reserved.',
31
32
  examples: ["github", "my-registry.dev"],
32
33
  });
33
34
  const sourceNameFieldSchema = SourceNameSchema.pipe(Schema.annotateKey({ messageMissingKey: "source name is required" }), Schema.annotate({
@@ -129,10 +130,6 @@ export const SourceHostConfigSchema = Schema.Union([
129
130
  const ExtensionMapKeySchema = Schema.String.check(Schema.isPattern(EXTENSION_NAME_PATTERN, {
130
131
  message: "Names must be max 64 chars, lowercase letters/numbers/hyphens, not starting or ending with hyphen.",
131
132
  }));
132
- const authoredFieldSchema = Schema.optionalKey(Schema.Boolean.annotate({
133
- description: "Set to true to mark this entry as authored locally in this workspace — for extensions you edit here. AXM treats authored entries as locally owned: it preserves their files on uninstall, keeps the local source instead of repointing to the registry on update, and re-resolves them from the local managed copy on enable. Omit otherwise — false is the default and should not be written explicitly.",
134
- default: false,
135
- }));
136
133
  const enabledFieldSchema = Schema.optionalKey(Schema.Boolean.annotate({
137
134
  description: "Set to false to disable this entry. Omit otherwise — true is the default and should not be written explicitly.",
138
135
  default: true,
@@ -145,6 +142,26 @@ const entrySourceFieldSchema = (label, fqnType) => Schema.NonEmptyString.pipe(Sc
145
142
  "./extensions/code-review",
146
143
  ],
147
144
  }));
145
+ const workspaceEntriesMatch = (pluralType) => Schema.makeFilter((entries) => {
146
+ for (const [entryName, entry] of Object.entries(entries)) {
147
+ if (!isWorkspaceSourceLocator(entry.source))
148
+ continue;
149
+ const fqn = entry.source.slice("workspace:".length);
150
+ const match = FQN_PATTERN.exec(fqn);
151
+ if (match === null) {
152
+ return `Workspace source "${entry.source}" must be workspace:@owner/<plural-type>/<name> without a version`;
153
+ }
154
+ const sourceType = match[2];
155
+ const sourceName = match[3];
156
+ if (sourceType !== pluralType) {
157
+ return `Workspace source "${entry.source}" has type "${sourceType ?? ""}", but this settings section requires "${pluralType}"`;
158
+ }
159
+ if (sourceName !== entryName) {
160
+ return `Workspace source "${entry.source}" has name "${sourceName ?? ""}", but the settings key is "${entryName}"`;
161
+ }
162
+ }
163
+ return undefined;
164
+ });
148
165
  const McpServerEnvSchema = Schema.Union([
149
166
  Schema.Record(Schema.String, Schema.String),
150
167
  Schema.Array(Schema.String),
@@ -228,25 +245,21 @@ const compactOrVerboseEntry = (objectSchema, canonicalSchema, transformation, an
228
245
  const EnabledEntryCanonicalSchema = Schema.Struct({
229
246
  source: Schema.String,
230
247
  enabled: Schema.Boolean,
231
- authored: Schema.Boolean,
232
248
  });
233
249
  const decodeEnabledEntry = (entry) => typeof entry === "string"
234
- ? { source: entry, enabled: true, authored: false }
250
+ ? { source: entry, enabled: true }
235
251
  : {
236
252
  source: entry.source,
237
253
  enabled: entry.enabled ?? true,
238
- authored: entry.authored ?? false,
239
254
  };
240
255
  const encodeEnabledEntry = (entry) => {
241
- if (entry.enabled && !entry.authored)
256
+ if (entry.enabled)
242
257
  return entry.source;
243
258
  const obj = {
244
259
  source: entry.source,
245
260
  };
246
261
  if (!entry.enabled)
247
262
  obj.enabled = false;
248
- if (entry.authored)
249
- obj.authored = true;
250
263
  return obj;
251
264
  };
252
265
  const enabledEntryTransformation = {
@@ -262,17 +275,15 @@ const compactEnabledEntry = (objectSchema, annotations) => compactOrVerboseEntry
262
275
  export const SkillEntryObjectSchema = Schema.Struct({
263
276
  source: entrySourceFieldSchema("skill", "skills"),
264
277
  enabled: enabledFieldSchema,
265
- authored: authoredFieldSchema,
266
278
  }).annotate({
267
279
  title: "Skill Entry Object",
268
- description: "A skill entry with source and optional enabled/authored flags.",
280
+ description: "A skill entry with source and an optional enabled flag.",
269
281
  });
270
282
  /**
271
- * Union of skill entry forms: plain source string or object with source + enabled + authored.
283
+ * Union of skill entry forms: plain source string or object with source + enabled.
272
284
  *
273
- * Decodes to canonical `{ source, enabled, authored }` form; encodes back to
274
- * the most compact JSON representation (plain string when enabled and not
275
- * authored, object otherwise).
285
+ * Decodes to canonical `{ source, enabled }` form; encodes back to the most
286
+ * compact JSON representation.
276
287
  *
277
288
  * @experimental This API is unstable and may change without notice.
278
289
  */
@@ -297,7 +308,10 @@ export const SkillEntrySchema = compactEnabledEntry(SkillEntryObjectSchema, {
297
308
  *
298
309
  * @experimental This API is unstable and may change without notice.
299
310
  */
300
- export const SkillsMapSchema = Schema.Record(ExtensionMapKeySchema, SkillEntrySchema).annotate({
311
+ export const SkillsMapSchema = Schema.Record(Schema.String, SkillEntrySchema)
312
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
313
+ .check(workspaceEntriesMatch("skills"))
314
+ .annotate({
301
315
  identifier: "SkillsMap",
302
316
  title: "Skills Map",
303
317
  description: "A map of skill names to skill entries.",
@@ -310,17 +324,15 @@ export const SkillsMapSchema = Schema.Record(ExtensionMapKeySchema, SkillEntrySc
310
324
  export const CommandEntryObjectSchema = Schema.Struct({
311
325
  source: entrySourceFieldSchema("command", "commands"),
312
326
  enabled: enabledFieldSchema,
313
- authored: authoredFieldSchema,
314
327
  }).annotate({
315
328
  title: "Command Entry Object",
316
- description: "A command entry with source and optional enabled/authored flags.",
329
+ description: "A command entry with source and an optional enabled flag.",
317
330
  });
318
331
  /**
319
- * Union of command entry forms: plain source string or object with source + enabled + authored.
332
+ * Union of command entry forms: plain source string or object with source + enabled.
320
333
  *
321
- * Decodes to canonical `{ source, enabled, authored }` form; encodes back to
322
- * the most compact JSON representation (plain string when enabled and not
323
- * authored, object otherwise).
334
+ * Decodes to canonical `{ source, enabled }` form; encodes back to the most
335
+ * compact JSON representation.
324
336
  *
325
337
  * @experimental This API is unstable and may change without notice.
326
338
  */
@@ -345,7 +357,10 @@ export const CommandEntrySchema = compactEnabledEntry(CommandEntryObjectSchema,
345
357
  *
346
358
  * @experimental This API is unstable and may change without notice.
347
359
  */
348
- export const CommandsMapSchema = Schema.Record(ExtensionMapKeySchema, CommandEntrySchema).annotate({
360
+ export const CommandsMapSchema = Schema.Record(Schema.String, CommandEntrySchema)
361
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
362
+ .check(workspaceEntriesMatch("commands"))
363
+ .annotate({
349
364
  identifier: "CommandsMap",
350
365
  title: "Commands Map",
351
366
  description: "A map of command names to command entries.",
@@ -361,7 +376,6 @@ export const CommandsMapSchema = Schema.Record(ExtensionMapKeySchema, CommandEnt
361
376
  export const FilesEntryObjectSchema = Schema.Struct({
362
377
  source: entrySourceFieldSchema("Context Files package", "files"),
363
378
  enabled: enabledFieldSchema,
364
- authored: authoredFieldSchema,
365
379
  inputs: Schema.optionalKey(FileInputValuesMapSchema),
366
380
  }).annotate({
367
381
  title: "Files Entry Object",
@@ -370,7 +384,7 @@ export const FilesEntryObjectSchema = Schema.Struct({
370
384
  /**
371
385
  * Union of Context Files package entry forms: plain source string or object with source, flags, and inputs.
372
386
  *
373
- * Decodes to canonical `{ source, enabled, authored, inputs }` form; encodes
387
+ * Decodes to canonical `{ source, enabled, inputs }` form; encodes
374
388
  * back to a plain source string when all metadata is default and no inputs are
375
389
  * set.
376
390
  *
@@ -379,26 +393,22 @@ export const FilesEntryObjectSchema = Schema.Struct({
379
393
  export const FilesEntrySchema = compactOrVerboseEntry(FilesEntryObjectSchema, Schema.Struct({
380
394
  source: Schema.String,
381
395
  enabled: Schema.Boolean,
382
- authored: Schema.Boolean,
383
396
  inputs: FileInputValuesMapSchema,
384
397
  }), {
385
398
  decode: (entry) => typeof entry === "string"
386
- ? { source: entry, enabled: true, authored: false, inputs: {} }
399
+ ? { source: entry, enabled: true, inputs: {} }
387
400
  : {
388
401
  source: entry.source,
389
402
  enabled: entry.enabled ?? true,
390
- authored: entry.authored ?? false,
391
403
  inputs: entry.inputs ?? {},
392
404
  },
393
405
  encode: (entry) => {
394
406
  const hasInputs = Object.keys(entry.inputs).length > 0;
395
- if (entry.enabled && !entry.authored && !hasInputs)
407
+ if (entry.enabled && !hasInputs)
396
408
  return entry.source;
397
409
  const obj = { source: entry.source };
398
410
  if (!entry.enabled)
399
411
  obj.enabled = false;
400
- if (entry.authored)
401
- obj.authored = true;
402
412
  if (hasInputs)
403
413
  obj.inputs = entry.inputs;
404
414
  return obj;
@@ -420,7 +430,10 @@ export const FilesEntrySchema = compactOrVerboseEntry(FilesEntryObjectSchema, Sc
420
430
  *
421
431
  * @experimental This API is unstable and may change without notice.
422
432
  */
423
- export const FilesMapSchema = Schema.Record(ExtensionMapKeySchema, FilesEntrySchema).annotate({
433
+ export const FilesMapSchema = Schema.Record(Schema.String, FilesEntrySchema)
434
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
435
+ .check(workspaceEntriesMatch("files"))
436
+ .annotate({
424
437
  identifier: "FilesMap",
425
438
  title: "Files Map",
426
439
  description: "A map of Context Files package names to Context Files package entries.",
@@ -436,13 +449,12 @@ export const FilesMapSchema = Schema.Record(ExtensionMapKeySchema, FilesEntrySch
436
449
  export const RuleEntryObjectSchema = Schema.Struct({
437
450
  source: entrySourceFieldSchema("rule", "rules"),
438
451
  enabled: enabledFieldSchema,
439
- authored: authoredFieldSchema,
440
452
  }).annotate({
441
453
  title: "Rule Entry Object",
442
- description: "A rule entry with source and optional enabled/authored flags.",
454
+ description: "A rule entry with source and an optional enabled flag.",
443
455
  });
444
456
  /**
445
- * Union of rule entry forms: plain source string or object with source + enabled + authored.
457
+ * Union of rule entry forms: plain source string or object with source + enabled.
446
458
  *
447
459
  * @experimental This API is unstable and may change without notice.
448
460
  */
@@ -460,7 +472,10 @@ export const RuleEntrySchema = compactEnabledEntry(RuleEntryObjectSchema, {
460
472
  *
461
473
  * @experimental This API is unstable and may change without notice.
462
474
  */
463
- export const RulesMapSchema = Schema.Record(ExtensionMapKeySchema, RuleEntrySchema).annotate({
475
+ export const RulesMapSchema = Schema.Record(Schema.String, RuleEntrySchema)
476
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
477
+ .check(workspaceEntriesMatch("rules"))
478
+ .annotate({
464
479
  identifier: "RulesMap",
465
480
  title: "Rules Map",
466
481
  description: "A map of rule names to rule entries.",
@@ -476,13 +491,12 @@ export const RulesMapSchema = Schema.Record(ExtensionMapKeySchema, RuleEntrySche
476
491
  export const HookEntryObjectSchema = Schema.Struct({
477
492
  source: entrySourceFieldSchema("hook", "hooks"),
478
493
  enabled: enabledFieldSchema,
479
- authored: authoredFieldSchema,
480
494
  }).annotate({
481
495
  title: "Hook Entry Object",
482
- description: "A hook entry with source and optional enabled/authored flags.",
496
+ description: "A hook entry with source and an optional enabled flag.",
483
497
  });
484
498
  /**
485
- * Union of hook entry forms: plain source string or object with source + enabled + authored.
499
+ * Union of hook entry forms: plain source string or object with source + enabled.
486
500
  *
487
501
  * @experimental This API is unstable and may change without notice.
488
502
  */
@@ -500,7 +514,10 @@ export const HookEntrySchema = compactEnabledEntry(HookEntryObjectSchema, {
500
514
  *
501
515
  * @experimental This API is unstable and may change without notice.
502
516
  */
503
- export const HooksMapSchema = Schema.Record(ExtensionMapKeySchema, HookEntrySchema).annotate({
517
+ export const HooksMapSchema = Schema.Record(Schema.String, HookEntrySchema)
518
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
519
+ .check(workspaceEntriesMatch("hooks"))
520
+ .annotate({
504
521
  identifier: "HooksMap",
505
522
  title: "Hooks Map",
506
523
  description: "A map of hook names to hook entries.",
@@ -516,11 +533,10 @@ export const HooksMapSchema = Schema.Record(ExtensionMapKeySchema, HookEntrySche
516
533
  export const McpServerEntryObjectSchema = Schema.Struct({
517
534
  source: entrySourceFieldSchema("MCP server", "mcps"),
518
535
  enabled: enabledFieldSchema,
519
- authored: authoredFieldSchema,
520
536
  env: Schema.optionalKey(McpServerEnvSchema),
521
537
  }).annotate({
522
538
  title: "MCP Server Entry Object",
523
- description: "An MCP server entry with source and optional enabled/authored/env fields.",
539
+ description: "An MCP server entry with source and optional enabled/env fields.",
524
540
  });
525
541
  const McpServerVerboseEntryObjectSchema = Schema.Struct({
526
542
  source: Schema.optionalKey(entrySourceFieldSchema("MCP server", "mcps")),
@@ -540,14 +556,13 @@ const McpServerVerboseEntryObjectSchema = Schema.Struct({
540
556
  description: "HTTP headers for a remote MCP server. Prefer ${VAR} references for secrets.",
541
557
  })),
542
558
  enabled: enabledFieldSchema,
543
- authored: authoredFieldSchema,
544
559
  env: Schema.optionalKey(McpServerEnvSchema),
545
560
  }).pipe(Schema.check(Schema.makeFilter((entry) => validateMcpTransportExclusivity(entry))));
546
561
  /**
547
- * Union of MCP server entry forms: plain source string or object with source + enabled + authored + env.
562
+ * Union of MCP server entry forms: plain source string or object with source + enabled + env.
548
563
  *
549
- * Decodes to canonical `{ source, enabled, authored, env }` form; encodes back to the most
550
- * compact JSON representation (plain string when enabled, not authored, and env is empty).
564
+ * Decodes to canonical `{ source, enabled, env }` form; encodes back to the most
565
+ * compact JSON representation.
551
566
  *
552
567
  * @experimental This API is unstable and may change without notice.
553
568
  */
@@ -558,11 +573,10 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
558
573
  url: Schema.optional(Schema.String),
559
574
  headers: Schema.optional(Schema.Record(Schema.String, Schema.String)),
560
575
  enabled: Schema.Boolean,
561
- authored: Schema.Boolean,
562
576
  env: Schema.Record(Schema.String, Schema.String),
563
577
  }), {
564
578
  decode: (entry) => typeof entry === "string"
565
- ? { source: entry, enabled: true, authored: false, env: {} }
579
+ ? { source: entry, enabled: true, env: {} }
566
580
  : {
567
581
  source: "source" in entry && entry.source !== undefined ? entry.source : "inline",
568
582
  ...("command" in entry && entry.command !== undefined
@@ -574,14 +588,10 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
574
588
  ? { headers: entry.headers }
575
589
  : {}),
576
590
  enabled: entry.enabled ?? true,
577
- authored: entry.authored ?? false,
578
591
  env: decodeMcpEnv(entry.env),
579
592
  },
580
593
  encode: (entry) => {
581
- if (entry.source !== "inline" &&
582
- entry.enabled &&
583
- !entry.authored &&
584
- Object.keys(entry.env).length === 0) {
594
+ if (entry.source !== "inline" && entry.enabled && Object.keys(entry.env).length === 0) {
585
595
  return entry.source;
586
596
  }
587
597
  const obj = {};
@@ -598,15 +608,12 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
598
608
  }
599
609
  if (!entry.enabled)
600
610
  obj.enabled = false;
601
- if (entry.authored)
602
- obj.authored = true;
603
611
  if (Object.keys(entry.env).length > 0)
604
612
  obj.env = entry.env;
605
613
  if (entry.source !== "inline") {
606
614
  return {
607
615
  source: entry.source,
608
616
  ...(obj.enabled === undefined ? {} : { enabled: obj.enabled }),
609
- ...(obj.authored === undefined ? {} : { authored: obj.authored }),
610
617
  ...(obj.env === undefined ? {} : { env: obj.env }),
611
618
  };
612
619
  }
@@ -615,7 +622,6 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
615
622
  command: entry.command,
616
623
  ...(obj.args === undefined ? {} : { args: obj.args }),
617
624
  ...(obj.enabled === undefined ? {} : { enabled: obj.enabled }),
618
- ...(obj.authored === undefined ? {} : { authored: obj.authored }),
619
625
  ...(obj.env === undefined ? {} : { env: obj.env }),
620
626
  };
621
627
  }
@@ -623,7 +629,6 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
623
629
  url: entry.url ?? "",
624
630
  ...(obj.headers === undefined ? {} : { headers: obj.headers }),
625
631
  ...(obj.enabled === undefined ? {} : { enabled: obj.enabled }),
626
- ...(obj.authored === undefined ? {} : { authored: obj.authored }),
627
632
  ...(obj.env === undefined ? {} : { env: obj.env }),
628
633
  };
629
634
  },
@@ -645,7 +650,10 @@ export const McpServerEntrySchema = compactOrVerboseEntry(McpServerVerboseEntryO
645
650
  *
646
651
  * @experimental This API is unstable and may change without notice.
647
652
  */
648
- export const McpServersMapSchema = Schema.Record(ExtensionMapKeySchema, McpServerEntrySchema).annotate({
653
+ export const McpServersMapSchema = Schema.Record(Schema.String, McpServerEntrySchema)
654
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
655
+ .check(workspaceEntriesMatch("mcps"))
656
+ .annotate({
649
657
  identifier: "McpServersMap",
650
658
  title: "MCP Servers Map",
651
659
  description: "A map of MCP server names to MCP server entries.",
@@ -661,17 +669,15 @@ export const McpServersMapSchema = Schema.Record(ExtensionMapKeySchema, McpServe
661
669
  export const SubagentEntryObjectSchema = Schema.Struct({
662
670
  source: entrySourceFieldSchema("subagent", "subagents"),
663
671
  enabled: enabledFieldSchema,
664
- authored: authoredFieldSchema,
665
672
  }).annotate({
666
673
  title: "Subagent Entry Object",
667
- description: "A subagent entry with source and optional enabled/authored flags.",
674
+ description: "A subagent entry with source and an optional enabled flag.",
668
675
  });
669
676
  /**
670
- * Union of subagent entry forms: plain source string or object with source + enabled + authored.
677
+ * Union of subagent entry forms: plain source string or object with source + enabled.
671
678
  *
672
- * Decodes to canonical `{ source, enabled, authored }` form; encodes back to
673
- * the most compact JSON representation (plain string when enabled and not
674
- * authored, object otherwise).
679
+ * Decodes to canonical `{ source, enabled }` form; encodes back to the most
680
+ * compact JSON representation.
675
681
  *
676
682
  * @experimental This API is unstable and may change without notice.
677
683
  */
@@ -696,7 +702,10 @@ export const SubagentEntrySchema = compactEnabledEntry(SubagentEntryObjectSchema
696
702
  *
697
703
  * @experimental This API is unstable and may change without notice.
698
704
  */
699
- export const SubagentsMapSchema = Schema.Record(ExtensionMapKeySchema, SubagentEntrySchema).annotate({
705
+ export const SubagentsMapSchema = Schema.Record(Schema.String, SubagentEntrySchema)
706
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
707
+ .check(workspaceEntriesMatch("subagents"))
708
+ .annotate({
700
709
  identifier: "SubagentsMap",
701
710
  title: "Subagents Map",
702
711
  description: "A map of subagent names to subagent entries.",
@@ -711,35 +720,27 @@ export const SubagentsMapSchema = Schema.Record(ExtensionMapKeySchema, SubagentE
711
720
  */
712
721
  export const PackEntryObjectSchema = Schema.Struct({
713
722
  source: entrySourceFieldSchema("pack", "packs"),
714
- authored: authoredFieldSchema,
715
723
  }).annotate({
716
724
  title: "Pack Entry Object",
717
- description: "A pack entry with source and optional authored flag.",
725
+ description: "A pack entry with a source.",
718
726
  });
719
727
  /**
720
- * Union of pack entry forms: plain source string or object with source + authored.
728
+ * Union of pack entry forms: plain source string or object with source.
721
729
  *
722
- * Decodes to canonical `{ source, authored }` form; encodes back to the most
723
- * compact JSON representation (plain string when not authored, object otherwise).
730
+ * Decodes to canonical `{ source }` form and encodes back to a source string.
724
731
  *
725
732
  * @experimental This API is unstable and may change without notice.
726
733
  */
727
734
  export const PackEntrySchema = compactOrVerboseEntry(PackEntryObjectSchema, Schema.Struct({
728
735
  source: Schema.String,
729
- authored: Schema.Boolean,
730
736
  }), {
731
- decode: (entry) => typeof entry === "string"
732
- ? { source: entry, authored: false }
733
- : { source: entry.source, authored: entry.authored ?? false },
734
- encode: (entry) => entry.authored ? { source: entry.source, authored: true } : entry.source,
737
+ decode: (entry) => typeof entry === "string" ? { source: entry } : { source: entry.source },
738
+ encode: (entry) => entry.source,
735
739
  }, {
736
740
  identifier: "PackEntry",
737
741
  title: "Pack Entry",
738
- description: "A pack entry: a source string, or an object with source plus optional authored flag.",
739
- examples: [
740
- "@acme/packs/typescript@^1.0.0",
741
- { source: "github:acme/agent-extensions", authored: true },
742
- ],
742
+ description: "A pack entry: a source string, or an object with a source.",
743
+ examples: ["@acme/packs/typescript@^1.0.0"],
743
744
  });
744
745
  /**
745
746
  * Packs map - maps pack names to pack entries.
@@ -753,7 +754,10 @@ export const PackEntrySchema = compactOrVerboseEntry(PackEntryObjectSchema, Sche
753
754
  *
754
755
  * @experimental This API is unstable and may change without notice.
755
756
  */
756
- export const PacksMapSchema = Schema.Record(ExtensionMapKeySchema, PackEntrySchema).annotate({
757
+ export const PacksMapSchema = Schema.Record(Schema.String, PackEntrySchema)
758
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
759
+ .check(workspaceEntriesMatch("packs"))
760
+ .annotate({
757
761
  identifier: "PacksMap",
758
762
  title: "Packs Map",
759
763
  description: "A map of pack names to pack entries.",
@@ -772,38 +776,33 @@ export const LibraryEntryObjectSchema = Schema.Struct({
772
776
  examples: ["@acme/libraries/frontend"],
773
777
  })),
774
778
  enabled: enabledFieldSchema,
775
- authored: authoredFieldSchema,
776
779
  }).annotate({
777
780
  title: "Library Entry Object",
778
- description: "A Library subscription entry with source and optional enabled/authored flags.",
781
+ description: "A Library subscription entry with source and an optional enabled flag.",
779
782
  });
780
783
  /**
781
- * Union of Library entry forms: plain Library ref or object with source + enabled + authored.
784
+ * Union of Library entry forms: plain Library ref or object with source + enabled.
782
785
  *
783
786
  * @experimental This API is unstable and may change without notice.
784
787
  */
785
788
  export const LibraryEntrySchema = compactOrVerboseEntry(LibraryEntryObjectSchema, Schema.Struct({
786
789
  source: LibraryRefSchema,
787
790
  enabled: Schema.Boolean,
788
- authored: Schema.Boolean,
789
791
  }), {
790
792
  decode: (entry) => typeof entry === "string"
791
- ? { source: entry, enabled: true, authored: false }
793
+ ? { source: entry, enabled: true }
792
794
  : {
793
795
  source: entry.source,
794
796
  enabled: entry.enabled ?? true,
795
- authored: entry.authored ?? false,
796
797
  },
797
798
  encode: (entry) => {
798
- if (entry.enabled && !entry.authored)
799
+ if (entry.enabled)
799
800
  return entry.source;
800
801
  const obj = {
801
802
  source: entry.source,
802
803
  };
803
804
  if (!entry.enabled)
804
805
  obj.enabled = false;
805
- if (entry.authored)
806
- obj.authored = true;
807
806
  return obj;
808
807
  },
809
808
  }, {
@@ -817,7 +816,9 @@ export const LibraryEntrySchema = compactOrVerboseEntry(LibraryEntryObjectSchema
817
816
  *
818
817
  * @experimental This API is unstable and may change without notice.
819
818
  */
820
- export const LibrariesMapSchema = Schema.Record(ExtensionMapKeySchema, LibraryEntrySchema).annotate({
819
+ export const LibrariesMapSchema = Schema.Record(Schema.String, LibraryEntrySchema)
820
+ .check(Schema.isPropertyNames(ExtensionMapKeySchema))
821
+ .annotate({
821
822
  identifier: "LibrariesMap",
822
823
  title: "Libraries Map",
823
824
  description: "A map of Library subscription names to Library refs.",
@@ -1040,43 +1041,43 @@ export const SettingsSchema = Schema.Struct({
1040
1041
  description: "Scalar workspace variables available to Context Files templates.",
1041
1042
  })),
1042
1043
  skills: Schema.optionalKey(Schema.Union([SkillsMapSchema]).annotate({
1043
- description: "Your installed skills, keyed by workspace skill name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly.",
1044
+ description: "Your installed skills, keyed by workspace skill name. Prefer plain source strings; use the object form only to set `enabled: false`.",
1044
1045
  })),
1045
1046
  skillsConfig: Schema.optionalKey(Schema.Union([SkillsConfigSchema]).annotate({
1046
1047
  description: "Feature-level options for skill management.",
1047
1048
  })),
1048
1049
  commands: Schema.optionalKey(Schema.Union([CommandsMapSchema]).annotate({
1049
- description: "Your installed commands, keyed by workspace command name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly.",
1050
+ description: "Your installed commands, keyed by workspace command name. Prefer plain source strings; use the object form only to set `enabled: false`.",
1050
1051
  })),
1051
1052
  commandsConfig: Schema.optionalKey(Schema.Union([CommandsConfigSchema]).annotate({
1052
1053
  description: "Feature-level options for command management.",
1053
1054
  })),
1054
1055
  files: Schema.optionalKey(Schema.Union([FilesMapSchema]).annotate({
1055
- description: "Your installed Context Files packages, keyed by workspace package name. Prefer plain source strings; use the object form only to set `enabled: false`, `authored: true`, or scalar `inputs`.",
1056
+ description: "Your installed Context Files packages, keyed by workspace package name. Prefer plain source strings; use the object form only to set `enabled: false` or scalar `inputs`.",
1056
1057
  })),
1057
1058
  rules: Schema.optionalKey(Schema.Union([RulesMapSchema]).annotate({
1058
- description: "Your installed rules, keyed by workspace rule name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`.",
1059
+ description: "Your installed rules, keyed by workspace rule name. Prefer plain source strings; use the object form only to set `enabled: false`.",
1059
1060
  })),
1060
1061
  hooks: Schema.optionalKey(Schema.Union([HooksMapSchema]).annotate({
1061
- description: "Your installed hooks, keyed by workspace hook name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`.",
1062
+ description: "Your installed hooks, keyed by workspace hook name. Prefer plain source strings; use the object form only to set `enabled: false`.",
1062
1063
  })),
1063
1064
  subagents: Schema.optionalKey(Schema.Union([SubagentsMapSchema]).annotate({
1064
- description: "Your installed subagents, keyed by workspace subagent name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly.",
1065
+ description: "Your installed subagents, keyed by workspace subagent name. Prefer plain source strings; use the object form only to set `enabled: false`.",
1065
1066
  })),
1066
1067
  subagentsConfig: Schema.optionalKey(Schema.Union([SubagentsConfigSchema]).annotate({
1067
1068
  description: "Feature-level options for subagent management.",
1068
1069
  })),
1069
1070
  packs: Schema.optionalKey(Schema.Union([PacksMapSchema]).annotate({
1070
- description: "Your installed packs, keyed by workspace pack name. Prefer plain source strings; use the object form only to set `authored: true`, and never write `authored: false` explicitly. Pack entries do not support `enabled` yet.",
1071
+ description: "Your installed packs, keyed by workspace pack name. Pack entries do not support `enabled` yet.",
1071
1072
  })),
1072
1073
  packsConfig: Schema.optionalKey(Schema.Union([PacksConfigSchema]).annotate({
1073
1074
  description: "Feature-level options for pack management.",
1074
1075
  })),
1075
1076
  libraries: Schema.optionalKey(Schema.Union([LibrariesMapSchema]).annotate({
1076
- description: "Your Library subscriptions, keyed by workspace subscription name. Prefer plain Library refs; use the object form only to set `enabled: false` or `authored: true`. Libraries are always latest and do not accept version suffixes.",
1077
+ description: "Your Library subscriptions, keyed by workspace subscription name. Prefer plain Library refs; use the object form only to set `enabled: false`. Libraries are always latest and do not accept version suffixes.",
1077
1078
  })),
1078
1079
  mcpServers: Schema.optionalKey(Schema.Union([McpServersMapSchema]).annotate({
1079
- description: "Your installed MCP servers, keyed by workspace MCP server name. Prefer plain source strings; use the object form only to set `enabled: false`, `authored: true`, or persisted `env` values.",
1080
+ description: "Your installed MCP servers, keyed by workspace MCP server name. Prefer plain source strings; use the object form only to set `enabled: false` or persisted `env` values.",
1080
1081
  })),
1081
1082
  mcpServersConfig: Schema.optionalKey(Schema.Union([McpServersConfigSchema]).annotate({
1082
1083
  description: "Feature-level options for MCP server management.",
@@ -1092,7 +1093,7 @@ export const SettingsSchema = Schema.Struct({
1092
1093
  // them in the encoded (compact) form so agents see the preferred shape:
1093
1094
  // plain source strings, with the object form reserved for non-default flags.
1094
1095
  // Assertion needed: `.annotate()` types examples against the decoded
1095
- // canonical shape (where `enabled`/`authored` are required booleans), but
1096
+ // canonical shape (where `enabled` is a required boolean), but
1096
1097
  // emitting that shape would teach agents to write the very defaults we want
1097
1098
  // them to omit.
1098
1099
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions