@theia/ai-claude-code 1.67.0-next.56 → 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.
- package/lib/browser/claude-code-chat-agent.d.ts +84 -0
- package/lib/browser/claude-code-chat-agent.d.ts.map +1 -0
- package/lib/browser/claude-code-chat-agent.js +525 -0
- package/lib/browser/claude-code-chat-agent.js.map +1 -0
- package/lib/browser/claude-code-command-contribution.d.ts +16 -0
- package/lib/browser/claude-code-command-contribution.d.ts.map +1 -0
- package/lib/browser/claude-code-command-contribution.js +86 -0
- package/lib/browser/claude-code-command-contribution.js.map +1 -0
- package/lib/browser/claude-code-edit-tool-service.d.ts +63 -0
- package/lib/browser/claude-code-edit-tool-service.d.ts.map +1 -0
- package/lib/browser/claude-code-edit-tool-service.js +225 -0
- package/lib/browser/claude-code-edit-tool-service.js.map +1 -0
- package/lib/browser/claude-code-file-edit-backup-service.d.ts +59 -0
- package/lib/browser/claude-code-file-edit-backup-service.d.ts.map +1 -0
- package/lib/browser/claude-code-file-edit-backup-service.js +98 -0
- package/lib/browser/claude-code-file-edit-backup-service.js.map +1 -0
- package/lib/browser/claude-code-frontend-module.d.ts +5 -0
- package/lib/browser/claude-code-frontend-module.d.ts.map +1 -0
- package/lib/browser/claude-code-frontend-module.js +83 -0
- package/lib/browser/claude-code-frontend-module.js.map +1 -0
- package/lib/browser/claude-code-frontend-service.d.ts +39 -0
- package/lib/browser/claude-code-frontend-service.d.ts.map +1 -0
- package/lib/browser/claude-code-frontend-service.js +189 -0
- package/lib/browser/claude-code-frontend-service.js.map +1 -0
- package/lib/browser/claude-code-slash-commands-contribution.d.ts +34 -0
- package/lib/browser/claude-code-slash-commands-contribution.d.ts.map +1 -0
- package/lib/browser/claude-code-slash-commands-contribution.js +219 -0
- package/lib/browser/claude-code-slash-commands-contribution.js.map +1 -0
- package/lib/browser/claude-code-tool-call-content.d.ts +8 -0
- package/lib/browser/claude-code-tool-call-content.d.ts.map +1 -0
- package/lib/browser/claude-code-tool-call-content.js +30 -0
- package/lib/browser/claude-code-tool-call-content.js.map +1 -0
- package/lib/browser/renderers/bash-tool-renderer.d.ts +10 -0
- package/lib/browser/renderers/bash-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/bash-tool-renderer.js +67 -0
- package/lib/browser/renderers/bash-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/collapsible-tool-renderer.d.ts +13 -0
- package/lib/browser/renderers/collapsible-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/collapsible-tool-renderer.js +48 -0
- package/lib/browser/renderers/collapsible-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/edit-tool-renderer.d.ts +16 -0
- package/lib/browser/renderers/edit-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/edit-tool-renderer.js +135 -0
- package/lib/browser/renderers/edit-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/glob-tool-renderer.d.ts +14 -0
- package/lib/browser/renderers/glob-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/glob-tool-renderer.js +104 -0
- package/lib/browser/renderers/glob-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/grep-tool-renderer.d.ts +14 -0
- package/lib/browser/renderers/grep-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/grep-tool-renderer.js +160 -0
- package/lib/browser/renderers/grep-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/ls-tool-renderer.d.ts +16 -0
- package/lib/browser/renderers/ls-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/ls-tool-renderer.js +116 -0
- package/lib/browser/renderers/ls-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/multiedit-tool-renderer.d.ts +16 -0
- package/lib/browser/renderers/multiedit-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/multiedit-tool-renderer.js +148 -0
- package/lib/browser/renderers/multiedit-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/read-tool-renderer.d.ts +16 -0
- package/lib/browser/renderers/read-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/read-tool-renderer.js +124 -0
- package/lib/browser/renderers/read-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/todo-write-renderer.d.ts +10 -0
- package/lib/browser/renderers/todo-write-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/todo-write-renderer.js +133 -0
- package/lib/browser/renderers/todo-write-renderer.js.map +1 -0
- package/lib/browser/renderers/web-fetch-tool-renderer.d.ts +10 -0
- package/lib/browser/renderers/web-fetch-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/web-fetch-tool-renderer.js +83 -0
- package/lib/browser/renderers/web-fetch-tool-renderer.js.map +1 -0
- package/lib/browser/renderers/write-tool-renderer.d.ts +16 -0
- package/lib/browser/renderers/write-tool-renderer.d.ts.map +1 -0
- package/lib/browser/renderers/write-tool-renderer.js +114 -0
- package/lib/browser/renderers/write-tool-renderer.js.map +1 -0
- package/lib/common/claude-code-preferences.d.ts +5 -0
- package/lib/common/claude-code-preferences.d.ts.map +1 -0
- package/lib/common/claude-code-preferences.js +40 -0
- package/lib/common/claude-code-preferences.js.map +1 -0
- package/lib/common/claude-code-service.d.ts +235 -0
- package/lib/common/claude-code-service.d.ts.map +1 -0
- package/lib/common/claude-code-service.js +82 -0
- package/lib/common/claude-code-service.js.map +1 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +20 -0
- package/lib/common/index.js.map +1 -0
- package/lib/node/claude-code-backend-module.d.ts +4 -0
- package/lib/node/claude-code-backend-module.d.ts.map +1 -0
- package/lib/node/claude-code-backend-module.js +35 -0
- package/lib/node/claude-code-backend-module.js.map +1 -0
- package/lib/node/claude-code-service-impl.d.ts +33 -0
- package/lib/node/claude-code-service-impl.d.ts.map +1 -0
- package/lib/node/claude-code-service-impl.js +468 -0
- package/lib/node/claude-code-service-impl.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +10 -10
- package/src/browser/claude-code-chat-agent.ts +17 -10
- package/src/browser/claude-code-edit-tool-service.ts +10 -7
- package/src/browser/claude-code-file-edit-backup-service.ts +6 -2
- package/src/browser/claude-code-slash-commands-contribution.ts +152 -73
|
@@ -0,0 +1,30 @@
|
|
|
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.ClaudeCodeToolCallChatResponseContent = void 0;
|
|
19
|
+
const common_1 = require("@theia/ai-chat/lib/common");
|
|
20
|
+
class ClaudeCodeToolCallChatResponseContent extends common_1.ToolCallChatResponseContentImpl {
|
|
21
|
+
constructor(id, name, arg_string, finished, result) {
|
|
22
|
+
super(id, name, arg_string, finished, result);
|
|
23
|
+
}
|
|
24
|
+
static is(content) {
|
|
25
|
+
return content instanceof ClaudeCodeToolCallChatResponseContent;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ClaudeCodeToolCallChatResponseContent = ClaudeCodeToolCallChatResponseContent;
|
|
29
|
+
ClaudeCodeToolCallChatResponseContent.type = 'claude-code-tool-call';
|
|
30
|
+
//# sourceMappingURL=claude-code-tool-call-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-tool-call-content.js","sourceRoot":"","sources":["../../src/browser/claude-code-tool-call-content.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,sDAA4E;AAG5E,MAAa,qCAAsC,SAAQ,wCAA+B;IAGtF,YAAY,EAAW,EAAE,IAAa,EAAE,UAAmB,EAAE,QAAkB,EAAE,MAAuB;QACpG,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,OAAgB;QACtB,OAAO,OAAO,YAAY,qCAAqC,CAAC;IACpE,CAAC;;AATL,sFAUC;AATmB,0CAAI,GAAG,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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 BashToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
|
|
7
|
+
canHandle(response: ChatResponseContent): number;
|
|
8
|
+
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=bash-tool-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/bash-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;AAWrD,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAE1F,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CASrF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.BashToolRenderer = 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 BashToolRenderer = class BashToolRenderer {
|
|
27
|
+
canHandle(response) {
|
|
28
|
+
if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'Bash') {
|
|
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(BashToolComponent, { input: input });
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.warn('Failed to parse Bash tool input:', error);
|
|
40
|
+
return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseBashToolData', 'Failed to parse Bash tool data'));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.BashToolRenderer = BashToolRenderer;
|
|
45
|
+
exports.BashToolRenderer = BashToolRenderer = tslib_1.__decorate([
|
|
46
|
+
(0, inversify_1.injectable)()
|
|
47
|
+
], BashToolRenderer);
|
|
48
|
+
const BashToolComponent = ({ input }) => {
|
|
49
|
+
const compactHeader = (React.createElement(React.Fragment, null,
|
|
50
|
+
React.createElement("div", { className: "claude-code-tool header-left" },
|
|
51
|
+
React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localizeByDefault('Terminal')),
|
|
52
|
+
React.createElement("span", { className: `${(0, browser_1.codicon)('terminal')} claude-code-tool icon` }),
|
|
53
|
+
React.createElement("span", { className: "claude-code-tool command" }, input.command)),
|
|
54
|
+
React.createElement("div", { className: "claude-code-tool header-right" }, input.timeout && (React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/timeoutInMs', 'Timeout: {0}ms', input.timeout))))));
|
|
55
|
+
const expandedContent = input.description ? (React.createElement("div", { className: "claude-code-tool details" },
|
|
56
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
57
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Command')),
|
|
58
|
+
React.createElement("code", { className: "claude-code-tool detail-value" }, input.command)),
|
|
59
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
60
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Description')),
|
|
61
|
+
React.createElement("span", { className: "claude-code-tool detail-value" }, input.description)),
|
|
62
|
+
input.timeout && (React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
63
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/timeout', 'Timeout')),
|
|
64
|
+
React.createElement("span", { className: "claude-code-tool detail-value" }, core_1.nls.localizeByDefault('{0}ms', input.timeout)))))) : undefined;
|
|
65
|
+
return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=bash-tool-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/bash-tool-renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { ReactNode } from '@theia/core/shared/react';
|
|
4
|
+
interface CollapsibleToolRendererProps {
|
|
5
|
+
compactHeader: ReactNode;
|
|
6
|
+
expandedContent?: ReactNode;
|
|
7
|
+
onHeaderClick?: () => void;
|
|
8
|
+
headerStyle?: React.CSSProperties;
|
|
9
|
+
defaultExpanded?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const CollapsibleToolRenderer: React.FC<CollapsibleToolRendererProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=collapsible-tool-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapsible-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/collapsible-tool-renderer.tsx"],"names":[],"mappings":";AAiBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,4BAA4B;IAClC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAiD1E,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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.CollapsibleToolRenderer = void 0;
|
|
19
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const CollapsibleToolRenderer = ({ compactHeader, expandedContent, onHeaderClick, headerStyle, defaultExpanded = false }) => {
|
|
22
|
+
const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
|
|
23
|
+
const hasExpandableContent = expandedContent !== undefined;
|
|
24
|
+
const handleHeaderClick = (event) => {
|
|
25
|
+
// Check if the clicked element or any of its parents has the 'clickable' class
|
|
26
|
+
// If so, don't trigger collapse/expand behavior
|
|
27
|
+
const target = event.target;
|
|
28
|
+
if (target.closest('.clickable-element')) {
|
|
29
|
+
onHeaderClick === null || onHeaderClick === void 0 ? void 0 : onHeaderClick();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Normal header click behavior
|
|
33
|
+
if (hasExpandableContent) {
|
|
34
|
+
setIsExpanded(!isExpanded);
|
|
35
|
+
}
|
|
36
|
+
onHeaderClick === null || onHeaderClick === void 0 ? void 0 : onHeaderClick();
|
|
37
|
+
};
|
|
38
|
+
return (React.createElement("div", { className: "claude-code-tool container" },
|
|
39
|
+
React.createElement("div", { className: `claude-code-tool header${hasExpandableContent ? ' expandable' : ''}`, onClick: handleHeaderClick, style: {
|
|
40
|
+
cursor: hasExpandableContent || onHeaderClick ? 'pointer' : 'default',
|
|
41
|
+
...headerStyle
|
|
42
|
+
} },
|
|
43
|
+
hasExpandableContent && (React.createElement("span", { className: `${(0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right')} claude-code-tool expand-icon` })),
|
|
44
|
+
compactHeader),
|
|
45
|
+
hasExpandableContent && isExpanded && (React.createElement("div", { className: "claude-code-tool expanded-content" }, expandedContent))));
|
|
46
|
+
};
|
|
47
|
+
exports.CollapsibleToolRenderer = CollapsibleToolRenderer;
|
|
48
|
+
//# sourceMappingURL=collapsible-tool-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapsible-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/collapsible-tool-renderer.tsx"],"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,qDAAkD;AAClD,kDAAkD;AAW3C,MAAM,uBAAuB,GAA2C,CAAC,EAC5E,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,GAAG,KAAK,EAC1B,EAAE,EAAE;IACD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEpE,MAAM,oBAAoB,GAAG,eAAe,KAAK,SAAS,CAAC;IAE3D,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;QAClD,+EAA+E;QAC/E,gDAAgD;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,aAAa,aAAb,aAAa,uBAAb,aAAa,EAAI,CAAC;YAClB,OAAO;QACX,CAAC;QAED,+BAA+B;QAC/B,IAAI,oBAAoB,EAAE,CAAC;YACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,aAAb,aAAa,uBAAb,aAAa,EAAI,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,4BAA4B;QACvC,6BACI,SAAS,EAAE,0BAA0B,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAChF,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE;gBACH,MAAM,EAAE,oBAAoB,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrE,GAAG,WAAW;aACjB;YAEA,oBAAoB,IAAI,CACrB,8BAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,+BAA+B,GAAI,CAChH;YACA,aAAa,CACZ;QACL,oBAAoB,IAAI,UAAU,IAAI,CACnC,6BAAK,SAAS,EAAC,mCAAmC,IAC7C,eAAe,CACd,CACT,CACC,CACT,CAAC;AACN,CAAC,CAAC;AAjDW,QAAA,uBAAuB,2BAiDlC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 EditToolRenderer 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=edit-tool-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/edit-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,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAYhE,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAG1F,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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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.EditToolRenderer = 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 EditToolRenderer = class EditToolRenderer {
|
|
30
|
+
canHandle(response) {
|
|
31
|
+
if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'Edit') {
|
|
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(EditToolComponent, { input: input, workspaceService: this.workspaceService, labelProvider: this.labelProvider, editorManager: this.editorManager });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.warn('Failed to parse Edit tool input:', error);
|
|
43
|
+
return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseEditToolData', 'Failed to parse Edit tool data'));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.EditToolRenderer = EditToolRenderer;
|
|
48
|
+
tslib_1.__decorate([
|
|
49
|
+
(0, inversify_1.inject)(browser_3.WorkspaceService),
|
|
50
|
+
tslib_1.__metadata("design:type", browser_3.WorkspaceService)
|
|
51
|
+
], EditToolRenderer.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
|
+
], EditToolRenderer.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
|
+
], EditToolRenderer.prototype, "editorManager", void 0);
|
|
60
|
+
exports.EditToolRenderer = EditToolRenderer = tslib_1.__decorate([
|
|
61
|
+
(0, inversify_1.injectable)()
|
|
62
|
+
], EditToolRenderer);
|
|
63
|
+
const EditToolComponent = ({ 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 getChangeInfo = () => {
|
|
98
|
+
const oldLines = input.old_string.split('\n').length;
|
|
99
|
+
const newLines = input.new_string.split('\n').length;
|
|
100
|
+
return { oldLines, newLines };
|
|
101
|
+
};
|
|
102
|
+
const compactHeader = (React.createElement(React.Fragment, null,
|
|
103
|
+
React.createElement("div", { className: "claude-code-tool header-left" },
|
|
104
|
+
React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/editing', 'Editing')),
|
|
105
|
+
React.createElement("span", { className: `${getIcon(input.file_path)} claude-code-tool icon` }),
|
|
106
|
+
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)),
|
|
107
|
+
relativePath && React.createElement("span", { className: "claude-code-tool relative-path", title: relativePath }, relativePath)),
|
|
108
|
+
React.createElement("div", { className: "claude-code-tool header-right" },
|
|
109
|
+
React.createElement("span", { className: "claude-code-tool badge deleted" },
|
|
110
|
+
"-",
|
|
111
|
+
getChangeInfo().oldLines),
|
|
112
|
+
React.createElement("span", { className: "claude-code-tool badge added" },
|
|
113
|
+
"+",
|
|
114
|
+
getChangeInfo().newLines),
|
|
115
|
+
input.replace_all && (React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localizeByDefault('Replace All'))))));
|
|
116
|
+
const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
|
|
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/filePath', 'File Path')),
|
|
119
|
+
React.createElement("code", { className: "claude-code-tool detail-value" }, input.file_path)),
|
|
120
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
121
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/from', 'From')),
|
|
122
|
+
React.createElement("pre", { className: "claude-code-tool detail-value code-preview" }, input.old_string.length > 200
|
|
123
|
+
? input.old_string.substring(0, 200) + '...'
|
|
124
|
+
: input.old_string)),
|
|
125
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
126
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/to', 'To')),
|
|
127
|
+
React.createElement("pre", { className: "claude-code-tool detail-value code-preview" }, input.new_string.length > 200
|
|
128
|
+
? input.new_string.substring(0, 200) + '...'
|
|
129
|
+
: input.new_string)),
|
|
130
|
+
input.replace_all && (React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
131
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Mode')),
|
|
132
|
+
React.createElement("span", { className: "claude-code-tool detail-value" }, core_1.nls.localize('theia/ai/claude-code/replaceAllOccurrences', 'Replace all occurrences'))))));
|
|
133
|
+
return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=edit-tool-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/edit-tool-renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
8
|
+
export declare class GlobToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
|
|
9
|
+
protected readonly workspaceService: WorkspaceService;
|
|
10
|
+
protected readonly labelProvider: LabelProvider;
|
|
11
|
+
canHandle(response: ChatResponseContent): number;
|
|
12
|
+
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=glob-tool-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/glob-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,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAUhE,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAG1F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,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;CAarF"}
|
|
@@ -0,0 +1,104 @@
|
|
|
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.GlobToolRenderer = 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/workspace/lib/browser");
|
|
25
|
+
const claude_code_tool_call_content_1 = require("../claude-code-tool-call-content");
|
|
26
|
+
const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
|
|
27
|
+
const core_1 = require("@theia/core");
|
|
28
|
+
let GlobToolRenderer = class GlobToolRenderer {
|
|
29
|
+
canHandle(response) {
|
|
30
|
+
if (claude_code_tool_call_content_1.ClaudeCodeToolCallChatResponseContent.is(response) && response.name === 'Glob') {
|
|
31
|
+
return 15; // Higher than default ToolCallPartRenderer (10)
|
|
32
|
+
}
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
render(response, parentNode) {
|
|
36
|
+
try {
|
|
37
|
+
const input = JSON.parse(response.arguments || '{}');
|
|
38
|
+
return React.createElement(GlobToolComponent, { input: input, workspaceService: this.workspaceService, labelProvider: this.labelProvider });
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.warn('Failed to parse Glob tool input:', error);
|
|
42
|
+
return React.createElement("div", { className: "claude-code-tool error" }, core_1.nls.localize('theia/ai/claude-code/failedToParseGlobToolData', 'Failed to parse Glob tool data'));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.GlobToolRenderer = GlobToolRenderer;
|
|
47
|
+
tslib_1.__decorate([
|
|
48
|
+
(0, inversify_1.inject)(browser_2.WorkspaceService),
|
|
49
|
+
tslib_1.__metadata("design:type", browser_2.WorkspaceService)
|
|
50
|
+
], GlobToolRenderer.prototype, "workspaceService", void 0);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, inversify_1.inject)(browser_1.LabelProvider),
|
|
53
|
+
tslib_1.__metadata("design:type", browser_1.LabelProvider)
|
|
54
|
+
], GlobToolRenderer.prototype, "labelProvider", void 0);
|
|
55
|
+
exports.GlobToolRenderer = GlobToolRenderer = tslib_1.__decorate([
|
|
56
|
+
(0, inversify_1.injectable)()
|
|
57
|
+
], GlobToolRenderer);
|
|
58
|
+
const GlobToolComponent = ({ input, workspaceService, labelProvider }) => {
|
|
59
|
+
const getSearchScope = () => {
|
|
60
|
+
if (input.path) {
|
|
61
|
+
return input.path.split('/').pop() || input.path;
|
|
62
|
+
}
|
|
63
|
+
return core_1.nls.localize('theia/ai/claude-code/project', 'project');
|
|
64
|
+
};
|
|
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 [relativePath, setRelativePath] = React.useState('');
|
|
76
|
+
React.useEffect(() => {
|
|
77
|
+
if (input.path) {
|
|
78
|
+
getWorkspaceRelativePath(input.path).then(setRelativePath);
|
|
79
|
+
}
|
|
80
|
+
}, [input.path]);
|
|
81
|
+
const compactHeader = (React.createElement(React.Fragment, null,
|
|
82
|
+
React.createElement("div", { className: "claude-code-tool header-left" },
|
|
83
|
+
React.createElement("span", { className: "claude-code-tool title" }, core_1.nls.localize('theia/ai/claude-code/finding', 'Finding')),
|
|
84
|
+
React.createElement("span", { className: `${(0, browser_1.codicon)('files')} claude-code-tool icon` }),
|
|
85
|
+
React.createElement("span", { className: "claude-code-tool glob-pattern" }, input.pattern),
|
|
86
|
+
React.createElement("span", { className: "claude-code-tool scope" }, core_1.nls.localizeByDefault('in {0}', getSearchScope())),
|
|
87
|
+
relativePath && React.createElement("span", { className: "claude-code-tool relative-path" }, relativePath)),
|
|
88
|
+
React.createElement("div", { className: "claude-code-tool header-right" },
|
|
89
|
+
React.createElement("span", { className: "claude-code-tool badge" }, core_1.nls.localize('theia/ai/claude-code/globPattern', 'glob pattern')))));
|
|
90
|
+
const expandedContent = (React.createElement("div", { className: "claude-code-tool details" },
|
|
91
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
92
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/pattern', 'Pattern')),
|
|
93
|
+
React.createElement("code", { className: "claude-code-tool detail-value" }, input.pattern)),
|
|
94
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
95
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localize('theia/ai/claude-code/searchPath', 'Search Path')),
|
|
96
|
+
React.createElement("code", { className: "claude-code-tool detail-value" }, input.path || core_1.nls.localize('theia/ai/claude-code/currentDirectory', 'current directory'))),
|
|
97
|
+
React.createElement("div", { className: "claude-code-tool detail-row" },
|
|
98
|
+
React.createElement("span", { className: "claude-code-tool detail-label" }, core_1.nls.localizeByDefault('Description')),
|
|
99
|
+
React.createElement("span", { className: "claude-code-tool detail-value" }, input.path
|
|
100
|
+
? core_1.nls.localize('theia/ai/claude-code/findMatchingFilesWithPath', 'Find files matching the glob pattern "{0}" within {1}', input.pattern, input.path)
|
|
101
|
+
: core_1.nls.localize('theia/ai/claude-code/findMatchingFiles', 'Find files matching the glob pattern "{0}" in the current directory', input.pattern)))));
|
|
102
|
+
return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent }));
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=glob-tool-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/glob-tool-renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
8
|
+
export declare class GrepToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
|
|
9
|
+
protected readonly workspaceService: WorkspaceService;
|
|
10
|
+
protected readonly labelProvider: LabelProvider;
|
|
11
|
+
canHandle(response: ChatResponseContent): number;
|
|
12
|
+
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=grep-tool-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/grep-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,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA0BhE,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAG1F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,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;CAarF"}
|