xibecode 1.0.2 → 1.0.6

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 (288) hide show
  1. package/dist/commands/chat.d.ts +0 -1
  2. package/dist/commands/chat.d.ts.map +1 -1
  3. package/dist/commands/chat.js +10 -7
  4. package/dist/commands/chat.js.map +1 -1
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +5 -3
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/diagnostics.js +1 -1
  9. package/dist/commands/diagnostics.js.map +1 -1
  10. package/dist/commands/mcp.js +1 -1
  11. package/dist/commands/mcp.js.map +1 -1
  12. package/dist/commands/resume.js +1 -1
  13. package/dist/commands/resume.js.map +1 -1
  14. package/dist/commands/run-pr.d.ts.map +1 -1
  15. package/dist/commands/run-pr.js +13 -10
  16. package/dist/commands/run-pr.js.map +1 -1
  17. package/dist/commands/run.d.ts.map +1 -1
  18. package/dist/commands/run.js +17 -14
  19. package/dist/commands/run.js.map +1 -1
  20. package/dist/commands/skills.d.ts.map +1 -1
  21. package/dist/commands/skills.js +3 -2
  22. package/dist/commands/skills.js.map +1 -1
  23. package/dist/components/AssistantMarkdown.js +1 -1
  24. package/dist/components/AssistantMarkdown.js.map +1 -1
  25. package/dist/index.js +2 -39
  26. package/dist/index.js.map +1 -1
  27. package/dist/ui/claude-style-chat.d.ts.map +1 -1
  28. package/dist/ui/claude-style-chat.js +15 -11
  29. package/dist/ui/claude-style-chat.js.map +1 -1
  30. package/dist/utils/built-in-skills-dir.d.ts +7 -0
  31. package/dist/utils/built-in-skills-dir.d.ts.map +1 -0
  32. package/dist/utils/built-in-skills-dir.js +11 -0
  33. package/dist/utils/built-in-skills-dir.js.map +1 -0
  34. package/dist/utils/config.d.ts +2 -119
  35. package/dist/utils/config.d.ts.map +1 -1
  36. package/dist/utils/config.js +3 -88
  37. package/dist/utils/config.js.map +1 -1
  38. package/package.json +11 -26
  39. package/dist/commands/punycode.d.ts +0 -5
  40. package/dist/commands/punycode.d.ts.map +0 -1
  41. package/dist/commands/punycode.js +0 -48
  42. package/dist/commands/punycode.js.map +0 -1
  43. package/dist/commands/tui.d.ts +0 -9
  44. package/dist/commands/tui.d.ts.map +0 -1
  45. package/dist/commands/tui.js +0 -83
  46. package/dist/commands/tui.js.map +0 -1
  47. package/dist/core/agent-tool-policies.d.ts +0 -5
  48. package/dist/core/agent-tool-policies.d.ts.map +0 -1
  49. package/dist/core/agent-tool-policies.js +0 -18
  50. package/dist/core/agent-tool-policies.js.map +0 -1
  51. package/dist/core/agent.d.ts +0 -181
  52. package/dist/core/agent.d.ts.map +0 -1
  53. package/dist/core/agent.js +0 -1777
  54. package/dist/core/agent.js.map +0 -1
  55. package/dist/core/background-agent.d.ts +0 -23
  56. package/dist/core/background-agent.d.ts.map +0 -1
  57. package/dist/core/background-agent.js +0 -175
  58. package/dist/core/background-agent.js.map +0 -1
  59. package/dist/core/code-graph.d.ts +0 -18
  60. package/dist/core/code-graph.d.ts.map +0 -1
  61. package/dist/core/code-graph.js +0 -105
  62. package/dist/core/code-graph.js.map +0 -1
  63. package/dist/core/conflict-solver.d.ts +0 -26
  64. package/dist/core/conflict-solver.d.ts.map +0 -1
  65. package/dist/core/conflict-solver.js +0 -108
  66. package/dist/core/conflict-solver.js.map +0 -1
  67. package/dist/core/context-compactor.d.ts +0 -10
  68. package/dist/core/context-compactor.d.ts.map +0 -1
  69. package/dist/core/context-compactor.js +0 -158
  70. package/dist/core/context-compactor.js.map +0 -1
  71. package/dist/core/context-pruner.d.ts +0 -19
  72. package/dist/core/context-pruner.d.ts.map +0 -1
  73. package/dist/core/context-pruner.js +0 -103
  74. package/dist/core/context-pruner.js.map +0 -1
  75. package/dist/core/context.d.ts +0 -82
  76. package/dist/core/context.d.ts.map +0 -1
  77. package/dist/core/context.js +0 -273
  78. package/dist/core/context.js.map +0 -1
  79. package/dist/core/conversation-recovery.d.ts +0 -9
  80. package/dist/core/conversation-recovery.d.ts.map +0 -1
  81. package/dist/core/conversation-recovery.js +0 -15
  82. package/dist/core/conversation-recovery.js.map +0 -1
  83. package/dist/core/debug-workflow.d.ts +0 -9
  84. package/dist/core/debug-workflow.d.ts.map +0 -1
  85. package/dist/core/debug-workflow.js +0 -19
  86. package/dist/core/debug-workflow.js.map +0 -1
  87. package/dist/core/docs-scraper.d.ts +0 -40
  88. package/dist/core/docs-scraper.d.ts.map +0 -1
  89. package/dist/core/docs-scraper.js +0 -386
  90. package/dist/core/docs-scraper.js.map +0 -1
  91. package/dist/core/editor.d.ts +0 -87
  92. package/dist/core/editor.d.ts.map +0 -1
  93. package/dist/core/editor.js +0 -377
  94. package/dist/core/editor.js.map +0 -1
  95. package/dist/core/export.d.ts +0 -11
  96. package/dist/core/export.d.ts.map +0 -1
  97. package/dist/core/export.js +0 -54
  98. package/dist/core/export.js.map +0 -1
  99. package/dist/core/history-manager.d.ts +0 -75
  100. package/dist/core/history-manager.d.ts.map +0 -1
  101. package/dist/core/history-manager.js +0 -146
  102. package/dist/core/history-manager.js.map +0 -1
  103. package/dist/core/marketplace-client.d.ts +0 -52
  104. package/dist/core/marketplace-client.d.ts.map +0 -1
  105. package/dist/core/marketplace-client.js +0 -71
  106. package/dist/core/marketplace-client.js.map +0 -1
  107. package/dist/core/mcp/mcp-config.d.ts +0 -10
  108. package/dist/core/mcp/mcp-config.d.ts.map +0 -1
  109. package/dist/core/mcp/mcp-config.js +0 -70
  110. package/dist/core/mcp/mcp-config.js.map +0 -1
  111. package/dist/core/mcp/mcp-policy.d.ts +0 -17
  112. package/dist/core/mcp/mcp-policy.d.ts.map +0 -1
  113. package/dist/core/mcp/mcp-policy.js +0 -56
  114. package/dist/core/mcp/mcp-policy.js.map +0 -1
  115. package/dist/core/mcp/oauth-flow.d.ts +0 -30
  116. package/dist/core/mcp/oauth-flow.d.ts.map +0 -1
  117. package/dist/core/mcp/oauth-flow.js +0 -230
  118. package/dist/core/mcp/oauth-flow.js.map +0 -1
  119. package/dist/core/mcp/oauth-store.d.ts +0 -13
  120. package/dist/core/mcp/oauth-store.d.ts.map +0 -1
  121. package/dist/core/mcp/oauth-store.js +0 -68
  122. package/dist/core/mcp/oauth-store.js.map +0 -1
  123. package/dist/core/mcp/resolve-mcp-servers.d.ts +0 -16
  124. package/dist/core/mcp/resolve-mcp-servers.d.ts.map +0 -1
  125. package/dist/core/mcp/resolve-mcp-servers.js +0 -83
  126. package/dist/core/mcp/resolve-mcp-servers.js.map +0 -1
  127. package/dist/core/mcp-client.d.ts +0 -99
  128. package/dist/core/mcp-client.d.ts.map +0 -1
  129. package/dist/core/mcp-client.js +0 -315
  130. package/dist/core/mcp-client.js.map +0 -1
  131. package/dist/core/memory-promotions.d.ts +0 -15
  132. package/dist/core/memory-promotions.d.ts.map +0 -1
  133. package/dist/core/memory-promotions.js +0 -38
  134. package/dist/core/memory-promotions.js.map +0 -1
  135. package/dist/core/memory.d.ts +0 -32
  136. package/dist/core/memory.d.ts.map +0 -1
  137. package/dist/core/memory.js +0 -121
  138. package/dist/core/memory.js.map +0 -1
  139. package/dist/core/modes.d.ts +0 -432
  140. package/dist/core/modes.d.ts.map +0 -1
  141. package/dist/core/modes.js +0 -1088
  142. package/dist/core/modes.js.map +0 -1
  143. package/dist/core/pattern-miner.d.ts +0 -43
  144. package/dist/core/pattern-miner.d.ts.map +0 -1
  145. package/dist/core/pattern-miner.js +0 -123
  146. package/dist/core/pattern-miner.js.map +0 -1
  147. package/dist/core/permission-store.d.ts +0 -15
  148. package/dist/core/permission-store.d.ts.map +0 -1
  149. package/dist/core/permission-store.js +0 -30
  150. package/dist/core/permission-store.js.map +0 -1
  151. package/dist/core/permissions.d.ts +0 -33
  152. package/dist/core/permissions.d.ts.map +0 -1
  153. package/dist/core/permissions.js +0 -141
  154. package/dist/core/permissions.js.map +0 -1
  155. package/dist/core/plan-artifacts.d.ts +0 -10
  156. package/dist/core/plan-artifacts.d.ts.map +0 -1
  157. package/dist/core/plan-artifacts.js +0 -60
  158. package/dist/core/plan-artifacts.js.map +0 -1
  159. package/dist/core/plan-session.d.ts +0 -25
  160. package/dist/core/plan-session.d.ts.map +0 -1
  161. package/dist/core/plan-session.js +0 -99
  162. package/dist/core/plan-session.js.map +0 -1
  163. package/dist/core/planMode.d.ts +0 -51
  164. package/dist/core/planMode.d.ts.map +0 -1
  165. package/dist/core/planMode.js +0 -245
  166. package/dist/core/planMode.js.map +0 -1
  167. package/dist/core/plugins.d.ts +0 -96
  168. package/dist/core/plugins.d.ts.map +0 -1
  169. package/dist/core/plugins.js +0 -202
  170. package/dist/core/plugins.js.map +0 -1
  171. package/dist/core/session-bridge.d.ts +0 -128
  172. package/dist/core/session-bridge.d.ts.map +0 -1
  173. package/dist/core/session-bridge.js +0 -328
  174. package/dist/core/session-bridge.js.map +0 -1
  175. package/dist/core/session-manager.d.ts +0 -80
  176. package/dist/core/session-manager.d.ts.map +0 -1
  177. package/dist/core/session-manager.js +0 -166
  178. package/dist/core/session-manager.js.map +0 -1
  179. package/dist/core/session-memory.d.ts +0 -45
  180. package/dist/core/session-memory.d.ts.map +0 -1
  181. package/dist/core/session-memory.js +0 -103
  182. package/dist/core/session-memory.js.map +0 -1
  183. package/dist/core/skill-selection.d.ts +0 -36
  184. package/dist/core/skill-selection.d.ts.map +0 -1
  185. package/dist/core/skill-selection.js +0 -172
  186. package/dist/core/skill-selection.js.map +0 -1
  187. package/dist/core/skills-sh-client.d.ts +0 -19
  188. package/dist/core/skills-sh-client.d.ts.map +0 -1
  189. package/dist/core/skills-sh-client.js +0 -75
  190. package/dist/core/skills-sh-client.js.map +0 -1
  191. package/dist/core/skills.d.ts +0 -97
  192. package/dist/core/skills.d.ts.map +0 -1
  193. package/dist/core/skills.js +0 -339
  194. package/dist/core/skills.js.map +0 -1
  195. package/dist/core/swarm.d.ts +0 -34
  196. package/dist/core/swarm.d.ts.map +0 -1
  197. package/dist/core/swarm.js +0 -111
  198. package/dist/core/swarm.js.map +0 -1
  199. package/dist/core/task-status.d.ts +0 -13
  200. package/dist/core/task-status.d.ts.map +0 -1
  201. package/dist/core/task-status.js +0 -17
  202. package/dist/core/task-status.js.map +0 -1
  203. package/dist/core/tool-orchestrator.d.ts +0 -30
  204. package/dist/core/tool-orchestrator.d.ts.map +0 -1
  205. package/dist/core/tool-orchestrator.js +0 -89
  206. package/dist/core/tool-orchestrator.js.map +0 -1
  207. package/dist/core/tools.d.ts +0 -462
  208. package/dist/core/tools.d.ts.map +0 -1
  209. package/dist/core/tools.js +0 -2916
  210. package/dist/core/tools.js.map +0 -1
  211. package/dist/core/transcript-cleanup.d.ts +0 -8
  212. package/dist/core/transcript-cleanup.d.ts.map +0 -1
  213. package/dist/core/transcript-cleanup.js +0 -52
  214. package/dist/core/transcript-cleanup.js.map +0 -1
  215. package/dist/core/visual-feedback.d.ts +0 -20
  216. package/dist/core/visual-feedback.d.ts.map +0 -1
  217. package/dist/core/visual-feedback.js +0 -117
  218. package/dist/core/visual-feedback.js.map +0 -1
  219. package/dist/tools/browser.d.ts +0 -120
  220. package/dist/tools/browser.d.ts.map +0 -1
  221. package/dist/tools/browser.js +0 -439
  222. package/dist/tools/browser.js.map +0 -1
  223. package/dist/tools/test-generator.d.ts +0 -157
  224. package/dist/tools/test-generator.d.ts.map +0 -1
  225. package/dist/tools/test-generator.js +0 -893
  226. package/dist/tools/test-generator.js.map +0 -1
  227. package/dist/tui/InkApp.d.ts +0 -21
  228. package/dist/tui/InkApp.d.ts.map +0 -1
  229. package/dist/tui/InkApp.js +0 -146
  230. package/dist/tui/InkApp.js.map +0 -1
  231. package/dist/tui/MarkdownMessage.d.ts +0 -16
  232. package/dist/tui/MarkdownMessage.d.ts.map +0 -1
  233. package/dist/tui/MarkdownMessage.js +0 -63
  234. package/dist/tui/MarkdownMessage.js.map +0 -1
  235. package/dist/tui/blessed-chat.d.ts +0 -9
  236. package/dist/tui/blessed-chat.d.ts.map +0 -1
  237. package/dist/tui/blessed-chat.js +0 -887
  238. package/dist/tui/blessed-chat.js.map +0 -1
  239. package/dist/tui/markdown-to-blessed.d.ts +0 -6
  240. package/dist/tui/markdown-to-blessed.d.ts.map +0 -1
  241. package/dist/tui/markdown-to-blessed.js +0 -26
  242. package/dist/tui/markdown-to-blessed.js.map +0 -1
  243. package/dist/ui/ink/App.d.ts +0 -25
  244. package/dist/ui/ink/App.d.ts.map +0 -1
  245. package/dist/ui/ink/App.js +0 -372
  246. package/dist/ui/ink/App.js.map +0 -1
  247. package/dist/utils/at-references.d.ts +0 -14
  248. package/dist/utils/at-references.d.ts.map +0 -1
  249. package/dist/utils/at-references.js +0 -47
  250. package/dist/utils/at-references.js.map +0 -1
  251. package/dist/utils/auto-memory.d.ts +0 -24
  252. package/dist/utils/auto-memory.d.ts.map +0 -1
  253. package/dist/utils/auto-memory.js +0 -153
  254. package/dist/utils/auto-memory.js.map +0 -1
  255. package/dist/utils/git.d.ts +0 -89
  256. package/dist/utils/git.d.ts.map +0 -1
  257. package/dist/utils/git.js +0 -444
  258. package/dist/utils/git.js.map +0 -1
  259. package/dist/utils/mcp-servers-file.d.ts +0 -46
  260. package/dist/utils/mcp-servers-file.d.ts.map +0 -1
  261. package/dist/utils/mcp-servers-file.js +0 -212
  262. package/dist/utils/mcp-servers-file.js.map +0 -1
  263. package/dist/utils/safety.d.ts +0 -60
  264. package/dist/utils/safety.d.ts.map +0 -1
  265. package/dist/utils/safety.js +0 -254
  266. package/dist/utils/safety.js.map +0 -1
  267. package/dist/utils/smithery.d.ts +0 -25
  268. package/dist/utils/smithery.d.ts.map +0 -1
  269. package/dist/utils/smithery.js +0 -50
  270. package/dist/utils/smithery.js.map +0 -1
  271. package/dist/utils/testRunner.d.ts +0 -44
  272. package/dist/utils/testRunner.d.ts.map +0 -1
  273. package/dist/utils/testRunner.js +0 -270
  274. package/dist/utils/testRunner.js.map +0 -1
  275. package/dist/webui/server.d.ts +0 -99
  276. package/dist/webui/server.d.ts.map +0 -1
  277. package/dist/webui/server.js +0 -2619
  278. package/dist/webui/server.js.map +0 -1
  279. package/webui-dist/assets/index-CSla6Lzy.css +0 -32
  280. package/webui-dist/assets/index-G_Z4gzPy.js +0 -457
  281. package/webui-dist/assets/index-G_Z4gzPy.js.map +0 -1
  282. package/webui-dist/assets/xterm-Da5jL1MD.js +0 -10
  283. package/webui-dist/assets/xterm-Da5jL1MD.js.map +0 -1
  284. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js +0 -2
  285. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js.map +0 -1
  286. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js +0 -2
  287. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js.map +0 -1
  288. package/webui-dist/index.html +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- export interface CodeChunk {
2
- id: string;
3
- filePath: string;
4
- startLine: number;
5
- endLine: number;
6
- type: 'function' | 'class' | 'interface' | 'variable';
7
- name: string;
8
- content: string;
9
- signature: string;
10
- }
11
- export interface PatternCluster {
12
- id: string;
13
- description: string;
14
- chunks: CodeChunk[];
15
- frequency: number;
16
- }
17
- export declare class PatternMiner {
18
- private projectRoot;
19
- constructor(projectRoot?: string);
20
- /**
21
- * Main entry point: Scans the project and returns pattern clusters
22
- */
23
- mine(excludePatterns?: string[]): Promise<PatternCluster[]>;
24
- /**
25
- * Find all relevant TypeScript files
26
- */
27
- private scanFiles;
28
- /**
29
- * Parse file and extract interesting AST nodes
30
- */
31
- private extractChunks;
32
- private createChunk;
33
- /**
34
- * Generates a "structural fingerprint" used to find patterns.
35
- * It strips names, literals, and comments, keeping only keywords and structure.
36
- */
37
- private generateStructuralSignature;
38
- /**
39
- * Groups chunks by similarity
40
- */
41
- private clusterChunks;
42
- }
43
- //# sourceMappingURL=pattern-miner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-miner.d.ts","sourceRoot":"","sources":["../../src/core/pattern-miner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,IAAI,CAAC,eAAe,GAAE,MAAM,EAAyE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAevI;;OAEG;YACW,SAAS;IAQvB;;OAEG;YACW,aAAa;IAgC3B,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;OAEG;IACH,OAAO,CAAC,aAAa;CA+BxB"}
@@ -1,123 +0,0 @@
1
- import * as ts from 'typescript';
2
- import * as fs from 'fs/promises';
3
- import glob from 'fast-glob';
4
- import { createHash } from 'crypto';
5
- export class PatternMiner {
6
- projectRoot;
7
- constructor(projectRoot = process.cwd()) {
8
- this.projectRoot = projectRoot;
9
- }
10
- /**
11
- * Main entry point: Scans the project and returns pattern clusters
12
- */
13
- async mine(excludePatterns = ['**/node_modules/**', '**/dist/**', '**/*.test.ts', '**/*.spec.ts']) {
14
- const files = await this.scanFiles(excludePatterns);
15
- const chunks = [];
16
- console.log(`Scanning ${files.length} files for patterns...`);
17
- for (const file of files) {
18
- const fileChunks = await this.extractChunks(file);
19
- chunks.push(...fileChunks);
20
- }
21
- console.log(`Extracted ${chunks.length} code chunks. Analyzing similarities...`);
22
- return this.clusterChunks(chunks);
23
- }
24
- /**
25
- * Find all relevant TypeScript files
26
- */
27
- async scanFiles(excludes) {
28
- return glob(['src/**/*.ts', 'src/**/*.tsx'], {
29
- cwd: this.projectRoot,
30
- ignore: excludes,
31
- absolute: true
32
- });
33
- }
34
- /**
35
- * Parse file and extract interesting AST nodes
36
- */
37
- async extractChunks(filePath) {
38
- const content = await fs.readFile(filePath, 'utf-8');
39
- const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
40
- const chunks = [];
41
- const visit = (node) => {
42
- // Function Declarations
43
- if (ts.isFunctionDeclaration(node) && node.name) {
44
- chunks.push(this.createChunk(node, sourceFile, filePath, 'function', node.name.text));
45
- }
46
- // Class Declarations
47
- else if (ts.isClassDeclaration(node) && node.name) {
48
- chunks.push(this.createChunk(node, sourceFile, filePath, 'class', node.name.text));
49
- }
50
- // Interface Declarations
51
- else if (ts.isInterfaceDeclaration(node) && node.name) {
52
- chunks.push(this.createChunk(node, sourceFile, filePath, 'interface', node.name.text));
53
- }
54
- ts.forEachChild(node, visit);
55
- };
56
- visit(sourceFile);
57
- return chunks;
58
- }
59
- createChunk(node, sourceFile, filePath, type, name) {
60
- const start = sourceFile.getLineAndCharacterOfPosition(node.getStart());
61
- const end = sourceFile.getLineAndCharacterOfPosition(node.getEnd());
62
- const content = node.getText(sourceFile);
63
- return {
64
- id: createHash('md5').update(`${filePath}:${start.line}:${name}`).digest('hex'),
65
- filePath,
66
- startLine: start.line + 1,
67
- endLine: end.line + 1,
68
- type,
69
- name,
70
- content,
71
- signature: this.generateStructuralSignature(node) // The magic sauce for similarity
72
- };
73
- }
74
- /**
75
- * Generates a "structural fingerprint" used to find patterns.
76
- * It strips names, literals, and comments, keeping only keywords and structure.
77
- */
78
- generateStructuralSignature(node) {
79
- // Simple structural hashing: walk the tree and record syntax kinds
80
- const tokens = [];
81
- const visit = (n) => {
82
- tokens.push(n.kind);
83
- ts.forEachChild(n, visit);
84
- };
85
- visit(node);
86
- // Turn the array of SyntaxKinds into a string hash/string
87
- // This is a naive implementation;
88
- // A better one would normalize identifiers to 'ID' but keep structure.
89
- return tokens.join(',');
90
- }
91
- /**
92
- * Groups chunks by similarity
93
- */
94
- clusterChunks(chunks) {
95
- const clusters = new Map();
96
- // Exact Structural Match Clustering
97
- // TODO: Implement fuzzy matching (Jaccard) for V2
98
- for (const chunk of chunks) {
99
- // We ignore very small chunks to avoid noise
100
- if (chunk.content.length < 50)
101
- continue;
102
- const key = `${chunk.type}:${chunk.signature}`;
103
- if (!clusters.has(key)) {
104
- clusters.set(key, []);
105
- }
106
- clusters.get(key).push(chunk);
107
- }
108
- // Filter for meaningful clusters (e.g., duplicates > 1)
109
- const results = [];
110
- clusters.forEach((clusterChunks, key) => {
111
- if (clusterChunks.length >= 2) {
112
- results.push({
113
- id: createHash('md5').update(key).digest('hex'),
114
- description: `Repeated ${clusterChunks[0].type} pattern found in ${clusterChunks.length} locations`,
115
- chunks: clusterChunks,
116
- frequency: clusterChunks.length
117
- });
118
- }
119
- });
120
- return results.sort((a, b) => b.frequency - a.frequency);
121
- }
122
- }
123
- //# sourceMappingURL=pattern-miner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-miner.js","sourceRoot":"","sources":["../../src/core/pattern-miner.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { PermissionMode } from './permissions.js';
2
- export interface PersistedPermissionState {
3
- permissionMode: PermissionMode;
4
- sessionApprovals: string[];
5
- directoryApprovals: string[];
6
- updatedAt: string;
7
- }
8
- export declare class PermissionStore {
9
- private readonly workingDir;
10
- private readonly storePath;
11
- constructor(workingDir?: string);
12
- load(): Promise<PersistedPermissionState | null>;
13
- save(state: PersistedPermissionState): Promise<void>;
14
- }
15
- //# sourceMappingURL=permission-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-store.d.ts","sourceRoot":"","sources":["../../src/core/permission-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEN,UAAU,GAAE,MAAsB;IAIzD,IAAI,IAAI,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAchD,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -1,30 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import * as path from 'path';
4
- export class PermissionStore {
5
- workingDir;
6
- storePath;
7
- constructor(workingDir = process.cwd()) {
8
- this.workingDir = workingDir;
9
- this.storePath = path.join(workingDir, '.xibecode', 'permission-state.json');
10
- }
11
- async load() {
12
- if (!existsSync(this.storePath)) {
13
- return null;
14
- }
15
- try {
16
- const raw = await fs.readFile(this.storePath, 'utf8');
17
- const parsed = JSON.parse(raw);
18
- return parsed;
19
- }
20
- catch {
21
- return null;
22
- }
23
- }
24
- async save(state) {
25
- const dir = path.dirname(this.storePath);
26
- await fs.mkdir(dir, { recursive: true });
27
- await fs.writeFile(this.storePath, JSON.stringify(state, null, 2), 'utf8');
28
- }
29
- }
30
- //# sourceMappingURL=permission-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-store.js","sourceRoot":"","sources":["../../src/core/permission-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAU7B,MAAM,OAAO,eAAe;IAGG;IAFZ,SAAS,CAAS;IAEnC,YAA6B,aAAqB,OAAO,CAAC,GAAG,EAAE;QAAlC,eAAU,GAAV,UAAU,CAAwB;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;YAC3D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAA+B;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -1,33 +0,0 @@
1
- import type { AgentMode } from './modes.js';
2
- export type PermissionMode = 'default' | 'plan' | 'acceptEdits' | 'dontAsk';
3
- export type ApprovalScope = 'single' | 'session' | 'directory';
4
- export interface ToolPermissionContext {
5
- permissionMode: PermissionMode;
6
- mode: AgentMode;
7
- sessionApprovals: Set<string>;
8
- directoryApprovals: Set<string>;
9
- }
10
- export interface ToolPermissionDecision {
11
- allowed: boolean;
12
- requiresApproval: boolean;
13
- reason?: string;
14
- }
15
- export interface ModeTransitionDecision {
16
- approved: boolean;
17
- requiresConfirmation: boolean;
18
- reason?: string;
19
- }
20
- export declare class PermissionManager {
21
- private context;
22
- constructor(initialMode: AgentMode);
23
- getContext(): ToolPermissionContext;
24
- setMode(mode: AgentMode): void;
25
- setPermissionMode(permissionMode: PermissionMode): void;
26
- clearSessionApprovals(): void;
27
- evaluateModeTransition(fromMode: AgentMode, toMode: AgentMode): ModeTransitionDecision;
28
- evaluateToolExecution(input: Record<string, any>, toolName: string, category?: string): ToolPermissionDecision;
29
- grantToolApproval(toolName: string, category: string, scope: ApprovalScope, inputPath?: string): void;
30
- private hasDirectoryApprovalFor;
31
- private getDefaultPermissionMode;
32
- }
33
- //# sourceMappingURL=permissions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/core/permissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAwB;gBAE3B,WAAW,EAAE,SAAS;IASlC,UAAU,IAAI,qBAAqB;IAInC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAQ9B,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAOvD,qBAAqB,IAAI,IAAI;IAK7B,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,sBAAsB;IA+BtF,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,sBAAsB;IA0D9G,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAarG,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,wBAAwB;CAOjC"}
@@ -1,141 +0,0 @@
1
- import * as path from 'path';
2
- import { MODE_CONFIG } from './modes.js';
3
- const HIGH_RISK_CATEGORIES = new Set(['write_fs', 'git_mutation', 'shell_command']);
4
- function normalizeDirectory(dirPath) {
5
- return path.resolve(dirPath);
6
- }
7
- export class PermissionManager {
8
- context;
9
- constructor(initialMode) {
10
- this.context = {
11
- permissionMode: this.getDefaultPermissionMode(initialMode),
12
- mode: initialMode,
13
- sessionApprovals: new Set(),
14
- directoryApprovals: new Set(),
15
- };
16
- }
17
- getContext() {
18
- return this.context;
19
- }
20
- setMode(mode) {
21
- this.context = {
22
- ...this.context,
23
- mode,
24
- permissionMode: this.getDefaultPermissionMode(mode),
25
- };
26
- }
27
- setPermissionMode(permissionMode) {
28
- this.context = {
29
- ...this.context,
30
- permissionMode,
31
- };
32
- }
33
- clearSessionApprovals() {
34
- this.context.sessionApprovals.clear();
35
- this.context.directoryApprovals.clear();
36
- }
37
- evaluateModeTransition(fromMode, toMode) {
38
- const fromConfig = MODE_CONFIG[fromMode];
39
- const toConfig = MODE_CONFIG[toMode];
40
- if (this.context.permissionMode === 'dontAsk') {
41
- return { approved: true, requiresConfirmation: false };
42
- }
43
- if (this.context.permissionMode === 'acceptEdits') {
44
- return { approved: true, requiresConfirmation: false };
45
- }
46
- if (toConfig.requiresConfirmation) {
47
- return {
48
- approved: false,
49
- requiresConfirmation: true,
50
- reason: `${toMode} mode requires confirmation`,
51
- };
52
- }
53
- if (!fromConfig.canModify && toConfig.canModify) {
54
- return {
55
- approved: false,
56
- requiresConfirmation: true,
57
- reason: 'Escalating to write-capable mode requires confirmation',
58
- };
59
- }
60
- return { approved: true, requiresConfirmation: false };
61
- }
62
- evaluateToolExecution(input, toolName, category) {
63
- if (!category) {
64
- if (this.context.permissionMode === 'dontAsk') {
65
- return { allowed: true, requiresApproval: false };
66
- }
67
- if (input.confirm === true || input.approved === true) {
68
- return { allowed: true, requiresApproval: false };
69
- }
70
- return {
71
- allowed: false,
72
- requiresApproval: true,
73
- reason: `Tool '${toolName}' has an unknown risk category and requires explicit approval. ` +
74
- `Re-run with { "confirm": true } to approve once.`,
75
- };
76
- }
77
- if (this.context.permissionMode === 'dontAsk') {
78
- return { allowed: true, requiresApproval: false };
79
- }
80
- if (this.context.permissionMode === 'plan' && HIGH_RISK_CATEGORIES.has(category)) {
81
- return {
82
- allowed: false,
83
- requiresApproval: false,
84
- reason: `Permission mode '${this.context.permissionMode}' blocks ${category} operations`,
85
- };
86
- }
87
- if (!HIGH_RISK_CATEGORIES.has(category)) {
88
- return { allowed: true, requiresApproval: false };
89
- }
90
- if (this.context.permissionMode === 'acceptEdits') {
91
- return { allowed: true, requiresApproval: false };
92
- }
93
- if (input.confirm === true || input.approved === true) {
94
- return { allowed: true, requiresApproval: false };
95
- }
96
- const sessionKey = `${toolName}:${category}`;
97
- if (this.context.sessionApprovals.has(sessionKey)) {
98
- return { allowed: true, requiresApproval: false };
99
- }
100
- const inputPath = typeof input.path === 'string' ? normalizeDirectory(input.path) : null;
101
- if (inputPath && this.hasDirectoryApprovalFor(inputPath)) {
102
- return { allowed: true, requiresApproval: false };
103
- }
104
- return {
105
- allowed: false,
106
- requiresApproval: true,
107
- reason: `Tool '${toolName}' (${category}) requires explicit approval. Re-run with { \"confirm\": true } to approve once, or include { \"approval_scope\": \"session\" | \"directory\" }.`,
108
- };
109
- }
110
- grantToolApproval(toolName, category, scope, inputPath) {
111
- if (scope === 'single')
112
- return;
113
- if (scope === 'session') {
114
- this.context.sessionApprovals.add(`${toolName}:${category}`);
115
- return;
116
- }
117
- if (scope === 'directory' && inputPath) {
118
- this.context.directoryApprovals.add(normalizeDirectory(inputPath));
119
- }
120
- }
121
- hasDirectoryApprovalFor(inputPath) {
122
- for (const approvedDir of this.context.directoryApprovals) {
123
- if (inputPath.startsWith(approvedDir)) {
124
- return true;
125
- }
126
- }
127
- return false;
128
- }
129
- getDefaultPermissionMode(mode) {
130
- if (mode === 'plan')
131
- return 'plan';
132
- if (mode === 'agent')
133
- return 'acceptEdits';
134
- if (mode === 'engineer')
135
- return 'default';
136
- if (!MODE_CONFIG[mode].canModify)
137
- return 'plan';
138
- return 'default';
139
- }
140
- }
141
- //# sourceMappingURL=permissions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/core/permissions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface PersistedPlanArtifact {
2
- artifactPath: string;
3
- compatibilityPath: string;
4
- }
5
- export declare function persistPlanArtifact(workingDir: string, sessionId: string, request: string, planContent: string): Promise<PersistedPlanArtifact>;
6
- export declare function loadLatestPlanArtifact(workingDir: string): Promise<{
7
- path: string;
8
- content: string;
9
- } | null>;
10
- //# sourceMappingURL=plan-artifacts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-artifacts.d.ts","sourceRoot":"","sources":["../../src/core/plan-artifacts.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAiClH"}
@@ -1,60 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
3
- export async function persistPlanArtifact(workingDir, sessionId, request, planContent) {
4
- const plansDir = path.join(workingDir, '.xibecode', 'plans');
5
- await fs.mkdir(plansDir, { recursive: true });
6
- const artifactPath = path.join(plansDir, `${sessionId}.md`);
7
- const compatibilityPath = path.join(workingDir, 'implementations.md');
8
- const rendered = renderPlanArtifact(sessionId, request, planContent);
9
- await fs.writeFile(artifactPath, rendered, 'utf8');
10
- await fs.writeFile(compatibilityPath, rendered, 'utf8');
11
- return { artifactPath, compatibilityPath };
12
- }
13
- export async function loadLatestPlanArtifact(workingDir) {
14
- const plansDir = path.join(workingDir, '.xibecode', 'plans');
15
- let files;
16
- try {
17
- files = await fs.readdir(plansDir);
18
- }
19
- catch {
20
- return null;
21
- }
22
- const markdownFiles = files.filter((file) => file.endsWith('.md'));
23
- if (markdownFiles.length === 0)
24
- return null;
25
- // Bounded concurrency (chunks of 20) to prevent EMFILE errors while speeding up IO
26
- const CONCURRENCY_LIMIT = 20;
27
- const withStats = [];
28
- for (let i = 0; i < markdownFiles.length; i += CONCURRENCY_LIMIT) {
29
- const chunk = markdownFiles.slice(i, i + CONCURRENCY_LIMIT);
30
- const results = await Promise.all(chunk.map(async (file) => {
31
- const fullPath = path.join(plansDir, file);
32
- const stat = await fs.stat(fullPath);
33
- return { fullPath, mtimeMs: stat.mtimeMs };
34
- }));
35
- withStats.push(...results);
36
- }
37
- withStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
38
- const latestPath = withStats[0].fullPath;
39
- const content = await fs.readFile(latestPath, 'utf8');
40
- return { path: latestPath, content };
41
- }
42
- function renderPlanArtifact(sessionId, request, planContent) {
43
- const now = new Date().toISOString();
44
- return [
45
- `# Implementation Plan`,
46
- ``,
47
- `- Session: ${sessionId}`,
48
- `- Generated: ${now}`,
49
- ``,
50
- `## Request`,
51
- ``,
52
- request.trim(),
53
- ``,
54
- `## Plan`,
55
- ``,
56
- planContent.trim(),
57
- ``,
58
- ].join('\n');
59
- }
60
- //# sourceMappingURL=plan-artifacts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-artifacts.js","sourceRoot":"","sources":["../../src/core/plan-artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- export type PlanSessionStatus = 'drafting' | 'awaiting_answers' | 'awaiting_approval' | 'approved' | 'rejected' | 'executing' | 'completed';
2
- export interface PlanSession {
3
- id: string;
4
- request: string;
5
- status: PlanSessionStatus;
6
- createdAt: string;
7
- updatedAt: string;
8
- answers: Record<string, string>;
9
- artifactPath?: string;
10
- metadata?: Record<string, string>;
11
- }
12
- export declare class PlanSessionManager {
13
- private readonly workingDir;
14
- private readonly sessionDir;
15
- constructor(workingDir?: string);
16
- create(request: string, metadata?: Record<string, string>): Promise<PlanSession>;
17
- load(sessionId: string): Promise<PlanSession | null>;
18
- updateStatus(sessionId: string, status: PlanSessionStatus): Promise<PlanSession | null>;
19
- attachArtifact(sessionId: string, artifactPath: string): Promise<PlanSession | null>;
20
- addAnswers(sessionId: string, answers: Record<string, string>): Promise<PlanSession | null>;
21
- listRecent(limit?: number): Promise<PlanSession[]>;
22
- private save;
23
- private getSessionPath;
24
- }
25
- //# sourceMappingURL=plan-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-session.d.ts","sourceRoot":"","sources":["../../src/core/plan-session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAEP,UAAU,GAAE,MAAsB;IAIzD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAehF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAUpD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IASvF,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IASpF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAS3F,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAgCtC,IAAI;IAMlB,OAAO,CAAC,cAAc;CAGvB"}