@google/gemini-cli 0.21.2 → 0.22.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/package.json +3 -2
  2. package/dist/src/commands/extensions/disable.js.map +1 -1
  3. package/dist/src/commands/extensions/disable.test.js.map +1 -1
  4. package/dist/src/commands/extensions/enable.js.map +1 -1
  5. package/dist/src/commands/extensions/enable.test.js.map +1 -1
  6. package/dist/src/commands/extensions/examples/mcp-server/example.test.js +1 -1
  7. package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +1 -1
  8. package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +4 -12
  9. package/dist/src/commands/extensions/link.test.js.map +1 -1
  10. package/dist/src/commands/extensions/list.test.js +0 -1
  11. package/dist/src/commands/extensions/list.test.js.map +1 -1
  12. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  13. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  14. package/dist/src/commands/extensions/update.test.js.map +1 -1
  15. package/dist/src/config/config.js +2 -3
  16. package/dist/src/config/config.js.map +1 -1
  17. package/dist/src/config/config.test.js.map +1 -1
  18. package/dist/src/config/extension-manager.js +8 -9
  19. package/dist/src/config/extension-manager.js.map +1 -1
  20. package/dist/src/config/extension.test.js +4 -4
  21. package/dist/src/config/extension.test.js.map +1 -1
  22. package/dist/src/config/extensions/extensionSettings.js +1 -1
  23. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  24. package/dist/src/config/extensions/extensionSettings.test.js +27 -0
  25. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  26. package/dist/src/config/extensions/github_fetch.js.map +1 -1
  27. package/dist/src/config/settings-validation.d.ts +23 -0
  28. package/dist/src/config/settings-validation.js +249 -0
  29. package/dist/src/config/settings-validation.js.map +1 -0
  30. package/dist/src/config/settings-validation.test.js +322 -0
  31. package/dist/src/config/settings-validation.test.js.map +1 -0
  32. package/dist/src/config/settings.js +23 -2
  33. package/dist/src/config/settings.js.map +1 -1
  34. package/dist/src/config/settings.test.js +23 -0
  35. package/dist/src/config/settings.test.js.map +1 -1
  36. package/dist/src/config/settingsSchema.d.ts +9 -0
  37. package/dist/src/config/settingsSchema.js +9 -0
  38. package/dist/src/config/settingsSchema.js.map +1 -1
  39. package/dist/src/config/settingsSchema.test.js.map +1 -1
  40. package/dist/src/{utils/version.d.ts → config/settings_repro.test.d.ts} +1 -1
  41. package/dist/src/config/settings_repro.test.js +162 -0
  42. package/dist/src/config/settings_repro.test.js.map +1 -0
  43. package/dist/src/gemini.js +2 -3
  44. package/dist/src/gemini.js.map +1 -1
  45. package/dist/src/gemini.test.js +3 -5
  46. package/dist/src/gemini.test.js.map +1 -1
  47. package/dist/src/generated/git-commit.d.ts +2 -2
  48. package/dist/src/generated/git-commit.js +2 -2
  49. package/dist/src/generated/git-commit.js.map +1 -1
  50. package/dist/src/nonInteractiveCli.js +4 -4
  51. package/dist/src/nonInteractiveCli.js.map +1 -1
  52. package/dist/src/nonInteractiveCli.test.js +0 -2
  53. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  54. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  55. package/dist/src/ui/AppContainer.js +6 -0
  56. package/dist/src/ui/AppContainer.js.map +1 -1
  57. package/dist/src/ui/auth/ApiAuthDialog.js +36 -3
  58. package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -1
  59. package/dist/src/ui/auth/ApiAuthDialog.test.js +26 -2
  60. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  61. package/dist/src/ui/auth/AuthDialog.js +1 -2
  62. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  63. package/dist/src/ui/auth/AuthDialog.test.js +11 -2
  64. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  65. package/dist/src/ui/auth/useAuth.js +7 -4
  66. package/dist/src/ui/auth/useAuth.js.map +1 -1
  67. package/dist/src/ui/auth/useAuth.test.js +2 -2
  68. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  69. package/dist/src/ui/commands/aboutCommand.js +2 -3
  70. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  71. package/dist/src/ui/commands/aboutCommand.test.js +3 -6
  72. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
  73. package/dist/src/ui/commands/bugCommand.js +2 -3
  74. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  75. package/dist/src/ui/commands/bugCommand.test.js +3 -3
  76. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  77. package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
  78. package/dist/src/ui/commands/ideCommand.test.js.map +1 -1
  79. package/dist/src/ui/commands/initCommand.js +10 -50
  80. package/dist/src/ui/commands/initCommand.js.map +1 -1
  81. package/dist/src/ui/commands/mcpCommand.js +1 -2
  82. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  83. package/dist/src/ui/commands/restoreCommand.js +1 -3
  84. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  85. package/dist/src/ui/components/DialogManager.js +1 -1
  86. package/dist/src/ui/components/DialogManager.js.map +1 -1
  87. package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
  88. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  89. package/dist/src/ui/components/ModelStatsDisplay.test.js +7 -0
  90. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  91. package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
  92. package/dist/src/ui/components/SessionSummaryDisplay.test.js +1 -0
  93. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  94. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  95. package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
  96. package/dist/src/ui/components/StatsDisplay.js +11 -15
  97. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  98. package/dist/src/ui/components/StatsDisplay.test.js +41 -0
  99. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  100. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
  101. package/dist/src/ui/components/messages/Todo.js.map +1 -1
  102. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +20 -0
  103. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  104. package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
  105. package/dist/src/ui/components/shared/text-buffer.js +5 -3
  106. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  107. package/dist/src/ui/components/shared/text-buffer.test.js +25 -0
  108. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  109. package/dist/src/ui/constants/tips.js +0 -1
  110. package/dist/src/ui/constants/tips.js.map +1 -1
  111. package/dist/src/ui/contexts/SessionContext.d.ts +1 -0
  112. package/dist/src/ui/contexts/SessionContext.js +2 -1
  113. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  114. package/dist/src/ui/contexts/SessionContext.test.js +3 -0
  115. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  116. package/dist/src/ui/hooks/atCommandProcessor.d.ts +1 -1
  117. package/dist/src/ui/hooks/atCommandProcessor.js +25 -14
  118. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  119. package/dist/src/ui/hooks/atCommandProcessor.test.js +42 -33
  120. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  121. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +1 -1
  122. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  123. package/dist/src/ui/hooks/useGeminiStream.js +2 -1
  124. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  125. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  126. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
  127. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  128. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  129. package/dist/src/ui/hooks/useToolScheduler.test.js +14 -4
  130. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  131. package/dist/src/ui/utils/clipboardUtils.d.ts +20 -0
  132. package/dist/src/ui/utils/clipboardUtils.js +82 -4
  133. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  134. package/dist/src/ui/utils/clipboardUtils.test.js +123 -1
  135. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
  136. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  137. package/dist/src/ui/utils/computeStats.js +2 -0
  138. package/dist/src/ui/utils/computeStats.js.map +1 -1
  139. package/dist/src/ui/utils/computeStats.test.js +9 -0
  140. package/dist/src/ui/utils/computeStats.test.js.map +1 -1
  141. package/dist/src/utils/deepMerge.js +7 -2
  142. package/dist/src/utils/deepMerge.js.map +1 -1
  143. package/dist/src/utils/deepMerge.test.js +21 -0
  144. package/dist/src/utils/deepMerge.test.js.map +1 -1
  145. package/dist/src/utils/envVarResolver.js.map +1 -1
  146. package/dist/src/utils/envVarResolver.test.js.map +1 -1
  147. package/dist/src/utils/errors.test.js +9 -1
  148. package/dist/src/utils/errors.test.js.map +1 -1
  149. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  150. package/dist/src/zed-integration/acp.test.js +8 -16
  151. package/dist/src/zed-integration/acp.test.js.map +1 -1
  152. package/dist/src/zed-integration/connection.js.map +1 -1
  153. package/dist/src/zed-integration/fileSystemService.d.ts +0 -1
  154. package/dist/src/zed-integration/fileSystemService.js +0 -3
  155. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  156. package/dist/src/zed-integration/fileSystemService.test.js +0 -8
  157. package/dist/src/zed-integration/fileSystemService.test.js.map +1 -1
  158. package/dist/src/zed-integration/zedIntegration.js +3 -2
  159. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  160. package/dist/tsconfig.tsbuildinfo +1 -1
  161. package/package.json +4 -3
  162. package/dist/google-gemini-cli-0.21.1.tgz +0 -0
  163. package/dist/src/utils/version.js +0 -15
  164. package/dist/src/utils/version.js.map +0 -1
  165. package/dist/src/utils/version.test.js +0 -39
  166. package/dist/src/utils/version.test.js.map +0 -1
  167. /package/dist/src/{utils/version.test.d.ts → config/settings-validation.test.d.ts} +0 -0
