@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,67 +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.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
@@ -1 +0,0 @@
1
- {"version":3,"file":"bash-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/bash-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,48 +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.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
@@ -1 +0,0 @@
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"}
@@ -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 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
@@ -1 +0,0 @@
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"}
@@ -1,135 +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.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
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/edit-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;;;;AAKhF,qDAAwD;AACxD,oDAAiD;AACjD,4DAAkE;AAClE,kDAAkD;AAElD,uDAA0D;AAC1D,0DAAgE;AAChE,oFAAyF;AACzF,2EAAsE;AACtE,sCAAkC;AAU3B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAWzB,SAAS,CAAC,QAA6B;QACnC,IAAI,qEAAqC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,gDAAgD;QAC/D,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAqC,EAAE,UAAwB;QAClE,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAkB,CAAC;YACtE,OAAO,oBAAC,iBAAiB,IACrB,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,aAAa,EAAE,IAAI,CAAC,aAAa,GACnC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,6BAAK,SAAS,EAAC,wBAAwB,IAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,gCAAgC,CAAC,CAAO,CAAC;QAC5J,CAAC;IACL,CAAC;CACJ,CAAA;AAhCY,4CAAgB;AAGN;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;0DAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;uDAAC;AAG7B;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;uDAAC;2BATvC,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAgC5B;AAED,MAAM,iBAAiB,GAKlB,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE;IAC/D,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACxF,MAAM,wBAAwB,GAAG,KAAK,EAAE,QAAgB,EAAmB,EAAE;QACzE,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,qBAAqB,GAAG,MAAM,gBAAgB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC3F,OAAO,qBAAqB,IAAI,EAAE,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAU,EAAE;QACzC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,cAAc,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAClB;QACI,6BAAK,SAAS,EAAC,8BAA8B;YACzC,8BAAM,SAAS,EAAC,wBAAwB,IAAE,UAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAQ;YACzG,8BAAM,SAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,GAAI;YACxE,8BACI,SAAS,EAAC,8CAA8C,EACxD,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,8BAA8B,CAAC,IAE1F,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAC1B;YACN,YAAY,IAAI,8BAAM,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,YAAY,IAAG,YAAY,CAAQ,CAC1G;QACN,6BAAK,SAAS,EAAC,+BAA+B;YAC1C,8BAAM,SAAS,EAAC,gCAAgC;;gBAAG,aAAa,EAAE,CAAC,QAAQ,CAAQ;YACnF,8BAAM,SAAS,EAAC,8BAA8B;;gBAAG,aAAa,EAAE,CAAC,QAAQ,CAAQ;YAChF,KAAK,CAAC,WAAW,IAAI,CAClB,8BAAM,SAAS,EAAC,wBAAwB,IAAE,UAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAQ,CACzF,CACC,CACP,CACN,CAAC;IAEF,MAAM,eAAe,GAAG,CACpB,6BAAK,SAAS,EAAC,0BAA0B;QACrC,6BAAK,SAAS,EAAC,6BAA6B;YACxC,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAQ;YACnH,8BAAM,SAAS,EAAC,+BAA+B,IAAE,KAAK,CAAC,SAAS,CAAQ,CACtE;QACN,6BAAK,SAAS,EAAC,6BAA6B;YACxC,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAG,CAAC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAQ;YAC1G,6BAAK,SAAS,EAAC,4CAA4C,IACtD,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG;gBAC1B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBAC5C,CAAC,CAAC,KAAK,CAAC,UAAU,CACpB,CACJ;QACN,6BAAK,SAAS,EAAC,6BAA6B;YACxC,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAQ;YACtG,6BAAK,SAAS,EAAC,4CAA4C,IACtD,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG;gBAC1B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;gBAC5C,CAAC,CAAC,KAAK,CAAC,UAAU,CACpB,CACJ;QACL,KAAK,CAAC,WAAW,IAAI,CAClB,6BAAK,SAAS,EAAC,6BAA6B;YACxC,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAQ;YACtF,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,yBAAyB,CAAC,CAAQ,CAC5I,CACT,CACC,CACT,CAAC;IAEF,OAAO,CACH,oBAAC,mDAAuB,IACpB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAClC,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -1,14 +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 { 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
@@ -1 +0,0 @@
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"}
@@ -1,104 +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.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
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/glob-tool-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +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 { 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
@@ -1 +0,0 @@
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"}