@machina.ai/cell-cli-core 1.19.4-rc3 → 1.20.2-rc1

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 (172) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/agents/executor.js +11 -16
  3. package/dist/src/agents/executor.js.map +1 -1
  4. package/dist/src/agents/executor.test.js +8 -9
  5. package/dist/src/agents/executor.test.js.map +1 -1
  6. package/dist/src/availability/modelAvailabilityService.d.ts +1 -1
  7. package/dist/src/availability/modelAvailabilityService.js +2 -2
  8. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  9. package/dist/src/availability/modelAvailabilityService.test.js +3 -3
  10. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  11. package/dist/src/availability/policyCatalog.d.ts +3 -1
  12. package/dist/src/availability/policyCatalog.js +2 -2
  13. package/dist/src/availability/policyCatalog.js.map +1 -1
  14. package/dist/src/availability/policyHelpers.d.ts +21 -0
  15. package/dist/src/availability/policyHelpers.js +45 -0
  16. package/dist/src/availability/policyHelpers.js.map +1 -0
  17. package/dist/src/availability/policyHelpers.test.d.ts +6 -0
  18. package/dist/src/availability/policyHelpers.test.js +52 -0
  19. package/dist/src/availability/policyHelpers.test.js.map +1 -0
  20. package/dist/src/code_assist/experiments/client_metadata.js +1 -1
  21. package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
  22. package/dist/src/code_assist/experiments/experiments.js +2 -2
  23. package/dist/src/code_assist/experiments/experiments.js.map +1 -1
  24. package/dist/src/code_assist/oauth2.js +3 -3
  25. package/dist/src/code_assist/oauth2.js.map +1 -1
  26. package/dist/src/code_assist/oauth2.test.js +1 -1
  27. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  28. package/dist/src/code_assist/server.d.ts +2 -1
  29. package/dist/src/code_assist/server.js +7 -4
  30. package/dist/src/code_assist/server.js.map +1 -1
  31. package/dist/src/code_assist/server.test.js +24 -0
  32. package/dist/src/code_assist/server.test.js.map +1 -1
  33. package/dist/src/code_assist/types.d.ts +14 -0
  34. package/dist/src/config/config.d.ts +14 -0
  35. package/dist/src/config/config.js +36 -0
  36. package/dist/src/config/config.js.map +1 -1
  37. package/dist/src/config/config.test.js +14 -0
  38. package/dist/src/config/config.test.js.map +1 -1
  39. package/dist/src/core/AuthenticatedContentGenerator.js +4 -4
  40. package/dist/src/core/AuthenticatedContentGenerator.js.map +1 -1
  41. package/dist/src/core/client.js +5 -38
  42. package/dist/src/core/client.js.map +1 -1
  43. package/dist/src/core/client.test.js +45 -0
  44. package/dist/src/core/client.test.js.map +1 -1
  45. package/dist/src/core/coreToolHookTriggers.d.ts +55 -0
  46. package/dist/src/core/coreToolHookTriggers.js +244 -0
  47. package/dist/src/core/coreToolHookTriggers.js.map +1 -0
  48. package/dist/src/core/coreToolScheduler.js +11 -2
  49. package/dist/src/core/coreToolScheduler.js.map +1 -1
  50. package/dist/src/core/coreToolScheduler.test.js +66 -1
  51. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  52. package/dist/src/core/geminiChat.js +91 -19
  53. package/dist/src/core/geminiChat.js.map +1 -1
  54. package/dist/src/core/geminiChat.test.js +15 -4
  55. package/dist/src/core/geminiChat.test.js.map +1 -1
  56. package/dist/src/core/geminiChatHookTriggers.d.ts +64 -0
  57. package/dist/src/core/geminiChatHookTriggers.js +136 -0
  58. package/dist/src/core/geminiChatHookTriggers.js.map +1 -0
  59. package/dist/src/core/loggingContentGenerator.js +9 -4
  60. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  61. package/dist/src/core/prompts.js +39 -20
  62. package/dist/src/core/prompts.js.map +1 -1
  63. package/dist/src/fallback/handler.js +100 -28
  64. package/dist/src/fallback/handler.js.map +1 -1
  65. package/dist/src/fallback/handler.test.js +170 -0
  66. package/dist/src/fallback/handler.test.js.map +1 -1
  67. package/dist/src/fallback/types.d.ts +8 -0
  68. package/dist/src/generated/git-commit.d.ts +2 -2
  69. package/dist/src/generated/git-commit.js +2 -2
  70. package/dist/src/hooks/hookEventHandler.js +11 -11
  71. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  72. package/dist/src/hooks/hookRunner.js +7 -1
  73. package/dist/src/hooks/hookRunner.js.map +1 -1
  74. package/dist/src/hooks/hookRunner.test.js +1 -0
  75. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  76. package/dist/src/hooks/hookSystem.test.js +1 -0
  77. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  78. package/dist/src/ide/ide-client.js +3 -3
  79. package/dist/src/ide/ide-client.js.map +1 -1
  80. package/dist/src/ide/ide-client.test.js +17 -0
  81. package/dist/src/ide/ide-client.test.js.map +1 -1
  82. package/dist/src/index.d.ts +2 -0
  83. package/dist/src/index.js +2 -0
  84. package/dist/src/index.js.map +1 -1
  85. package/dist/src/mcp/auth-provider.d.ts +16 -0
  86. package/dist/src/mcp/auth-provider.js +7 -0
  87. package/dist/src/mcp/auth-provider.js.map +1 -0
  88. package/dist/src/mcp/google-auth-provider.d.ts +10 -2
  89. package/dist/src/mcp/google-auth-provider.js +28 -0
  90. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  91. package/dist/src/mcp/google-auth-provider.test.js +45 -0
  92. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  93. package/dist/src/mcp/mcpLauncher.js +6 -3
  94. package/dist/src/mcp/mcpLauncher.js.map +1 -1
  95. package/dist/src/mcp/sa-impersonation-provider.d.ts +2 -2
  96. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  97. package/dist/src/mcp/token-storage/hybrid-token-storage.js +1 -1
  98. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
  99. package/dist/src/policy/policies/read-only.toml +5 -0
  100. package/dist/src/services/chatCompressionService.js +2 -2
  101. package/dist/src/services/chatCompressionService.js.map +1 -1
  102. package/dist/src/services/chatCompressionService.test.js +7 -0
  103. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  104. package/dist/src/services/contextManager.d.ts +35 -0
  105. package/dist/src/services/contextManager.js +68 -0
  106. package/dist/src/services/contextManager.js.map +1 -0
  107. package/dist/src/services/contextManager.test.d.ts +6 -0
  108. package/dist/src/services/contextManager.test.js +105 -0
  109. package/dist/src/services/contextManager.test.js.map +1 -0
  110. package/dist/src/services/loopDetectionService.js +1 -1
  111. package/dist/src/services/loopDetectionService.js.map +1 -1
  112. package/dist/src/services/shellExecutionService.js +51 -23
  113. package/dist/src/services/shellExecutionService.js.map +1 -1
  114. package/dist/src/services/shellExecutionService.test.js +102 -12
  115. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  116. package/dist/src/telemetry/index.d.ts +1 -0
  117. package/dist/src/telemetry/index.js +1 -0
  118. package/dist/src/telemetry/index.js.map +1 -1
  119. package/dist/src/telemetry/loggers.js +2 -5
  120. package/dist/src/telemetry/loggers.js.map +1 -1
  121. package/dist/src/telemetry/loggers.test.js +175 -13
  122. package/dist/src/telemetry/loggers.test.js.map +1 -1
  123. package/dist/src/telemetry/startupProfiler.d.ts +51 -0
  124. package/dist/src/telemetry/startupProfiler.js +147 -0
  125. package/dist/src/telemetry/startupProfiler.js.map +1 -0
  126. package/dist/src/telemetry/startupProfiler.test.d.ts +6 -0
  127. package/dist/src/telemetry/startupProfiler.test.js +247 -0
  128. package/dist/src/telemetry/startupProfiler.test.js.map +1 -0
  129. package/dist/src/telemetry/trace.js +2 -2
  130. package/dist/src/telemetry/trace.js.map +1 -1
  131. package/dist/src/telemetry/types.d.ts +6 -4
  132. package/dist/src/telemetry/types.js +35 -9
  133. package/dist/src/telemetry/types.js.map +1 -1
  134. package/dist/src/tools/mcp-client-manager.d.ts +1 -0
  135. package/dist/src/tools/mcp-client-manager.js +10 -0
  136. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  137. package/dist/src/tools/mcp-client-manager.test.js +25 -0
  138. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  139. package/dist/src/tools/mcp-client.d.ts +1 -0
  140. package/dist/src/tools/mcp-client.js +4 -6
  141. package/dist/src/tools/mcp-client.js.map +1 -1
  142. package/dist/src/tools/mcp-client.test.js +47 -0
  143. package/dist/src/tools/mcp-client.test.js.map +1 -1
  144. package/dist/src/tools/shell.js +43 -3
  145. package/dist/src/tools/shell.js.map +1 -1
  146. package/dist/src/tools/shell.test.js +23 -4
  147. package/dist/src/tools/shell.test.js.map +1 -1
  148. package/dist/src/tools/smart-edit.js +1 -1
  149. package/dist/src/tools/smart-edit.js.map +1 -1
  150. package/dist/src/tools/web-fetch.js +1 -1
  151. package/dist/src/tools/web-fetch.js.map +1 -1
  152. package/dist/src/utils/exitCodes.d.ts +12 -0
  153. package/dist/src/utils/exitCodes.js +13 -0
  154. package/dist/src/utils/exitCodes.js.map +1 -0
  155. package/dist/src/utils/memoryDiscovery.d.ts +5 -0
  156. package/dist/src/utils/memoryDiscovery.js +7 -3
  157. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  158. package/dist/src/utils/memoryDiscovery.test.js +28 -0
  159. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  160. package/dist/src/utils/stdio.d.ts +2 -2
  161. package/dist/src/utils/stdio.js +2 -2
  162. package/dist/src/utils/stdio.js.map +1 -1
  163. package/dist/src/utils/stdio.test.js +5 -5
  164. package/dist/src/utils/stdio.test.js.map +1 -1
  165. package/dist/src/utils/tokenCalculation.d.ts +19 -0
  166. package/dist/src/utils/tokenCalculation.js +70 -0
  167. package/dist/src/utils/tokenCalculation.js.map +1 -0
  168. package/dist/src/utils/tokenCalculation.test.d.ts +6 -0
  169. package/dist/src/utils/tokenCalculation.test.js +78 -0
  170. package/dist/src/utils/tokenCalculation.test.js.map +1 -0
  171. package/dist/tsconfig.tsbuildinfo +1 -1
  172. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,CAAC;IACV,0BAA0B,EAAE,EAAE;IAC9B,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,EAAE;IACtB,wBAAwB,EAAE,GAAG;CACrB,CAAC"}
