@theia/ai-chat-ui 1.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +32 -0
  2. package/lib/browser/ai-chat-ui-contribution.d.ts +24 -0
  3. package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -0
  4. package/lib/browser/ai-chat-ui-contribution.js +161 -0
  5. package/lib/browser/ai-chat-ui-contribution.js.map +1 -0
  6. package/lib/browser/ai-chat-ui-frontend-module.d.ts +5 -0
  7. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -0
  8. package/lib/browser/ai-chat-ui-frontend-module.js +83 -0
  9. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -0
  10. package/lib/browser/chat-input-widget.d.ts +32 -0
  11. package/lib/browser/chat-input-widget.d.ts.map +1 -0
  12. package/lib/browser/chat-input-widget.js +205 -0
  13. package/lib/browser/chat-input-widget.js.map +1 -0
  14. package/lib/browser/chat-node-toolbar-action-contribution.d.ts +47 -0
  15. package/lib/browser/chat-node-toolbar-action-contribution.d.ts.map +1 -0
  16. package/lib/browser/chat-node-toolbar-action-contribution.js +25 -0
  17. package/lib/browser/chat-node-toolbar-action-contribution.js.map +1 -0
  18. package/lib/browser/chat-response-part-renderer.d.ts +10 -0
  19. package/lib/browser/chat-response-part-renderer.d.ts.map +1 -0
  20. package/lib/browser/chat-response-part-renderer.js +20 -0
  21. package/lib/browser/chat-response-part-renderer.js.map +1 -0
  22. package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts +36 -0
  23. package/lib/browser/chat-response-renderer/ai-editor-manager.d.ts.map +1 -0
  24. package/lib/browser/chat-response-renderer/ai-editor-manager.js +184 -0
  25. package/lib/browser/chat-response-renderer/ai-editor-manager.js.map +1 -0
  26. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +45 -0
  27. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -0
  28. package/lib/browser/chat-response-renderer/code-part-renderer.js +186 -0
  29. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -0
  30. package/lib/browser/chat-response-renderer/command-part-renderer.d.ts +12 -0
  31. package/lib/browser/chat-response-renderer/command-part-renderer.d.ts.map +1 -0
  32. package/lib/browser/chat-response-renderer/command-part-renderer.js +70 -0
  33. package/lib/browser/chat-response-renderer/command-part-renderer.js.map +1 -0
  34. package/lib/browser/chat-response-renderer/error-part-renderer.d.ts +9 -0
  35. package/lib/browser/chat-response-renderer/error-part-renderer.d.ts.map +1 -0
  36. package/lib/browser/chat-response-renderer/error-part-renderer.js +40 -0
  37. package/lib/browser/chat-response-renderer/error-part-renderer.js.map +1 -0
  38. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts +12 -0
  39. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.d.ts.map +1 -0
  40. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js +54 -0
  41. package/lib/browser/chat-response-renderer/horizontal-layout-part-renderer.js.map +1 -0
  42. package/lib/browser/chat-response-renderer/index.d.ts +9 -0
  43. package/lib/browser/chat-response-renderer/index.d.ts.map +1 -0
  44. package/lib/browser/chat-response-renderer/index.js +27 -0
  45. package/lib/browser/chat-response-renderer/index.js.map +1 -0
  46. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +17 -0
  47. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -0
  48. package/lib/browser/chat-response-renderer/markdown-part-renderer.js +70 -0
  49. package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -0
  50. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts +9 -0
  51. package/lib/browser/chat-response-renderer/text-part-renderer.d.ts.map +1 -0
  52. package/lib/browser/chat-response-renderer/text-part-renderer.js +41 -0
  53. package/lib/browser/chat-response-renderer/text-part-renderer.js.map +1 -0
  54. package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts +2 -0
  55. package/lib/browser/chat-response-renderer/text-part-renderer.spec.d.ts.map +1 -0
  56. package/lib/browser/chat-response-renderer/text-part-renderer.spec.js +46 -0
  57. package/lib/browser/chat-response-renderer/text-part-renderer.spec.js.map +1 -0
  58. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +9 -0
  59. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -0
  60. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +49 -0
  61. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -0
  62. package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts +4 -0
  63. package/lib/browser/chat-tree-view/chat-view-tree-container.d.ts.map +1 -0
  64. package/lib/browser/chat-tree-view/chat-view-tree-container.js +33 -0
  65. package/lib/browser/chat-tree-view/chat-view-tree-container.js.map +1 -0
  66. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +53 -0
  67. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -0
  68. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +324 -0
  69. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -0
  70. package/lib/browser/chat-tree-view/index.d.ts +3 -0
  71. package/lib/browser/chat-tree-view/index.d.ts.map +1 -0
  72. package/lib/browser/chat-tree-view/index.js +21 -0
  73. package/lib/browser/chat-tree-view/index.js.map +1 -0
  74. package/lib/browser/chat-view-commands.d.ts +8 -0
  75. package/lib/browser/chat-view-commands.d.ts.map +1 -0
  76. package/lib/browser/chat-view-commands.js +44 -0
  77. package/lib/browser/chat-view-commands.js.map +1 -0
  78. package/lib/browser/chat-view-contribution.d.ts +18 -0
  79. package/lib/browser/chat-view-contribution.d.ts.map +1 -0
  80. package/lib/browser/chat-view-contribution.js +153 -0
  81. package/lib/browser/chat-view-contribution.js.map +1 -0
  82. package/lib/browser/chat-view-language-contribution.d.ts +20 -0
  83. package/lib/browser/chat-view-language-contribution.d.ts.map +1 -0
  84. package/lib/browser/chat-view-language-contribution.js +98 -0
  85. package/lib/browser/chat-view-language-contribution.js.map +1 -0
  86. package/lib/browser/chat-view-widget-toolbar-contribution.d.ts +11 -0
  87. package/lib/browser/chat-view-widget-toolbar-contribution.d.ts.map +1 -0
  88. package/lib/browser/chat-view-widget-toolbar-contribution.js +65 -0
  89. package/lib/browser/chat-view-widget-toolbar-contribution.js.map +1 -0
  90. package/lib/browser/chat-view-widget.d.ts +41 -0
  91. package/lib/browser/chat-view-widget.d.ts.map +1 -0
  92. package/lib/browser/chat-view-widget.js +182 -0
  93. package/lib/browser/chat-view-widget.js.map +1 -0
  94. package/package.json +59 -0
  95. package/src/browser/ai-chat-ui-contribution.ts +171 -0
  96. package/src/browser/ai-chat-ui-frontend-module.ts +101 -0
  97. package/src/browser/chat-input-widget.tsx +247 -0
  98. package/src/browser/chat-node-toolbar-action-contribution.ts +63 -0
  99. package/src/browser/chat-response-part-renderer.ts +25 -0
  100. package/src/browser/chat-response-renderer/ai-editor-manager.ts +183 -0
  101. package/src/browser/chat-response-renderer/code-part-renderer.tsx +208 -0
  102. package/src/browser/chat-response-renderer/command-part-renderer.tsx +60 -0
  103. package/src/browser/chat-response-renderer/error-part-renderer.tsx +35 -0
  104. package/src/browser/chat-response-renderer/horizontal-layout-part-renderer.tsx +59 -0
  105. package/src/browser/chat-response-renderer/index.ts +23 -0
  106. package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +71 -0
  107. package/src/browser/chat-response-renderer/text-part-renderer.spec.ts +50 -0
  108. package/src/browser/chat-response-renderer/text-part-renderer.tsx +35 -0
  109. package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +49 -0
  110. package/src/browser/chat-tree-view/chat-view-tree-container.ts +32 -0
  111. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +410 -0
  112. package/src/browser/chat-tree-view/index.ts +18 -0
  113. package/src/browser/chat-view-commands.ts +45 -0
  114. package/src/browser/chat-view-contribution.ts +154 -0
  115. package/src/browser/chat-view-language-contribution.ts +141 -0
  116. package/src/browser/chat-view-widget-toolbar-contribution.tsx +54 -0
  117. package/src/browser/chat-view-widget.tsx +194 -0
  118. package/src/browser/style/index.css +328 -0