@@ -91,7 +91,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
91
91
  const commandParts = parseAllAtCommands(query);
92
92
  const atPathCommandParts = commandParts.filter((part) => part.type === 'atPath');
93
93
  if (atPathCommandParts.length === 0) {
94
- return { processedQuery: [{ text: query }], shouldProceed: true };
94
+ return { processedQuery: [{ text: query }] };
95
95
  }
96
96
  // Get centralized file discovery service
97
97
  const fileDiscovery = config.getFileService();
@@ -111,7 +111,10 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
111
111
  const globTool = toolRegistry.getTool('glob');
112
112
  if (!readManyFilesTool) {
113
113
  addItem({ type: 'error', text: 'Error: read_many_files tool not found.' }, userMessageTimestamp);
114
- return { processedQuery: null, shouldProceed: false };
114
+ return {
115
+ processedQuery: null,
116
+ error: 'Error: read_many_files tool not found.',
117
+ };
115
118
  }
116
119
  for (const atPathPart of atPathCommandParts) {
117
120
  const originalAtPath = atPathPart.content; // e.g., "@file.txt" or "@"
@@ -123,13 +126,14 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
123
126
  if (!pathName) {
124
127
  // This case should ideally not be hit if parseAllAtCommands ensures content after @
125
128
  // but as a safeguard:
129
+ const errMsg = `Error: Invalid @ command '${originalAtPath}'. No path specified.`;
126
130
  addItem({
127
131
  type: 'error',
128
- text: `Error: Invalid @ command '${originalAtPath}'. No path specified.`,
132
+ text: errMsg,
129
133
  }, userMessageTimestamp);
130
134
  // Decide if this is a fatal error for the whole command or just skip this @ part
131
135
  // For now, let's be strict and fail the command if one @path is malformed.
132
- return { processedQuery: null, shouldProceed: false };
136
+ return { processedQuery: null, error: errMsg };
133
137
  }
134
138
  // Check if this is an MCP resource reference (serverName:uri format)
135
139
  const resourceMatch = resourceRegistry.findResourceByUri(pathName);
@@ -302,17 +306,14 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
302
306
  onDebugMessage('No valid file paths found in @ commands to read.');
303
307
  if (initialQueryText === '@' && query.trim() === '@') {
304
308
  // If the only thing was a lone @, pass original query (which might have spaces)
305
- return { processedQuery: [{ text: query }], shouldProceed: true };
309
+ return { processedQuery: [{ text: query }] };
306
310
  }
307
311
  else if (!initialQueryText && query) {
308
312
  // If all @-commands were invalid and no surrounding text, pass original query
309
- return { processedQuery: [{ text: query }], shouldProceed: true };
313
+ return { processedQuery: [{ text: query }] };
310
314
  }
311
315
  // Otherwise, proceed with the (potentially modified) query text that doesn't involve file reading
312
- return {
313
- processedQuery: [{ text: initialQueryText || query }],
314
- shouldProceed: true,
315
- };
316
+ return { processedQuery: [{ text: initialQueryText || query }] };
316
317
  }
