@theia/ai-codex 1.75.0-next.8 → 1.76.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/lib/browser/renderers/collapsible-tool-renderer.js +7 -10
  2. package/lib/browser/renderers/collapsible-tool-renderer.js.map +1 -1
  3. package/lib/browser/renderers/command-execution-renderer.d.ts +2 -0
  4. package/lib/browser/renderers/command-execution-renderer.d.ts.map +1 -1
  5. package/lib/browser/renderers/command-execution-renderer.js +11 -34
  6. package/lib/browser/renderers/command-execution-renderer.js.map +1 -1
  7. package/lib/browser/renderers/todo-list-renderer.d.ts +2 -0
  8. package/lib/browser/renderers/todo-list-renderer.d.ts.map +1 -1
  9. package/lib/browser/renderers/todo-list-renderer.js +20 -48
  10. package/lib/browser/renderers/todo-list-renderer.js.map +1 -1
  11. package/lib/browser/renderers/web-search-renderer.d.ts +2 -0
  12. package/lib/browser/renderers/web-search-renderer.d.ts.map +1 -1
  13. package/lib/browser/renderers/web-search-renderer.js +11 -35
  14. package/lib/browser/renderers/web-search-renderer.js.map +1 -1
  15. package/lib/common/codex-preferences.d.ts.map +1 -1
  16. package/lib/common/codex-preferences.js +1 -0
  17. package/lib/common/codex-preferences.js.map +1 -1
  18. package/lib/node/codex-service-impl.d.ts +2 -1
  19. package/lib/node/codex-service-impl.d.ts.map +1 -1
  20. package/lib/node/codex-service-impl.js +1 -1
  21. package/lib/node/codex-service-impl.js.map +1 -1
  22. package/package.json +12 -12
  23. package/src/browser/renderers/command-execution-renderer.tsx +7 -3
  24. package/src/browser/renderers/todo-list-renderer.tsx +7 -4
  25. package/src/browser/renderers/web-search-renderer.tsx +6 -3
  26. package/src/common/codex-preferences.ts +2 -1
  27. package/src/node/codex-service-impl.ts +2 -2
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CollapsibleToolRenderer = void 0;
4
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
2
5
  // *****************************************************************************
3
6
  // Copyright (C) 2025 EclipseSource GmbH.
4
7
  //
@@ -14,8 +17,6 @@
14
17
  //
15
18
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
19
  // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CollapsibleToolRenderer = void 0;
19
20
  const browser_1 = require("@theia/core/lib/browser");
20
21
  const React = require("@theia/core/shared/react");
