@theia/ai-claude-code 1.67.0-next.59 → 1.67.0

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 (28) hide show
  1. package/lib/browser/claude-code-chat-agent.d.ts +8 -3
  2. package/lib/browser/claude-code-chat-agent.d.ts.map +1 -1
  3. package/lib/browser/claude-code-chat-agent.js +23 -10
  4. package/lib/browser/claude-code-chat-agent.js.map +1 -1
  5. package/lib/browser/claude-code-edit-tool-service.d.ts +2 -0
  6. package/lib/browser/claude-code-edit-tool-service.d.ts.map +1 -1
  7. package/lib/browser/claude-code-edit-tool-service.js +10 -5
  8. package/lib/browser/claude-code-edit-tool-service.js.map +1 -1
  9. package/lib/browser/claude-code-file-edit-backup-service.d.ts +2 -0
  10. package/lib/browser/claude-code-file-edit-backup-service.d.ts.map +1 -1
  11. package/lib/browser/claude-code-file-edit-backup-service.js +7 -1
  12. package/lib/browser/claude-code-file-edit-backup-service.js.map +1 -1
  13. package/lib/browser/claude-code-slash-commands-contribution.d.ts +24 -7
  14. package/lib/browser/claude-code-slash-commands-contribution.d.ts.map +1 -1
  15. package/lib/browser/claude-code-slash-commands-contribution.js +121 -57
  16. package/lib/browser/claude-code-slash-commands-contribution.js.map +1 -1
  17. package/lib/browser/renderers/web-fetch-tool-renderer.js +1 -1
  18. package/lib/browser/renderers/web-fetch-tool-renderer.js.map +1 -1
  19. package/lib/common/claude-code-service.d.ts +1 -0
  20. package/lib/common/claude-code-service.d.ts.map +1 -1
  21. package/lib/common/claude-code-service.js.map +1 -1
  22. package/package.json +11 -11
  23. package/src/browser/claude-code-chat-agent.ts +26 -12
  24. package/src/browser/claude-code-edit-tool-service.ts +10 -7
  25. package/src/browser/claude-code-file-edit-backup-service.ts +6 -2
  26. package/src/browser/claude-code-slash-commands-contribution.ts +152 -73
  27. package/src/browser/renderers/web-fetch-tool-renderer.tsx +1 -1
  28. package/src/common/claude-code-service.ts +1 -0
@@ -17,15 +17,15 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ClaudeCodeSlashCommandsContribution = void 0;
19
19
  const tslib_1 = require("tslib");
20
- const chat_view_language_contribution_1 = require("@theia/ai-chat-ui/lib/browser/chat-view-language-contribution");
20
+ const prompt_service_1 = require("@theia/ai-core/lib/common/prompt-service");
21
21
  const core_1 = require("@theia/core");
22
- const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
23
22
  const inversify_1 = require("@theia/core/shared/inversify");
24
23
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
25
- const monaco = require("@theia/monaco-editor-core");
26
24
  const browser_1 = require("@theia/workspace/lib/browser");
27
25
  const claude_code_chat_agent_1 = require("./claude-code-chat-agent");
28
26
  const CLAUDE_COMMANDS = '.claude/commands';
27
+ const COMMAND_FRAGMENT_PREFIX = 'claude-code-slash-';
28
+ const DYNAMIC_COMMAND_PREFIX = 'claude-code-dynamic-';
29
29
  let ClaudeCodeSlashCommandsContribution = class ClaudeCodeSlashCommandsContribution {
30
30
  constructor() {
31
31
  this.staticCommands = [
@@ -58,69 +58,128 @@ let ClaudeCodeSlashCommandsContribution = class ClaudeCodeSlashCommandsContribut
58
58
  description: core_1.nls.localize('theia/ai/claude-code/resumeCommand/description', 'Resume a session'),
59
59
  }
60
60
  ];
61
+ this.toDispose = new core_1.DisposableCollection();
61
62
  }