317
318
  const processedQueryParts = [{ text: initialQueryText }];
318
319
  const resourcePromises = resourceAttachments.map(async (resource) => {
@@ -369,13 +370,20 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
369
370
  }
370
371
  if (resourceErrorOccurred) {
371
372
  addItem({ type: 'tool_group', tools: resourceReadDisplays }, userMessageTimestamp);
372
- return { processedQuery: null, shouldProceed: false };
373
+ // Find the first error to report
374
+ const firstError = resourceReadDisplays.find((d) => d.status === ToolCallStatus.Error);
375
+ const errorMessages = resourceReadDisplays
376
+ .filter((d) => d.status === ToolCallStatus.Error)
377
+ .map((d) => d.resultDisplay);
378
+ console.error(errorMessages);
379
+ const errorMsg = `Exiting due to an error processing the @ command: ${firstError.resultDisplay}`;
380
+ return { processedQuery: null, error: errorMsg };
373
381
  }
374
382
  if (pathSpecsToRead.length === 0) {
375
383
  if (resourceReadDisplays.length > 0) {
376
384
  addItem({ type: 'tool_group', tools: resourceReadDisplays }, userMessageTimestamp);
377
385
  }
378
- return { processedQuery: processedQueryParts, shouldProceed: true };
386
+ return { processedQuery: processedQueryParts };
379
387
  }
380
388
  const toolArgs = {
381
389
  include: pathSpecsToRead,
@@ -448,7 +456,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
448
456
  ],
449
457
  }, userMessageTimestamp);
450
458
  }
451
- return { processedQuery: processedQueryParts, shouldProceed: true };
459
+ return { processedQuery: processedQueryParts };
452
460
  }
453
461
  catch (error) {
454
462
  readManyFilesDisplay = {
@@ -464,7 +472,10 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
464
472
  type: 'tool_group',
465
473
  tools: [...resourceReadDisplays, readManyFilesDisplay],
466
474
  }, userMessageTimestamp);
467
- return { processedQuery: null, shouldProceed: false };
475
+ return {
476
+ processedQuery: null,
477
+ error: `Exiting due to an error processing the @ command: ${readManyFilesDisplay.resultDisplay}`,
478
+ };
468
479
  }
469
480
  }
