@x-code-cli/core 0.2.10 → 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 (258) hide show
  1. package/dist/agent/compression.d.ts +12 -2
  2. package/dist/agent/compression.d.ts.map +1 -1
  3. package/dist/agent/compression.js +51 -2
  4. package/dist/agent/compression.js.map +1 -1
  5. package/dist/agent/file-ingest.js +2 -2
  6. package/dist/agent/file-ingest.js.map +1 -1
  7. package/dist/agent/loop-state.d.ts +3 -2
  8. package/dist/agent/loop-state.d.ts.map +1 -1
  9. package/dist/agent/loop-state.js.map +1 -1
  10. package/dist/agent/loop.d.ts.map +1 -1
  11. package/dist/agent/loop.js +134 -5
  12. package/dist/agent/loop.js.map +1 -1
  13. package/dist/agent/memory-extractor.js +5 -5
  14. package/dist/agent/memory-extractor.js.map +1 -1
  15. package/dist/agent/plan-storage.js +1 -1
  16. package/dist/agent/plan-storage.js.map +1 -1
  17. package/dist/agent/sub-agents/index.d.ts +2 -1
  18. package/dist/agent/sub-agents/index.d.ts.map +1 -1
  19. package/dist/agent/sub-agents/index.js +1 -1
  20. package/dist/agent/sub-agents/index.js.map +1 -1
  21. package/dist/agent/sub-agents/loader.d.ts +13 -3
  22. package/dist/agent/sub-agents/loader.d.ts.map +1 -1
  23. package/dist/agent/sub-agents/loader.js +36 -9
  24. package/dist/agent/sub-agents/loader.js.map +1 -1
  25. package/dist/agent/sub-agents/registry.d.ts +18 -1
  26. package/dist/agent/sub-agents/registry.d.ts.map +1 -1
  27. package/dist/agent/sub-agents/registry.js +38 -5
  28. package/dist/agent/sub-agents/registry.js.map +1 -1
  29. package/dist/agent/sub-agents/runner.d.ts.map +1 -1
  30. package/dist/agent/sub-agents/runner.js +45 -1
  31. package/dist/agent/sub-agents/runner.js.map +1 -1
  32. package/dist/agent/sub-agents/types.d.ts +4 -1
  33. package/dist/agent/sub-agents/types.d.ts.map +1 -1
  34. package/dist/agent/system-prompt.d.ts +21 -0
  35. package/dist/agent/system-prompt.d.ts.map +1 -1
  36. package/dist/agent/system-prompt.js +68 -2
  37. package/dist/agent/system-prompt.js.map +1 -1
  38. package/dist/agent/tool-execution.d.ts.map +1 -1
  39. package/dist/agent/tool-execution.js +220 -1
  40. package/dist/agent/tool-execution.js.map +1 -1
  41. package/dist/commands/index.d.ts +6 -0
  42. package/dist/commands/index.d.ts.map +1 -0
  43. package/dist/commands/index.js +3 -0
  44. package/dist/commands/index.js.map +1 -0
  45. package/dist/commands/loader.d.ts +19 -0
  46. package/dist/commands/loader.d.ts.map +1 -0
  47. package/dist/commands/loader.js +109 -0
  48. package/dist/commands/loader.js.map +1 -0
  49. package/dist/commands/registry.d.ts +44 -0
  50. package/dist/commands/registry.d.ts.map +1 -0
  51. package/dist/commands/registry.js +102 -0
  52. package/dist/commands/registry.js.map +1 -0
  53. package/dist/commands/types.d.ts +23 -0
  54. package/dist/commands/types.d.ts.map +1 -0
  55. package/dist/commands/types.js +26 -0
  56. package/dist/commands/types.js.map +1 -0
  57. package/dist/config/index.d.ts +9 -0
  58. package/dist/config/index.d.ts.map +1 -1
  59. package/dist/config/index.js +12 -10
  60. package/dist/config/index.js.map +1 -1
  61. package/dist/hooks/bus.d.ts +54 -0
  62. package/dist/hooks/bus.d.ts.map +1 -0
  63. package/dist/hooks/bus.js +165 -0
  64. package/dist/hooks/bus.js.map +1 -0
  65. package/dist/hooks/config-schema.d.ts +854 -0
  66. package/dist/hooks/config-schema.d.ts.map +1 -0
  67. package/dist/hooks/config-schema.js +79 -0
  68. package/dist/hooks/config-schema.js.map +1 -0
  69. package/dist/hooks/executor.d.ts +16 -0
  70. package/dist/hooks/executor.d.ts.map +1 -0
  71. package/dist/hooks/executor.js +183 -0
  72. package/dist/hooks/executor.js.map +1 -0
  73. package/dist/hooks/index.d.ts +10 -0
  74. package/dist/hooks/index.d.ts.map +1 -0
  75. package/dist/hooks/index.js +6 -0
  76. package/dist/hooks/index.js.map +1 -0
  77. package/dist/hooks/registry.d.ts +23 -0
  78. package/dist/hooks/registry.d.ts.map +1 -0
  79. package/dist/hooks/registry.js +49 -0
  80. package/dist/hooks/registry.js.map +1 -0
  81. package/dist/hooks/types.d.ts +165 -0
  82. package/dist/hooks/types.d.ts.map +1 -0
  83. package/dist/hooks/types.js +25 -0
  84. package/dist/hooks/types.js.map +1 -0
  85. package/dist/hooks/variables.d.ts +22 -0
  86. package/dist/hooks/variables.d.ts.map +1 -0
  87. package/dist/hooks/variables.js +80 -0
  88. package/dist/hooks/variables.js.map +1 -0
  89. package/dist/index.d.ts +57 -2
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +38 -2
  92. package/dist/index.js.map +1 -1
  93. package/dist/knowledge/auto-memory.d.ts +1 -1
  94. package/dist/knowledge/auto-memory.d.ts.map +1 -1
  95. package/dist/knowledge/auto-memory.js +10 -10
  96. package/dist/knowledge/auto-memory.js.map +1 -1
  97. package/dist/knowledge/loader.js +12 -12
  98. package/dist/knowledge/loader.js.map +1 -1
  99. package/dist/mcp/arg-parser.d.ts +49 -0
  100. package/dist/mcp/arg-parser.d.ts.map +1 -0
  101. package/dist/mcp/arg-parser.js +357 -0
  102. package/dist/mcp/arg-parser.js.map +1 -0
  103. package/dist/mcp/client.d.ts +73 -0
  104. package/dist/mcp/client.d.ts.map +1 -0
  105. package/dist/mcp/client.js +376 -0
  106. package/dist/mcp/client.js.map +1 -0
  107. package/dist/mcp/config-schema.d.ts +64 -0
  108. package/dist/mcp/config-schema.d.ts.map +1 -0
  109. package/dist/mcp/config-schema.js +86 -0
  110. package/dist/mcp/config-schema.js.map +1 -0
  111. package/dist/mcp/config-writer.d.ts +41 -0
  112. package/dist/mcp/config-writer.d.ts.map +1 -0
  113. package/dist/mcp/config-writer.js +138 -0
  114. package/dist/mcp/config-writer.js.map +1 -0
  115. package/dist/mcp/env-safety.d.ts +12 -0
  116. package/dist/mcp/env-safety.d.ts.map +1 -0
  117. package/dist/mcp/env-safety.js +80 -0
  118. package/dist/mcp/env-safety.js.map +1 -0
  119. package/dist/mcp/expand-env.d.ts +14 -0
  120. package/dist/mcp/expand-env.d.ts.map +1 -0
  121. package/dist/mcp/expand-env.js +52 -0
  122. package/dist/mcp/expand-env.js.map +1 -0
  123. package/dist/mcp/loader.d.ts +81 -0
  124. package/dist/mcp/loader.d.ts.map +1 -0
  125. package/dist/mcp/loader.js +223 -0
  126. package/dist/mcp/loader.js.map +1 -0
  127. package/dist/mcp/name-mangling.d.ts +11 -0
  128. package/dist/mcp/name-mangling.d.ts.map +1 -0
  129. package/dist/mcp/name-mangling.js +82 -0
  130. package/dist/mcp/name-mangling.js.map +1 -0
  131. package/dist/mcp/oauth/callback-server.d.ts +25 -0
  132. package/dist/mcp/oauth/callback-server.d.ts.map +1 -0
  133. package/dist/mcp/oauth/callback-server.js +118 -0
  134. package/dist/mcp/oauth/callback-server.js.map +1 -0
  135. package/dist/mcp/oauth/provider.d.ts +80 -0
  136. package/dist/mcp/oauth/provider.d.ts.map +1 -0
  137. package/dist/mcp/oauth/provider.js +292 -0
  138. package/dist/mcp/oauth/provider.js.map +1 -0
  139. package/dist/mcp/oauth/token-storage.d.ts +42 -0
  140. package/dist/mcp/oauth/token-storage.d.ts.map +1 -0
  141. package/dist/mcp/oauth/token-storage.js +121 -0
  142. package/dist/mcp/oauth/token-storage.js.map +1 -0
  143. package/dist/mcp/permissions.d.ts +28 -0
  144. package/dist/mcp/permissions.d.ts.map +1 -0
  145. package/dist/mcp/permissions.js +105 -0
  146. package/dist/mcp/permissions.js.map +1 -0
  147. package/dist/mcp/registry.d.ts +150 -0
  148. package/dist/mcp/registry.d.ts.map +1 -0
  149. package/dist/mcp/registry.js +334 -0
  150. package/dist/mcp/registry.js.map +1 -0
  151. package/dist/mcp/resources.d.ts +7 -0
  152. package/dist/mcp/resources.d.ts.map +1 -0
  153. package/dist/mcp/resources.js +40 -0
  154. package/dist/mcp/resources.js.map +1 -0
  155. package/dist/mcp/tool-bridge.d.ts +16 -0
  156. package/dist/mcp/tool-bridge.d.ts.map +1 -0
  157. package/dist/mcp/tool-bridge.js +56 -0
  158. package/dist/mcp/tool-bridge.js.map +1 -0
  159. package/dist/mcp/trust.d.ts +31 -0
  160. package/dist/mcp/trust.d.ts.map +1 -0
  161. package/dist/mcp/trust.js +103 -0
  162. package/dist/mcp/trust.js.map +1 -0
  163. package/dist/mcp/types.d.ts +73 -0
  164. package/dist/mcp/types.d.ts.map +1 -0
  165. package/dist/mcp/types.js +13 -0
  166. package/dist/mcp/types.js.map +1 -0
  167. package/dist/permissions/index.d.ts +1 -1
  168. package/dist/permissions/index.d.ts.map +1 -1
  169. package/dist/permissions/index.js +10 -4
  170. package/dist/permissions/index.js.map +1 -1
  171. package/dist/permissions/session-store.d.ts +79 -17
  172. package/dist/permissions/session-store.d.ts.map +1 -1
  173. package/dist/permissions/session-store.js +298 -38
  174. package/dist/permissions/session-store.js.map +1 -1
  175. package/dist/plugins/consent.d.ts +87 -0
  176. package/dist/plugins/consent.d.ts.map +1 -0
  177. package/dist/plugins/consent.js +181 -0
  178. package/dist/plugins/consent.js.map +1 -0
  179. package/dist/plugins/enable-state.d.ts +34 -0
  180. package/dist/plugins/enable-state.d.ts.map +1 -0
  181. package/dist/plugins/enable-state.js +159 -0
  182. package/dist/plugins/enable-state.js.map +1 -0
  183. package/dist/plugins/installer.d.ts +64 -0
  184. package/dist/plugins/installer.d.ts.map +1 -0
  185. package/dist/plugins/installer.js +416 -0
  186. package/dist/plugins/installer.js.map +1 -0
  187. package/dist/plugins/integration.d.ts +91 -0
  188. package/dist/plugins/integration.d.ts.map +1 -0
  189. package/dist/plugins/integration.js +233 -0
  190. package/dist/plugins/integration.js.map +1 -0
  191. package/dist/plugins/loader.d.ts +69 -0
  192. package/dist/plugins/loader.d.ts.map +1 -0
  193. package/dist/plugins/loader.js +243 -0
  194. package/dist/plugins/loader.js.map +1 -0
  195. package/dist/plugins/manifest.d.ts +23 -0
  196. package/dist/plugins/manifest.d.ts.map +1 -0
  197. package/dist/plugins/manifest.js +143 -0
  198. package/dist/plugins/manifest.js.map +1 -0
  199. package/dist/plugins/marketplace.d.ts +103 -0
  200. package/dist/plugins/marketplace.d.ts.map +1 -0
  201. package/dist/plugins/marketplace.js +532 -0
  202. package/dist/plugins/marketplace.js.map +1 -0
  203. package/dist/plugins/paths.d.ts +44 -0
  204. package/dist/plugins/paths.d.ts.map +1 -0
  205. package/dist/plugins/paths.js +89 -0
  206. package/dist/plugins/paths.js.map +1 -0
  207. package/dist/plugins/refresh.d.ts +61 -0
  208. package/dist/plugins/refresh.d.ts.map +1 -0
  209. package/dist/plugins/refresh.js +98 -0
  210. package/dist/plugins/refresh.js.map +1 -0
  211. package/dist/plugins/registry.d.ts +40 -0
  212. package/dist/plugins/registry.d.ts.map +1 -0
  213. package/dist/plugins/registry.js +80 -0
  214. package/dist/plugins/registry.js.map +1 -0
  215. package/dist/plugins/types.d.ts +225 -0
  216. package/dist/plugins/types.d.ts.map +1 -0
  217. package/dist/plugins/types.js +16 -0
  218. package/dist/plugins/types.js.map +1 -0
  219. package/dist/plugins/user-config.d.ts +22 -0
  220. package/dist/plugins/user-config.d.ts.map +1 -0
  221. package/dist/plugins/user-config.js +96 -0
  222. package/dist/plugins/user-config.js.map +1 -0
  223. package/dist/skills/loader.d.ts +19 -0
  224. package/dist/skills/loader.d.ts.map +1 -0
  225. package/dist/skills/loader.js +197 -0
  226. package/dist/skills/loader.js.map +1 -0
  227. package/dist/skills/registry.d.ts +74 -0
  228. package/dist/skills/registry.d.ts.map +1 -0
  229. package/dist/skills/registry.js +136 -0
  230. package/dist/skills/registry.js.map +1 -0
  231. package/dist/skills/settings.d.ts +13 -0
  232. package/dist/skills/settings.d.ts.map +1 -0
  233. package/dist/skills/settings.js +100 -0
  234. package/dist/skills/settings.js.map +1 -0
  235. package/dist/tools/activate-skill.d.ts +5 -0
  236. package/dist/tools/activate-skill.d.ts.map +1 -0
  237. package/dist/tools/activate-skill.js +33 -0
  238. package/dist/tools/activate-skill.js.map +1 -0
  239. package/dist/tools/index.d.ts +1 -1
  240. package/dist/tools/shell-utils.d.ts.map +1 -1
  241. package/dist/tools/shell-utils.js +157 -6
  242. package/dist/tools/shell-utils.js.map +1 -1
  243. package/dist/tools/todo-write.d.ts +1 -1
  244. package/dist/tools/web-fetch.d.ts.map +1 -1
  245. package/dist/tools/web-fetch.js +2 -1
  246. package/dist/tools/web-fetch.js.map +1 -1
  247. package/dist/types/index.d.ts +46 -1
  248. package/dist/types/index.d.ts.map +1 -1
  249. package/dist/types/index.js.map +1 -1
  250. package/dist/utils.d.ts +23 -2
  251. package/dist/utils.d.ts.map +1 -1
  252. package/dist/utils.js +76 -20
  253. package/dist/utils.js.map +1 -1
  254. package/dist/version.d.ts +2 -0
  255. package/dist/version.d.ts.map +1 -0
  256. package/dist/version.js +47 -0
  257. package/dist/version.js.map +1 -0
  258. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/hooks/variables.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB;kEAC8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;wEAGwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAmBlH;AAED;+EAC+E;AAC/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAyB5E"}
