@google/gemini-cli 0.18.0-preview.1 → 0.19.0-nightly.20251122.42c2e1b21

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 (203) hide show
  1. package/dist/google-gemini-cli-0.19.0-nightly.20251120.8e531dc02.tgz +0 -0
  2. package/dist/index.js +8 -6
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +3 -3
  5. package/dist/src/commands/extensions/examples/mcp-server/package.json +1 -1
  6. package/dist/src/config/auth.js +4 -0
  7. package/dist/src/config/auth.js.map +1 -1
  8. package/dist/src/config/auth.test.js +61 -37
  9. package/dist/src/config/auth.test.js.map +1 -1
  10. package/dist/src/config/config.integration.test.js +81 -198
  11. package/dist/src/config/config.integration.test.js.map +1 -1
  12. package/dist/src/config/config.js +2 -6
  13. package/dist/src/config/config.js.map +1 -1
  14. package/dist/src/config/config.test.js +196 -299
  15. package/dist/src/config/config.test.js.map +1 -1
  16. package/dist/src/config/extension.test.js +109 -133
  17. package/dist/src/config/extension.test.js.map +1 -1
  18. package/dist/src/config/extensions/consent.test.js +152 -0
  19. package/dist/src/config/extensions/consent.test.js.map +1 -0
  20. package/dist/src/config/extensions/extensionEnablement.test.js +82 -15
  21. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  22. package/dist/src/config/extensions/extensionSettings.test.js +105 -1
  23. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  24. package/dist/src/config/extensions/github.d.ts +1 -0
  25. package/dist/src/config/extensions/github.js +1 -1
  26. package/dist/src/config/extensions/github.js.map +1 -1
  27. package/dist/src/config/extensions/github.test.js +197 -318
  28. package/dist/src/config/extensions/github.test.js.map +1 -1
  29. package/dist/src/config/extensions/storage.test.d.ts +6 -0
  30. package/dist/src/config/extensions/storage.test.js +64 -0
  31. package/dist/src/config/extensions/storage.test.js.map +1 -0
  32. package/dist/src/config/extensions/update.test.js +154 -263
  33. package/dist/src/config/extensions/update.test.js.map +1 -1
  34. package/dist/src/config/extensions/variables.test.js +87 -1
  35. package/dist/src/config/extensions/variables.test.js.map +1 -1
  36. package/dist/src/config/sandboxConfig.d.ts +1 -1
  37. package/dist/src/config/sandboxConfig.js.map +1 -1
  38. package/dist/src/config/sandboxConfig.test.d.ts +6 -0
  39. package/dist/src/config/sandboxConfig.test.js +178 -0
  40. package/dist/src/config/sandboxConfig.test.js.map +1 -0
  41. package/dist/src/config/settingPaths.test.d.ts +6 -0
  42. package/dist/src/config/settingPaths.test.js +22 -0
  43. package/dist/src/config/settingPaths.test.js.map +1 -0
  44. package/dist/src/config/settings.test.js +164 -226
  45. package/dist/src/config/settings.test.js.map +1 -1
  46. package/dist/src/config/settingsSchema.d.ts +10 -10
  47. package/dist/src/config/settingsSchema.js +10 -10
  48. package/dist/src/config/settingsSchema.js.map +1 -1
  49. package/dist/src/config/settingsSchema.test.js +0 -6
  50. package/dist/src/config/settingsSchema.test.js.map +1 -1
  51. package/dist/src/gemini.d.ts +1 -1
  52. package/dist/src/gemini.js +5 -7
  53. package/dist/src/gemini.js.map +1 -1
  54. package/dist/src/gemini.test.js +18 -21
  55. package/dist/src/gemini.test.js.map +1 -1
  56. package/dist/src/generated/git-commit.d.ts +2 -2
  57. package/dist/src/generated/git-commit.js +2 -2
  58. package/dist/src/generated/git-commit.js.map +1 -1
  59. package/dist/src/services/BuiltinCommandLoader.js +1 -1
  60. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  61. package/dist/src/services/BuiltinCommandLoader.test.js +0 -22
  62. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  63. package/dist/src/test-utils/mockCommandContext.js +1 -1
  64. package/dist/src/test-utils/render.js +1 -1
  65. package/dist/src/test-utils/render.js.map +1 -1
  66. package/dist/src/ui/AppContainer.js +13 -11
  67. package/dist/src/ui/AppContainer.js.map +1 -1
  68. package/dist/src/ui/AppContainer.test.js +10 -16
  69. package/dist/src/ui/AppContainer.test.js.map +1 -1
  70. package/dist/src/ui/auth/AuthDialog.js +17 -10
  71. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  72. package/dist/src/ui/auth/AuthDialog.test.js +5 -2
  73. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  74. package/dist/src/ui/components/AppHeader.js +3 -17
  75. package/dist/src/ui/components/AppHeader.js.map +1 -1
  76. package/dist/src/ui/components/AppHeader.test.js +10 -4
  77. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  78. package/dist/src/ui/components/DebugProfiler.js +1 -1
  79. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  80. package/dist/src/ui/components/DialogManager.js +6 -1
  81. package/dist/src/ui/components/DialogManager.js.map +1 -1
  82. package/dist/src/ui/components/InputPrompt.js +1 -1
  83. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  84. package/dist/src/ui/components/LoadingIndicator.js +6 -1
  85. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  86. package/dist/src/ui/components/ModelDialog.test.js +1 -1
  87. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  88. package/dist/src/ui/components/SessionBrowser.d.ts +98 -0
  89. package/dist/src/ui/components/SessionBrowser.js +457 -0
  90. package/dist/src/ui/components/SessionBrowser.js.map +1 -0
  91. package/dist/src/ui/components/SessionBrowser.test.d.ts +6 -0
  92. package/dist/src/ui/components/SessionBrowser.test.js +245 -0
  93. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -0
  94. package/dist/src/ui/components/messages/ShellToolMessage.js +2 -2
  95. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  96. package/dist/src/ui/components/messages/ToolMessage.d.ts +5 -0
  97. package/dist/src/ui/components/messages/ToolMessage.js +32 -3
  98. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  99. package/dist/src/ui/components/shared/text-buffer.js +20 -4
  100. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  101. package/dist/src/ui/components/shared/text-buffer.test.js +20 -0
  102. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  103. package/dist/src/ui/constants.d.ts +1 -0
  104. package/dist/src/ui/constants.js +1 -0
  105. package/dist/src/ui/constants.js.map +1 -1
  106. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -0
  107. package/dist/src/ui/hooks/shellCommandProcessor.js +3 -1
  108. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  109. package/dist/src/ui/hooks/useAlternateBuffer.js +1 -1
  110. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  111. package/dist/src/ui/hooks/useBanner.d.ts +14 -0
  112. package/dist/src/ui/hooks/useBanner.js +48 -0
  113. package/dist/src/ui/hooks/useBanner.js.map +1 -0
  114. package/dist/src/ui/hooks/useBanner.test.d.ts +6 -0
  115. package/dist/src/ui/hooks/useBanner.test.js +92 -0
  116. package/dist/src/ui/hooks/useBanner.test.js.map +1 -0
  117. package/dist/src/ui/hooks/useBracketedPaste.js +3 -5
  118. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -1
  119. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -0
  120. package/dist/src/ui/hooks/useGeminiStream.js +6 -4
  121. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  122. package/dist/src/ui/hooks/useGeminiStream.test.js +1 -1
  123. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  124. package/dist/src/ui/hooks/useInactivityTimer.d.ts +14 -0
  125. package/dist/src/ui/hooks/useInactivityTimer.js +30 -0
  126. package/dist/src/ui/hooks/useInactivityTimer.js.map +1 -0
  127. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  128. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  129. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  130. package/dist/src/ui/hooks/useLoadingIndicator.test.js +16 -5
  131. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  132. package/dist/src/ui/hooks/usePhraseCycler.d.ts +4 -1
  133. package/dist/src/ui/hooks/usePhraseCycler.js +52 -43
  134. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  135. package/dist/src/ui/hooks/usePhraseCycler.test.js +52 -3
  136. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  137. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +2 -1
  138. package/dist/src/ui/hooks/useReactToolScheduler.js +3 -0
  139. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  140. package/dist/src/ui/hooks/useSessionBrowser.d.ts +18 -1
  141. package/dist/src/ui/hooks/useSessionBrowser.js +59 -0
  142. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  143. package/dist/src/ui/hooks/useSessionBrowser.test.js +154 -526
  144. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  145. package/dist/src/ui/hooks/useSlashCompletion.test.js +1 -1
  146. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  147. package/dist/src/ui/hooks/useToolScheduler.test.js +1 -1
  148. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  149. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +6 -0
  150. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +121 -0
  151. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -0
  152. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +6 -0
  153. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +34 -0
  154. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -0
  155. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +6 -0
  156. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +34 -0
  157. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -0
  158. package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +6 -0
  159. package/dist/src/ui/privacy/PrivacyNotice.test.js +62 -0
  160. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -0
  161. package/dist/src/ui/types.js +1 -1
  162. package/dist/src/ui/utils/bracketedPaste.d.ts +7 -0
  163. package/dist/src/ui/utils/bracketedPaste.js +15 -0
  164. package/dist/src/ui/utils/bracketedPaste.js.map +1 -0
  165. package/dist/src/ui/utils/kittyProtocolDetector.js +3 -4
  166. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  167. package/dist/src/ui/utils/mouse.d.ts +2 -2
  168. package/dist/src/ui/utils/mouse.js +2 -11
  169. package/dist/src/ui/utils/mouse.js.map +1 -1
  170. package/dist/src/utils/persistentState.d.ts +1 -1
  171. package/dist/src/utils/sessionCleanup.test.js +38 -0
  172. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  173. package/dist/src/utils/sessionUtils.d.ts +49 -4
  174. package/dist/src/utils/sessionUtils.js +100 -25
  175. package/dist/src/utils/sessionUtils.js.map +1 -1
  176. package/dist/src/utils/sessionUtils.test.js +46 -3
  177. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  178. package/dist/src/utils/sessions.js +4 -1
  179. package/dist/src/utils/sessions.js.map +1 -1
  180. package/dist/src/utils/sessions.test.js +42 -0
  181. package/dist/src/utils/sessions.test.js.map +1 -1
  182. package/dist/src/zed-integration/connection.test.d.ts +6 -0
  183. package/dist/src/zed-integration/connection.test.js +175 -0
  184. package/dist/src/zed-integration/connection.test.js.map +1 -0
  185. package/dist/src/zed-integration/fileSystemService.test.d.ts +6 -0
  186. package/dist/src/zed-integration/fileSystemService.test.js +98 -0
  187. package/dist/src/zed-integration/fileSystemService.test.js.map +1 -0
  188. package/dist/src/zed-integration/schema.d.ts +30 -30
  189. package/dist/src/zed-integration/zedIntegration.d.ts +31 -1
  190. package/dist/src/zed-integration/zedIntegration.js +5 -2
  191. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  192. package/dist/src/zed-integration/zedIntegration.test.d.ts +6 -0
  193. package/dist/src/zed-integration/zedIntegration.test.js +619 -0
  194. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -0
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/package.json +4 -4
  197. package/dist/google-gemini-cli-0.18.0-preview.0.tgz +0 -0
  198. package/dist/src/utils/stdio.d.ts +0 -32
  199. package/dist/src/utils/stdio.js +0 -85
  200. package/dist/src/utils/stdio.js.map +0 -1
  201. package/dist/src/utils/stdio.test.js +0 -47
  202. package/dist/src/utils/stdio.test.js.map +0 -1
  203. /package/dist/src/{utils/stdio.test.d.ts → config/extensions/consent.test.d.ts} +0 -0