470
481
  function convertResourceContentsToParts(response) {
@@ -1 +1 @@
1
- {"version":3,"file":"atCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/atCommandProcessor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAOlC,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsB7C;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,eAAe,GAAG,YAAY,CAAC;QACnC,0BAA0B;QAC1B,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,IACE,KAAK,CAAC,eAAe,CAAC,KAAK,GAAG;gBAC9B,CAAC,eAAe,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAC9D,CAAC;gBACD,OAAO,GAAG,eAAe,CAAC;gBAC1B,MAAM;YACR,CAAC;YACD,eAAe,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,YAAY;YACZ,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,MAAM;QACR,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,cAAc;QACd,IAAI,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,2DAA2D;gBAC3D,MAAM;YACR,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,+FAA+F;gBAC/F,+GAA+G;gBAC/G,MAAM,QAAQ,GACZ,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,IAAI,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,MAAM;gBACR,CAAC;YACH,CAAC;YACD,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,uEAAuE;QACvE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IACD,mGAAmG;IACnG,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,KAAK,EACL,MAAM,EACN,OAAO,EACP,cAAc,EACd,SAAS,EAAE,oBAAoB,EAC/B,MAAM,GACgB;IACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAEtD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CACjC,CAAC;IAEF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAED,yCAAyC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAE9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;IAE3D,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAA4B,EAAE,CAAC;IACxD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1D,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5D,MAAM,eAAe,GAA6B;QAChD,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CACL,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,wCAAwC,EAAE,EACjE,oBAAoB,CACrB,CAAC;QACF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,2BAA2B;QAEtE,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YAC3B,cAAc,CACZ,iEAAiE,CAClE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,oFAAoF;YACpF,sBAAsB;YACtB,OAAO,CACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B,cAAc,uBAAuB;aACzE,EACD,oBAAoB,CACrB,CAAC;YACF,iFAAiF;YACjF,2EAA2E;YAC3E,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,aAAa,EAAE,CAAC;YAClB,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,cAAc,CACZ,QAAQ,QAAQ,+CAA+C,CAChE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GACd,iBAAiB,CAAC,gBAAgB;YAClC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACvC,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,KAAK;aAC3B,CAAC,CAAC;QACL,MAAM,aAAa,GACjB,iBAAiB,CAAC,mBAAmB;YACrC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACvC,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;QAEL,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,MAAM,GACV,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,UAAU,GACd,MAAM,KAAK,MAAM;gBACf,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,MAAM,KAAK,KAAK;oBAChB,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,gBAAgB,CAAC;YACzB,cAAc,CAAC,QAAQ,QAAQ,OAAO,UAAU,uBAAuB,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;YAChE,IAAI,eAAe,GAAG,QAAQ,CAAC;YAC/B,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC5C,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE1C,yCAAyC;gBACzC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;oBAClC,CAAC,CAAC,QAAQ,CAAC;gBAEb,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAChD,cAAc,CACZ,QAAQ,QAAQ,uCAAuC,eAAe,EAAE,CACzE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,eAAe,GAAG,YAAY,CAAC;oBAC/B,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC1D,cAAc,CACZ,QAAQ,QAAQ,sBAAsB,YAAY,0BAA0B,YAAY,EAAE,CAC3F,CAAC;gBACJ,CAAC;gBACD,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClD,IAAI,MAAM,CAAC,4BAA4B,EAAE,IAAI,QAAQ,EAAE,CAAC;wBACtD,cAAc,CACZ,QAAQ,QAAQ,8CAA8C,CAC/D,CAAC;wBACF,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAC/C;gCACE,OAAO,EAAE,OAAO,QAAQ,GAAG;gCAC3B,IAAI,EAAE,GAAG;6BACV,EACD,MAAM,CACP,CAAC;4BACF,IACE,UAAU,CAAC,UAAU;gCACrB,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;gCACzC,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;gCACnD,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC3C,CAAC;gCACD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oCACjC,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oCAC3C,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;oCACzD,yBAAyB,CAAC,GAAG,CAC3B,kBAAkB,EAClB,eAAe,CAChB,CAAC;oCACF,cAAc,CACZ,mBAAmB,QAAQ,UAAU,kBAAkB,0BAA0B,eAAe,EAAE,CACnG,CAAC;oCACF,oBAAoB,GAAG,IAAI,CAAC;gCAC9B,CAAC;qCAAM,CAAC;oCACN,cAAc,CACZ,wBAAwB,QAAQ,yCAAyC,QAAQ,mBAAmB,CACrG,CAAC;gCACJ,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,cAAc,CACZ,wBAAwB,QAAQ,uCAAuC,QAAQ,mBAAmB,CACnG,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAAC,OAAO,SAAS,EAAE,CAAC;4BACnB,WAAW,CAAC,IAAI,CACd,gCAAgC,QAAQ,KAAK,eAAe,CAAC,SAAS,CAAC,EAAE,CAC1E,CAAC;4BACF,cAAc,CACZ,gCAAgC,QAAQ,UAAU,QAAQ,mBAAmB,CAC9E,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,cAAc,CACZ,6BAA6B,QAAQ,mBAAmB,CACzD,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CACd,sBAAsB,QAAQ,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;oBACF,cAAc,CACZ,sBAAsB,QAAQ,UAAU,QAAQ,mBAAmB,CACpE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtC,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACxE,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/D,IACE,CAAC,GAAG,CAAC;gBACL,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC/B,CAAC;gBACD,0FAA0F;gBAC1F,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,IACE,QAAQ,CAAC,IAAI,KAAK,MAAM;oBACxB,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;wBACzB,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAChD,CAAC;oBACD,gBAAgB,IAAI,GAAG,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,IAAI,IAAI,YAAY,EAAE,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,8EAA8E;gBAC9E,kFAAkF;gBAClF,IACE,CAAC,GAAG,CAAC;oBACL,gBAAgB,CAAC,MAAM,GAAG,CAAC;oBAC3B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC/B,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAC7B,CAAC;oBACD,gBAAgB,IAAI,GAAG,CAAC;gBAC1B,CAAC;gBACD,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IACD,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAE3C,kCAAkC;IAClC,MAAM,YAAY,GAChB,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM;QAC7B,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM;QAChC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAEjC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,YAAY,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,6FAA6F;IAC7F,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,cAAc,CAAC,kDAAkD,CAAC,CAAC;QACnE,IAAI,gBAAgB,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACrD,gFAAgF;YAChF,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,gBAAgB,IAAI,KAAK,EAAE,CAAC;YACtC,8EAA8E;YAC9E,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;QACD,kGAAkG;QAClG,OAAO;YACL,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,IAAI,KAAK,EAAE,CAAC;YACrD,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAkB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAExE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAClE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,UAAU,sCAAsC,CACpF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,GAAG;gBACH,OAAO,EAAE;oBACP,MAAM,EAAE,gBAAgB,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;oBACpD,IAAI,EAAE,mBAAmB,QAAQ,CAAC,UAAU,GAAG;oBAC/C,WAAW,EAAE,GAAG;oBAChB,MAAM,EAAE,cAAc,CAAC,OAAO;oBAC9B,aAAa,EAAE,8BAA8B,GAAG,EAAE;oBAClD,mBAAmB,EAAE,SAAS;iBACF;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE;gBACT,GAAG;gBACH,OAAO,EAAE;oBACP,MAAM,EAAE,gBAAgB,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;oBACpD,IAAI,EAAE,mBAAmB,QAAQ,CAAC,UAAU,GAAG;oBAC/C,WAAW,EAAE,GAAG;oBAChB,MAAM,EAAE,cAAc,CAAC,KAAK;oBAC5B,aAAa,EAAE,0BAA0B,GAAG,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE;oBACzE,mBAAmB,EAAE,SAAS;iBACF;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAgC,EAAE,CAAC;IAC7D,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACvE,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CACL,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAGhD,EACD,oBAAoB,CACrB,CAAC;QACF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CACL,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAGhD,EACD,oBAAoB,CACrB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,eAAe;QACxB,sBAAsB,EAAE;YACtB,kBAAkB,EAAE,iBAAiB,CAAC,gBAAgB;YACtD,qBAAqB,EAAE,iBAAiB,CAAC,mBAAmB;SAC7D;QACD,4BAA4B;KAC7B,CAAC;IACF,IAAI,oBAA2D,CAAC;IAEhE,IAAI,UAAU,GAAkC,SAAS,CAAC;IAC1D,IAAI,CAAC;QACH,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,oBAAoB,GAAG;YACrB,MAAM,EAAE,eAAe,oBAAoB,EAAE;YAC7C,IAAI,EAAE,iBAAiB,CAAC,WAAW;YACnC,WAAW,EAAE,UAAU,CAAC,cAAc,EAAE;YACxC,MAAM,EAAE,cAAc,CAAC,OAAO;YAC9B,aAAa,EACX,MAAM,CAAC,aAAa;gBACpB,sBAAsB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzD,mBAAmB,EAAE,SAAS;SAC/B,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;YAC7D,mBAAmB,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,yCAAyC;aAChD,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAE1C,IAAI,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAC7C,qBAAqB,CACtB,CAAC;wBAEF,0EAA0E;wBAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;4BACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;gCAChE,IAAI,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC1C,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;oCACxD,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,WAAW,GAAG,WAAW,IAAI,qBAAqB,CAAC;wBAEnD,mBAAmB,CAAC,IAAI,CAAC;4BACvB,IAAI,EAAE,mBAAmB,WAAW,KAAK;yBAC1C,CAAC,CAAC;wBACH,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,CACZ,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC;YAC5D,OAAO,CACL;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,GAAG,oBAAoB;oBACvB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD;aACyB,EAC5B,oBAAoB,CACrB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,oBAAoB,GAAG;YACrB,MAAM,EAAE,eAAe,oBAAoB,EAAE;YAC7C,IAAI,EAAE,iBAAiB,CAAC,WAAW;YACnC,WAAW,EACT,UAAU,EAAE,cAAc,EAAE;gBAC5B,gDAAgD;YAClD,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,wBAAwB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE;YACpG,mBAAmB,EAAE,SAAS;SAC/B,CAAC;QACF,OAAO,CACL;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,CAAC,GAAG,oBAAoB,EAAE,oBAAoB,CAAC;SAC5B,EAC5B,oBAAoB,CACrB,CAAC;QACF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,QAWvC;IACC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,0BAA0B,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,4BAA4B,QAAQ,KAAK,SAAS,SAAS;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"atCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/atCommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { handleAtCommand } from './atCommandProcessor.js';
8
8
  import { FileDiscoveryService, GlobTool, ReadManyFilesTool, StandardFileSystemService, ToolRegistry, COMMON_IGNORE_PATTERNS,
9
9
  // DEFAULT_FILE_EXCLUDES,
10
10
  } from '@google/gemini-cli-core';
11
+ import * as core from '@google/gemini-cli-core';
11
12
  import * as os from 'node:os';
12
13
  import { ToolCallStatus } from '../types.js';
13
14
  import * as fsPromises from 'node:fs/promises';
@@ -93,7 +94,6 @@ describe('handleAtCommand', () => {
93
94
  });
94
95
  expect(result).toEqual({
95
96
  processedQuery: [{ text: query }],
96
- shouldProceed: true,
97
97
  });
98
98
  });
