@theia/ai-chat-ui 1.75.0-next.42 → 1.75.0-next.43

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 (105) hide show
  1. package/lib/browser/change-set-actions/change-set-accept-action.js +2 -17
  2. package/lib/browser/change-set-actions/change-set-accept-action.js.map +1 -1
  3. package/lib/browser/chat-banner-widget.js +7 -6
  4. package/lib/browser/chat-banner-widget.js.map +1 -1
  5. package/lib/browser/chat-capabilities-panel.js +8 -11
  6. package/lib/browser/chat-capabilities-panel.js.map +1 -1
  7. package/lib/browser/chat-input-agent-suggestions.js +3 -18
  8. package/lib/browser/chat-input-agent-suggestions.js.map +1 -1
  9. package/lib/browser/chat-input-widget.js +77 -151
  10. package/lib/browser/chat-input-widget.js.map +1 -1
  11. package/lib/browser/chat-progress-message.d.ts +2 -3
  12. package/lib/browser/chat-progress-message.d.ts.map +1 -1
  13. package/lib/browser/chat-progress-message.js +6 -27
  14. package/lib/browser/chat-progress-message.js.map +1 -1
  15. package/lib/browser/chat-response-renderer/blocked-resource-placeholder.d.ts.map +1 -1
  16. package/lib/browser/chat-response-renderer/blocked-resource-placeholder.js +4 -29
  17. package/lib/browser/chat-response-renderer/blocked-resource-placeholder.js.map +1 -1
  18. package/lib/browser/chat-response-renderer/code-part-renderer.js +11 -16
  19. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
  20. package/lib/browser/chat-response-renderer/command-part-renderer.d.ts.map +1 -1
  21. package/lib/browser/chat-response-renderer/command-part-renderer.js +3 -18
  22. package/lib/browser/chat-response-renderer/command-part-renderer.js.map +1 -1
  23. package/lib/browser/chat-response-renderer/compaction-part-renderer.d.ts.map +1 -1
  24. package/lib/browser/chat-response-renderer/compaction-part-renderer.js +3 -22
  25. package/lib/browser/chat-response-renderer/compaction-part-renderer.js.map +1 -1
  26. package/lib/browser/chat-response-renderer/delegation-tool-renderer.js +10 -30
  27. package/lib/browser/chat-response-renderer/delegation-tool-renderer.js.map +1 -1
  28. package/lib/browser/chat-response-renderer/error-part-renderer.d.ts.map +1 -1
  29. package/lib/browser/chat-response-renderer/error-part-renderer.js +2 -25
  30. package/lib/browser/chat-response-renderer/error-part-renderer.js.map +1 -1
  31. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts.map +1 -1
  32. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js +13 -13
  33. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js.map +1 -1
  34. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +1 -1
  35. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
  36. package/lib/browser/chat-response-renderer/markdown-part-renderer.js +3 -18
  37. package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
  38. package/lib/browser/chat-response-renderer/markdown-part-renderer.spec.js +14 -14
  39. package/lib/browser/chat-response-renderer/markdown-part-renderer.spec.js.map +1 -1
  40. package/lib/browser/chat-response-renderer/mermaid-part-renderer.d.ts.map +1 -1
  41. package/lib/browser/chat-response-renderer/mermaid-part-renderer.js +5 -5
  42. package/lib/browser/chat-response-renderer/mermaid-part-renderer.js.map +1 -1
  43. package/lib/browser/chat-response-renderer/mermaid-rendering.js +14 -44
  44. package/lib/browser/chat-response-renderer/mermaid-rendering.js.map +1 -1
  45. package/lib/browser/chat-response-renderer/not-available-toolcall-renderer.d.ts.map +1 -1
  46. package/lib/browser/chat-response-renderer/not-available-toolcall-renderer.js +2 -23
  47. package/lib/browser/chat-response-renderer/not-available-toolcall-renderer.js.map +1 -1
  48. package/lib/browser/chat-response-renderer/progress-part-renderer.d.ts.map +1 -1
  49. package/lib/browser/chat-response-renderer/progress-part-renderer.js +2 -17
  50. package/lib/browser/chat-response-renderer/progress-part-renderer.js.map +1 -1
  51. package/lib/browser/chat-response-renderer/question-part-renderer.js +13 -25
  52. package/lib/browser/chat-response-renderer/question-part-renderer.js.map +1 -1
  53. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js +5 -41
  54. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js.map +1 -1
  55. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts.map +1 -1
  56. package/lib/browser/chat-response-renderer/text-part-renderer.js +3 -21
  57. package/lib/browser/chat-response-renderer/text-part-renderer.js.map +1 -1
  58. package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts.map +1 -1
  59. package/lib/browser/chat-response-renderer/thinking-part-renderer.js +2 -20
  60. package/lib/browser/chat-response-renderer/thinking-part-renderer.js.map +1 -1
  61. package/lib/browser/chat-response-renderer/tool-call-rendering.js +7 -14
  62. package/lib/browser/chat-response-renderer/tool-call-rendering.js.map +1 -1
  63. package/lib/browser/chat-response-renderer/tool-confirmation.js +25 -82
  64. package/lib/browser/chat-response-renderer/tool-confirmation.js.map +1 -1
  65. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +5 -65
  66. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
  67. package/lib/browser/chat-response-renderer/toolcall-result.d.ts.map +1 -1
  68. package/lib/browser/chat-response-renderer/toolcall-result.js +19 -38
  69. package/lib/browser/chat-response-renderer/toolcall-result.js.map +1 -1
  70. package/lib/browser/chat-response-renderer/unknown-part-renderer.d.ts.map +1 -1
  71. package/lib/browser/chat-response-renderer/unknown-part-renderer.js +5 -9
  72. package/lib/browser/chat-response-renderer/unknown-part-renderer.js.map +1 -1
  73. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +101 -136
  74. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  75. package/lib/browser/chat-tree-view/chat-view-tree-widget.spec.js +5 -5
  76. package/lib/browser/chat-tree-view/chat-view-tree-widget.spec.js.map +1 -1
  77. package/lib/browser/chat-tree-view/model-badge.js +3 -2
  78. package/lib/browser/chat-tree-view/model-badge.js.map +1 -1
  79. package/lib/browser/chat-tree-view/prompt-variant-badge.js +3 -2
  80. package/lib/browser/chat-tree-view/prompt-variant-badge.js.map +1 -1
  81. package/lib/browser/chat-tree-view/sub-chat-widget.js +16 -19
  82. package/lib/browser/chat-tree-view/sub-chat-widget.js.map +1 -1
  83. package/lib/browser/generic-capabilities-section.js +2 -19
  84. package/lib/browser/generic-capabilities-section.js.map +1 -1
  85. package/lib/browser/generic-capabilities-tree.js +31 -47
  86. package/lib/browser/generic-capabilities-tree.js.map +1 -1
  87. package/lib/browser/session-settings-dialog.js +12 -51
  88. package/lib/browser/session-settings-dialog.js.map +1 -1
  89. package/package.json +11 -11
  90. package/src/browser/chat-progress-message.tsx +0 -1
  91. package/src/browser/chat-response-renderer/blocked-resource-placeholder.tsx +1 -2
  92. package/src/browser/chat-response-renderer/command-part-renderer.tsx +0 -1
  93. package/src/browser/chat-response-renderer/compaction-part-renderer.tsx +0 -1
  94. package/src/browser/chat-response-renderer/error-part-renderer.tsx +0 -1
  95. package/src/browser/chat-response-renderer/horizontal-layout-part-renderer.tsx +0 -1
  96. package/src/browser/chat-response-renderer/markdown-part-renderer.spec.tsx +0 -1
  97. package/src/browser/chat-response-renderer/mermaid-part-renderer.tsx +0 -1
  98. package/src/browser/chat-response-renderer/not-available-toolcall-renderer.tsx +0 -1
  99. package/src/browser/chat-response-renderer/progress-part-renderer.tsx +0 -1
  100. package/src/browser/chat-response-renderer/text-part-renderer.tsx +0 -1
  101. package/src/browser/chat-response-renderer/thinking-part-renderer.tsx +0 -1
  102. package/src/browser/chat-response-renderer/toolcall-result.tsx +0 -1
  103. package/src/browser/chat-response-renderer/unknown-part-renderer.tsx +0 -1
  104. package/src/browser/chat-tree-view/chat-view-tree-widget.spec.tsx +0 -1
  105. package/src/browser/session-settings-dialog.tsx +1 -1
@@ -1,23 +1,8 @@
1
1
  "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH and others.
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.ChangeSetAcceptAction = void 0;
19
4
  const tslib_1 = require("tslib");
20
- const React = require("@theia/core/shared/react");
5
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
21
6
  const inversify_1 = require("@theia/core/shared/inversify");