21
22
  const CollapsibleToolRenderer = ({ compactHeader, expandedContent, onHeaderClick, headerStyle, defaultExpanded = false }) => {
@@ -32,14 +33,10 @@ const CollapsibleToolRenderer = ({ compactHeader, expandedContent, onHeaderClick
32
33
  }
33
34
  onHeaderClick?.();
34
35
  };
35
- return (React.createElement("div", { className: "codex-tool container" },
36
- React.createElement("div", { className: `codex-tool header${hasExpandableContent ? ' expandable' : ''}`, onClick: handleHeaderClick, style: {
37
- cursor: hasExpandableContent || onHeaderClick ? 'pointer' : 'default',
38
- ...headerStyle
39
- } },
40
- hasExpandableContent && (React.createElement("span", { className: `${(0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right')} codex-tool expand-icon` })),
41
- compactHeader),
42
- hasExpandableContent && isExpanded && (React.createElement("div", { className: "codex-tool expanded-content" }, expandedContent))));
36
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "codex-tool container", children: [(0, jsx_runtime_1.jsxs)("div", { className: `codex-tool header${hasExpandableContent ? ' expandable' : ''}`, onClick: handleHeaderClick, style: {
37
+ cursor: hasExpandableContent || onHeaderClick ? 'pointer' : 'default',
38
+ ...headerStyle
39
+ }, children: [hasExpandableContent && ((0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right')} codex-tool expand-icon` })), compactHeader] }), hasExpandableContent && isExpanded && ((0, jsx_runtime_1.jsx)("div", { className: "codex-tool expanded-content", children: expandedContent }))] }));
43
40
  };
44
41
  exports.CollapsibleToolRenderer = CollapsibleToolRenderer;
45
42
  //# sourceMappingURL=collapsible-tool-renderer.js.map
@@ -1 +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,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,aAAa,EAAE,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,EAAE,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,sBAAsB;QACjC,6BACI,SAAS,EAAE,oBAAoB,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1E,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,yBAAyB,GAAI,CAC1G;YACA,aAAa,CACZ;QACL,oBAAoB,IAAI,UAAU,IAAI,CACnC,6BAAK,SAAS,EAAC,6BAA6B,IACvC,eAAe,CACd,CACT,CACC,CACT,CAAC;AACN,CAAC,CAAC;AA9CW,QAAA,uBAAuB,2BA8ClC"}
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,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,aAAa,EAAE,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,EAAE,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAC,sBAAsB,aACjC,iCACI,SAAS,EAAE,oBAAoB,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1E,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE;oBACH,MAAM,EAAE,oBAAoB,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACrE,GAAG,WAAW;iBACjB,aAEA,oBAAoB,IAAI,CACrB,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,yBAAyB,GAAI,CAC1G,EACA,aAAa,IACZ,EACL,oBAAoB,IAAI,UAAU,IAAI,CACnC,gCAAK,SAAS,EAAC,6BAA6B,YACvC,eAAe,GACd,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAC;AA9CW,QAAA,uBAAuB,2BA8ClC"}
@@ -2,7 +2,9 @@ import { ChatResponseContent } from '@theia/ai-chat';
2
2
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
3
3
  import { ReactNode } from '@theia/core/shared/react';
4
4
  import { CodexToolCallChatResponseContent } from '../codex-tool-call-content';
5
+ import { ILogger } from '@theia/core';
5
6
  export declare class CommandExecutionRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
7
+ protected readonly logger: ILogger;
6
8
  canHandle(response: ChatResponseContent): number;
7
9
  render(content: CodexToolCallChatResponseContent): ReactNode;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-execution-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/command-execution-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAIrG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAG9E,qBACa,wBAAyB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IACvG,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS;CAqB/D"}
1
+ {"version":3,"file":"command-execution-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/command-execution-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAIrG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,qBACa,wBAAyB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IAGvG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS;CAqB/D"}
@@ -1,22 +1,8 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.CommandExecutionRenderer = void 0;
19
4
  const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
20
6
  const browser_1 = require("@theia/core/lib/browser");
21
7
  const inversify_1 = require("@theia/core/shared/inversify");
22
8
  const React = require("@theia/core/shared/react");
@@ -37,40 +23,31 @@ let CommandExecutionRenderer = class CommandExecutionRenderer {
37
23
  : content.result;
38
24
  }
39
25
  catch (error) {
40
- console.error('Failed to parse command execution result:', error);
26
+ this.logger.error('Failed to parse command execution result:', error);
41
27
  return undefined;
42
28
  }
43
29
  }
44
30
  if (!item) {
45
31
  const args = content.arguments ? JSON.parse(content.arguments) : {};
46
- return React.createElement(CommandExecutionInProgressComponent, { command: args.command || core_1.nls.localizeByDefault('Executing') });
32
+ return (0, jsx_runtime_1.jsx)(CommandExecutionInProgressComponent, { command: args.command || core_1.nls.localizeByDefault('Executing') });
47
33
  }
48
- return React.createElement(CommandExecutionComponent, { item: item });
34
+ return (0, jsx_runtime_1.jsx)(CommandExecutionComponent, { item: item });
49
35
  }
50
36
  };
51
37
  exports.CommandExecutionRenderer = CommandExecutionRenderer;
38
+ tslib_1.__decorate([
39
+ (0, inversify_1.inject)(core_1.ILogger),
40
+ (0, inversify_1.named)('ai-codex:CommandExecutionRenderer'),
41
+ tslib_1.__metadata("design:type", Object)
42
+ ], CommandExecutionRenderer.prototype, "logger", void 0);
52
43
  exports.CommandExecutionRenderer = CommandExecutionRenderer = tslib_1.__decorate([
53
44
  (0, inversify_1.injectable)()
54
45
  ], CommandExecutionRenderer);
55
- const CommandExecutionInProgressComponent = ({ command }) => (React.createElement("div", { className: "codex-command-execution" },
56
- React.createElement("div", { className: "codex-tool-header" },
57
- React.createElement("span", { className: `${(0, browser_1.codicon)('loading')} codex-tool-icon codex-loading` }),
58
- React.createElement("span", { className: "codex-tool-name" }, core_1.nls.localizeByDefault('Terminal')),
59
- React.createElement("code", { className: "codex-command-line" }, command),
60
- React.createElement("span", { className: "codex-exit-code in-progress" },
61
- core_1.nls.localizeByDefault('Running'),
62
- "..."))));
46
+ const CommandExecutionInProgressComponent = ({ command }) => ((0, jsx_runtime_1.jsx)("div", { className: "codex-command-execution", children: (0, jsx_runtime_1.jsxs)("div", { className: "codex-tool-header", children: [(0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('loading')} codex-tool-icon codex-loading` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool-name", children: core_1.nls.localizeByDefault('Terminal') }), (0, jsx_runtime_1.jsx)("code", { className: "codex-command-line", children: command }), (0, jsx_runtime_1.jsxs)("span", { className: "codex-exit-code in-progress", children: [core_1.nls.localizeByDefault('Running'), "..."] })] }) }));
63
47
  const CommandExecutionComponent = ({ item }) => {
64
48
  const [isExpanded, setIsExpanded] = React.useState(false);
65
49
  const success = item.exit_code === 0;
66
50
  const hasOutput = item.aggregated_output && item.aggregated_output.trim().length > 0;
67
- return (React.createElement("div", { className: "codex-command-execution" },
68
- React.createElement("div", { className: `codex-tool-header${hasOutput ? ' expandable' : ''}`, onClick: () => hasOutput && setIsExpanded(!isExpanded), style: { cursor: hasOutput ? 'pointer' : 'default' } },
69
- hasOutput && (React.createElement("span", { className: `${(0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right')} codex-expand-icon` })),
70
- React.createElement("span", { className: `${(0, browser_1.codicon)('terminal')} codex-tool-icon` }),
71
- React.createElement("span", { className: "codex-tool-name" }, core_1.nls.localizeByDefault('Terminal')),
72
- React.createElement("code", { className: "codex-command-line" }, item.command),
73
- React.createElement("span", { className: `codex-exit-code ${success ? 'success' : 'error'}` }, core_1.nls.localize('theia/ai/codex/exitCode', 'Exit code: {0}', item.exit_code))),
74
- hasOutput && isExpanded && (React.createElement("pre", { className: "codex-command-output" }, item.aggregated_output))));
51
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "codex-command-execution", children: [(0, jsx_runtime_1.jsxs)("div", { className: `codex-tool-header${hasOutput ? ' expandable' : ''}`, onClick: () => hasOutput && setIsExpanded(!isExpanded), style: { cursor: hasOutput ? 'pointer' : 'default' }, children: [hasOutput && ((0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)(isExpanded ? 'chevron-down' : 'chevron-right')} codex-expand-icon` })), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('terminal')} codex-tool-icon` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool-name", children: core_1.nls.localizeByDefault('Terminal') }), (0, jsx_runtime_1.jsx)("code", { className: "codex-command-line", children: item.command }), (0, jsx_runtime_1.jsx)("span", { className: `codex-exit-code ${success ? 'success' : 'error'}`, children: core_1.nls.localize('theia/ai/codex/exitCode', 'Exit code: {0}', item.exit_code) })] }), hasOutput && isExpanded && ((0, jsx_runtime_1.jsx)("pre", { className: "codex-command-output", children: item.aggregated_output }))] }));
75
52
  };
76
53
  //# sourceMappingURL=command-execution-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-execution-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/command-execution-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-execution-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/command-execution-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
2
2
  import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
3
3
  import { ChatResponseContent } from '@theia/ai-chat/lib/common';
4
+ import { ILogger } from '@theia/core';
4
5
  import { ReactNode } from '@theia/core/shared/react';
5
6
  import { CodexToolCallChatResponseContent } from '../codex-tool-call-content';
6
7
  export declare class TodoListRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
8
+ protected readonly logger: ILogger;
7
9
  canHandle(response: ChatResponseContent): number;
8
10
  render(content: CodexToolCallChatResponseContent, parentNode: ResponseNode): ReactNode;
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"todo-list-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/todo-list-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,MAAM,2BAA2B,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAG9E,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IAE/F,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CAkCzF"}
1
+ {"version":3,"file":"todo-list-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/todo-list-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,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAG9E,qBACa,gBAAiB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IAG/F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;CAkCzF"}
@@ -1,26 +1,11 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.TodoListRenderer = void 0;
19
4
  const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
20
6
  const browser_1 = require("@theia/core/lib/browser");
21
7
  const core_1 = require("@theia/core");
22
8
  const inversify_1 = require("@theia/core/shared/inversify");
23
- const React = require("@theia/core/shared/react");
24
9
  const collapsible_tool_renderer_1 = require("./collapsible-tool-renderer");
25
10
  let TodoListRenderer = class TodoListRenderer {
26
11
  canHandle(response) {
@@ -38,7 +23,7 @@ let TodoListRenderer = class TodoListRenderer {
38
23
  : content.result;
39
24
  }
40
25
  catch (error) {
41
- console.error('[TodoListRenderer] Failed to parse todo_list result:', error);
26
+ this.logger.error('Failed to parse todo_list result:', error);
42
27
  }
43
28
  }
44
29
  if (!item && content.arguments) {
@@ -53,16 +38,21 @@ let TodoListRenderer = class TodoListRenderer {
53
38
  }
54
39
  }
55
40
  catch (error) {
56
- console.error('[TodoListRenderer] Failed to parse todo_list arguments:', error);
41
+ this.logger.error('Failed to parse todo_list arguments:', error);
57
42
  }
58
43
  }
59
44
  if (!item) {
60
45
  return undefined;
61
46
  }
62
- return React.createElement(TodoListComponent, { item: item });
47
+ return (0, jsx_runtime_1.jsx)(TodoListComponent, { item: item });
63
48
  }
64
49
  };
65
50
  exports.TodoListRenderer = TodoListRenderer;
51
+ tslib_1.__decorate([
52
+ (0, inversify_1.inject)(core_1.ILogger),
53
+ (0, inversify_1.named)('ai-codex:TodoListRenderer'),
54
+ tslib_1.__metadata("design:type", Object)
55
+ ], TodoListRenderer.prototype, "logger", void 0);
66
56
  exports.TodoListRenderer = TodoListRenderer = tslib_1.__decorate([
67
57
  (0, inversify_1.injectable)()
68
58
  ], TodoListRenderer);
@@ -72,35 +62,17 @@ const TodoListComponent = ({ item }) => {
72
62
  const totalCount = items.length;
73
63
  if (totalCount === 0) {
74
64
  // Show empty state
75
- return (React.createElement("div", { className: "codex-tool container" },
76
- React.createElement("div", { className: "codex-tool header" },
77
- React.createElement("div", { className: "codex-tool header-left" },
78
- React.createElement("span", { className: "codex-tool title" }, core_1.nls.localize('theia/ai/codex/todoList', 'Todo List')),
79
- React.createElement("span", { className: `${(0, browser_1.codicon)('checklist')} codex-tool icon` }),
80
- React.createElement("span", { className: "codex-tool progress-text" }, core_1.nls.localizeByDefault('Loading...'))),
81
- React.createElement("div", { className: "codex-tool header-right" },
82
- React.createElement("span", { className: "codex-tool badge" }, core_1.nls.localize('theia/ai/codex/noItems', 'No items'))))));
65
+ return ((0, jsx_runtime_1.jsx)("div", { className: "codex-tool container", children: (0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header-left", children: [(0, jsx_runtime_1.jsx)("span", { className: "codex-tool title", children: core_1.nls.localize('theia/ai/codex/todoList', 'Todo List') }), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('checklist')} codex-tool icon` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool progress-text", children: core_1.nls.localizeByDefault('Loading...') })] }), (0, jsx_runtime_1.jsx)("div", { className: "codex-tool header-right", children: (0, jsx_runtime_1.jsx)("span", { className: "codex-tool badge", children: core_1.nls.localize('theia/ai/codex/noItems', 'No items') }) })] }) }));
83
66
  }
84
- const compactHeader = (React.createElement(React.Fragment, null,
85
- React.createElement("div", { className: "codex-tool header-left" },
86
- React.createElement("span", { className: "codex-tool title" }, core_1.nls.localize('theia/ai/codex/todoList', 'Todo List')),
87
- React.createElement("span", { className: `${(0, browser_1.codicon)('checklist')} codex-tool icon` }),
88
- React.createElement("span", { className: "codex-tool progress-text" }, core_1.nls.localize('theia/ai/codex/completedCount', '{0}/{1} completed', completedCount, totalCount))),
89
- React.createElement("div", { className: "codex-tool header-right" },
90
- React.createElement("span", { className: "codex-tool badge" }, totalCount === 1
91
- ? core_1.nls.localize('theia/ai/codex/oneItem', '1 item')
92
- : core_1.nls.localize('theia/ai/codex/itemCount', '{0} items', totalCount)))));
93
- const expandedContent = (React.createElement("div", { className: "codex-tool details" },
94
- React.createElement("div", { className: "codex-tool todo-list-items" }, items.map((todo, index) => {
95
- const statusIcon = todo.completed
96
- ? React.createElement("span", { className: `${(0, browser_1.codicon)('check')} codex-tool todo-status-icon completed` })
97
- : React.createElement("span", { className: `${(0, browser_1.codicon)('circle-outline')} codex-tool todo-status-icon pending` });
98
- return (React.createElement("div", { key: index, className: `codex-tool todo-item ${todo.completed ? 'status-completed' : 'status-pending'}` },
99
- React.createElement("div", { className: "codex-tool todo-item-main" },
100
- React.createElement("div", { className: "codex-tool todo-item-status" }, statusIcon),
101
- React.createElement("div", { className: "codex-tool todo-item-content" },
102
- React.createElement("span", { className: "codex-tool todo-item-text" }, todo.text)))));
103
- }))));
104
- return (React.createElement(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent, defaultExpanded: true }));
67
+ const compactHeader = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header-left", children: [(0, jsx_runtime_1.jsx)("span", { className: "codex-tool title", children: core_1.nls.localize('theia/ai/codex/todoList', 'Todo List') }), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('checklist')} codex-tool icon` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool progress-text", children: core_1.nls.localize('theia/ai/codex/completedCount', '{0}/{1} completed', completedCount, totalCount) })] }), (0, jsx_runtime_1.jsx)("div", { className: "codex-tool header-right", children: (0, jsx_runtime_1.jsx)("span", { className: "codex-tool badge", children: totalCount === 1
68
+ ? core_1.nls.localize('theia/ai/codex/oneItem', '1 item')
69
+ : core_1.nls.localize('theia/ai/codex/itemCount', '{0} items', totalCount) }) })] }));
70
+ const expandedContent = ((0, jsx_runtime_1.jsx)("div", { className: "codex-tool details", children: (0, jsx_runtime_1.jsx)("div", { className: "codex-tool todo-list-items", children: items.map((todo, index) => {
71
+ const statusIcon = todo.completed
72
+ ? (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('check')} codex-tool todo-status-icon completed` })
73
+ : (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('circle-outline')} codex-tool todo-status-icon pending` });
74
+ return ((0, jsx_runtime_1.jsx)("div", { className: `codex-tool todo-item ${todo.completed ? 'status-completed' : 'status-pending'}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "codex-tool todo-item-main", children: [(0, jsx_runtime_1.jsx)("div", { className: "codex-tool todo-item-status", children: statusIcon }), (0, jsx_runtime_1.jsx)("div", { className: "codex-tool todo-item-content", children: (0, jsx_runtime_1.jsx)("span", { className: "codex-tool todo-item-text", children: todo.text }) })] }) }, index));
75
+ }) }) }));
76
+ return ((0, jsx_runtime_1.jsx)(collapsible_tool_renderer_1.CollapsibleToolRenderer, { compactHeader: compactHeader, expandedContent: expandedContent, defaultExpanded: true }));
105
77
  };
106
78
  //# sourceMappingURL=todo-list-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"todo-list-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/todo-list-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo-list-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/todo-list-renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
2
2
  import { ChatResponseContent } from '@theia/ai-chat/lib/common';
3
+ import { ILogger } from '@theia/core';
3
4
  import { ReactNode } from '@theia/core/shared/react';
4
5
  import { CodexToolCallChatResponseContent } from '../codex-tool-call-content';
5
6
  export declare class WebSearchRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
7
+ protected readonly logger: ILogger;
6
8
  canHandle(response: ChatResponseContent): number;
7
9
  render(content: CodexToolCallChatResponseContent): ReactNode;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web-search-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/web-search-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBACa,iBAAkB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IAEhG,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS;CAqB/D"}
1
+ {"version":3,"file":"web-search-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/renderers/web-search-renderer.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBACa,iBAAkB,YAAW,wBAAwB,CAAC,gCAAgC,CAAC;IAGhG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS;CAqB/D"}
@@ -1,26 +1,11 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.WebSearchRenderer = void 0;
19
4
  const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
20
6
  const browser_1 = require("@theia/core/lib/browser");
21
7
  const core_1 = require("@theia/core");
22
8
  const inversify_1 = require("@theia/core/shared/inversify");
23
- const React = require("@theia/core/shared/react");
24
9
  let WebSearchRenderer = class WebSearchRenderer {
25
10
  canHandle(response) {
26
11
  return response.kind === 'toolCall' &&
@@ -37,35 +22,26 @@ let WebSearchRenderer = class WebSearchRenderer {
37
22
  : content.result;
38
23
  }
39
24
  catch (error) {
40
- console.error('Failed to parse web_search result:', error);
25
+ this.logger.error('Failed to parse web_search result:', error);
41
26
  return undefined;
42
27
  }
43
28
  }
44
29
  if (!item) {
45
30
  const args = content.arguments ? JSON.parse(content.arguments) : {};
46
- return React.createElement(WebSearchInProgressComponent, { query: args.query || '' });
31
+ return (0, jsx_runtime_1.jsx)(WebSearchInProgressComponent, { query: args.query || '' });
47
32
  }
48
- return React.createElement(WebSearchCompletedComponent, { item: item });
33
+ return (0, jsx_runtime_1.jsx)(WebSearchCompletedComponent, { item: item });
49
34
  }
50
35
  };
51
36
  exports.WebSearchRenderer = WebSearchRenderer;
37
+ tslib_1.__decorate([
38
+ (0, inversify_1.inject)(core_1.ILogger),
39
+ (0, inversify_1.named)('ai-codex:WebSearchRenderer'),
40
+ tslib_1.__metadata("design:type", Object)
41
+ ], WebSearchRenderer.prototype, "logger", void 0);
52
42
  exports.WebSearchRenderer = WebSearchRenderer = tslib_1.__decorate([
53
43
  (0, inversify_1.injectable)()
54
44
  ], WebSearchRenderer);
55
- const WebSearchInProgressComponent = ({ query }) => (React.createElement("div", { className: "codex-tool container" },
56
- React.createElement("div", { className: "codex-tool header" },
57
- React.createElement("div", { className: "codex-tool header-left" },
58
- React.createElement("span", { className: "codex-tool title" }, core_1.nls.localize('theia/ai/codex/searching', 'Searching')),
59
- React.createElement("span", { className: `${(0, browser_1.codicon)('loading')} codex-tool icon theia-animation-spin` }),
60
- React.createElement("span", { className: "codex-tool command" }, query)),
61
- React.createElement("div", { className: "codex-tool header-right" },
62
- React.createElement("span", { className: "codex-tool badge" }, core_1.nls.localizeByDefault('Web Search'))))));
63
- const WebSearchCompletedComponent = ({ item }) => (React.createElement("div", { className: "codex-tool container" },
64
- React.createElement("div", { className: "codex-tool header" },
65
- React.createElement("div", { className: "codex-tool header-left" },
66
- React.createElement("span", { className: "codex-tool title" }, core_1.nls.localize('theia/ai/codex/searched', 'Searched')),
67
- React.createElement("span", { className: `${(0, browser_1.codicon)('globe')} codex-tool icon` }),
68
- React.createElement("span", { className: "codex-tool command" }, item.query)),
69
- React.createElement("div", { className: "codex-tool header-right" },
70
- React.createElement("span", { className: "codex-tool badge" }, core_1.nls.localizeByDefault('Web Search'))))));
45
+ const WebSearchInProgressComponent = ({ query }) => ((0, jsx_runtime_1.jsx)("div", { className: "codex-tool container", children: (0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header-left", children: [(0, jsx_runtime_1.jsx)("span", { className: "codex-tool title", children: core_1.nls.localize('theia/ai/codex/searching', 'Searching') }), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('loading')} codex-tool icon theia-animation-spin` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool command", children: query })] }), (0, jsx_runtime_1.jsx)("div", { className: "codex-tool header-right", children: (0, jsx_runtime_1.jsx)("span", { className: "codex-tool badge", children: core_1.nls.localizeByDefault('Web Search') }) })] }) }));
46
+ const WebSearchCompletedComponent = ({ item }) => ((0, jsx_runtime_1.jsx)("div", { className: "codex-tool container", children: (0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "codex-tool header-left", children: [(0, jsx_runtime_1.jsx)("span", { className: "codex-tool title", children: core_1.nls.localize('theia/ai/codex/searched', 'Searched') }), (0, jsx_runtime_1.jsx)("span", { className: `${(0, browser_1.codicon)('globe')} codex-tool icon` }), (0, jsx_runtime_1.jsx)("span", { className: "codex-tool command", children: item.query })] }), (0, jsx_runtime_1.jsx)("div", { className: "codex-tool header-right", children: (0, jsx_runtime_1.jsx)("span", { className: "codex-tool badge", children: core_1.nls.localizeByDefault('Web Search') }) })] }) }));
71
47
  //# sourceMappingURL=web-search-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-search-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/web-search-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search-renderer.js","sourceRoot":"","sources":["../../../src/browser/renderers/web-search-renderer.tsx"],"names":[],"mappings":";;;;;AAkBA,qDAAkD;AAClD,sCAA2C;AAC3C,4DAAyE;AAOlE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAK1B,SAAS,CAAC,QAA6B;QACnC,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;YAC9B,QAA6C,CAAC,IAAI,KAAK,YAAY;YACpE,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,OAAyC;QAC5C,IAAI,IAA+B,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,IAAI,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;oBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5B,CAAC,CAAC,OAAO,CAAC,MAAuB,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;gBAC/D,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,uBAAC,4BAA4B,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,GAAI,CAAC;QACrE,CAAC;QAED,OAAO,uBAAC,2BAA2B,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IACvD,CAAC;CACJ,CAAA;AAjCY,8CAAiB;AAGP;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,4BAA4B,CAAC;;iDAClB;4BAH1B,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;GACA,iBAAiB,CAiC7B;AAED,MAAM,4BAA4B,GAAgC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC7E,gCAAK,SAAS,EAAC,sBAAsB,YACjC,iCAAK,SAAS,EAAC,mBAAmB,aAC9B,iCAAK,SAAS,EAAC,wBAAwB,aACnC,iCAAM,SAAS,EAAC,kBAAkB,YAAE,UAAG,CAAC,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,GAAQ,EACjG,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,SAAS,CAAC,uCAAuC,GAAI,EACjF,iCAAM,SAAS,EAAC,oBAAoB,YAAE,KAAK,GAAQ,IACjD,EACN,gCAAK,SAAS,EAAC,yBAAyB,YACpC,iCAAM,SAAS,EAAC,kBAAkB,YAAE,UAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAQ,GAC7E,IACJ,GACJ,CACT,CAAC;AAEF,MAAM,2BAA2B,GAAsC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACjF,gCAAK,SAAS,EAAC,sBAAsB,YACjC,iCAAK,SAAS,EAAC,mBAAmB,aAC9B,iCAAK,SAAS,EAAC,wBAAwB,aACnC,iCAAM,SAAS,EAAC,kBAAkB,YAAE,UAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,UAAU,CAAC,GAAQ,EAC/F,iCAAM,SAAS,EAAE,GAAG,IAAA,iBAAO,EAAC,OAAO,CAAC,kBAAkB,GAAI,EAC1D,iCAAM,SAAS,EAAC,oBAAoB,YAAE,IAAI,CAAC,KAAK,GAAQ,IACtD,EACN,gCAAK,SAAS,EAAC,yBAAyB,YACpC,iCAAM,SAAS,EAAC,kBAAkB,YAAE,UAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAQ,GAC7E,IACJ,GACJ,CACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-preferences.d.ts","sourceRoot":"","sources":["../../src/common/codex-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,EAAE,gBAUpC,CAAC"}
1
+ {"version":3,"file":"codex-preferences.d.ts","sourceRoot":"","sources":["../../src/common/codex-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,EAAE,gBAWpC,CAAC"}
@@ -23,6 +23,7 @@ exports.CodexPreferencesSchema = {
23
23
  properties: {
24
24
  [exports.CODEX_API_KEY_PREF]: {
25
25
  type: 'string',
26
+ typeDetails: { [ai_core_preferences_1.MODEL_PROVIDER_TYPE_DETAIL]: { label: 'Codex' } },
26
27
  markdownDescription: core_1.nls.localize('theia/ai/codex/apiKey/description', 'OpenAI API key for Codex. If not set, falls back to the shared OpenAI API key (`ai-features.openAiOfficial.openAiApiKey`). ' +
27
28
  'Can also be set via `OPENAI_API_KEY` environment variable.'),
28
29
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
@@ -1 +1 @@
1
- {"version":3,"file":"codex-preferences.js","sourceRoot":"","sources":["../../src/common/codex-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,kBAAkB,GAAG,0BAA0B,CAAC;AAEhD,QAAA,sBAAsB,GAAqB;IACpD,UAAU,EAAE;QACR,CAAC,0BAAkB,CAAC,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,mCAAmC,EACjE,6HAA6H;gBAC7H,4DAA4D,CAAC;YACjE,KAAK,EAAE,+CAAyB;SACnC;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"codex-preferences.js","sourceRoot":"","sources":["../../src/common/codex-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,uFAA+I;AAC/I,sCAAoD;AAEvC,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAEhD,QAAA,sBAAsB,GAAqB;IACpD,UAAU,EAAE;QACR,CAAC,0BAAkB,CAAC,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,CAAC,gDAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAoC,EAAE;YACnG,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,mCAAmC,EACjE,6HAA6H;gBAC7H,4DAA4D,CAAC;YACjE,KAAK,EAAE,+CAAyB;SACnC;KACJ;CACJ,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { ILogger } from '@theia/core';
1
2
  import { CodexBackendRequest, CodexClient, CodexService } from '../common/codex-service';
2
3
  export declare class CodexServiceImpl implements CodexService {
3
- private logger;
4
+ protected readonly logger: ILogger;
4
5
  private client;
5
6
  private sessionThreads;
6
7
  private abortControllers;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/codex-service-impl.ts"],"names":[],"mappings":"AAmBA,OAAO,EACH,mBAAmB,EACnB,WAAW,EACX,YAAY,EACf,MAAM,yBAAyB,CAAC;AAEjC,qBACa,gBAAiB,YAAW,YAAY;IAGjD,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,gBAAgB,CAAsC;IAE9D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOzD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C3F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ9B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG5C"}
1
+ {"version":3,"file":"codex-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/codex-service-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EACH,mBAAmB,EACnB,WAAW,EACX,YAAY,EACf,MAAM,yBAAyB,CAAC;AAEjC,qBACa,gBAAiB,YAAW,YAAY;IAGjD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,gBAAgB,CAAsC;IAE9D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOzD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C3F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ9B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG5C"}
@@ -88,7 +88,7 @@ let CodexServiceImpl = class CodexServiceImpl {
88
88
  exports.CodexServiceImpl = CodexServiceImpl;
89
89
  tslib_1.__decorate([
90
90
  (0, inversify_1.inject)(core_1.ILogger),
91
- (0, inversify_1.named)('Codex'),
91
+ (0, inversify_1.named)('ai-codex:CodexServiceImpl'),
92
92
  tslib_1.__metadata("design:type", Object)
93
93
  ], CodexServiceImpl.prototype, "logger", void 0);
94
94
  exports.CodexServiceImpl = CodexServiceImpl = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"codex-service-impl.js","sourceRoot":"","sources":["../../src/node/codex-service-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-service-impl.js","sourceRoot":"","sources":["../../src/node/codex-service-impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@theia/ai-codex",
3
- "version": "1.75.0-next.8+c4452ce29",
3
+ "version": "1.76.0-next.0+52f32db6e",
4
4
  "description": "Theia - OpenAI Codex Integration",
5
5
  "dependencies": {
6
6
  "@openai/codex-sdk": "^0.49.0",
7
- "@theia/ai-chat": "1.75.0-next.8+c4452ce29",
8
- "@theia/ai-chat-ui": "1.75.0-next.8+c4452ce29",
9
- "@theia/ai-core": "1.75.0-next.8+c4452ce29",
10
- "@theia/ai-openai": "1.75.0-next.8+c4452ce29",
11
- "@theia/core": "1.75.0-next.8+c4452ce29",
12
- "@theia/editor": "1.75.0-next.8+c4452ce29",
13
- "@theia/filesystem": "1.75.0-next.8+c4452ce29",
7
+ "@theia/ai-chat": "1.76.0-next.0+52f32db6e",
8
+ "@theia/ai-chat-ui": "1.76.0-next.0+52f32db6e",
9
+ "@theia/ai-core": "1.76.0-next.0+52f32db6e",
10
+ "@theia/ai-openai": "1.76.0-next.0+52f32db6e",
11
+ "@theia/core": "1.76.0-next.0+52f32db6e",
12
+ "@theia/editor": "1.76.0-next.0+52f32db6e",
13
+ "@theia/filesystem": "1.76.0-next.0+52f32db6e",
14
14
  "@theia/monaco-editor-core": "1.108.201",
15
- "@theia/output": "1.75.0-next.8+c4452ce29",
16
- "@theia/workspace": "1.75.0-next.8+c4452ce29",
15
+ "@theia/output": "1.76.0-next.0+52f32db6e",
16
+ "@theia/workspace": "1.76.0-next.0+52f32db6e",
17
17
  "tslib": "^2.8.1"
18
18
  },
19
19
  "publishConfig": {
@@ -50,10 +50,10 @@
50
50
  "watch": "theiaext watch"
51
51
  },
52
52
  "devDependencies": {
53
- "@theia/ext-scripts": "1.74.0"
53
+ "@theia/ext-scripts": "1.75.0"
54
54
  },
55
55
  "nyc": {
56
56
  "extends": "../../configs/nyc.json"
57
57
  },
58
- "gitHead": "c4452ce290653826389aa42dfddfabe461c1dcc8"
58
+ "gitHead": "52f32db6e32d1f88dbbbbde08c8a01ad75c53e11"
59
59
  }
@@ -17,15 +17,19 @@
17
17
  import { ChatResponseContent } from '@theia/ai-chat';
18
18
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
19
19
  import { codicon } from '@theia/core/lib/browser';
20
- import { injectable } from '@theia/core/shared/inversify';
20
+ import { injectable, inject, named } from '@theia/core/shared/inversify';
21
21
  import * as React from '@theia/core/shared/react';
22
22
  import { ReactNode } from '@theia/core/shared/react';
23
23
  import type { CommandExecutionItem } from '@openai/codex-sdk';
24
24
  import { CodexToolCallChatResponseContent } from '../codex-tool-call-content';
25
- import { nls } from '@theia/core';
25
+ import { nls, ILogger } from '@theia/core';
26
26
 
27
27
  @injectable()
28
28
  export class CommandExecutionRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
29
+
30
+ @inject(ILogger) @named('ai-codex:CommandExecutionRenderer')
31
+ protected readonly logger: ILogger;
32
+
29
33
  canHandle(response: ChatResponseContent): number {
30
34
  return response.kind === 'toolCall' &&
31
35
  (response as CodexToolCallChatResponseContent).name === 'command_execution'
@@ -42,7 +46,7 @@ export class CommandExecutionRenderer implements ChatResponsePartRenderer<CodexT
42
46
  ? JSON.parse(content.result)
43
47
  : content.result as CommandExecutionItem;
44
48
  } catch (error) {
45
- console.error('Failed to parse command execution result:', error);
49
+ this.logger.error('Failed to parse command execution result:', error);
46
50
  return undefined;
47
51
  }
48
52
  }
@@ -18,8 +18,8 @@ import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-res
18
18
  import { ResponseNode } from '@theia/ai-chat-ui/lib/browser/chat-tree-view';
19
19
  import { ChatResponseContent } from '@theia/ai-chat/lib/common';
20
20
  import { codicon } from '@theia/core/lib/browser';
21
- import { nls } from '@theia/core';
22
- import { injectable } from '@theia/core/shared/inversify';
21
+ import { nls, ILogger } from '@theia/core';
22
+ import { injectable, inject, named } from '@theia/core/shared/inversify';
23
23
  import * as React from '@theia/core/shared/react';
24
24
  import { ReactNode } from '@theia/core/shared/react';
25
25
  import type { TodoListItem } from '@openai/codex-sdk';
@@ -29,6 +29,9 @@ import { CollapsibleToolRenderer } from './collapsible-tool-renderer';
29
29
  @injectable()
30
30
  export class TodoListRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
31
31
 
32
+ @inject(ILogger) @named('ai-codex:TodoListRenderer')
33
+ protected readonly logger: ILogger;
34
+
32
35
  canHandle(response: ChatResponseContent): number {
33
36
  return response.kind === 'toolCall' &&
34
37
  (response as CodexToolCallChatResponseContent).name === 'todo_list'
@@ -45,7 +48,7 @@ export class TodoListRenderer implements ChatResponsePartRenderer<CodexToolCallC
45
48
  ? JSON.parse(content.result)
46
49
  : content.result as TodoListItem;
47
50
  } catch (error) {
48
- console.error('[TodoListRenderer] Failed to parse todo_list result:', error);
51
+ this.logger.error('Failed to parse todo_list result:', error);
49
52
  }
50
53
  }
51
54
 
@@ -60,7 +63,7 @@ export class TodoListRenderer implements ChatResponsePartRenderer<CodexToolCallC
60
63
  };
61
64
  }
62
65
  } catch (error) {
63
- console.error('[TodoListRenderer] Failed to parse todo_list arguments:', error);
66
+ this.logger.error('Failed to parse todo_list arguments:', error);
64
67
  }
65
68
  }
66
69
 
@@ -17,8 +17,8 @@
17
17
  import { ChatResponsePartRenderer } from '@theia/ai-chat-ui/lib/browser/chat-response-part-renderer';
18
18
  import { ChatResponseContent } from '@theia/ai-chat/lib/common';
19
19
  import { codicon } from '@theia/core/lib/browser';
20
- import { nls } from '@theia/core';
21
- import { injectable } from '@theia/core/shared/inversify';
20
+ import { nls, ILogger } from '@theia/core';
21
+ import { injectable, inject, named } from '@theia/core/shared/inversify';
22
22
  import * as React from '@theia/core/shared/react';
23
23
  import { ReactNode } from '@theia/core/shared/react';
24
24
  import type { WebSearchItem } from '@openai/codex-sdk';
@@ -27,6 +27,9 @@ import { CodexToolCallChatResponseContent } from '../codex-tool-call-content';
27
27
  @injectable()
28
28
  export class WebSearchRenderer implements ChatResponsePartRenderer<CodexToolCallChatResponseContent> {
29
29
 
30
+ @inject(ILogger) @named('ai-codex:WebSearchRenderer')
31
+ protected readonly logger: ILogger;
32
+
30
33
  canHandle(response: ChatResponseContent): number {
31
34
  return response.kind === 'toolCall' &&
32
35
  (response as CodexToolCallChatResponseContent).name === 'web_search'
@@ -43,7 +46,7 @@ export class WebSearchRenderer implements ChatResponsePartRenderer<CodexToolCall
43
46
  ? JSON.parse(content.result)
44
47
  : content.result as WebSearchItem;
45
48
  } catch (error) {
46
- console.error('Failed to parse web_search result:', error);
49
+ this.logger.error('Failed to parse web_search result:', error);
47
50
  return undefined;
48
51
  }
49
52
  }
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { AI_CORE_PREFERENCES_TITLE } from '@theia/ai-core/lib/common/ai-core-preferences';
17
+ import { AI_CORE_PREFERENCES_TITLE, MODEL_PROVIDER_TYPE_DETAIL, ModelProviderTypeDetail } from '@theia/ai-core/lib/common/ai-core-preferences';
18
18
  import { nls, PreferenceSchema } from '@theia/core';
19
19
 
20
20
  export const CODEX_API_KEY_PREF = 'ai-features.codex.apiKey';
@@ -23,6 +23,7 @@ export const CodexPreferencesSchema: PreferenceSchema = {
23
23
  properties: {
24
24
  [CODEX_API_KEY_PREF]: {
25
25
  type: 'string',
26
+ typeDetails: { [MODEL_PROVIDER_TYPE_DETAIL]: { label: 'Codex' } satisfies ModelProviderTypeDetail },
26
27
  markdownDescription: nls.localize('theia/ai/codex/apiKey/description',
27
28
  'OpenAI API key for Codex. If not set, falls back to the shared OpenAI API key (`ai-features.openAiOfficial.openAiApiKey`). ' +
28
29
  'Can also be set via `OPENAI_API_KEY` environment variable.'),
@@ -26,8 +26,8 @@ import {
26
26
  @injectable()
27
27
  export class CodexServiceImpl implements CodexService {
28
28
 
29
- @inject(ILogger) @named('Codex')
30
- private logger: ILogger;
29
+ @inject(ILogger) @named('ai-codex:CodexServiceImpl')
30
+ protected readonly logger: ILogger;
31
31
 
32
32
  private client: CodexClient;
33
33
  private sessionThreads = new Map<string, Thread>();