99
99
  it('should pass through original query if only a lone @ symbol is present', async () => {
@@ -108,7 +108,6 @@ describe('handleAtCommand', () => {
108
108
  });
109
109
  expect(result).toEqual({
110
110
  processedQuery: [{ text: queryWithSpaces }],
111
- shouldProceed: true,
112
111
  });
113
112
  expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
114
113
  });
@@ -133,7 +132,6 @@ describe('handleAtCommand', () => {
133
132
  { text: fileContent },
134
133
  { text: '\n--- End of content ---' },
135
134
  ],
136
- shouldProceed: true,
137
135
  });
138
136
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
139
137
  type: 'tool_group',
@@ -164,7 +162,6 @@ describe('handleAtCommand', () => {
164
162
  { text: fileContent },
165
163
  { text: '\n--- End of content ---' },
166
164
  ],
167
- shouldProceed: true,
168
165
  });
169
166
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${dirPath} resolved to directory, using glob: ${resolvedGlob}`);
170
167
  });
@@ -191,7 +188,6 @@ describe('handleAtCommand', () => {
191
188
  { text: fileContent },
192
189
  { text: '\n--- End of content ---' },
193
190
  ],
194
- shouldProceed: true,
195
191
  });
196
192
  });
197
193
  it('should correctly unescape paths with escaped spaces', async () => {
@@ -215,7 +211,6 @@ describe('handleAtCommand', () => {
215
211
  { text: fileContent },
216
212
  { text: '\n--- End of content ---' },
217
213
  ],
218
- shouldProceed: true,
219
214
  });
220
215
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
221
216
  type: 'tool_group',
@@ -248,7 +243,6 @@ describe('handleAtCommand', () => {
248
243
  { text: content2 },
249
244
  { text: '\n--- End of content ---' },
250
245
  ],
251
- shouldProceed: true,
252
246
  });
253
247
  });
254
248
  it('should handle multiple @file references with interleaved text', async () => {
@@ -280,7 +274,6 @@ describe('handleAtCommand', () => {
280
274
  { text: content2 },
281
275
  { text: '\n--- End of content ---' },
282
276
  ],
283
- shouldProceed: true,
284
277
  });
285
278
  });
286
279
  it('should handle a mix of valid, invalid, and lone @ references', async () => {
@@ -310,7 +303,6 @@ describe('handleAtCommand', () => {
310
303
  { text: content1 },
311
304
  { text: '\n--- End of content ---' },
312
305
  ],
313
- shouldProceed: true,
314
306
  });
315
307
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${invalidFile} not found directly, attempting glob search.`);
316
308
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob search for '**/*${invalidFile}*' found no files or an error. Path ${invalidFile} will be skipped.`);
@@ -328,7 +320,6 @@ describe('handleAtCommand', () => {
328
320
  });
329
321
  expect(result).toEqual({
330
322
  processedQuery: [{ text: 'Check @nonexistent.txt and @ also' }],
331
- shouldProceed: true,
332
323
  });
333
324
  });
334
325
  describe('git-aware filtering', () => {
@@ -351,7 +342,6 @@ describe('handleAtCommand', () => {
351
342
  });
352
343
  expect(result).toEqual({
353
344
  processedQuery: [{ text: query }],
354
- shouldProceed: true,
355
345
  });
356
346
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
357
347
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
@@ -376,7 +366,6 @@ describe('handleAtCommand', () => {
376
366
  { text: 'console.log("Hello world");' },
377
367
  { text: '\n--- End of content ---' },
378
368
  ],
379
- shouldProceed: true,
380
369
  });
381
370
  });
382
371
  it('should handle mixed git-ignored and valid files', async () => {
@@ -400,7 +389,6 @@ describe('handleAtCommand', () => {
400
389
  { text: '# Project README' },
401
390
  { text: '\n--- End of content ---' },
402
391
  ],
403
- shouldProceed: true,
404
392
  });
405
393
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
406
394
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
@@ -418,7 +406,6 @@ describe('handleAtCommand', () => {
418
406
  });
419
407
  expect(result).toEqual({
420
408
  processedQuery: [{ text: query }],
421
- shouldProceed: true,
422
409
  });
423
410
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitFile} is git-ignored and will be skipped.`);
424
411
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitFile}`);
@@ -441,7 +428,8 @@ describe('handleAtCommand', () => {
441
428
  });
442
429
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob tool not found. Path ${invalidFile} will be skipped.`);
443
430
  expect(result.processedQuery).toEqual([{ text: query }]);
