@google/gemini-cli-core 0.1.18-nightly.250810.c632ec8b → 0.1.18-nightly.250812.26fe587b

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 (83) hide show
  1. package/README.md +193 -136
  2. package/dist/google-gemini-cli-core-0.1.18.tgz +0 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/code_assist/converter.d.ts +2 -2
  7. package/dist/src/code_assist/converter.js +1 -1
  8. package/dist/src/code_assist/converter.js.map +1 -1
  9. package/dist/src/code_assist/setup.js +4 -4
  10. package/dist/src/code_assist/setup.js.map +1 -1
  11. package/dist/src/config/config.js +0 -4
  12. package/dist/src/config/config.js.map +1 -1
  13. package/dist/src/core/client.d.ts +5 -2
  14. package/dist/src/core/client.js +153 -32
  15. package/dist/src/core/client.js.map +1 -1
  16. package/dist/src/core/client.test.js +268 -28
  17. package/dist/src/core/client.test.js.map +1 -1
  18. package/dist/src/ide/detect-ide.d.ts +8 -1
  19. package/dist/src/ide/detect-ide.js +40 -3
  20. package/dist/src/ide/detect-ide.js.map +1 -1
  21. package/dist/src/ide/ide-client.js +19 -12
  22. package/dist/src/ide/ide-client.js.map +1 -1
  23. package/dist/src/ide/ide-installer.js +20 -1
  24. package/dist/src/ide/ide-installer.js.map +1 -1
  25. package/dist/src/ide/ide-installer.test.js +37 -2
  26. package/dist/src/ide/ide-installer.test.js.map +1 -1
  27. package/dist/src/mcp/google-auth-provider.js +9 -0
  28. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  29. package/dist/src/mcp/google-auth-provider.test.js +45 -10
  30. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  31. package/dist/src/services/loopDetectionService.js +4 -5
  32. package/dist/src/services/loopDetectionService.js.map +1 -1
  33. package/dist/src/services/loopDetectionService.test.js +52 -0
  34. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  35. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  36. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +17 -10
  37. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  38. package/dist/src/tools/edit.js +6 -7
  39. package/dist/src/tools/edit.js.map +1 -1
  40. package/dist/src/tools/glob.js +6 -7
  41. package/dist/src/tools/glob.js.map +1 -1
  42. package/dist/src/tools/grep.js +5 -6
  43. package/dist/src/tools/grep.js.map +1 -1
  44. package/dist/src/tools/ls.js +8 -9
  45. package/dist/src/tools/ls.js.map +1 -1
  46. package/dist/src/tools/mcp-client.test.js +3 -3
  47. package/dist/src/tools/mcp-client.test.js.map +1 -1
  48. package/dist/src/tools/mcp-tool.d.ts +3 -8
  49. package/dist/src/tools/mcp-tool.js +5 -18
  50. package/dist/src/tools/mcp-tool.js.map +1 -1
  51. package/dist/src/tools/memoryTool.js +4 -5
  52. package/dist/src/tools/memoryTool.js.map +1 -1
  53. package/dist/src/tools/memoryTool.test.js +10 -1
  54. package/dist/src/tools/memoryTool.test.js.map +1 -1
  55. package/dist/src/tools/read-file.js +5 -6
  56. package/dist/src/tools/read-file.js.map +1 -1
  57. package/dist/src/tools/read-many-files.js +17 -18
  58. package/dist/src/tools/read-many-files.js.map +1 -1
  59. package/dist/src/tools/shell.js +5 -6
  60. package/dist/src/tools/shell.js.map +1 -1
  61. package/dist/src/tools/tool-registry.d.ts +1 -15
  62. package/dist/src/tools/tool-registry.js +4 -72
  63. package/dist/src/tools/tool-registry.js.map +1 -1
  64. package/dist/src/tools/tool-registry.test.js +16 -172
  65. package/dist/src/tools/tool-registry.test.js.map +1 -1
  66. package/dist/src/tools/tools.d.ts +6 -6
  67. package/dist/src/tools/tools.js +2 -2
  68. package/dist/src/tools/tools.js.map +1 -1
  69. package/dist/src/tools/web-fetch.js +3 -4
  70. package/dist/src/tools/web-fetch.js.map +1 -1
  71. package/dist/src/tools/web-search.js +1 -1
  72. package/dist/src/tools/web-search.js.map +1 -1
  73. package/dist/src/tools/write-file.js +4 -5
  74. package/dist/src/tools/write-file.js.map +1 -1
  75. package/dist/src/utils/editCorrector.js +8 -9
  76. package/dist/src/utils/editCorrector.js.map +1 -1
  77. package/dist/src/utils/nextSpeakerChecker.js +3 -4
  78. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  79. package/dist/src/utils/schemaValidator.d.ts +1 -8
  80. package/dist/src/utils/schemaValidator.js +1 -32
  81. package/dist/src/utils/schemaValidator.js.map +1 -1
  82. package/dist/tsconfig.tsbuildinfo +1 -1
  83. package/package.json +1 -1
