@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,388 @@
1
+ /**
2
+ * Lint runner — the reusable core of `axm lint`.
3
+ *
4
+ * The `axm lint` CLI command file is a thin surface over flag parsing and
5
+ * rendering; the logic that evaluates rule catalogs, renders findings, detects
6
+ * publish-gate drift, and (under `--fix`) composes the autofix plan lives in
7
+ * this module.
8
+ *
9
+ * Phase 5 entry points (see `openspec/changes/add-lint-engine/tasks.md`):
10
+ *
11
+ * - {@link evaluateAllCatalogs} — concurrent evaluation of the three
12
+ * v1 rule catalogs against pre-built contexts.
13
+ * - {@link summarizeEvaluations} — group, count, and derive the exit
14
+ * category from raw `Evaluated<*>` lists.
15
+ * - {@link detectPublishGateDrift} — compute whether the configured
16
+ * `LintConfig` weakens any `skill/*` / `pack/*` platform-default-`error`
17
+ * rule (task 5.7).
18
+ * - {@link renderFindingsText} — finding-first human renderer (task
19
+ * 5.6).
20
+ * - {@link toLintJsonDocument} — `--json` document shape (task 5.6).
21
+ * - {@link resolveLintExitCategory} — exit-code contract evaluator (task
22
+ * 5.9).
23
+ *
24
+ * Lint-intent → canonical `Operation` adapter composition happens in the CLI
25
+ * handler (`packages/cli/src/root/lint/handler.ts`), which re-resolves each
26
+ * intent's `source` via the `resolveConfigured*` helpers and hands the
27
+ * resulting canonical Operation to the per-extension plan-step builder. The
28
+ * runner here stays accessor-free.
29
+ *
30
+ * @experimental This API is unstable and may change without notice.
31
+ * @packageDocumentation
32
+ */
33
+ import * as Effect from "effect/Effect";
34
+ import { composePath } from "./compose-path.js";
35
+ import { platformCanonicalLintConfig } from "./config.js";
36
+ import { evaluateContexts } from "./evaluate.js";
37
+ import { packRules, skillRules, workspaceRules } from "./catalog/index.js";
38
+ // -----------------------------------------------------------------------------
39
+ // Evaluation
40
+ // -----------------------------------------------------------------------------
41
+ /**
42
+ * Build the three v1 evaluation groups concurrently.
43
+ *
44
+ * The evaluator is a pure `Effect.Effect<ReadonlyArray<Evaluated<C>>>`; this
45
+ * helper simply hands the three catalogs to `Effect.all` with unbounded
46
+ * concurrency so catalog evaluations run in parallel but findings stay in
47
+ * stable catalog order inside each group.
48
+ *
49
+ * @experimental This API is unstable and may change without notice.
50
+ */
51
+ export const evaluateAllCatalogs = (args) => Effect.gen(function* () {
52
+ const [skills, packs, workspace] = yield* Effect.all([
53
+ evaluateContexts(skillRules, args.skillContexts, args.config),
54
+ evaluateContexts(packRules, args.packContexts, args.config),
55
+ evaluateContexts(workspaceRules, [args.workspaceContext], args.config),
56
+ ], { concurrency: "unbounded" });
57
+ return { skills, packs, workspace };
58
+ });
59
+ // -----------------------------------------------------------------------------
60
+ // Summary
61
+ // -----------------------------------------------------------------------------
62
+ const severityOrder = (s) => {
63
+ switch (s) {
64
+ case "error":
65
+ return 0;
66
+ case "warning":
67
+ return 1;
68
+ case "info":
69
+ return 2;
70
+ }
71
+ };
72
+ const flattenEvaluated = (group, evaluated, getDisplayRoot) => {
73
+ const out = [];
74
+ for (const entry of evaluated) {
75
+ const displayRoot = getDisplayRoot(entry.context);
76
+ for (const finding of entry.findings) {
77
+ out.push({
78
+ group,
79
+ displayRoot,
80
+ path: composePath(displayRoot, finding.location),
81
+ finding,
82
+ });
83
+ }
84
+ }
85
+ return out;
86
+ };
87
+ /**
88
+ * Flatten a {@link GroupEvaluations} triple into a single `RenderedFinding[]`
89
+ * in stable group-then-catalog order.
90
+ *
91
+ * @experimental This API is unstable and may change without notice.
92
+ */
93
+ export const collectRenderedFindings = (evaluations) => [
94
+ ...flattenEvaluated("skill", evaluations.skills, (c) => c.displayRoot),
95
+ ...flattenEvaluated("pack", evaluations.packs, (c) => c.displayRoot),
96
+ ...flattenEvaluated("workspace", evaluations.workspace, (c) => c.displayRoot),
97
+ ];
98
+ /**
99
+ * Count findings by severity across every group.
100
+ *
101
+ * @experimental This API is unstable and may change without notice.
102
+ */
103
+ export const countFindings = (findings) => {
104
+ let errors = 0;
105
+ let warnings = 0;
106
+ let infos = 0;
107
+ for (const f of findings) {
108
+ switch (f.finding.severity) {
109
+ case "error":
110
+ errors += 1;
111
+ break;
112
+ case "warning":
113
+ warnings += 1;
114
+ break;
115
+ case "info":
116
+ infos += 1;
117
+ break;
118
+ }
119
+ }
120
+ return { total: findings.length, errors, warnings, infos };
121
+ };
122
+ /**
123
+ * Derive a full {@link LintSummary} (findings, counts, exit category, drift
124
+ * banner rule ids) from raw evaluations + the configured severity overrides.
125
+ *
126
+ * @experimental This API is unstable and may change without notice.
127
+ */
128
+ export const summarizeEvaluations = (evaluations, config) => {
129
+ const findings = collectRenderedFindings(evaluations);
130
+ const counts = countFindings(findings);
131
+ return {
132
+ findings,
133
+ counts,
134
+ exitCategory: exitCategoryFromCounts(counts),
135
+ driftBanner: detectPublishGateDrift(config),
136
+ };
137
+ };
138
+ const exitCategoryFromCounts = (counts) => {
139
+ if (counts.errors > 0) {
140
+ return "errors";
141
+ }
142
+ if (counts.warnings > 0) {
143
+ return "warnings";
144
+ }
145
+ return "clean";
146
+ };
147
+ // -----------------------------------------------------------------------------
148
+ // Exit-code contract (task 5.9)
149
+ // -----------------------------------------------------------------------------
150
+ /**
151
+ * Translate a {@link LintExitCategory} + `--strict` into the exit-code
152
+ * policy.
153
+ *
154
+ * | Category | --strict=false | --strict=true |
155
+ * | ------------ | -------------- | ------------- |
156
+ * | `"clean"` | `0` | `0` |
157
+ * | `"warnings"` | `0` | non-zero |
158
+ * | `"errors"` | non-zero | non-zero |
159
+ *
160
+ * The return value is a discriminated enum; the CLI handler maps the `"fail"`
161
+ * branch to its platform exit-code primitive.
162
+ *
163
+ * @experimental This API is unstable and may change without notice.
164
+ */
165
+ export const resolveLintExitCategory = (args) => {
166
+ switch (args.category) {
167
+ case "errors":
168
+ return "fail";
169
+ case "warnings":
170
+ return args.strict ? "fail" : "success";
171
+ case "clean":
172
+ return "success";
173
+ }
174
+ };
175
+ // -----------------------------------------------------------------------------
176
+ // Drift banner (task 5.7)
177
+ // -----------------------------------------------------------------------------
178
+ /**
179
+ * Identify every configured `lint.rules` entry that weakens a platform-canonical
180
+ * `error`-severity `skill/*` or `pack/*` rule.
181
+ *
182
+ * The publish gate runs the `skill/*` and `pack/*` catalogs against
183
+ * {@link platformCanonicalLintConfig}; any workspace override that lowers a
184
+ * rule in those namespaces from `error` to `off | info | warn` creates a
185
+ * publish-gate divergence the user should know about (they'll see `error`
186
+ * findings from the registry that don't appear locally).
187
+ *
188
+ * Workspace-only rule weakenings (`workspace/*`) do NOT trigger the banner —
189
+ * those never reach publish.
190
+ *
191
+ * Returns the rule ids that trigger the banner, in catalog order, so the
192
+ * renderer can produce stable deterministic output.
193
+ *
194
+ * @experimental This API is unstable and may change without notice.
195
+ */
196
+ export const detectPublishGateDrift = (config) => {
197
+ const overrides = config.rules ?? {};
198
+ if (Object.keys(overrides).length === 0) {
199
+ return [];
200
+ }
201
+ // Only the `id` and `severity` fields of each rule matter for drift
202
+ // detection — rule-id snapshotting is public API, and severity is the
203
+ // platform canonical default the workspace override weakens. The helper
204
+ // is called against each catalog's concrete rule type so no assertion
205
+ // is needed to widen the generic parameter.
206
+ const weakened = [];
207
+ const visitCatalog = (rules) => {
208
+ for (const rule of rules) {
209
+ if (rule.severity !== "error") {
210
+ continue;
211
+ }
212
+ const override = overrides[rule.id];
213
+ if (override === undefined) {
214
+ continue;
215
+ }
216
+ if (override === "off" || override === "info" || override === "warn") {
217
+ weakened.push(rule.id);
218
+ }
219
+ }
220
+ };
221
+ visitCatalog(skillRules);
222
+ visitCatalog(packRules);
223
+ return weakened;
224
+ };
225
+ /**
226
+ * Render a finding-first human text report.
227
+ *
228
+ * Output shape (one line per entry, grouped first by context type then by
229
+ * severity within each group):
230
+ *
231
+ * DRIFT: The registry will still block publish on these rules:
232
+ * - skill/manifest-schema-valid
233
+ *
234
+ * WORKSPACE
235
+ * [error] workspace/lockfile-valid axm-lock.yaml is missing. ./axm-lock.yaml
236
+ * [warning] workspace/... ...
237
+ *
238
+ * SKILLS
239
+ * [error] ...
240
+ *
241
+ * Summary: 2 errors, 1 warning.
242
+ * Applied 3 fixes; 1 warning surfaced from applyPlan.
243
+ *
244
+ * @experimental This API is unstable and may change without notice.
245
+ */
246
+ export const renderFindingsText = (args) => {
247
+ const lines = [];
248
+ const { summary, fixSummary } = args;
249
+ if (summary.driftBanner.length > 0) {
250
+ lines.push("DRIFT: The registry will still block publish on these rules:");
251
+ for (const id of summary.driftBanner) {
252
+ lines.push(` - ${id}`);
253
+ }
254
+ lines.push("");
255
+ }
256
+ const groups = [
257
+ { key: "workspace", label: "WORKSPACE" },
258
+ { key: "skill", label: "SKILLS" },
259
+ { key: "pack", label: "PACKS" },
260
+ ];
261
+ for (const group of groups) {
262
+ const inGroup = summary.findings.filter((f) => f.group === group.key);
263
+ if (inGroup.length === 0) {
264
+ continue;
265
+ }
266
+ const sorted = [...inGroup].sort((a, b) => severityOrder(a.finding.severity) - severityOrder(b.finding.severity));
267
+ lines.push(group.label);
268
+ for (const entry of sorted) {
269
+ lines.push(` [${entry.finding.severity}] ${entry.finding.ruleId} ${entry.finding.message} ${entry.path}`);
270
+ }
271
+ lines.push("");
272
+ }
273
+ if (summary.findings.length === 0 && summary.driftBanner.length === 0) {
274
+ lines.push("No findings.");
275
+ }
276
+ else {
277
+ lines.push(formatCountsSentence(summary.counts));
278
+ }
279
+ if (fixSummary !== undefined) {
280
+ lines.push(formatFixSummary(fixSummary));
281
+ for (const warning of fixSummary.warnings) {
282
+ lines.push(` warning: ${warning}`);
283
+ }
284
+ }
285
+ return lines;
286
+ };
287
+ const formatCountsSentence = (counts) => {
288
+ const parts = [];
289
+ parts.push(`${counts.errors} ${pluralize(counts.errors, "error", "errors")}`);
290
+ parts.push(`${counts.warnings} ${pluralize(counts.warnings, "warning", "warnings")}`);
291
+ if (counts.infos > 0) {
292
+ parts.push(`${counts.infos} ${pluralize(counts.infos, "info", "infos")}`);
293
+ }
294
+ return `Summary: ${parts.join(", ")}.`;
295
+ };
296
+ const formatFixSummary = (fix) => {
297
+ const appliedLabel = pluralize(fix.applied, "fix", "fixes");
298
+ const warningsLabel = pluralize(fix.warnings.length, "warning", "warnings");
299
+ return `Applied ${fix.applied} ${appliedLabel}; ${fix.warnings.length} ${warningsLabel}, ${fix.failed} failed.`;
300
+ };
301
+ const pluralize = (n, singular, plural) => n === 1 ? singular : plural;
302
+ const toJsonFinding = (entry) => {
303
+ const base = {
304
+ group: entry.group,
305
+ kind: entry.finding.kind,
306
+ ruleId: entry.finding.ruleId,
307
+ severity: entry.finding.severity,
308
+ message: entry.finding.message,
309
+ displayRoot: entry.displayRoot,
310
+ path: entry.path,
311
+ suggestions: [...entry.finding.suggestions],
312
+ };
313
+ if (entry.finding.location === undefined) {
314
+ return base;
315
+ }
316
+ const loc = {
317
+ file: entry.finding.location.file,
318
+ ...(entry.finding.location.line !== undefined ? { line: entry.finding.location.line } : {}),
319
+ ...(entry.finding.location.column !== undefined
320
+ ? { column: entry.finding.location.column }
321
+ : {}),
322
+ };
323
+ return { ...base, location: loc };
324
+ };
325
+ /**
326
+ * Build the `--json` document from a {@link LintSummary} (+ optional fix
327
+ * summary).
328
+ *
329
+ * @experimental This API is unstable and may change without notice.
330
+ */
331
+ export const toLintJsonDocument = (args) => {
332
+ const { summary, fixSummary } = args;
333
+ const base = {
334
+ findings: summary.findings.map(toJsonFinding),
335
+ summary: {
336
+ total: summary.counts.total,
337
+ errors: summary.counts.errors,
338
+ warnings: summary.counts.warnings,
339
+ infos: summary.counts.infos,
340
+ exitCategory: summary.exitCategory,
341
+ },
342
+ driftBanner: summary.driftBanner,
343
+ };
344
+ if (fixSummary === undefined) {
345
+ return base;
346
+ }
347
+ return {
348
+ ...base,
349
+ fix: {
350
+ attempted: fixSummary.attempted,
351
+ applied: fixSummary.applied,
352
+ failed: fixSummary.failed,
353
+ warnings: fixSummary.warnings,
354
+ },
355
+ };
356
+ };
357
+ // -----------------------------------------------------------------------------
358
+ // Autofix rule surface (helper for the CLI handler)
359
+ // -----------------------------------------------------------------------------
360
+ /**
361
+ * Walk workspace evaluations (the only v1 namespace that ships
362
+ * `AutofixingRule`s) and return the set of `(rule, finding, context)` triples
363
+ * the CLI handler can dispatch on to produce canonical Operations.
364
+ *
365
+ * The returned triples point at the already-evaluated `AutofixableFinding`
366
+ * values so the renderer and the fix pipeline share a single source of truth.
367
+ *
368
+ * @experimental This API is unstable and may change without notice.
369
+ */
370
+ export const collectAutofixableEntries = (evaluations) => {
371
+ const out = [];
372
+ for (const entry of evaluations.workspace) {
373
+ if (entry.rule.kind !== "autofixing") {
374
+ continue;
375
+ }
376
+ for (const finding of entry.findings) {
377
+ if (finding.kind === "autofixable") {
378
+ out.push({ rule: entry.rule, context: entry.context, finding });
379
+ }
380
+ }
381
+ }
382
+ return out;
383
+ };
384
+ // -----------------------------------------------------------------------------
385
+ // Re-exports that CLI callers use alongside the runner
386
+ // -----------------------------------------------------------------------------
387
+ export { platformCanonicalLintConfig };
388
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/unstable/lint/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `composePath` — render a display path from a rule context's `displayRoot`
3
+ * and a finding's accessor-relative `location.file`.
4
+ *
5
+ * Rules emit accessor-relative `location.file` values only; messages carry no
6
+ * paths or coordinates. The format-time composition here lets the same rule
7
+ * render different paths for publish (`displayRoot: ""`), registry-installed
8
+ * skills, external skills, and workspace-scope findings.
9
+ *
10
+ * The rendered path is posix, prefixed with `./` so logs are unambiguous
11
+ * about relative-ness. `location.line` / `location.column` append as
12
+ * `:line:column` when present.
13
+ *
14
+ * @experimental This API is unstable and may change without notice.
15
+ * @packageDocumentation
16
+ */
17
+ import type { FindingLocation } from "./rule.js";
18
+ /**
19
+ * Compose the rendered path for a finding.
20
+ *
21
+ * @param displayRoot - Context-supplied posix-relative root (or `""`).
22
+ * @param location - Accessor-relative file + optional coordinates.
23
+ *
24
+ * @experimental This API is unstable and may change without notice.
25
+ */
26
+ export declare const composePath: (displayRoot: string, location: FindingLocation | undefined) => string;
27
+ //# sourceMappingURL=compose-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-path.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/compose-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAMjD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,EAAE,UAAU,eAAe,GAAG,SAAS,KAAG,MAOxF,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * `composePath` — render a display path from a rule context's `displayRoot`
3
+ * and a finding's accessor-relative `location.file`.
4
+ *
5
+ * Rules emit accessor-relative `location.file` values only; messages carry no
6
+ * paths or coordinates. The format-time composition here lets the same rule
7
+ * render different paths for publish (`displayRoot: ""`), registry-installed
8
+ * skills, external skills, and workspace-scope findings.
9
+ *
10
+ * The rendered path is posix, prefixed with `./` so logs are unambiguous
11
+ * about relative-ness. `location.line` / `location.column` append as
12
+ * `:line:column` when present.
13
+ *
14
+ * @experimental This API is unstable and may change without notice.
15
+ * @packageDocumentation
16
+ */
17
+ // -----------------------------------------------------------------------------
18
+ // composePath
19
+ // -----------------------------------------------------------------------------
20
+ /**
21
+ * Compose the rendered path for a finding.
22
+ *
23
+ * @param displayRoot - Context-supplied posix-relative root (or `""`).
24
+ * @param location - Accessor-relative file + optional coordinates.
25
+ *
26
+ * @experimental This API is unstable and may change without notice.
27
+ */
28
+ export const composePath = (displayRoot, location) => {
29
+ const base = joinPosix(displayRoot, location?.file ?? "");
30
+ const withPrefix = base === "" ? "." : base.startsWith("./") ? base : `./${base}`;
31
+ if (location === undefined) {
32
+ return withPrefix;
33
+ }
34
+ return appendCoordinates(withPrefix, location);
35
+ };
36
+ const joinPosix = (left, right) => {
37
+ const l = stripTrailingSlash(left);
38
+ const r = stripLeadingSlash(right);
39
+ if (l === "" && r === "") {
40
+ return "";
41
+ }
42
+ if (l === "") {
43
+ return r;
44
+ }
45
+ if (r === "") {
46
+ return l;
47
+ }
48
+ return `${l}/${r}`;
49
+ };
50
+ const stripTrailingSlash = (s) => (s.endsWith("/") ? s.slice(0, -1) : s);
51
+ const stripLeadingSlash = (s) => (s.startsWith("/") ? s.slice(1) : s);
52
+ const appendCoordinates = (path, location) => {
53
+ if (location.line === undefined) {
54
+ return path;
55
+ }
56
+ if (location.column === undefined) {
57
+ return `${path}:${location.line}`;
58
+ }
59
+ return `${path}:${location.line}:${location.column}`;
60
+ };
61
+ //# sourceMappingURL=compose-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-path.js","sourceRoot":"","sources":["../../../../src/unstable/lint/compose-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAE,QAAqC,EAAU,EAAE;IAChG,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAClF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IACxD,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,QAAyB,EAAU,EAAE;IAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * `LintConfig` — workspace-settings-level lint configuration.
3
+ *
4
+ * Workspace `.axm/settings.json` carries a `lint` section whose `rules` map
5
+ * binds rule ids to `"off" | "info" | "warn" | "error"`. The registry publish
6
+ * gate ignores workspace overrides; this config affects `axm lint` only.
7
+ *
8
+ * Keys are **exact** rule ids (`<namespace>/<name>`). No glob, wildcard, or
9
+ * regex syntax is accepted in v1. The accepted-key set is built at schema
10
+ * construction time from rule ids registered via `registerLintRuleIds` — the
11
+ * three v1 catalogs (`skill/*`, `pack/*`, `workspace/*`) each register their
12
+ * ids so adding a catalog in a later phase extends the set by construction.
13
+ *
14
+ * @experimental This API is unstable and may change without notice.
15
+ * @packageDocumentation
16
+ */
17
+ import * as Schema from "effect/Schema";
18
+ /**
19
+ * Accepted values for a `lint.rules` entry.
20
+ *
21
+ * Note: `"warn"` is the config surface for `Severity` `"warning"`; mirror's
22
+ * ESLint convention. The evaluator treats `"warn"` as equivalent to `warning`
23
+ * severity; `"off"` suppresses emission.
24
+ *
25
+ * @experimental This API is unstable and may change without notice.
26
+ */
27
+ export declare const LintRuleSeveritySchema: Schema.Literals<readonly ["off", "info", "warn", "error"]>;
28
+ /**
29
+ * Effective severity of a `lint.rules` entry.
30
+ *
31
+ * @experimental This API is unstable and may change without notice.
32
+ */
33
+ export type LintRuleSeverity = Schema.Schema.Type<typeof LintRuleSeveritySchema>;
34
+ /**
35
+ * Register one or more rule ids into the config allowlist.
36
+ *
37
+ * Each v1 rule catalog calls this once at module-load to extend the set of
38
+ * accepted `lint.rules` keys. Calls are additive and idempotent — registering
39
+ * an id twice is a no-op. A rule id that isn't registered will cause
40
+ * `SettingsSchema` decode to fail at the `lint.rules` key, surfacing the
41
+ * unknown id in the error path.
42
+ *
43
+ * Consumers (Phases 3a/3b/3c) should register from the catalog module by
44
+ * iterating the catalog's own rule array: no copy-paste of rule ids into this
45
+ * file.
46
+ *
47
+ * @experimental This API is unstable and may change without notice.
48
+ */
49
+ export declare const registerLintRuleIds: (ids: Iterable<string>) => void;
50
+ /**
51
+ * Read-only view of the currently-registered rule ids.
52
+ *
53
+ * Mainly useful for tests and snapshots; production callers should not depend
54
+ * on ordering.
55
+ *
56
+ * @experimental This API is unstable and may change without notice.
57
+ */
58
+ export declare const registeredLintRuleIds: () => ReadonlySet<string>;
59
+ /**
60
+ * Record of `<namespace>/<name>` ids to severity overrides.
61
+ *
62
+ * Unknown / wildcard / regex keys are rejected at decode by the filter — the
63
+ * filter walks the decoded record's keys and checks every key against the
64
+ * registered rule-id set. Wildcard patterns like `"skill/*"` fail the filter
65
+ * because they are not registered ids.
66
+ *
67
+ * @experimental This API is unstable and may change without notice.
68
+ */
69
+ export declare const LintRulesMapSchema: Schema.$Record<Schema.String, Schema.Literals<readonly ["off", "info", "warn", "error"]>>;
70
+ /**
71
+ * Inferred type for `LintRulesMap`.
72
+ *
73
+ * @experimental This API is unstable and may change without notice.
74
+ */
75
+ export type LintRulesMap = Schema.Schema.Type<typeof LintRulesMapSchema>;
76
+ /**
77
+ * `lint` section of `.axm/settings.json`.
78
+ *
79
+ * Today only `rules` is defined; future fields (per-rule options, reporter
80
+ * selection) extend this struct. The schema rejects excess top-level keys so
81
+ * typos surface at decode.
82
+ *
83
+ * @experimental This API is unstable and may change without notice.
84
+ */
85
+ export declare const LintConfigSchema: Schema.Struct<{
86
+ readonly rules: Schema.optional<Schema.$Record<Schema.String, Schema.Literals<readonly ["off", "info", "warn", "error"]>>>;
87
+ }>;
88
+ /**
89
+ * Inferred type for `LintConfig`.
90
+ *
91
+ * @experimental This API is unstable and may change without notice.
92
+ */
93
+ export type LintConfig = Schema.Schema.Type<typeof LintConfigSchema>;
94
+ /**
95
+ * The platform-canonical `LintConfig` — empty rules, no overrides.
96
+ *
97
+ * Registry publish uses this config; it carries no overrides so every rule
98
+ * fires at its catalog severity.
99
+ *
100
+ * @experimental This API is unstable and may change without notice.
101
+ */
102
+ export declare const platformCanonicalLintConfig: LintConfig;
103
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/unstable/lint/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,4DAKjC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAiBjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAG,IAI3D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAO,WAAW,CAAC,MAAM,CAAsB,CAAC;AAqBlF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,2FAM3B,CAAC;AAEL;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMzE;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;EAM3B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAE,UAA0B,CAAC"}