@@ -0,0 +1,328 @@
1
+ .chat-view-widget {
2
+ display: flex;
3
+ flex-direction: column;
4
+ }
5
+
6
+ .chat-tree-view-widget {
7
+ flex: 1;
8
+ }
9
+
10
+ .chat-input-widget > .ps__rail-x,
11
+ .chat-input-widget > .ps__rail-y {
12
+ display: none !important;
13
+ }
14
+
15
+ .theia-ChatNode {
16
+ cursor: default;
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: 8px;
20
+ padding: 16px 20px;
21
+ user-select: text;
22
+ -webkit-user-select: text;
23
+ border-bottom: 1px solid var(--theia-sideBarSectionHeader-border);
24
+ overflow-wrap: break-word;
25
+ }
26
+
27
+ div:last-child > .theia-ChatNode {
28
+ border: none;
29
+ }
30
+
31
+ .theia-ChatNodeHeader {
32
+ align-items: center;
33
+ display: flex;
34
+ justify-content: space-between;
35
+ height: 24px;
36
+ gap: 8px;
37
+ width: 100%;
38
+ }
39
+
40
+ .theia-ChatNodeHeader .theia-AgentAvatar {
41
+ pointer-events: none;
42
+ user-select: none;
43
+ font-size: 20px;
44
+ }
45
+
46
+ .theia-ChatNodeHeader .theia-AgentLabel {
47
+ font-size: 13px;
48
+ font-weight: 600;
49
+ margin: 0;
50
+ }
51
+
52
+ .theia-ChatNodeHeader .theia-ChatContentInProgress {
53
+ color: var(--theia-disabledForeground);
54
+ }
55
+
56
+ .theia-ChatNodeHeader .theia-ChatContentInProgress-Cancel {
57
+ position: absolute;
58
+ z-index: 999;
59
+ right: 20px;
60
+ }
61
+
62
+ @keyframes dots {
63
+ 0%,
64
+ 20% {
65
+ content: "";
66
+ }
67
+
68
+ 40% {
69
+ content: ".";
70
+ }
71
+
72
+ 60% {
73
+ content: "..";
74
+ }
75
+
76
+ 80%,
77
+ 100% {
78
+ content: "...";
79
+ }
80
+ }
81
+
82
+ .theia-ChatNodeHeader .theia-ChatContentInProgress::after {
83
+ content: "";
84
+ animation: dots 1s steps(1, end) infinite;
85
+ }
86
+
87
+ .theia-ChatNode .codicon {
88
+ text-align: left;
89
+ }
90
+
91
+ .theia-AgentLabel {
92
+ font-weight: 600;
93
+ }
94
+
95
+ .theia-ChatNode .theia-ChatNodeToolbar {
96
+ margin-left: auto;
97
+ line-height: 18px;
98
+ }
99
+ .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction {
100
+ display: none;
101
+ align-items: center;
102
+ padding: 4px;
103
+ border-radius: 5px;
104
+ }
105
+ .theia-ChatNode:hover .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction {
106
+ display: inline-block;
107
+ }
108
+ .theia-ChatNodeToolbar .theia-ChatNodeToolbarAction:hover {
109
+ cursor: pointer;
110
+ background-color: var(--theia-toolbar-hoverBackground);
111
+ }
112
+
113
+ .theia-ChatNode .rendered-markdown p {
114
+ margin: 0 0 16px;
115
+ }
116
+
117
+ .theia-ChatNode:last-child .rendered-markdown > :last-child {
118
+ margin-bottom: 0;
119
+ }
120
+
121
+ .theia-ChatNode .rendered-markdown {
122
+ line-height: 1.3rem;
123
+ }
124
+
125
+ .chat-input-widget {
126
+ align-items: flex-end;
127
+ display: flex;
128
+ flex-direction: column;
129
+ }
130
+
131
+ .theia-ChatInput {
132
+ position: relative;
133
+ width: 100%;
134
+ box-sizing: border-box;
135
+ gap: 4px;
136
+ }
137
+
138
+ .theia-ChatInput-Editor-Box {
139
+ margin-bottom: 2px;
140
+ padding: 10px;
141
+ height: auto;
142
+ display: flex;
143
+ flex-direction: column;
144
+ justify-content: flex-end;
145
+ overflow: hidden;
146
+ }
147
+
148
+ .theia-ChatInput-Editor {
149
+ width: 100%;
150
+ height: auto;
151
+ border: var(--theia-border-width) solid var(--theia-dropdown-border);
152
+ border-radius: 4px;
153
+ display: flex;
154
+ flex-direction: column-reverse;
155
+ overflow: hidden;
156
+ }
157
+
158
+ .theia-ChatInput-Editor:has(.monaco-editor.focused) {
159
+ border-color: var(--theia-focusBorder);
160
+ }
161
+
162
+ .theia-ChatInput-Editor .monaco-editor {
163
+ display: flex;
164
+ width: 100%;
165
+ height: 100%;
166
+ overflow: hidden;
167
+ position: relative;
168
+ }
169
+
170
+ .theia-ChatInput-Editor-Placeholder {
171
+ position: absolute;
172
+ top: -3px;
173
+ left: 19px;
174
+ right: 0;
175
+ bottom: 0;
176
+ display: flex;
177
+ align-items: center;
178
+ color: var(--theia-descriptionForeground);
179
+ pointer-events: none;
180
+ z-index: 10;
181
+ text-align: left;
182
+ }
183
+ .theia-ChatInput-Editor-Placeholder.hidden {
184
+ display: none;
185
+ }
186
+
187
+ .theia-ChatInput-Editor .monaco-editor .margin,
188
+ .theia-ChatInput-Editor .monaco-editor .monaco-editor-background,
189
+ .theia-ChatInput-Editor .monaco-editor .inputarea.ime-input {
190
+ padding-left: 8px !important;
191
+ }
192
+
193
+ .theia-ChatInputOptions {
194
+ position: absolute;
195
+ bottom: 31px;
196
+ right: 26px;
197
+ width: 10px;
198
+ height: 10px;
199
+ }
200
+
201
+ .theia-ChatInputOptions .option {
202
+ width: 21px;
203
+ height: 21px;
204
+ margin-top: 2px;
205
+ display: inline-block;
206
+ box-sizing: border-box;
207
+ user-select: none;
208
+ background-repeat: no-repeat;
209
+ background-position: center;
210
+ border: var(--theia-border-width) solid transparent;
211
+ opacity: 0.7;
212
+ cursor: pointer;
213
+ }
214
+
215
+ .theia-ChatInputOptions .option:hover {
216
+ opacity: 1;
217
+ }
218
+
219
+ .theia-CodePartRenderer-root {
220
+ display: flex;
221
+ flex-direction: column;
222
+ gap: 4px;
223
+ border: 1px solid var(--theia-input-border);
224
+ border-radius: 4px;
225
+ }
226
+
227
+ .theia-CodePartRenderer-left {
228
+ flex-grow: 1;
229
+ }
230
+
231
+ .theia-CodePartRenderer-top {
232
+ display: flex;
233
+ justify-content: space-between;
234
+ align-items: center;
235
+ padding-bottom: 4px;
236
+ }
237
+
238
+ .theia-CodePartRenderer-right button {
239
+ margin-left: 4px;
240
+ }
241
+
242
+ .theia-CodePartRenderer-separator {
243
+ width: 100%;
244
+ height: 1px;
245
+ background-color: var(--theia-input-border);
246
+ }
247
+
248
+ .theia-toolCall {
249
+ font-weight: normal;
250
+ color: var(--theia-descriptionForeground);
251
+ line-height: 20px;
252
+ margin-bottom: 6px;
253
+ cursor: pointer;
254
+ }
255
+
256
+ .theia-toolCall .fa,
257
+ .theia-toolCall details summary::marker {
258
+ color: var(--theia-button-background);
259
+ }
260
+
261
+ .theia-ResponseNode-ProgressMessage {
262
+ font-weight: normal;
263
+ color: var(--theia-descriptionForeground);
264
+ line-height: 20px;
265
+ margin-bottom: 6px;
266
+ }
267
+
268
+ .theia-ResponseNode-ProgressMessage .inProgress {
269
+ color: var(--theia-progressBar-background);
270
+ }
271
+ .theia-ResponseNode-ProgressMessage .completed {
272
+ color: var(--theia-successBackground);
273
+ }
274
+ .theia-ResponseNode-ProgressMessage .failed {
275
+ color: var(--theia-errorForeground);
276
+ }
277
+
278
+ .spinner {
279
+ display: inline-block;
280
+ animation: spin 2s linear infinite;
281
+ }
282
+
283
+ @keyframes spin {
284
+ 0% {
285
+ transform: rotate(0deg);
286
+ }
287
+
288
+ 100% {
289
+ transform: rotate(360deg);
290
+ }
291
+ }
292
+
293
+ .theia-ChatPart-Error {
294
+ display: flex;
295
+ flex-direction: row;
296
+ gap: 0.5em;
297
+ color: var(--theia-errorForeground);
298
+ }
299
+
300
+ .section-header {
301
+ font-weight: bold;
302
+ font-size: 16px;
303
+ margin-bottom: 10px;
304
+ }
305
+
306
+ .section-title {
307
+ font-weight: bold;
308
+ font-size: 14px;
309
+ margin: 20px 0px;
310
+ }
311
+
312
+ .disable-message {
313
+ font-size: 12px;
314
+ line-height: 1.6;
315
+ padding: 15px;
316
+ }
317
+
318
+ .section-content p {
319
+ margin: 10px 0;
320
+ }
321
+
322
+ .section-content a {
323
+ cursor: pointer;
324
+ }
325
+
326
+ .section-content strong {
327
+ font-weight: bold;
328
+ }