@google/gemini-cli-core 0.0.44-beta.0 → 0.0.77
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.
- package/README.md +4 -10
- package/dist/index.d.ts +3 -4
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/src/config/config.d.ts +8 -17
- package/dist/src/config/config.js +11 -31
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +0 -4
- package/dist/src/core/baseLlmClient.js +2 -5
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +0 -23
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +2 -3
- package/dist/src/core/client.js +23 -32
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +67 -57
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +3 -12
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +0 -99
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +3 -4
- package/dist/src/core/geminiChat.js +56 -54
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +27 -234
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/prompts.js +2 -3
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/turn.d.ts +4 -1
- package/dist/src/core/turn.js +12 -2
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +14 -44
- package/dist/src/ide/detect-ide.js +69 -29
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +46 -29
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +4 -4
- package/dist/src/ide/ide-client.js +25 -26
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +7 -4
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.d.ts +2 -2
- package/dist/src/ide/ide-installer.js +9 -7
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +13 -20
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +2 -5
- package/dist/src/index.js +2 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +1 -5
- package/dist/src/mcp/oauth-provider.js +39 -50
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +1 -137
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +0 -1
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/policy/policy-engine.js +2 -11
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +0 -45
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +3 -4
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +1 -1
- package/dist/src/services/chatRecordingService.js +1 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +15 -30
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +11 -43
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -8
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +2 -59
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +1 -128
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -10
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -18
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +0 -21
- package/dist/src/telemetry/constants.js +0 -23
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -5
- package/dist/src/telemetry/index.js +1 -11
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +1 -6
- package/dist/src/telemetry/loggers.js +2 -91
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +4 -174
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +1 -40
- package/dist/src/telemetry/metrics.js +2 -248
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +1 -387
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +1 -4
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +0 -13
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +3 -26
- package/dist/src/telemetry/types.js +6 -49
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -1
- package/dist/src/telemetry/uiTelemetry.js +3 -2
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +11 -11
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/edit.js +0 -6
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +0 -41
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.js +1 -2
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/ls.js +1 -1
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +12 -2
- package/dist/src/tools/mcp-client.js +64 -5
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +154 -9
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +2 -30
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +0 -117
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/shell.js +2 -5
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/smart-edit.js +2 -8
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +2 -47
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +0 -1
- package/dist/src/tools/tool-error.js +0 -1
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tools.d.ts +3 -11
- package/dist/src/tools/tools.js +3 -94
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +1 -1
- package/dist/src/utils/getFolderStructure.d.ts +1 -1
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +0 -1
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +1 -1
- package/dist/src/utils/memoryDiscovery.js +1 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/retry.js +1 -7
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +0 -29
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +1 -11
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/shell-utils.js +1 -5
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +0 -5
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/src/config/constants.d.ts +0 -11
- package/dist/src/config/constants.js +0 -16
- package/dist/src/config/constants.js.map +0 -1
- package/dist/src/telemetry/activity-detector.d.ts +0 -41
- package/dist/src/telemetry/activity-detector.js +0 -61
- package/dist/src/telemetry/activity-detector.js.map +0 -1
- package/dist/src/telemetry/activity-detector.test.d.ts +0 -6
- package/dist/src/telemetry/activity-detector.test.js +0 -136
- package/dist/src/telemetry/activity-detector.test.js.map +0 -1
- package/dist/src/telemetry/activity-types.d.ts +0 -19
- package/dist/src/telemetry/activity-types.js +0 -21
- package/dist/src/telemetry/activity-types.js.map +0 -1
- package/dist/src/telemetry/config.d.ts +0 -31
- package/dist/src/telemetry/config.js +0 -76
- package/dist/src/telemetry/config.js.map +0 -1
- package/dist/src/telemetry/config.test.d.ts +0 -6
- package/dist/src/telemetry/config.test.js +0 -124
- package/dist/src/telemetry/config.test.js.map +0 -1
- package/dist/src/tools/message-bus-integration.test.d.ts +0 -6
- package/dist/src/tools/message-bus-integration.test.js +0 -183
- package/dist/src/tools/message-bus-integration.test.js.map +0 -1
- package/dist/src/tools/write-todos.d.ts +0 -25
- package/dist/src/tools/write-todos.js +0 -150
- package/dist/src/tools/write-todos.js.map +0 -1
- package/dist/src/tools/write-todos.test.d.ts +0 -6
- package/dist/src/tools/write-todos.test.js +0 -89
- package/dist/src/tools/write-todos.test.js.map +0 -1
- package/dist/src/utils/schemaValidator.test.d.ts +0 -6
- package/dist/src/utils/schemaValidator.test.js +0 -113
- package/dist/src/utils/schemaValidator.test.js.map +0 -1
- package/dist/src/utils/thoughtUtils.d.ts +0 -21
- package/dist/src/utils/thoughtUtils.js +0 -39
- package/dist/src/utils/thoughtUtils.js.map +0 -1
- package/dist/src/utils/thoughtUtils.test.d.ts +0 -6
- package/dist/src/utils/thoughtUtils.test.js +0 -78
- package/dist/src/utils/thoughtUtils.test.js.map +0 -1
package/dist/src/core/prompts.js
CHANGED
|
@@ -88,7 +88,7 @@ You are an interactive CLI agent specializing in software engineering tasks. You
|
|
|
88
88
|
- **Style & Structure:** Mimic the style (formatting, naming), structure, framework choices, typing, and architectural patterns of existing code in the project.
|
|
89
89
|
- **Idiomatic Changes:** When editing, understand the local context (imports, functions/classes) to ensure your changes integrate naturally and idiomatically.
|
|
90
90
|
- **Comments:** Add code comments sparingly. Focus on *why* something is done, especially for complex logic, rather than *what* is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are separate from the code you are changing. *NEVER* talk to the user or describe your changes through comments.
|
|
91
|
-
- **Proactiveness:** Fulfill the user's request thoroughly
|
|
91
|
+
- **Proactiveness:** Fulfill the user's request thoroughly, including reasonable, directly implied follow-up actions.
|
|
92
92
|
- **Confirm Ambiguity/Expansion:** Do not take significant actions beyond the clear scope of the request without confirming with the user. If asked *how* to do something, explain first, don't just do it.
|
|
93
93
|
- **Explaining Changes:** After completing a code modification or file operation *do not* provide summaries unless asked.
|
|
94
94
|
- **Path Construction:** Before using any file system tool (e.g., ${ReadFileTool.Name}' or '${WriteFileTool.Name}'), you must construct the full absolute path for the file_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.
|
|
@@ -99,11 +99,10 @@ You are an interactive CLI agent specializing in software engineering tasks. You
|
|
|
99
99
|
## Software Engineering Tasks
|
|
100
100
|
When requested to perform tasks like fixing bugs, adding features, refactoring, or explaining code, follow this sequence:
|
|
101
101
|
1. **Understand:** Think about the user's request and the relevant codebase context. Use '${GrepTool.Name}' and '${GlobTool.Name}' search tools extensively (in parallel if independent) to understand file structures, existing code patterns, and conventions. Use '${ReadFileTool.Name}' and '${ReadManyFilesTool.Name}' to understand context and validate any assumptions you may have.
|
|
102
|
-
2. **Plan:** Build a coherent and grounded (based on the understanding in step 1) plan for how you intend to resolve the user's task. Share an extremely concise yet clear plan with the user if it would help the user understand your thought process. As part of the plan, you should
|
|
102
|
+
2. **Plan:** Build a coherent and grounded (based on the understanding in step 1) plan for how you intend to resolve the user's task. Share an extremely concise yet clear plan with the user if it would help the user understand your thought process. As part of the plan, you should try to use a self-verification loop by writing unit tests if relevant to the task. Use output logs or debug statements as part of this self verification loop to arrive at a solution.
|
|
103
103
|
3. **Implement:** Use the available tools (e.g., '${EditTool.Name}', '${WriteFileTool.Name}' '${ShellTool.Name}' ...) to act on the plan, strictly adhering to the project's established conventions (detailed under 'Core Mandates').
|
|
104
104
|
4. **Verify (Tests):** If applicable and feasible, verify the changes using the project's testing procedures. Identify the correct test commands and frameworks by examining 'README' files, build/package configuration (e.g., 'package.json'), or existing test execution patterns. NEVER assume standard test commands.
|
|
105
105
|
5. **Verify (Standards):** VERY IMPORTANT: After making code changes, execute the project-specific build, linting and type-checking commands (e.g., 'tsc', 'npm run lint', 'ruff check .') that you have identified for this project (or obtained from the user). This ensures code quality and adherence to standards. If unsure about these commands, you can ask the user if they'd like you to run them and if so how to.
|
|
106
|
-
6. **Finalize:** After all verification passes, consider the task complete. Do not remove or revert any changes or created files (like tests). Await the user's next instruction.
|
|
107
106
|
|
|
108
107
|
## New Applications
|
|
109
108
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/core/prompts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/core/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/turn.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { Part, PartListUnion, GenerateContentResponse, FunctionDeclaration,
|
|
|
7
7
|
import type { ToolCallConfirmationDetails, ToolResult, ToolResultDisplay } from '../tools/tools.js';
|
|
8
8
|
import type { ToolErrorType } from '../tools/tool-error.js';
|
|
9
9
|
import type { GeminiChat } from './geminiChat.js';
|
|
10
|
-
import { type ThoughtSummary } from '../utils/thoughtUtils.js';
|
|
11
10
|
export interface ServerTool {
|
|
12
11
|
name: string;
|
|
13
12
|
schema: FunctionDeclaration;
|
|
@@ -63,6 +62,10 @@ export interface ServerToolCallConfirmationDetails {
|
|
|
63
62
|
request: ToolCallRequestInfo;
|
|
64
63
|
details: ToolCallConfirmationDetails;
|
|
65
64
|
}
|
|
65
|
+
export type ThoughtSummary = {
|
|
66
|
+
subject: string;
|
|
67
|
+
description: string;
|
|
68
|
+
};
|
|
66
69
|
export type ServerGeminiContentEvent = {
|
|
67
70
|
type: GeminiEventType.Content;
|
|
68
71
|
value: string;
|
package/dist/src/core/turn.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
import { getResponseText } from '../utils/partUtils.js';
|
|
7
7
|
import { reportError } from '../utils/errorReporting.js';
|
|
8
8
|
import { getErrorMessage, UnauthorizedError, toFriendlyError, } from '../utils/errors.js';
|
|
9
|
-
import { parseThought } from '../utils/thoughtUtils.js';
|
|
10
9
|
export var GeminiEventType;
|
|
11
10
|
(function (GeminiEventType) {
|
|
12
11
|
GeminiEventType["Content"] = "content";
|
|
@@ -74,7 +73,18 @@ export class Turn {
|
|
|
74
73
|
this.debugResponses.push(resp);
|
|
75
74
|
const thoughtPart = resp.candidates?.[0]?.content?.parts?.[0];
|
|
76
75
|
if (thoughtPart?.thought) {
|
|
77
|
-
|
|
76
|
+
// Thought always has a bold "subject" part enclosed in double asterisks
|
|
77
|
+
// (e.g., **Subject**). The rest of the string is considered the description.
|
|
78
|
+
const rawText = thoughtPart.text ?? '';
|
|
79
|
+
const subjectStringMatches = rawText.match(/\*\*(.*?)\*\*/s);
|
|
80
|
+
const subject = subjectStringMatches
|
|
81
|
+
? subjectStringMatches[1].trim()
|
|
82
|
+
: '';
|
|
83
|
+
const description = rawText.replace(/\*\*(.*?)\*\*/s, '').trim();
|
|
84
|
+
const thought = {
|
|
85
|
+
subject,
|
|
86
|
+
description,
|
|
87
|
+
};
|
|
78
88
|
yield {
|
|
79
89
|
type: GeminiEventType.Thought,
|
|
80
90
|
value: thought,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "0.
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "84cc6a4e";
|
|
7
|
+
export declare const CLI_VERSION = "0.0.77";
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
// This file is auto-generated by the build script (scripts
|
|
6
|
+
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '0.
|
|
8
|
+
export const GIT_COMMIT_INFO = '84cc6a4e';
|
|
9
|
+
export const CLI_VERSION = '0.0.77';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -3,53 +3,23 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
readonly displayName: "Cursor";
|
|
18
|
-
};
|
|
19
|
-
readonly cloudshell: {
|
|
20
|
-
readonly name: "cloudshell";
|
|
21
|
-
readonly displayName: "Cloud Shell";
|
|
22
|
-
};
|
|
23
|
-
readonly codespaces: {
|
|
24
|
-
readonly name: "codespaces";
|
|
25
|
-
readonly displayName: "GitHub Codespaces";
|
|
26
|
-
};
|
|
27
|
-
readonly firebasestudio: {
|
|
28
|
-
readonly name: "firebasestudio";
|
|
29
|
-
readonly displayName: "Firebase Studio";
|
|
30
|
-
};
|
|
31
|
-
readonly trae: {
|
|
32
|
-
readonly name: "trae";
|
|
33
|
-
readonly displayName: "Trae";
|
|
34
|
-
};
|
|
35
|
-
readonly vscode: {
|
|
36
|
-
readonly name: "vscode";
|
|
37
|
-
readonly displayName: "VS Code";
|
|
38
|
-
};
|
|
39
|
-
readonly vscodefork: {
|
|
40
|
-
readonly name: "vscodefork";
|
|
41
|
-
readonly displayName: "IDE";
|
|
42
|
-
};
|
|
43
|
-
};
|
|
6
|
+
export declare enum DetectedIde {
|
|
7
|
+
Devin = "devin",
|
|
8
|
+
Replit = "replit",
|
|
9
|
+
Cursor = "cursor",
|
|
10
|
+
CloudShell = "cloudshell",
|
|
11
|
+
Codespaces = "codespaces",
|
|
12
|
+
FirebaseStudio = "firebasestudio",
|
|
13
|
+
Trae = "trae",
|
|
14
|
+
VSCode = "vscode",
|
|
15
|
+
VSCodeFork = "vscodefork"
|
|
16
|
+
}
|
|
44
17
|
export interface IdeInfo {
|
|
45
|
-
name: string;
|
|
46
18
|
displayName: string;
|
|
47
19
|
}
|
|
48
|
-
export declare function
|
|
20
|
+
export declare function getIdeInfo(ide: DetectedIde): IdeInfo;
|
|
21
|
+
export declare function detectIdeFromEnv(): DetectedIde;
|
|
49
22
|
export declare function detectIde(ideProcessInfo: {
|
|
50
23
|
pid: number;
|
|
51
24
|
command: string;
|
|
52
|
-
}
|
|
53
|
-
name?: string;
|
|
54
|
-
displayName?: string;
|
|
55
|
-
}): IdeInfo | undefined;
|
|
25
|
+
}): DetectedIde | undefined;
|
|
@@ -3,57 +3,97 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
export var DetectedIde;
|
|
7
|
+
(function (DetectedIde) {
|
|
8
|
+
DetectedIde["Devin"] = "devin";
|
|
9
|
+
DetectedIde["Replit"] = "replit";
|
|
10
|
+
DetectedIde["Cursor"] = "cursor";
|
|
11
|
+
DetectedIde["CloudShell"] = "cloudshell";
|
|
12
|
+
DetectedIde["Codespaces"] = "codespaces";
|
|
13
|
+
DetectedIde["FirebaseStudio"] = "firebasestudio";
|
|
14
|
+
DetectedIde["Trae"] = "trae";
|
|
15
|
+
DetectedIde["VSCode"] = "vscode";
|
|
16
|
+
DetectedIde["VSCodeFork"] = "vscodefork";
|
|
17
|
+
})(DetectedIde || (DetectedIde = {}));
|
|
18
|
+
export function getIdeInfo(ide) {
|
|
19
|
+
switch (ide) {
|
|
20
|
+
case DetectedIde.Devin:
|
|
21
|
+
return {
|
|
22
|
+
displayName: 'Devin',
|
|
23
|
+
};
|
|
24
|
+
case DetectedIde.Replit:
|
|
25
|
+
return {
|
|
26
|
+
displayName: 'Replit',
|
|
27
|
+
};
|
|
28
|
+
case DetectedIde.Cursor:
|
|
29
|
+
return {
|
|
30
|
+
displayName: 'Cursor',
|
|
31
|
+
};
|
|
32
|
+
case DetectedIde.CloudShell:
|
|
33
|
+
return {
|
|
34
|
+
displayName: 'Cloud Shell',
|
|
35
|
+
};
|
|
36
|
+
case DetectedIde.Codespaces:
|
|
37
|
+
return {
|
|
38
|
+
displayName: 'GitHub Codespaces',
|
|
39
|
+
};
|
|
40
|
+
case DetectedIde.FirebaseStudio:
|
|
41
|
+
return {
|
|
42
|
+
displayName: 'Firebase Studio',
|
|
43
|
+
};
|
|
44
|
+
case DetectedIde.Trae:
|
|
45
|
+
return {
|
|
46
|
+
displayName: 'Trae',
|
|
47
|
+
};
|
|
48
|
+
case DetectedIde.VSCode:
|
|
49
|
+
return {
|
|
50
|
+
displayName: 'VS Code',
|
|
51
|
+
};
|
|
52
|
+
case DetectedIde.VSCodeFork:
|
|
53
|
+
return {
|
|
54
|
+
displayName: 'IDE',
|
|
55
|
+
};
|
|
56
|
+
default: {
|
|
57
|
+
// This ensures that if a new IDE is added to the enum, we get a compile-time error.
|
|
58
|
+
const exhaustiveCheck = ide;
|
|
59
|
+
return exhaustiveCheck;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
17
63
|
export function detectIdeFromEnv() {
|
|
18
64
|
if (process.env['__COG_BASHRC_SOURCED']) {
|
|
19
|
-
return
|
|
65
|
+
return DetectedIde.Devin;
|
|
20
66
|
}
|
|
21
67
|
if (process.env['REPLIT_USER']) {
|
|
22
|
-
return
|
|
68
|
+
return DetectedIde.Replit;
|
|
23
69
|
}
|
|
24
70
|
if (process.env['CURSOR_TRACE_ID']) {
|
|
25
|
-
return
|
|
71
|
+
return DetectedIde.Cursor;
|
|
26
72
|
}
|
|
27
73
|
if (process.env['CODESPACES']) {
|
|
28
|
-
return
|
|
74
|
+
return DetectedIde.Codespaces;
|
|
29
75
|
}
|
|
30
76
|
if (process.env['EDITOR_IN_CLOUD_SHELL'] || process.env['CLOUD_SHELL']) {
|
|
31
|
-
return
|
|
77
|
+
return DetectedIde.CloudShell;
|
|
32
78
|
}
|
|
33
79
|
if (process.env['TERM_PRODUCT'] === 'Trae') {
|
|
34
|
-
return
|
|
80
|
+
return DetectedIde.Trae;
|
|
35
81
|
}
|
|
36
82
|
if (process.env['MONOSPACE_ENV']) {
|
|
37
|
-
return
|
|
83
|
+
return DetectedIde.FirebaseStudio;
|
|
38
84
|
}
|
|
39
|
-
return
|
|
85
|
+
return DetectedIde.VSCode;
|
|
40
86
|
}
|
|
41
87
|
function verifyVSCode(ide, ideProcessInfo) {
|
|
42
|
-
if (ide
|
|
88
|
+
if (ide !== DetectedIde.VSCode) {
|
|
43
89
|
return ide;
|
|
44
90
|
}
|
|
45
91
|
if (ideProcessInfo.command.toLowerCase().includes('code')) {
|
|
46
|
-
return
|
|
92
|
+
return DetectedIde.VSCode;
|
|
47
93
|
}
|
|
48
|
-
return
|
|
94
|
+
return DetectedIde.VSCodeFork;
|
|
49
95
|
}
|
|
50
|
-
export function detectIde(ideProcessInfo
|
|
51
|
-
if (ideInfoFromFile?.name && ideInfoFromFile.displayName) {
|
|
52
|
-
return {
|
|
53
|
-
name: ideInfoFromFile.name,
|
|
54
|
-
displayName: ideInfoFromFile.displayName,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
96
|
+
export function detectIde(ideProcessInfo) {
|
|
57
97
|
// Only VSCode-based integrations are currently supported.
|
|
58
98
|
if (process.env['TERM_PROGRAM'] !== 'vscode') {
|
|
59
99
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect, vi, afterEach } from 'vitest';
|
|
7
|
-
import { detectIde,
|
|
7
|
+
import { detectIde, DetectedIde, getIdeInfo } from './detect-ide.js';
|
|
8
8
|
describe('detectIde', () => {
|
|
9
9
|
const ideProcessInfo = { pid: 123, command: 'some/path/to/code' };
|
|
10
10
|
const ideProcessInfoNoCode = { pid: 123, command: 'some/path/to/fork' };
|
|
@@ -18,75 +18,92 @@ describe('detectIde', () => {
|
|
|
18
18
|
it('should detect Devin', () => {
|
|
19
19
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
20
20
|
vi.stubEnv('__COG_BASHRC_SOURCED', '1');
|
|
21
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
21
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Devin);
|
|
22
22
|
});
|
|
23
23
|
it('should detect Replit', () => {
|
|
24
24
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
25
25
|
vi.stubEnv('REPLIT_USER', 'testuser');
|
|
26
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
26
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Replit);
|
|
27
27
|
});
|
|
28
28
|
it('should detect Cursor', () => {
|
|
29
29
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
30
30
|
vi.stubEnv('CURSOR_TRACE_ID', 'some-id');
|
|
31
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
31
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Cursor);
|
|
32
32
|
});
|
|
33
33
|
it('should detect Codespaces', () => {
|
|
34
34
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
35
35
|
vi.stubEnv('CODESPACES', 'true');
|
|
36
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
36
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Codespaces);
|
|
37
37
|
});
|
|
38
38
|
it('should detect Cloud Shell via EDITOR_IN_CLOUD_SHELL', () => {
|
|
39
39
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
40
40
|
vi.stubEnv('EDITOR_IN_CLOUD_SHELL', 'true');
|
|
41
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
41
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.CloudShell);
|
|
42
42
|
});
|
|
43
43
|
it('should detect Cloud Shell via CLOUD_SHELL', () => {
|
|
44
44
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
45
45
|
vi.stubEnv('CLOUD_SHELL', 'true');
|
|
46
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
46
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.CloudShell);
|
|
47
47
|
});
|
|
48
48
|
it('should detect Trae', () => {
|
|
49
49
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
50
50
|
vi.stubEnv('TERM_PRODUCT', 'Trae');
|
|
51
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
51
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Trae);
|
|
52
52
|
});
|
|
53
53
|
it('should detect Firebase Studio via MONOSPACE_ENV', () => {
|
|
54
54
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
55
55
|
vi.stubEnv('MONOSPACE_ENV', 'true');
|
|
56
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
56
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.FirebaseStudio);
|
|
57
57
|
});
|
|
58
58
|
it('should detect VSCode when no other IDE is detected and command includes "code"', () => {
|
|
59
59
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
60
60
|
vi.stubEnv('MONOSPACE_ENV', '');
|
|
61
|
-
expect(detectIde(ideProcessInfo)).toBe(
|
|
61
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.VSCode);
|
|
62
62
|
});
|
|
63
63
|
it('should detect VSCodeFork when no other IDE is detected and command does not include "code"', () => {
|
|
64
64
|
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
65
65
|
vi.stubEnv('MONOSPACE_ENV', '');
|
|
66
|
-
expect(detectIde(ideProcessInfoNoCode)).toBe(
|
|
66
|
+
expect(detectIde(ideProcessInfoNoCode)).toBe(DetectedIde.VSCodeFork);
|
|
67
|
+
});
|
|
68
|
+
it('should prioritize other IDEs over VSCode detection', () => {
|
|
69
|
+
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
70
|
+
vi.stubEnv('REPLIT_USER', 'testuser');
|
|
71
|
+
expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Replit);
|
|
67
72
|
});
|
|
68
73
|
});
|
|
69
|
-
describe('
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
vi.unstubAllEnvs();
|
|
74
|
+
describe('getIdeInfo', () => {
|
|
75
|
+
it('should return correct info for Devin', () => {
|
|
76
|
+
expect(getIdeInfo(DetectedIde.Devin)).toEqual({ displayName: 'Devin' });
|
|
73
77
|
});
|
|
74
|
-
it('should
|
|
75
|
-
|
|
76
|
-
name: 'custom-ide',
|
|
77
|
-
displayName: 'Custom IDE',
|
|
78
|
-
};
|
|
79
|
-
expect(detectIde(ideProcessInfo, ideInfoFromFile)).toEqual(ideInfoFromFile);
|
|
78
|
+
it('should return correct info for Replit', () => {
|
|
79
|
+
expect(getIdeInfo(DetectedIde.Replit)).toEqual({ displayName: 'Replit' });
|
|
80
80
|
});
|
|
81
|
-
it('should
|
|
82
|
-
|
|
83
|
-
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
84
|
-
expect(detectIde(ideProcessInfo, ideInfoFromFile)).toBe(IDE_DEFINITIONS.vscode);
|
|
81
|
+
it('should return correct info for Cursor', () => {
|
|
82
|
+
expect(getIdeInfo(DetectedIde.Cursor)).toEqual({ displayName: 'Cursor' });
|
|
85
83
|
});
|
|
86
|
-
it('should
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
it('should return correct info for CloudShell', () => {
|
|
85
|
+
expect(getIdeInfo(DetectedIde.CloudShell)).toEqual({
|
|
86
|
+
displayName: 'Cloud Shell',
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
it('should return correct info for Codespaces', () => {
|
|
90
|
+
expect(getIdeInfo(DetectedIde.Codespaces)).toEqual({
|
|
91
|
+
displayName: 'GitHub Codespaces',
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
it('should return correct info for FirebaseStudio', () => {
|
|
95
|
+
expect(getIdeInfo(DetectedIde.FirebaseStudio)).toEqual({
|
|
96
|
+
displayName: 'Firebase Studio',
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
it('should return correct info for Trae', () => {
|
|
100
|
+
expect(getIdeInfo(DetectedIde.Trae)).toEqual({ displayName: 'Trae' });
|
|
101
|
+
});
|
|
102
|
+
it('should return correct info for VSCode', () => {
|
|
103
|
+
expect(getIdeInfo(DetectedIde.VSCode)).toEqual({ displayName: 'VS Code' });
|
|
104
|
+
});
|
|
105
|
+
it('should return correct info for VSCodeFork', () => {
|
|
106
|
+
expect(getIdeInfo(DetectedIde.VSCodeFork)).toEqual({ displayName: 'IDE' });
|
|
90
107
|
});
|
|
91
108
|
});
|
|
92
109
|
//# sourceMappingURL=detect-ide.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { type
|
|
6
|
+
import { type DetectedIde } from '../ide/detect-ide.js';
|
|
7
7
|
export type DiffUpdateResult = {
|
|
8
8
|
status: 'accepted';
|
|
9
9
|
content?: string;
|
|
@@ -28,8 +28,8 @@ export declare class IdeClient {
|
|
|
28
28
|
private client;
|
|
29
29
|
private state;
|
|
30
30
|
private currentIde;
|
|
31
|
+
private currentIdeDisplayName;
|
|
31
32
|
private ideProcessInfo;
|
|
32
|
-
private connectionConfig;
|
|
33
33
|
private authToken;
|
|
34
34
|
private diffResponses;
|
|
35
35
|
private statusListeners;
|
|
@@ -90,13 +90,13 @@ export declare class IdeClient {
|
|
|
90
90
|
}): Promise<string | undefined>;
|
|
91
91
|
resolveDiffFromCli(filePath: string, outcome: 'accepted' | 'rejected'): Promise<void>;
|
|
92
92
|
disconnect(): Promise<void>;
|
|
93
|
-
getCurrentIde():
|
|
93
|
+
getCurrentIde(): DetectedIde | undefined;
|
|
94
94
|
getConnectionStatus(): IDEConnectionState;
|
|
95
95
|
getDetectedIdeDisplayName(): string | undefined;
|
|
96
96
|
isDiffingEnabled(): boolean;
|
|
97
97
|
private discoverTools;
|
|
98
98
|
private setState;
|
|
99
|
-
static validateWorkspacePath(ideWorkspacePath: string | undefined, cwd: string): {
|
|
99
|
+
static validateWorkspacePath(ideWorkspacePath: string | undefined, currentIdeDisplayName: string | undefined, cwd: string): {
|
|
100
100
|
isValid: boolean;
|
|
101
101
|
error?: string;
|
|
102
102
|
};
|