@@ -0,0 +1,80 @@
1
+ // @x-code-cli/core — Hook command variable expansion
2
+ //
3
+ // Substitutes `${name}` and `${env:NAME}` patterns inside a hook command
4
+ // string. Unknown variables are left as the literal `${name}` so a typo
5
+ // surfaces in the resulting shell command's error message rather than
6
+ // silently expanding to an empty string (which would produce confusing
7
+ // "command not found" errors that don't point at the variable).
8
+ //
9
+ // Supported variables (cf. [[plugin-marketplace-design]] §8.4):
10
+ //
11
+ // ${pluginDir} absolute path to the owning plugin's installed dir
12
+ // (versioned cache dir; wiped on reinstall / upgrade)
13
+ // ${pluginDataDir} absolute path to the plugin's persistent data dir
14
+ // (~/.x-code/plugins/data/<sanitised-plugin-id>/) —
15
+ // survives uninstall+reinstall and version upgrades.
16
+ // Created on demand by the caller before expansion;
17
+ // this module just substitutes the string.
18
+ // ${cwd} current working directory
19
+ // ${homedir} user home dir
20
+ // ${sep} OS-specific path separator (`\` Windows, `/` elsewhere)
21
+ // ${env:NAME} process env var `NAME` (empty string when unset)
22
+ import fs from 'node:fs';
23
+ import os from 'node:os';
24
+ import path from 'node:path';
25
+ import { pluginDataDir as pluginDataDirPath } from '../plugins/paths.js';
26
+ /** Default variables derived from the current process + caller context.
27
+ * Pass `pluginId` to enable `${pluginDataDir}` — we'll resolve the
28
+ * per-plugin data dir path and `mkdir -p` it so the plugin can write
29
+ * there immediately. mkdirSync on an existing dir is a cheap no-op. */
30
+ export function buildVariableContext(input) {
31
+ let dataDir;
32
+ if (input.pluginId) {
33
+ dataDir = pluginDataDirPath(input.pluginId);
34
+ try {
35
+ fs.mkdirSync(dataDir, { recursive: true });
36
+ }
37
+ catch {
38
+ // mkdir failure (permissions, disk full) leaves the dir missing —
39
+ // the plugin script will get a sane shell error when it tries to
40
+ // write there. Better than throwing here and wedging the hook.
41
+ }
42
+ }
43
+ return {
44
+ pluginDir: input.pluginDir,
45
+ pluginDataDir: dataDir,
46
+ cwd: input.cwd,
47
+ homedir: os.homedir(),
48
+ sep: path.sep,
49
+ };
50
+ }
51
+ /** Expand `${pluginDir}` / `${pluginDataDir}` / `${cwd}` / `${homedir}` /
52
+ * `${sep}` / `${env:NAME}` references. Unknown patterns are left verbatim. */
53
+ export function expandVariables(source, ctx) {
54
+ return source.replace(/\$\{([^}]+)\}/g, (whole, expr) => {
55
+ const colonIdx = expr.indexOf(':');
56
+ if (colonIdx > 0) {
57
+ const ns = expr.slice(0, colonIdx);
58
+ const key = expr.slice(colonIdx + 1);
59
+ if (ns === 'env')
60
+ return process.env[key] ?? '';
61
+ // Unknown namespace — leave verbatim
62
+ return whole;
63
+ }
64
+ switch (expr) {
65
+ case 'pluginDir':
66
+ return ctx.pluginDir;
67
+ case 'pluginDataDir':
68
+ return ctx.pluginDataDir ?? whole;
69
+ case 'cwd':
70
+ return ctx.cwd;
71
+ case 'homedir':
72
+ return ctx.homedir ?? '';
73
+ case 'sep':
74
+ return ctx.sep ?? path.sep;
75
+ default:
76
+ return whole;
77
+ }
78
+ });
79
+ }
80
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/hooks/variables.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,gEAAgE;AAChE,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,gEAAgE;AAChE,iDAAiD;AACjD,qCAAqC;AACrC,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAYxE;;;wEAGwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,KAA4D;IAC/F,IAAI,OAA2B,CAAA;IAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;QACjE,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAA;AACH,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,GAAoB;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACpC,IAAI,EAAE,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC/C,qCAAqC;YACrC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,WAAW;gBACd,OAAO,GAAG,CAAC,SAAS,CAAA;YACtB,KAAK,eAAe;gBAClB,OAAO,GAAG,CAAC,aAAa,IAAI,KAAK,CAAA;YACnC,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC,GAAG,CAAA;YAChB,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;YAC1B,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;YAC5B;gBACE,OAAO,KAAK,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -23,10 +23,10 @@ export { getShellProvider } from './tools/shell-provider.js';
23
23
  export type { ShellProvider, ShellType } from './tools/shell-provider.js';