22
7
  const core_1 = require("@theia/core");
23
8
  let ChangeSetAcceptAction = class ChangeSetAcceptAction {
@@ -28,7 +13,7 @@ let ChangeSetAcceptAction = class ChangeSetAcceptAction {
28
13
  return changeSet.getElements().length > 0;
29
14
  }
30
15
  render(changeSet) {
31
- return React.createElement("button", { className: 'theia-button', disabled: !hasPendingElementsToAccept(changeSet), title: core_1.nls.localize('theia/ai/chat-ui/applyAllTitle', 'Apply all pending changes'), onClick: () => acceptAllPendingElements(changeSet) }, core_1.nls.localize('theia/ai/chat-ui/applyAll', 'Apply All'));
16
+ return (0, jsx_runtime_1.jsx)("button", { className: 'theia-button', disabled: !hasPendingElementsToAccept(changeSet), title: core_1.nls.localize('theia/ai/chat-ui/applyAllTitle', 'Apply all pending changes'), onClick: () => acceptAllPendingElements(changeSet), children: core_1.nls.localize('theia/ai/chat-ui/applyAll', 'Apply All') });
32
17
  }
33
18
  };
34
19
  exports.ChangeSetAcceptAction = ChangeSetAcceptAction;
@@ -1 +1 @@
1
- {"version":3,"file":"change-set-accept-action.js","sourceRoot":"","sources":["../../../src/browser/change-set-actions/change-set-accept-action.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,kDAAkD;AAClD,4DAA0D;AAG1D,sCAAkC;AAG3B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACM,OAAE,GAAG,0BAA0B,CAAC;IAe7C,CAAC;IAdG,SAAS,CAAC,SAAoB;QAC1B,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,SAAoB;QACvB,OAAO,gCACH,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAChD,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,2BAA2B,CAAC,EAClF,OAAO,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAEjD,UAAG,CAAC,QAAQ,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAClD,CAAC;IACd,CAAC;CACJ,CAAA;AAhBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAgBjC;AAED,SAAS,wBAAwB,CAAC,SAAoB;IAClD,yBAAyB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAoB;IACpD,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAoB;IACnD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"change-set-accept-action.js","sourceRoot":"","sources":["../../../src/browser/change-set-actions/change-set-accept-action.tsx"],"names":[],"mappings":";;;;;AAiBA,4DAA0D;AAG1D,sCAAkC;AAG3B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACM,OAAE,GAAG,0BAA0B,CAAC;IAe7C,CAAC;IAdG,SAAS,CAAC,SAAoB;QAC1B,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,SAAoB;QACvB,OAAO,mCACH,SAAS,EAAC,cAAc,EACxB,QAAQ,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAChD,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,2BAA2B,CAAC,EAClF,OAAO,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,YAEjD,UAAG,CAAC,QAAQ,CAAC,2BAA2B,EAAE,WAAW,CAAC,GAClD,CAAC;IACd,CAAC;CACJ,CAAA;AAhBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAgBjC;AAED,SAAS,wBAAwB,CAAC,SAAoB;IAClD,yBAAyB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAoB;IACpD,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAoB;IACnD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5G,CAAC"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ var ChatBannerWidget_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ChatBannerWidget = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
2
7
  // *****************************************************************************
3
8
  // Copyright (C) 2026 EclipseSource and others.
4
9
  //
@@ -14,10 +19,6 @@
14
19
  //
15
20
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
21
  // *****************************************************************************
17
- var ChatBannerWidget_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.ChatBannerWidget = void 0;
20
- const tslib_1 = require("tslib");
21
22
  const React = require("@theia/core/shared/react");
22
23
  const inversify_1 = require("@theia/core/shared/inversify");
23
24
  const core_1 = require("@theia/core");
@@ -54,13 +55,13 @@ let ChatBannerWidget = class ChatBannerWidget extends browser_1.ReactWidget {
54
55
  if (banner === undefined) {
55
56
  return undefined;
56
57
  }
57
- return React.createElement(React.Fragment, { key: idx }, banner);
58
+ return (0, jsx_runtime_1.jsx)(React.Fragment, { children: banner }, idx);
58
59
  })
59
60
  .filter((node) => node !== undefined);
60
61
  if (nodes.length === 0) {
61
62
  return undefined;
62
63
  }
63
- return React.createElement(React.Fragment, null, nodes);
64
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: nodes });
64
65
  }
65
66
  };
66
67
  exports.ChatBannerWidget = ChatBannerWidget;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-banner-widget.js","sourceRoot":"","sources":["../../src/browser/chat-banner-widget.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,kDAAkD;AAClD,4DAAwF;AACxF,sCAAmD;AACnD,qDAAsD;AACtD,iEAA4D;AAE5D;;;;;;;;GAQG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qBAAW;;aAE7B,OAAE,GAAG,oBAAoB,AAAvB,CAAwB;IAMhC,IAAI;QACV,IAAI,CAAC,EAAE,GAAG,kBAAgB,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,MAAM;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;aACpD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,IAAG,MAAM,CAAkB,CAAC;QAC/D,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,0CAAG,KAAK,CAAI,CAAC;IACxB,CAAC;;AAnCQ,4CAAgB;AAKN;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,yCAAkB,CAAC;;yDACqB;AAGnE;IADT,IAAA,yBAAa,GAAE;;;;4CAUf;2BAjBQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAoC5B"}
