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

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.
@@ -1,6 +1,6 @@
1
1
  import { ChatAgent, ChatAgentLocation, ChatAgentService, MutableChatRequestModel, QuestionResponseContentImpl } from '@theia/ai-chat';
2
2
  import { BasePromptFragment, PromptService, ResolvedPromptFragment, TokenUsageService } from '@theia/ai-core';
3
- import { CommandService, SelectionService } from '@theia/core';
3
+ import { CommandService, ILogger, SelectionService } from '@theia/core';
4
4
  import { EditorManager } from '@theia/editor/lib/browser';
5
5
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
6
6
  import { WorkspaceService } from '@theia/workspace/lib/browser';
@@ -9,7 +9,6 @@ import { ClaudeCodeEditToolService, ToolUseBlock } from './claude-code-edit-tool
9
9
  import { FileEditBackupService } from './claude-code-file-edit-backup-service';
10
10
  import { ClaudeCodeFrontendService } from './claude-code-frontend-service';
11
11
  export declare const CLAUDE_SESSION_ID_KEY = "claudeSessionId";
12
- export declare const CLAUDE_PERMISSION_MODE_KEY = "claudePermissionMode";
13
12
  export declare const CLAUDE_EDIT_TOOL_USES_KEY = "claudeEditToolUses";
14
13
  export declare const CLAUDE_INPUT_TOKENS_KEY = "claudeInputTokens";
15
14
  export declare const CLAUDE_OUTPUT_TOKENS_KEY = "claudeOutputTokens";