24
24
  export { checkPermission, getPermissionLevel } from './permissions/index.js';
25
25
  export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permissions/index.js';
26
- export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
26
+ export { extractCommandPrefix, extractCompoundPrefixes, extractCompoundRules, suggestRuleLabel, } from './permissions/index.js';
27
27
  export { loadPersistedRules, persistRule } from './permissions/index.js';
28
28
  export type { AllowRule } from './permissions/session-store.js';
29
- export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
29
+ export { USER_XCODE_DIR, XCODE_DIR, debugLog, setPluginDebugMirror } from './utils.js';
30
30
  export { LruCache } from './utils/lru-cache.js';
31
31
  export { mediaTypeFor } from './utils/media-type.js';
32
32
  export { extractText } from './utils/message-helpers.js';
@@ -35,6 +35,61 @@ export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
35
35
  export { generateSessionSummary } from './knowledge/session.js';
36
36
  export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
37
37
  export type { SubAgentDefinition, SubAgentEvent, SubAgentTrace } from './agent/sub-agents/index.js';
38
+ export { CommandRegistry, createCommandRegistry, loadPluginCommands, expandCommandBody } from './commands/index.js';
39
+ export type { CommandDefinition, LoadCommandsOptions } from './commands/index.js';
40
+ export { HookBus, emptyHookBus, aggregatePreToolUse, aggregatePostToolUse, aggregateUserPromptSubmit, } from './hooks/bus.js';
41
+ export type { EmitOptions as HookEmitOptions, PreToolEffect, PostToolEffect, UserPromptEffect } from './hooks/bus.js';
42
+ export { HookRegistry, buildHookRegistry, emptyHookRegistry } from './hooks/registry.js';
43
+ export { executeHook } from './hooks/executor.js';
44
+ export type { ExecuteHookOptions } from './hooks/executor.js';
45
+ export { hookConfigSchema, parseHookConfig, HookConfigParseError } from './hooks/config-schema.js';
46
+ export { buildVariableContext, expandVariables } from './hooks/variables.js';
47
+ export type { VariableContext } from './hooks/variables.js';
48
+ export type { DecisionEvent, HookConfig, HookConfigEntry, HookDecision, HookEvent, HookEventName, RegisteredHook, SessionContext as HookSessionContext, } from './hooks/types.js';
49
+ export { loadAllPlugins, resolveContributions } from './plugins/loader.js';
50
+ export type { LoadOptions as PluginLoadOptions, LoadResult as PluginLoadResult, ResolvedContributions, } from './plugins/loader.js';
51
+ export { PluginRegistry, emptyPluginRegistry } from './plugins/registry.js';
52
+ export type { PluginReloadSummary } from './plugins/registry.js';
53
+ export { buildPluginIntegration, debugLogIntegrationDiagnostics, getPluginMcpServersFromDisk, } from './plugins/integration.js';
54
+ export type { PluginIntegrationOutput } from './plugins/integration.js';
55
+ export { refreshPluginContributions } from './plugins/refresh.js';
56
+ export type { PluginRefreshSummary, PluginRefreshTargets } from './plugins/refresh.js';
57
+ export { installPlugin, uninstallPlugin, listInstalledPlugins, findInstalledPlugin, InstallError, } from './plugins/installer.js';
58
+ export type { InstallRequest, InstallResult, UninstallResult } from './plugins/installer.js';
59
+ export { buildConsentPreview, probePluginRoot } from './plugins/consent.js';
60
+ export type { ConsentPreview, BuildPreviewInput, RootProbe } from './plugins/consent.js';
61
+ export { getPluginUserConfig, setPluginUserConfig, clearPluginUserConfig, getPluginUserConfigEnv, } from './plugins/user-config.js';
62
+ export type { UserConfigValue, PluginUserConfig } from './plugins/user-config.js';
63
+ export { parseMarketplace, readKnownMarketplaces, addKnownMarketplace, removeKnownMarketplace, ensureDefaultMarketplaces, fetchMarketplace, readAllCachedMarketplaces, lookupPlugin, resolveCloneUrl, RESERVED_MARKETPLACE_NAMES, MarketplaceParseError, } from './plugins/marketplace.js';
64
+ export { EnableState, setPluginEnabled, clearPluginEntry, settingsPathForScope as pluginSettingsPathForScope, } from './plugins/enable-state.js';
65
+ export type { ResolvedEnableState } from './plugins/enable-state.js';
66
+ export type { LoadedPlugin, PluginManifest, PluginAuthor, UserConfigItem, PluginSource, PluginScope, ManifestFormat, PluginLoadError, Marketplace, MarketplaceEntry, KnownMarketplace, KnownMarketplaces, InstalledPluginRecord, InstalledPlugins, } from './plugins/types.js';
67
+ export { discoverManifest, parseManifest, ManifestParseError } from './plugins/manifest.js';
68
+ export { SkillRegistry, createSkillRegistry, reloadSkillRegistry, formatSkillActivationBody, wrapActivatedSkill, } from './skills/registry.js';
69
+ export type { SkillDefinition, SkillEntry, SkillReloadSummary } from './skills/registry.js';
70
+ export { getScopedDisabledSkills, setSkillDisabled, skillSettingsPath } from './skills/settings.js';
71
+ export type { SkillSettingsScope } from './skills/settings.js';
38
72
  export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
