@agentxm/client-core 0.1.6 → 0.3.1

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 (500) hide show
  1. package/dist/src/unstable/agents/coding-agent.d.ts +1 -1
  2. package/dist/src/unstable/agents/coding-agent.d.ts.map +1 -1
  3. package/dist/src/unstable/agents/coding-agent.js +1 -1
  4. package/dist/src/unstable/agents/coding-agent.js.map +1 -1
  5. package/dist/src/unstable/auth/auth-client.d.ts +1 -1
  6. package/dist/src/unstable/auth/auth-client.d.ts.map +1 -1
  7. package/dist/src/unstable/auth/auth-client.js +1 -1
  8. package/dist/src/unstable/auth/auth-client.js.map +1 -1
  9. package/dist/src/unstable/auth/credential-store.d.ts +1 -1
  10. package/dist/src/unstable/auth/credential-store.d.ts.map +1 -1
  11. package/dist/src/unstable/auth/credential-store.js +1 -1
  12. package/dist/src/unstable/auth/credential-store.js.map +1 -1
  13. package/dist/src/unstable/auth/device-login.d.ts +1 -1
  14. package/dist/src/unstable/auth/device-login.d.ts.map +1 -1
  15. package/dist/src/unstable/auth/device-login.js +1 -1
  16. package/dist/src/unstable/auth/device-login.js.map +1 -1
  17. package/dist/src/unstable/auth/guard-interaction.d.ts +1 -1
  18. package/dist/src/unstable/auth/guard-interaction.d.ts.map +1 -1
  19. package/dist/src/unstable/auth/guard-interaction.js +1 -1
  20. package/dist/src/unstable/auth/guard-interaction.js.map +1 -1
  21. package/dist/src/unstable/auth/login-interaction.d.ts +1 -1
  22. package/dist/src/unstable/auth/login-interaction.d.ts.map +1 -1
  23. package/dist/src/unstable/auth/login-interaction.js +1 -1
  24. package/dist/src/unstable/auth/login-interaction.js.map +1 -1
  25. package/dist/src/unstable/auth/registry-url.d.ts +1 -1
  26. package/dist/src/unstable/auth/registry-url.d.ts.map +1 -1
  27. package/dist/src/unstable/auth/registry-url.js +1 -1
  28. package/dist/src/unstable/auth/registry-url.js.map +1 -1
  29. package/dist/src/unstable/auth/schema.d.ts +3 -3
  30. package/dist/src/unstable/cli-flags/verbosity.d.ts +1 -1
  31. package/dist/src/unstable/cli-flags/verbosity.d.ts.map +1 -1
  32. package/dist/src/unstable/cli-flags/verbosity.js +1 -1
  33. package/dist/src/unstable/cli-flags/verbosity.js.map +1 -1
  34. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts +1 -1
  35. package/dist/src/unstable/cli-renderer/cli-renderer.d.ts.map +1 -1
  36. package/dist/src/unstable/cli-renderer/cli-renderer.js +1 -1
  37. package/dist/src/unstable/cli-renderer/cli-renderer.js.map +1 -1
  38. package/dist/src/unstable/cli-runtime/command-argv.d.ts +1 -1
  39. package/dist/src/unstable/cli-runtime/command-argv.d.ts.map +1 -1
  40. package/dist/src/unstable/cli-runtime/command-argv.js +1 -1
  41. package/dist/src/unstable/cli-runtime/command-argv.js.map +1 -1
  42. package/dist/src/unstable/cli-runtime/graceful-shutdown.js +1 -1
  43. package/dist/src/unstable/cli-runtime/graceful-shutdown.js.map +1 -1
  44. package/dist/src/unstable/cli-runtime/telemetry.d.ts +1 -1
  45. package/dist/src/unstable/cli-runtime/telemetry.d.ts.map +1 -1
  46. package/dist/src/unstable/cli-runtime/telemetry.js +1 -1
  47. package/dist/src/unstable/cli-runtime/telemetry.js.map +1 -1
  48. package/dist/src/unstable/commands/manager.d.ts +1 -1
  49. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  50. package/dist/src/unstable/commands/manager.js +1 -1
  51. package/dist/src/unstable/commands/manager.js.map +1 -1
  52. package/dist/src/unstable/commands/operations/disable.d.ts +2 -2
  53. package/dist/src/unstable/commands/operations/disable.d.ts.map +1 -1
  54. package/dist/src/unstable/commands/operations/enable.d.ts +2 -2
  55. package/dist/src/unstable/commands/operations/enable.d.ts.map +1 -1
  56. package/dist/src/unstable/commands/operations/install.d.ts +1 -1
  57. package/dist/src/unstable/commands/operations/install.d.ts.map +1 -1
  58. package/dist/src/unstable/commands/operations/new-command.d.ts +2 -2
  59. package/dist/src/unstable/commands/operations/new-command.d.ts.map +1 -1
  60. package/dist/src/unstable/commands/operations/publish.d.ts +1 -1
  61. package/dist/src/unstable/commands/operations/publish.d.ts.map +1 -1
  62. package/dist/src/unstable/commands/operations/uninstall.d.ts +1 -1
  63. package/dist/src/unstable/commands/operations/uninstall.d.ts.map +1 -1
  64. package/dist/src/unstable/date-time.d.ts +2 -2
  65. package/dist/src/unstable/date-time.d.ts.map +1 -1
  66. package/dist/src/unstable/extensions/operations.d.ts +1 -1
  67. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  68. package/dist/src/unstable/install-meta/install-meta.d.ts +1 -1
  69. package/dist/src/unstable/install-meta/install-meta.d.ts.map +1 -1
  70. package/dist/src/unstable/install-meta/install-meta.js +1 -1
  71. package/dist/src/unstable/install-meta/install-meta.js.map +1 -1
  72. package/dist/src/unstable/install-method/install-method.d.ts +1 -1
  73. package/dist/src/unstable/install-method/install-method.d.ts.map +1 -1
  74. package/dist/src/unstable/install-method/install-method.js +1 -1
  75. package/dist/src/unstable/install-method/install-method.js.map +1 -1
  76. package/dist/src/unstable/lint/catalog/index.d.ts +39 -0
  77. package/dist/src/unstable/lint/catalog/index.d.ts.map +1 -0
  78. package/dist/src/unstable/lint/catalog/index.js +49 -0
  79. package/dist/src/unstable/lint/catalog/index.js.map +1 -0
  80. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.d.ts +31 -0
  81. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.d.ts.map +1 -0
  82. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.js +41 -0
  83. package/dist/src/unstable/lint/catalog/pack/manifest-keys-recognized.js.map +1 -0
  84. package/dist/src/unstable/lint/catalog/pack/manifest-present.d.ts +18 -0
  85. package/dist/src/unstable/lint/catalog/pack/manifest-present.d.ts.map +1 -0
  86. package/dist/src/unstable/lint/catalog/pack/manifest-present.js +41 -0
  87. package/dist/src/unstable/lint/catalog/pack/manifest-present.js.map +1 -0
  88. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.d.ts +26 -0
  89. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.d.ts.map +1 -0
  90. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.js +34 -0
  91. package/dist/src/unstable/lint/catalog/pack/manifest-schema-valid.js.map +1 -0
  92. package/dist/src/unstable/lint/catalog/pack-accessor/contexts.d.ts +61 -0
  93. package/dist/src/unstable/lint/catalog/pack-accessor/contexts.d.ts.map +1 -0
  94. package/dist/src/unstable/lint/catalog/pack-accessor/contexts.js +46 -0
  95. package/dist/src/unstable/lint/catalog/pack-accessor/contexts.js.map +1 -0
  96. package/dist/src/unstable/lint/catalog/pack-accessor/platform.d.ts +53 -0
  97. package/dist/src/unstable/lint/catalog/pack-accessor/platform.d.ts.map +1 -0
  98. package/dist/src/unstable/lint/catalog/pack-accessor/platform.js +90 -0
  99. package/dist/src/unstable/lint/catalog/pack-accessor/platform.js.map +1 -0
  100. package/dist/src/unstable/lint/catalog/pack-accessor/vft.d.ts +60 -0
  101. package/dist/src/unstable/lint/catalog/pack-accessor/vft.d.ts.map +1 -0
  102. package/dist/src/unstable/lint/catalog/pack-accessor/vft.js +85 -0
  103. package/dist/src/unstable/lint/catalog/pack-accessor/vft.js.map +1 -0
  104. package/dist/src/unstable/lint/catalog/pack.d.ts +37 -0
  105. package/dist/src/unstable/lint/catalog/pack.d.ts.map +1 -0
  106. package/dist/src/unstable/lint/catalog/pack.js +47 -0
  107. package/dist/src/unstable/lint/catalog/pack.js.map +1 -0
  108. package/dist/src/unstable/lint/catalog/shared/schema-rule.d.ts +59 -0
  109. package/dist/src/unstable/lint/catalog/shared/schema-rule.d.ts.map +1 -0
  110. package/dist/src/unstable/lint/catalog/shared/schema-rule.js +99 -0
  111. package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -0
  112. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.d.ts +31 -0
  113. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.d.ts.map +1 -0
  114. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.js +151 -0
  115. package/dist/src/unstable/lint/catalog/skill/frontmatter-parseable.js.map +1 -0
  116. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.d.ts +26 -0
  117. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.d.ts.map +1 -0
  118. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.js +41 -0
  119. package/dist/src/unstable/lint/catalog/skill/manifest-keys-recognized.js.map +1 -0
  120. package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts +18 -0
  121. package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts.map +1 -0
  122. package/dist/src/unstable/lint/catalog/skill/manifest-present.js +46 -0
  123. package/dist/src/unstable/lint/catalog/skill/manifest-present.js.map +1 -0
  124. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.d.ts +22 -0
  125. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.d.ts.map +1 -0
  126. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.js +37 -0
  127. package/dist/src/unstable/lint/catalog/skill/manifest-schema-valid.js.map +1 -0
  128. package/dist/src/unstable/lint/catalog/skill/skill-md-present.d.ts +17 -0
  129. package/dist/src/unstable/lint/catalog/skill/skill-md-present.d.ts.map +1 -0
  130. package/dist/src/unstable/lint/catalog/skill/skill-md-present.js +38 -0
  131. package/dist/src/unstable/lint/catalog/skill/skill-md-present.js.map +1 -0
  132. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.d.ts +65 -0
  133. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.d.ts.map +1 -0
  134. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.js +50 -0
  135. package/dist/src/unstable/lint/catalog/skill-accessor/contexts.js.map +1 -0
  136. package/dist/src/unstable/lint/catalog/skill-accessor/platform.d.ts +52 -0
  137. package/dist/src/unstable/lint/catalog/skill-accessor/platform.d.ts.map +1 -0
  138. package/dist/src/unstable/lint/catalog/skill-accessor/platform.js +89 -0
  139. package/dist/src/unstable/lint/catalog/skill-accessor/platform.js.map +1 -0
  140. package/dist/src/unstable/lint/catalog/skill-accessor/vft.d.ts +58 -0
  141. package/dist/src/unstable/lint/catalog/skill-accessor/vft.d.ts.map +1 -0
  142. package/dist/src/unstable/lint/catalog/skill-accessor/vft.js +83 -0
  143. package/dist/src/unstable/lint/catalog/skill-accessor/vft.js.map +1 -0
  144. package/dist/src/unstable/lint/catalog/skill.d.ts +38 -0
  145. package/dist/src/unstable/lint/catalog/skill.d.ts.map +1 -0
  146. package/dist/src/unstable/lint/catalog/skill.js +52 -0
  147. package/dist/src/unstable/lint/catalog/skill.js.map +1 -0
  148. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.d.ts +23 -0
  149. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.d.ts.map +1 -0
  150. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.js +75 -0
  151. package/dist/src/unstable/lint/catalog/workspace/agents-detected-declared.js.map +1 -0
  152. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.d.ts +23 -0
  153. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.d.ts.map +1 -0
  154. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.js +76 -0
  155. package/dist/src/unstable/lint/catalog/workspace/agents-recognized.js.map +1 -0
  156. package/dist/src/unstable/lint/catalog/workspace/helpers/empty.d.ts +18 -0
  157. package/dist/src/unstable/lint/catalog/workspace/helpers/empty.d.ts.map +1 -0
  158. package/dist/src/unstable/lint/catalog/workspace/helpers/empty.js +16 -0
  159. package/dist/src/unstable/lint/catalog/workspace/helpers/empty.js.map +1 -0
  160. package/dist/src/unstable/lint/catalog/workspace/helpers/install-ops.d.ts +133 -0
  161. package/dist/src/unstable/lint/catalog/workspace/helpers/install-ops.d.ts.map +1 -0
  162. package/dist/src/unstable/lint/catalog/workspace/helpers/install-ops.js +149 -0
  163. package/dist/src/unstable/lint/catalog/workspace/helpers/install-ops.js.map +1 -0
  164. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.d.ts +25 -0
  165. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.d.ts.map +1 -0
  166. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.js +30 -0
  167. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.js.map +1 -0
  168. package/dist/src/unstable/lint/catalog/workspace/initialized.d.ts +22 -0
  169. package/dist/src/unstable/lint/catalog/workspace/initialized.d.ts.map +1 -0
  170. package/dist/src/unstable/lint/catalog/workspace/initialized.js +55 -0
  171. package/dist/src/unstable/lint/catalog/workspace/initialized.js.map +1 -0
  172. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.d.ts +33 -0
  173. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.d.ts.map +1 -0
  174. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.js +125 -0
  175. package/dist/src/unstable/lint/catalog/workspace/lockfile-valid.js.map +1 -0
  176. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.d.ts +19 -0
  177. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.d.ts.map +1 -0
  178. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js +145 -0
  179. package/dist/src/unstable/lint/catalog/workspace/packs-declarations-valid.js.map +1 -0
  180. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.d.ts +17 -0
  181. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.d.ts.map +1 -0
  182. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.js +107 -0
  183. package/dist/src/unstable/lint/catalog/workspace/packs-dependencies-resolved.js.map +1 -0
  184. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.d.ts +22 -0
  185. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.d.ts.map +1 -0
  186. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.js +163 -0
  187. package/dist/src/unstable/lint/catalog/workspace/packs-members-retained.js.map +1 -0
  188. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.d.ts +28 -0
  189. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.d.ts.map +1 -0
  190. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js +67 -0
  191. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js.map +1 -0
  192. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.d.ts +30 -0
  193. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.d.ts.map +1 -0
  194. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.js +232 -0
  195. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-clean.js.map +1 -0
  196. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.d.ts +26 -0
  197. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.d.ts.map +1 -0
  198. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.js +129 -0
  199. package/dist/src/unstable/lint/catalog/workspace/skills-artifacts-correct.js.map +1 -0
  200. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts +26 -0
  201. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.d.ts.map +1 -0
  202. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js +151 -0
  203. package/dist/src/unstable/lint/catalog/workspace/skills-declarations-valid.js.map +1 -0
  204. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.d.ts +29 -0
  205. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.d.ts.map +1 -0
  206. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.js +149 -0
  207. package/dist/src/unstable/lint/catalog/workspace/skills-integrity-valid.js.map +1 -0
  208. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.d.ts +29 -0
  209. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.d.ts.map +1 -0
  210. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js +242 -0
  211. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js.map +1 -0
  212. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.d.ts +141 -0
  213. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.d.ts.map +1 -0
  214. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.js +123 -0
  215. package/dist/src/unstable/lint/catalog/workspace-accessor/contexts.js.map +1 -0
  216. package/dist/src/unstable/lint/catalog/workspace-accessor/interpret-ops.d.ts +38 -0
  217. package/dist/src/unstable/lint/catalog/workspace-accessor/interpret-ops.d.ts.map +1 -0
  218. package/dist/src/unstable/lint/catalog/workspace-accessor/interpret-ops.js +311 -0
  219. package/dist/src/unstable/lint/catalog/workspace-accessor/interpret-ops.js.map +1 -0
  220. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.d.ts +60 -0
  221. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.d.ts.map +1 -0
  222. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.js +201 -0
  223. package/dist/src/unstable/lint/catalog/workspace-accessor/platform.js.map +1 -0
  224. package/dist/src/unstable/lint/catalog/workspace-accessor/test-state.d.ts +65 -0
  225. package/dist/src/unstable/lint/catalog/workspace-accessor/test-state.d.ts.map +1 -0
  226. package/dist/src/unstable/lint/catalog/workspace-accessor/test-state.js +95 -0
  227. package/dist/src/unstable/lint/catalog/workspace-accessor/test-state.js.map +1 -0
  228. package/dist/src/unstable/lint/catalog/workspace.d.ts +47 -0
  229. package/dist/src/unstable/lint/catalog/workspace.d.ts.map +1 -0
  230. package/dist/src/unstable/lint/catalog/workspace.js +80 -0
  231. package/dist/src/unstable/lint/catalog/workspace.js.map +1 -0
  232. package/dist/src/unstable/lint/cli.d.ts +297 -0
  233. package/dist/src/unstable/lint/cli.d.ts.map +1 -0
  234. package/dist/src/unstable/lint/cli.js +388 -0
  235. package/dist/src/unstable/lint/cli.js.map +1 -0
  236. package/dist/src/unstable/lint/compose-path.d.ts +27 -0
  237. package/dist/src/unstable/lint/compose-path.d.ts.map +1 -0
  238. package/dist/src/unstable/lint/compose-path.js +61 -0
  239. package/dist/src/unstable/lint/compose-path.js.map +1 -0
  240. package/dist/src/unstable/lint/config.d.ts +103 -0
  241. package/dist/src/unstable/lint/config.d.ts.map +1 -0
  242. package/dist/src/unstable/lint/config.js +137 -0
  243. package/dist/src/unstable/lint/config.js.map +1 -0
  244. package/dist/src/unstable/lint/context.d.ts +265 -0
  245. package/dist/src/unstable/lint/context.d.ts.map +1 -0
  246. package/dist/src/unstable/lint/context.js +21 -0
  247. package/dist/src/unstable/lint/context.js.map +1 -0
  248. package/dist/src/unstable/lint/evaluate.d.ts +68 -0
  249. package/dist/src/unstable/lint/evaluate.d.ts.map +1 -0
  250. package/dist/src/unstable/lint/evaluate.js +147 -0
  251. package/dist/src/unstable/lint/evaluate.js.map +1 -0
  252. package/dist/src/unstable/lint/index.d.ts +28 -0
  253. package/dist/src/unstable/lint/index.d.ts.map +1 -0
  254. package/dist/src/unstable/lint/index.js +35 -0
  255. package/dist/src/unstable/lint/index.js.map +1 -0
  256. package/dist/src/unstable/lint/issues-to-findings.d.ts +35 -0
  257. package/dist/src/unstable/lint/issues-to-findings.d.ts.map +1 -0
  258. package/dist/src/unstable/lint/issues-to-findings.js +97 -0
  259. package/dist/src/unstable/lint/issues-to-findings.js.map +1 -0
  260. package/dist/src/unstable/lint/rule.d.ts +139 -0
  261. package/dist/src/unstable/lint/rule.d.ts.map +1 -0
  262. package/dist/src/unstable/lint/rule.js +25 -0
  263. package/dist/src/unstable/lint/rule.js.map +1 -0
  264. package/dist/src/unstable/lockfile/schema.d.ts +404 -404
  265. package/dist/src/unstable/mcp-servers/manager.d.ts +1 -1
  266. package/dist/src/unstable/mcp-servers/manager.d.ts.map +1 -1
  267. package/dist/src/unstable/mcp-servers/manager.js +1 -1
  268. package/dist/src/unstable/mcp-servers/manager.js.map +1 -1
  269. package/dist/src/unstable/mcp-servers/operations/install.d.ts +1 -1
  270. package/dist/src/unstable/mcp-servers/operations/install.d.ts.map +1 -1
  271. package/dist/src/unstable/mcp-servers/operations/publish.d.ts +1 -1
  272. package/dist/src/unstable/mcp-servers/operations/publish.d.ts.map +1 -1
  273. package/dist/src/unstable/mcp-servers/operations/uninstall.d.ts +1 -1
  274. package/dist/src/unstable/mcp-servers/operations/uninstall.d.ts.map +1 -1
  275. package/dist/src/unstable/packs/manager.d.ts +1 -1
  276. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  277. package/dist/src/unstable/packs/manager.js +1 -1
  278. package/dist/src/unstable/packs/manager.js.map +1 -1
  279. package/dist/src/unstable/packs/operations/add-to-pack.d.ts +2 -2
  280. package/dist/src/unstable/packs/operations/add-to-pack.d.ts.map +1 -1
  281. package/dist/src/unstable/packs/operations/install.d.ts +2 -2
  282. package/dist/src/unstable/packs/operations/install.d.ts.map +1 -1
  283. package/dist/src/unstable/packs/operations/install.js +41 -0
  284. package/dist/src/unstable/packs/operations/install.js.map +1 -1
  285. package/dist/src/unstable/packs/operations/new-pack.d.ts +2 -2
  286. package/dist/src/unstable/packs/operations/new-pack.d.ts.map +1 -1
  287. package/dist/src/unstable/packs/operations/publish.d.ts +2 -2
  288. package/dist/src/unstable/packs/operations/publish.d.ts.map +1 -1
  289. package/dist/src/unstable/packs/operations/publish.js +1 -0
  290. package/dist/src/unstable/packs/operations/publish.js.map +1 -1
  291. package/dist/src/unstable/packs/operations/remove-from-pack.d.ts +2 -2
  292. package/dist/src/unstable/packs/operations/remove-from-pack.d.ts.map +1 -1
  293. package/dist/src/unstable/packs/operations/uninstall.d.ts +2 -2
  294. package/dist/src/unstable/packs/operations/uninstall.d.ts.map +1 -1
  295. package/dist/src/unstable/packs/operations/unpack.d.ts +2 -2
  296. package/dist/src/unstable/packs/operations/unpack.d.ts.map +1 -1
  297. package/dist/src/unstable/{workspace → plan}/apply-plan.d.ts +9 -0
  298. package/dist/src/unstable/plan/apply-plan.d.ts.map +1 -0
  299. package/dist/src/unstable/{workspace → plan}/apply-plan.js +10 -1
  300. package/dist/src/unstable/plan/apply-plan.js.map +1 -0
  301. package/dist/src/unstable/plan/index.d.ts +24 -0
  302. package/dist/src/unstable/plan/index.d.ts.map +1 -0
  303. package/dist/src/unstable/plan/index.js +28 -0
  304. package/dist/src/unstable/plan/index.js.map +1 -0
  305. package/dist/src/unstable/{workspace → plan}/plan.d.ts +6 -0
  306. package/dist/src/unstable/plan/plan.d.ts.map +1 -0
  307. package/dist/src/unstable/{workspace → plan}/plan.js +6 -0
  308. package/dist/src/unstable/plan/plan.js.map +1 -0
  309. package/dist/src/unstable/{workspace → plan}/resolve-plan.d.ts +30 -2
  310. package/dist/src/unstable/plan/resolve-plan.d.ts.map +1 -0
  311. package/dist/src/unstable/{workspace → plan}/resolve-plan.js +37 -6
  312. package/dist/src/unstable/plan/resolve-plan.js.map +1 -0
  313. package/dist/src/unstable/publish/manifest-policy.d.ts +8 -8
  314. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +675 -518
  315. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  316. package/dist/src/unstable/registry/__generated__/registry-client.js +546 -396
  317. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  318. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  319. package/dist/src/unstable/registry/remote-client.js +123 -18
  320. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  321. package/dist/src/unstable/registry/schema.d.ts +2 -2
  322. package/dist/src/unstable/settings/index.d.ts +2 -0
  323. package/dist/src/unstable/settings/index.d.ts.map +1 -1
  324. package/dist/src/unstable/settings/index.js +1 -0
  325. package/dist/src/unstable/settings/index.js.map +1 -1
  326. package/dist/src/unstable/settings/schema.d.ts +3 -0
  327. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  328. package/dist/src/unstable/settings/schema.js +3 -0
  329. package/dist/src/unstable/settings/schema.js.map +1 -1
  330. package/dist/src/unstable/settings/settings.d.ts +10 -0
  331. package/dist/src/unstable/settings/settings.d.ts.map +1 -1
  332. package/dist/src/unstable/skills/manager.d.ts +1 -1
  333. package/dist/src/unstable/skills/manager.d.ts.map +1 -1
  334. package/dist/src/unstable/skills/manager.js +2 -2
  335. package/dist/src/unstable/skills/manager.js.map +1 -1
  336. package/dist/src/unstable/skills/materialization.js +1 -1
  337. package/dist/src/unstable/skills/materialization.js.map +1 -1
  338. package/dist/src/unstable/skills/operations/copy.d.ts +2 -2
  339. package/dist/src/unstable/skills/operations/copy.d.ts.map +1 -1
  340. package/dist/src/unstable/skills/operations/disable.d.ts +2 -2
  341. package/dist/src/unstable/skills/operations/disable.d.ts.map +1 -1
  342. package/dist/src/unstable/skills/operations/enable.d.ts +2 -2
  343. package/dist/src/unstable/skills/operations/enable.d.ts.map +1 -1
  344. package/dist/src/unstable/skills/operations/install.d.ts +2 -2
  345. package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
  346. package/dist/src/unstable/skills/operations/install.js +1 -1
  347. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  348. package/dist/src/unstable/skills/operations/new-skill.d.ts +2 -2
  349. package/dist/src/unstable/skills/operations/new-skill.d.ts.map +1 -1
  350. package/dist/src/unstable/skills/operations/publish.d.ts +2 -2
  351. package/dist/src/unstable/skills/operations/publish.d.ts.map +1 -1
  352. package/dist/src/unstable/skills/operations/rename.d.ts +2 -2
  353. package/dist/src/unstable/skills/operations/rename.d.ts.map +1 -1
  354. package/dist/src/unstable/skills/operations/uninstall.d.ts +2 -2
  355. package/dist/src/unstable/skills/operations/uninstall.d.ts.map +1 -1
  356. package/dist/src/unstable/skills/operations/uninstall.js +1 -1
  357. package/dist/src/unstable/skills/operations/uninstall.js.map +1 -1
  358. package/dist/src/unstable/source-resolution/service.d.ts +1 -1
  359. package/dist/src/unstable/source-resolution/service.d.ts.map +1 -1
  360. package/dist/src/unstable/source-resolution/service.js +1 -1
  361. package/dist/src/unstable/source-resolution/service.js.map +1 -1
  362. package/dist/src/unstable/sources/types.d.ts +29 -29
  363. package/dist/src/unstable/sources/types.d.ts.map +1 -1
  364. package/dist/src/unstable/subagents/manager.d.ts +1 -1
  365. package/dist/src/unstable/subagents/manager.d.ts.map +1 -1
  366. package/dist/src/unstable/subagents/manager.js +4 -4
  367. package/dist/src/unstable/subagents/manager.js.map +1 -1
  368. package/dist/src/unstable/subagents/manifest-schema.js +2 -2
  369. package/dist/src/unstable/subagents/manifest-schema.js.map +1 -1
  370. package/dist/src/unstable/subagents/operations/disable.d.ts +2 -2
  371. package/dist/src/unstable/subagents/operations/disable.d.ts.map +1 -1
  372. package/dist/src/unstable/subagents/operations/enable.d.ts +2 -2
  373. package/dist/src/unstable/subagents/operations/enable.d.ts.map +1 -1
  374. package/dist/src/unstable/subagents/operations/publish.d.ts +2 -2
  375. package/dist/src/unstable/subagents/operations/publish.d.ts.map +1 -1
  376. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts +20 -12
  377. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts.map +1 -1
  378. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js +11 -3
  379. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js.map +1 -1
  380. package/dist/src/unstable/telemetry/client.d.ts +1 -1
  381. package/dist/src/unstable/telemetry/client.d.ts.map +1 -1
  382. package/dist/src/unstable/telemetry/client.js +1 -1
  383. package/dist/src/unstable/telemetry/client.js.map +1 -1
  384. package/dist/src/unstable/update-check/update-check.d.ts +1 -1
  385. package/dist/src/unstable/update-check/update-check.d.ts.map +1 -1
  386. package/dist/src/unstable/update-check/update-check.js +1 -1
  387. package/dist/src/unstable/update-check/update-check.js.map +1 -1
  388. package/dist/src/unstable/utils/fs-helpers.d.ts +7 -6
  389. package/dist/src/unstable/utils/fs-helpers.d.ts.map +1 -1
  390. package/dist/src/unstable/utils/fs-helpers.js +9 -9
  391. package/dist/src/unstable/utils/fs-helpers.js.map +1 -1
  392. package/dist/src/unstable/workflows/install-command/workflow.d.ts +1 -1
  393. package/dist/src/unstable/workflows/install-command/workflow.d.ts.map +1 -1
  394. package/dist/src/unstable/workflows/install-command/workflow.js +1 -1
  395. package/dist/src/unstable/workflows/install-command/workflow.js.map +1 -1
  396. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts +1 -1
  397. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts.map +1 -1
  398. package/dist/src/unstable/workflows/uninstall-command/workflow.js +1 -1
  399. package/dist/src/unstable/workflows/uninstall-command/workflow.js.map +1 -1
  400. package/dist/src/unstable/workspace/augment-plan.d.ts +1 -1
  401. package/dist/src/unstable/workspace/augment-plan.d.ts.map +1 -1
  402. package/dist/src/unstable/workspace/display-plan.d.ts +1 -1
  403. package/dist/src/unstable/workspace/display-plan.d.ts.map +1 -1
  404. package/dist/src/unstable/workspace/display-plan.js +1 -1
  405. package/dist/src/unstable/workspace/display-plan.js.map +1 -1
  406. package/dist/src/unstable/workspace/index.d.ts +1 -5
  407. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  408. package/dist/src/unstable/workspace/index.js +5 -7
  409. package/dist/src/unstable/workspace/index.js.map +1 -1
  410. package/dist/src/unstable/workspace/initialization-interaction.d.ts +1 -1
  411. package/dist/src/unstable/workspace/initialization-interaction.d.ts.map +1 -1
  412. package/dist/src/unstable/workspace/initialization-interaction.js +1 -1
  413. package/dist/src/unstable/workspace/initialization-interaction.js.map +1 -1
  414. package/dist/src/unstable/workspace/initialization.d.ts +15 -0
  415. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  416. package/dist/src/unstable/workspace/initialization.js +2 -2
  417. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  418. package/dist/src/unstable/workspace/paths.d.ts +4 -21
  419. package/dist/src/unstable/workspace/paths.d.ts.map +1 -1
  420. package/dist/src/unstable/workspace/paths.js +19 -8
  421. package/dist/src/unstable/workspace/paths.js.map +1 -1
  422. package/dist/src/unstable/workspace/reconciliation.d.ts +1 -1
  423. package/dist/src/unstable/workspace/reconciliation.d.ts.map +1 -1
  424. package/dist/src/unstable/workspace/resolve-plan-interaction.d.ts +1 -1
  425. package/dist/src/unstable/workspace/resolve-plan-interaction.d.ts.map +1 -1
  426. package/dist/src/unstable/workspace/resolve-plan-interaction.js +1 -1
  427. package/dist/src/unstable/workspace/resolve-plan-interaction.js.map +1 -1
  428. package/dist/src/unstable/workspace/scan-plan-readiness.d.ts +1 -1
  429. package/dist/src/unstable/workspace/scan-plan-readiness.d.ts.map +1 -1
  430. package/dist/src/unstable/workspace/service-interface.d.ts +3 -1
  431. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  432. package/dist/src/unstable/workspace/service-interface.js +1 -1
  433. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  434. package/dist/src/unstable/workspace/service.js +1 -1
  435. package/dist/src/unstable/workspace/service.js.map +1 -1
  436. package/dist/src/unstable/workspace/settings-validation/types.d.ts +11 -1
  437. package/dist/src/unstable/workspace/settings-validation/types.d.ts.map +1 -1
  438. package/dist/src/unstable/workspace/version-currency/check-currency.d.ts +41 -0
  439. package/dist/src/unstable/workspace/version-currency/check-currency.d.ts.map +1 -0
  440. package/dist/src/unstable/workspace/version-currency/check-currency.js +50 -0
  441. package/dist/src/unstable/workspace/version-currency/check-currency.js.map +1 -0
  442. package/dist/src/unstable/workspace/version-currency/collectors.d.ts +55 -0
  443. package/dist/src/unstable/workspace/version-currency/collectors.d.ts.map +1 -0
  444. package/dist/src/unstable/workspace/version-currency/collectors.js +127 -0
  445. package/dist/src/unstable/workspace/version-currency/collectors.js.map +1 -0
  446. package/dist/src/unstable/workspace/version-currency/index.d.ts +11 -0
  447. package/dist/src/unstable/workspace/version-currency/index.d.ts.map +1 -0
  448. package/dist/src/unstable/workspace/version-currency/index.js +11 -0
  449. package/dist/src/unstable/workspace/version-currency/index.js.map +1 -0
  450. package/dist/src/unstable/workspace/version-currency/test-stubs.d.ts +5 -0
  451. package/dist/src/unstable/workspace/version-currency/test-stubs.d.ts.map +1 -0
  452. package/dist/src/unstable/workspace/version-currency/test-stubs.js +31 -0
  453. package/dist/src/unstable/workspace/version-currency/test-stubs.js.map +1 -0
  454. package/package.json +14 -6
  455. package/dist/src/unstable/workspace/apply-plan.d.ts.map +0 -1
  456. package/dist/src/unstable/workspace/apply-plan.js.map +0 -1
  457. package/dist/src/unstable/workspace/doctor/check-def.d.ts +0 -29
  458. package/dist/src/unstable/workspace/doctor/check-def.d.ts.map +0 -1
  459. package/dist/src/unstable/workspace/doctor/check-def.js +0 -17
  460. package/dist/src/unstable/workspace/doctor/check-def.js.map +0 -1
  461. package/dist/src/unstable/workspace/doctor/checks/agents-configured.d.ts +0 -5
  462. package/dist/src/unstable/workspace/doctor/checks/agents-configured.d.ts.map +0 -1
  463. package/dist/src/unstable/workspace/doctor/checks/agents-configured.js +0 -170
  464. package/dist/src/unstable/workspace/doctor/checks/agents-configured.js.map +0 -1
  465. package/dist/src/unstable/workspace/doctor/checks/extensions-installed.d.ts +0 -5
  466. package/dist/src/unstable/workspace/doctor/checks/extensions-installed.d.ts.map +0 -1
  467. package/dist/src/unstable/workspace/doctor/checks/extensions-installed.js +0 -472
  468. package/dist/src/unstable/workspace/doctor/checks/extensions-installed.js.map +0 -1
  469. package/dist/src/unstable/workspace/doctor/checks/workspace-ready.d.ts +0 -5
  470. package/dist/src/unstable/workspace/doctor/checks/workspace-ready.d.ts.map +0 -1
  471. package/dist/src/unstable/workspace/doctor/checks/workspace-ready.js +0 -201
  472. package/dist/src/unstable/workspace/doctor/checks/workspace-ready.js.map +0 -1
  473. package/dist/src/unstable/workspace/doctor/diagnose.d.ts +0 -49
  474. package/dist/src/unstable/workspace/doctor/diagnose.d.ts.map +0 -1
  475. package/dist/src/unstable/workspace/doctor/diagnose.js +0 -65
  476. package/dist/src/unstable/workspace/doctor/diagnose.js.map +0 -1
  477. package/dist/src/unstable/workspace/doctor/index.d.ts +0 -8
  478. package/dist/src/unstable/workspace/doctor/index.d.ts.map +0 -1
  479. package/dist/src/unstable/workspace/doctor/index.js +0 -6
  480. package/dist/src/unstable/workspace/doctor/index.js.map +0 -1
  481. package/dist/src/unstable/workspace/doctor/rollup.d.ts +0 -4
  482. package/dist/src/unstable/workspace/doctor/rollup.d.ts.map +0 -1
  483. package/dist/src/unstable/workspace/doctor/rollup.js +0 -28
  484. package/dist/src/unstable/workspace/doctor/rollup.js.map +0 -1
  485. package/dist/src/unstable/workspace/doctor/runner.d.ts +0 -6
  486. package/dist/src/unstable/workspace/doctor/runner.d.ts.map +0 -1
  487. package/dist/src/unstable/workspace/doctor/runner.js +0 -179
  488. package/dist/src/unstable/workspace/doctor/runner.js.map +0 -1
  489. package/dist/src/unstable/workspace/doctor/types.d.ts +0 -125
  490. package/dist/src/unstable/workspace/doctor/types.d.ts.map +0 -1
  491. package/dist/src/unstable/workspace/doctor/types.js +0 -58
  492. package/dist/src/unstable/workspace/doctor/types.js.map +0 -1
  493. package/dist/src/unstable/workspace/plan.d.ts.map +0 -1
  494. package/dist/src/unstable/workspace/plan.js.map +0 -1
  495. package/dist/src/unstable/workspace/resolve-plan.d.ts.map +0 -1
  496. package/dist/src/unstable/workspace/resolve-plan.js.map +0 -1
  497. package/dist/src/unstable/workspace/sync.d.ts +0 -17
  498. package/dist/src/unstable/workspace/sync.d.ts.map +0 -1
  499. package/dist/src/unstable/workspace/sync.js +0 -142
  500. package/dist/src/unstable/workspace/sync.js.map +0 -1
