@theia/ai-chat-ui 1.67.0-next.56 → 1.67.0-next.59

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 (161) hide show
  1. package/lib/browser/ai-chat-ui-contribution.d.ts +66 -0
  2. package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -0
  3. package/lib/browser/ai-chat-ui-contribution.js +587 -0
  4. package/lib/browser/ai-chat-ui-contribution.js.map +1 -0
  5. package/lib/browser/ai-chat-ui-frontend-module.d.ts +5 -0
  6. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -0
  7. package/lib/browser/ai-chat-ui-frontend-module.js +153 -0
  8. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -0
  9. package/lib/browser/change-set-actions/change-set-accept-action.d.ts +10 -0
  10. package/lib/browser/change-set-actions/change-set-accept-action.d.ts.map +1 -0
  11. package/lib/browser/change-set-actions/change-set-accept-action.js +47 -0
  12. package/lib/browser/change-set-actions/change-set-accept-action.js.map +1 -0
  13. package/lib/browser/change-set-actions/change-set-action-service.d.ts +31 -0
  14. package/lib/browser/change-set-actions/change-set-action-service.d.ts.map +1 -0
  15. package/lib/browser/change-set-actions/change-set-action-service.js +57 -0
  16. package/lib/browser/change-set-actions/change-set-action-service.js.map +1 -0
  17. package/lib/browser/chat-input-agent-suggestions.d.ts +11 -0
  18. package/lib/browser/chat-input-agent-suggestions.d.ts.map +1 -0
  19. package/lib/browser/chat-input-agent-suggestions.js +76 -0
  20. package/lib/browser/chat-input-agent-suggestions.js.map +1 -0
  21. package/lib/browser/chat-input-history-contribution.d.ts +17 -0
  22. package/lib/browser/chat-input-history-contribution.d.ts.map +1 -0
  23. package/lib/browser/chat-input-history-contribution.js +158 -0
  24. package/lib/browser/chat-input-history-contribution.js.map +1 -0
  25. package/lib/browser/chat-input-history.d.ts +32 -0
  26. package/lib/browser/chat-input-history.d.ts.map +1 -0
  27. package/lib/browser/chat-input-history.js +125 -0
  28. package/lib/browser/chat-input-history.js.map +1 -0
  29. package/lib/browser/chat-input-mode-contribution.d.ts +12 -0
  30. package/lib/browser/chat-input-mode-contribution.d.ts.map +1 -0
  31. package/lib/browser/chat-input-mode-contribution.js +77 -0
  32. package/lib/browser/chat-input-mode-contribution.js.map +1 -0
  33. package/lib/browser/chat-input-widget.d.ts +118 -0
  34. package/lib/browser/chat-input-widget.d.ts.map +1 -0
  35. package/lib/browser/chat-input-widget.js +1034 -0
  36. package/lib/browser/chat-input-widget.js.map +1 -0
  37. package/lib/browser/chat-node-toolbar-action-contribution.d.ts +56 -0
  38. package/lib/browser/chat-node-toolbar-action-contribution.d.ts.map +1 -0
  39. package/lib/browser/chat-node-toolbar-action-contribution.js +92 -0
  40. package/lib/browser/chat-node-toolbar-action-contribution.js.map +1 -0
  41. package/lib/browser/chat-progress-message.d.ts +7 -0
  42. package/lib/browser/chat-progress-message.d.ts.map +1 -0
  43. package/lib/browser/chat-progress-message.js +33 -0
  44. package/lib/browser/chat-progress-message.js.map +1 -0
  45. package/lib/browser/chat-response-part-renderer.d.ts +10 -0
  46. package/lib/browser/chat-response-part-renderer.d.ts.map +1 -0
  47. package/lib/browser/chat-response-part-renderer.js +20 -0
  48. package/lib/browser/chat-response-part-renderer.js.map +1 -0
  49. package/lib/browser/chat-response-renderer/ai-selection-resolver.d.ts +23 -0
  50. package/lib/browser/chat-response-renderer/ai-selection-resolver.d.ts.map +1 -0
  51. package/lib/browser/chat-response-renderer/ai-selection-resolver.js +148 -0
  52. package/lib/browser/chat-response-renderer/ai-selection-resolver.js.map +1 -0
  53. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +73 -0
  54. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -0
  55. package/lib/browser/chat-response-renderer/code-part-renderer.js +227 -0
  56. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -0
  57. package/lib/browser/chat-response-renderer/command-part-renderer.d.ts +12 -0
  58. package/lib/browser/chat-response-renderer/command-part-renderer.d.ts.map +1 -0
  59. package/lib/browser/chat-response-renderer/command-part-renderer.js +67 -0
  60. package/lib/browser/chat-response-renderer/command-part-renderer.js.map +1 -0
  61. package/lib/browser/chat-response-renderer/delegation-response-renderer.d.ts +14 -0
  62. package/lib/browser/chat-response-renderer/delegation-response-renderer.d.ts.map +1 -0
  63. package/lib/browser/chat-response-renderer/delegation-response-renderer.js +144 -0
  64. package/lib/browser/chat-response-renderer/delegation-response-renderer.js.map +1 -0
  65. package/lib/browser/chat-response-renderer/error-part-renderer.d.ts +9 -0
  66. package/lib/browser/chat-response-renderer/error-part-renderer.d.ts.map +1 -0
  67. package/lib/browser/chat-response-renderer/error-part-renderer.js +40 -0
  68. package/lib/browser/chat-response-renderer/error-part-renderer.js.map +1 -0
  69. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts +12 -0
  70. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts.map +1 -0
  71. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js +54 -0
  72. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js.map +1 -0
  73. package/lib/browser/chat-response-renderer/index.d.ts +13 -0
  74. package/lib/browser/chat-response-renderer/index.d.ts.map +1 -0
  75. package/lib/browser/chat-response-renderer/index.js +31 -0
  76. package/lib/browser/chat-response-renderer/index.js.map +1 -0
  77. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +36 -0
  78. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -0
  79. package/lib/browser/chat-response-renderer/markdown-part-renderer.js +129 -0
  80. package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -0
  81. package/lib/browser/chat-response-renderer/progress-part-renderer.d.ts +9 -0
  82. package/lib/browser/chat-response-renderer/progress-part-renderer.d.ts.map +1 -0
  83. package/lib/browser/chat-response-renderer/progress-part-renderer.js +39 -0
  84. package/lib/browser/chat-response-renderer/progress-part-renderer.js.map +1 -0
  85. package/lib/browser/chat-response-renderer/question-part-renderer.d.ts +10 -0
  86. package/lib/browser/chat-response-renderer/question-part-renderer.d.ts.map +1 -0
  87. package/lib/browser/chat-response-renderer/question-part-renderer.js +49 -0
  88. package/lib/browser/chat-response-renderer/question-part-renderer.js.map +1 -0
  89. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts +9 -0
  90. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts.map +1 -0
  91. package/lib/browser/chat-response-renderer/text-part-renderer.js +43 -0
  92. package/lib/browser/chat-response-renderer/text-part-renderer.js.map +1 -0
  93. package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts +2 -0
  94. package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts.map +1 -0
  95. package/lib/browser/chat-response-renderer/text-part-renderer.spec.js +46 -0
  96. package/lib/browser/chat-response-renderer/text-part-renderer.spec.js.map +1 -0
  97. package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts +9 -0
  98. package/lib/browser/chat-response-renderer/thinking-part-renderer.d.ts.map +1 -0
  99. package/lib/browser/chat-response-renderer/thinking-part-renderer.js +42 -0
  100. package/lib/browser/chat-response-renderer/thinking-part-renderer.js.map +1 -0
  101. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts +17 -0
  102. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts.map +1 -0
  103. package/lib/browser/chat-response-renderer/tool-confirmation.js +122 -0
  104. package/lib/browser/chat-response-renderer/tool-confirmation.js.map +1 -0
  105. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +20 -0
  106. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -0
  107. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +223 -0
  108. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -0
  109. package/lib/browser/chat-response-renderer/unknown-part-renderer.d.ts +9 -0
  110. package/lib/browser/chat-response-renderer/unknown-part-renderer.d.ts.map +1 -0
  111. package/lib/browser/chat-response-renderer/unknown-part-renderer.js +42 -0
  112. package/lib/browser/chat-response-renderer/unknown-part-renderer.js.map +1 -0
  113. package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts +4 -0
  114. package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts.map +1 -0
  115. package/lib/browser/chat-tree-view/chat-view-tree-container.js +33 -0
  116. package/lib/browser/chat-tree-view/chat-view-tree-container.js.map +1 -0
  117. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts +38 -0
  118. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts.map +1 -0
  119. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js +88 -0
  120. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js.map +1 -0
  121. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +120 -0
  122. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -0
  123. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +654 -0
  124. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -0
  125. package/lib/browser/chat-tree-view/index.d.ts +3 -0
  126. package/lib/browser/chat-tree-view/index.d.ts.map +1 -0
  127. package/lib/browser/chat-tree-view/index.js +21 -0
  128. package/lib/browser/chat-tree-view/index.js.map +1 -0
  129. package/lib/browser/chat-tree-view/sub-chat-widget.d.ts +22 -0
  130. package/lib/browser/chat-tree-view/sub-chat-widget.d.ts.map +1 -0
  131. package/lib/browser/chat-tree-view/sub-chat-widget.js +92 -0
  132. package/lib/browser/chat-tree-view/sub-chat-widget.js.map +1 -0
  133. package/lib/browser/chat-view-commands.d.ts +15 -0
  134. package/lib/browser/chat-view-commands.d.ts.map +1 -0
  135. package/lib/browser/chat-view-commands.js +76 -0
  136. package/lib/browser/chat-view-commands.js.map +1 -0
  137. package/lib/browser/chat-view-contribution.d.ts +21 -0
  138. package/lib/browser/chat-view-contribution.d.ts.map +1 -0
  139. package/lib/browser/chat-view-contribution.js +183 -0
  140. package/lib/browser/chat-view-contribution.js.map +1 -0
  141. package/lib/browser/chat-view-language-contribution.d.ts +41 -0
  142. package/lib/browser/chat-view-language-contribution.d.ts.map +1 -0
  143. package/lib/browser/chat-view-language-contribution.js +269 -0
  144. package/lib/browser/chat-view-language-contribution.js.map +1 -0
  145. package/lib/browser/chat-view-widget-toolbar-contribution.d.ts +20 -0
  146. package/lib/browser/chat-view-widget-toolbar-contribution.d.ts.map +1 -0
  147. package/lib/browser/chat-view-widget-toolbar-contribution.js +115 -0
  148. package/lib/browser/chat-view-widget-toolbar-contribution.js.map +1 -0
  149. package/lib/browser/chat-view-widget.d.ts +60 -0
  150. package/lib/browser/chat-view-widget.d.ts.map +1 -0
  151. package/lib/browser/chat-view-widget.js +243 -0
  152. package/lib/browser/chat-view-widget.js.map +1 -0
  153. package/lib/browser/context-variable-picker.d.ts +9 -0
  154. package/lib/browser/context-variable-picker.d.ts.map +1 -0
  155. package/lib/browser/context-variable-picker.js +86 -0
  156. package/lib/browser/context-variable-picker.js.map +1 -0
  157. package/lib/browser/session-settings-dialog.d.ts +35 -0
  158. package/lib/browser/session-settings-dialog.d.ts.map +1 -0
  159. package/lib/browser/session-settings-dialog.js +118 -0
  160. package/lib/browser/session-settings-dialog.js.map +1 -0
  161. package/package.json +10 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { Command } from '@theia/core';