@@ -26,6 +25,10 @@ export declare class ClaudeCodeChatAgent implements ChatAgent {
26
25
  iconClass: string;
27
26
  locations: ChatAgentLocation[];
28
27
  tags: string[];
28
+ modes: {
29
+ id: string;
30
+ name: string;
31
+ }[];
29
32
  variables: never[];
30
33
  prompts: {
31
34
  id: string;
@@ -44,6 +47,7 @@ export declare class ClaudeCodeChatAgent implements ChatAgent {
44
47
  protected readonly editToolService: ClaudeCodeEditToolService;
45
48
  protected readonly backupService: FileEditBackupService;
46
49
  protected readonly tokenUsageService: TokenUsageService;
50
+ protected readonly logger: ILogger;
47
51
  invoke(request: MutableChatRequestModel, chatAgentService?: ChatAgentService): Promise<void>;
48
52
  protected warnIfDifferentAgentRequests(request: MutableChatRequestModel): void;
49
53
  protected createSystemPromptAppendix(request: MutableChatRequestModel): Promise<ResolvedPromptFragment | undefined>;
@@ -59,8 +63,8 @@ export declare class ClaudeCodeChatAgent implements ChatAgent {
59
63
  protected getPreviousClaudeSessionId(request: MutableChatRequestModel): string | undefined;
60
64
  protected getClaudeSessionId(request: MutableChatRequestModel): string | undefined;
61
65
  protected setClaudeSessionId(request: MutableChatRequestModel, sessionId: string): void;
66
+ protected readonly ALLOWED_MODES: PermissionMode[];
62
67
  protected getClaudePermissionMode(request: MutableChatRequestModel): PermissionMode;
63
- protected setClaudePermissionMode(request: MutableChatRequestModel, permissionMode: PermissionMode): void;
64
68
  protected getClaudeModelName(request: MutableChatRequestModel): string | undefined;
65
69
  protected setClaudeModelName(request: MutableChatRequestModel, modelName: string): void;
66
70
  protected getCurrentInputTokens(request: MutableChatRequestModel): number;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-chat-agent.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-chat-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-chat-agent.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-chat-agent.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ClaudeCodeChatAgent = exports.CLAUDE_CHAT_AGENT_ID = exports.systemPromptAppendixTemplate = exports.CLAUDE_COST_KEY = exports.CLAUDE_MODEL_NAME_KEY = exports.CLAUDE_APPROVAL_TOOL_INPUTS_KEY = exports.CLAUDE_PENDING_APPROVALS_KEY = exports.CLAUDE_OUTPUT_TOKENS_KEY = exports.CLAUDE_INPUT_TOKENS_KEY = exports.CLAUDE_EDIT_TOOL_USES_KEY = exports.CLAUDE_PERMISSION_MODE_KEY = exports.CLAUDE_SESSION_ID_KEY = void 0;
18
+ exports.ClaudeCodeChatAgent = exports.CLAUDE_CHAT_AGENT_ID = exports.systemPromptAppendixTemplate = exports.CLAUDE_COST_KEY = exports.CLAUDE_MODEL_NAME_KEY = exports.CLAUDE_APPROVAL_TOOL_INPUTS_KEY = exports.CLAUDE_PENDING_APPROVALS_KEY = exports.CLAUDE_OUTPUT_TOKENS_KEY = exports.CLAUDE_INPUT_TOKENS_KEY = exports.CLAUDE_EDIT_TOOL_USES_KEY = exports.CLAUDE_SESSION_ID_KEY = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const ai_chat_1 = require("@theia/ai-chat");
21
21
  const chat_view_commands_1 = require("@theia/ai-chat-ui/lib/browser/chat-view-commands");
@@ -33,7 +33,6 @@ const claude_code_frontend_service_1 = require("./claude-code-frontend-service")
33
33
  const claude_code_tool_call_content_1 = require("./claude-code-tool-call-content");
34
34
  const claude_code_command_contribution_1 = require("./claude-code-command-contribution");
35
35
  exports.CLAUDE_SESSION_ID_KEY = 'claudeSessionId';
36
- exports.CLAUDE_PERMISSION_MODE_KEY = 'claudePermissionMode';
37
36
  exports.CLAUDE_EDIT_TOOL_USES_KEY = 'claudeEditToolUses';
38
37
  exports.CLAUDE_INPUT_TOKENS_KEY = 'claudeInputTokens';
39
38
  exports.CLAUDE_OUTPUT_TOKENS_KEY = 'claudeOutputTokens';
@@ -128,11 +127,17 @@ let ClaudeCodeChatAgent = class ClaudeCodeChatAgent {
128
127
  this.iconClass = 'codicon codicon-copilot';
129
128
  this.locations = ai_chat_1.ChatAgentLocation.ALL;
130
129
  this.tags = [core_1.nls.localizeByDefault('Chat')];
130
+ this.modes = [
131
+ { id: 'default', name: core_1.nls.localize('theia/ai/claude-code/askBeforeEdit', 'Ask before edit') },
132
+ { id: 'acceptEdits', name: core_1.nls.localize('theia/ai/claude-code/editAutomatically', 'Edit automatically') },
133
+ { id: 'plan', name: core_1.nls.localize('theia/ai/claude-code/plan', 'Plan mode') }
134
+ ];
131
135
  this.variables = [];
132
136
  this.prompts = [{ id: exports.systemPromptAppendixTemplate.id, defaultVariant: exports.systemPromptAppendixTemplate }];
133
137
  this.languageModelRequirements = [];
134
138
  this.agentSpecificVariables = [];
135
139
  this.functions = [];
140
+ this.ALLOWED_MODES = ['default', 'acceptEdits', 'plan', 'bypassPermissions'];
136
141
  }
137
142
  async invoke(request, chatAgentService) {
138
143
  this.warnIfDifferentAgentRequests(request);
@@ -191,7 +196,7 @@ let ClaudeCodeChatAgent = class ClaudeCodeChatAgent {
191
196
  return request.response.complete();
192
197
  }
193
198
  catch (error) {
194
- console.error('Error handling chat interaction:', error);
199
+ this.logger.error('Error handling chat interaction:', error);
195
200
  request.response.response.addContent(new ai_chat_1.ErrorChatResponseContentImpl(error));
196
201
  request.response.error(error);
197
202
  }
@@ -293,10 +298,8 @@ let ClaudeCodeChatAgent = class ClaudeCodeChatAgent {
293
298
  }
294
299
  getClaudePermissionMode(request) {
295
300
  var _a;
296
- return (_a = request.getDataByKey(exports.CLAUDE_PERMISSION_MODE_KEY)) !== null && _a !== void 0 ? _a : 'acceptEdits';
297
- }
298
- setClaudePermissionMode(request, permissionMode) {
299
- request.addData(exports.CLAUDE_PERMISSION_MODE_KEY, permissionMode);
301
+ const modeId = (_a = request.request.modeId) !== null && _a !== void 0 ? _a : 'default';
302
+ return this.ALLOWED_MODES.includes(modeId) ? modeId : 'default';
300
303
  }
301
304
  getClaudeModelName(request) {
302
305
  return request.getDataByKey(exports.CLAUDE_MODEL_NAME_KEY);
@@ -363,7 +366,7 @@ let ClaudeCodeChatAgent = class ClaudeCodeChatAgent {
363
366
  });
364
367
  }
365
368
  catch (error) {
366
- console.error('Failed to report token usage:', error);
369
+ this.logger.error('Failed to report token usage:', error);
367
370
  }
368
371
  }
369
372
  async addResponseContent(message, request) {
@@ -511,6 +514,11 @@ tslib_1.__decorate([
511
514
  (0, inversify_1.inject)(ai_core_1.TokenUsageService),
512
515
  tslib_1.__metadata("design:type", Object)
513
516
  ], ClaudeCodeChatAgent.prototype, "tokenUsageService", void 0);
517
+ tslib_1.__decorate([
518
+ (0, inversify_1.inject)(core_1.ILogger),
519
+ (0, inversify_1.named)('claude-code'),
520
+ tslib_1.__metadata("design:type", Object)
521
+ ], ClaudeCodeChatAgent.prototype, "logger", void 0);
514
522
  exports.ClaudeCodeChatAgent = ClaudeCodeChatAgent = tslib_1.__decorate([
515
523
  (0, inversify_1.injectable)()
516
524
  ], ClaudeCodeChatAgent);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-chat-agent.js","sourceRoot":"","sources":["../../src/browser/claude-code-chat-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-chat-agent.js","sourceRoot":"","sources":["../../src/browser/claude-code-chat-agent.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { URI } from '@theia/core/lib/common/uri';
6
6
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
7
7
  import { WorkspaceService } from '@theia/workspace/lib/browser';
8
8
  import { FileEditBackupService } from './claude-code-file-edit-backup-service';
9
+ import { ILogger } from '@theia/core';
9
10
  export interface EditToolInput {
10
11
  file_path: string;
11
12
  old_string: string;
@@ -49,6 +50,7 @@ export declare class ClaudeCodeEditToolServiceImpl implements ClaudeCodeEditTool
49
50
  protected readonly fileService: FileService;
50
51
  protected readonly workspaceService: WorkspaceService;
51
52
  protected readonly backupService: FileEditBackupService;
53
+ protected readonly logger: ILogger;
52
54
  private readonly contentReplacer;
53
55
  handleEditTool(toolUse: ToolUseBlock, request: MutableChatRequestModel, context: EditToolContext): Promise<void>;
54
56
  protected handleEditSingle(input: EditToolInput, request: MutableChatRequestModel, context: EditToolContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-edit-tool-service.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-edit-tool-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAwB,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAyB,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACN;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,cAAc,CAAC;CAC9D;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACtC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpH;AAED;;GAEG;AACH,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAEzD,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAoBtG,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAqCjH,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cAqCxH,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;cA4DjH,oBAAoB,CAChC,YAAY,EAAE,GAAG,EACjB,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,WAAW,EAAE,EAC3B,wBAAwB,EAAE,gBAAgB,GAAG,SAAS,EACtD,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC;cAkBA,uBAAuB,CACnC,YAAY,EAAE,GAAG,EACjB,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,WAAW,EAAE,EAC3B,wBAAwB,EAAE,gBAAgB,GAAG,SAAS,EACtD,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC;cA4BA,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAWrE"}
1
+ {"version":3,"file":"claude-code-edit-tool-service.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-edit-tool-service.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ let ClaudeCodeEditToolServiceImpl = class ClaudeCodeEditToolServiceImpl {
49
49
  }
50
50
  }
51
51
  catch (error) {
52
- console.error('Error handling edit tool:', error);
52
+ this.logger.error('Error handling edit tool:', error);
53
53
  }
54
54
  }
55
55
  async handleEditSingle(input, request, context) {
@@ -71,7 +71,7 @@ let ClaudeCodeEditToolServiceImpl = class ClaudeCodeEditToolServiceImpl {
71
71
  request.session.changeSet.setTitle(core_1.nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
72
72
  }
73
73
  catch (error) {
74
- console.error('Error handling Edit tool:', error);
74
+ this.logger.error('Error handling Edit tool:', error);
75
75
  }
76
76
  }
77
77
  async handleEditMultiple(input, request, context) {
@@ -93,7 +93,7 @@ let ClaudeCodeEditToolServiceImpl = class ClaudeCodeEditToolServiceImpl {
93
93
  request.session.changeSet.setTitle(core_1.nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
94
94
  }
95
95
  catch (error) {
96
- console.error('Error handling MultiEdit tool:', error);
96
+ this.logger.error('Error handling MultiEdit tool:', error);
97
97
  }
98
98
  }
99
99
  async handleWriteFile(input, request, context) {
@@ -149,7 +149,7 @@ let ClaudeCodeEditToolServiceImpl = class ClaudeCodeEditToolServiceImpl {
149
149
  request.session.changeSet.setTitle(core_1.nls.localize('theia/ai/claude-code/changeSetTitle', 'Changes by Claude Code'));
150
150
  }
151
151
  catch (error) {
152
- console.error('Error handling Write tool:', error);
152
+ this.logger.error('Error handling Write tool:', error);
153
153
  }
154
154
  }
155
155
  async handleEditModeCommon(workspaceUri, currentContentString, replacements, existingChangeSetElement, request, context) {
@@ -170,7 +170,7 @@ let ClaudeCodeEditToolServiceImpl = class ClaudeCodeEditToolServiceImpl {
170
170
  async handleNonEditModeCommon(workspaceUri, currentContentString, replacements, existingChangeSetElement, request) {
171
171
  const { updatedContent, errors } = this.contentReplacer.applyReplacements(currentContentString, replacements);
172
172
  if (errors.length > 0) {
173
- console.error('Content replacement errors:', errors);
173
+ this.logger.error('Content replacement errors:', errors);
174
174
  return;
175
175
  }
176
176
  if (updatedContent !== currentContentString) {
@@ -214,6 +214,11 @@ tslib_1.__decorate([
214
214
  (0, inversify_1.inject)(claude_code_file_edit_backup_service_1.FileEditBackupService),
215
215
  tslib_1.__metadata("design:type", Object)
216
216
  ], ClaudeCodeEditToolServiceImpl.prototype, "backupService", void 0);
217
+ tslib_1.__decorate([
218
+ (0, inversify_1.inject)(core_1.ILogger),
219
+ (0, inversify_1.named)('claude-code'),
220
+ tslib_1.__metadata("design:type", Object)
221
+ ], ClaudeCodeEditToolServiceImpl.prototype, "logger", void 0);
217
222
  exports.ClaudeCodeEditToolServiceImpl = ClaudeCodeEditToolServiceImpl = tslib_1.__decorate([
218
223
  (0, inversify_1.injectable)()
219
224
  ], ClaudeCodeEditToolServiceImpl);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-edit-tool-service.js","sourceRoot":"","sources":["../../src/browser/claude-code-edit-tool-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-edit-tool-service.js","sourceRoot":"","sources":["../../src/browser/claude-code-edit-tool-service.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { MutableChatRequestModel } from '@theia/ai-chat';
2
2
  import { URI } from '@theia/core/lib/common/uri';
3
3
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
4
4
  import { WorkspaceService } from '@theia/workspace/lib/browser';
5
+ import { ILogger } from '@theia/core';
5
6
  export declare const FileEditBackupService: unique symbol;
6
7
  /**
7
8
  * Service for managing file backup operations during Claude Code edit sessions.
@@ -50,6 +51,7 @@ export interface FileEditBackupService {
50
51
  export declare class FileEditBackupServiceImpl implements FileEditBackupService {
51
52
  protected readonly fileService: FileService;
52
53
  protected readonly workspaceService: WorkspaceService;
54
+ protected readonly logger: ILogger;
53
55
  getLocation(workspaceRoot: URI): URI;
54
56
  getOriginal(workspaceUri: URI, sessionId: string | undefined): Promise<string | undefined>;
55
57
  cleanUp(request: MutableChatRequestModel): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-file-edit-backup-service.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-file-edit-backup-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;;;;;OASG;IACH,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE3F;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACH,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,CAAC;CACxC;AAED,qBACa,yBAA0B,YAAW,qBAAqB;IAGnE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG;IAO9B,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0B1F,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBjE"}
1
+ {"version":3,"file":"claude-code-file-edit-backup-service.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-file-edit-backup-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;;;;;OASG;IACH,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE3F;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACH,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,CAAC;CACxC;AAED,qBACa,yBAA0B,YAAW,qBAAqB;IAGnE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG;IAO9B,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0B1F,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBjE"}
@@ -22,6 +22,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
23
23
  const browser_1 = require("@theia/workspace/lib/browser");
24
24
  const claude_code_chat_agent_1 = require("./claude-code-chat-agent");
25
+ const core_1 = require("@theia/core");
25
26
  exports.FileEditBackupService = Symbol('FileEditBackupService');
26
27
  let FileEditBackupServiceImpl = class FileEditBackupServiceImpl {
27
28
  getLocation(workspaceRoot) {
@@ -48,7 +49,7 @@ let FileEditBackupServiceImpl = class FileEditBackupServiceImpl {
48
49
  }
49
50
  }
50
51
  catch (error) {
51
- console.error('Error reading backup file:', error);
52
+ this.logger.error('Error reading backup file:', error);
52
53
  }
53
54
  return undefined;
54
55
  }
@@ -86,6 +87,11 @@ tslib_1.__decorate([
86
87
  (0, inversify_1.inject)(browser_1.WorkspaceService),
87
88
  tslib_1.__metadata("design:type", browser_1.WorkspaceService)
88
89
  ], FileEditBackupServiceImpl.prototype, "workspaceService", void 0);
90
+ tslib_1.__decorate([
91
+ (0, inversify_1.inject)(core_1.ILogger),
92
+ (0, inversify_1.named)('claude-code'),
93
+ tslib_1.__metadata("design:type", Object)
94
+ ], FileEditBackupServiceImpl.prototype, "logger", void 0);
89
95
  exports.FileEditBackupServiceImpl = FileEditBackupServiceImpl = tslib_1.__decorate([
90
96
  (0, inversify_1.injectable)()
91
97
  ], FileEditBackupServiceImpl);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-file-edit-backup-service.js","sourceRoot":"","sources":["../../src/browser/claude-code-file-edit-backup-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-file-edit-backup-service.js","sourceRoot":"","sources":["../../src/browser/claude-code-file-edit-backup-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,gGAA0F;AAE1F,4DAAyE;AACzE,6EAAyE;AACzE,0DAAgE;AAChE,qEAAiE;AACjE,sCAAsC;AAEzB,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAkD9D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAWlC,WAAW,CAAC,aAAkB;QAC1B,iFAAiF;QACjF,8DAA8D;QAC9D,wEAAwE;QACxE,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAiB,EAAE,SAA6B;QAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;YACxF,iFAAiF;YACjF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE5F,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9D,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,8CAAqB,CAAuB,CAAC;QACpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAO,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;aAClC,MAAM,CAAC,CAAC,OAAO,EAAmC,EAAE,CAAC,OAAO,YAAY,8CAAoB,CAAC;aAC7F,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACtE,MAAM,CAAC,CAAC,OAAO,EAAkB,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC;aAC1D,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,uCAAuC;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AArEY,8DAAyB;AAGf;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;8DAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;mEAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,aAAa,CAAC;;yDACH;oCAT1B,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAqErC"}
@@ -1,17 +1,34 @@
1
- import { URI } from '@theia/core';
1
+ import { PromptService } from '@theia/ai-core/lib/common/prompt-service';
2
+ import { DisposableCollection, ILogger, URI } from '@theia/core';
2
3
  import { FrontendApplicationContribution } from '@theia/core/lib/browser';
3
- import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
4
4
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
5
- import * as monaco from '@theia/monaco-editor-core';
5
+ import { FileChangeType } from '@theia/filesystem/lib/common/files';
6
6
  import { WorkspaceService } from '@theia/workspace/lib/browser';
7
7
  export declare class ClaudeCodeSlashCommandsContribution implements FrontendApplicationContribution {
8
8
  private readonly staticCommands;
9
- protected readonly contextKeyService: ContextKeyService;
9
+ protected readonly logger: ILogger;
10
+ protected readonly promptService: PromptService;
10
11
  protected readonly workspaceService: WorkspaceService;
11
12
  protected readonly fileService: FileService;
12
- onStart(): void;
13
- protected provideSlashCompletions(model: monaco.editor.ITextModel, position: monaco.Position): Promise<monaco.languages.CompletionList>;
14
- protected getCompletionRange(model: monaco.editor.ITextModel, position: monaco.Position, triggerCharacter: string): monaco.Range | undefined;
13
+ protected readonly toDispose: DisposableCollection;
14
+ protected currentWorkspaceRoot: URI | undefined;
15
+ protected fileWatcherDisposable: DisposableCollection | undefined;
16
+ onStart(): Promise<void>;
17
+ onStop(): void;
18
+ protected registerStaticCommands(): void;
19
+ protected initializeDynamicCommands(): Promise<void>;
20
+ protected registerDynamicCommandsForWorkspace(workspaceRoot: URI): Promise<void>;
21
+ protected registerDynamicCommand(commandsDir: URI, filename: string): Promise<void>;
22
+ protected setupFileWatcher(workspaceRoot: URI): void;
23
+ protected handleFileChange(resource: URI, changeType: FileChangeType, commandsUri: URI): Promise<void>;
24
+ protected handleWorkspaceChange(): Promise<void>;
25
+ protected clearDynamicCommands(): Promise<void>;
26
+ protected getWorkspaceRoot(): URI | undefined;
27
+ protected getCommandsUri(workspaceRoot: URI): URI;
28
+ protected isCommandFile(resource: URI, commandsUri: URI): boolean;
29
+ protected getCommandNameFromFilename(filename: string): string;
30
+ protected getDynamicCommandId(commandName: string): string;
31
+ protected listMarkdownFiles(uri: URI): Promise<string[]>;
15
32
  protected listFilesDirectly(uri: URI): Promise<string[]>;
16
33
  }
17
34
  //# sourceMappingURL=claude-code-slash-commands-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-slash-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-slash-commands-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAUhE,qBACa,mCAAoC,YAAW,+BAA+B;IAEvF,OAAO,CAAC,QAAQ,CAAC,cAAc,CA6B7B;IAGF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,OAAO,IAAI,IAAI;cAQC,uBAAuB,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAqD3C,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS;cAkB5H,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBjE"}
1
+ {"version":3,"file":"claude-code-slash-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/claude-code-slash-commands-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAO,GAAG,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAYhE,qBACa,mCAAoC,YAAW,+BAA+B;IAEvF,OAAO,CAAC,QAAQ,CAAC,cAAc,CA6B7B;IAGF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,SAAS,CAAC,oBAAoB,EAAE,GAAG,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAE5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,MAAM,IAAI,IAAI;IAId,SAAS,CAAC,sBAAsB,IAAI,IAAI;cAaxB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;cAW1C,mCAAmC,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAStE,sBAAsB,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzF,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;cAyBpC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAY5F,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;cAYtC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcrD,SAAS,CAAC,gBAAgB,IAAI,GAAG,GAAG,SAAS;IAK7C,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG;IAIjD,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO;IAIjE,SAAS,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9D,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;cAI1C,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAK9C,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBjE"}
@@ -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":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,6EAAyE;AACzE,sCAAsE;AAEtE,4DAAyE;AACzE,6EAAyE;AAEzE,0DAAgE;AAChE,qEAAgE;AAEhE,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AACrD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAQ/C,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAAzC;QAEc,mBAAc,GAAyB;YACpD;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,sBAAsB,CAAC;aACrG;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAAE,uDAAuD,CAAC;aACxI;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,gCAAgC,CAAC;aAChH;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,yCAAyC,CAAC;aACvH;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,4BAA4B,CAAC;aAC5G;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,qBAAqB,CAAC;aACrG;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,kBAAkB,CAAC;aAClG;SACJ,CAAC;QAciB,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IA6K9D,CAAC;IAzKG,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEvC,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAC/E,CAAC;IACN,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,sBAAsB;QAC5B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;gBACxC,EAAE,EAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,IAAI,EAAE;gBAC/C,QAAQ,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;gBAC5B,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,kBAAkB,EAAE,OAAO,CAAC,WAAW;gBACvC,aAAa,EAAE,CAAC,6CAAoB,CAAC;aACxC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAES,KAAK,CAAC,yBAAyB;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;QAC1C,MAAM,IAAI,CAAC,mCAAmC,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAES,KAAK,CAAC,mCAAmC,CAAC,aAAkB;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAExD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,WAAgB,EAAE,QAAgB;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;gBACxC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBACzC,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;gBACf,WAAW;gBACX,aAAa,EAAE,CAAC,6CAAoB,CAAC;aACxC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,WAAW,UAAU,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;IAES,gBAAgB,CAAC,aAAkB;;QACzC,MAAA,IAAI,CAAC,qBAAqB,0CAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,2BAAoB,EAAE,CAAC;QAExD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC3B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAClD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CACnD,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;YACX,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,QAAa,EAAE,UAA0B,EAAE,WAAgB;QACxF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,UAAU,mCAA2B,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,UAAU,iCAAyB,IAAI,UAAU,mCAA2B,EAAE,CAAC;YACtF,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,qBAAqB;;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExC,IAAI,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,QAAQ,EAAE,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAA,EAAE,CAAC;YAChE,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACpC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAExD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAES,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAES,cAAc,CAAC,aAAkB;QACvC,OAAO,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IAES,aAAa,CAAC,QAAa,EAAE,WAAgB;QACnD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC;IACjG,CAAC;IAES,0BAA0B,CAAC,QAAgB;QACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAES,mBAAmB,CAAC,WAAmB;QAC7C,OAAO,GAAG,sBAAsB,GAAG,WAAW,EAAE,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QACtC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ,CAAA;AA1NY,kFAAmC;AAkCzB;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,aAAa,CAAC;;mEACH;AAGhB;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;0EAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;6EAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;wEAAC;8CA3CnC,mCAAmC;IAD/C,IAAA,sBAAU,GAAE;GACA,mCAAmC,CA0N/C"}
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-next.86+03f92ff1d",
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-next.86+03f92ff1d",
7
+ "@theia/ai-chat-ui": "1.67.0-next.86+03f92ff1d",
8
+ "@theia/ai-core": "1.67.0-next.86+03f92ff1d",
9
+ "@theia/core": "1.67.0-next.86+03f92ff1d",
10
+ "@theia/editor": "1.67.0-next.86+03f92ff1d",
11
+ "@theia/filesystem": "1.67.0-next.86+03f92ff1d",
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-next.86+03f92ff1d",
14
+ "@theia/workspace": "1.67.0-next.86+03f92ff1d",
15
15
  "tslib": "^2.6.2"
16
16
  },
17
17
  "publishConfig": {
@@ -53,5 +53,5 @@
53
53
  "nyc": {
54
54
  "extends": "../../configs/nyc.json"
55
55
  },
56
- "gitHead": "3f14297ea2edcdb1fffd74afee0613e70b43e125"
56
+ "gitHead": "03f92ff1d97dcb199de39b48e60a53535de22808"
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';
@@ -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
 
@@ -249,7 +257,7 @@ export class ClaudeCodeChatAgent implements ChatAgent {
249
257
 
250
258
  return request.response.complete();
251
259
  } catch (error) {
252
- console.error('Error handling chat interaction:', error);
260
+ this.logger.error('Error handling chat interaction:', error);
253
261
  request.response.response.addContent(new ErrorChatResponseContentImpl(error));
254
262
  request.response.error(error);
255
263
  } finally {
@@ -388,12 +396,11 @@ export class ClaudeCodeChatAgent implements ChatAgent {
388
396
  request.addData(CLAUDE_SESSION_ID_KEY, sessionId);
389
397
  }
390
398
 
391
- protected getClaudePermissionMode(request: MutableChatRequestModel): PermissionMode {
392
- return request.getDataByKey(CLAUDE_PERMISSION_MODE_KEY) ?? 'acceptEdits';
393
- }
399
+ protected readonly ALLOWED_MODES: PermissionMode[] = ['default', 'acceptEdits', 'plan', 'bypassPermissions'];
394
400
 
395
- protected setClaudePermissionMode(request: MutableChatRequestModel, permissionMode: PermissionMode): void {
396
- request.addData(CLAUDE_PERMISSION_MODE_KEY, permissionMode);
401
+ protected getClaudePermissionMode(request: MutableChatRequestModel): PermissionMode {
402
+ const modeId = request.request.modeId ?? 'default';
403
+ return this.ALLOWED_MODES.includes(modeId as PermissionMode) ? modeId as PermissionMode : 'default';
397
404
  }
398
405
 
399
406
  protected getClaudeModelName(request: MutableChatRequestModel): string | undefined {
@@ -475,7 +482,7 @@ export class ClaudeCodeChatAgent implements ChatAgent {
475
482
  requestId
476
483
  });
477
484
  } catch (error) {
478
- console.error('Failed to report token usage:', error);
485
+ this.logger.error('Failed to report token usage:', error);
479
486
  }
480
487
  }
481
488
 
@@ -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;
@@ -14,17 +14,18 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { CHAT_VIEW_LANGUAGE_ID } from '@theia/ai-chat-ui/lib/browser/chat-view-language-contribution';
18
- import { nls, URI } from '@theia/core';
17
+ import { PromptService } from '@theia/ai-core/lib/common/prompt-service';
18
+ import { DisposableCollection, ILogger, nls, URI } from '@theia/core';
19
19
  import { FrontendApplicationContribution } from '@theia/core/lib/browser';
20
- import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
21
- import { inject, injectable } from '@theia/core/shared/inversify';
20
+ import { inject, injectable, named } from '@theia/core/shared/inversify';
22
21
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
23
- import * as monaco from '@theia/monaco-editor-core';
22
+ import { FileChangeType } from '@theia/filesystem/lib/common/files';
24
23
  import { WorkspaceService } from '@theia/workspace/lib/browser';
25
24
  import { CLAUDE_CHAT_AGENT_ID } from './claude-code-chat-agent';
26
25
 
27
26
  const CLAUDE_COMMANDS = '.claude/commands';
27
+ const COMMAND_FRAGMENT_PREFIX = 'claude-code-slash-';
28
+ const DYNAMIC_COMMAND_PREFIX = 'claude-code-dynamic-';
28
29
 
29
30
  interface StaticSlashCommand {
30
31
  name: string;
@@ -65,8 +66,11 @@ export class ClaudeCodeSlashCommandsContribution implements FrontendApplicationC
65
66
  }
66
67
  ];
67
68
 
68
- @inject(ContextKeyService)
69
- protected readonly contextKeyService: ContextKeyService;
69
+ @inject(ILogger) @named('claude-code')
70
+ protected readonly logger: ILogger;
71
+
72
+ @inject(PromptService)
73
+ protected readonly promptService: PromptService;
70
74
 
71
75
  @inject(WorkspaceService)
72
76
  protected readonly workspaceService: WorkspaceService;
@@ -74,86 +78,161 @@ export class ClaudeCodeSlashCommandsContribution implements FrontendApplicationC
74
78
  @inject(FileService)
75
79
  protected readonly fileService: FileService;
76
80
 
77
- onStart(): void {
78
- monaco.languages.registerCompletionItemProvider(CHAT_VIEW_LANGUAGE_ID, {
79
- triggerCharacters: ['/'],
80
- provideCompletionItems: (model, position, _context, _token) =>
81
- this.provideSlashCompletions(model, position),
82
- });
83
- }
84
-
85
- protected async provideSlashCompletions(
86
- model: monaco.editor.ITextModel,
87
- position: monaco.Position
88
- ): Promise<monaco.languages.CompletionList> {
89
- const isClaudeCode = this.contextKeyService.match(`chatInputReceivingAgent == '${CLAUDE_CHAT_AGENT_ID}'`);
90
- if (!isClaudeCode) {
91
- return { suggestions: [] };
81
+ protected readonly toDispose = new DisposableCollection();
82
+ protected currentWorkspaceRoot: URI | undefined;
83
+ protected fileWatcherDisposable: DisposableCollection | undefined;
84
+
85
+ async onStart(): Promise<void> {
86
+ this.registerStaticCommands();
87
+ await this.initializeDynamicCommands();
88
+
89
+ this.toDispose.push(
90
+ this.workspaceService.onWorkspaceChanged(() => this.handleWorkspaceChange())
91
+ );
92
+ }
93
+
94
+ onStop(): void {
95
+ this.toDispose.dispose();
96
+ }
97
+
98
+ protected registerStaticCommands(): void {
99
+ for (const command of this.staticCommands) {
100
+ this.promptService.addBuiltInPromptFragment({
101
+ id: `${COMMAND_FRAGMENT_PREFIX}${command.name}`,
102
+ template: `/${command.name}`,
103
+ isCommand: true,
104
+ commandName: command.name,
105
+ commandDescription: command.description,
106
+ commandAgents: [CLAUDE_CHAT_AGENT_ID]
107
+ });
92
108
  }
109
+ }
93
110
 
94
- const completionRange = this.getCompletionRange(model, position, '/');
95
- if (completionRange === undefined) {
96
- return { suggestions: [] };
111
+ protected async initializeDynamicCommands(): Promise<void> {
112
+ const workspaceRoot = this.getWorkspaceRoot();
113
+ if (!workspaceRoot) {
114
+ return;
97
115
  }
98
116
 
117
+ this.currentWorkspaceRoot = workspaceRoot;
118
+ await this.registerDynamicCommandsForWorkspace(workspaceRoot);
119
+ this.setupFileWatcher(workspaceRoot);
120
+ }
121
+
122
+ protected async registerDynamicCommandsForWorkspace(workspaceRoot: URI): Promise<void> {
123
+ const commandsUri = this.getCommandsUri(workspaceRoot);
124
+ const files = await this.listMarkdownFiles(commandsUri);
125
+
126
+ for (const filename of files) {
127
+ await this.registerDynamicCommand(commandsUri, filename);
128
+ }
129
+ }
130
+
131
+ protected async registerDynamicCommand(commandsDir: URI, filename: string): Promise<void> {
132
+ const commandName = this.getCommandNameFromFilename(filename);
133
+ const fileUri = commandsDir.resolve(filename);
134
+
99
135
  try {
100
- const suggestions: monaco.languages.CompletionItem[] = [];
101
-
102
- // Add static commands
103
- this.staticCommands.forEach(command => {
104
- suggestions.push({
105
- insertText: `${command.name} `,
106
- kind: monaco.languages.CompletionItemKind.Function,
107
- label: command.name,
108
- range: completionRange,
109
- detail: command.description
110
- });
136
+ const content = await this.fileService.read(fileUri);
137
+ this.promptService.addBuiltInPromptFragment({
138
+ id: this.getDynamicCommandId(commandName),
139
+ template: content.value,
140
+ isCommand: true,
141
+ commandName,
142
+ commandAgents: [CLAUDE_CHAT_AGENT_ID]
111
143
  });
144
+ } catch (error) {
145
+ this.logger.error(`Failed to register Claude Code slash command '${commandName}' from ${fileUri}:`, error);
146
+ }
147
+ }
112
148
 
113
- // Add dynamic commands from .claude/commands directory
114
- const roots = this.workspaceService.tryGetRoots();
115
- if (roots.length >= 1) {
116
- const uri = roots[0].resource;
117
- const claudeCommandsUri = uri.resolve(CLAUDE_COMMANDS);
118
- const files = await this.listFilesDirectly(claudeCommandsUri);
119
- const commands = files
120
- .filter(file => file.endsWith('.md'))
121
- .map(file => file.replace(/\.md$/, ''));
122
-
123
- commands.forEach(commandName => {
124
- suggestions.push({
125
- insertText: `${commandName} `,
126
- kind: monaco.languages.CompletionItemKind.Function,
127
- label: commandName,
128
- range: completionRange,
129
- detail: nls.localize('theia/ai/claude-code/commandDetail', 'Claude command: {0}', commandName)
130
- });
131
- });
132
- }
149
+ protected setupFileWatcher(workspaceRoot: URI): void {
150
+ this.fileWatcherDisposable?.dispose();
151
+ this.fileWatcherDisposable = new DisposableCollection();
133
152
 
134
- return { suggestions };
135
- } catch (error) {
136
- console.error('Error in Claude completion provider:', error);
137
- return { suggestions: [] };
153
+ const commandsUri = this.getCommandsUri(workspaceRoot);
154
+
155
+ this.fileWatcherDisposable.push(
156
+ this.fileService.onDidFilesChange(async event => {
157
+ const relevantChanges = event.changes.filter(change =>
158
+ this.isCommandFile(change.resource, commandsUri)
159
+ );
160
+
161
+ if (relevantChanges.length === 0) {
162
+ return;
163
+ }
164
+
165
+ for (const change of relevantChanges) {
166
+ await this.handleFileChange(change.resource, change.type, commandsUri);
167
+ }
168
+ })
169
+ );
170
+
171
+ this.toDispose.push(this.fileWatcherDisposable);
172
+ }
173
+
174
+ protected async handleFileChange(resource: URI, changeType: FileChangeType, commandsUri: URI): Promise<void> {
175
+ const filename = resource.path.base;
176
+ const commandName = this.getCommandNameFromFilename(filename);
177
+ const fragmentId = this.getDynamicCommandId(commandName);
178
+
179
+ if (changeType === FileChangeType.DELETED) {
180
+ this.promptService.removePromptFragment(fragmentId);
181
+ } else if (changeType === FileChangeType.ADDED || changeType === FileChangeType.UPDATED) {
182
+ await this.registerDynamicCommand(commandsUri, filename);
138
183
  }
139
184
  }
140
185
 
141
- protected getCompletionRange(model: monaco.editor.ITextModel, position: monaco.Position, triggerCharacter: string): monaco.Range | undefined {
142
- const wordInfo = model.getWordUntilPosition(position);
143
- const lineContent = model.getLineContent(position.lineNumber);
186
+ protected async handleWorkspaceChange(): Promise<void> {
187
+ const newRoot = this.getWorkspaceRoot();
144
188
 
145
- // one to the left, and -1 for 0-based index
146
- const characterBeforeCurrentWord = lineContent[wordInfo.startColumn - 1 - 1];
147
- if (characterBeforeCurrentWord !== triggerCharacter) {
148
- return undefined;
189
+ if (this.currentWorkspaceRoot?.toString() === newRoot?.toString()) {
190
+ return;
149
191
  }
150
192
 
151
- return new monaco.Range(
152
- position.lineNumber,
153
- wordInfo.startColumn,
154
- position.lineNumber,
155
- position.column
156
- );
193
+ await this.clearDynamicCommands();
194
+ this.currentWorkspaceRoot = newRoot;
195
+ await this.initializeDynamicCommands();
196
+ }
197
+
198
+ protected async clearDynamicCommands(): Promise<void> {
199
+ if (!this.currentWorkspaceRoot) {
200
+ return;
201
+ }
202
+
203
+ const commandsUri = this.getCommandsUri(this.currentWorkspaceRoot);
204
+ const files = await this.listMarkdownFiles(commandsUri);
205
+
206
+ for (const filename of files) {
207
+ const commandName = this.getCommandNameFromFilename(filename);
208
+ this.promptService.removePromptFragment(this.getDynamicCommandId(commandName));
209
+ }
210
+ }
211
+
212
+ protected getWorkspaceRoot(): URI | undefined {
213
+ const roots = this.workspaceService.tryGetRoots();
214
+ return roots.length > 0 ? roots[0].resource : undefined;
215
+ }
216
+
217
+ protected getCommandsUri(workspaceRoot: URI): URI {
218
+ return workspaceRoot.resolve(CLAUDE_COMMANDS);
219
+ }
220
+
221
+ protected isCommandFile(resource: URI, commandsUri: URI): boolean {
222
+ return resource.toString().startsWith(commandsUri.toString()) && resource.path.ext === '.md';
223
+ }
224
+
225
+ protected getCommandNameFromFilename(filename: string): string {
226
+ return filename.replace(/\.md$/, '');
227
+ }
228
+
229
+ protected getDynamicCommandId(commandName: string): string {
230
+ return `${DYNAMIC_COMMAND_PREFIX}${commandName}`;
231
+ }
232
+
233
+ protected async listMarkdownFiles(uri: URI): Promise<string[]> {
234
+ const allFiles = await this.listFilesDirectly(uri);
235
+ return allFiles.filter(file => file.endsWith('.md'));
157
236
  }
158
237
 
159
238
  protected async listFilesDirectly(uri: URI): Promise<string[]> {