444
- expect(result.shouldProceed).toBe(true);
431
+ expect(result.processedQuery).not.toBeNull();
432
+ expect(result.error).toBeUndefined();
445
433
  });
446
434
  });
447
435
  describe('gemini-ignore filtering', () => {
@@ -459,7 +447,6 @@ describe('handleAtCommand', () => {
459
447
  });
460
448
  expect(result).toEqual({
461
449
  processedQuery: [{ text: query }],
462
- shouldProceed: true,
463
450
  });
464
451
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
465
452
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
@@ -485,7 +472,6 @@ describe('handleAtCommand', () => {
485
472
  { text: 'console.log("Hello world");' },
486
473
  { text: '\n--- End of content ---' },
487
474
  ],
488
- shouldProceed: true,
489
475
  });
490
476
  });
491
477
  it('should handle mixed gemini-ignored and valid files', async () => {
@@ -509,7 +495,6 @@ describe('handleAtCommand', () => {
509
495
  { text: '// Main application entry' },
510
496
  { text: '\n--- End of content ---' },
511
497
  ],
512
- shouldProceed: true,
513
498
  });
514
499
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
515
500
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
@@ -613,7 +598,6 @@ describe('handleAtCommand', () => {
613
598
  { text: fileContent },
614
599
  { text: '\n--- End of content ---' },
615
600
  ],
616
- shouldProceed: true,
617
601
  });