39
73
  export type { LoadedSession, SessionListEntry } from './agent/session-store.js';
74
+ export { McpRegistry, emptyRegistry } from './mcp/registry.js';
75
+ export type { RegisteredServer, RestartSummary as McpRestartSummary, AuthHooks as McpAuthHooks, ConnectResult as McpConnectResult, OAuthProviderFactory, } from './mcp/registry.js';
76
+ export { loadMcpServers, loadMcpFromDisk, loadMergedConfigsFromDisk } from './mcp/loader.js';
77
+ export type { LoadOptions as McpLoadOptions, LoadResult as McpLoadResult } from './mcp/loader.js';
78
+ export { McpPermissionStore, classifyDecision } from './mcp/permissions.js';
79
+ export type { McpPermissionDecision } from './mcp/permissions.js';
80
+ export { isProjectTrusted, trustProject, promptForTrust, buildServerPreview } from './mcp/trust.js';
81
+ export type { TrustChoice } from './mcp/trust.js';
82
+ export { McpTokenStorage, getTokenStorage, setTokenStorageForTesting } from './mcp/oauth/token-storage.js';
83
+ export type { StoredServerAuth } from './mcp/oauth/token-storage.js';
84
+ export { McpOAuthProvider, createOAuthProviderFactory } from './mcp/oauth/provider.js';
85
+ export { startCallbackServer } from './mcp/oauth/callback-server.js';
86
+ export type { McpServerConfig, McpServerStatus, McpToolEntry, McpResourceEntry, McpCallResult } from './mcp/types.js';
87
+ export { isStdioConfig, isHttpConfig } from './mcp/types.js';
88
+ export { buildCallableName, MCP_MAX_NAME_LEN } from './mcp/name-mangling.js';
89
+ export { expandEnvDeep, expandEnvString, EnvExpansionError } from './mcp/expand-env.js';
90
+ export { parseServersBlock, parseServerConfig, mcpServersSchema } from './mcp/config-schema.js';
91
+ export { parseAdd, parseAddJson, parseRemove, tokenize } from './mcp/arg-parser.js';
92
+ export type { AddCommand, AddJsonCommand, RemoveCommand, ParsedCommand, ParseResult, ConfigScope, } from './mcp/arg-parser.js';
93
+ export { detectScope, getConfigPath as getMcpConfigPath, readServerConfig, removeServerFromConfig, serverExists, writeServerToConfig, } from './mcp/config-writer.js';
94
+ export type { DetectScopeResult } from './mcp/config-writer.js';
40
95
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,10 +21,10 @@ export { getShellProvider } from './tools/shell-provider.js';
21
21
  // Permissions