@@ -65,6 +65,8 @@ describe('listSessions', () => {
65
65
  fileName: 'session-2025-01-18T12-00-00-session-1.json',
66
66
  startTime: twoDaysAgo.toISOString(),
67
67
  lastUpdated: twoDaysAgo.toISOString(),
68
+ messageCount: 5,
69
+ displayName: 'First user message',
68
70
  firstUserMessage: 'First user message',
69
71
  isCurrentSession: false,
70
72
  index: 1,
@@ -75,6 +77,8 @@ describe('listSessions', () => {
75
77
  fileName: 'session-2025-01-20T11-00-00-session-2.json',
76
78
  startTime: oneHourAgo.toISOString(),
77
79
  lastUpdated: oneHourAgo.toISOString(),
80
+ messageCount: 10,
81
+ displayName: 'Second user message',
78
82
  firstUserMessage: 'Second user message',
79
83
  isCurrentSession: false,
80
84
  index: 2,
@@ -85,6 +89,8 @@ describe('listSessions', () => {
85
89
  fileName: 'session-2025-01-20T12-00-00-current-s.json',
86
90
  startTime: now.toISOString(),
87
91
  lastUpdated: now.toISOString(),
92
+ messageCount: 3,
93
+ displayName: 'Current session',
88
94
  firstUserMessage: 'Current session',
89
95
  isCurrentSession: true,
90
96
  index: 3,
@@ -118,6 +124,8 @@ describe('listSessions', () => {
118
124
  fileName: 'session-2.json',
119
125
  startTime: session2Time.toISOString(), // Middle
120
126
  lastUpdated: session2Time.toISOString(),
127
+ messageCount: 5,
128
+ displayName: 'Middle session',
121
129
  firstUserMessage: 'Middle session',
122
130
  isCurrentSession: false,
123
131
  index: 2,
@@ -128,6 +136,8 @@ describe('listSessions', () => {
128
136
  fileName: 'session-1.json',
129
137
  startTime: session1Time.toISOString(), // Oldest
130
138
  lastUpdated: session1Time.toISOString(),
139
+ messageCount: 5,
140
+ displayName: 'Oldest session',
131
141
  firstUserMessage: 'Oldest session',
132
142
  isCurrentSession: false,
133
143
  index: 1,
@@ -138,6 +148,8 @@ describe('listSessions', () => {
138
148
  fileName: 'session-3.json',
139
149
  startTime: session3Time.toISOString(), // Newest
140
150
  lastUpdated: session3Time.toISOString(),
151
+ messageCount: 5,
152
+ displayName: 'Newest session',
141
153
  firstUserMessage: 'Newest session',
142
154
  isCurrentSession: false,
143
155
  index: 3,
@@ -166,6 +178,8 @@ describe('listSessions', () => {
166
178
  fileName: 'session-file.json',
167
179
  startTime: now.toISOString(),
168
180
  lastUpdated: now.toISOString(),
181
+ messageCount: 5,
182
+ displayName: 'Test message',
169
183
  firstUserMessage: 'Test message',
170
184
  isCurrentSession: false,
171
185
  index: 1,
@@ -189,6 +203,8 @@ describe('listSessions', () => {
189
203
  fileName: 'session-file.json',
190
204
  startTime: now.toISOString(),
191
205
  lastUpdated: now.toISOString(),
206
+ messageCount: 5,
207
+ displayName: 'Only session',
192
208
  firstUserMessage: 'Only session',
193
209
  isCurrentSession: true,
194
210
  index: 1,
@@ -257,6 +273,8 @@ describe('deleteSession', () => {
257
273
  fileName: 'session-file-123.json',
258
274
  startTime: now.toISOString(),
259
275
  lastUpdated: now.toISOString(),
276
+ messageCount: 5,
277
+ displayName: 'Test session',
260
278
  firstUserMessage: 'Test session',
261
279
  isCurrentSession: false,
262
280
  index: 1,
@@ -283,6 +301,8 @@ describe('deleteSession', () => {
283
301
  fileName: 'session-file-1.json',
284
302
  startTime: oneHourAgo.toISOString(),
285
303
  lastUpdated: oneHourAgo.toISOString(),
304
+ messageCount: 5,
305
+ displayName: 'First session',
286
306
  firstUserMessage: 'First session',
287
307
  isCurrentSession: false,
288
308
  index: 1,
@@ -293,6 +313,8 @@ describe('deleteSession', () => {
293
313
  fileName: 'session-file-2.json',
294
314
  startTime: now.toISOString(),
295
315
  lastUpdated: now.toISOString(),
316
+ messageCount: 10,
317
+ displayName: 'Second session',
296
318
  firstUserMessage: 'Second session',
297
319
  isCurrentSession: false,
298
320
  index: 2,
@@ -317,6 +339,8 @@ describe('deleteSession', () => {
317
339
  fileName: 'session-file-1.json',
318
340
  startTime: now.toISOString(),
319
341
  lastUpdated: now.toISOString(),
342
+ messageCount: 5,
343
+ displayName: 'Test session',
320
344
  firstUserMessage: 'Test session',
321
345
  isCurrentSession: false,
322
346
  index: 1,
@@ -339,6 +363,8 @@ describe('deleteSession', () => {
339
363
  fileName: 'session-file-1.json',
340
364
  startTime: now.toISOString(),
341
365
  lastUpdated: now.toISOString(),
366
+ messageCount: 5,
367
+ displayName: 'Test session',
342
368
  firstUserMessage: 'Test session',
343
369
  isCurrentSession: false,
344
370
  index: 1,
@@ -361,6 +387,8 @@ describe('deleteSession', () => {
361
387
  fileName: 'session-file-1.json',
362
388
  startTime: now.toISOString(),
363
389
  lastUpdated: now.toISOString(),
390
+ messageCount: 5,
391
+ displayName: 'Test session',
364
392
  firstUserMessage: 'Test session',
365
393
  isCurrentSession: false,
366
394
  index: 1,
@@ -383,6 +411,8 @@ describe('deleteSession', () => {
383
411
  fileName: 'current-session-file.json',
384
412
  startTime: now.toISOString(),
385
413
  lastUpdated: now.toISOString(),
414
+ messageCount: 5,
415
+ displayName: 'Current session',
386
416
  firstUserMessage: 'Current session',
387
417
  isCurrentSession: true,
388
418
  index: 1,
@@ -405,6 +435,8 @@ describe('deleteSession', () => {
405
435
  fileName: 'current-session-file.json',
406
436
  startTime: now.toISOString(),
407
437
  lastUpdated: now.toISOString(),
438
+ messageCount: 5,
439
+ displayName: 'Current session',
408
440
  firstUserMessage: 'Current session',
409
441
  isCurrentSession: true,
410
442
  index: 1,
@@ -427,6 +459,8 @@ describe('deleteSession', () => {
427
459
  fileName: 'session-file-1.json',
428
460
  startTime: now.toISOString(),
429
461
  lastUpdated: now.toISOString(),
462
+ messageCount: 5,
463
+ displayName: 'Test session',
430
464
  firstUserMessage: 'Test session',
431
465
  isCurrentSession: false,
432
466
  index: 1,
@@ -452,6 +486,8 @@ describe('deleteSession', () => {
452
486
  fileName: 'session-file-1.json',
453
487
  startTime: now.toISOString(),
454
488
  lastUpdated: now.toISOString(),
489
+ messageCount: 5,
490
+ displayName: 'Test session',
455
491
  firstUserMessage: 'Test session',
456
492
  isCurrentSession: false,
457
493
  index: 1,
@@ -479,6 +515,8 @@ describe('deleteSession', () => {
479
515
  fileName: 'session-file-3.json',
480
516
  startTime: session3Time.toISOString(), // Newest
481
517
  lastUpdated: session3Time.toISOString(),
518
+ messageCount: 5,
519
+ displayName: 'Newest session',
482
520
  firstUserMessage: 'Newest session',
483
521
  isCurrentSession: false,
484
522
  index: 3,
@@ -489,6 +527,8 @@ describe('deleteSession', () => {
489
527
  fileName: 'session-file-1.json',
490
528
  startTime: session1Time.toISOString(), // Oldest
491
529
  lastUpdated: session1Time.toISOString(),
530
+ messageCount: 5,
531
+ displayName: 'Oldest session',
492
532
  firstUserMessage: 'Oldest session',
493
533
  isCurrentSession: false,
494
534
  index: 1,
@@ -499,6 +539,8 @@ describe('deleteSession', () => {
499
539
  fileName: 'session-file-2.json',
500
540
  startTime: session2Time.toISOString(), // Middle
501
541
  lastUpdated: session2Time.toISOString(),
542
+ messageCount: 5,
543
+ displayName: 'Middle session',
502
544
  firstUserMessage: 'Middle session',
503
545
  isCurrentSession: false,
504
546
  index: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../src/utils/sessions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../src/utils/sessions.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AAEtE,oDAAoD;AACpD,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;CACjD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAChE,OAAO;QACL,GAAG,MAAM;QACT,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC9B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,UAAkB,CAAC;IACvB,IAAI,gBAA0C,CAAC;IAC/C,IAAI,aAA0C,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,qBAAqB;QACrB,UAAU,GAAG;YACX,OAAO,EAAE;gBACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC;aAChE;YACD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC;SACvC,CAAC;QAEvB,kCAAkC;QAClC,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE3B,6EAA6E;QAC7E,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,kBAAkB,CAC3C,GAAG,EAAE,CACH,CAAC;YACC,YAAY,EAAE,gBAAgB;SAC/B,CAAoD,CACxD,CAAC;QAEF,qBAAqB;QACrB,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,gDAAgD;QAChD,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM;QACN,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/B,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,gCAAgC;QAChC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAErE,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,uCAAuC;gBAC7C,QAAQ,EAAE,4CAA4C;gBACtD,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;gBACrC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,oBAAoB;gBACjC,gBAAgB,EAAE,oBAAoB;gBACtC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,uCAAuC;gBAC7C,QAAQ,EAAE,4CAA4C;gBACtD,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;gBACrC,YAAY,EAAE,EAAE;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,gBAAgB,EAAE,qBAAqB;gBACvC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,uCAAuC;gBAC7C,QAAQ,EAAE,4CAA4C;gBACtD,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,gBAAgB,EAAE,iBAAiB;gBACnC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/B,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAEhD,sCAAsC;QACtC,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,8CAA8C,CAC/C,CAAC;QAEF,qCAAqC;QACrC,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CACjD,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CACvC,CAAC;QAEF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAClD,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CACvC,CAAC;QAEF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAC9C,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CACtC,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/B,SAAS;QACT,kDAAkD;QAClD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAClD,CAAC,IAAI,EAAoB,EAAE,CACzB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAC1C,CAAC;QAEF,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/B,SAAS;QACT,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAC3C,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACzC,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/B,SAAS;QACT,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,8CAA8C,CAC/C,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAC3C,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,UAAkB,CAAC;IACvB,IAAI,gBAA0C,CAAC;IAC/C,IAAI,iBAA2C,CAAC;IAChD,IAAI,aAA0C,CAAC;IAC/C,IAAI,eAA4C,CAAC;IAEjD,UAAU,CAAC,GAAG,EAAE;QACd,qBAAqB;QACrB,UAAU,GAAG;YACX,OAAO,EAAE;gBACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC;aAChE;YACD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC;SACvC,CAAC;QAEvB,sBAAsB;QACtB,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE5B,mCAAmC;QACnC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,kBAAkB,CAC3C,GAAG,EAAE,CACH,CAAC;YACC,YAAY,EAAE,gBAAgB;SAC/B,CAAoD,CACxD,CAAC;QAEF,4BAA4B;QAC5B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,kBAAkB,CAChD,GAAG,EAAE,CACH,CAAC;YACC,aAAa,EAAE,iBAAiB;SACjC,CAAyD,CAC7D,CAAC;QAEF,yBAAyB;QACzB,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtE,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,eAAe,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,UAAU;QACV,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAChD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,qCAAqC,CACtC,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,kBAAkB;gBACtB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,uBAAuB;gBACjC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE/C,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEpD,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,iDAAiD,CAClD,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5D,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;gBACrC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,eAAe;gBAC5B,gBAAgB,EAAE,eAAe;gBACjC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,EAAE;gBAChB,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE/C,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,mDAAmD,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE9C,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,yFAAyF,CAC1F,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEvC,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,kFAAkF,CACnF,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,gFAAgF,CACjF,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,gBAAgB,EAAE,iBAAiB;gBACnC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,+BAA+B;QAC/B,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,2CAA2C,CAC5C,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,iBAAiB;gBAC9B,gBAAgB,EAAE,iBAAiB;gBACnC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEjD,8BAA8B;QAC9B,MAAM,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAEtD,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,2CAA2C,CAC5C,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,gDAAgD,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC9B,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACxC,gDAAgD;YAChD,MAAM,oBAAoB,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,yCAAyC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAkB;YAClC;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS;gBAChD,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,gBAAgB;gBAClC,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,CAAC;aACT;SACF,CAAC;QAEF,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE/C,gEAAgE;QAChE,MAAM,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACxC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,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,175 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import { Connection, RequestError } from './connection.js';
8
+ import { ReadableStream, WritableStream } from 'node:stream/web';
9
+ describe('Connection', () => {
10
+ let toPeer;
11
+ let fromPeer;
12
+ let peerController;
13
+ let receivedChunks = [];
14
+ let connection;
15
+ let handler;
16
+ beforeEach(() => {
17
+ receivedChunks = [];
18
+ toPeer = new WritableStream({
19
+ write(chunk) {
20
+ const str = new TextDecoder().decode(chunk);
21
+ receivedChunks.push(str);
22
+ },
23
+ });
24
+ fromPeer = new ReadableStream({
25
+ start(controller) {
26
+ peerController = controller;
27
+ },
28
+ });
29
+ handler = vi.fn();
30
+ connection = new Connection(handler, toPeer, fromPeer);
31
+ });
32
+ afterEach(() => {
33
+ vi.clearAllMocks();
34
+ });
35
+ it('should send a request and receive a response', async () => {
36
+ const responsePromise = connection.sendRequest('testMethod', {
37
+ key: 'value',
38
+ });
39
+ // Verify request was sent
40
+ await vi.waitFor(() => {
41
+ expect(receivedChunks.length).toBeGreaterThan(0);
42
+ });
43
+ const request = JSON.parse(receivedChunks[0]);
44
+ expect(request).toMatchObject({
45
+ jsonrpc: '2.0',
46
+ method: 'testMethod',
47
+ params: { key: 'value' },
48
+ });
49
+ expect(request.id).toBeDefined();
50
+ // Simulate response
51
+ const response = {
52
+ jsonrpc: '2.0',
53
+ id: request.id,
54
+ result: { success: true },
55
+ };
56
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(response) + '\n'));
57
+ const result = await responsePromise;
58
+ expect(result).toEqual({ success: true });
59
+ });
60
+ it('should send a notification', async () => {
61
+ await connection.sendNotification('notifyMethod', { key: 'value' });
62
+ await vi.waitFor(() => {
63
+ expect(receivedChunks.length).toBeGreaterThan(0);
64
+ });
65
+ const notification = JSON.parse(receivedChunks[0]);
66
+ expect(notification).toMatchObject({
67
+ jsonrpc: '2.0',
68
+ method: 'notifyMethod',
69
+ params: { key: 'value' },
70
+ });
71
+ expect(notification.id).toBeUndefined();
72
+ });
73
+ it('should handle incoming requests', async () => {
74
+ handler.mockResolvedValue({ result: 'ok' });
75
+ const request = {
76
+ jsonrpc: '2.0',
77
+ id: 1,
78
+ method: 'incomingMethod',
79
+ params: { foo: 'bar' },
80
+ };
81
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(request) + '\n'));
82
+ // Wait for handler to be called and response to be written
83
+ await vi.waitFor(() => {
84
+ expect(handler).toHaveBeenCalledWith('incomingMethod', { foo: 'bar' });
85
+ expect(receivedChunks.length).toBeGreaterThan(0);
86
+ });
87
+ const response = JSON.parse(receivedChunks[receivedChunks.length - 1]);
88
+ expect(response).toMatchObject({
89
+ jsonrpc: '2.0',
90
+ id: 1,
91
+ result: { result: 'ok' },
92
+ });
93
+ });
94
+ it('should handle incoming notifications', async () => {
95
+ const notification = {
96
+ jsonrpc: '2.0',
97
+ method: 'incomingNotify',
98
+ params: { foo: 'bar' },
99
+ };
100
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(notification) + '\n'));
101
+ // Wait for handler to be called
102
+ await vi.waitFor(() => {
103
+ expect(handler).toHaveBeenCalledWith('incomingNotify', { foo: 'bar' });
104
+ });
105
+ // Notifications don't send responses
106
+ expect(receivedChunks.length).toBe(0);
107
+ });
108
+ it('should handle request errors from handler', async () => {
109
+ handler.mockRejectedValue(new Error('Handler failed'));
110
+ const request = {
111
+ jsonrpc: '2.0',
112
+ id: 2,
113
+ method: 'failMethod',
114
+ };
115
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(request) + '\n'));
116
+ await vi.waitFor(() => {
117
+ expect(receivedChunks.length).toBeGreaterThan(0);
118
+ });
119
+ const response = JSON.parse(receivedChunks[receivedChunks.length - 1]);
120
+ expect(response).toMatchObject({
121
+ jsonrpc: '2.0',
122
+ id: 2,
123
+ error: {
124
+ code: -32603,
125
+ message: 'Internal error',
126
+ data: { details: 'Handler failed' },
127
+ },
128
+ });
129
+ });
130
+ it('should handle RequestError from handler', async () => {
131
+ handler.mockRejectedValue(RequestError.methodNotFound('Unknown method'));
132
+ const request = {
133
+ jsonrpc: '2.0',
134
+ id: 3,
135
+ method: 'unknown',
136
+ };
137
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(request) + '\n'));
138
+ await vi.waitFor(() => {
139
+ expect(receivedChunks.length).toBeGreaterThan(0);
140
+ });
141
+ const response = JSON.parse(receivedChunks[receivedChunks.length - 1]);
142
+ expect(response).toMatchObject({
143
+ jsonrpc: '2.0',
144
+ id: 3,
145
+ error: {
146
+ code: -32601,
147
+ message: 'Method not found',
148
+ data: { details: 'Unknown method' },
149
+ },
150
+ });
151
+ });
152
+ it('should handle response errors', async () => {
153
+ const responsePromise = connection.sendRequest('testMethod');
154
+ // Verify request was sent
155
+ await vi.waitFor(() => {
156
+ expect(receivedChunks.length).toBeGreaterThan(0);
157
+ });
158
+ const request = JSON.parse(receivedChunks[0]);
159
+ // Simulate error response
160
+ const response = {
161
+ jsonrpc: '2.0',
162
+ id: request.id,
163
+ error: {
164
+ code: -32000,
165
+ message: 'Custom error',
166
+ },
167
+ };
168
+ peerController.enqueue(new TextEncoder().encode(JSON.stringify(response) + '\n'));
169
+ await expect(responsePromise).rejects.toMatchObject({
170
+ code: -32000,
171
+ message: 'Custom error',
172
+ });
173
+ });
174
+ });
175
+ //# sourceMappingURL=connection.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../../src/zed-integration/connection.test.ts"],"names":[],"mappings":"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"}
@@ -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,98 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
7
+ import { AcpFileSystemService } from './fileSystemService.js';
8
+ describe('AcpFileSystemService', () => {
9
+ let mockClient;
10
+ let mockFallback;
11
+ let service;
12
+ beforeEach(() => {
13
+ mockClient = {
14
+ requestPermission: vi.fn(),
15
+ sessionUpdate: vi.fn(),
16
+ writeTextFile: vi.fn(),
17
+ readTextFile: vi.fn(),
18
+ };
19
+ mockFallback = {
20
+ readTextFile: vi.fn(),
21
+ writeTextFile: vi.fn(),
22
+ findFiles: vi.fn(),
23
+ };
24
+ });
25
+ describe('readTextFile', () => {
26
+ it.each([
27
+ {
28
+ capability: true,
29
+ desc: 'client if capability exists',
30
+ setup: () => {
31
+ mockClient.readTextFile.mockResolvedValue({ content: 'content' });
32
+ },
33
+ verify: () => {
34
+ expect(mockClient.readTextFile).toHaveBeenCalledWith({
35
+ path: '/path/to/file',
36
+ sessionId: 'session-1',
37
+ line: null,
38
+ limit: null,
39
+ });
40
+ expect(mockFallback.readTextFile).not.toHaveBeenCalled();
41
+ },
42
+ },
43
+ {
44
+ capability: false,
45
+ desc: 'fallback if capability missing',
46
+ setup: () => {
47
+ mockFallback.readTextFile.mockResolvedValue('content');
48
+ },
49
+ verify: () => {
50
+ expect(mockFallback.readTextFile).toHaveBeenCalledWith('/path/to/file');
51
+ expect(mockClient.readTextFile).not.toHaveBeenCalled();
52
+ },
53
+ },
54
+ ])('should use $desc', async ({ capability, setup, verify }) => {
55
+ service = new AcpFileSystemService(mockClient, 'session-1', { readTextFile: capability, writeTextFile: true }, mockFallback);
56
+ setup();
57
+ const result = await service.readTextFile('/path/to/file');
58
+ expect(result).toBe('content');
59
+ verify();
60
+ });
61
+ });
62
+ describe('writeTextFile', () => {
63
+ it.each([
64
+ {
65
+ capability: true,
66
+ desc: 'client if capability exists',
67
+ verify: () => {
68
+ expect(mockClient.writeTextFile).toHaveBeenCalledWith({
69
+ path: '/path/to/file',
70
+ content: 'content',
71
+ sessionId: 'session-1',
72
+ });
73
+ expect(mockFallback.writeTextFile).not.toHaveBeenCalled();
74
+ },
75
+ },
76
+ {
77
+ capability: false,
78
+ desc: 'fallback if capability missing',
79
+ verify: () => {
80
+ expect(mockFallback.writeTextFile).toHaveBeenCalledWith('/path/to/file', 'content');
81
+ expect(mockClient.writeTextFile).not.toHaveBeenCalled();
82
+ },
83
+ },
84
+ ])('should use $desc', async ({ capability, verify }) => {
85
+ service = new AcpFileSystemService(mockClient, 'session-1', { writeTextFile: capability, readTextFile: true }, mockFallback);
86
+ await service.writeTextFile('/path/to/file', 'content');
87
+ verify();
88
+ });
89
+ });
90
+ it('should always use fallback for findFiles', () => {
91
+ service = new AcpFileSystemService(mockClient, 'session-1', { readTextFile: true, writeTextFile: true }, mockFallback);
92
+ mockFallback.findFiles.mockReturnValue(['file1', 'file2']);
93
+ const result = service.findFiles('pattern', ['/path']);
94
+ expect(mockFallback.findFiles).toHaveBeenCalledWith('pattern', ['/path']);
95
+ expect(result).toEqual(['file1', 'file2']);
96
+ });
97
+ });
98
+ //# sourceMappingURL=fileSystemService.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileSystemService.test.js","sourceRoot":"","sources":["../../../src/zed-integration/fileSystemService.test.ts"],"names":[],"mappings":"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"}