618
602
  });
619
603
  it('should handle multiple @paths terminated by different punctuation', async () => {
@@ -642,7 +626,6 @@ describe('handleAtCommand', () => {
642
626
  { text: content2 },
643
627
  { text: '\n--- End of content ---' },
644
628
  ],
645
- shouldProceed: true,
646
629
  });
647
630
  });
648
631
  it('should still handle escaped spaces in paths before punctuation', async () => {
@@ -666,7 +649,6 @@ describe('handleAtCommand', () => {
666
649
  { text: fileContent },
667
650
  { text: '\n--- End of content ---' },
668
651
  ],
669
- shouldProceed: true,
670
652
  });
671
653
  });
672
654
  it('should not break file paths with periods in extensions', async () => {
@@ -691,7 +673,6 @@ describe('handleAtCommand', () => {
691
673
  { text: fileContent },
692
674
  { text: '\n--- End of content ---' },
693
675
  ],
694
- shouldProceed: true,
695
676
  });
696
677
  });
697
678
  it('should handle file paths ending with period followed by space', async () => {
@@ -716,7 +697,6 @@ describe('handleAtCommand', () => {
716
697
  { text: fileContent },
717
698
  { text: '\n--- End of content ---' },
718
699
  ],
719
- shouldProceed: true,
720
700
  });
721
701
  });
722
702
  it('should handle comma termination with complex file paths', async () => {
@@ -741,10 +721,9 @@ describe('handleAtCommand', () => {
741
721
  { text: fileContent },
742
722
  { text: '\n--- End of content ---' },
743
723
  ],
744
- shouldProceed: true,
745
724
  });
746
725
  });