2
+ import { RequestNode, ResponseNode } from './chat-tree-view';
3
+ export interface ChatNodeToolbarAction {
4
+ /**
5
+ * The command to execute when the item is selected. The handler will receive the `RequestNode` or `ResponseNode` as first argument.
6
+ */
7
+ commandId: string;
8
+ /**
9
+ * Icon class name(s) for the item (e.g. 'codicon codicon-feedback').
10
+ */
11
+ icon: string;
12
+ /**
13
+ * Priority among the items. Can be negative. The smaller the number the left-most the item will be placed in the toolbar. It is `0` by default.
14
+ */
15
+ priority?: number;
16
+ /**
17
+ * Optional tooltip for the item.
18
+ */
19
+ tooltip?: string;
20
+ }
21
+ /**
22
+ * Clients implement this interface if they want to contribute to the toolbar of chat nodes.
23
+ *
24
+ * ### Example
25
+ * ```ts
26
+ * bind(ChatNodeToolbarActionContribution).toDynamicValue(context => ({
27
+ * getToolbarActions: (args: RequestNode | ResponseNode) => {
28
+ * if (isResponseNode(args)) {
29
+ * return [{
30
+ * commandId: 'core.about',
31
+ * icon: 'codicon codicon-feedback',
32
+ * tooltip: 'Show about dialog on response nodes'
33
+ * }];
34
+ * } else {
35
+ * return [];
36
+ * }
37
+ * }
38
+ * }));
39
+ * ```
40
+ */
41
+ export declare const ChatNodeToolbarActionContribution: unique symbol;
42
+ export interface ChatNodeToolbarActionContribution {
43
+ /**
44
+ * Returns the toolbar actions for the given node.
45
+ */
46
+ getToolbarActions(node: RequestNode | ResponseNode): ChatNodeToolbarAction[];
47
+ }
48
+ export declare namespace ChatNodeToolbarCommands {
49
+ const EDIT: Command;
50
+ const CANCEL: Command;
51
+ const RETRY: Command;
52
+ }
53
+ export declare class DefaultChatNodeToolbarActionContribution implements ChatNodeToolbarActionContribution {
54
+ getToolbarActions(node: RequestNode | ResponseNode): ChatNodeToolbarAction[];
55
+ }
56
+ //# sourceMappingURL=chat-node-toolbar-action-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-node-toolbar-action-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/chat-node-toolbar-action-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAiB,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iCAAiC,eAA8C,CAAC;AAC7F,MAAM,WAAW,iCAAiC;IAC9C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,qBAAqB,EAAE,CAAC;CAChF;AAED,yBAAiB,uBAAuB,CAAC;IAI9B,MAAM,IAAI,SAGqB,CAAC;IAEhC,MAAM,MAAM,SAGmB,CAAC;IAEhC,MAAM,KAAK,SAGyB,CAAC;CAC/C;AAED,qBAAa,wCAAyC,YAAW,iCAAiC;IAC9F,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,qBAAqB,EAAE;CA2B/E"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultChatNodeToolbarActionContribution = exports.ChatNodeToolbarCommands = exports.ChatNodeToolbarActionContribution = void 0;
4
+ // *****************************************************************************
5
+ // Copyright (C) 2024 EclipseSource GmbH.
6
+ //
7
+ // This program and the accompanying materials are made available under the
8
+ // terms of the Eclipse Public License v. 2.0 which is available at
9
+ // http://www.eclipse.org/legal/epl-2.0.
10
+ //
11
+ // This Source Code may also be made available under the following Secondary
12
+ // Licenses when the conditions for such availability set forth in the Eclipse
13
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
14
+ // with the GNU Classpath Exception which is available at
15
+ // https://www.gnu.org/software/classpath/license.html.
16
+ //
17
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
18
+ // *****************************************************************************
19
+ const core_1 = require("@theia/core");
20
+ const browser_1 = require("@theia/core/lib/browser");
21
+ const chat_tree_view_1 = require("./chat-tree-view");
22
+ const ai_chat_1 = require("@theia/ai-chat");
23
+ /**
24
+ * Clients implement this interface if they want to contribute to the toolbar of chat nodes.
25
+ *
26
+ * ### Example
27
+ * ```ts
28
+ * bind(ChatNodeToolbarActionContribution).toDynamicValue(context => ({
29
+ * getToolbarActions: (args: RequestNode | ResponseNode) => {
30
+ * if (isResponseNode(args)) {
31
+ * return [{
32
+ * commandId: 'core.about',
33
+ * icon: 'codicon codicon-feedback',
34
+ * tooltip: 'Show about dialog on response nodes'
35
+ * }];
36
+ * } else {
37
+ * return [];
38
+ * }
39
+ * }
40
+ * }));
41
+ * ```
42
+ */
43
+ exports.ChatNodeToolbarActionContribution = Symbol('ChatNodeToolbarActionContribution');
44
+ var ChatNodeToolbarCommands;
45
+ (function (ChatNodeToolbarCommands) {
46
+ const CHAT_NODE_TOOLBAR_CATEGORY = 'ChatNodeToolbar';
47
+ const CHAT_NODE_TOOLBAR_CATEGORY_KEY = core_1.nls.getDefaultKey(CHAT_NODE_TOOLBAR_CATEGORY);
48
+ ChatNodeToolbarCommands.EDIT = core_1.Command.toLocalizedCommand({
49
+ id: 'chat:node:toolbar:edit-request',
50
+ category: CHAT_NODE_TOOLBAR_CATEGORY,
51
+ }, '', CHAT_NODE_TOOLBAR_CATEGORY_KEY);
52
+ ChatNodeToolbarCommands.CANCEL = core_1.Command.toLocalizedCommand({
53
+ id: 'chat:node:toolbar:cancel-request',
54
+ category: CHAT_NODE_TOOLBAR_CATEGORY,
55
+ }, '', CHAT_NODE_TOOLBAR_CATEGORY_KEY);
56
+ ChatNodeToolbarCommands.RETRY = core_1.Command.toLocalizedCommand({
57
+ id: 'chat:node:toolbar:retry-message',
58
+ category: CHAT_NODE_TOOLBAR_CATEGORY,
59
+ }, 'Retry', CHAT_NODE_TOOLBAR_CATEGORY_KEY);
60
+ })(ChatNodeToolbarCommands || (exports.ChatNodeToolbarCommands = ChatNodeToolbarCommands = {}));
61
+ class DefaultChatNodeToolbarActionContribution {
62
+ getToolbarActions(node) {
63
+ if ((0, chat_tree_view_1.isRequestNode)(node)) {
64
+ if (ai_chat_1.EditableChatRequestModel.isEditing(node.request)) {
65
+ return [{
66
+ commandId: ChatNodeToolbarCommands.CANCEL.id,
67
+ icon: (0, browser_1.codicon)('close'),
68
+ tooltip: core_1.nls.localize('theia/ai/chat-ui/node/toolbar/cancel', 'Cancel'),
69
+ }];
70
+ }
71
+ return [{
72
+ commandId: ChatNodeToolbarCommands.EDIT.id,
73
+ icon: (0, browser_1.codicon)('edit'),
74
+ tooltip: core_1.nls.localize('theia/ai/chat-ui/node/toolbar/edit', 'Edit'),
75
+ }];
76
+ }
77
+ else {
78
+ const shouldShowRetry = node.response.isError || node.response.isCanceled;
79
+ if (shouldShowRetry) {
80
+ return [{
81
+ commandId: ChatNodeToolbarCommands.RETRY.id,
82
+ icon: (0, browser_1.codicon)('refresh'),
83
+ tooltip: core_1.nls.localize('theia/ai/chat-ui/node/toolbar/retry', 'Retry'),
84
+ priority: -1 // Higher priority to show it first
85
+ }];
86
+ }
87
+ return [];
88
+ }
89
+ }
90
+ }
91
+ exports.DefaultChatNodeToolbarActionContribution = DefaultChatNodeToolbarActionContribution;
92
+ //# sourceMappingURL=chat-node-toolbar-action-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-node-toolbar-action-contribution.js","sourceRoot":"","sources":["../../src/browser/chat-node-toolbar-action-contribution.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;AAChF,sCAA2C;AAC3C,qDAAkD;AAClD,qDAA4E;AAC5E,4CAA0D;AAqB1D;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,iCAAiC,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAQ7F,IAAiB,uBAAuB,CAkBvC;AAlBD,WAAiB,uBAAuB;IACpC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IACrD,MAAM,8BAA8B,GAAG,UAAG,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAExE,4BAAI,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC3C,EAAE,EAAE,gCAAgC;QACpC,QAAQ,EAAE,0BAA0B;KACvC,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAE1B,8BAAM,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC7C,EAAE,EAAE,kCAAkC;QACtC,QAAQ,EAAE,0BAA0B;KACvC,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAE1B,6BAAK,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC5C,EAAE,EAAE,iCAAiC;QACrC,QAAQ,EAAE,0BAA0B;KACvC,EAAE,OAAO,EAAE,8BAA8B,CAAC,CAAC;AAChD,CAAC,EAlBgB,uBAAuB,uCAAvB,uBAAuB,QAkBvC;AAED,MAAa,wCAAwC;IACjD,iBAAiB,CAAC,IAAgC;QAC9C,IAAI,IAAA,8BAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,kCAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC;wBACJ,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE;wBAC5C,IAAI,EAAE,IAAA,iBAAO,EAAC,OAAO,CAAC;wBACtB,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,QAAQ,CAAC;qBAC1E,CAAC,CAAC;YACP,CAAC;YACD,OAAO,CAAC;oBACJ,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE;oBAC1C,IAAI,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC;oBACrB,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC;iBACtE,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1E,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC;wBACJ,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE;wBAC3C,IAAI,EAAE,IAAA,iBAAO,EAAC,SAAS,CAAC;wBACxB,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,qCAAqC,EAAE,OAAO,CAAC;wBACrE,QAAQ,EAAE,CAAC,CAAC,CAAC,mCAAmC;qBACnD,CAAC,CAAC;YACP,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;CACJ;AA5BD,4FA4BC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { ChatProgressMessage } from '@theia/ai-chat';
3
+ import * as React from '@theia/core/shared/react';
4
+ export type ProgressMessageProps = Omit<ChatProgressMessage, 'kind' | 'id' | 'show'>;
5
+ export declare const ProgressMessage: (c: ProgressMessageProps) => React.JSX.Element;
6
+ export declare const Indicator: (progressMessage: ProgressMessageProps) => React.JSX.Element;
7
+ //# sourceMappingURL=chat-progress-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-progress-message.d.ts","sourceRoot":"","sources":["../../src/browser/chat-progress-message.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAErF,eAAO,MAAM,eAAe,MAAO,oBAAoB,sBAItD,CAAC;AAEF,eAAO,MAAM,SAAS,oBAAqB,oBAAoB,sBAY9D,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Indicator = exports.ProgressMessage = void 0;
19
+ const React = require("@theia/core/shared/react");
20
+ const ProgressMessage = (c) => (React.createElement("div", { className: 'theia-ResponseNode-ProgressMessage' },
21
+ React.createElement(exports.Indicator, { ...c }),
22
+ " ",
23
+ c.content));
24
+ exports.ProgressMessage = ProgressMessage;
25
+ const Indicator = (progressMessage) => (React.createElement("span", { className: 'theia-ResponseNode-ProgressMessage-Indicator' },
26
+ progressMessage.status === 'inProgress' &&
27
+ React.createElement("i", { className: 'fa fa-spinner fa-spin ' + progressMessage.status }),
28
+ progressMessage.status === 'completed' &&
29
+ React.createElement("i", { className: 'fa fa-check ' + progressMessage.status }),
30
+ progressMessage.status === 'failed' &&
31
+ React.createElement("i", { className: 'fa fa-warning ' + progressMessage.status })));
32
+ exports.Indicator = Indicator;
33
+ //# sourceMappingURL=chat-progress-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-progress-message.js","sourceRoot":"","sources":["../../src/browser/chat-progress-message.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;;;AAGhF,kDAAkD;AAI3C,MAAM,eAAe,GAAG,CAAC,CAAuB,EAAE,EAAE,CAAC,CACxD,6BAAK,SAAS,EAAC,oCAAoC;IAC/C,oBAAC,iBAAS,OAAK,CAAC,GAAI;;IAAE,CAAC,CAAC,OAAO,CAC7B,CACT,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,SAAS,GAAG,CAAC,eAAqC,EAAE,EAAE,CAAC,CAChE,8BAAM,SAAS,EAAC,8CAA8C;IACzD,eAAe,CAAC,MAAM,KAAK,YAAY;QACpC,2BAAG,SAAS,EAAE,wBAAwB,GAAG,eAAe,CAAC,MAAM,GAAM;IAExE,eAAe,CAAC,MAAM,KAAK,WAAW;QACnC,2BAAG,SAAS,EAAE,cAAc,GAAG,eAAe,CAAC,MAAM,GAAM;IAE9D,eAAe,CAAC,MAAM,KAAK,QAAQ;QAChC,2BAAG,SAAS,EAAE,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAM,CAE9D,CACV,CAAC;AAZW,QAAA,SAAS,aAYpB"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { ChatResponseContent } from '@theia/ai-chat/lib/common';
3
+ import { ReactNode } from '@theia/core/shared/react';
4
+ import { ResponseNode } from './chat-tree-view/chat-view-tree-widget';
5
+ export declare const ChatResponsePartRenderer: unique symbol;
6
+ export interface ChatResponsePartRenderer<T extends ChatResponseContent> {
7
+ canHandle(response: ChatResponseContent): number;
8
+ render(response: T, parentNode: ResponseNode): ReactNode;
9
+ }
10
+ //# sourceMappingURL=chat-response-part-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-response-part-renderer.d.ts","sourceRoot":"","sources":["../../src/browser/chat-response-part-renderer.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAC3E,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,mBAAmB;IACnE,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;CAC5D"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ChatResponsePartRenderer = void 0;
19
+ exports.ChatResponsePartRenderer = Symbol('ChatResponsePartRenderer');
20
+ //# sourceMappingURL=chat-response-part-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-response-part-renderer.js","sourceRoot":"","sources":["../../src/browser/chat-response-part-renderer.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;;;AAMnE,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RecursivePartial, URI } from '@theia/core';
2
+ import { EditorOpenerOptions, EditorWidget, Range } from '@theia/editor/lib/browser';
3
+ import { EditorSelectionResolver } from '@theia/editor/lib/browser/editor-manager';
4
+ import { DocumentSymbol } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
5
+ import { MonacoToProtocolConverter } from '@theia/monaco/lib/browser/monaco-to-protocol-converter';
6
+ /** Regex to match GitHub-style position and range declaration with line (L) and column (C) */
7
+ export declare const LOCATION_REGEX: RegExp;
8
+ export declare class GitHubSelectionResolver implements EditorSelectionResolver {
9
+ priority: number;
10
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
11
+ }
12
+ export declare class TypeDocSymbolSelectionResolver implements EditorSelectionResolver {
13
+ priority: number;
14
+ protected readonly m2p: MonacoToProtocolConverter;
15
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
16
+ protected findSymbolPath(uri: URI): string[] | undefined;
17
+ protected findSymbolByPath(symbols: DocumentSymbol[], symbolPath: string[]): DocumentSymbol | undefined;
18
+ }
19
+ export declare class TextFragmentSelectionResolver implements EditorSelectionResolver {
20
+ resolveSelection(widget: EditorWidget, options: EditorOpenerOptions, uri?: URI): Promise<RecursivePartial<Range> | undefined>;
21
+ protected findFragment(uri: URI): string | undefined;
22
+ }
23
+ //# sourceMappingURL=ai-selection-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-selection-resolver.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-selection-resolver.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAK1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAEnG,8FAA8F;AAC9F,eAAO,MAAM,cAAc,QAAiD,CAAC;AAE7E,qBACa,uBAAwB,YAAW,uBAAuB;IACnE,QAAQ,SAAO;IAET,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAsBtI;AAED,qBACa,8BAA+B,YAAW,uBAAuB;IAC1E,QAAQ,SAAM;IAEqB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;IAE/E,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IA6BnI,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAIxD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,SAAS;CAe1G;AAED,qBACa,6BAA8B,YAAW,uBAAuB;IACnE,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAuBnI,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;CAGvD"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TextFragmentSelectionResolver = exports.TypeDocSymbolSelectionResolver = exports.GitHubSelectionResolver = exports.LOCATION_REGEX = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const languageFeatures_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures");
23
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
24
+ const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
25
+ const monaco_to_protocol_converter_1 = require("@theia/monaco/lib/browser/monaco-to-protocol-converter");
26
+ /** Regex to match GitHub-style position and range declaration with line (L) and column (C) */
27
+ exports.LOCATION_REGEX = /#L(\d+)?(?:C(\d+))?(?:-L(\d+)?(?:C(\d+))?)?$/;
28
+ let GitHubSelectionResolver = class GitHubSelectionResolver {
29
+ constructor() {
30
+ this.priority = 100;
31
+ }
32
+ async resolveSelection(widget, options, uri) {
33
+ if (!uri) {
34
+ return;
35
+ }
36
+ // We allow the GitHub syntax of selecting a range in markdown 'L1', 'L1-L2' 'L1-C1_L2-C2' (starting at line 1 and column 1)
37
+ const match = uri === null || uri === void 0 ? void 0 : uri.toString().match(exports.LOCATION_REGEX);
38
+ if (!match) {
39
+ return;
40
+ }
41
+ // we need to adapt the position information from one-based (in GitHub) to zero-based (in Theia)
42
+ const startLine = match[1] ? parseInt(match[1], 10) - 1 : undefined;
43
+ // if no start column is given, we assume the start of the line
44
+ const startColumn = match[2] ? parseInt(match[2], 10) - 1 : 0;
45
+ const endLine = match[3] ? parseInt(match[3], 10) - 1 : undefined;
46
+ // if no end column is given, we assume the end of the line
47
+ const endColumn = match[4] ? parseInt(match[4], 10) - 1 : endLine ? widget.editor.document.getLineMaxColumn(endLine) : undefined;
48
+ return {
49
+ start: { line: startLine, character: startColumn },
50
+ end: { line: endLine, character: endColumn }
51
+ };
52
+ }
53
+ };
54
+ exports.GitHubSelectionResolver = GitHubSelectionResolver;
55
+ exports.GitHubSelectionResolver = GitHubSelectionResolver = tslib_1.__decorate([
56
+ (0, inversify_1.injectable)()
57
+ ], GitHubSelectionResolver);
58
+ let TypeDocSymbolSelectionResolver = class TypeDocSymbolSelectionResolver {
59
+ constructor() {
60
+ this.priority = 50;
61
+ }
62
+ async resolveSelection(widget, options, uri) {
63
+ if (!uri) {
64
+ return;
65
+ }
66
+ const editor = monaco_editor_1.MonacoEditor.get(widget);
67
+ const monacoEditor = editor === null || editor === void 0 ? void 0 : editor.getControl();
68
+ if (!monacoEditor) {
69
+ return;
70
+ }
71
+ const symbolPath = this.findSymbolPath(uri);
72
+ if (!symbolPath) {
73
+ return;
74
+ }
75
+ const textModel = monacoEditor.getModel();
76
+ if (!textModel) {
77
+ return;
78
+ }
79
+ // try to find the symbol through the document symbol provider
80
+ // support referencing nested symbols by separating a dot path similar to TypeDoc
81
+ for (const provider of standaloneServices_1.StandaloneServices.get(languageFeatures_1.ILanguageFeaturesService).documentSymbolProvider.ordered(textModel)) {
82
+ const symbols = await provider.provideDocumentSymbols(textModel, core_1.CancellationToken.None);
83
+ const match = this.findSymbolByPath(symbols !== null && symbols !== void 0 ? symbols : [], symbolPath);
84
+ if (match) {
85
+ return this.m2p.asRange(match.selectionRange);
86
+ }
87
+ }
88
+ }
89
+ findSymbolPath(uri) {
90
+ return uri.fragment.split('.');
91
+ }
92
+ findSymbolByPath(symbols, symbolPath) {
93
+ if (!symbols || symbolPath.length === 0) {
94
+ return undefined;
95
+ }
96
+ let matchedSymbol = undefined;
97
+ let currentSymbols = symbols;
98
+ for (const part of symbolPath) {
99
+ matchedSymbol = currentSymbols.find(symbol => symbol.name === part);
100
+ if (!matchedSymbol) {
101
+ return undefined;
102
+ }
103
+ currentSymbols = matchedSymbol.children || [];
104
+ }
105
+ return matchedSymbol;
106
+ }
107
+ };
108
+ exports.TypeDocSymbolSelectionResolver = TypeDocSymbolSelectionResolver;
109
+ tslib_1.__decorate([
110
+ (0, inversify_1.inject)(monaco_to_protocol_converter_1.MonacoToProtocolConverter),
111
+ tslib_1.__metadata("design:type", monaco_to_protocol_converter_1.MonacoToProtocolConverter)
112
+ ], TypeDocSymbolSelectionResolver.prototype, "m2p", void 0);
113
+ exports.TypeDocSymbolSelectionResolver = TypeDocSymbolSelectionResolver = tslib_1.__decorate([
114
+ (0, inversify_1.injectable)()
115
+ ], TypeDocSymbolSelectionResolver);
116
+ let TextFragmentSelectionResolver = class TextFragmentSelectionResolver {
117
+ async resolveSelection(widget, options, uri) {
118
+ var _a, _b, _c;
119
+ if (!uri) {
120
+ return;
121
+ }
122
+ const fragment = this.findFragment(uri);
123
+ if (!fragment) {
124
+ return;
125
+ }
126
+ const matches = (_c = (_b = (_a = widget.editor.document).findMatches) === null || _b === void 0 ? void 0 : _b.call(_a, { isRegex: false, matchCase: false, matchWholeWord: false, searchString: fragment })) !== null && _c !== void 0 ? _c : [];
127
+ if (matches.length > 0) {
128
+ return {
129
+ start: {
130
+ line: matches[0].range.start.line - 1,
131
+ character: matches[0].range.start.character - 1
132
+ },
133
+ end: {
134
+ line: matches[0].range.end.line - 1,
135
+ character: matches[0].range.end.character - 1
136
+ }
137
+ };
138
+ }
139
+ }
140
+ findFragment(uri) {
141
+ return uri.fragment;
142
+ }
143
+ };
144
+ exports.TextFragmentSelectionResolver = TextFragmentSelectionResolver;
145
+ exports.TextFragmentSelectionResolver = TextFragmentSelectionResolver = tslib_1.__decorate([
146
+ (0, inversify_1.injectable)()
147
+ ], TextFragmentSelectionResolver);
148
+ //# sourceMappingURL=ai-selection-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-selection-resolver.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/ai-selection-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /// <reference types="react" />
2
+ import { ChatResponseContent, CodeChatResponseContent } from '@theia/ai-chat/lib/common';
3
+ import { ContributionProvider, UntitledResourceResolver, URI } from '@theia/core';
4
+ import { ContextMenuRenderer, TreeNode } from '@theia/core/lib/browser';
5
+ import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
6
+ import * as React from '@theia/core/shared/react';
7
+ import { ReactNode } from '@theia/core/shared/react';
8
+ import { Position } from '@theia/core/shared/vscode-languageserver-protocol';
9
+ import { EditorManager } from '@theia/editor/lib/browser';
10
+ import { MonacoEditorProvider } from '@theia/monaco/lib/browser/monaco-editor-provider';
11
+ import { MonacoLanguages } from '@theia/monaco/lib/browser/monaco-languages';
12
+ import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
13
+ import { ResponseNode } from '../chat-tree-view/chat-view-tree-widget';
14
+ import { IMouseEvent } from '@theia/monaco-editor-core';
15
+ export declare const CodePartRendererAction: unique symbol;
16
+ /**
17
+ * The CodePartRenderer offers to contribute arbitrary React nodes to the rendered code part.
18
+ * Technically anything can be rendered, however it is intended to be used for actions, like
19
+ * "Copy to Clipboard" or "Insert at Cursor".
20
+ */
21
+ export interface CodePartRendererAction {
22
+ render(response: CodeChatResponseContent, parentNode: ResponseNode): ReactNode;
23
+ /**
24
+ * Determines if the action should be rendered for the given response.
25
+ */
26
+ canRender?(response: CodeChatResponseContent, parentNode: ResponseNode): boolean;
27
+ /**
28
+ * The priority determines the order in which the actions are rendered.
29
+ * The default priorities are 10 and 20.
30
+ */
31
+ priority: number;
32
+ }
33
+ export declare class CodePartRenderer implements ChatResponsePartRenderer<CodeChatResponseContent> {
34
+ protected readonly editorManager: EditorManager;
35
+ protected readonly untitledResourceResolver: UntitledResourceResolver;
36
+ protected readonly editorProvider: MonacoEditorProvider;
37
+ protected readonly languageService: MonacoLanguages;
38
+ protected readonly contextMenuRenderer: ContextMenuRenderer;
39
+ protected readonly codePartRendererActions: ContributionProvider<CodePartRendererAction>;
40
+ canHandle(response: ChatResponseContent): number;
41
+ render(response: CodeChatResponseContent, parentNode: ResponseNode): ReactNode;
42
+ protected renderTitle(response: CodeChatResponseContent): ReactNode;
43
+ private getTitle;
44
+ /**
45
+ * Opens a file and moves the cursor to the specified position.
46
+ *
47
+ * @param uri - The URI of the file to open.
48
+ * @param position - The position to move the cursor to, specified as {line, character}.
49
+ */
50
+ openFileAtPosition(uri: URI, position: Position): Promise<void>;
51
+ protected handleContextMenuEvent(node: TreeNode | undefined, event: IMouseEvent, code: string): void;
52
+ }
53
+ export declare class CopyToClipboardButtonAction implements CodePartRendererAction {
54
+ protected readonly clipboardService: ClipboardService;
55
+ priority: number;
56
+ render(response: CodeChatResponseContent): ReactNode;
57
+ }
58
+ export declare class InsertCodeAtCursorButtonAction implements CodePartRendererAction {
59
+ protected readonly editorManager: EditorManager;
60
+ priority: number;
61
+ render(response: CodeChatResponseContent): ReactNode;
62
+ }
63
+ /**
64
+ * Renders the given code within a Monaco Editor
65
+ */
66
+ export declare const CodeWrapper: (props: {
67
+ content: string;
68
+ language?: string;
69
+ untitledResourceResolver: UntitledResourceResolver;
70
+ editorProvider: MonacoEditorProvider;
71
+ contextMenuCallback: (e: IMouseEvent) => void;
72
+ }) => React.JSX.Element;
73
+ //# sourceMappingURL=code-part-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/code-part-renderer.tsx"],"names":[],"mappings":";AAeA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAsB,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/E;;OAEG;IACH,SAAS,CAAC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC;IACjF;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,gBACT,YAAW,wBAAwB,CAAC,uBAAuB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAEzF,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS;IA0B9E,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;IASnE,OAAO,CAAC,QAAQ;IAMhB;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CASvG;AAED,qBACa,2BAA4B,YAAW,sBAAsB;IAEtE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACtD,QAAQ,SAAM;IACd,MAAM,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;CAGvD;AAUD,qBACa,8BAA+B,YAAW,sBAAsB;IAEzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAChD,QAAQ,SAAM;IACd,MAAM,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;CAGvD;AAwBD;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,EAAE,oBAAoB,CAAC;IACrC,mBAAmB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;CAChD,sBA8CA,CAAC"}