@@ -7,6 +7,11 @@ import type { FileDiscoveryService } from '../services/fileDiscoveryService.js';
7
7
  import type { FileFilteringOptions } from '../config/constants.js';
8
8
  import type { ExtensionLoader } from './extensionLoader.js';
9
9
  import type { Config } from '../config/config.js';
10
+ export interface GeminiFileContent {
11
+ filePath: string;
12
+ content: string | null;
13
+ }
14
+ export declare function concatenateInstructions(instructionContents: GeminiFileContent[], currentWorkingDirectoryForDisplay: string): string;
10
15
  export interface MemoryLoadResult {
11
16
  files: Array<{
12
17
  path: string;
@@ -203,7 +203,7 @@ async function readGeminiMdFiles(filePaths, debugMode, importFormat = 'tree') {
203
203
  }
204
204
  return results;
205
205
  }
206
- function concatenateInstructions(instructionContents,
206
+ export function concatenateInstructions(instructionContents,
207
207
  // CWD is needed to resolve relative paths for display markers
208
208
  currentWorkingDirectoryForDisplay) {
209
209
  return instructionContents
@@ -297,7 +297,7 @@ export async function loadEnvironmentMemory(trustedRoots, extensionLoader, debug
297
297
  if (debugMode) {
298
298
  logger.debug(`Loading environment memory for trusted root: ${resolvedRoot} (Stopping exactly here)`);
299
299
  }
300
- return await findUpwardGeminiFiles(resolvedRoot, resolvedRoot, debugMode);
300
+ return findUpwardGeminiFiles(resolvedRoot, resolvedRoot, debugMode);
301
301
  });
302
302
  const pathArrays = await Promise.all(traversalPromises);
303
303
  pathArrays.flat().forEach((p) => allPaths.add(p));
@@ -369,7 +369,11 @@ export async function refreshServerHierarchicalMemory(config) {
369
369
  const result = await loadServerHierarchicalMemory(config.getWorkingDir(), config.shouldLoadMemoryFromIncludeDirectories()
370
370
  ? config.getWorkspaceContext().getDirectories()
371
371
  : [], config.getDebugMode(), config.getFileService(), config.getExtensionLoader(), config.isTrustedFolder(), config.getImportFormat(), config.getFileFilteringOptions(), config.getDiscoveryMaxDirs());
372
- config.setUserMemory(result.memoryContent);
372
+ const mcpInstructions = config.getMcpClientManager()?.getMcpInstructions() || '';
373
+ const finalMemory = [result.memoryContent, mcpInstructions.trimStart()]
374
+ .filter(Boolean)
375
+ .join('\n\n');
376
+ config.setUserMemory(finalMemory);
373
377
  config.setGeminiMdFileCount(result.fileCount);
374
378
  config.setGeminiMdFilePaths(result.filePaths);
375
379
  coreEvents.emit(CoreEvent.MemoryChanged, result);
@@ -1 +1 @@
1
- {"version":3,"file":"memoryDiscovery.js","sourceRoot":"","sources":["../../../src/utils/memoryDiscovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,0EAA0E;AAC1E,kFAAkF;AAClF,MAAM,MAAM,GAAG;IACb,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACxB,WAAW,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC;IACzD,8DAA8D;IAC9D,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACvB,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC;IACvD,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC;CACtD,CAAC;AAOF,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,MAAM,IAAI,KAAK;gBACd,KAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC;YAEhD,sDAAsD;YACtD,0EAA0E;YAC1E,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBACnE,MAAM,OAAO,GAAG,KAA0C,CAAC;oBAC3D,MAAM,CAAC,IAAI,CACT,wCAAwC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CACtE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,uBAA+B,EAC/B,8BAAiD,EACjD,YAAoB,EACpB,SAAkB,EAClB,WAAiC,EACjC,WAAoB,EACpB,oBAA0C,EAC1C,OAAe;IAEf,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS;QAC3B,GAAG,8BAA8B;QACjC,uBAAuB;KACxB,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAe,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,sCAAsC,CACpC,GAAG,EACH,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,OAAO,CACR,CACF,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7D,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,CAAC,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;gBACjE,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,GAAW,EACX,YAAoB,EACpB,SAAkB,EAClB,WAAiC,EACjC,WAAoB,EACpB,oBAA0C,EAC1C,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IAEpD,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,YAAY,EACZ,QAAQ,EACR,gBAAgB,CACjB,CAAC;QAEF,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC/B,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CACV,yBAAyB,gBAAgB,KAAK,gBAAgB,EAAE,CACjE,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QAED,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CACV,iBAAiB,gBAAgB,uBAAuB,WAAW,EAAE,CACtE,CAAC;YAEJ,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CAAC,4BAA4B,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;YAEpE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,UAAU,GAAG,WAAW,CAAC;YAC7B,MAAM,eAAe,GAAG,WAAW;gBACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE/B,OAAO,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM;gBACR,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;wBACvC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBAED,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;oBACnC,MAAM;gBACR,CAAC;gBAED,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;YACD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAyB;gBAC1C,GAAG,qCAAqC;gBACxC,GAAG,oBAAoB;aACxB,CAAC;YAEF,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;gBACrD,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW;gBACX,oBAAoB,EAAE,aAAa;aACpC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,iBAAiB,uBAAuB,EAAE,mBAAmB,IAAI,CAAC,SAAS,CACzE,UAAU,CACX,EAAE,CACJ,CAAC;IACJ,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,SAAmB,EACnB,SAAkB,EAClB,eAAgC,MAAM;IAEtC,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,0DAA0D;IACvF,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAC7B,KAAK,EAAE,QAAQ,EAA8B,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAErD,iCAAiC;gBACjC,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;gBACF,IAAI,SAAS;oBACX,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,aAAa,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CACnG,CAAC;gBAEJ,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC;YACxD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,MAAM,CAAC,IAAI,CACT,2BAA2B,uBAAuB,EAAE,YAAY,QAAQ,YAAY,OAAO,EAAE,CAC9F,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,qCAAqC;YAC3E,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7D,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,iCAAiC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAC9B,mBAAwC;AACxC,8DAA8D;AAC9D,iCAAyC;IAEzC,OAAO,mBAAmB;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,cAAc,GAAI,IAAI,CAAC,OAAkB,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,qBAAqB,WAAW,SAAS,cAAc,8BAA8B,WAAW,MAAM,CAAC;IAChH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;SAClD,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAC3B,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IAEpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAC/B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,OAAe,EACf,SAAkB;IAElB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,+BAA+B,UAAU,gBAAgB,eAAe,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM;QACR,CAAC;QAED,wEAAwE;QACxE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAC/B,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;QAExC,IACE,UAAU,KAAK,eAAe;YAC9B,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACvC,CAAC;YACD,MAAM;QACR,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAsB,EACtB,eAAgC,EAChC,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,gDAAgD;IAChD,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACV,gDAAgD,YAAY,0BAA0B,CACvF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxD,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,aAAa;IACb,MAAM,cAAc,GAAG,eAAe;SACnC,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEzE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,uBAA+B,EAC/B,8BAAiD,EACjD,SAAkB,EAClB,WAAiC,EACjC,eAAgC,EAChC,WAAoB,EACpB,eAAgC,MAAM,EACtC,oBAA2C,EAC3C,UAAkB,GAAG;IAErB,+EAA+E;IAC/E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,OAAO,KAAK,QAAQ,CAAC;IAE7C,uEAAuE;IACvE,+DAA+D;IAC/D,uBAAuB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEzE,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,+CAA+C,uBAAuB,mBAAmB,YAAY,GAAG,CACzG,CAAC;IAEJ,iEAAiE;IACjE,wEAAwE;IACxE,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAClD,uBAAuB,EACvB,8BAA8B,EAC9B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,IAAI,qCAAqC,EAC7D,OAAO,CACR,CAAC;IAEF,+EAA+E;IAC/E,SAAS,CAAC,IAAI,CACZ,GAAG,eAAe;SACf,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CACtC,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,SAAS;YACX,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC1E,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAC/C,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;IACF,6DAA6D;IAC7D,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;IACF,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,iCAAiC,oBAAoB,CAAC,MAAM,EAAE,CAC/D,CAAC;IACJ,IAAI,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC9C,MAAM,CAAC,KAAK,CACV,oCAAoC,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAChF,CAAC;IACJ,OAAO;QACL,aAAa,EAAE,oBAAoB;QACnC,SAAS,EAAE,iBAAiB,CAAC,MAAM;QACnC,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,MAAc;IAClE,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,MAAM,CAAC,aAAa,EAAE,EACtB,MAAM,CAAC,sCAAsC,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE;QAC/C,CAAC,CAAC,EAAE,EACN,MAAM,CAAC,YAAY,EAAE,EACrB,MAAM,CAAC,cAAc,EAAE,EACvB,MAAM,CAAC,kBAAkB,EAAE,EAC3B,MAAM,CAAC,eAAe,EAAE,EACxB,MAAM,CAAC,eAAe,EAAE,EACxB,MAAM,CAAC,uBAAuB,EAAE,EAChC,MAAM,CAAC,mBAAmB,EAAE,CAC7B,CAAC;IACF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAAkB,EAClB,YAAsB,EACtB,kBAA+B,EAC/B,YAAqB,KAAK;IAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,8DAA8D;IAC9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IACE,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC;YACvC,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EACpD,CAAC;YACD,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACV,uBAAuB,cAAc,8BAA8B,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,0BAA0B,cAAc,mBAAmB,QAAQ,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,cAAc,EACd,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memoryDiscovery.js","sourceRoot":"","sources":["../../../src/utils/memoryDiscovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,0EAA0E;AAC1E,kFAAkF;AAClF,MAAM,MAAM,GAAG;IACb,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACxB,WAAW,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC;IACzD,8DAA8D;IAC9D,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACvB,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC;IACvD,8DAA8D;IAC9D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC;CACtD,CAAC;AAOF,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,MAAM,IAAI,KAAK;gBACd,KAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC;YAEhD,sDAAsD;YACtD,0EAA0E;YAC1E,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBACnE,MAAM,OAAO,GAAG,KAA0C,CAAC;oBAC3D,MAAM,CAAC,IAAI,CACT,wCAAwC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CACtE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CACT,qDAAqD,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,uBAA+B,EAC/B,8BAAiD,EACjD,YAAoB,EACpB,SAAkB,EAClB,WAAiC,EACjC,WAAoB,EACpB,oBAA0C,EAC1C,OAAe;IAEf,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS;QAC3B,GAAG,8BAA8B;QACjC,uBAAuB;KACxB,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAe,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,sCAAsC,CACpC,GAAG,EACH,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,OAAO,CACR,CACF,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7D,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,CAAC,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;gBACjE,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,GAAW,EACX,YAAoB,EACpB,SAAkB,EAClB,WAAiC,EACjC,WAAoB,EACpB,oBAA0C,EAC1C,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IAEpD,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,YAAY,EACZ,QAAQ,EACR,gBAAgB,CACjB,CAAC;QAEF,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC/B,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CACV,yBAAyB,gBAAgB,KAAK,gBAAgB,EAAE,CACjE,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QAED,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CACV,iBAAiB,gBAAgB,uBAAuB,WAAW,EAAE,CACtE,CAAC;YAEJ,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,SAAS;gBACX,MAAM,CAAC,KAAK,CAAC,4BAA4B,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;YAEpE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,UAAU,GAAG,WAAW,CAAC;YAC7B,MAAM,eAAe,GAAG,WAAW;gBACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE/B,OAAO,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM;gBACR,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;wBACvC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBAED,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;oBACnC,MAAM;gBACR,CAAC;gBAED,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;YACD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAyB;gBAC1C,GAAG,qCAAqC;gBACxC,GAAG,oBAAoB;aACxB,CAAC;YAEF,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;gBACrD,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW;gBACX,oBAAoB,EAAE,aAAa;aACpC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,iBAAiB,uBAAuB,EAAE,mBAAmB,IAAI,CAAC,SAAS,CACzE,UAAU,CACX,EAAE,CACJ,CAAC;IACJ,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,SAAmB,EACnB,SAAkB,EAClB,eAAgC,MAAM;IAEtC,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,0DAA0D;IACvF,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAC7B,KAAK,EAAE,QAAQ,EAA8B,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAErD,iCAAiC;gBACjC,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;gBACF,IAAI,SAAS;oBACX,MAAM,CAAC,KAAK,CACV,4CAA4C,QAAQ,aAAa,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CACnG,CAAC;gBAEJ,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC;YACxD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,MAAM,CAAC,IAAI,CACT,2BAA2B,uBAAuB,EAAE,YAAY,QAAQ,YAAY,OAAO,EAAE,CAC9F,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,qCAAqC;YAC3E,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7D,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,iCAAiC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,mBAAwC;AACxC,8DAA8D;AAC9D,iCAAyC;IAEzC,OAAO,mBAAmB;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,cAAc,GAAI,IAAI,CAAC,OAAkB,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,qBAAqB,WAAW,SAAS,cAAc,8BAA8B,WAAW,MAAM,CAAC;IAChH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;SAClD,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAC3B,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IAEpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAC/B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,OAAe,EACf,SAAkB;IAElB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,+BAA+B,UAAU,gBAAgB,eAAe,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM;QACR,CAAC;QAED,wEAAwE;QACxE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAC/B,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;QAExC,IACE,UAAU,KAAK,eAAe;YAC9B,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACvC,CAAC;YACD,MAAM;QACR,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAsB,EACtB,eAAgC,EAChC,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,gDAAgD;IAChD,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACV,gDAAgD,YAAY,0BAA0B,CACvF,CAAC;QACJ,CAAC;QACD,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxD,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,aAAa;IACb,MAAM,cAAc,GAAG,eAAe;SACnC,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEzE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,uBAA+B,EAC/B,8BAAiD,EACjD,SAAkB,EAClB,WAAiC,EACjC,eAAgC,EAChC,WAAoB,EACpB,eAAgC,MAAM,EACtC,oBAA2C,EAC3C,UAAkB,GAAG;IAErB,+EAA+E;IAC/E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,OAAO,KAAK,QAAQ,CAAC;IAE7C,uEAAuE;IACvE,+DAA+D;IAC/D,uBAAuB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEzE,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,+CAA+C,uBAAuB,mBAAmB,YAAY,GAAG,CACzG,CAAC;IAEJ,iEAAiE;IACjE,wEAAwE;IACxE,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAClD,uBAAuB,EACvB,8BAA8B,EAC9B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,IAAI,qCAAqC,EAC7D,OAAO,CACR,CAAC;IAEF,+EAA+E;IAC/E,SAAS,CAAC,IAAI,CACZ,GAAG,eAAe;SACf,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CACtC,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,SAAS;YACX,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC1E,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAC/C,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;IACF,6DAA6D;IAC7D,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;IACF,IAAI,SAAS;QACX,MAAM,CAAC,KAAK,CACV,iCAAiC,oBAAoB,CAAC,MAAM,EAAE,CAC/D,CAAC;IACJ,IAAI,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC9C,MAAM,CAAC,KAAK,CACV,oCAAoC,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAChF,CAAC;IACJ,OAAO;QACL,aAAa,EAAE,oBAAoB;QACnC,SAAS,EAAE,iBAAiB,CAAC,MAAM;QACnC,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,MAAc;IAClE,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,MAAM,CAAC,aAAa,EAAE,EACtB,MAAM,CAAC,sCAAsC,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE;QAC/C,CAAC,CAAC,EAAE,EACN,MAAM,CAAC,YAAY,EAAE,EACrB,MAAM,CAAC,cAAc,EAAE,EACvB,MAAM,CAAC,kBAAkB,EAAE,EAC3B,MAAM,CAAC,eAAe,EAAE,EACxB,MAAM,CAAC,eAAe,EAAE,EACxB,MAAM,CAAC,uBAAuB,EAAE,EAChC,MAAM,CAAC,mBAAmB,EAAE,CAC7B,CAAC;IACF,MAAM,eAAe,GACnB,MAAM,CAAC,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,SAAS,EAAE,CAAC;SACpE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAAkB,EAClB,YAAsB,EACtB,kBAA+B,EAC/B,YAAqB,KAAK;IAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,8DAA8D;IAC9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IACE,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC;YACvC,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EACpD,CAAC;YACD,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CACV,uBAAuB,cAAc,8BAA8B,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CACV,0BAA0B,cAAc,mBAAmB,QAAQ,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,cAAc,EACd,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtE,OAAO;QACL,KAAK,EAAE,QAAQ;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAiB;SAChC,CAAC,CAAC;KACN,CAAC;AACJ,CAAC"}
@@ -499,5 +499,33 @@ included directory memory
499
499
  expect(config.getGeminiMdFilePaths()).equals(refreshResult.filePaths);
500
500
  expect(mockEventListener).toHaveBeenCalledExactlyOnceWith(refreshResult);
501
501
  });
502
+ it('should include MCP instructions in user memory', async () => {
503
+ const mockConfig = {
504
+ getWorkingDir: vi.fn().mockReturnValue(cwd),
505
+ shouldLoadMemoryFromIncludeDirectories: vi.fn().mockReturnValue(false),
506
+ getDebugMode: vi.fn().mockReturnValue(false),
507
+ getFileService: vi
508
+ .fn()
509
+ .mockReturnValue(new FileDiscoveryService(projectRoot)),
510
+ getExtensionLoader: vi
511
+ .fn()
512
+ .mockReturnValue(new SimpleExtensionLoader([])),
513
+ isTrustedFolder: vi.fn().mockReturnValue(true),
514
+ getImportFormat: vi.fn().mockReturnValue('tree'),
515
+ getFileFilteringOptions: vi.fn().mockReturnValue(undefined),
516
+ getDiscoveryMaxDirs: vi.fn().mockReturnValue(200),
517
+ setUserMemory: vi.fn(),
518
+ setGeminiMdFileCount: vi.fn(),
519
+ setGeminiMdFilePaths: vi.fn(),
520
+ getMcpClientManager: vi.fn().mockReturnValue({
521
+ getMcpInstructions: vi
522
+ .fn()
523
+ .mockReturnValue("\n\n# Instructions for MCP Server 'extension-server'\nAlways be polite."),
524
+ }),
525
+ };
526
+ await refreshServerHierarchicalMemory(mockConfig);
527
+ expect(mockConfig.setUserMemory).toHaveBeenCalledWith(expect.stringContaining("# Instructions for MCP Server 'extension-server'"));
528
+ expect(mockConfig.setUserMemory).toHaveBeenCalledWith(expect.stringContaining('Always be polite.'));
529
+ });
502
530
  });
503
531
  //# sourceMappingURL=memoryDiscovery.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryDiscovery.test.js","sourceRoot":"","sources":["../../../src/utils/memoryDiscovery.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryDiscovery.test.js","sourceRoot":"","sources":["../../../src/utils/memoryDiscovery.test.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,9 @@ export declare function patchStdio(): () => void;
20
20
  /**
21
21
  * Creates proxies for process.stdout and process.stderr that use the real write methods
22
22
  * (writeToStdout and writeToStderr) bypassing any monkey patching.
23
- * This is used by Ink to render to the real output.
23
+ * This is used to write to the real output even when stdio is patched.
24
24
  */
25
- export declare function createInkStdio(): {
25
+ export declare function createWorkingStdio(): {
26
26
  stdout: NodeJS.WriteStream & {
27
27
  fd: 1;
28
28
  };
@@ -53,9 +53,9 @@ export function patchStdio() {
53
53
  /**
54
54
  * Creates proxies for process.stdout and process.stderr that use the real write methods
55
55
  * (writeToStdout and writeToStderr) bypassing any monkey patching.
56
- * This is used by Ink to render to the real output.
56
+ * This is used to write to the real output even when stdio is patched.
57
57
  */
58
- export function createInkStdio() {
58
+ export function createWorkingStdio() {
59
59
  const inkStdout = new Proxy(process.stdout, {
60
60
  get(target, prop, receiver) {
61
61
  if (prop === 'write') {
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/utils/stdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/utils/stdio.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
- import { patchStdio, createInkStdio } from './stdio.js';
7
+ import { patchStdio, createWorkingStdio } from './stdio.js';
8
8
  import { coreEvents } from './events.js';
9
9
  vi.mock('./events.js', () => ({
10
10
  coreEvents: {
@@ -34,12 +34,12 @@ describe('stdio utils', () => {
34
34
  expect(process.stdout.write).toBe(originalStdoutWrite);
35
35
  expect(process.stderr.write).toBe(originalStderrWrite);
36
36
  });
37
- it('createInkStdio writes to real stdout/stderr bypassing patch', () => {
37
+ it('createWorkingStdio writes to real stdout/stderr bypassing patch', () => {
38
38
  const cleanup = patchStdio();
39
- const { stdout: inkStdout, stderr: inkStderr } = createInkStdio();
40
- inkStdout.write('ink stdout');
39
+ const { stdout, stderr } = createWorkingStdio();
40
+ stdout.write('working stdout');
41
41
  expect(coreEvents.emitOutput).not.toHaveBeenCalled();
42
- inkStderr.write('ink stderr');
42
+ stderr.write('working stderr');
43
43
  expect(coreEvents.emitOutput).not.toHaveBeenCalled();
44
44
  cleanup();
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.test.js","sourceRoot":"","sources":["../../../src/utils/stdio.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;KACpB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,mBAAgD,CAAC;IACrD,IAAI,mBAAgD,CAAC;IAErD,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAChD,KAAK,EACL,aAAa,EACb,SAAS,CACV,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAChD,IAAI,EACJ,aAAa,EACb,SAAS,CACV,CAAC;QAEF,OAAO,EAAE,CAAC;QAEV,iBAAiB;QACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;QAElE,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAErD,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAErD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"stdio.test.js","sourceRoot":"","sources":["../../../src/utils/stdio.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;KACpB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,mBAAgD,CAAC;IACrD,IAAI,mBAAgD,CAAC;IAErD,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAC3C,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAChD,KAAK,EACL,aAAa,EACb,SAAS,CACV,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAChD,IAAI,EACJ,aAAa,EACb,SAAS,CACV,CAAC;QAEF,OAAO,EAAE,CAAC;QAEV,iBAAiB;QACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAErD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAErD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { PartListUnion, Part } from '@google/genai';
7
+ import type { ContentGenerator } from '../core/contentGenerator.js';
8
+ /**
9
+ * Estimates token count for parts synchronously using a heuristic.
10
+ * - Text: character-based heuristic (ASCII vs CJK).
11
+ * - Non-text (Tools, etc): JSON string length / 4.
12
+ */
13
+ export declare function estimateTokenCountSync(parts: Part[]): number;
14
+ /**
15
+ * Calculates the token count of the request.
16
+ * If the request contains only text or tools, it estimates the token count locally.
17
+ * If the request contains media (images, files), it uses the countTokens API.
18
+ */
19
+ export declare function calculateRequestTokenCount(request: PartListUnion, contentGenerator: ContentGenerator, model: string): Promise<number>;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ // Token estimation constants
7
+ // ASCII characters (0-127) are roughly 4 chars per token
8
+ const ASCII_TOKENS_PER_CHAR = 0.25;
9
+ // Non-ASCII characters (including CJK) are often 1-2 tokens per char.
10
+ // We use 1.3 as a conservative estimate to avoid underestimation.
11
+ const NON_ASCII_TOKENS_PER_CHAR = 1.3;
12
+ /**
13
+ * Estimates token count for parts synchronously using a heuristic.
14
+ * - Text: character-based heuristic (ASCII vs CJK).
15
+ * - Non-text (Tools, etc): JSON string length / 4.
16
+ */
17
+ export function estimateTokenCountSync(parts) {
18
+ let totalTokens = 0;
19
+ for (const part of parts) {
20
+ if (typeof part.text === 'string') {
21
+ for (const char of part.text) {
22
+ if (char.codePointAt(0) <= 127) {
23
+ totalTokens += ASCII_TOKENS_PER_CHAR;
24
+ }
25
+ else {
26
+ totalTokens += NON_ASCII_TOKENS_PER_CHAR;
27
+ }
28
+ }
29
+ }
30
+ else {
31
+ // For non-text parts (functionCall, functionResponse, executableCode, etc.),
32
+ // we fallback to the JSON string length heuristic.
33
+ // Note: This is an approximation.
34
+ totalTokens += JSON.stringify(part).length / 4;
35
+ }
36
+ }
37
+ return Math.floor(totalTokens);
38
+ }
39
+ /**
40
+ * Calculates the token count of the request.
41
+ * If the request contains only text or tools, it estimates the token count locally.
42
+ * If the request contains media (images, files), it uses the countTokens API.
43
+ */
44
+ export async function calculateRequestTokenCount(request, contentGenerator, model) {
45
+ const parts = Array.isArray(request)
46
+ ? request.map((p) => (typeof p === 'string' ? { text: p } : p))
47
+ : typeof request === 'string'
48
+ ? [{ text: request }]
49
+ : [request];
50
+ // Use countTokens API only for heavy media parts that are hard to estimate.
51
+ const hasMedia = parts.some((p) => {
52
+ const isMedia = 'inlineData' in p || 'fileData' in p;
53
+ return isMedia;
54
+ });
55
+ if (hasMedia) {
56
+ try {
57
+ const response = await contentGenerator.countTokens({
58
+ model,
59
+ contents: [{ role: 'user', parts }],
60
+ });
61
+ return response.totalTokens ?? 0;
62
+ }
63
+ catch {
64
+ // Fallback to local estimation if the API call fails
65
+ return estimateTokenCountSync(parts);
66
+ }
67
+ }
68
+ return estimateTokenCountSync(parts);
69
+ }
70
+ //# sourceMappingURL=tokenCalculation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCalculation.js","sourceRoot":"","sources":["../../../src/utils/tokenCalculation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,6BAA6B;AAC7B,yDAAyD;AACzD,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,sEAAsE;AACtE,kEAAkE;AAClE,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,IAAI,GAAG,EAAE,CAAC;oBAChC,WAAW,IAAI,qBAAqB,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,WAAW,IAAI,yBAAyB,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,mDAAmD;YACnD,kCAAkC;YAClC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAsB,EACtB,gBAAkC,EAClC,KAAa;IAEb,MAAM,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEhB,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC;gBAClD,KAAK;gBACL,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi } from 'vitest';
7
+ import { calculateRequestTokenCount } from './tokenCalculation.js';
8
+ describe('calculateRequestTokenCount', () => {
9
+ const mockContentGenerator = {
10
+ countTokens: vi.fn(),
11
+ };
12
+ const model = 'gemini-pro';
13
+ it('should use countTokens API for media requests (images/files)', async () => {
14
+ vi.mocked(mockContentGenerator.countTokens).mockResolvedValue({
15
+ totalTokens: 100,
16
+ });
17
+ const request = [{ inlineData: { mimeType: 'image/png', data: 'data' } }];
18
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
19
+ expect(count).toBe(100);
20
+ expect(mockContentGenerator.countTokens).toHaveBeenCalled();
21
+ });
22
+ it('should estimate tokens locally for tool calls', async () => {
23
+ vi.mocked(mockContentGenerator.countTokens).mockClear();
24
+ const request = [{ functionCall: { name: 'foo', args: { bar: 'baz' } } }];
25
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
26
+ // Estimation logic: JSON.stringify(part).length / 4
27
+ // JSON: {"functionCall":{"name":"foo","args":{"bar":"baz"}}}
28
+ // Length: ~53 chars. 53 / 4 = 13.25 -> 13.
29
+ expect(count).toBeGreaterThan(0);
30
+ expect(mockContentGenerator.countTokens).not.toHaveBeenCalled();
31
+ });
32
+ it('should estimate tokens locally for simple ASCII text', async () => {
33
+ vi.mocked(mockContentGenerator.countTokens).mockClear();
34
+ // 12 chars. 12 * 0.25 = 3 tokens.
35
+ const request = 'Hello world!';
36
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
37
+ expect(count).toBe(3);
38
+ expect(mockContentGenerator.countTokens).not.toHaveBeenCalled();
39
+ });
40
+ it('should estimate tokens locally for CJK text with higher weight', async () => {
41
+ vi.mocked(mockContentGenerator.countTokens).mockClear();
42
+ // 2 chars. 2 * 1.3 = 2.6 -> floor(2.6) = 2.
43
+ // Old logic would be 2/4 = 0.5 -> 0.
44
+ const request = '你好';
45
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
46
+ expect(count).toBeGreaterThanOrEqual(2);
47
+ expect(mockContentGenerator.countTokens).not.toHaveBeenCalled();
48
+ });
49
+ it('should handle mixed content', async () => {
50
+ vi.mocked(mockContentGenerator.countTokens).mockClear();
51
+ // 'Hi': 2 * 0.25 = 0.5
52
+ // '你好': 2 * 1.3 = 2.6
53
+ // Total: 3.1 -> 3
54
+ const request = 'Hi你好';
55
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
56
+ expect(count).toBe(3);
57
+ expect(mockContentGenerator.countTokens).not.toHaveBeenCalled();
58
+ });
59
+ it('should handle empty text', async () => {
60
+ const request = '';
61
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
62
+ expect(count).toBe(0);
63
+ });
64
+ it('should fallback to local estimation when countTokens API fails', async () => {
65
+ vi.mocked(mockContentGenerator.countTokens).mockRejectedValue(new Error('API error'));
66
+ const request = [
67
+ { text: 'Hello' },
68
+ { inlineData: { mimeType: 'image/png', data: 'data' } },
69
+ ];
70
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
71
+ // Should fallback to estimation:
72
+ // 'Hello': 5 chars * 0.25 = 1.25
73
+ // inlineData: JSON.stringify length / 4
74
+ expect(count).toBeGreaterThan(0);
75
+ expect(mockContentGenerator.countTokens).toHaveBeenCalled();
76
+ });
77
+ });
78
+ //# sourceMappingURL=tokenCalculation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCalculation.test.js","sourceRoot":"","sources":["../../../src/utils/tokenCalculation.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGnE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,MAAM,oBAAoB,GAAG;QAC3B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;KACU,CAAC;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC;IAE3B,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC;YAC5D,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,oDAAoD;QACpD,6DAA6D;QAC7D,2CAA2C;QAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QACxD,kCAAkC;QAClC,MAAM,OAAO,GAAG,cAAc,CAAC;QAE/B,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QACxD,4CAA4C;QAC5C,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC;QAErB,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QACxD,uBAAuB;QACvB,sBAAsB;QACtB,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC;QAEvB,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAC3D,IAAI,KAAK,CAAC,WAAW,CAAC,CACvB,CAAC;QACF,MAAM,OAAO,GAAG;YACd,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACxD,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAC5C,OAAO,EACP,oBAAoB,EACpB,KAAK,CACN,CAAC;QAEF,iCAAiC;QACjC,iCAAiC;QACjC,wCAAwC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}