@@ -0,0 +1,242 @@
1
+ /**
2
+ * `workspace/skills-lockfile-aligned` — skill lock entries correspond 1:1 to
3
+ * declared skills at satisfying versions.
4
+ *
5
+ * Cascade per `docs/design/lint-engine.md §10.workspace.Skills` (first
6
+ * failing arm per affected entity):
7
+ *
8
+ * 1. **Missing** — every declared skill has a matching lock entry.
9
+ * Autofix: `install-skill` with `force: false` per missing declaration.
10
+ * 2. **Orphan** — every skill lock entry has a matching declaration **or**
11
+ * is `retainedByPack: true` AND a matching installed declared pack
12
+ * declares it. Autofix: `uninstall-skill` per orphan lock entry.
13
+ * Retention carve-out: `retainedByPack: true` entries whose FQN appears
14
+ * in the resolved-map of at least one installed declared pack are NOT
15
+ * orphans.
16
+ * 3. **Version skew** — each lock entry's `resolvedVersion` satisfies the
17
+ * declared version constraint (for registry sources). Autofix:
18
+ * `install-skill` with `force: true`.
19
+ *
20
+ * One finding per affected entity. Autofixing — each arm emits exactly one
21
+ * Operation per affected entity.
22
+ *
23
+ * @experimental This API is unstable and may change without notice.
24
+ * @packageDocumentation
25
+ */
26
+ import * as Effect from "effect/Effect";
27
+ import * as Option from "effect/Option";
28
+ import * as Result from "effect/Result";
29
+ import * as Schema from "effect/Schema";
30
+ import { LockfileSchema } from "../../../lockfile/schema.js";
31
+ import { SettingsSchema } from "../../../settings/schema.js";
32
+ import { installSkillOp, uninstallSkillOp } from "./helpers/install-ops.js";
33
+ import { parseRegistrySource } from "./helpers/registry-source.js";
34
+ import { EMPTY_LINT_FINDINGS, EMPTY_OPERATIONS } from "./helpers/empty.js";
35
+ const RULE_ID = "workspace/skills-lockfile-aligned";
36
+ const LOCKFILE_REL = ".axm/axm-lock.yaml";
37
+ const SUG_MISSING_PREFIX = "Install skill ";
38
+ const SUG_ORPHAN_PREFIX = "Uninstall orphan skill ";
39
+ const SUG_VERSION_PREFIX = "Reinstall skill ";
40
+ const decodeSettings = (input) => {
41
+ const result = Schema.decodeUnknownResult(SettingsSchema)(input, {
42
+ onExcessProperty: "ignore",
43
+ errors: "all",
44
+ });
45
+ return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
46
+ };
47
+ const decodeLockfile = (input) => {
48
+ const result = Schema.decodeUnknownResult(LockfileSchema)(input, {
49
+ onExcessProperty: "ignore",
50
+ errors: "all",
51
+ });
52
+ return Result.isSuccess(result) ? Option.some(result.success) : Option.none();
53
+ };
54
+ const missingFinding = (name, source) => ({
55
+ kind: "autofixable",
56
+ ruleId: RULE_ID,
57
+ severity: "error",
58
+ message: `Skill '${name}' is declared in settings but missing from the lockfile.`,
59
+ suggestions: [`${SUG_MISSING_PREFIX}'${name}' from ${source}.`],
60
+ location: { file: LOCKFILE_REL },
61
+ });
62
+ const orphanFinding = (name) => ({
63
+ kind: "autofixable",
64
+ ruleId: RULE_ID,
65
+ severity: "error",
66
+ message: `Skill '${name}' is present in the lockfile but not declared in settings.`,
67
+ suggestions: [`${SUG_ORPHAN_PREFIX}'${name}' to remove it from the workspace.`],
68
+ location: { file: LOCKFILE_REL },
69
+ });
70
+ const versionFinding = (name, details) => ({
71
+ kind: "autofixable",
72
+ ruleId: RULE_ID,
73
+ severity: "error",
74
+ message: `Skill '${name}' lock version does not satisfy the declared constraint: ${details}.`,
75
+ suggestions: [`${SUG_VERSION_PREFIX}'${name}' at the declared version.`],
76
+ location: { file: LOCKFILE_REL },
77
+ });
78
+ // -----------------------------------------------------------------------------
79
+ // Retention helpers
80
+ // -----------------------------------------------------------------------------
81
+ const isRegistryEntry = (entry) => entry.type === "registry";
82
+ const lockEntryFqn = (entry, name) => {
83
+ if (isRegistryEntry(entry)) {
84
+ return `${entry.owner}/skills/${entry.name}`;
85
+ }
86
+ return `skills/${name}`;
87
+ };
88
+ /**
89
+ * Build the set of FQNs retained by at least one installed declared pack.
90
+ * An entry is retained only when:
91
+ *
92
+ * - its lockfile entry has `retainedByPack: true`, AND
93
+ * - at least one pack lock entry's `resolvedSkills` map has a key matching
94
+ * the entry's FQN, AND
95
+ * - that pack name appears in `settings.packs`.
96
+ */
97
+ const buildRetainedSkillFqns = (settings, lockfile) => {
98
+ const declaredPackNames = new Set(Object.keys(settings.packs ?? {}));
99
+ const retained = new Set();
100
+ const packLock = lockfile.packs ?? {};
101
+ for (const [packName, packEntry] of Object.entries(packLock)) {
102
+ if (!declaredPackNames.has(packName)) {
103
+ continue;
104
+ }
105
+ for (const fqn of Object.keys(packEntry.resolvedSkills)) {
106
+ retained.add(fqn);
107
+ }
108
+ }
109
+ return retained;
110
+ };
111
+ export const skillsLockfileAlignedRule = {
112
+ id: RULE_ID,
113
+ description: "Skill lock entries correspond 1:1 to declared skills at satisfying versions.",
114
+ kind: "autofixing",
115
+ severity: "error",
116
+ check: (context) => Effect.gen(function* () {
117
+ const settingsResult = yield* Effect.result(context.workspace.settings);
118
+ const lockfileResult = yield* Effect.result(context.workspace.lockfile);
119
+ if (Result.isFailure(settingsResult) || Result.isFailure(lockfileResult)) {
120
+ return EMPTY_LINT_FINDINGS;
121
+ }
122
+ const settings = decodeSettings(settingsResult.success);
123
+ if (Option.isNone(settings)) {
124
+ return EMPTY_LINT_FINDINGS;
125
+ }
126
+ const lockOption = lockfileResult.success;
127
+ if (Option.isNone(lockOption)) {
128
+ // workspace/lockfile-valid owns the missing arm.
129
+ return EMPTY_LINT_FINDINGS;
130
+ }
131
+ const lockfile = decodeLockfile(lockOption.value);
132
+ if (Option.isNone(lockfile)) {
133
+ // workspace/lockfile-valid owns the schema arm.
134
+ return EMPTY_LINT_FINDINGS;
135
+ }
136
+ const declaredSkills = settings.value.skills ?? {};
137
+ const lockSkills = lockfile.value.skills;
138
+ const retainedFqns = buildRetainedSkillFqns(settings.value, lockfile.value);
139
+ const findings = [];
140
+ const affected = new Set();
141
+ // Arm 1: missing — declared but no lock entry.
142
+ for (const [name, entry] of Object.entries(declaredSkills)) {
143
+ if (!(name in lockSkills)) {
144
+ findings.push(missingFinding(name, entry.source));
145
+ affected.add(`declared:${name}`);
146
+ }
147
+ }
148
+ // Arm 2: orphan — lock entry but no declaration, and not retained by
149
+ // an installed declared pack.
150
+ for (const [name, entry] of Object.entries(lockSkills)) {
151
+ if (name in declaredSkills) {
152
+ continue;
153
+ }
154
+ if (entry.retainedByPack === true && retainedFqns.has(lockEntryFqn(entry, name))) {
155
+ continue;
156
+ }
157
+ findings.push(orphanFinding(name));
158
+ affected.add(`lock:${name}`);
159
+ }
160
+ // Arm 3: version skew — declared AND in lock, but registry-shaped
161
+ // source constraint not satisfied by resolvedVersion.
162
+ for (const [name, entry] of Object.entries(declaredSkills)) {
163
+ if (affected.has(`declared:${name}`)) {
164
+ continue;
165
+ }
166
+ const lockEntry = lockSkills[name];
167
+ if (lockEntry === undefined || !isRegistryEntry(lockEntry)) {
168
+ continue;
169
+ }
170
+ const parsed = parseRegistrySource(entry.source);
171
+ if (parsed === undefined) {
172
+ continue;
173
+ }
174
+ const constraint = parsed.versionConstraint;
175
+ if (constraint === undefined) {
176
+ continue;
177
+ }
178
+ // Simple exact-match semver check: the only non-heuristic arm we
179
+ // can enforce without pulling in the semver lib here. Range checks
180
+ // defer to the CLI adapter (Phase 5).
181
+ if (constraint !== lockEntry.resolvedVersion) {
182
+ findings.push(versionFinding(name, `declared ${constraint}, locked ${lockEntry.resolvedVersion}`));
183
+ }
184
+ }
185
+ return findings;
186
+ }),
187
+ fix: (context, finding) => Effect.gen(function* () {
188
+ const s0 = finding.suggestions[0];
189
+ if (s0.startsWith(SUG_MISSING_PREFIX)) {
190
+ const name = extractSkillName(s0);
191
+ if (name === undefined) {
192
+ return EMPTY_OPERATIONS;
193
+ }
194
+ const settingsResult = yield* Effect.result(context.workspace.settings);
195
+ if (Result.isFailure(settingsResult)) {
196
+ return EMPTY_OPERATIONS;
197
+ }
198
+ const settings = decodeSettings(settingsResult.success);
199
+ if (Option.isNone(settings)) {
200
+ return EMPTY_OPERATIONS;
201
+ }
202
+ const entry = settings.value.skills?.[name];
203
+ if (entry === undefined) {
204
+ return EMPTY_OPERATIONS;
205
+ }
206
+ return [installSkillOp({ name, source: entry.source, force: false })];
207
+ }
208
+ if (s0.startsWith(SUG_ORPHAN_PREFIX)) {
209
+ const name = extractSkillName(s0);
210
+ if (name === undefined) {
211
+ return EMPTY_OPERATIONS;
212
+ }
213
+ return [uninstallSkillOp({ name })];
214
+ }
215
+ if (s0.startsWith(SUG_VERSION_PREFIX)) {
216
+ const name = extractSkillName(s0);
217
+ if (name === undefined) {
218
+ return EMPTY_OPERATIONS;
219
+ }
220
+ const settingsResult = yield* Effect.result(context.workspace.settings);
221
+ if (Result.isFailure(settingsResult)) {
222
+ return EMPTY_OPERATIONS;
223
+ }
224
+ const settings = decodeSettings(settingsResult.success);
225
+ if (Option.isNone(settings)) {
226
+ return EMPTY_OPERATIONS;
227
+ }
228
+ const entry = settings.value.skills?.[name];
229
+ if (entry === undefined) {
230
+ return EMPTY_OPERATIONS;
231
+ }
232
+ return [installSkillOp({ name, source: entry.source, force: true })];
233
+ }
234
+ return EMPTY_OPERATIONS;
235
+ }),
236
+ };
237
+ const NAME_FROM_SUGGESTION_RE = /'([^']+)'/;
238
+ const extractSkillName = (suggestion) => {
239
+ const match = NAME_FROM_SUGGESTION_RE.exec(suggestion);
240
+ return match?.[1];
241
+ };
242
+ //# sourceMappingURL=skills-lockfile-aligned.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-lockfile-aligned.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace/skills-lockfile-aligned.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * `WorkspaceIndex` and `buildWorkspaceRuleContext`.
3
+ *
4
+ * The `WorkspaceIndex` satisfies both Phase 3a's `SkillIndexView` and Phase
5
+ * 3b's `PackIndexView` — it exposes `installedSkills: InstalledSkillInfo[]`
6
+ * and `installedPacks: InstalledPackInfo[]` with per-provenance
7
+ * `displayRoot`s:
8
+ *
9
+ * Registry-installed native skill: `.axm/extensions/<@owner>/skills/<name>/src/`
10
+ * External skill: `.axm/extensions/external/skills/<name>/`
11
+ * Registry pack: `.axm/extensions/<@owner>/packs/<name>/`
12
+ * (NO `src/` — matches the on-disk layout
13
+ * per Phase 3b finding.)
14
+ *
15
+ * The `buildWorkspaceRuleContext` helper constructs a `WorkspaceRuleContext`
16
+ * from a resolved `WorkspaceLintAccessor` and a requested scope. User-scope
17
+ * root resolution for v1 is `$AXM_USER_HOME/.axm/` when set, otherwise
18
+ * `$HOME/.axm/`; a follow-up owns the broader XDG story.
19
+ *
20
+ * @experimental This API is unstable and may change without notice.
21
+ * @packageDocumentation
22
+ */
23
+ import type * as FileSystem from "effect/FileSystem";
24
+ import type * as Path from "effect/Path";
25
+ import type { WorkspaceRuleContext } from "../../context.js";
26
+ import { type InstalledSkillInfo, type SkillIndexView } from "../skill-accessor/contexts.js";
27
+ import { type InstalledPackInfo, type PackIndexView } from "../pack-accessor/contexts.js";
28
+ import type { WorkspaceAccessorPlatform } from "./platform.js";
29
+ /**
30
+ * The `WorkspaceIndex` shape — satisfies `SkillIndexView` and `PackIndexView`
31
+ * simultaneously, so it can be passed to `buildSkillRuleContexts` and
32
+ * `buildPackRuleContexts` without adaptation. The implementation yields
33
+ * `SkillRuleContext[]` / `PackRuleContext[]` via the respective builders.
34
+ *
35
+ * @experimental This API is unstable and may change without notice.
36
+ */
37
+ export interface WorkspaceIndex extends SkillIndexView, PackIndexView {
38
+ readonly installedSkills: ReadonlyArray<InstalledSkillInfo>;
39
+ readonly installedPacks: ReadonlyArray<InstalledPackInfo>;
40
+ }
41
+ /**
42
+ * Argument shape for `buildWorkspaceRuleContext`.
43
+ */
44
+ export interface BuildWorkspaceRuleContextArgs {
45
+ readonly platform: WorkspaceAccessorPlatform;
46
+ readonly workspaceRoot: string;
47
+ readonly index: WorkspaceIndex;
48
+ readonly scope: "project" | "user";
49
+ /**
50
+ * Optional `displayRoot` override. Defaults to `""` (accessor-relative
51
+ * paths render under the workspace root).
52
+ */
53
+ readonly displayRoot?: string;
54
+ }
55
+ /**
56
+ * Construct a `WorkspaceRuleContext` scoped to project or user.
57
+ *
58
+ * @experimental This API is unstable and may change without notice.
59
+ */
60
+ export declare const buildWorkspaceRuleContext: (args: BuildWorkspaceRuleContextArgs) => WorkspaceRuleContext;
61
+ /**
62
+ * Compute the `displayRoot` for a registry-installed native skill.
63
+ *
64
+ * @experimental This API is unstable and may change without notice.
65
+ */
66
+ export declare const registryNativeSkillDisplayRoot: (owner: string, name: string) => string;
67
+ /**
68
+ * Compute the `displayRoot` for an external (non-native) skill.
69
+ *
70
+ * @experimental This API is unstable and may change without notice.
71
+ */
72
+ export declare const externalSkillDisplayRoot: (name: string) => string;
73
+ /**
74
+ * Compute the `displayRoot` for a registry-installed pack.
75
+ *
76
+ * **No `src/` segment** — matches the on-disk layout at
77
+ * `axm/packages/core/src/unstable/packs/paths.ts#computeExtensionPackPaths`
78
+ * (Phase 3b finding).
79
+ *
80
+ * @experimental This API is unstable and may change without notice.
81
+ */
82
+ export declare const registryPackDisplayRoot: (owner: string, name: string) => string;
83
+ /**
84
+ * Options for building an `InstalledSkillInfo` for a registry-installed
85
+ * native skill. `owner` and `name` pin the on-disk layout.
86
+ */
87
+ export interface BuildInstalledSkillInfoNativeArgs {
88
+ readonly platform: {
89
+ readonly fs: FileSystem.FileSystem;
90
+ readonly path: Path.Path;
91
+ };
92
+ readonly workspaceRoot: string;
93
+ readonly owner: string;
94
+ readonly name: string;
95
+ readonly skillJson: unknown;
96
+ }
97
+ /**
98
+ * Build an `InstalledSkillInfo` rooted at `.axm/extensions/<owner>/skills/<name>/src/`.
99
+ *
100
+ * @experimental This API is unstable and may change without notice.
101
+ */
102
+ export declare const buildNativeInstalledSkillInfo: (args: BuildInstalledSkillInfoNativeArgs) => InstalledSkillInfo;
103
+ /**
104
+ * Options for building an `InstalledSkillInfo` for an external (non-native) skill.
105
+ */
106
+ export interface BuildInstalledSkillInfoExternalArgs {
107
+ readonly platform: {
108
+ readonly fs: FileSystem.FileSystem;
109
+ readonly path: Path.Path;
110
+ };
111
+ readonly workspaceRoot: string;
112
+ readonly name: string;
113
+ }
114
+ /**
115
+ * Build an `InstalledSkillInfo` rooted at `.axm/extensions/external/skills/<name>/`.
116
+ *
117
+ * @experimental This API is unstable and may change without notice.
118
+ */
119
+ export declare const buildExternalInstalledSkillInfo: (args: BuildInstalledSkillInfoExternalArgs) => InstalledSkillInfo;
120
+ /**
121
+ * Options for building an `InstalledPackInfo` for a registry-installed pack.
122
+ */
123
+ export interface BuildInstalledPackInfoArgs {
124
+ readonly platform: {
125
+ readonly fs: FileSystem.FileSystem;
126
+ readonly path: Path.Path;
127
+ };
128
+ readonly workspaceRoot: string;
129
+ readonly owner: string;
130
+ readonly name: string;
131
+ readonly packJson: unknown;
132
+ }
133
+ /**
134
+ * Build an `InstalledPackInfo` rooted at `.axm/extensions/<owner>/packs/<name>/`.
135
+ *
136
+ * **No `src/` segment** — matches the on-disk pack layout.
137
+ *
138
+ * @experimental This API is unstable and may change without notice.
139
+ */
140
+ export declare const buildInstalledPackInfo: (args: BuildInstalledPackInfoArgs) => InstalledPackInfo;
141
+ //# sourceMappingURL=contexts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * `WorkspaceIndex` and `buildWorkspaceRuleContext`.
3
+ *
4
+ * The `WorkspaceIndex` satisfies both Phase 3a's `SkillIndexView` and Phase
5
+ * 3b's `PackIndexView` — it exposes `installedSkills: InstalledSkillInfo[]`
6
+ * and `installedPacks: InstalledPackInfo[]` with per-provenance
7
+ * `displayRoot`s:
8
+ *
9
+ * Registry-installed native skill: `.axm/extensions/<@owner>/skills/<name>/src/`
10
+ * External skill: `.axm/extensions/external/skills/<name>/`
11
+ * Registry pack: `.axm/extensions/<@owner>/packs/<name>/`
12
+ * (NO `src/` — matches the on-disk layout
13
+ * per Phase 3b finding.)
14
+ *
15
+ * The `buildWorkspaceRuleContext` helper constructs a `WorkspaceRuleContext`
16
+ * from a resolved `WorkspaceLintAccessor` and a requested scope. User-scope
17
+ * root resolution for v1 is `$AXM_USER_HOME/.axm/` when set, otherwise
18
+ * `$HOME/.axm/`; a follow-up owns the broader XDG story.
19
+ *
20
+ * @experimental This API is unstable and may change without notice.
21
+ * @packageDocumentation
22
+ */
23
+ import * as Effect from "effect/Effect";
24
+ import { buildSkillRuleContexts, } from "../skill-accessor/contexts.js";
25
+ import { buildPackRuleContexts, } from "../pack-accessor/contexts.js";
26
+ import { makePlatformSkillFileAccessor } from "../skill-accessor/platform.js";
27
+ import { makePlatformPackFileAccessor } from "../pack-accessor/platform.js";
28
+ import { makePlatformWorkspaceLintAccessor } from "./platform.js";
29
+ /**
30
+ * Construct a `WorkspaceRuleContext` scoped to project or user.
31
+ *
32
+ * @experimental This API is unstable and may change without notice.
33
+ */
34
+ export const buildWorkspaceRuleContext = (args) => {
35
+ const indexView = toWorkspaceIndexView(args.index);
36
+ const accessor = makePlatformWorkspaceLintAccessor({
37
+ platform: args.platform,
38
+ workspaceRoot: args.workspaceRoot,
39
+ index: indexView,
40
+ scope: args.scope,
41
+ });
42
+ return {
43
+ subject: { root: args.workspaceRoot, scope: args.scope },
44
+ workspace: accessor,
45
+ displayRoot: args.displayRoot ?? "",
46
+ };
47
+ };
48
+ // -----------------------------------------------------------------------------
49
+ // Index → accessor plumbing
50
+ // -----------------------------------------------------------------------------
51
+ const toWorkspaceIndexView = (index) => ({
52
+ installedSkills: Effect.sync(() => buildSkillRuleContexts(index)),
53
+ installedPacks: Effect.sync(() => buildPackRuleContexts(index)),
54
+ });
55
+ // -----------------------------------------------------------------------------
56
+ // Provenance → displayRoot helpers
57
+ // -----------------------------------------------------------------------------
58
+ /**
59
+ * Compute the `displayRoot` for a registry-installed native skill.
60
+ *
61
+ * @experimental This API is unstable and may change without notice.
62
+ */
63
+ export const registryNativeSkillDisplayRoot = (owner, name) => `.axm/extensions/${owner}/skills/${name}/src`;
64
+ /**
65
+ * Compute the `displayRoot` for an external (non-native) skill.
66
+ *
67
+ * @experimental This API is unstable and may change without notice.
68
+ */
69
+ export const externalSkillDisplayRoot = (name) => `.axm/extensions/external/skills/${name}`;
70
+ /**
71
+ * Compute the `displayRoot` for a registry-installed pack.
72
+ *
73
+ * **No `src/` segment** — matches the on-disk layout at
74
+ * `axm/packages/core/src/unstable/packs/paths.ts#computeExtensionPackPaths`
75
+ * (Phase 3b finding).
76
+ *
77
+ * @experimental This API is unstable and may change without notice.
78
+ */
79
+ export const registryPackDisplayRoot = (owner, name) => `.axm/extensions/${owner}/packs/${name}`;
80
+ /**
81
+ * Build an `InstalledSkillInfo` rooted at `.axm/extensions/<owner>/skills/<name>/src/`.
82
+ *
83
+ * @experimental This API is unstable and may change without notice.
84
+ */
85
+ export const buildNativeInstalledSkillInfo = (args) => {
86
+ const absoluteRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/${args.owner}/skills/${args.name}/src`);
87
+ return {
88
+ isNative: true,
89
+ skillJson: args.skillJson,
90
+ displayRoot: registryNativeSkillDisplayRoot(args.owner, args.name),
91
+ files: makePlatformSkillFileAccessor(args.platform, absoluteRoot),
92
+ };
93
+ };
94
+ /**
95
+ * Build an `InstalledSkillInfo` rooted at `.axm/extensions/external/skills/<name>/`.
96
+ *
97
+ * @experimental This API is unstable and may change without notice.
98
+ */
99
+ export const buildExternalInstalledSkillInfo = (args) => {
100
+ const absoluteRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/external/skills/${args.name}`);
101
+ return {
102
+ isNative: false,
103
+ skillJson: undefined,
104
+ displayRoot: externalSkillDisplayRoot(args.name),
105
+ files: makePlatformSkillFileAccessor(args.platform, absoluteRoot),
106
+ };
107
+ };
108
+ /**
109
+ * Build an `InstalledPackInfo` rooted at `.axm/extensions/<owner>/packs/<name>/`.
110
+ *
111
+ * **No `src/` segment** — matches the on-disk pack layout.
112
+ *
113
+ * @experimental This API is unstable and may change without notice.
114
+ */
115
+ export const buildInstalledPackInfo = (args) => {
116
+ const absoluteRoot = args.platform.path.resolve(args.workspaceRoot, `.axm/extensions/${args.owner}/packs/${args.name}`);
117
+ return {
118
+ packJson: args.packJson,
119
+ displayRoot: registryPackDisplayRoot(args.owner, args.name),
120
+ files: makePlatformPackFileAccessor(args.platform, absoluteRoot),
121
+ };
122
+ };
123
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/contexts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Apply per-extension `Operation` intents to a `WorkspaceState` test double.
3
+ *
4
+ * The lint determinism harness (task 3c.19) needs: given a `WorkspaceState`
5
+ * plus a set of autofix Operations, produce the post-apply state and re-run
6
+ * the rule's `check`. This module is the pure reducer that maps an
7
+ * Operation intent onto state mutations that approximate what the canonical
8
+ * `OperationHandler` would do:
9
+ *
10
+ * - `install-skill` — add a skills lock entry, ensure the canonical
11
+ * `src/SKILL.md` probe exists, ensure per-declared-agent artifact paths
12
+ * exist (if the skill is enabled).
13
+ * - `uninstall-skill` — remove the lock entry, remove the install-dir
14
+ * probes, remove per-agent artifacts.
15
+ * - `enable-skill` / `disable-skill` — toggle per-agent artifact presence.
16
+ * - `install-pack` / `uninstall-pack` — add/remove the pack lock entry.
17
+ * - Other families (`-command`, `-mcp-server`, `-subagent`) are stubs for
18
+ * the harness; today no v1 rule emits those.
19
+ *
20
+ * The reducer writes **raw JSON-compatible shapes** into
21
+ * `state.lockfile` — the accessor returns `LockfileDocument = unknown`, so
22
+ * rules decode via `LockfileSchema` locally and the harness only needs to
23
+ * satisfy the schema post-apply.
24
+ *
25
+ * @experimental This API is unstable and may change without notice.
26
+ * @packageDocumentation
27
+ */
28
+ import type { Operation } from "../../../plan/plan.js";
29
+ import type { DisableSkillIntent, EnableSkillIntent, InstallPackIntent, InstallSkillIntent, UninstallPackIntent, UninstallSkillIntent } from "../workspace/helpers/install-ops.js";
30
+ import type { WorkspaceState } from "./test-state.js";
31
+ export declare const applyInstallSkill: (state: WorkspaceState, intent: InstallSkillIntent) => void;
32
+ export declare const applyUninstallSkill: (state: WorkspaceState, intent: UninstallSkillIntent) => void;
33
+ export declare const applyEnableSkill: (state: WorkspaceState, intent: EnableSkillIntent) => void;
34
+ export declare const applyDisableSkill: (state: WorkspaceState, intent: DisableSkillIntent) => void;
35
+ export declare const applyInstallPack: (state: WorkspaceState, intent: InstallPackIntent) => void;
36
+ export declare const applyUninstallPack: (state: WorkspaceState, intent: UninstallPackIntent) => void;
37
+ export declare const applyOperationIntent: (state: WorkspaceState, op: Operation<string, unknown>) => void;
38
+ //# sourceMappingURL=interpret-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpret-ops.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/lint/catalog/workspace-accessor/interpret-ops.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAyItD,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,EAAE,QAAQ,kBAAkB,KAAG,IA0CrF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,cAAc,EAAE,QAAQ,oBAAoB,KAAG,IAoBzF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,cAAc,EAAE,QAAQ,iBAAiB,KAAG,IAQnF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,EAAE,QAAQ,kBAAkB,KAAG,IAQrF,CAAC;AAwBF,eAAO,MAAM,gBAAgB,GAAI,OAAO,cAAc,EAAE,QAAQ,iBAAiB,KAAG,IAyBnF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,EAAE,QAAQ,mBAAmB,KAAG,IAUvF,CAAC;AAkCF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,EACrB,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,IA4CF,CAAC"}