@@ -170,6 +170,7 @@ describe('Gemini Client (client.ts)', () => {
170
170
  getUsageStatisticsEnabled: vi.fn().mockReturnValue(true),
171
171
  getIdeModeFeature: vi.fn().mockReturnValue(false),
172
172
  getIdeMode: vi.fn().mockReturnValue(true),
173
+ getDebugMode: vi.fn().mockReturnValue(false),
173
174
  getWorkspaceContext: vi.fn().mockReturnValue({
174
175
  getDirectories: vi.fn().mockReturnValue(['/test/dir']),
175
176
  }),
@@ -315,7 +316,7 @@ describe('Gemini Client (client.ts)', () => {
315
316
  systemInstruction: getCoreSystemPrompt(''),
316
317
  temperature: 0,
317
318
  topP: 1,
318
- responseSchema: schema,
319
+ responseJsonSchema: schema,
319
320
  responseMimeType: 'application/json',
320
321
  },
321
322
  contents,
@@ -341,7 +342,7 @@ describe('Gemini Client (client.ts)', () => {
341
342
  temperature: 0.9,
342
343
  topP: 1, // from default
343
344
  topK: 20,
344
- responseSchema: schema,
345
+ responseJsonSchema: schema,
345
346
  responseMimeType: 'application/json',
346
347
  },
347
348
  contents,
@@ -353,7 +354,6 @@ describe('Gemini Client (client.ts)', () => {
353
354
  const mockChat = {
354
355
  addHistory: vi.fn(),
355
356
  };
356
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
357
357
  client['chat'] = mockChat;
358
358
  const newContent = {
359
359
  role: 'user',
@@ -529,7 +529,7 @@ describe('Gemini Client (client.ts)', () => {
529
529
  });
530
530
  });
531
531
  describe('sendMessageStream', () => {
532
- it('should include IDE context when ideModeFeature is enabled', async () => {
532
+ it('should include editor context when ideModeFeature is enabled', async () => {
533
533
  // Arrange
534
534
  vi.mocked(ideContext.getIdeContext).mockReturnValue({
535
535
  workspaceState: {
@@ -576,18 +576,26 @@ describe('Gemini Client (client.ts)', () => {
576
576
  // Assert
577
577
  expect(ideContext.getIdeContext).toHaveBeenCalled();
578
578
  const expectedContext = `
579
- This is the file that the user is looking at:
580
- - Path: /path/to/active/file.ts
581
- This is the cursor position in the file:
582
- - Cursor Position: Line 5, Character 10
583
- This is the selected text in the file:
584
- - hello
585
- Here are some other files the user has open, with the most recent at the top:
586
- - /path/to/recent/file1.ts
587
- - /path/to/recent/file2.ts
579
+ Here is the user's editor context as a JSON object. This is for your information only.
580
+ \`\`\`json
581
+ ${JSON.stringify({
582
+ activeFile: {
583
+ path: '/path/to/active/file.ts',
584
+ cursor: {
585
+ line: 5,
586
+ character: 10,
587
+ },
588
+ selectedText: 'hello',
589
+ },
590
+ otherOpenFiles: ['/path/to/recent/file1.ts', '/path/to/recent/file2.ts'],
591
+ }, null, 2)}
592
+ \`\`\`
588
593
  `.trim();
589
- const expectedRequest = [{ text: expectedContext }, ...initialRequest];
590
- expect(mockTurnRunFn).toHaveBeenCalledWith(expectedRequest, expect.any(Object));
594
+ const expectedRequest = [{ text: expectedContext }];
595
+ expect(mockChat.addHistory).toHaveBeenCalledWith({
596
+ role: 'user',
597
+ parts: expectedRequest,
598
+ });
591
599
  });
592
600
  it('should not add context if ideModeFeature is enabled but no open files', async () => {
593
601
  // Arrange
@@ -660,15 +668,25 @@ Here are some other files the user has open, with the most recent at the top:
660
668
  // Assert
661
669
  expect(ideContext.getIdeContext).toHaveBeenCalled();
662
670
  const expectedContext = `
663
- This is the file that the user is looking at:
664
- - Path: /path/to/active/file.ts
665
- This is the cursor position in the file:
666
- - Cursor Position: Line 5, Character 10
667
- This is the selected text in the file:
668
- - hello
671
+ Here is the user's editor context as a JSON object. This is for your information only.
672
+ \`\`\`json
673
+ ${JSON.stringify({
674
+ activeFile: {
675
+ path: '/path/to/active/file.ts',
676
+ cursor: {
677
+ line: 5,
678
+ character: 10,
679
+ },
680
+ selectedText: 'hello',
681
+ },
682
+ }, null, 2)}
683
+ \`\`\`
669
684
  `.trim();
670
- const expectedRequest = [{ text: expectedContext }, ...initialRequest];
671
- expect(mockTurnRunFn).toHaveBeenCalledWith(expectedRequest, expect.any(Object));
685
+ const expectedRequest = [{ text: expectedContext }];
686
+ expect(mockChat.addHistory).toHaveBeenCalledWith({
687
+ role: 'user',
688
+ parts: expectedRequest,
689
+ });
672
690
  });
673
691
  it('should add context if ideModeFeature is enabled and there are open files but no active file', async () => {
674
692
  // Arrange
@@ -710,12 +728,18 @@ This is the selected text in the file:
710
728
  // Assert
711
729
  expect(ideContext.getIdeContext).toHaveBeenCalled();
712
730
  const expectedContext = `
713
- Here are some files the user has open, with the most recent at the top:
714
- - /path/to/recent/file1.ts
715
- - /path/to/recent/file2.ts
731
+ Here is the user's editor context as a JSON object. This is for your information only.
732
+ \`\`\`json
733
+ ${JSON.stringify({
734
+ otherOpenFiles: ['/path/to/recent/file1.ts', '/path/to/recent/file2.ts'],
735
+ }, null, 2)}
736
+ \`\`\`
716
737
  `.trim();
717
- const expectedRequest = [{ text: expectedContext }, ...initialRequest];
718
- expect(mockTurnRunFn).toHaveBeenCalledWith(expectedRequest, expect.any(Object));
738
+ const expectedRequest = [{ text: expectedContext }];
739
+ expect(mockChat.addHistory).toHaveBeenCalledWith({
740
+ role: 'user',
741
+ parts: expectedRequest,
742
+ });
719
743
  });
720
744
  it('should return the turn instance after the stream is complete', async () => {
721
745
  // Arrange
@@ -918,6 +942,222 @@ Here are some files the user has open, with the most recent at the top:
918
942
  console.log(`Infinite loop protection working: checkNextSpeaker called ${callCount} times, ` +
919
943
  `${eventCount} events generated (properly bounded by MAX_TURNS)`);
920
944
  });
945
+ describe('Editor context delta', () => {
946
+ const mockStream = (async function* () {
947
+ yield { type: 'content', value: 'Hello' };
948
+ })();
949
+ beforeEach(() => {
950
+ client['forceFullIdeContext'] = false; // Reset before each delta test
951
+ vi.spyOn(client, 'tryCompressChat').mockResolvedValue(null);
952
+ vi.spyOn(client['config'], 'getIdeModeFeature').mockReturnValue(true);
953
+ mockTurnRunFn.mockReturnValue(mockStream);
954
+ const mockChat = {
955
+ addHistory: vi.fn(),
956
+ setHistory: vi.fn(),
957
+ sendMessage: vi.fn().mockResolvedValue({ text: 'summary' }),
958
+ // Assume history is not empty for delta checks
959
+ getHistory: vi
960
+ .fn()
961
+ .mockReturnValue([
962
+ { role: 'user', parts: [{ text: 'previous message' }] },
963
+ ]),
964
+ };
965
+ client['chat'] = mockChat;
966
+ const mockGenerator = {
967
+ countTokens: vi.fn().mockResolvedValue({ totalTokens: 0 }),
968
+ generateContent: mockGenerateContentFn,
969
+ };
970
+ client['contentGenerator'] = mockGenerator;
971
+ });
972
+ const testCases = [
973
+ {
974
+ description: 'sends delta when active file changes',
975
+ previousActiveFile: {
976
+ path: '/path/to/old/file.ts',
977
+ cursor: { line: 5, character: 10 },
978
+ selectedText: 'hello',
979
+ },
980
+ currentActiveFile: {
981
+ path: '/path/to/active/file.ts',
982
+ cursor: { line: 5, character: 10 },
983
+ selectedText: 'hello',
984
+ },
985
+ shouldSendContext: true,
986
+ },
987
+ {
988
+ description: 'sends delta when cursor line changes',
989
+ previousActiveFile: {
990
+ path: '/path/to/active/file.ts',
991
+ cursor: { line: 1, character: 10 },
992
+ selectedText: 'hello',
993
+ },
994
+ currentActiveFile: {
995
+ path: '/path/to/active/file.ts',
996
+ cursor: { line: 5, character: 10 },
997
+ selectedText: 'hello',
998
+ },
999
+ shouldSendContext: true,
1000
+ },
1001
+ {
1002
+ description: 'sends delta when cursor character changes',
1003
+ previousActiveFile: {
1004
+ path: '/path/to/active/file.ts',
1005
+ cursor: { line: 5, character: 1 },
1006
+ selectedText: 'hello',
1007
+ },
1008
+ currentActiveFile: {
1009
+ path: '/path/to/active/file.ts',
1010
+ cursor: { line: 5, character: 10 },
1011
+ selectedText: 'hello',
1012
+ },
1013
+ shouldSendContext: true,
1014
+ },
1015
+ {
1016
+ description: 'sends delta when selected text changes',
1017
+ previousActiveFile: {
1018
+ path: '/path/to/active/file.ts',
1019
+ cursor: { line: 5, character: 10 },
1020
+ selectedText: 'world',
1021
+ },
1022
+ currentActiveFile: {
1023
+ path: '/path/to/active/file.ts',
1024
+ cursor: { line: 5, character: 10 },
1025
+ selectedText: 'hello',
1026
+ },
1027
+ shouldSendContext: true,
1028
+ },
1029
+ {
1030
+ description: 'sends delta when selected text is added',
1031
+ previousActiveFile: {
1032
+ path: '/path/to/active/file.ts',
1033
+ cursor: { line: 5, character: 10 },
1034
+ },
1035
+ currentActiveFile: {
1036
+ path: '/path/to/active/file.ts',
1037
+ cursor: { line: 5, character: 10 },
1038
+ selectedText: 'hello',
1039
+ },
1040
+ shouldSendContext: true,
1041
+ },
1042
+ {
1043
+ description: 'sends delta when selected text is removed',
1044
+ previousActiveFile: {
1045
+ path: '/path/to/active/file.ts',
1046
+ cursor: { line: 5, character: 10 },
1047
+ selectedText: 'hello',
1048
+ },
1049
+ currentActiveFile: {
1050
+ path: '/path/to/active/file.ts',
1051
+ cursor: { line: 5, character: 10 },
1052
+ },
1053
+ shouldSendContext: true,
1054
+ },
1055
+ {
1056
+ description: 'does not send context when nothing changes',
1057
+ previousActiveFile: {
1058
+ path: '/path/to/active/file.ts',
1059
+ cursor: { line: 5, character: 10 },
1060
+ selectedText: 'hello',
1061
+ },
1062
+ currentActiveFile: {
1063
+ path: '/path/to/active/file.ts',
1064
+ cursor: { line: 5, character: 10 },
1065
+ selectedText: 'hello',
1066
+ },
1067
+ shouldSendContext: false,
1068
+ },
1069
+ ];
1070
+ it.each(testCases)('$description', async ({ previousActiveFile, currentActiveFile, shouldSendContext, }) => {
1071
+ // Setup previous context
1072
+ client['lastSentIdeContext'] = {
1073
+ workspaceState: {
1074
+ openFiles: [
1075
+ {
1076
+ path: previousActiveFile.path,
1077
+ cursor: previousActiveFile.cursor,
1078
+ selectedText: previousActiveFile.selectedText,
1079
+ isActive: true,
1080
+ timestamp: Date.now() - 1000,
1081
+ },
1082
+ ],
1083
+ },
1084
+ };
1085
+ // Setup current context
1086
+ vi.mocked(ideContext.getIdeContext).mockReturnValue({
1087
+ workspaceState: {
1088
+ openFiles: [
1089
+ { ...currentActiveFile, isActive: true, timestamp: Date.now() },
1090
+ ],
1091
+ },
1092
+ });
1093
+ const stream = client.sendMessageStream([{ text: 'Hi' }], new AbortController().signal, 'prompt-id-delta');
1094
+ for await (const _ of stream) {
1095
+ // consume stream
1096
+ }
1097
+ const mockChat = client['chat'];
1098
+ if (shouldSendContext) {
1099
+ expect(mockChat.addHistory).toHaveBeenCalledWith(expect.objectContaining({
1100
+ parts: expect.arrayContaining([
1101
+ expect.objectContaining({
1102
+ text: expect.stringContaining("Here is a summary of changes in the user's editor context"),
1103
+ }),
1104
+ ]),
1105
+ }));
1106
+ }
1107
+ else {
1108
+ expect(mockChat.addHistory).not.toHaveBeenCalled();
1109
+ }
1110
+ });
1111
+ it('sends full context when history is cleared, even if editor state is unchanged', async () => {
1112
+ const activeFile = {
1113
+ path: '/path/to/active/file.ts',
1114
+ cursor: { line: 5, character: 10 },
1115
+ selectedText: 'hello',
1116
+ };
1117
+ // Setup previous context
1118
+ client['lastSentIdeContext'] = {
1119
+ workspaceState: {
1120
+ openFiles: [
1121
+ {
1122
+ path: activeFile.path,
1123
+ cursor: activeFile.cursor,
1124
+ selectedText: activeFile.selectedText,
1125
+ isActive: true,
1126
+ timestamp: Date.now() - 1000,
1127
+ },
1128
+ ],
1129
+ },
1130
+ };
1131
+ // Setup current context (same as previous)
1132
+ vi.mocked(ideContext.getIdeContext).mockReturnValue({
1133
+ workspaceState: {
1134
+ openFiles: [
1135
+ { ...activeFile, isActive: true, timestamp: Date.now() },
1136
+ ],
1137
+ },
1138
+ });
1139
+ // Make history empty
1140
+ const mockChat = client['chat'];
1141
+ mockChat.getHistory.mockReturnValue([]);
1142
+ const stream = client.sendMessageStream([{ text: 'Hi' }], new AbortController().signal, 'prompt-id-history-cleared');
1143
+ for await (const _ of stream) {
1144
+ // consume stream
1145
+ }
1146
+ expect(mockChat.addHistory).toHaveBeenCalledWith(expect.objectContaining({
1147
+ parts: expect.arrayContaining([
1148
+ expect.objectContaining({
1149
+ text: expect.stringContaining("Here is the user's editor context"),
1150
+ }),
1151
+ ]),
1152
+ }));
1153
+ // Also verify it's the full context, not a delta.
1154
+ const call = mockChat.addHistory.mock.calls[0][0];
1155
+ const contextText = call.parts[0].text;
1156
+ const contextJson = JSON.parse(contextText.match(/```json\n(.*)\n```/s)[1]);
1157
+ expect(contextJson).toHaveProperty('activeFile');
1158
+ expect(contextJson.activeFile.path).toBe('/path/to/active/file.ts');
1159
+ });
1160
+ });
921
1161
  });
922
1162
  describe('generateContent', () => {
923
1163
  it('should use current model from config for content generation', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/core/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/core/client.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,14 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export declare enum DetectedIde {
7
- VSCode = "vscode"
7
+ VSCode = "vscode",
8
+ VSCodium = "vscodium",
9
+ Cursor = "cursor",
10
+ CloudShell = "cloudshell",
11
+ Codespaces = "codespaces",
12
+ Windsurf = "windsurf",
13
+ FirebaseStudio = "firebasestudio",
14
+ Trae = "trae"
8
15
  }
9
16
  export declare function getIdeDisplayName(ide: DetectedIde): string;
10
17
  export declare function detectIde(): DetectedIde | undefined;
@@ -6,11 +6,32 @@
6
6
  export var DetectedIde;
7
7
  (function (DetectedIde) {
8
8
  DetectedIde["VSCode"] = "vscode";
9
+ DetectedIde["VSCodium"] = "vscodium";
10
+ DetectedIde["Cursor"] = "cursor";
11
+ DetectedIde["CloudShell"] = "cloudshell";
12
+ DetectedIde["Codespaces"] = "codespaces";
13
+ DetectedIde["Windsurf"] = "windsurf";
14
+ DetectedIde["FirebaseStudio"] = "firebasestudio";
15
+ DetectedIde["Trae"] = "trae";
9
16
  })(DetectedIde || (DetectedIde = {}));
10
17
  export function getIdeDisplayName(ide) {
11
18
  switch (ide) {
12
19
  case DetectedIde.VSCode:
13
20
  return 'VS Code';
21
+ case DetectedIde.VSCodium:
22
+ return 'VSCodium';
23
+ case DetectedIde.Cursor:
24
+ return 'Cursor';
25
+ case DetectedIde.CloudShell:
26
+ return 'Cloud Shell';
27
+ case DetectedIde.Codespaces:
28
+ return 'GitHub Codespaces';
29
+ case DetectedIde.Windsurf:
30
+ return 'Windsurf';
31
+ case DetectedIde.FirebaseStudio:
32
+ return 'Firebase Studio';
33
+ case DetectedIde.Trae:
34
+ return 'Trae';
14
35
  default: {
15
36
  // This ensures that if a new IDE is added to the enum, we get a compile-time error.
16
37
  const exhaustiveCheck = ide;
@@ -19,9 +40,25 @@ export function getIdeDisplayName(ide) {
19
40
  }
20
41
  }
21
42
  export function detectIde() {
22
- if (process.env.TERM_PROGRAM === 'vscode') {
23
- return DetectedIde.VSCode;
43
+ // Only VSCode-based integrations are currently supported.
44
+ if (process.env.TERM_PROGRAM !== 'vscode') {
45
+ return undefined;
24
46
  }
25
- return undefined;
47
+ if (process.env.CURSOR_TRACE_ID) {
48
+ return DetectedIde.Cursor;
49
+ }
50
+ if (process.env.CODESPACES) {
51
+ return DetectedIde.Codespaces;
52
+ }
53
+ if (process.env.EDITOR_IN_CLOUD_SHELL) {
54
+ return DetectedIde.CloudShell;
55
+ }
56
+ if (process.env.TERM_PRODUCT === 'Trae') {
57
+ return DetectedIde.Trae;
58
+ }
59
+ if (process.env.FIREBASE_DEPLOY_AGENT) {
60
+ return DetectedIde.FirebaseStudio;
61
+ }
62
+ return DetectedIde.VSCode;
26
63
  }
27
64
  //# sourceMappingURL=detect-ide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,gCAAiB,CAAA;AACnB,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,SAAS,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC;YACR,oFAAoF;YACpF,MAAM,eAAe,GAAU,GAAG,CAAC;YACnC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;IACrB,gDAAiC,CAAA;IACjC,4BAAa,CAAA;AACf,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO,aAAa,CAAC;QACvB,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,WAAW,CAAC,QAAQ;YACvB,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW,CAAC,cAAc;YAC7B,OAAO,iBAAiB,CAAC;QAC3B,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO,MAAM,CAAC;QAChB,OAAO,CAAC,CAAC,CAAC;YACR,oFAAoF;YACpF,MAAM,eAAe,GAAU,GAAG,CAAC;YACnC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,0DAA0D;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC,cAAc,CAAC;IACpC,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC"}