22
22
  export { checkPermission, getPermissionLevel } from './permissions/index.js';
23
23
  export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permissions/index.js';
24
- export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
24
+ export { extractCommandPrefix, extractCompoundPrefixes, extractCompoundRules, suggestRuleLabel, } from './permissions/index.js';
25
25
  export { loadPersistedRules, persistRule } from './permissions/index.js';
26
26
  // Utils
27
- export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
27
+ export { USER_XCODE_DIR, XCODE_DIR, debugLog, setPluginDebugMirror } from './utils.js';
28
28
  export { LruCache } from './utils/lru-cache.js';
29
29
  export { mediaTypeFor } from './utils/media-type.js';
30
30
  export { extractText } from './utils/message-helpers.js';
@@ -34,7 +34,43 @@ export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
34
34
  export { generateSessionSummary } from './knowledge/session.js';
35
35
  // Sub-agents
36
36
  export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
37
+ // File-based slash commands (plugin-contributed `commands/*.md`).
38
+ export { CommandRegistry, createCommandRegistry, loadPluginCommands, expandCommandBody } from './commands/index.js';
39
+ // Hooks — agent lifecycle event subsystem driven by plugin contributions.
40
+ export { HookBus, emptyHookBus, aggregatePreToolUse, aggregatePostToolUse, aggregateUserPromptSubmit, } from './hooks/bus.js';
41
+ export { HookRegistry, buildHookRegistry, emptyHookRegistry } from './hooks/registry.js';
42
+ export { executeHook } from './hooks/executor.js';
43
+ export { hookConfigSchema, parseHookConfig, HookConfigParseError } from './hooks/config-schema.js';
44
+ export { buildVariableContext, expandVariables } from './hooks/variables.js';
45
+ // Plugins — discovery, install, marketplace, registry.
46
+ export { loadAllPlugins, resolveContributions } from './plugins/loader.js';
47
+ export { PluginRegistry, emptyPluginRegistry } from './plugins/registry.js';
48
+ export { buildPluginIntegration, debugLogIntegrationDiagnostics, getPluginMcpServersFromDisk, } from './plugins/integration.js';
49
+ export { refreshPluginContributions } from './plugins/refresh.js';
50
+ export { installPlugin, uninstallPlugin, listInstalledPlugins, findInstalledPlugin, InstallError, } from './plugins/installer.js';
51
+ export { buildConsentPreview, probePluginRoot } from './plugins/consent.js';
52
+ export { getPluginUserConfig, setPluginUserConfig, clearPluginUserConfig, getPluginUserConfigEnv, } from './plugins/user-config.js';
53
+ export { parseMarketplace, readKnownMarketplaces, addKnownMarketplace, removeKnownMarketplace, ensureDefaultMarketplaces, fetchMarketplace, readAllCachedMarketplaces, lookupPlugin, resolveCloneUrl, RESERVED_MARKETPLACE_NAMES, MarketplaceParseError, } from './plugins/marketplace.js';
54
+ export { EnableState, setPluginEnabled, clearPluginEntry, settingsPathForScope as pluginSettingsPathForScope, } from './plugins/enable-state.js';
55
+ export { discoverManifest, parseManifest, ManifestParseError } from './plugins/manifest.js';
56
+ // Skills
57
+ export { SkillRegistry, createSkillRegistry, reloadSkillRegistry, formatSkillActivationBody, wrapActivatedSkill, } from './skills/registry.js';
58
+ export { getScopedDisabledSkills, setSkillDisabled, skillSettingsPath } from './skills/settings.js';
37
59
  // Session store (per-session jsonl transcript — used by /resume,
