@theia/ai-claude-code 1.67.0-next.3 → 1.67.0-next.56

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 (102) hide show
  1. package/README.md +1 -0
  2. package/package.json +10 -10
  3. package/lib/browser/claude-code-chat-agent.d.ts +0 -80
  4. package/lib/browser/claude-code-chat-agent.d.ts.map +0 -1
  5. package/lib/browser/claude-code-chat-agent.js +0 -517
  6. package/lib/browser/claude-code-chat-agent.js.map +0 -1
  7. package/lib/browser/claude-code-command-contribution.d.ts +0 -16
  8. package/lib/browser/claude-code-command-contribution.d.ts.map +0 -1
  9. package/lib/browser/claude-code-command-contribution.js +0 -86
  10. package/lib/browser/claude-code-command-contribution.js.map +0 -1
  11. package/lib/browser/claude-code-edit-tool-service.d.ts +0 -61
  12. package/lib/browser/claude-code-edit-tool-service.d.ts.map +0 -1
  13. package/lib/browser/claude-code-edit-tool-service.js +0 -220
  14. package/lib/browser/claude-code-edit-tool-service.js.map +0 -1
  15. package/lib/browser/claude-code-file-edit-backup-service.d.ts +0 -57
  16. package/lib/browser/claude-code-file-edit-backup-service.d.ts.map +0 -1
  17. package/lib/browser/claude-code-file-edit-backup-service.js +0 -92
  18. package/lib/browser/claude-code-file-edit-backup-service.js.map +0 -1
  19. package/lib/browser/claude-code-frontend-module.d.ts +0 -5
  20. package/lib/browser/claude-code-frontend-module.d.ts.map +0 -1
  21. package/lib/browser/claude-code-frontend-module.js +0 -83
  22. package/lib/browser/claude-code-frontend-module.js.map +0 -1
  23. package/lib/browser/claude-code-frontend-service.d.ts +0 -39
  24. package/lib/browser/claude-code-frontend-service.d.ts.map +0 -1
  25. package/lib/browser/claude-code-frontend-service.js +0 -189
  26. package/lib/browser/claude-code-frontend-service.js.map +0 -1
  27. package/lib/browser/claude-code-slash-commands-contribution.d.ts +0 -17
  28. package/lib/browser/claude-code-slash-commands-contribution.d.ts.map +0 -1
  29. package/lib/browser/claude-code-slash-commands-contribution.js +0 -155
  30. package/lib/browser/claude-code-slash-commands-contribution.js.map +0 -1
  31. package/lib/browser/claude-code-tool-call-content.d.ts +0 -8
  32. package/lib/browser/claude-code-tool-call-content.d.ts.map +0 -1
  33. package/lib/browser/claude-code-tool-call-content.js +0 -30
  34. package/lib/browser/claude-code-tool-call-content.js.map +0 -1
  35. package/lib/browser/renderers/bash-tool-renderer.d.ts +0 -10
  36. package/lib/browser/renderers/bash-tool-renderer.d.ts.map +0 -1
  37. package/lib/browser/renderers/bash-tool-renderer.js +0 -67
  38. package/lib/browser/renderers/bash-tool-renderer.js.map +0 -1
  39. package/lib/browser/renderers/collapsible-tool-renderer.d.ts +0 -13
  40. package/lib/browser/renderers/collapsible-tool-renderer.d.ts.map +0 -1
  41. package/lib/browser/renderers/collapsible-tool-renderer.js +0 -48
  42. package/lib/browser/renderers/collapsible-tool-renderer.js.map +0 -1
  43. package/lib/browser/renderers/edit-tool-renderer.d.ts +0 -16
  44. package/lib/browser/renderers/edit-tool-renderer.d.ts.map +0 -1
  45. package/lib/browser/renderers/edit-tool-renderer.js +0 -135
  46. package/lib/browser/renderers/edit-tool-renderer.js.map +0 -1
  47. package/lib/browser/renderers/glob-tool-renderer.d.ts +0 -14
  48. package/lib/browser/renderers/glob-tool-renderer.d.ts.map +0 -1
  49. package/lib/browser/renderers/glob-tool-renderer.js +0 -104
  50. package/lib/browser/renderers/glob-tool-renderer.js.map +0 -1
  51. package/lib/browser/renderers/grep-tool-renderer.d.ts +0 -14
  52. package/lib/browser/renderers/grep-tool-renderer.d.ts.map +0 -1
  53. package/lib/browser/renderers/grep-tool-renderer.js +0 -160
  54. package/lib/browser/renderers/grep-tool-renderer.js.map +0 -1
  55. package/lib/browser/renderers/ls-tool-renderer.d.ts +0 -16
  56. package/lib/browser/renderers/ls-tool-renderer.d.ts.map +0 -1
  57. package/lib/browser/renderers/ls-tool-renderer.js +0 -116
  58. package/lib/browser/renderers/ls-tool-renderer.js.map +0 -1
  59. package/lib/browser/renderers/multiedit-tool-renderer.d.ts +0 -16
  60. package/lib/browser/renderers/multiedit-tool-renderer.d.ts.map +0 -1
  61. package/lib/browser/renderers/multiedit-tool-renderer.js +0 -148
  62. package/lib/browser/renderers/multiedit-tool-renderer.js.map +0 -1
  63. package/lib/browser/renderers/read-tool-renderer.d.ts +0 -16
  64. package/lib/browser/renderers/read-tool-renderer.d.ts.map +0 -1
  65. package/lib/browser/renderers/read-tool-renderer.js +0 -124
  66. package/lib/browser/renderers/read-tool-renderer.js.map +0 -1
  67. package/lib/browser/renderers/todo-write-renderer.d.ts +0 -10
  68. package/lib/browser/renderers/todo-write-renderer.d.ts.map +0 -1
  69. package/lib/browser/renderers/todo-write-renderer.js +0 -133
  70. package/lib/browser/renderers/todo-write-renderer.js.map +0 -1
  71. package/lib/browser/renderers/web-fetch-tool-renderer.d.ts +0 -10
  72. package/lib/browser/renderers/web-fetch-tool-renderer.d.ts.map +0 -1
  73. package/lib/browser/renderers/web-fetch-tool-renderer.js +0 -83
  74. package/lib/browser/renderers/web-fetch-tool-renderer.js.map +0 -1
  75. package/lib/browser/renderers/write-tool-renderer.d.ts +0 -16
  76. package/lib/browser/renderers/write-tool-renderer.d.ts.map +0 -1
  77. package/lib/browser/renderers/write-tool-renderer.js +0 -114
  78. package/lib/browser/renderers/write-tool-renderer.js.map +0 -1
  79. package/lib/common/claude-code-preferences.d.ts +0 -5
  80. package/lib/common/claude-code-preferences.d.ts.map +0 -1
  81. package/lib/common/claude-code-preferences.js +0 -40
  82. package/lib/common/claude-code-preferences.js.map +0 -1
  83. package/lib/common/claude-code-service.d.ts +0 -235
  84. package/lib/common/claude-code-service.d.ts.map +0 -1
  85. package/lib/common/claude-code-service.js +0 -82
  86. package/lib/common/claude-code-service.js.map +0 -1
  87. package/lib/common/index.d.ts +0 -2
  88. package/lib/common/index.d.ts.map +0 -1
  89. package/lib/common/index.js +0 -20
  90. package/lib/common/index.js.map +0 -1
  91. package/lib/node/claude-code-backend-module.d.ts +0 -4
  92. package/lib/node/claude-code-backend-module.d.ts.map +0 -1
  93. package/lib/node/claude-code-backend-module.js +0 -35
  94. package/lib/node/claude-code-backend-module.js.map +0 -1
  95. package/lib/node/claude-code-service-impl.d.ts +0 -33
  96. package/lib/node/claude-code-service-impl.d.ts.map +0 -1
  97. package/lib/node/claude-code-service-impl.js +0 -468
  98. package/lib/node/claude-code-service-impl.js.map +0 -1
  99. package/lib/package.spec.d.ts +0 -1
  100. package/lib/package.spec.d.ts.map +0 -1
  101. package/lib/package.spec.js +0 -26
  102. package/lib/package.spec.js.map +0 -1