62
- onStart() {
63
- monaco.languages.registerCompletionItemProvider(chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_ID, {
64
- triggerCharacters: ['/'],
65
- provideCompletionItems: (model, position, _context, _token) => this.provideSlashCompletions(model, position),
66
- });
63
+ async onStart() {
64
+ this.registerStaticCommands();
65
+ await this.initializeDynamicCommands();
66
+ this.toDispose.push(this.workspaceService.onWorkspaceChanged(() => this.handleWorkspaceChange()));
67
67
  }
68
- async provideSlashCompletions(model, position) {
69
- const isClaudeCode = this.contextKeyService.match(`chatInputReceivingAgent == '${claude_code_chat_agent_1.CLAUDE_CHAT_AGENT_ID}'`);
70
- if (!isClaudeCode) {
71
- return { suggestions: [] };
68
+ onStop() {
69
+ this.toDispose.dispose();
70
+ }
71
+ registerStaticCommands() {
72
+ for (const command of this.staticCommands) {
73
+ this.promptService.addBuiltInPromptFragment({
74
+ id: `${COMMAND_FRAGMENT_PREFIX}${command.name}`,
75
+ template: `/${command.name}`,
76
+ isCommand: true,
77
+ commandName: command.name,
78
+ commandDescription: command.description,
79
+ commandAgents: [claude_code_chat_agent_1.CLAUDE_CHAT_AGENT_ID]
80
+ });
81
+ }
82
+ }
83
+ async initializeDynamicCommands() {
84
+ const workspaceRoot = this.getWorkspaceRoot();
85
+ if (!workspaceRoot) {
86
+ return;
72
87
  }
73
- const completionRange = this.getCompletionRange(model, position, '/');
74
- if (completionRange === undefined) {
75
- return { suggestions: [] };
88
+ this.currentWorkspaceRoot = workspaceRoot;
89
+ await this.registerDynamicCommandsForWorkspace(workspaceRoot);
90
+ this.setupFileWatcher(workspaceRoot);
91
+ }
92
+ async registerDynamicCommandsForWorkspace(workspaceRoot) {
93
+ const commandsUri = this.getCommandsUri(workspaceRoot);
94
+ const files = await this.listMarkdownFiles(commandsUri);
95
+ for (const filename of files) {
96
+ await this.registerDynamicCommand(commandsUri, filename);
76
97
  }
98
+ }
99
+ async registerDynamicCommand(commandsDir, filename) {
100
+ const commandName = this.getCommandNameFromFilename(filename);
101
+ const fileUri = commandsDir.resolve(filename);
77
102
  try {
78
- const suggestions = [];
79
- // Add static commands
80
- this.staticCommands.forEach(command => {
81
- suggestions.push({
82
- insertText: `${command.name} `,
83
- kind: monaco.languages.CompletionItemKind.Function,
84
- label: command.name,
85
- range: completionRange,
86
- detail: command.description
87
- });
103
+ const content = await this.fileService.read(fileUri);
104
+ this.promptService.addBuiltInPromptFragment({
105
+ id: this.getDynamicCommandId(commandName),
106
+ template: content.value,
107
+ isCommand: true,
108
+ commandName,
109
+ commandAgents: [claude_code_chat_agent_1.CLAUDE_CHAT_AGENT_ID]
88
110
  });
89
- // Add dynamic commands from .claude/commands directory
90
- const roots = this.workspaceService.tryGetRoots();
91
- if (roots.length >= 1) {
92
- const uri = roots[0].resource;
93
- const claudeCommandsUri = uri.resolve(CLAUDE_COMMANDS);
94
- const files = await this.listFilesDirectly(claudeCommandsUri);
95
- const commands = files
96
- .filter(file => file.endsWith('.md'))
97
- .map(file => file.replace(/\.md$/, ''));
98
- commands.forEach(commandName => {
99
- suggestions.push({
100
- insertText: `${commandName} `,
101
- kind: monaco.languages.CompletionItemKind.Function,
102
- label: commandName,
103
- range: completionRange,
104
- detail: core_1.nls.localize('theia/ai/claude-code/commandDetail', 'Claude command: {0}', commandName)
105
- });
106
- });
107
- }
108
- return { suggestions };
109
111
  }
110
112
  catch (error) {
111
- console.error('Error in Claude completion provider:', error);
112
- return { suggestions: [] };
113
+ this.logger.error(`Failed to register Claude Code slash command '${commandName}' from ${fileUri}:`, error);
114
+ }
115
+ }
116
+ setupFileWatcher(workspaceRoot) {
117
+ var _a;
118
+ (_a = this.fileWatcherDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
119
+ this.fileWatcherDisposable = new core_1.DisposableCollection();
120
+ const commandsUri = this.getCommandsUri(workspaceRoot);
121
+ this.fileWatcherDisposable.push(this.fileService.onDidFilesChange(async (event) => {
122
+ const relevantChanges = event.changes.filter(change => this.isCommandFile(change.resource, commandsUri));
123
+ if (relevantChanges.length === 0) {
124
+ return;
125
+ }
126
+ for (const change of relevantChanges) {
127
+ await this.handleFileChange(change.resource, change.type, commandsUri);
128
+ }
129
+ }));
130
+ this.toDispose.push(this.fileWatcherDisposable);
131
+ }
132
+ async handleFileChange(resource, changeType, commandsUri) {
133
+ const filename = resource.path.base;
134
+ const commandName = this.getCommandNameFromFilename(filename);
135
+ const fragmentId = this.getDynamicCommandId(commandName);
136
+ if (changeType === 2 /* FileChangeType.DELETED */) {
137
+ this.promptService.removePromptFragment(fragmentId);
113
138
  }
139
+ else if (changeType === 1 /* FileChangeType.ADDED */ || changeType === 0 /* FileChangeType.UPDATED */) {
140
+ await this.registerDynamicCommand(commandsUri, filename);
141
+ }
142
+ }
143
+ async handleWorkspaceChange() {
144
+ var _a;
145
+ const newRoot = this.getWorkspaceRoot();
146
+ if (((_a = this.currentWorkspaceRoot) === null || _a === void 0 ? void 0 : _a.toString()) === (newRoot === null || newRoot === void 0 ? void 0 : newRoot.toString())) {
147
+ return;
148
+ }
149
+ await this.clearDynamicCommands();
150
+ this.currentWorkspaceRoot = newRoot;
151
+ await this.initializeDynamicCommands();
114
152
  }
115
- getCompletionRange(model, position, triggerCharacter) {
116
- const wordInfo = model.getWordUntilPosition(position);
117
- const lineContent = model.getLineContent(position.lineNumber);
118
- // one to the left, and -1 for 0-based index
119
- const characterBeforeCurrentWord = lineContent[wordInfo.startColumn - 1 - 1];
120
- if (characterBeforeCurrentWord !== triggerCharacter) {
121
- return undefined;
153
+ async clearDynamicCommands() {
154
+ if (!this.currentWorkspaceRoot) {
155
+ return;
122
156
  }
123
- return new monaco.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, position.column);
157
+ const commandsUri = this.getCommandsUri(this.currentWorkspaceRoot);
158
+ const files = await this.listMarkdownFiles(commandsUri);
159
+ for (const filename of files) {
160
+ const commandName = this.getCommandNameFromFilename(filename);
161
+ this.promptService.removePromptFragment(this.getDynamicCommandId(commandName));
162
+ }
163
+ }
164
+ getWorkspaceRoot() {
165
+ const roots = this.workspaceService.tryGetRoots();
166
+ return roots.length > 0 ? roots[0].resource : undefined;
167
+ }
168
+ getCommandsUri(workspaceRoot) {
169
+ return workspaceRoot.resolve(CLAUDE_COMMANDS);
170
+ }
171
+ isCommandFile(resource, commandsUri) {
172
+ return resource.toString().startsWith(commandsUri.toString()) && resource.path.ext === '.md';
173
+ }
174
+ getCommandNameFromFilename(filename) {
175
+ return filename.replace(/\.md$/, '');
176
+ }
177
+ getDynamicCommandId(commandName) {
178
+ return `${DYNAMIC_COMMAND_PREFIX}${commandName}`;
179
+ }
180
+ async listMarkdownFiles(uri) {
181
+ const allFiles = await this.listFilesDirectly(uri);
182
+ return allFiles.filter(file => file.endsWith('.md'));
124
183
  }
125
184
  async listFilesDirectly(uri) {
126
185
  const result = [];
@@ -138,9 +197,14 @@ let ClaudeCodeSlashCommandsContribution = class ClaudeCodeSlashCommandsContribut
138
197
  };
139
198
  exports.ClaudeCodeSlashCommandsContribution = ClaudeCodeSlashCommandsContribution;
140
199
  tslib_1.__decorate([
141
- (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
200
+ (0, inversify_1.inject)(core_1.ILogger),
201
+ (0, inversify_1.named)('claude-code'),
202
+ tslib_1.__metadata("design:type", Object)
203
+ ], ClaudeCodeSlashCommandsContribution.prototype, "logger", void 0);
204
+ tslib_1.__decorate([
205
+ (0, inversify_1.inject)(prompt_service_1.PromptService),
142
206
  tslib_1.__metadata("design:type", Object)
143
- ], ClaudeCodeSlashCommandsContribution.prototype, "contextKeyService", void 0);
207
+ ], ClaudeCodeSlashCommandsContribution.prototype, "promptService", void 0);
144
208
  tslib_1.__decorate([
145
209
  (0, inversify_1.inject)(browser_1.WorkspaceService),
146
210
  tslib_1.__metadata("design:type", browser_1.WorkspaceService)
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-slash-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/claude-code-slash-commands-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-slash-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/claude-code-slash-commands-contribution.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ const WebFetchToolComponent = ({ input }) => {
70
70
  React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/webFetch', 'Web Fetch')))));
71
71
  const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
72
72
  React.createElement("div", { className: "claude-code-tool detail-row" },
73
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/url', 'URL')),
73
+ React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('URL')),
74
74
  React.createElement("code", { className: "claude-code-tool detail-value" }, input.url)),
75
75
  React.createElement("div", { className: "claude-code-tool detail-row" },
76
76
  React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/domain', 'Domain')),
@@ -1 +1 @@
1
- {"version":3,"file":"web-fetch-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/web-fetch-tool-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-fetch-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/web-fetch-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -190,6 +190,7 @@ export interface ClaudeCodeOptions {
190
190
  executableArgs?: string[];
191
191
  extraArgs?: Record<string, string | null>;
192
192
  fallbackModel?: string;
193
+ forkSession?: boolean;
193
194
  maxThinkingTokens?: number;
194
195
  maxTurns?: number;
195
196
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-service.d.ts","sourceRoot":"","sources":["../../src/common/claude-code-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-service.d.ts","sourceRoot":"","sources":["../../src/common/claude-code-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-service.js","sourceRoot":"","sources":["../../src/common/claude-code-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-service.js","sourceRoot":"","sources":["../../src/common/claude-code-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@theia/ai-claude-code",
3
- "version": "1.67.0-next.59+3f14297ea",
3
+ "version": "1.67.0",
4
4
  "description": "Theia - Claude Code Integration",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.67.0-next.59+3f14297ea",
7
- "@theia/ai-chat-ui": "1.67.0-next.59+3f14297ea",
8
- "@theia/ai-core": "1.67.0-next.59+3f14297ea",
9
- "@theia/core": "1.67.0-next.59+3f14297ea",
10
- "@theia/editor": "1.67.0-next.59+3f14297ea",
11
- "@theia/filesystem": "1.67.0-next.59+3f14297ea",
6
+ "@theia/ai-chat": "1.67.0",
7
+ "@theia/ai-chat-ui": "1.67.0",
8
+ "@theia/ai-core": "1.67.0",
9
+ "@theia/core": "1.67.0",
10
+ "@theia/editor": "1.67.0",
11
+ "@theia/filesystem": "1.67.0",
12
12
  "@theia/monaco-editor-core": "^1.96.302",
13
- "@theia/output": "1.67.0-next.59+3f14297ea",
14
- "@theia/workspace": "1.67.0-next.59+3f14297ea",
13
+ "@theia/output": "1.67.0",
14
+ "@theia/workspace": "1.67.0",
15
15
  "tslib": "^2.6.2"
16
16
  },
17
17
  "publishConfig": {
@@ -48,10 +48,10 @@
48
48
  "watch": "theiaext watch"
49
49
  },
50
50
  "devDependencies": {
51
- "@theia/ext-scripts": "1.66.0"
51
+ "@theia/ext-scripts": "1.67.0"
52
52
  },
53
53
  "nyc": {
54
54
  "extends": "../../configs/nyc.json"
55
55
  },
56
- "gitHead": "3f14297ea2edcdb1fffd74afee0613e70b43e125"
56
+ "gitHead": "541860e34f1351442be3a1c998fb618472afcefd"
57
57
  }
@@ -27,8 +27,8 @@ import {
27
27
  import { AI_CHAT_NEW_CHAT_WINDOW_COMMAND, AI_CHAT_SHOW_CHATS_COMMAND } from '@theia/ai-chat-ui/lib/browser/chat-view-commands';
28
28
  import { PromptText } from '@theia/ai-core/lib/common/prompt-text';
29
29
  import { AIVariableResolutionRequest, BasePromptFragment, PromptService, ResolvedPromptFragment, TokenUsageService } from '@theia/ai-core';
30
- import { CommandService, nls, SelectionService } from '@theia/core';
31
- import { inject, injectable } from '@theia/core/shared/inversify';
30
+ import { CommandService, ILogger, nls, SelectionService } from '@theia/core';
31
+ import { inject, injectable, named } from '@theia/core/shared/inversify';
32
32
  import { EditorManager } from '@theia/editor/lib/browser';
33
33
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
34
34
  import { WorkspaceService } from '@theia/workspace/lib/browser';
@@ -51,7 +51,6 @@ import { ClaudeCodeToolCallChatResponseContent } from './claude-code-tool-call-c
51
51
  import { OPEN_CLAUDE_CODE_CONFIG, OPEN_CLAUDE_CODE_MEMORY } from './claude-code-command-contribution';
52
52
 
53
53
  export const CLAUDE_SESSION_ID_KEY = 'claudeSessionId';
54
- export const CLAUDE_PERMISSION_MODE_KEY = 'claudePermissionMode';
55
54
  export const CLAUDE_EDIT_TOOL_USES_KEY = 'claudeEditToolUses';
56
55
  export const CLAUDE_INPUT_TOKENS_KEY = 'claudeInputTokens';
57
56
  export const CLAUDE_OUTPUT_TOKENS_KEY = 'claudeOutputTokens';
@@ -62,7 +61,7 @@ export const CLAUDE_COST_KEY = 'claudeCost';
62
61
 
63
62
  const APPROVAL_OPTIONS = [
64
63
  { text: nls.localizeByDefault('Allow'), value: 'allow' },
65
- { text: nls.localize('theia/ai/claude-code/deny', 'Deny'), value: 'deny' }
64
+ { text: nls.localizeByDefault('Deny'), value: 'deny' }
66
65
  ];
67
66
 
68
67
  export const systemPromptAppendixTemplate: BasePromptFragment = {
@@ -152,6 +151,12 @@ export class ClaudeCodeChatAgent implements ChatAgent {
152
151
  locations: ChatAgentLocation[] = ChatAgentLocation.ALL;
153
152
  tags = [nls.localizeByDefault('Chat')];
154
153
 
154
+ modes = [
155
+ { id: 'default', name: nls.localize('theia/ai/claude-code/askBeforeEdit', 'Ask before edit') },
156
+ { id: 'acceptEdits', name: nls.localize('theia/ai/claude-code/editAutomatically', 'Edit automatically') },
157
+ { id: 'plan', name: nls.localize('theia/ai/claude-code/plan', 'Plan mode') }
158
+ ];
159
+
155
160
  variables = [];
156
161
  prompts = [{ id: systemPromptAppendixTemplate.id, defaultVariant: systemPromptAppendixTemplate }];
157
162
  languageModelRequirements = [];
@@ -188,6 +193,9 @@ export class ClaudeCodeChatAgent implements ChatAgent {
188
193
  @inject(TokenUsageService)
189
194
  protected readonly tokenUsageService: TokenUsageService;
190
195
 
196
+ @inject(ILogger) @named('claude-code')
197
+ protected readonly logger: ILogger;
198
+
191
199
  async invoke(request: MutableChatRequestModel, chatAgentService?: ChatAgentService): Promise<void> {
192
200
  this.warnIfDifferentAgentRequests(request);
193
201
 
@@ -215,6 +223,8 @@ export class ClaudeCodeChatAgent implements ChatAgent {
215
223
  prompt = prompt.replace(agentAddress, '').trim();
216
224
  }
217
225
 
226
+ const shouldFork = claudeSessionId !== undefined && this.isEditRequest(request);
227
+
218
228
  const streamResult = await this.claudeCode.send({
219
229
  prompt,
220
230
  options: {
@@ -224,7 +234,8 @@ export class ClaudeCodeChatAgent implements ChatAgent {
224
234
  append: systemPromptAppendix?.text
225
235
  },
226
236
  permissionMode: this.getClaudePermissionMode(request),
227
- resume: claudeSessionId
237
+ resume: claudeSessionId,
238
+ forkSession: shouldFork
228
239
  }
229
240
  }, request.response.cancellationToken);
230
241
 
@@ -249,7 +260,7 @@ export class ClaudeCodeChatAgent implements ChatAgent {
249
260
 
250
261
  return request.response.complete();
251
262
  } catch (error) {
252
- console.error('Error handling chat interaction:', error);
263
+ this.logger.error('Error handling chat interaction:', error);
253
264
  request.response.response.addContent(new ErrorChatResponseContentImpl(error));
254
265
  request.response.error(error);
255
266
  } finally {
@@ -384,16 +395,19 @@ export class ClaudeCodeChatAgent implements ChatAgent {
384
395
  return request.getDataByKey(CLAUDE_SESSION_ID_KEY);
385
396
  }
386
397
 
398
+ protected isEditRequest(request: MutableChatRequestModel): boolean {
399
+ return request.request.referencedRequestId !== undefined;
400
+ }
401
+
387
402
  protected setClaudeSessionId(request: MutableChatRequestModel, sessionId: string): void {
388
403
  request.addData(CLAUDE_SESSION_ID_KEY, sessionId);
389
404
  }
390
405
 
391
- protected getClaudePermissionMode(request: MutableChatRequestModel): PermissionMode {
392
- return request.getDataByKey(CLAUDE_PERMISSION_MODE_KEY) ?? 'acceptEdits';
393
- }
406
+ protected readonly ALLOWED_MODES: PermissionMode[] = ['default', 'acceptEdits', 'plan', 'bypassPermissions'];
394
407
 
395
- protected setClaudePermissionMode(request: MutableChatRequestModel, permissionMode: PermissionMode): void {
396
- request.addData(CLAUDE_PERMISSION_MODE_KEY, permissionMode);
408
+ protected getClaudePermissionMode(request: MutableChatRequestModel): PermissionMode {
409
+ const modeId = request.request.modeId ?? 'default';
410
+ return this.ALLOWED_MODES.includes(modeId as PermissionMode) ? modeId as PermissionMode : 'default';
397
411
  }
398
412
 
399
413
  protected getClaudeModelName(request: MutableChatRequestModel): string | undefined {
@@ -475,7 +489,7 @@ export class ClaudeCodeChatAgent implements ChatAgent {
475
489
  requestId
476
490
  });
477
491
  } catch (error) {
478
- console.error('Failed to report token usage:', error);
492
+ this.logger.error('Failed to report token usage:', error);
479
493
  }
480
494
  }
481
495
 
@@ -19,11 +19,11 @@ import { ChangeSetFileElement, ChangeSetFileElementFactory } from '@theia/ai-cha
19
19
  import { ChangeSetElement } from '@theia/ai-chat/lib/common/change-set';
20
20
  import { ContentReplacerV1Impl, Replacement } from '@theia/core/lib/common/content-replacer';
21
21
  import { URI } from '@theia/core/lib/common/uri';
22
- import { inject, injectable } from '@theia/core/shared/inversify';
22
+ import { inject, injectable, named } from '@theia/core/shared/inversify';
23
23
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
24
24
  import { WorkspaceService } from '@theia/workspace/lib/browser';
25
25
  import { FileEditBackupService } from './claude-code-file-edit-backup-service';
26
- import { nls } from '@theia/core';
26
+ import { ILogger, nls } from '@theia/core';
27
27
 
28
28
  export interface EditToolInput {
29
29
  file_path: string;
@@ -85,6 +85,9 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
85
85
  @inject(FileEditBackupService)
86
86
  protected readonly backupService: FileEditBackupService;
87
87
 
88
+ @inject(ILogger) @named('claude-code')
89
+ protected readonly logger: ILogger;
90
+
88
91
  private readonly contentReplacer = new ContentReplacerV1Impl();
89
92
 
90
93
  async handleEditTool(toolUse: ToolUseBlock, request: MutableChatRequestModel, context: EditToolContext): Promise<void> {
@@ -103,7 +106,7 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
103
106
  break;
104
107
  }
105
108
  } catch (error) {
106
- console.error('Error handling edit tool:', error);
109
+ this.logger.error('Error handling edit tool:', error);
107
110
  }
108
111
  }
109
112
 
@@ -140,7 +143,7 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
140
143
 
141
144
  request.session.changeSet.setTitle(nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
142
145
  } catch (error) {
143
- console.error('Error handling Edit tool:', error);
146
+ this.logger.error('Error handling Edit tool:', error);
144
147
  }
145
148
  }
146
149
 
@@ -177,7 +180,7 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
177
180
 
178
181
  request.session.changeSet.setTitle(nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
179
182
  } catch (error) {
180
- console.error('Error handling MultiEdit tool:', error);
183
+ this.logger.error('Error handling MultiEdit tool:', error);
181
184
  }
182
185
  }
183
186
 
@@ -237,7 +240,7 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
237
240
 
238
241
  request.session.changeSet.setTitle(nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
239
242
  } catch (error) {
240
- console.error('Error handling Write tool:', error);
243
+ this.logger.error('Error handling Write tool:', error);
241
244
  }
242
245
  }
243
246
 
@@ -279,7 +282,7 @@ export class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditToolService
279
282
  );
280
283
 
281
284
  if (errors.length > 0) {
282
- console.error('Content replacement errors:', errors);
285
+ this.logger.error('Content replacement errors:', errors);
283
286
  return;
284
287
  }
285
288
 
@@ -17,10 +17,11 @@
17
17
  import { MutableChatRequestModel } from '@theia/ai-chat';
18
18
  import { ChangeSetFileElement } from '@theia/ai-chat/lib/browser/change-set-file-element';
19
19
  import { URI } from '@theia/core/lib/common/uri';
20
- import { inject, injectable } from '@theia/core/shared/inversify';
20
+ import { inject, injectable, named } from '@theia/core/shared/inversify';
21
21
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
22
22
  import { WorkspaceService } from '@theia/workspace/lib/browser';
23
23
  import { CLAUDE_SESSION_ID_KEY } from './claude-code-chat-agent';
24
+ import { ILogger } from '@theia/core';
24
25
 
25
26
  export const FileEditBackupService = Symbol('FileEditBackupService');
26
27
 
@@ -80,6 +81,9 @@ export class FileEditBackupServiceImpl implements FileEditBackupService {
80
81
  @inject(WorkspaceService)
81
82
  protected readonly workspaceService: WorkspaceService;
82
83
 
84
+ @inject(ILogger) @named('claude-code')
85
+ protected readonly logger: ILogger;
86
+
83
87
  getLocation(workspaceRoot: URI): URI {
84
88
  // This path structure must match the backup hooks in claude-code-service-impl.ts
85
89
  // See ensureFileBackupHook() method which creates backups at:
@@ -107,7 +111,7 @@ export class FileEditBackupServiceImpl implements FileEditBackupService {
107
111
  return backupContent.value.toString();
108
112
  }
109
113
  } catch (error) {
110
- console.error('Error reading backup file:', error);
114
+ this.logger.error('Error reading backup file:', error);
111
115
  }
112
116
 
113
117
  return undefined;