38
60
  // /usage history, and the CLI startup --resume / --continue flags).
39
61
  export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
62
+ // MCP — Model Context Protocol client support.
63
+ export { McpRegistry, emptyRegistry } from './mcp/registry.js';
64
+ export { loadMcpServers, loadMcpFromDisk, loadMergedConfigsFromDisk } from './mcp/loader.js';
65
+ export { McpPermissionStore, classifyDecision } from './mcp/permissions.js';
66
+ export { isProjectTrusted, trustProject, promptForTrust, buildServerPreview } from './mcp/trust.js';
67
+ export { McpTokenStorage, getTokenStorage, setTokenStorageForTesting } from './mcp/oauth/token-storage.js';
68
+ export { McpOAuthProvider, createOAuthProviderFactory } from './mcp/oauth/provider.js';
69
+ export { startCallbackServer } from './mcp/oauth/callback-server.js';
70
+ export { isStdioConfig, isHttpConfig } from './mcp/types.js';
71
+ export { buildCallableName, MCP_MAX_NAME_LEN } from './mcp/name-mangling.js';
72
+ export { expandEnvDeep, expandEnvString, EnvExpansionError } from './mcp/expand-env.js';
73
+ export { parseServersBlock, parseServerConfig, mcpServersSchema } from './mcp/config-schema.js';
74
+ export { parseAdd, parseAddJson, parseRemove, tokenize } from './mcp/arg-parser.js';
75
+ export { detectScope, getConfigPath as getMcpConfigPath, readServerConfig, removeServerFromConfig, serverExists, writeServerToConfig, } from './mcp/config-writer.js';
40
76
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAoBxC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG9G,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxH,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG7E,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,YAAY;AACZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,aAAa;AACb,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG7G,iEAAiE;AACjE,oEAAoE;AACpE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ declare class AutoMemory {
29
29
  /** Save to file */
30
30
  private save;
31
31
  }
32
- export declare function getAutoMemory(scope: 'project' | 'global'): AutoMemory;
32
+ export declare function getAutoMemory(scope: 'project' | 'user'): AutoMemory;
33
33
  /** Initialize memories (load from disk + evict old entries) */
34
34
  export declare function initMemories(): Promise<void>;
35
35
  export { AutoMemory };