@@ -1,124 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ReadToolRenderer = void 0;
19
- const tslib_1 = require("tslib");
20
- const browser_1 = require("@theia/core/lib/browser");
21
- const uri_1 = require("@theia/core/lib/common/uri");
22
- const inversify_1 = require("@theia/core/shared/inversify");
23
- const React = require("@theia/core/shared/react");
24
- const browser_2 = require("@theia/editor/lib/browser");
25
- const browser_3 = require("@theia/workspace/lib/browser");
26
- const claude_code_tool_call_content_1 = require("../claude-code-tool-call-content");
27
- const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
28
- const core_1 = require("@theia/core");
29
- let ReadToolRenderer = class ReadToolRenderer {
30
- canHandle(response) {
31
- if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'Read') {
32
- return 15; // Higher than default ToolCallPartRenderer (10)
33
- }
34
- return -1;
35
- }
36
- render(response, parentNode) {
37
- try {
38
- const input = JSON.parse(response.arguments || '{}');
39
- return React.createElement(ReadToolComponent, { input: input, workspaceService: this.workspaceService, labelProvider: this.labelProvider, editorManager: this.editorManager });
40
- }
41
- catch (error) {
42
- console.warn('Failed to parse Read tool input:', error);
43
- return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseReadToolData', 'Failed to parse Read tool data'));
44
- }
45
- }
46
- };
47
- exports.ReadToolRenderer = ReadToolRenderer;
48
- tslib_1.__decorate([
49
- (0, inversify_1.inject)(browser_3.WorkspaceService),
50
- tslib_1.__metadata("design:type", browser_3.WorkspaceService)
51
- ], ReadToolRenderer.prototype, "workspaceService", void 0);
52
- tslib_1.__decorate([
53
- (0, inversify_1.inject)(browser_1.LabelProvider),
54
- tslib_1.__metadata("design:type", browser_1.LabelProvider)
55
- ], ReadToolRenderer.prototype, "labelProvider", void 0);
56
- tslib_1.__decorate([
57
- (0, inversify_1.inject)(browser_2.EditorManager),
58
- tslib_1.__metadata("design:type", browser_2.EditorManager)
59
- ], ReadToolRenderer.prototype, "editorManager", void 0);
60
- exports.ReadToolRenderer = ReadToolRenderer = tslib_1.__decorate([
61
- (0, inversify_1.injectable)()
62
- ], ReadToolRenderer);
63
- const ReadToolComponent = ({ input, workspaceService, labelProvider, editorManager }) => {
64
- const getFileName = (filePath) => filePath.split('/').pop() || filePath;
65
- const getWorkspaceRelativePath = async (filePath) => {
66
- try {
67
- const absoluteUri = new uri_1.URI(filePath).parent;
68
- const workspaceRelativePath = await workspaceService.getWorkspaceRelativePath(absoluteUri);
69
- return workspaceRelativePath || '';
70
- }
71
- catch {
72
- return '';
73
- }
74
- };
75
- const getIcon = (filePath) => {
76
- try {
77
- const uri = new uri_1.URI(filePath);
78
- return labelProvider.getIcon(uri) || 'codicon-file';
79
- }
80
- catch {
81
- return 'codicon-file';
82
- }
83
- };
84
- const handleOpenFile = async () => {
85
- try {
86
- const uri = new uri_1.URI(input.file_path);
87
- await editorManager.open(uri);
88
- }
89
- catch (error) {
90
- console.error('Failed to open file:', error);
91
- }
92
- };
93
- const [relativePath, setRelativePath] = React.useState('');
94
- React.useEffect(() => {
95
- getWorkspaceRelativePath(input.file_path).then(setRelativePath);
96
- }, [input.file_path]);
97
- const isEntireFile = !input.limit && !input.offset;
98
- const compactHeader = (React.createElement(React.Fragment, null,
99
- React.createElement("div", { className: "claude-code-tool header-left" },
100
- React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/reading', 'Reading')),
101
- React.createElement("span", { className: `${getIcon(input.file_path)} claude-code-tool icon` }),
102
- React.createElement("span", { className: "claude-code-tool file-name clickable-element", onClick: handleOpenFile, title: core_1.nls.localize('theia/ai/claude-code/openFileTooltip', 'Click to open file in editor') }, getFileName(input.file_path)),
103
- relativePath && React.createElement("span", { className: "claude-code-tool relative-path" }, relativePath)),
104
- React.createElement("div", { className: "claude-code-tool header-right" },
105
- isEntireFile && (React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/entireFile', 'Entire File'))),
106
- !isEntireFile && (React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/partial', 'Partial'))))));
107
- const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
108
- React.createElement("div", { className: "claude-code-tool detail-row" },
109
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/filePath', 'File Path')),
110
- React.createElement("code", { className: "claude-code-tool detail-value" }, input.file_path)),
111
- input.offset && (React.createElement("div", { className: "claude-code-tool detail-row" },
112
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/startingLine', 'Starting Line')),
113
- React.createElement("span", { className: "claude-code-tool detail-value" }, input.offset))),
114
- input.limit && (React.createElement("div", { className: "claude-code-tool detail-row" },
115
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/lineLimit', 'Line Limit')),
116
- React.createElement("span", { className: "claude-code-tool detail-value" }, input.limit))),
117
- React.createElement("div", { className: "claude-code-tool detail-row" },
118
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/readMode', 'Read Mode')),
119
- React.createElement("span", { className: "claude-code-tool detail-value" }, isEntireFile
120
- ? core_1.nls.localize('theia/ai/claude-code/entireFile', 'Entire File')
121
- : core_1.nls.localize('theia/ai/claude-code/partial', 'Partial')))));
122
- return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
123
- };
124
- //# sourceMappingURL=read-tool-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/read-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
3
- import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
4
- import { ChatResponseContent, ToolCallChatResponseContent } from '@theia/ai-chat/lib/common';
5
- import { ReactNode } from '@theia/core/shared/react';
6
- export declare class TodoWriteRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
7
- canHandle(response: ChatResponseContent): number;
8
- render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
9
- }
10
- //# sourceMappingURL=todo-write-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-write-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/todo-write-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAI7F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAsDrD,qBACa,iBAAkB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAE3F,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CASrF"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TodoWriteRenderer = void 0;
19
- const tslib_1 = require("tslib");
20
- const browser_1 = require("@theia/core/lib/browser");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- const React = require("@theia/core/shared/react");
23
- const claude_code_tool_call_content_1 = require("../claude-code-tool-call-content");
24
- const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
25
- const core_1 = require("@theia/core");
26
- const TODO_PRIORITIES = {
27
- 'high': core_1.nls.localize('theia/ai/claude-code/todoPriority/high', 'high'),
28
- 'medium': core_1.nls.localize('theia/ai/claude-code/todoPriority/medium', 'medium'),
29
- 'low': core_1.nls.localize('theia/ai/claude-code/todoPriority/low', 'low')
30
- };
31
- // Session-scoped registry to track TodoWrite renderer instances per session
32
- class TodoWriteRegistry {
33
- static register(sessionId, hideFn) {
34
- // Get or create instances set for this session
35
- let sessionSet = this.sessionInstances.get(sessionId);
36
- if (!sessionSet) {
37
- sessionSet = new Set();
38
- this.sessionInstances.set(sessionId, sessionSet);
39
- }
40
- // Hide all previous instances in this session
41
- sessionSet.forEach(fn => fn());
42
- // Clear the session registry
43
- sessionSet.clear();
44
- // Add the new instance
45
- sessionSet.add(hideFn);
46
- }
47
- static unregister(sessionId, hideFn) {
48
- const sessionSet = this.sessionInstances.get(sessionId);
49
- if (sessionSet) {
50
- sessionSet.delete(hideFn);
51
- // Clean up empty session entries
52
- if (sessionSet.size === 0) {
53
- this.sessionInstances.delete(sessionId);
54
- }
55
- }
56
- }
57
- }
58
- TodoWriteRegistry.sessionInstances = new Map();
59
- let TodoWriteRenderer = class TodoWriteRenderer {
60
- canHandle(response) {
61
- if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'TodoWrite') {
62
- return 15; // Higher than default ToolCallPartRenderer (10)
63
- }
64
- return -1;
65
- }
66
- render(response, parentNode) {
67
- try {
68
- const input = JSON.parse(response.arguments || '{}');
69
- return React.createElement(TodoListComponent, { todos: input.todos || [], sessionId: parentNode.sessionId });
70
- }
71
- catch (error) {
72
- console.warn('Failed to parse TodoWrite input:', error);
73
- return React.createElement("div", { className: "claude-code-tool todo-list-error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseTodoListData', 'Failed to parse todo list data'));
74
- }
75
- }
76
- };
77
- exports.TodoWriteRenderer = TodoWriteRenderer;
78
- exports.TodoWriteRenderer = TodoWriteRenderer = tslib_1.__decorate([
79
- (0, inversify_1.injectable)()
80
- ], TodoWriteRenderer);
81
- const TodoListComponent = ({ todos, sessionId }) => {
82
- const [isHidden, setIsHidden] = React.useState(false);
83
- React.useEffect(() => {
84
- const hideFn = () => setIsHidden(true);
85
- TodoWriteRegistry.register(sessionId, hideFn);
86
- return () => {
87
- TodoWriteRegistry.unregister(sessionId, hideFn);
88
- };
89
- }, [sessionId]);
90
- if (isHidden) {
91
- // eslint-disable-next-line no-null/no-null
92
- return null;
93
- }
94
- const getStatusIcon = (status) => {
95
- switch (status) {
96
- case 'completed':
97
- return React.createElement("span", { className: `${(0, browser_1.codicon)('check')} claude-code-tool todo-status-icon completed` });
98
- case 'in_progress':
99
- return React.createElement("span", { className: `${(0, browser_1.codicon)('loading')} claude-code-tool todo-status-icon in-progress theia-animation-spin` });
100
- case 'pending':
101
- default:
102
- return React.createElement("span", { className: `${(0, browser_1.codicon)('circle-outline')} claude-code-tool todo-status-icon pending` });
103
- }
104
- };
105
- const getPriorityBadge = (priority) => (React.createElement("span", { className: `claude-code-tool todo-priority priority-${priority}` }, TODO_PRIORITIES[priority]));
106
- if (!todos || todos.length === 0) {
107
- return (React.createElement("div", { className: "claude-code-tool todo-list-container" },
108
- React.createElement("div", { className: "claude-code-tool todo-list-header" },
109
- React.createElement("span", { className: `${(0, browser_1.codicon)('checklist')} claude-code-tool todo-list-icon` }),
110
- React.createElement("span", { className: "claude-code-tool todo-list-title" }, core_1.nls.localize('theia/ai/claude-code/todoList', 'Todo List'))),
111
- React.createElement("div", { className: "claude-code-tool todo-list-empty" }, core_1.nls.localize('theia/ai/claude-code/emptyTodoList', 'No todos available'))));
112
- }
113
- const completedCount = todos.filter(todo => todo.status === 'completed').length;
114
- const totalCount = todos.length;
115
- const compactHeader = (React.createElement(React.Fragment, null,
116
- React.createElement("div", { className: "claude-code-tool header-left" },
117
- React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/todoList', 'Todo List')),
118
- React.createElement("span", { className: `${(0, browser_1.codicon)('checklist')} claude-code-tool icon` }),
119
- React.createElement("span", { className: "claude-code-tool progress-text" }, core_1.nls.localize('theia/ai/claude-code/completedCount', '{0}/{1} completed', completedCount, totalCount))),
120
- React.createElement("div", { className: "claude-code-tool header-right" },
121
- React.createElement("span", { className: "claude-code-tool badge" }, totalCount === 1
122
- ? core_1.nls.localize('theia/ai/claude-code/oneItem', '1 item')
123
- : core_1.nls.localize('theia/ai/claude-code/itemCount', '{0} items', totalCount)))));
124
- const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
125
- React.createElement("div", { className: "claude-code-tool todo-list-items" }, todos.map(todo => (React.createElement("div", { key: todo.id || todo.content, className: `claude-code-tool todo-item status-${todo.status}` },
126
- React.createElement("div", { className: "claude-code-tool todo-item-main" },
127
- React.createElement("div", { className: "claude-code-tool todo-item-status" }, getStatusIcon(todo.status)),
128
- React.createElement("div", { className: "claude-code-tool todo-item-content" },
129
- React.createElement("span", { className: "claude-code-tool todo-item-text" }, todo.content),
130
- getPriorityBadge(todo.priority)))))))));
131
- return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent, defaultExpanded: true }));
132
- };
133
- //# sourceMappingURL=todo-write-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todo-write-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/todo-write-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
3
- import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
4
- import { ChatResponseContent, ToolCallChatResponseContent } from '@theia/ai-chat/lib/common';
5
- import { ReactNode } from '@theia/core/shared/react';
6
- export declare class WebFetchToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
7
- canHandle(response: ChatResponseContent): number;
8
- render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
9
- }
10
- //# sourceMappingURL=web-fetch-tool-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-fetch-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/web-fetch-tool-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAI7F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAUrD,qBACa,oBAAqB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAE9F,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CASrF"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WebFetchToolRenderer = void 0;
19
- const tslib_1 = require("tslib");
20
- const browser_1 = require("@theia/core/lib/browser");
21
- const inversify_1 = require("@theia/core/shared/inversify");
22
- const React = require("@theia/core/shared/react");
23
- const claude_code_tool_call_content_1 = require("../claude-code-tool-call-content");
24
- const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
25
- const core_1 = require("@theia/core");
26
- let WebFetchToolRenderer = class WebFetchToolRenderer {
27
- canHandle(response) {
28
- if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'WebFetch') {
29
- return 15; // Higher than default ToolCallPartRenderer (10)
30
- }
31
- return -1;
32
- }
33
- render(response, parentNode) {
34
- try {
35
- const input = JSON.parse(response.arguments || '{}');
36
- return React.createElement(WebFetchToolComponent, { input: input });
37
- }
38
- catch (error) {
39
- console.warn('Failed to parse WebFetch tool input:', error);
40
- return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseWebFetchToolData', 'Failed to parse WebFetch tool data'));
41
- }
42
- }
43
- };
44
- exports.WebFetchToolRenderer = WebFetchToolRenderer;
45
- exports.WebFetchToolRenderer = WebFetchToolRenderer = tslib_1.__decorate([
46
- (0, inversify_1.injectable)()
47
- ], WebFetchToolRenderer);
48
- const WebFetchToolComponent = ({ input }) => {
49
- const getDomain = (url) => {
50
- try {
51
- return new URL(url).hostname;
52
- }
53
- catch {
54
- return url;
55
- }
56
- };
57
- const truncatePrompt = (prompt, maxLength = 100) => {
58
- if (prompt.length <= maxLength) {
59
- return prompt;
60
- }
61
- return prompt.substring(0, maxLength) + '...';
62
- };
63
- const compactHeader = (React.createElement(React.Fragment, null,
64
- React.createElement("div", { className: "claude-code-tool header-left" },
65
- React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/fetching', 'Fetching')),
66
- React.createElement("span", { className: `${(0, browser_1.codicon)('globe')} claude-code-tool icon` }),
67
- React.createElement("span", { className: "claude-code-tool command" }, getDomain(input.url)),
68
- React.createElement("span", { className: "claude-code-tool description", title: input.prompt }, truncatePrompt(input.prompt))),
69
- React.createElement("div", { className: "claude-code-tool header-right" },
70
- React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/webFetch', 'Web Fetch')))));
71
- const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
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')),
74
- React.createElement("code", { className: "claude-code-tool detail-value" }, input.url)),
75
- React.createElement("div", { className: "claude-code-tool detail-row" },
76
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/domain', 'Domain')),
77
- React.createElement("span", { className: "claude-code-tool detail-value" }, getDomain(input.url))),
78
- React.createElement("div", { className: "claude-code-tool detail-row" },
79
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Prompt')),
80
- React.createElement("span", { className: "claude-code-tool detail-value" }, input.prompt))));
81
- return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
82
- };
83
- //# sourceMappingURL=web-fetch-tool-renderer.js.map
@@ -1 +0,0 @@
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,16 +0,0 @@
1
- /// <reference types="react" />
2
- import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
3
- import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
4
- import { ChatResponseContent, ToolCallChatResponseContent } from '@theia/ai-chat/lib/common';
5
- import { LabelProvider } from '@theia/core/lib/browser';
6
- import { ReactNode } from '@theia/core/shared/react';
7
- import { EditorManager } from '@theia/editor/lib/browser';
8
- import { WorkspaceService } from '@theia/workspace/lib/browser';
9
- export declare class WriteToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
10
- protected readonly workspaceService: WorkspaceService;
11
- protected readonly labelProvider: LabelProvider;
12
- protected readonly editorManager: EditorManager;
13
- canHandle(response: ChatResponseContent): number;
14
- render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
15
- }
16
- //# sourceMappingURL=write-tool-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/write-tool-renderer.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAW,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIjE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAUhE,qBACa,iBAAkB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAG3F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CAcrF"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WriteToolRenderer = void 0;
19
- const tslib_1 = require("tslib");
20
- const browser_1 = require("@theia/core/lib/browser");
21
- const uri_1 = require("@theia/core/lib/common/uri");
22
- const inversify_1 = require("@theia/core/shared/inversify");
23
- const React = require("@theia/core/shared/react");
24
- const browser_2 = require("@theia/editor/lib/browser");
25
- const browser_3 = require("@theia/workspace/lib/browser");
26
- const claude_code_tool_call_content_1 = require("../claude-code-tool-call-content");
27
- const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
28
- const core_1 = require("@theia/core");
29
- let WriteToolRenderer = class WriteToolRenderer {
30
- canHandle(response) {
31
- if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'Write') {
32
- return 15; // Higher than default ToolCallPartRenderer (10)
33
- }
34
- return -1;
35
- }
36
- render(response, parentNode) {
37
- try {
38
- const input = JSON.parse(response.arguments || '{}');
39
- return React.createElement(WriteToolComponent, { input: input, workspaceService: this.workspaceService, labelProvider: this.labelProvider, editorManager: this.editorManager });
40
- }
41
- catch (error) {
42
- console.warn('Failed to parse Write tool input:', error);
43
- return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseWriteToolData', 'Failed to parse Write tool data'));
44
- }
45
- }
46
- };
47
- exports.WriteToolRenderer = WriteToolRenderer;
48
- tslib_1.__decorate([
49
- (0, inversify_1.inject)(browser_3.WorkspaceService),
50
- tslib_1.__metadata("design:type", browser_3.WorkspaceService)
51
- ], WriteToolRenderer.prototype, "workspaceService", void 0);
52
- tslib_1.__decorate([
53
- (0, inversify_1.inject)(browser_1.LabelProvider),
54
- tslib_1.__metadata("design:type", browser_1.LabelProvider)
55
- ], WriteToolRenderer.prototype, "labelProvider", void 0);
56
- tslib_1.__decorate([
57
- (0, inversify_1.inject)(browser_2.EditorManager),
58
- tslib_1.__metadata("design:type", browser_2.EditorManager)
59
- ], WriteToolRenderer.prototype, "editorManager", void 0);
60
- exports.WriteToolRenderer = WriteToolRenderer = tslib_1.__decorate([
61
- (0, inversify_1.injectable)()
62
- ], WriteToolRenderer);
63
- const WriteToolComponent = ({ input, workspaceService, labelProvider, editorManager }) => {
64
- const getFileName = (filePath) => filePath.split('/').pop() || filePath;
65
- const getWorkspaceRelativePath = async (filePath) => {
66
- try {
67
- const absoluteUri = new uri_1.URI(filePath);
68
- const workspaceRelativePath = await workspaceService.getWorkspaceRelativePath(absoluteUri);
69
- return workspaceRelativePath || '';
70
- }
71
- catch {
72
- return '';
73
- }
74
- };
75
- const handleOpenFile = async () => {
76
- try {
77
- const uri = new uri_1.URI(input.file_path);
78
- await editorManager.open(uri);
79
- }
80
- catch (error) {
81
- console.error('Failed to open file:', error);
82
- }
83
- };
84
- const [relativePath, setRelativePath] = React.useState('');
85
- React.useEffect(() => {
86
- getWorkspaceRelativePath(input.file_path).then(setRelativePath);
87
- }, [input.file_path]);
88
- const getContentSizeInfo = () => {
89
- const lines = input.content.split('\n').length;
90
- return `+${lines}`;
91
- };
92
- const compactHeader = (React.createElement(React.Fragment, null,
93
- React.createElement("div", { className: "claude-code-tool header-left" },
94
- React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/writing', 'Writing')),
95
- React.createElement("span", { className: `${(0, browser_1.codicon)('edit')} claude-code-tool icon` }),
96
- React.createElement("span", { className: "claude-code-tool file-name clickable-element", onClick: handleOpenFile, title: core_1.nls.localize('theia/ai/claude-code/openFileTooltip', 'Click to open file in editor') }, getFileName(input.file_path)),
97
- relativePath && React.createElement("span", { className: "claude-code-tool relative-path" }, relativePath)),
98
- React.createElement("div", { className: "claude-code-tool header-right" },
99
- React.createElement("span", { className: "claude-code-tool badge added" }, getContentSizeInfo()))));
100
- const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
101
- React.createElement("div", { className: "claude-code-tool detail-row" },
102
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/filePath', 'File Path')),
103
- React.createElement("code", { className: "claude-code-tool detail-value" }, input.file_path)),
104
- React.createElement("div", { className: "claude-code-tool detail-row" },
105
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Preview')),
106
- React.createElement("pre", { className: "claude-code-tool detail-value code-preview" }, input.content.length > 500
107
- ? input.content.substring(0, 500) + '...'
108
- : input.content)),
109
- React.createElement("div", { className: "claude-code-tool detail-row" },
110
- React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/lines', 'Lines')),
111
- React.createElement("span", { className: "claude-code-tool detail-value" }, input.content.split('\n').length))));
112
- return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
113
- };
114
- //# sourceMappingURL=write-tool-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/write-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { PreferenceSchema } from '@theia/core';
2
- export declare const CLAUDE_CODE_EXECUTABLE_PATH_PREF = "ai-features.claudeCode.executablePath";
3
- export declare const CLAUDE_CODE_API_KEY_PREF = "ai-features.claudeCode.apiKey";
4
- export declare const ClaudeCodePreferencesSchema: PreferenceSchema;
5
- //# sourceMappingURL=claude-code-preferences.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-code-preferences.d.ts","sourceRoot":"","sources":["../../src/common/claude-code-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,gCAAgC,0CAA0C,CAAC;AACxF,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,eAAO,MAAM,2BAA2B,EAAE,gBAkBzC,CAAC"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ClaudeCodePreferencesSchema = exports.CLAUDE_CODE_API_KEY_PREF = exports.CLAUDE_CODE_EXECUTABLE_PATH_PREF = void 0;
19
- const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
20
- const core_1 = require("@theia/core");
21
- exports.CLAUDE_CODE_EXECUTABLE_PATH_PREF = 'ai-features.claudeCode.executablePath';
22
- exports.CLAUDE_CODE_API_KEY_PREF = 'ai-features.claudeCode.apiKey';
23
- exports.ClaudeCodePreferencesSchema = {
24
- properties: {
25
- [exports.CLAUDE_CODE_EXECUTABLE_PATH_PREF]: {
26
- type: 'string',
27
- markdownDescription: core_1.nls.localize('theia/ai/claude-code/executablePath/description', 'Path to the Claude Code executable (cli.js) of the `@anthropic-ai/claude-agent-sdk`.' +
28
- 'If not specified, the system will attempt to resolve the path automatically ' +
29
- 'from the global npm installation.'),
30
- title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
31
- },
32
- [exports.CLAUDE_CODE_API_KEY_PREF]: {
33
- type: 'string',
34
- markdownDescription: core_1.nls.localize('theia/ai/claude-code/apiKey/description', 'Enter an API Key for Claude Code. **Please note:** By using this preference the API key will be stored in clear text ' +
35
- 'on the machine running Theia. Use the environment variable `ANTHROPIC_API_KEY` to set the key securely.'),
36
- title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
37
- },
38
- }
39
- };
40
- //# sourceMappingURL=claude-code-preferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-code-preferences.js","sourceRoot":"","sources":["../../src/common/claude-code-preferences.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,uFAA0F;AAC1F,sCAAoD;AAEvC,QAAA,gCAAgC,GAAG,uCAAuC,CAAC;AAC3E,QAAA,wBAAwB,GAAG,+BAA+B,CAAC;AAE3D,QAAA,2BAA2B,GAAqB;IACzD,UAAU,EAAE;QACR,CAAC,wCAAgC,CAAC,EAAE;YAChC,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAC/E,sFAAsF;gBACtF,8EAA8E;gBAC9E,mCAAmC,CAAC;YACxC,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,gCAAwB,CAAC,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EACvE,uHAAuH;gBACvH,yGAAyG,CAAC;YAC9G,KAAK,EAAE,+CAAyB;SACnC;KACJ;CACJ,CAAC"}