747
- it('should not terminate at period within file name', async () => {
726
+ it('should correctly handle file paths with multiple periods', async () => {
748
727
  const fileContent = 'Version info';
749
728
  const filePath = await createTestFile(path.join(testRootDir, 'version.1.2.3.txt'), fileContent);
750
729
  const query = `Check @${getRelativePath(filePath)} contains version information.`;
@@ -766,7 +745,6 @@ describe('handleAtCommand', () => {
766
745
  { text: fileContent },
767
746
  { text: '\n--- End of content ---' },
768
747
  ],
769
- shouldProceed: true,
770
748
  });
771
749
  });
772
750
  it('should handle end of string termination for period and comma', async () => {
@@ -789,7 +767,6 @@ describe('handleAtCommand', () => {
789
767
  { text: fileContent },
790
768
  { text: '\n--- End of content ---' },
791
769
  ],
792
- shouldProceed: true,
793
770
  });
794
771
  });
795
772
  it('should handle files with special characters in names', async () => {
@@ -812,7 +789,6 @@ describe('handleAtCommand', () => {
812
789
  { text: fileContent },
813
790
  { text: '\n--- End of content ---' },
814
791
  ],
815
- shouldProceed: true,
816
792
  });
817
793
  });
818
794
  it('should handle basic file names without special characters', async () => {
@@ -835,7 +811,6 @@ describe('handleAtCommand', () => {
835
811
  { text: fileContent },
836
812
  { text: '\n--- End of content ---' },
837
813
  ],
838
- shouldProceed: true,
839
814
  });
840
815
  });
841
816
  });
@@ -861,7 +836,6 @@ describe('handleAtCommand', () => {
861
836
  { text: fileContent },
862
837
  { text: '\n--- End of content ---' },
863
838
  ],
864
- shouldProceed: true,
865
839
  });
866
840
  expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using relative path: ${relativePath}`));
867
841
  });
@@ -880,7 +854,8 @@ describe('handleAtCommand', () => {
880
854
  messageId: 501,
881
855
  signal: abortController.signal,
882
856
  });
883
- expect(result.shouldProceed).toBe(true);
857
+ expect(result.processedQuery).not.toBeNull();
858
+ expect(result.error).toBeUndefined();
884
859
  expect(result.processedQuery).toEqual(expect.arrayContaining([
885
860
  { text: `Check @${path.join(subDirPath, '**')} please.` },
886
861
  expect.objectContaining({
@@ -911,7 +886,6 @@ describe('handleAtCommand', () => {
911
886
  });
912
887
  expect(result).toEqual({
913
888
  processedQuery: [{ text: `Check @${outsidePath} please.` }],
914
- shouldProceed: true,
915
889
  });
916
890
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${outsidePath} is not in the workspace and will be skipped.`);
917
891
  });
@@ -1002,7 +976,8 @@ describe('handleAtCommand', () => {
1002
976
  messageId: 42,
1003
977
  signal: abortController.signal,
1004
978
  });
1005
- expect(result.shouldProceed).toBe(false);
979
+ expect(result.processedQuery).toBeNull();
980
+ expect(result.error).toBeDefined();
1006
981
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1007
982
  type: 'tool_group',
1008
983
  tools: expect.arrayContaining([
@@ -1013,5 +988,39 @@ describe('handleAtCommand', () => {
1013
988
  }), expect.any(Number));
1014
989
  });
1015
990
  });
991
+ it('should return error if the read_many_files tool is cancelled by user', async () => {
992
+ const fileContent = 'Some content';
993
+ const filePath = await createTestFile(path.join(testRootDir, 'file.txt'), fileContent);
994
+ const query = `@${filePath}`;
995
+ // Simulate user cancellation
996
+ const mockToolInstance = {
997
+ buildAndExecute: vi
998
+ .fn()
999
+ .mockRejectedValue(new Error('User cancelled operation')),
1000
+ displayName: 'Read Many Files',
1001
+ build: vi.fn(() => ({
1002
+ execute: mockToolInstance.buildAndExecute,
1003
+ getDescription: vi.fn(() => 'Mocked tool description'),
1004
+ })),
1005
+ };
1006
+ const viSpy = vi.spyOn(core, 'ReadManyFilesTool');
1007
+ viSpy.mockImplementation(() => mockToolInstance);
1008
+ const result = await handleAtCommand({
1009
+ query,
1010
+ config: mockConfig,
1011
+ addItem: mockAddItem,
1012
+ onDebugMessage: mockOnDebugMessage,
1013
+ messageId: 134,
1014
+ signal: abortController.signal,
1015
+ });
1016
+ expect(result).toEqual({
1017
+ processedQuery: null,
1018
+ error: `Exiting due to an error processing the @ command: Error reading files (file.txt): User cancelled operation`,
1019
+ });
1020
+ expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1021
+ type: 'tool_group',
1022
+ tools: [expect.objectContaining({ status: ToolCallStatus.Error })],
1023
+ }), 134);
1024
+ });
1016
1025
  });
1017
1026
  //# sourceMappingURL=atCommandProcessor.test.js.map