@@ -1 +1 @@
1
- {"version":3,"file":"auto-memory.d.ts","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAwBzE,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAmC;gBAExC,QAAQ,EAAE,MAAM;IAI5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,qFAAqF;IACrF,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBjC,oDAAoD;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5C,+CAA+C;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/D,wCAAwC;IACxC,KAAK,CAAC,UAAU,GAAE,MAAW,GAAG,IAAI;IAOpC,oBAAoB;IACpB,MAAM,IAAI,aAAa,EAAE;IAIzB,qEAAqE;IACrE,gBAAgB,IAAI,MAAM;IAS1B,mCAAmC;IACnC,OAAO,CAAC,SAAS;IAsBjB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB,mBAAmB;YACL,IAAI;CAQnB;AA6CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAcrE;AAED,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"auto-memory.d.ts","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAwBzE,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAmC;gBAExC,QAAQ,EAAE,MAAM;IAI5B,8BAA8B;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,qFAAqF;IACrF,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBjC,oDAAoD;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5C,+CAA+C;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/D,wCAAwC;IACxC,KAAK,CAAC,UAAU,GAAE,MAAW,GAAG,IAAI;IAOpC,oBAAoB;IACpB,MAAM,IAAI,aAAa,EAAE;IAIzB,qEAAqE;IACrE,gBAAgB,IAAI,MAAM;IAS1B,mCAAmC;IACnC,OAAO,CAAC,SAAS;IAsBjB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB,mBAAmB;YACL,IAAI;CAQnB;AA6CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAcnE;AAED,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  // @x-code-cli/core — AutoMemory class (key-based CRUD + conflict detection + TTL eviction)
2
2
  import fs from 'node:fs/promises';
3
3
  import path from 'node:path';
4
- import { GLOBAL_XCODE_DIR, XCODE_DIR } from '../utils.js';
4
+ import { USER_XCODE_DIR, XCODE_DIR } from '../utils.js';
5
5
  const MAX_LOAD_LINES = 200;
6
6
  /** Whitelist of valid categories — keep in sync with `KnowledgeCategory` in types/index.ts.
7
7
  * Anything outside this set is rejected at both write time and parse time so legacy
@@ -156,10 +156,10 @@ function parseMemoryFile(content) {
156
156
  // Project memory is keyed by cwd so that if the process ever changes its
157
157
  // working directory (e.g. embedding in a daemon or test harness), we get a
158
158
  // fresh instance bound to the right file rather than silently reusing the
159
- // stale one. Global memory is a true singleton — its path is fixed by
160
- // GLOBAL_XCODE_DIR.
159
+ // stale one. User-scope memory is a true singleton — its path is fixed by
160
+ // USER_XCODE_DIR.
161
161
  const projectMemories = new Map();
162
- let globalMemory = null;
162
+ let userMemory = null;
163
163
  function projectMemoryPath(cwd) {
164
164
  return path.join(cwd, XCODE_DIR, 'memory', 'auto.md');
165
165
  }
@@ -173,18 +173,18 @@ export function getAutoMemory(scope) {
173
173
  }
174
174
  return mem;
175
175
  }
176
- if (!globalMemory) {
177
- globalMemory = new AutoMemory(path.join(GLOBAL_XCODE_DIR, 'memory', 'auto.md'));
176
+ if (!userMemory) {
177
+ userMemory = new AutoMemory(path.join(USER_XCODE_DIR, 'memory', 'auto.md'));
178
178
  }
179
- return globalMemory;
179
+ return userMemory;
180
180
  }
181
181
  /** Initialize memories (load from disk + evict old entries) */
182
182
  export async function initMemories() {
183
183
  const project = getAutoMemory('project');
184
- const global = getAutoMemory('global');
185
- await Promise.all([project.load(), global.load()]);
184
+ const user = getAutoMemory('user');
185
+ await Promise.all([project.load(), user.load()]);
186
186
  project.evict(90);
187
- global.evict(90);
187
+ user.evict(90);
188
188
  }
189
189
  export { AutoMemory };
190
190
  //# sourceMappingURL=auto-memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-memory.js","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;8CAG8C;AAC9C,MAAM,gBAAgB,GAAmC,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;AAE9G,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAsB,CAAC,CAAA;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU;IACN,KAAK,GAAoB,EAAE,CAAA;IAC3B,QAAQ,CAAQ;IACxB,uDAAuD;IAC/C,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAEpD,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACzD,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,GAAG,CAAC,OAAsB;QACxB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,sEAAsE;YACtE,uEAAuE;YACvE,OAAM;QACR,CAAC;QACD,sEAAsE;QACtE,MAAM,IAAI,GAAkB;YAC1B,GAAG,OAAO;YACV,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;YAC9B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;SACjC,CAAA;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACxC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAC/E,CAAA;QACD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,oDAAoD;IACpD,MAAM,CAAC,GAAW,EAAE,QAAiB;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjG,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,GAAW,EAAE,QAAiB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAA;IACxF,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,aAAqB,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,SAAS,CAAA;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;QAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;YAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,oBAAoB;IACpB,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,qEAAqE;IACrE,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAA;QACxE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mCAAmC;IAC3B,SAAS;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAA;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,QAAQ,GAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;QACjD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAA;YAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACK,WAAW;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,mBAAmB;IACX,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAChE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;CACF;AAED;;2DAE2D;AAC3D,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAoB,EAAE,CAAA;IACjC,IAAI,eAAe,GAAG,EAAE,CAAA;IAExB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,aAAa,EAAE,CAAC;YAClB,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACzC,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACzE,IAAI,SAAS,IAAI,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8BAA8B;AAC9B,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,oBAAoB;AAEpB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsB,CAAA;AACrD,IAAI,YAAY,GAAsB,IAAI,CAAA;AAE1C,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA2B;IACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACjD,IAAI,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;YAC9B,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"auto-memory.js","sourceRoot":"","sources":["../../src/knowledge/auto-memory.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  // Layered project context loading. Sources (root-to-leaf precedence within a
4
4
  // section; sections concatenated in the order below):
5
5
  //
6
- // 1. Global AGENTS.md (~/.x-code/) — fallback to CLAUDE.md when absent
7
- // 2. Global auto memory (~/.x-code/memory/auto.md) — AI-written via post-turn extractor
6
+ // 1. User AGENTS.md (~/.x-code/) — fallback to CLAUDE.md when absent
7
+ // 2. User auto memory (~/.x-code/memory/auto.md) — AI-written via post-turn extractor
8
8
  // 3. Project AGENTS.md chain — fallback to CLAUDE.md per directory
9
9
  // 4. Project auto memory (.x-code/memory/auto.md) — AI-written via post-turn extractor
10
10
  // 5. AGENTS.local.md at project root — personal preferences, gitignored
@@ -20,9 +20,9 @@
20
20
  // exist in the same directory, AGENTS.md wins outright and CLAUDE.md is
21
21
  // ignored. Writes (`/init`, future tooling) always target AGENTS.md.
22
22
  import path from 'node:path';
23
- import { GLOBAL_XCODE_DIR, fileExists, readFileSafe } from '../utils.js';
23
+ import { USER_XCODE_DIR, fileExists, readFileSafe } from '../utils.js';
24
24
  import { getAutoMemory } from './auto-memory.js';
25
- const GLOBAL_DIR = GLOBAL_XCODE_DIR;
25
+ const USER_DIR = USER_XCODE_DIR;
26
26
  /** Filenames recognised at each directory, tried in order. The first one
27
27
  * found wins for that directory; the rest are skipped. AGENTS.md is our
28
28
  * primary convention; CLAUDE.md is read-only fallback for compat. */
@@ -74,18 +74,18 @@ async function collectProjectKnowledgeChain(startDir) {
74
74
  /** Build the full knowledge context for system prompt injection */
75
75
  export async function buildKnowledgeContext(options) {
76
76
  const sections = [];
77
- // Global human-written prefs: AGENTS.md preferred; fall back to
77
+ // User-scope human-written prefs: AGENTS.md preferred; fall back to
78
78
  // CLAUDE.md so users with an existing `~/.x-code/CLAUDE.md` (or one
79
79
  // copied over from Claude Code's home) get it picked up without
80
80
  // having to rename.
81
- const globalKnowledge = await readKnowledgeFile(GLOBAL_DIR);
82
- if (globalKnowledge) {
83
- sections.push(`### Global Preferences (~/.x-code/${globalKnowledge.fileName})\n${globalKnowledge.content}`);
81
+ const userKnowledge = await readKnowledgeFile(USER_DIR);
82
+ if (userKnowledge) {
83
+ sections.push(`### User Preferences (~/.x-code/${userKnowledge.fileName})\n${userKnowledge.content}`);
84
84
  }
85
- const globalMemory = getAutoMemory('global');
86
- const globalMemoryContent = globalMemory.getPromptContent();
87
- if (globalMemoryContent) {
88
- sections.push('### Global Auto Memory\n' + globalMemoryContent);
85
+ const userMemory = getAutoMemory('user');
86
+ const userMemoryContent = userMemory.getPromptContent();
87
+ if (userMemoryContent) {
88
+ sections.push('### User Auto Memory\n' + userMemoryContent);
89
89
  }
90
90
  const cwd = process.cwd();
91
91
  const projectKnowledge = await collectProjectKnowledgeChain(cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/knowledge/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/knowledge/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { McpServerConfig } from './types.js';
2
+ export type ConfigScope = 'user' | 'project';
3
+ export interface AddCommand {
4
+ kind: 'add';
5
+ name: string;
6
+ scope: ConfigScope;
7
+ config: McpServerConfig;
8
+ }
9
+ export interface AddJsonCommand {
10
+ kind: 'add-json';
11
+ name: string;
12
+ scope: ConfigScope;
13
+ config: McpServerConfig;
14
+ }
15
+ export interface RemoveCommand {
16
+ kind: 'remove';
17
+ name: string;
18
+ /** Undefined when the user didn't pass --scope; caller auto-detects. */
19
+ scope?: ConfigScope;
20
+ }
21
+ export type ParsedCommand = AddCommand | AddJsonCommand | RemoveCommand;
22
+ export type ParseResult<T extends ParsedCommand = ParsedCommand> = {
23
+ ok: true;
24
+ command: T;
25
+ } | {
26
+ ok: false;
27
+ error: string;
28
+ };
29
+ /** Parse args for `/mcp add [...flags] <name> <command-or-url> [args...]`. */
30
+ export declare function parseAdd(rawArg: string): ParseResult<AddCommand>;
31
+ /** Parse args for `/mcp add-json [--scope ...] <name> '<json>'`.
32
+ * The JSON blob is whatever the schema accepts — same validation runs
33
+ * on the loader side, so passing parseServerConfig here keeps errors
34
+ * uniform between "wrote it via CLI" and "edited the file by hand". */
35
+ export declare function parseAddJson(rawArg: string): ParseResult<AddJsonCommand>;
36
+ /** Parse args for `/mcp remove [--scope ...] <name>`. */
37
+ export declare function parseRemove(rawArg: string): ParseResult<RemoveCommand>;
38
+ /** Minimal POSIX-ish tokeniser. Supports "..."/'...' quoting and
39
+ * backslash-escape of any single char. Quotes are stripped from the
40
+ * output; escapes drop the backslash. Returns a tagged result so the
41
+ * caller can surface "unclosed quote" without throwing. */
42
+ export declare function tokenize(input: string): {
43
+ ok: true;
44
+ tokens: string[];
45
+ } | {
46
+ ok: false;
47
+ error: string;
48
+ };
49
+ //# sourceMappingURL=arg-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arg-parser.d.ts","sourceRoot":"","sources":["../../src/mcp/arg-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAuB,eAAe,EAAwB,MAAM,YAAY,CAAA;AAE5F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;AAEvE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAC3D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GACxB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAYhC,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAyIhE;AAED;;;wEAGwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAwExE;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAoCtE;AAWD;;;4DAG4D;AAC5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA2ErG"}