1
+ {"version":3,"file":"chat-banner-widget.js","sourceRoot":"","sources":["../../src/browser/chat-banner-widget.tsx"],"names":[],"mappings":";;;;;;AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,kDAAkD;AAClD,4DAAwF;AACxF,sCAAmD;AACnD,qDAAsD;AACtD,iEAA4D;AAE5D;;;;;;;;GAQG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qBAAW;;aAE7B,OAAE,GAAG,oBAAoB,AAAvB,CAAwB;IAMhC,IAAI;QACV,IAAI,CAAC,EAAE,GAAG,kBAAgB,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,MAAM;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;aACpD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,uBAAC,KAAK,CAAC,QAAQ,cAAY,MAAM,IAAZ,GAAG,CAA2B,CAAC;QAC/D,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,2DAAG,KAAK,GAAI,CAAC;IACxB,CAAC;;AAnCQ,4CAAgB;AAKN;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,yCAAkB,CAAC;;yDACqB;AAGnE;IADT,IAAA,yBAAa,GAAE;;;;4CAUf;2BAjBQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAoC5B"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CapabilityChip = exports.CapabilityChipsRow = void 0;
4
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
2
5
  // *****************************************************************************
3
6
  // Copyright (C) 2026 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.CapabilityChip = exports.CapabilityChipsRow = void 0;
19
20
  const React = require("@theia/core/shared/react");
20
21
  const core_1 = require("@theia/core");
21
22
  /**
@@ -57,12 +58,10 @@ const CapabilityChipsRow = ({ capabilities, overrides, onCapabilityChange, disab
57
58
  chips?.[newIndex]?.focus();
58
59
  }
59
60
  };
60
- return (React.createElement("div", { className: "theia-ChatInput-CapabilitiesSection" },
61
- React.createElement("div", { className: "theia-ChatInput-CapabilitiesSection-heading" }, core_1.nls.localizeByDefault('Capabilities')),
62
- React.createElement("div", { ref: containerRef, className: "theia-ChatInput-CapabilityChips", role: "group", "aria-label": core_1.nls.localizeByDefault('Capabilities'), onKeyDown: handleKeyDown }, capabilities.map((capability, index) => {
63
- const isChecked = overrides.get(capability.fragmentId) ?? capability.defaultEnabled;
64
- return (React.createElement(exports.CapabilityChip, { key: capability.fragmentId, fragmentId: capability.fragmentId, name: capability.name, description: capability.description, checked: isChecked, disabled: disabled, tabIndex: index === focusIndex ? 0 : -1, onToggle: onCapabilityChange, onFocus: () => setFocusIndex(index), hoverService: hoverService }));
65
- }))));
61
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-CapabilitiesSection", children: [(0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-CapabilitiesSection-heading", children: core_1.nls.localizeByDefault('Capabilities') }), (0, jsx_runtime_1.jsx)("div", { ref: containerRef, className: "theia-ChatInput-CapabilityChips", role: "group", "aria-label": core_1.nls.localizeByDefault('Capabilities'), onKeyDown: handleKeyDown, children: capabilities.map((capability, index) => {
62
+ const isChecked = overrides.get(capability.fragmentId) ?? capability.defaultEnabled;
63
+ return ((0, jsx_runtime_1.jsx)(exports.CapabilityChip, { fragmentId: capability.fragmentId, name: capability.name, description: capability.description, checked: isChecked, disabled: disabled, tabIndex: index === focusIndex ? 0 : -1, onToggle: onCapabilityChange, onFocus: () => setFocusIndex(index), hoverService: hoverService }, capability.fragmentId));
64
+ }) })] }));
66
65
  };
67
66
  exports.CapabilityChipsRow = CapabilityChipsRow;
68
67
  /**
@@ -95,8 +94,6 @@ exports.CapabilityChip = React.memo(function CapabilityChip({ fragmentId, name,
95
94
  });
96
95
  }
97
96
  };
98
- return (React.createElement("span", { ref: chipRef, className: `theia-ChatInput-CapabilityChip${checked ? ' checked' : ''}${disabled ? ' chip-disabled' : ''}`, role: "switch", "aria-checked": checked, "aria-label": label, tabIndex: tabIndex, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: onFocus, onMouseEnter: handleMouseEnter },
99
- checked && React.createElement("span", { className: "codicon codicon-check theia-ChatInput-CapabilityChip-icon" }),
100
- label));
97
+ return ((0, jsx_runtime_1.jsxs)("span", { ref: chipRef, className: `theia-ChatInput-CapabilityChip${checked ? ' checked' : ''}${disabled ? ' chip-disabled' : ''}`, role: "switch", "aria-checked": checked, "aria-label": label, tabIndex: tabIndex, onClick: handleClick, onKeyDown: handleKeyDown, onFocus: onFocus, onMouseEnter: handleMouseEnter, children: [checked && (0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-check theia-ChatInput-CapabilityChip-icon" }), label] }));
101
98
  });
102
99
  //# sourceMappingURL=chat-capabilities-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-capabilities-panel.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-panel.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,kDAAkD;AAElD,sCAAkC;AAWlC;;;;;;;;;;;GAWG;AACI,MAAM,kBAAkB,GAAqD,CAAC,EACjF,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACf,EAAE,EAAE;IACD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,2CAA2C;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAQ,EAAE;QACnD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,IAAI,QAAQ,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAc,iBAAiB,CAAC,CAAC;YACrF,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,qCAAqC;QAChD,6BAAK,SAAS,EAAC,6CAA6C,IACvD,UAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CACpC;QACN,6BACI,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,iCAAiC,EAC3C,IAAI,EAAC,OAAO,gBACA,UAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,EACjD,SAAS,EAAE,aAAa,IAEvB,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC;YACpF,OAAO,CACH,oBAAC,sBAAc,IACX,GAAG,EAAE,UAAU,CAAC,UAAU,EAC1B,UAAU,EAAE,UAAU,CAAC,UAAU,EACjC,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,YAAY,EAAE,YAAY,GAC5B,CACL,CAAC;QACN,CAAC,CAAC,CACA,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAlEW,QAAA,kBAAkB,sBAkE7B;AAcF;;;;GAIG;AACU,QAAA,cAAc,GAAG,KAAK,CAAC,IAAI,CAAsB,SAAS,cAAc,CAAC,EAClF,UAAU,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACM;IAClB,2CAA2C;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,GAAS,EAAE;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAQ,EAAE;QACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YACpD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,IAAI,UAAU,CAAC;IAEjC,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,YAAY,CAAC,YAAY,CAAC;gBACtB,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,8BACI,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,iCAAiC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1G,IAAI,EAAC,QAAQ,kBACC,OAAO,gBACT,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,gBAAgB;QAE7B,OAAO,IAAI,8BAAM,SAAS,EAAC,2DAA2D,GAAG;QACzF,KAAK,CACH,CACV,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-capabilities-panel.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-panel.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,kDAAkD;AAElD,sCAAkC;AAWlC;;;;;;;;;;;GAWG;AACI,MAAM,kBAAkB,GAAqD,CAAC,EACjF,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACf,EAAE,EAAE;IACD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,2CAA2C;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAQ,EAAE;QACnD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,IAAI,QAAQ,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAc,iBAAiB,CAAC,CAAC;YACrF,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAC,qCAAqC,aAChD,gCAAK,SAAS,EAAC,6CAA6C,YACvD,UAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,GACpC,EACN,gCACI,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,iCAAiC,EAC3C,IAAI,EAAC,OAAO,gBACA,UAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,EACjD,SAAS,EAAE,aAAa,YAEvB,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;oBACpC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC;oBACpF,OAAO,CACH,uBAAC,sBAAc,IAEX,UAAU,EAAE,UAAU,CAAC,UAAU,EACjC,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,YAAY,EAAE,YAAY,IATrB,UAAU,CAAC,UAAU,CAU5B,CACL,CAAC;gBACN,CAAC,CAAC,GACA,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAlEW,QAAA,kBAAkB,sBAkE7B;AAcF;;;;GAIG;AACU,QAAA,cAAc,GAAG,KAAK,CAAC,IAAI,CAAsB,SAAS,cAAc,CAAC,EAClF,UAAU,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACM;IAClB,2CAA2C;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,GAAS,EAAE;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAQ,EAAE;QACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YACpD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,IAAI,UAAU,CAAC;IAEjC,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,YAAY,CAAC,YAAY,CAAC;gBACtB,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,kCACI,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,iCAAiC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1G,IAAI,EAAC,QAAQ,kBACC,OAAO,gBACT,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,gBAAgB,aAE7B,OAAO,IAAI,iCAAM,SAAS,EAAC,2DAA2D,GAAG,EACzF,KAAK,IACH,CACV,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,22 +1,7 @@
1
1
  "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2025 EclipseSource GmbH and others.
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.ChatInputAgentSuggestions = void 0;
19
- const React = require("@theia/core/shared/react");
4
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
20
5
  const markdown_part_renderer_1 = require("./chat-response-renderer/markdown-part-renderer");
21
6
  const ai_chat_1 = require("@theia/ai-chat");
22
7
  function getText(suggestion) {
@@ -40,11 +25,11 @@ function getContent(suggestion) {
40
25
  }
41
26
  return suggestion.content;
42
27
  }
43
- const ChatInputAgentSuggestions = ({ suggestions, opener }) => (!!suggestions?.length && React.createElement("div", { className: "chat-agent-suggestions" }, suggestions.map(suggestion => React.createElement(ChatInputAgentSuggestion, { key: getText(suggestion), suggestion: suggestion, opener: opener, handler: ai_chat_1.ChatSuggestionCallback.is(suggestion) ? new ChatSuggestionClickHandler(suggestion) : undefined }))));
28
+ const ChatInputAgentSuggestions = ({ suggestions, opener }) => (!!suggestions?.length && (0, jsx_runtime_1.jsx)("div", { className: "chat-agent-suggestions", children: suggestions.map(suggestion => (0, jsx_runtime_1.jsx)(ChatInputAgentSuggestion, { suggestion: suggestion, opener: opener, handler: ai_chat_1.ChatSuggestionCallback.is(suggestion) ? new ChatSuggestionClickHandler(suggestion) : undefined }, getText(suggestion))) }));
44
29
  exports.ChatInputAgentSuggestions = ChatInputAgentSuggestions;
45
30
  const ChatInputAgentSuggestion = ({ suggestion, opener, handler }) => {
46
31
  const ref = (0, markdown_part_renderer_1.useMarkdownRendering)(getContent(suggestion), opener, true, handler);
47
- return React.createElement("div", { className: "chat-agent-suggestion", style: (!handler || ai_chat_1.ChatSuggestionCallback.containsCallbackLink(suggestion)) ? undefined : { cursor: 'pointer' }, ref: ref });
32
+ return (0, jsx_runtime_1.jsx)("div", { className: "chat-agent-suggestion", style: (!handler || ai_chat_1.ChatSuggestionCallback.containsCallbackLink(suggestion)) ? undefined : { cursor: 'pointer' }, ref: ref });
48
33
  };
49
34
  class ChatSuggestionClickHandler {
50
35
  constructor(suggestion) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-agent-suggestions.js","sourceRoot":"","sources":["../../src/browser/chat-input-agent-suggestions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-input-agent-suggestions.js","sourceRoot":"","sources":["../../src/browser/chat-input-agent-suggestions.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ var AIChatInputWidget_1;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.AIChatInputWidget = exports.AIChatInputConfiguration = void 0;
5
5
  const tslib_1 = require("tslib");
6
+ const jsx_runtime_1 = require("@theia/core/shared/react/jsx-runtime");
6
7
  // *****************************************************************************
7
8
  // Copyright (C) 2024 EclipseSource GmbH.
8
9
  //
@@ -1194,7 +1195,7 @@ let AIChatInputWidget = class AIChatInputWidget extends browser_2.ReactWidget {
1194
1195
  const isEditing = !!(currentRequest && (ai_chat_1.EditableChatRequestModel.isEditing(currentRequest)));
1195
1196
  const isPending = () => !!(currentRequest && !isEditing && ai_chat_1.ChatRequestModel.isInProgress(currentRequest));
1196
1197
  const pending = isPending();
1197
- return (React.createElement(ChatInput, { branch: this._branch, onQuery: this._onQuery.bind(this), onUnpin: this._onUnpin.bind(this), onCancel: this._onCancel.bind(this), onDragOver: this.onDragOver.bind(this), onDrop: this.onDrop.bind(this), onPaste: this.onPaste.bind(this), onEscape: this.onEscape.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), onAddContextElement: this.addContextElement.bind(this), onDeleteContextElement: this.deleteContextElement.bind(this), onOpenContextElement: this.openContextElement.bind(this), context: this.getContext(), fileValidationState: this.fileValidationState, chatModel: this._chatModel, pinnedAgent: this._pinnedAgent, editorProvider: this.editorProvider, uri: this.getResourceUri(), contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
1198
+ return ((0, jsx_runtime_1.jsx)(ChatInput, { branch: this._branch, onQuery: this._onQuery.bind(this), onUnpin: this._onUnpin.bind(this), onCancel: this._onCancel.bind(this), onDragOver: this.onDragOver.bind(this), onDrop: this.onDrop.bind(this), onPaste: this.onPaste.bind(this), onEscape: this.onEscape.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), onAddContextElement: this.addContextElement.bind(this), onDeleteContextElement: this.deleteContextElement.bind(this), onOpenContextElement: this.openContextElement.bind(this), context: this.getContext(), fileValidationState: this.fileValidationState, chatModel: this._chatModel, pinnedAgent: this._pinnedAgent, editorProvider: this.editorProvider, uri: this.getResourceUri(), contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
1198
1199
  this.editorRef = editor;
1199
1200
  this.setupEditorEventListeners();
1200
1201
  this.editorReady.resolve();
@@ -1952,41 +1953,33 @@ const ChatInput = (props) => {
1952
1953
  const tokenTooltip = showTokenUsage
1953
1954
  ? (0, chat_token_usage_indicator_util_1.buildBarTooltip)((0, chat_token_usage_indicator_util_1.getLatestTokenUsage)(props.chatModel), totalTokens, props.tokenUsageWarningThreshold, props.contextWindowSize, props.chatModel)
1954
1955
  : undefined;
1955
- return (React.createElement("div", { className: "theia-ChatInput", "data-ai-disabled": !props.isEnabled, onDragOver: props.onDragOver, onDrop: props.onDrop, ref: containerRef },
1956
- props.showSuggestions !== false && React.createElement(chat_input_agent_suggestions_1.ChatInputAgentSuggestions, { suggestions: props.suggestions, opener: props.openerService }),
1957
- props.showChangeSet && changeSetUI?.elements &&
1958
- React.createElement(ChangeSetBox, { changeSet: changeSetUI }),
1959
- React.createElement("div", { className: `theia-ChatInput-Editor-Box${tokenIsWarningOrError ? ` token-usage-border-${tokenColorClass}` : ''}` },
1960
- props.showCapabilities !== false && (React.createElement(CapabilitiesBar, { isOpen: props.capabilitiesProps.isOpen, capabilities: props.capabilitiesProps.capabilities, overrides: props.capabilitiesProps.overrides, onCapabilityChange: props.capabilitiesProps.onCapabilityChange, genericCapabilities: props.genericCapabilitiesProps.genericCapabilities, onGenericCapabilityChange: props.genericCapabilitiesProps.onGenericCapabilityChange, onResetGenericCapabilities: props.genericCapabilitiesProps.onResetGenericCapabilities, availableCapabilities: props.genericCapabilitiesProps.availableCapabilities, disabledCapabilities: props.genericCapabilitiesProps.disabledCapabilities, serverTools: props.genericCapabilitiesProps.serverTools, disabled: !props.isEnabled, hoverService: props.hoverService, hasUnsavedChanges: props.capabilitiesProps.hasUnsavedChanges, onSaveToSettings: props.capabilitiesProps.onSaveToSettings })),
1961
- React.createElement("div", { className: 'theia-ChatInput-Editor', ref: editorContainerRef, onKeyDown: onKeyDown, onFocus: handleInputFocus, onBlur: handleInputBlur },
1962
- React.createElement("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder' }, placeholderText)),
1963
- props.context && props.context.length > 0 &&
1964
- React.createElement(ChatContext, { context: contextUI.context }),
1965
- React.createElement(ChatInputOptions, { leftOptions: leftOptions, rightOptions: rightOptions, isEnabled: props.isEnabled, hoverService: props.hoverService, tokenUsage: showTokenUsage ? {
1966
- percent: Math.min((totalTokens / props.contextWindowSize) * 100, 100),
1967
- colorClass: tokenColorClass,
1968
- tooltip: tokenTooltip,
1969
- } : undefined, modeSelectorProps: {
1970
- show: showModeSelector,
1971
- modes: props.modeSelectorProps.receivingAgentModes,
1972
- currentMode: props.modeSelectorProps.currentMode,
1973
- onModeChange: props.modeSelectorProps.onModeChange,
1974
- keybindingHint: props.modeSelectorProps.keybindingHint,
1975
- }, reasoningSelectorProps: {
1976
- show: !!props.reasoningSelectorProps.reasoningSupport,
1977
- reasoningSupport: props.reasoningSelectorProps.reasoningSupport,
1978
- currentLevel: props.reasoningSelectorProps.currentLevel,
1979
- onReasoningChange: props.reasoningSelectorProps.onReasoningChange,
1980
- }, modelSelectorProps: props.modelSelectorProps, capabilitiesToggle: {
1981
- show: props.showCapabilities !== false,
1982
- isOpen: props.capabilitiesProps.isOpen,
1983
- hasActiveSelections: props.capabilitiesProps.overrides.size > 0
1984
- || ai_core_1.GenericCapabilitySelections.hasSelections(props.genericCapabilitiesProps.genericCapabilities)
1985
- || Object.values(props.genericCapabilitiesProps.serverToolSelections).some(ids => ids.length > 0),
1986
- hasUnsavedChanges: props.capabilitiesProps.hasUnsavedChanges,
1987
- onToggle: props.capabilitiesProps.onToggle,
1988
- keybindingHint: props.capabilitiesProps.keybindingHint,
1989
- } }))));
1956
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput", "data-ai-disabled": !props.isEnabled, onDragOver: props.onDragOver, onDrop: props.onDrop, ref: containerRef, children: [props.showSuggestions !== false && (0, jsx_runtime_1.jsx)(chat_input_agent_suggestions_1.ChatInputAgentSuggestions, { suggestions: props.suggestions, opener: props.openerService }), props.showChangeSet && changeSetUI?.elements &&
1957
+ (0, jsx_runtime_1.jsx)(ChangeSetBox, { changeSet: changeSetUI }), (0, jsx_runtime_1.jsxs)("div", { className: `theia-ChatInput-Editor-Box${tokenIsWarningOrError ? ` token-usage-border-${tokenColorClass}` : ''}`, children: [props.showCapabilities !== false && ((0, jsx_runtime_1.jsx)(CapabilitiesBar, { isOpen: props.capabilitiesProps.isOpen, capabilities: props.capabilitiesProps.capabilities, overrides: props.capabilitiesProps.overrides, onCapabilityChange: props.capabilitiesProps.onCapabilityChange, genericCapabilities: props.genericCapabilitiesProps.genericCapabilities, onGenericCapabilityChange: props.genericCapabilitiesProps.onGenericCapabilityChange, onResetGenericCapabilities: props.genericCapabilitiesProps.onResetGenericCapabilities, availableCapabilities: props.genericCapabilitiesProps.availableCapabilities, disabledCapabilities: props.genericCapabilitiesProps.disabledCapabilities, serverTools: props.genericCapabilitiesProps.serverTools, disabled: !props.isEnabled, hoverService: props.hoverService, hasUnsavedChanges: props.capabilitiesProps.hasUnsavedChanges, onSaveToSettings: props.capabilitiesProps.onSaveToSettings })), (0, jsx_runtime_1.jsx)("div", { className: 'theia-ChatInput-Editor', ref: editorContainerRef, onKeyDown: onKeyDown, onFocus: handleInputFocus, onBlur: handleInputBlur, children: (0, jsx_runtime_1.jsx)("div", { ref: placeholderRef, className: 'theia-ChatInput-Editor-Placeholder', children: placeholderText }) }), props.context && props.context.length > 0 &&
1958
+ (0, jsx_runtime_1.jsx)(ChatContext, { context: contextUI.context }), (0, jsx_runtime_1.jsx)(ChatInputOptions, { leftOptions: leftOptions, rightOptions: rightOptions, isEnabled: props.isEnabled, hoverService: props.hoverService, tokenUsage: showTokenUsage ? {
1959
+ percent: Math.min((totalTokens / props.contextWindowSize) * 100, 100),
1960
+ colorClass: tokenColorClass,
1961
+ tooltip: tokenTooltip,
1962
+ } : undefined, modeSelectorProps: {
1963
+ show: showModeSelector,
1964
+ modes: props.modeSelectorProps.receivingAgentModes,
1965
+ currentMode: props.modeSelectorProps.currentMode,
1966
+ onModeChange: props.modeSelectorProps.onModeChange,
1967
+ keybindingHint: props.modeSelectorProps.keybindingHint,
1968
+ }, reasoningSelectorProps: {
1969
+ show: !!props.reasoningSelectorProps.reasoningSupport,
1970
+ reasoningSupport: props.reasoningSelectorProps.reasoningSupport,
1971
+ currentLevel: props.reasoningSelectorProps.currentLevel,
1972
+ onReasoningChange: props.reasoningSelectorProps.onReasoningChange,
1973
+ }, modelSelectorProps: props.modelSelectorProps, capabilitiesToggle: {
1974
+ show: props.showCapabilities !== false,
1975
+ isOpen: props.capabilitiesProps.isOpen,
1976
+ hasActiveSelections: props.capabilitiesProps.overrides.size > 0
1977
+ || ai_core_1.GenericCapabilitySelections.hasSelections(props.genericCapabilitiesProps.genericCapabilities)
1978
+ || Object.values(props.genericCapabilitiesProps.serverToolSelections).some(ids => ids.length > 0),
1979
+ hasUnsavedChanges: props.capabilitiesProps.hasUnsavedChanges,
1980
+ onToggle: props.capabilitiesProps.onToggle,
1981
+ keybindingHint: props.capabilitiesProps.keybindingHint,
1982
+ } })] })] }));
1990
1983
  };
1991
1984
  /**
1992
1985
  * Returns an onMouseEnter handler that shows a hover tooltip via HoverService.
@@ -2008,41 +2001,24 @@ const ChatInputOptions = ({ leftOptions, rightOptions, isEnabled, hoverService,
2008
2001
  return (
2009
2002
  // Right options are rendered first in DOM for tab order (send button first when enabled)
2010
2003
  // CSS order property positions them visually (left on left, right on right)
2011
- React.createElement("div", { className: "theia-ChatInputOptions" },
2012
- React.createElement("div", { className: "theia-ChatInputOptions-right" },
2013
- tokenUsage && (React.createElement("span", { className: `token-usage-badge ${tokenUsage.colorClass}`, ...(tokenUsage.tooltip && { onMouseEnter: hoverHandler(hoverService, tokenUsage.tooltip, 'top') }) },
2014
- React.createElement("span", { className: 'token-usage-ring', style: {
2015
- background: `conic-gradient(var(--token-usage-fill) ${tokenUsage.percent}%, var(--token-usage-track) ${tokenUsage.percent}%)`
2016
- } },
2017
- React.createElement("span", { className: 'token-usage-ring-inner' })))),
2018
- rightOptions.map((option, index) => (React.createElement("span", { key: index, className: `option${option.disabled ? ' disabled' : ''}${option.text?.align === 'right' ? ' reverse' : ''}`, "aria-label": option.title, role: 'button', tabIndex: option.disabled ? -1 : 0, onClick: option.handler, onMouseEnter: hoverHandler(hoverService, option.title), onKeyDown: e => {
2019
- if (e.key === 'Enter' || e.key === ' ') {
2020
- e.preventDefault();
2021
- option.handler();
2022
- }
2023
- } },
2024
- React.createElement("span", null, option.text?.content),
2025
- React.createElement("span", { className: `codicon ${option.className}` }))))),
2026
- React.createElement("div", { className: "theia-ChatInputOptions-left" },
2027
- leftOptions.map((option, index) => (React.createElement("span", { key: index, className: `option${option.disabled ? ' disabled' : ''}${option.text?.align === 'right' ? ' reverse' : ''}`, "aria-label": option.title, role: 'button', tabIndex: option.disabled ? -1 : 0, onClick: option.handler, onMouseEnter: hoverHandler(hoverService, option.title), onKeyDown: e => {
2028
- if (e.key === 'Enter' || e.key === ' ') {
2029
- e.preventDefault();
2030
- option.handler();
2031
- }
2032
- } },
2033
- React.createElement("span", null, option.text?.content),
2034
- React.createElement("span", { className: `codicon ${option.className}` })))),
2035
- modeSelectorProps.show && modeSelectorProps.modes && (React.createElement(ChatModeSelector, { modes: modeSelectorProps.modes, currentMode: modeSelectorProps.currentMode, onModeChange: modeSelectorProps.onModeChange, disabled: !isEnabled, keybindingHint: modeSelectorProps.keybindingHint, hoverService: hoverService })),
2036
- capabilitiesToggle.show && (React.createElement("span", { className: `option${capabilitiesToggle.isOpen ? ' toggled' : ''}`, "aria-label": capabilitiesLabel, "aria-expanded": capabilitiesToggle.isOpen, "aria-pressed": capabilitiesToggle.isOpen, role: 'button', tabIndex: 0, onClick: capabilitiesToggle.onToggle, onMouseEnter: hoverHandler(hoverService, capabilitiesTitle), onKeyDown: e => {
2037
- if (e.key === 'Enter' || e.key === ' ') {
2038
- e.preventDefault();
2039
- capabilitiesToggle.onToggle();
2040
- }
2041
- } },
2042
- React.createElement("span", { className: "codicon codicon-tools" }),
2043
- capabilitiesToggle.hasUnsavedChanges && (React.createElement("span", { className: "theia-capabilities-unsaved-indicator" })))),
2044
- reasoningSelectorProps.show && reasoningSelectorProps.reasoningSupport && (React.createElement(ReasoningSelector, { reasoningSupport: reasoningSelectorProps.reasoningSupport, currentLevel: reasoningSelectorProps.currentLevel, onReasoningChange: reasoningSelectorProps.onReasoningChange, disabled: !isEnabled, hoverService: hoverService })),
2045
- (modelSelectorProps.models.length > 0 || modelSelectorProps.currentModelId) && (React.createElement(ChatModelSelector, { models: modelSelectorProps.models, currentModelId: modelSelectorProps.currentModelId, defaultLabel: modelSelectorProps.defaultLabel, onModelChange: modelSelectorProps.onModelChange, disabled: !isEnabled, hoverService: hoverService })))));
2004
+ (0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInputOptions", children: [(0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInputOptions-right", children: [tokenUsage && ((0, jsx_runtime_1.jsx)("span", { className: `token-usage-badge ${tokenUsage.colorClass}`, ...(tokenUsage.tooltip && { onMouseEnter: hoverHandler(hoverService, tokenUsage.tooltip, 'top') }), children: (0, jsx_runtime_1.jsx)("span", { className: 'token-usage-ring', style: {
2005
+ background: `conic-gradient(var(--token-usage-fill) ${tokenUsage.percent}%, var(--token-usage-track) ${tokenUsage.percent}%)`
2006
+ }, children: (0, jsx_runtime_1.jsx)("span", { className: 'token-usage-ring-inner' }) }) })), rightOptions.map((option, index) => ((0, jsx_runtime_1.jsxs)("span", { className: `option${option.disabled ? ' disabled' : ''}${option.text?.align === 'right' ? ' reverse' : ''}`, "aria-label": option.title, role: 'button', tabIndex: option.disabled ? -1 : 0, onClick: option.handler, onMouseEnter: hoverHandler(hoverService, option.title), onKeyDown: e => {
2007
+ if (e.key === 'Enter' || e.key === ' ') {
2008
+ e.preventDefault();
2009
+ option.handler();
2010
+ }
2011
+ }, children: [(0, jsx_runtime_1.jsx)("span", { children: option.text?.content }), (0, jsx_runtime_1.jsx)("span", { className: `codicon ${option.className}` })] }, index)))] }), (0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInputOptions-left", children: [leftOptions.map((option, index) => ((0, jsx_runtime_1.jsxs)("span", { className: `option${option.disabled ? ' disabled' : ''}${option.text?.align === 'right' ? ' reverse' : ''}`, "aria-label": option.title, role: 'button', tabIndex: option.disabled ? -1 : 0, onClick: option.handler, onMouseEnter: hoverHandler(hoverService, option.title), onKeyDown: e => {
2012
+ if (e.key === 'Enter' || e.key === ' ') {
2013
+ e.preventDefault();
2014
+ option.handler();
2015
+ }
2016
+ }, children: [(0, jsx_runtime_1.jsx)("span", { children: option.text?.content }), (0, jsx_runtime_1.jsx)("span", { className: `codicon ${option.className}` })] }, index))), modeSelectorProps.show && modeSelectorProps.modes && ((0, jsx_runtime_1.jsx)(ChatModeSelector, { modes: modeSelectorProps.modes, currentMode: modeSelectorProps.currentMode, onModeChange: modeSelectorProps.onModeChange, disabled: !isEnabled, keybindingHint: modeSelectorProps.keybindingHint, hoverService: hoverService })), capabilitiesToggle.show && ((0, jsx_runtime_1.jsxs)("span", { className: `option${capabilitiesToggle.isOpen ? ' toggled' : ''}`, "aria-label": capabilitiesLabel, "aria-expanded": capabilitiesToggle.isOpen, "aria-pressed": capabilitiesToggle.isOpen, role: 'button', tabIndex: 0, onClick: capabilitiesToggle.onToggle, onMouseEnter: hoverHandler(hoverService, capabilitiesTitle), onKeyDown: e => {
2017
+ if (e.key === 'Enter' || e.key === ' ') {
2018
+ e.preventDefault();
2019
+ capabilitiesToggle.onToggle();
2020
+ }
2021
+ }, children: [(0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-tools" }), capabilitiesToggle.hasUnsavedChanges && ((0, jsx_runtime_1.jsx)("span", { className: "theia-capabilities-unsaved-indicator" }))] })), reasoningSelectorProps.show && reasoningSelectorProps.reasoningSupport && ((0, jsx_runtime_1.jsx)(ReasoningSelector, { reasoningSupport: reasoningSelectorProps.reasoningSupport, currentLevel: reasoningSelectorProps.currentLevel, onReasoningChange: reasoningSelectorProps.onReasoningChange, disabled: !isEnabled, hoverService: hoverService })), (modelSelectorProps.models.length > 0 || modelSelectorProps.currentModelId) && ((0, jsx_runtime_1.jsx)(ChatModelSelector, { models: modelSelectorProps.models, currentModelId: modelSelectorProps.currentModelId, defaultLabel: modelSelectorProps.defaultLabel, onModelChange: modelSelectorProps.onModelChange, disabled: !isEnabled, hoverService: hoverService }))] })] }));
2046
2022
  };
2047
2023
  /**
2048
2024
  * Combined capabilities bar that shows:
@@ -2055,25 +2031,16 @@ const CapabilitiesBar = ({ isOpen, capabilities, overrides, onCapabilityChange,
2055
2031
  const hasCapabilities = capabilities.length > 0;
2056
2032
  const saveLabel = core_1.nls.localizeByDefault('Save');
2057
2033
  const saveTitle = core_1.nls.localize('theia/ai/chat-ui/saveCurrentSelectionsToSettings', 'Save capability settings');
2058
- return (React.createElement("div", { className: "theia-ChatInput-CapabilitiesPanel" },
2059
- hasCapabilities && (React.createElement(React.Fragment, null,
2060
- React.createElement("div", { className: "theia-ChatInput-CapabilitiesPanel-Left" },
2061
- React.createElement(chat_capabilities_panel_1.CapabilityChipsRow, { capabilities: capabilities, overrides: overrides, onCapabilityChange: onCapabilityChange, disabled: disabled, hoverService: hoverService })),
2062
- React.createElement("div", { className: "theia-ChatInput-CapabilitiesPanel-Divider" }))),
2063
- React.createElement("div", { className: "theia-ChatInput-CapabilitiesPanel-Right" },
2064
- React.createElement(generic_capabilities_section_1.GenericCapabilitiesSection, { genericCapabilities: genericCapabilities, onGenericCapabilityChange: onGenericCapabilityChange, onResetGenericCapabilities: onResetGenericCapabilities, availableCapabilities: availableCapabilities, disabledCapabilities: disabledCapabilities, serverTools: serverTools, disabled: disabled, hoverService: hoverService })),
2065
- React.createElement("div", { className: "theia-ChatInput-CapabilitiesPanel-SaveButton" },
2066
- React.createElement("button", { className: "theia-button", disabled: !hasUnsavedChanges || disabled, title: saveTitle, onClick: onSaveToSettings }, saveLabel))));
2034
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-CapabilitiesPanel", children: [hasCapabilities && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-CapabilitiesPanel-Left", children: (0, jsx_runtime_1.jsx)(chat_capabilities_panel_1.CapabilityChipsRow, { capabilities: capabilities, overrides: overrides, onCapabilityChange: onCapabilityChange, disabled: disabled, hoverService: hoverService }) }), (0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-CapabilitiesPanel-Divider" })] })), (0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-CapabilitiesPanel-Right", children: (0, jsx_runtime_1.jsx)(generic_capabilities_section_1.GenericCapabilitiesSection, { genericCapabilities: genericCapabilities, onGenericCapabilityChange: onGenericCapabilityChange, onResetGenericCapabilities: onResetGenericCapabilities, availableCapabilities: availableCapabilities, disabledCapabilities: disabledCapabilities, serverTools: serverTools, disabled: disabled, hoverService: hoverService }) }), (0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-CapabilitiesPanel-SaveButton", children: (0, jsx_runtime_1.jsx)("button", { className: "theia-button", disabled: !hasUnsavedChanges || disabled, title: saveTitle, onClick: onSaveToSettings, children: saveLabel }) })] }));
2067
2035
  }
2068
2036
  // Collapsed state: horizontal scrollable row of capability chips
2069
2037
  if (capabilities.length === 0) {
2070
2038
  return undefined;
2071
2039
  }
2072
- return (React.createElement("div", { className: "theia-capabilities-collapsed-bar" },
2073
- React.createElement("div", { className: "theia-capabilities-collapsed-scrollbar" }, capabilities.map((capability, index) => {
2074
- const isChecked = overrides.get(capability.fragmentId) ?? capability.defaultEnabled;
2075
- return (React.createElement(chat_capabilities_panel_1.CapabilityChip, { key: capability.fragmentId, fragmentId: capability.fragmentId, name: capability.name, description: capability.description, checked: isChecked, disabled: disabled, tabIndex: disabled ? -1 : 0, onToggle: onCapabilityChange, onFocus: () => { }, hoverService: hoverService }));
2076
- }))));
2040
+ return ((0, jsx_runtime_1.jsx)("div", { className: "theia-capabilities-collapsed-bar", children: (0, jsx_runtime_1.jsx)("div", { className: "theia-capabilities-collapsed-scrollbar", children: capabilities.map((capability, index) => {
2041
+ const isChecked = overrides.get(capability.fragmentId) ?? capability.defaultEnabled;
2042
+ return ((0, jsx_runtime_1.jsx)(chat_capabilities_panel_1.CapabilityChip, { fragmentId: capability.fragmentId, name: capability.name, description: capability.description, checked: isChecked, disabled: disabled, tabIndex: disabled ? -1 : 0, onToggle: onCapabilityChange, onFocus: () => { }, hoverService: hoverService }, capability.fragmentId));
2043
+ }) }) }));
2077
2044
  };
2078
2045
  const ChatModeSelector = React.memo(({ modes, currentMode, onModeChange, disabled, keybindingHint, hoverService }) => {
2079
2046
  const options = React.useMemo(() => modes.map(mode => ({ value: mode.id, label: mode.name })), [modes]);
@@ -2084,8 +2051,7 @@ const ChatModeSelector = React.memo(({ modes, currentMode, onModeChange, disable
2084
2051
  }, [onModeChange]);
2085
2052
  const label = core_1.nls.localize('theia/ai/chat-ui/switchAgentMode', 'Switch Agent Mode');
2086
2053
  const title = keybindingHint ? `${label} (${keybindingHint})` : label;
2087
- return (React.createElement("span", { onMouseEnter: hoverHandler(hoverService, title) },
2088
- React.createElement(select_component_1.SelectComponent, { className: `theia-ChatInput-ModeSelector${disabled ? ' disabled' : ''}`, options: options, defaultValue: currentMode ?? modes[0]?.id ?? '', onChange: handleChange })));
2054
+ return ((0, jsx_runtime_1.jsx)("span", { onMouseEnter: hoverHandler(hoverService, title), children: (0, jsx_runtime_1.jsx)(select_component_1.SelectComponent, { className: `theia-ChatInput-ModeSelector${disabled ? ' disabled' : ''}`, options: options, defaultValue: currentMode ?? modes[0]?.id ?? '', onChange: handleChange }) }));
2089
2055
  });
2090
2056
  /**
2091
2057
  * Per-session model selector. The first option ("Default") reverts to the agent's configured
@@ -2134,8 +2100,7 @@ const ChatModelSelector = React.memo(({ models, currentModelId, defaultLabel, on
2134
2100
  : isOverridden
2135
2101
  ? core_1.nls.localize('theia/ai/chat-ui/sessionModel', 'Model for this chat')
2136
2102
  : core_1.nls.localize('theia/ai/chat-ui/sessionModelDefault', 'Model for this chat ({0})', defaultLabel);
2137
- return (React.createElement("span", { className: 'theia-ChatInput-ModelSelector-container', onMouseEnter: hoverHandler(hoverService, title) },
2138
- React.createElement(select_component_1.SelectComponent, { className: `theia-ChatInput-ModelSelector${isOverridden ? ' session-override' : ''}${disabled ? ' disabled' : ''}`, options: options, defaultValue: currentModelId ?? defaultValueId, onChange: handleChange })));
2103
+ return ((0, jsx_runtime_1.jsx)("span", { className: 'theia-ChatInput-ModelSelector-container', onMouseEnter: hoverHandler(hoverService, title), children: (0, jsx_runtime_1.jsx)(select_component_1.SelectComponent, { className: `theia-ChatInput-ModelSelector${isOverridden ? ' session-override' : ''}${disabled ? ' disabled' : ''}`, options: options, defaultValue: currentModelId ?? defaultValueId, onChange: handleChange }) }));
2139
2104
  });
2140
2105
  const reasoningLevelLabel = (level) => {
2141
2106
  switch (level) {
@@ -2156,12 +2121,11 @@ const ReasoningSelector = React.memo(({ reasoningSupport, currentLevel, onReason
2156
2121
  }, [onReasoningChange]);
2157
2122
  const title = core_1.nls.localizeByDefault('Reasoning');
2158
2123
  const effectiveLevel = currentLevel ?? reasoningSupport.defaultLevel ?? reasoningSupport.supportedLevels[0] ?? 'off';
2159
- return (React.createElement("span", { onMouseEnter: hoverHandler(hoverService, title) },
2160
- React.createElement(select_component_1.SelectComponent
2124
+ return ((0, jsx_runtime_1.jsx)("span", { onMouseEnter: hoverHandler(hoverService, title), children: (0, jsx_runtime_1.jsx)(select_component_1.SelectComponent
2161
2125
  // `theia-ReasoningLevelSelector` carries the shared per-level glyphs; the ChatInput class the toolbar sizing.
2162
2126
  , {
2163
2127
  // `theia-ReasoningLevelSelector` carries the shared per-level glyphs; the ChatInput class the toolbar sizing.
2164
- className: `theia-ChatInput-ReasoningSelector theia-ReasoningLevelSelector reasoning-level-${effectiveLevel}${disabled ? ' disabled' : ''}`, options: options, defaultValue: effectiveLevel, onChange: handleChange })));
2128
+ className: `theia-ChatInput-ReasoningSelector theia-ReasoningLevelSelector reasoning-level-${effectiveLevel}${disabled ? ' disabled' : ''}`, options: options, defaultValue: effectiveLevel, onChange: handleChange }) }));
2165
2129
  });
2166
2130
  const noPropagation = (handler) => (e) => {
2167
2131
  handler();
@@ -2189,20 +2153,11 @@ const ChangeSetBox = React.memo(({ changeSet: { changeSet, title, deleteChangeSe
2189
2153
  toggleCollapse();
2190
2154
  }
2191
2155
  }, [toggleCollapse]);
2192
- return (React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Box' },
2193
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header' },
2194
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header-Title' },
2195
- React.createElement("span", { className: `codicon ${isCollapsed ? 'codicon-chevron-right' : 'codicon-chevron-down'} theia-ChatInput-ChangeSet-Toggle`, onClick: toggleCollapse, onKeyDown: handleToggleKeyDown, role: 'button', tabIndex: 0, "aria-expanded": !isCollapsed, "aria-label": isCollapsed
2196
- ? core_1.nls.localize('theia/ai/chat-ui/expandChangeSet', 'Expand Change Set')
2197
- : core_1.nls.localize('theia/ai/chat-ui/collapseChangeSet', 'Collapse Change Set'), title: isCollapsed
2198
- ? core_1.nls.localize('theia/ai/chat-ui/expandChangeSet', 'Expand Change Set')
2199
- : core_1.nls.localize('theia/ai/chat-ui/collapseChangeSet', 'Collapse Change Set') }),
2200
- React.createElement("h3", null, title)),
2201
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Header-Actions' },
2202
- actions.map(action => (React.createElement("div", { key: action.id, className: 'theia-changeSet-Action' }, action.render(changeSet)))),
2203
- React.createElement("span", { className: 'codicon codicon-close action', title: core_1.nls.localize('theia/ai/chat-ui/deleteChangeSet', 'Delete Change Set'), onClick: () => deleteChangeSet() }))),
2204
- React.createElement("div", { className: `theia-ChatInput-ChangeSet-List ${isCollapsed ? 'collapsed' : 'expanded'}` },
2205
- React.createElement("ul", null, elements.map(element => React.createElement(ChangeSetElement, { key: element.uri, ...element }))))));
2156
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-Box', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-Header', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-Header-Title', children: [(0, jsx_runtime_1.jsx)("span", { className: `codicon ${isCollapsed ? 'codicon-chevron-right' : 'codicon-chevron-down'} theia-ChatInput-ChangeSet-Toggle`, onClick: toggleCollapse, onKeyDown: handleToggleKeyDown, role: 'button', tabIndex: 0, "aria-expanded": !isCollapsed, "aria-label": isCollapsed
2157
+ ? core_1.nls.localize('theia/ai/chat-ui/expandChangeSet', 'Expand Change Set')
2158
+ : core_1.nls.localize('theia/ai/chat-ui/collapseChangeSet', 'Collapse Change Set'), title: isCollapsed
2159
+ ? core_1.nls.localize('theia/ai/chat-ui/expandChangeSet', 'Expand Change Set')
2160
+ : core_1.nls.localize('theia/ai/chat-ui/collapseChangeSet', 'Collapse Change Set') }), (0, jsx_runtime_1.jsx)("h3", { children: title })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-Header-Actions', children: [actions.map(action => ((0, jsx_runtime_1.jsx)("div", { className: 'theia-changeSet-Action', children: action.render(changeSet) }, action.id))), (0, jsx_runtime_1.jsx)("span", { className: 'codicon codicon-close action', title: core_1.nls.localize('theia/ai/chat-ui/deleteChangeSet', 'Delete Change Set'), onClick: () => deleteChangeSet() })] })] }), (0, jsx_runtime_1.jsx)("div", { className: `theia-ChatInput-ChangeSet-List ${isCollapsed ? 'collapsed' : 'expanded'}`, children: (0, jsx_runtime_1.jsx)("ul", { children: elements.map(element => (0, jsx_runtime_1.jsx)(ChangeSetElement, { ...element }, element.uri)) }) })] }));
2206
2161
  });
2207
2162
  function toUiElement(element, onDeleteChangeSetElement, labelProvider, decoratorService) {
2208
2163
  return {
@@ -2219,19 +2174,8 @@ function toUiElement(element, onDeleteChangeSetElement, labelProvider, decorator
2219
2174
  delete: () => onDeleteChangeSetElement(element.uri)
2220
2175
  };
2221
2176
  }
2222
- const ChangeSetElement = element => (React.createElement("li", { title: core_1.nls.localize('theia/ai/chat-ui/openDiff', 'Open Diff'), onClick: () => element.openChange?.() },
2223
- React.createElement("div", { className: `theia-ChatInput-ChangeSet-Icon ${element.iconClass}` }),
2224
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-labelParts' },
2225
- React.createElement("span", { className: `theia-ChatInput-ChangeSet-title ${element.nameClass}` }, element.name),
2226
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-additionalInfo' },
2227
- element.additionalInfo && React.createElement("span", null, element.additionalInfo),
2228
- element.additionalInfoSuffixIcon
2229
- && React.createElement("div", { className: `theia-ChatInput-ChangeSet-AdditionalInfo-SuffixIcon ${element.additionalInfoSuffixIcon.join(' ')}` }))),
2230
- React.createElement("div", { className: 'theia-ChatInput-ChangeSet-Actions' },
2231
- element.open && (React.createElement("span", { className: 'codicon codicon-file action', title: core_1.nls.localize('theia/ai/chat-ui/openOriginalFile', 'Open Original File'), onClick: noPropagation(() => element.open()) })),
2232
- element.revert && (React.createElement("span", { className: 'codicon codicon-discard action', title: core_1.nls.localizeByDefault('Revert'), onClick: noPropagation(() => element.revert()) })),
2233
- element.apply && (React.createElement("span", { className: 'codicon codicon-check action', title: core_1.nls.localizeByDefault('Apply'), onClick: noPropagation(() => element.apply()) })),
2234
- React.createElement("span", { className: 'codicon codicon-close action', title: core_1.nls.localizeByDefault('Delete'), onClick: noPropagation(() => element.delete()) }))));
2177
+ const ChangeSetElement = element => ((0, jsx_runtime_1.jsxs)("li", { title: core_1.nls.localize('theia/ai/chat-ui/openDiff', 'Open Diff'), onClick: () => element.openChange?.(), children: [(0, jsx_runtime_1.jsx)("div", { className: `theia-ChatInput-ChangeSet-Icon ${element.iconClass}` }), (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-labelParts', children: [(0, jsx_runtime_1.jsx)("span", { className: `theia-ChatInput-ChangeSet-title ${element.nameClass}`, children: element.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-additionalInfo', children: [element.additionalInfo && (0, jsx_runtime_1.jsx)("span", { children: element.additionalInfo }), element.additionalInfoSuffixIcon
2178
+ && (0, jsx_runtime_1.jsx)("div", { className: `theia-ChatInput-ChangeSet-AdditionalInfo-SuffixIcon ${element.additionalInfoSuffixIcon.join(' ')}` })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'theia-ChatInput-ChangeSet-Actions', children: [element.open && ((0, jsx_runtime_1.jsx)("span", { className: 'codicon codicon-file action', title: core_1.nls.localize('theia/ai/chat-ui/openOriginalFile', 'Open Original File'), onClick: noPropagation(() => element.open()) })), element.revert && ((0, jsx_runtime_1.jsx)("span", { className: 'codicon codicon-discard action', title: core_1.nls.localizeByDefault('Revert'), onClick: noPropagation(() => element.revert()) })), element.apply && ((0, jsx_runtime_1.jsx)("span", { className: 'codicon codicon-check action', title: core_1.nls.localizeByDefault('Apply'), onClick: noPropagation(() => element.apply()) })), (0, jsx_runtime_1.jsx)("span", { className: 'codicon codicon-close action', title: core_1.nls.localizeByDefault('Delete'), onClick: noPropagation(() => element.delete()) })] })] }));
2235
2179
  function buildContextUI(context, labelProvider, onDeleteContextElement, onOpen, fileValidationState) {
2236
2180
  if (!context) {
2237
2181
  return { context: [] };
@@ -2266,36 +2210,18 @@ function buildContextUI(context, labelProvider, onDeleteContextElement, onOpen,
2266
2210
  })
2267
2211
  };
2268
2212
  }
2269
- const ChatContext = ({ context }) => (React.createElement("div", { className: "theia-ChatInput-ChatContext" },
2270
- React.createElement("ul", null, context.map((element, index) => {
2271
- if (image_context_variable_1.ImageContextVariable.isImageContextRequest(element.variable)) {
2272
- const variable = image_context_variable_1.ImageContextVariable.parseRequest(element.variable);
2273
- const displayName = variable?.name ?? variable?.wsRelativePath?.split('/').pop() ?? element.name;
2274
- const title = variable?.name ?? variable?.wsRelativePath ?? element.details ?? element.name;
2275
- // Check if we have the actual image data (pre-processed) or just a path reference
2276
- const hasImageData = variable && image_context_variable_1.ImageContextVariable.isResolved(variable);
2277
- return React.createElement("li", { key: index, className: "theia-ChatInput-ChatContext-Element theia-ChatInput-ImageContext-Element", title: title, onClick: () => element.open?.() },
2278
- React.createElement("div", { className: "theia-ChatInput-ChatContext-Row" },
2279
- React.createElement("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }),
2280
- React.createElement("div", { className: "theia-ChatInput-ChatContext-labelParts" },
2281
- React.createElement("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}` }, displayName),
2282
- React.createElement("span", { className: 'theia-ChatInput-ChatContext-additionalInfo' }, element.additionalInfo)),
2283
- React.createElement("span", { className: "codicon codicon-close action", title: core_1.nls.localizeByDefault('Delete'), onClick: e => { e.stopPropagation(); element.delete(); } })),
2284
- hasImageData && React.createElement("div", { className: "theia-ChatInput-ChatContext-ImageRow" },
2285
- React.createElement("div", { className: 'theia-ChatInput-ImagePreview-Item' },
2286
- React.createElement("img", { src: `data:${variable.mimeType};base64,${variable.data}`, alt: variable.name ?? displayName }))));
2287
- }
2288
- const isWarning = element.className === 'warning-file';
2289
- const isInvalid = element.className === 'invalid-file';
2290
- const tooltipTitle = element.validationMessage ?? element.details;
2291
- return React.createElement("li", { key: index, className: `theia-ChatInput-ChatContext-Element ${element.className || ''}`, title: tooltipTitle, onClick: () => element.open?.() },
2292
- React.createElement("div", { className: "theia-ChatInput-ChatContext-Row" },
2293
- isWarning && React.createElement("span", { className: "codicon codicon-warning warning-file-icon" }),
2294
- isInvalid && React.createElement("span", { className: "codicon codicon-error invalid-file-icon" }),
2295
- React.createElement("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }),
2296
- React.createElement("div", { className: "theia-ChatInput-ChatContext-labelParts" },
2297
- React.createElement("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}` }, element.name),
2298
- React.createElement("span", { className: 'theia-ChatInput-ChatContext-additionalInfo' }, element.additionalInfo)),
2299
- React.createElement("span", { className: "codicon codicon-close action", title: core_1.nls.localizeByDefault('Delete'), onClick: e => { e.stopPropagation(); element.delete(); } })));
2300
- }))));
2213
+ const ChatContext = ({ context }) => ((0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-ChatContext", children: (0, jsx_runtime_1.jsx)("ul", { children: context.map((element, index) => {
2214
+ if (image_context_variable_1.ImageContextVariable.isImageContextRequest(element.variable)) {
2215
+ const variable = image_context_variable_1.ImageContextVariable.parseRequest(element.variable);
2216
+ const displayName = variable?.name ?? variable?.wsRelativePath?.split('/').pop() ?? element.name;
2217
+ const title = variable?.name ?? variable?.wsRelativePath ?? element.details ?? element.name;
2218
+ // Check if we have the actual image data (pre-processed) or just a path reference
2219
+ const hasImageData = variable && image_context_variable_1.ImageContextVariable.isResolved(variable);
2220
+ return (0, jsx_runtime_1.jsxs)("li", { className: "theia-ChatInput-ChatContext-Element theia-ChatInput-ImageContext-Element", title: title, onClick: () => element.open?.(), children: [(0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-ChatContext-Row", children: [(0, jsx_runtime_1.jsx)("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }), (0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-ChatContext-labelParts", children: [(0, jsx_runtime_1.jsx)("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}`, children: displayName }), (0, jsx_runtime_1.jsx)("span", { className: 'theia-ChatInput-ChatContext-additionalInfo', children: element.additionalInfo })] }), (0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-close action", title: core_1.nls.localizeByDefault('Delete'), onClick: e => { e.stopPropagation(); element.delete(); } })] }), hasImageData && (0, jsx_runtime_1.jsx)("div", { className: "theia-ChatInput-ChatContext-ImageRow", children: (0, jsx_runtime_1.jsx)("div", { className: 'theia-ChatInput-ImagePreview-Item', children: (0, jsx_runtime_1.jsx)("img", { src: `data:${variable.mimeType};base64,${variable.data}`, alt: variable.name ?? displayName }) }) })] }, index);
2221
+ }
2222
+ const isWarning = element.className === 'warning-file';
2223
+ const isInvalid = element.className === 'invalid-file';
2224
+ const tooltipTitle = element.validationMessage ?? element.details;
2225
+ return (0, jsx_runtime_1.jsx)("li", { className: `theia-ChatInput-ChatContext-Element ${element.className || ''}`, title: tooltipTitle, onClick: () => element.open?.(), children: (0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-ChatContext-Row", children: [isWarning && (0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-warning warning-file-icon" }), isInvalid && (0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-error invalid-file-icon" }), (0, jsx_runtime_1.jsx)("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }), (0, jsx_runtime_1.jsxs)("div", { className: "theia-ChatInput-ChatContext-labelParts", children: [(0, jsx_runtime_1.jsx)("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}`, children: element.name }), (0, jsx_runtime_1.jsx)("span", { className: 'theia-ChatInput-ChatContext-additionalInfo', children: element.additionalInfo })] }), (0, jsx_runtime_1.jsx)("span", { className: "codicon codicon-close action", title: core_1.nls.localizeByDefault('Delete'), onClick: e => { e.stopPropagation(); element.delete(); } })] }) }, index);
2226
+ }) }) }));
2301
2227
  //# sourceMappingURL=chat-input-widget.js.map