@copilotkitnext/angular 0.0.0-0.0.0-max-changeset-10101010101010-20260109191632

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/LICENSE +10 -0
  2. package/README.md +530 -0
  3. package/dist/LICENSE +10 -0
  4. package/dist/README.md +530 -0
  5. package/dist/esm2022/copilotkitnext-angular.mjs +5 -0
  6. package/dist/esm2022/index.mjs +2 -0
  7. package/dist/esm2022/lib/agent-context.mjs +25 -0
  8. package/dist/esm2022/lib/agent.mjs +73 -0
  9. package/dist/esm2022/lib/chat-config.mjs +35 -0
  10. package/dist/esm2022/lib/chat-state.mjs +18 -0
  11. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-buttons.mjs +344 -0
  12. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-renderer.mjs +260 -0
  13. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-toolbar.mjs +22 -0
  14. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.mjs +415 -0
  15. package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.types.mjs +2 -0
  16. package/dist/esm2022/lib/components/chat/copilot-chat-audio-recorder.mjs +196 -0
  17. package/dist/esm2022/lib/components/chat/copilot-chat-buttons.mjs +299 -0
  18. package/dist/esm2022/lib/components/chat/copilot-chat-input-defaults.mjs +39 -0
  19. package/dist/esm2022/lib/components/chat/copilot-chat-input.mjs +634 -0
  20. package/dist/esm2022/lib/components/chat/copilot-chat-input.types.mjs +10 -0
  21. package/dist/esm2022/lib/components/chat/copilot-chat-message-view-cursor.mjs +27 -0
  22. package/dist/esm2022/lib/components/chat/copilot-chat-message-view.mjs +268 -0
  23. package/dist/esm2022/lib/components/chat/copilot-chat-message-view.types.mjs +2 -0
  24. package/dist/esm2022/lib/components/chat/copilot-chat-textarea.mjs +139 -0
  25. package/dist/esm2022/lib/components/chat/copilot-chat-tool-calls-view.mjs +36 -0
  26. package/dist/esm2022/lib/components/chat/copilot-chat-toolbar.mjs +20 -0
  27. package/dist/esm2022/lib/components/chat/copilot-chat-tools-menu.mjs +203 -0
  28. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +98 -0
  29. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-buttons.mjs +182 -0
  30. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-renderer.mjs +28 -0
  31. package/dist/esm2022/lib/components/chat/copilot-chat-user-message-toolbar.mjs +25 -0
  32. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +308 -0
  33. package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +2 -0
  34. package/dist/esm2022/lib/components/chat/copilot-chat-view-disclaimer.mjs +48 -0
  35. package/dist/esm2022/lib/components/chat/copilot-chat-view-feather.mjs +41 -0
  36. package/dist/esm2022/lib/components/chat/copilot-chat-view-handlers.mjs +19 -0
  37. package/dist/esm2022/lib/components/chat/copilot-chat-view-input-container.mjs +96 -0
  38. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.mjs +89 -0
  39. package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-view.mjs +456 -0
  40. package/dist/esm2022/lib/components/chat/copilot-chat-view.mjs +404 -0
  41. package/dist/esm2022/lib/components/chat/copilot-chat-view.types.mjs +2 -0
  42. package/dist/esm2022/lib/components/chat/copilot-chat.mjs +167 -0
  43. package/dist/esm2022/lib/config.mjs +9 -0
  44. package/dist/esm2022/lib/copilotkit.mjs +115 -0
  45. package/dist/esm2022/lib/directives/copilotkit-agent-context.mjs +130 -0
  46. package/dist/esm2022/lib/directives/stick-to-bottom.mjs +170 -0
  47. package/dist/esm2022/lib/directives/tooltip.mjs +217 -0
  48. package/dist/esm2022/lib/human-in-the-loop.mjs +19 -0
  49. package/dist/esm2022/lib/render-tool-calls.mjs +138 -0
  50. package/dist/esm2022/lib/resize-observer.mjs +152 -0
  51. package/dist/esm2022/lib/scroll-position.mjs +124 -0
  52. package/dist/esm2022/lib/slots/copilot-slot.mjs +156 -0
  53. package/dist/esm2022/lib/slots/index.mjs +4 -0
  54. package/dist/esm2022/lib/slots/slot.types.mjs +6 -0
  55. package/dist/esm2022/lib/slots/slot.utils.mjs +235 -0
  56. package/dist/esm2022/lib/tools.mjs +31 -0
  57. package/dist/esm2022/lib/utils.mjs +10 -0
  58. package/dist/esm2022/public-api.mjs +48 -0
  59. package/dist/fesm2022/copilotkitnext-angular.mjs +6310 -0
  60. package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -0
  61. package/dist/index.d.ts +1 -0
  62. package/dist/lib/agent-context.d.ts +12 -0
  63. package/dist/lib/agent.d.ts +68 -0
  64. package/dist/lib/chat-config.d.ts +23 -0
  65. package/dist/lib/chat-state.d.ts +10 -0
  66. package/dist/lib/components/chat/copilot-chat-assistant-message-buttons.d.ts +68 -0
  67. package/dist/lib/components/chat/copilot-chat-assistant-message-renderer.d.ts +26 -0
  68. package/dist/lib/components/chat/copilot-chat-assistant-message-toolbar.d.ts +7 -0
  69. package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +208 -0
  70. package/dist/lib/components/chat/copilot-chat-assistant-message.types.d.ts +31 -0
  71. package/dist/lib/components/chat/copilot-chat-audio-recorder.d.ts +40 -0
  72. package/dist/lib/components/chat/copilot-chat-buttons.d.ts +65 -0
  73. package/dist/lib/components/chat/copilot-chat-input-defaults.d.ts +38 -0
  74. package/dist/lib/components/chat/copilot-chat-input.d.ts +133 -0
  75. package/dist/lib/components/chat/copilot-chat-input.types.d.ts +129 -0
  76. package/dist/lib/components/chat/copilot-chat-message-view-cursor.d.ts +11 -0
  77. package/dist/lib/components/chat/copilot-chat-message-view.d.ts +430 -0
  78. package/dist/lib/components/chat/copilot-chat-message-view.types.d.ts +24 -0
  79. package/dist/lib/components/chat/copilot-chat-textarea.d.ts +41 -0
  80. package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +70 -0
  81. package/dist/lib/components/chat/copilot-chat-toolbar.d.ts +7 -0
  82. package/dist/lib/components/chat/copilot-chat-tools-menu.d.ts +20 -0
  83. package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +35 -0
  84. package/dist/lib/components/chat/copilot-chat-user-message-buttons.d.ts +35 -0
  85. package/dist/lib/components/chat/copilot-chat-user-message-renderer.d.ts +8 -0
  86. package/dist/lib/components/chat/copilot-chat-user-message-toolbar.d.ts +7 -0
  87. package/dist/lib/components/chat/copilot-chat-user-message.d.ts +71 -0
  88. package/dist/lib/components/chat/copilot-chat-user-message.types.d.ts +27 -0
  89. package/dist/lib/components/chat/copilot-chat-view-disclaimer.d.ts +15 -0
  90. package/dist/lib/components/chat/copilot-chat-view-feather.d.ts +15 -0
  91. package/dist/lib/components/chat/copilot-chat-view-handlers.d.ts +11 -0
  92. package/dist/lib/components/chat/copilot-chat-view-input-container.d.ts +23 -0
  93. package/dist/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.d.ts +16 -0
  94. package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +129 -0
  95. package/dist/lib/components/chat/copilot-chat-view.d.ts +284 -0
  96. package/dist/lib/components/chat/copilot-chat-view.types.d.ts +42 -0
  97. package/dist/lib/components/chat/copilot-chat.d.ts +82 -0
  98. package/dist/lib/config.d.ts +16 -0
  99. package/dist/lib/copilotkit.d.ts +29 -0
  100. package/dist/lib/directives/copilotkit-agent-context.d.ts +68 -0
  101. package/dist/lib/directives/stick-to-bottom.d.ts +62 -0
  102. package/dist/lib/directives/tooltip.d.ts +33 -0
  103. package/dist/lib/human-in-the-loop.d.ts +13 -0
  104. package/dist/lib/render-tool-calls.d.ts +90 -0
  105. package/dist/lib/resize-observer.d.ts +44 -0
  106. package/dist/lib/scroll-position.d.ts +50 -0
  107. package/dist/lib/slots/copilot-slot.d.ts +34 -0
  108. package/dist/lib/slots/index.d.ts +3 -0
  109. package/dist/lib/slots/slot.types.d.ts +55 -0
  110. package/dist/lib/slots/slot.utils.d.ts +110 -0
  111. package/dist/lib/tools.d.ts +65 -0
  112. package/dist/lib/utils.d.ts +6 -0
  113. package/dist/public-api.d.ts +47 -0
  114. package/dist/styles.css +1882 -0
  115. package/eslint.config.mjs +20 -0
  116. package/package.json +101 -0
  117. package/tsconfig.json +33 -0
  118. package/vitest.config.mts +45 -0
@@ -0,0 +1,430 @@
1
+ import { TemplateRef, Type } from "@angular/core";
2
+ import type { Message } from "@ag-ui/core";
3
+ import { CopilotChatAssistantMessage } from "./copilot-chat-assistant-message";
4
+ import { CopilotChatUserMessage } from "./copilot-chat-user-message";
5
+ import { CopilotChatMessageViewCursor } from "./copilot-chat-message-view-cursor";
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * CopilotChatMessageView component - Angular port of the React component.
9
+ * Renders a list of chat messages with support for custom slots and layouts.
10
+ * DOM structure and Tailwind classes match the React implementation exactly.
11
+ */
12
+ export declare class CopilotChatMessageView {
13
+ messages: import("@angular/core").InputSignal<({
14
+ id: string;
15
+ role: "developer";
16
+ content: string;
17
+ name?: string;
18
+ } | {
19
+ id: string;
20
+ role: "system";
21
+ content: string;
22
+ name?: string;
23
+ } | {
24
+ id: string;
25
+ role: "assistant";
26
+ name?: string;
27
+ content?: string;
28
+ toolCalls?: {
29
+ function: {
30
+ name: string;
31
+ arguments: string;
32
+ };
33
+ type: "function";
34
+ id: string;
35
+ }[];
36
+ } | {
37
+ id: string;
38
+ role: "user";
39
+ content: string | ({
40
+ type: "text";
41
+ text: string;
42
+ } | {
43
+ type: "binary";
44
+ mimeType: string;
45
+ id?: string;
46
+ url?: string;
47
+ data?: string;
48
+ filename?: string;
49
+ })[];
50
+ name?: string;
51
+ } | {
52
+ id: string;
53
+ role: "tool";
54
+ content: string;
55
+ toolCallId: string;
56
+ error?: string;
57
+ } | {
58
+ id: string;
59
+ role: "activity";
60
+ content: Record<string, any>;
61
+ activityType: string;
62
+ })[]>;
63
+ showCursor: import("@angular/core").InputSignal<boolean>;
64
+ isLoading: import("@angular/core").InputSignal<boolean>;
65
+ inputClass: import("@angular/core").InputSignal<string>;
66
+ assistantMessageComponent: import("@angular/core").InputSignal<Type<any>>;
67
+ assistantMessageTemplate: import("@angular/core").InputSignal<TemplateRef<any>>;
68
+ assistantMessageClass: import("@angular/core").InputSignal<string>;
69
+ userMessageComponent: import("@angular/core").InputSignal<Type<any>>;
70
+ userMessageTemplate: import("@angular/core").InputSignal<TemplateRef<any>>;
71
+ userMessageClass: import("@angular/core").InputSignal<string>;
72
+ cursorComponent: import("@angular/core").InputSignal<Type<any>>;
73
+ cursorTemplate: import("@angular/core").InputSignal<TemplateRef<any>>;
74
+ cursorClass: import("@angular/core").InputSignal<string>;
75
+ customLayoutTemplate?: TemplateRef<any>;
76
+ assistantMessageThumbsUp: import("@angular/core").OutputEmitterRef<{
77
+ message: Message;
78
+ }>;
79
+ assistantMessageThumbsDown: import("@angular/core").OutputEmitterRef<{
80
+ message: Message;
81
+ }>;
82
+ assistantMessageReadAloud: import("@angular/core").OutputEmitterRef<{
83
+ message: Message;
84
+ }>;
85
+ assistantMessageRegenerate: import("@angular/core").OutputEmitterRef<{
86
+ message: Message;
87
+ }>;
88
+ userMessageCopy: import("@angular/core").OutputEmitterRef<{
89
+ message: Message;
90
+ }>;
91
+ userMessageEdit: import("@angular/core").OutputEmitterRef<{
92
+ message: Message;
93
+ }>;
94
+ protected readonly defaultAssistantComponent: typeof CopilotChatAssistantMessage;
95
+ protected readonly defaultUserComponent: typeof CopilotChatUserMessage;
96
+ protected readonly defaultCursorComponent: typeof CopilotChatMessageViewCursor;
97
+ protected messagesValue: import("@angular/core").Signal<({
98
+ id: string;
99
+ role: "developer";
100
+ content: string;
101
+ name?: string;
102
+ } | {
103
+ id: string;
104
+ role: "system";
105
+ content: string;
106
+ name?: string;
107
+ } | {
108
+ id: string;
109
+ role: "assistant";
110
+ name?: string;
111
+ content?: string;
112
+ toolCalls?: {
113
+ function: {
114
+ name: string;
115
+ arguments: string;
116
+ };
117
+ type: "function";
118
+ id: string;
119
+ }[];
120
+ } | {
121
+ id: string;
122
+ role: "user";
123
+ content: string | ({
124
+ type: "text";
125
+ text: string;
126
+ } | {
127
+ type: "binary";
128
+ mimeType: string;
129
+ id?: string;
130
+ url?: string;
131
+ data?: string;
132
+ filename?: string;
133
+ })[];
134
+ name?: string;
135
+ } | {
136
+ id: string;
137
+ role: "tool";
138
+ content: string;
139
+ toolCallId: string;
140
+ error?: string;
141
+ } | {
142
+ id: string;
143
+ role: "activity";
144
+ content: Record<string, any>;
145
+ activityType: string;
146
+ })[]>;
147
+ protected showCursorValue: import("@angular/core").Signal<boolean>;
148
+ protected isLoadingValue: import("@angular/core").Signal<boolean>;
149
+ computedClass: import("@angular/core").Signal<string>;
150
+ layoutContext: import("@angular/core").Signal<{
151
+ isLoading: boolean;
152
+ messages: ({
153
+ id: string;
154
+ role: "developer";
155
+ content: string;
156
+ name?: string;
157
+ } | {
158
+ id: string;
159
+ role: "system";
160
+ content: string;
161
+ name?: string;
162
+ } | {
163
+ id: string;
164
+ role: "assistant";
165
+ name?: string;
166
+ content?: string;
167
+ toolCalls?: {
168
+ function: {
169
+ name: string;
170
+ arguments: string;
171
+ };
172
+ type: "function";
173
+ id: string;
174
+ }[];
175
+ } | {
176
+ id: string;
177
+ role: "user";
178
+ content: string | ({
179
+ type: "text";
180
+ text: string;
181
+ } | {
182
+ type: "binary";
183
+ mimeType: string;
184
+ id?: string;
185
+ url?: string;
186
+ data?: string;
187
+ filename?: string;
188
+ })[];
189
+ name?: string;
190
+ } | {
191
+ id: string;
192
+ role: "tool";
193
+ content: string;
194
+ toolCallId: string;
195
+ error?: string;
196
+ } | {
197
+ id: string;
198
+ role: "activity";
199
+ content: Record<string, any>;
200
+ activityType: string;
201
+ })[];
202
+ showCursor: boolean;
203
+ messageElements: ({
204
+ id: string;
205
+ role: "developer";
206
+ content: string;
207
+ name?: string;
208
+ } | {
209
+ id: string;
210
+ role: "system";
211
+ content: string;
212
+ name?: string;
213
+ } | {
214
+ id: string;
215
+ role: "assistant";
216
+ name?: string;
217
+ content?: string;
218
+ toolCalls?: {
219
+ function: {
220
+ name: string;
221
+ arguments: string;
222
+ };
223
+ type: "function";
224
+ id: string;
225
+ }[];
226
+ } | {
227
+ id: string;
228
+ role: "user";
229
+ content: string | ({
230
+ type: "text";
231
+ text: string;
232
+ } | {
233
+ type: "binary";
234
+ mimeType: string;
235
+ id?: string;
236
+ url?: string;
237
+ data?: string;
238
+ filename?: string;
239
+ })[];
240
+ name?: string;
241
+ } | {
242
+ id: string;
243
+ role: "tool";
244
+ content: string;
245
+ toolCallId: string;
246
+ error?: string;
247
+ } | {
248
+ id: string;
249
+ role: "activity";
250
+ content: Record<string, any>;
251
+ activityType: string;
252
+ })[];
253
+ }>;
254
+ assistantMessageSlot: import("@angular/core").Signal<string | Type<any>>;
255
+ userMessageSlot: import("@angular/core").Signal<string | Type<any>>;
256
+ cursorSlot: import("@angular/core").Signal<string | Type<any>>;
257
+ mergeAssistantProps(message: Message): {
258
+ message: {
259
+ id: string;
260
+ role: "developer";
261
+ content: string;
262
+ name?: string;
263
+ } | {
264
+ id: string;
265
+ role: "system";
266
+ content: string;
267
+ name?: string;
268
+ } | {
269
+ id: string;
270
+ role: "assistant";
271
+ name?: string;
272
+ content?: string;
273
+ toolCalls?: {
274
+ function: {
275
+ name: string;
276
+ arguments: string;
277
+ };
278
+ type: "function";
279
+ id: string;
280
+ }[];
281
+ } | {
282
+ id: string;
283
+ role: "user";
284
+ content: string | ({
285
+ type: "text";
286
+ text: string;
287
+ } | {
288
+ type: "binary";
289
+ mimeType: string;
290
+ id?: string;
291
+ url?: string;
292
+ data?: string;
293
+ filename?: string;
294
+ })[];
295
+ name?: string;
296
+ } | {
297
+ id: string;
298
+ role: "tool";
299
+ content: string;
300
+ toolCallId: string;
301
+ error?: string;
302
+ } | {
303
+ id: string;
304
+ role: "activity";
305
+ content: Record<string, any>;
306
+ activityType: string;
307
+ };
308
+ messages: ({
309
+ id: string;
310
+ role: "developer";
311
+ content: string;
312
+ name?: string;
313
+ } | {
314
+ id: string;
315
+ role: "system";
316
+ content: string;
317
+ name?: string;
318
+ } | {
319
+ id: string;
320
+ role: "assistant";
321
+ name?: string;
322
+ content?: string;
323
+ toolCalls?: {
324
+ function: {
325
+ name: string;
326
+ arguments: string;
327
+ };
328
+ type: "function";
329
+ id: string;
330
+ }[];
331
+ } | {
332
+ id: string;
333
+ role: "user";
334
+ content: string | ({
335
+ type: "text";
336
+ text: string;
337
+ } | {
338
+ type: "binary";
339
+ mimeType: string;
340
+ id?: string;
341
+ url?: string;
342
+ data?: string;
343
+ filename?: string;
344
+ })[];
345
+ name?: string;
346
+ } | {
347
+ id: string;
348
+ role: "tool";
349
+ content: string;
350
+ toolCallId: string;
351
+ error?: string;
352
+ } | {
353
+ id: string;
354
+ role: "activity";
355
+ content: Record<string, any>;
356
+ activityType: string;
357
+ })[];
358
+ isLoading: boolean;
359
+ inputClass: string;
360
+ };
361
+ mergeUserProps(message: Message): {
362
+ message: {
363
+ id: string;
364
+ role: "developer";
365
+ content: string;
366
+ name?: string;
367
+ } | {
368
+ id: string;
369
+ role: "system";
370
+ content: string;
371
+ name?: string;
372
+ } | {
373
+ id: string;
374
+ role: "assistant";
375
+ name?: string;
376
+ content?: string;
377
+ toolCalls?: {
378
+ function: {
379
+ name: string;
380
+ arguments: string;
381
+ };
382
+ type: "function";
383
+ id: string;
384
+ }[];
385
+ } | {
386
+ id: string;
387
+ role: "user";
388
+ content: string | ({
389
+ type: "text";
390
+ text: string;
391
+ } | {
392
+ type: "binary";
393
+ mimeType: string;
394
+ id?: string;
395
+ url?: string;
396
+ data?: string;
397
+ filename?: string;
398
+ })[];
399
+ name?: string;
400
+ } | {
401
+ id: string;
402
+ role: "tool";
403
+ content: string;
404
+ toolCallId: string;
405
+ error?: string;
406
+ } | {
407
+ id: string;
408
+ role: "activity";
409
+ content: Record<string, any>;
410
+ activityType: string;
411
+ };
412
+ inputClass: string;
413
+ };
414
+ trackByMessageId(index: number, message: Message): string;
415
+ constructor();
416
+ handleAssistantThumbsUp(event: {
417
+ message: Message;
418
+ }): void;
419
+ handleAssistantThumbsDown(event: {
420
+ message: Message;
421
+ }): void;
422
+ handleAssistantReadAloud(event: {
423
+ message: Message;
424
+ }): void;
425
+ handleAssistantRegenerate(event: {
426
+ message: Message;
427
+ }): void;
428
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatMessageView, never>;
429
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatMessageView, "copilot-chat-message-view", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "showCursor": { "alias": "showCursor"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "assistantMessageComponent": { "alias": "assistantMessageComponent"; "required": false; "isSignal": true; }; "assistantMessageTemplate": { "alias": "assistantMessageTemplate"; "required": false; "isSignal": true; }; "assistantMessageClass": { "alias": "assistantMessageClass"; "required": false; "isSignal": true; }; "userMessageComponent": { "alias": "userMessageComponent"; "required": false; "isSignal": true; }; "userMessageTemplate": { "alias": "userMessageTemplate"; "required": false; "isSignal": true; }; "userMessageClass": { "alias": "userMessageClass"; "required": false; "isSignal": true; }; "cursorComponent": { "alias": "cursorComponent"; "required": false; "isSignal": true; }; "cursorTemplate": { "alias": "cursorTemplate"; "required": false; "isSignal": true; }; "cursorClass": { "alias": "cursorClass"; "required": false; "isSignal": true; }; }, { "assistantMessageThumbsUp": "assistantMessageThumbsUp"; "assistantMessageThumbsDown": "assistantMessageThumbsDown"; "assistantMessageReadAloud": "assistantMessageReadAloud"; "assistantMessageRegenerate": "assistantMessageRegenerate"; "userMessageCopy": "userMessageCopy"; "userMessageEdit": "userMessageEdit"; }, ["customLayoutTemplate"], never, true, never>;
430
+ }
@@ -0,0 +1,24 @@
1
+ import { Message } from "@ag-ui/client";
2
+ import { Type, TemplateRef } from "@angular/core";
3
+ export interface MessageViewContext {
4
+ showCursor: boolean;
5
+ messages: Message[];
6
+ messageElements: any[];
7
+ }
8
+ export interface CursorContext {
9
+ }
10
+ export interface CopilotChatMessageViewProps {
11
+ messages?: Message[];
12
+ showCursor?: boolean;
13
+ inputClass?: string;
14
+ assistantMessageComponent?: Type<any>;
15
+ assistantMessageTemplate?: TemplateRef<any>;
16
+ assistantMessageClass?: string;
17
+ userMessageComponent?: Type<any>;
18
+ userMessageTemplate?: TemplateRef<any>;
19
+ userMessageClass?: string;
20
+ cursorComponent?: Type<any>;
21
+ cursorTemplate?: TemplateRef<any>;
22
+ cursorClass?: string;
23
+ }
24
+ export type { Message };
@@ -0,0 +1,41 @@
1
+ import { ElementRef, AfterViewInit } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export declare class CopilotChatTextarea implements AfterViewInit {
4
+ private elementRef;
5
+ get textareaRef(): ElementRef<any>;
6
+ inputValue: import("@angular/core").InputSignal<string>;
7
+ inputPlaceholder: import("@angular/core").InputSignal<string>;
8
+ inputMaxRows: import("@angular/core").InputSignal<number>;
9
+ inputAutoFocus: import("@angular/core").InputSignal<boolean>;
10
+ inputDisabled: import("@angular/core").InputSignal<boolean>;
11
+ inputClass: import("@angular/core").InputSignal<string>;
12
+ valueChange: import("@angular/core").OutputEmitterRef<string>;
13
+ keyDown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
14
+ readonly chatLabels: import("../../chat-config").CopilotChatLabels;
15
+ readonly chatState: import("../../chat-state").ChatState;
16
+ maxHeight: import("@angular/core").WritableSignal<number>;
17
+ computedValue: import("@angular/core").Signal<string>;
18
+ placeholder: import("@angular/core").Signal<string>;
19
+ disabled: import("@angular/core").Signal<boolean>;
20
+ computedClass: import("@angular/core").Signal<string>;
21
+ constructor();
22
+ ngAfterViewInit(): void;
23
+ onInput(event: Event): void;
24
+ onKeyDown(event: KeyboardEvent): void;
25
+ private calculateMaxHeight;
26
+ private adjustHeight;
27
+ /**
28
+ * Public method to focus the textarea
29
+ */
30
+ focus(): void;
31
+ /**
32
+ * Public method to get current value
33
+ */
34
+ getValue(): string;
35
+ /**
36
+ * Public method to set value programmatically
37
+ */
38
+ setValue(value: string): void;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatTextarea, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatTextarea, "textarea[copilotChatTextarea]", never, { "inputValue": { "alias": "inputValue"; "required": false; "isSignal": true; }; "inputPlaceholder": { "alias": "inputPlaceholder"; "required": false; "isSignal": true; }; "inputMaxRows": { "alias": "inputMaxRows"; "required": false; "isSignal": true; }; "inputAutoFocus": { "alias": "inputAutoFocus"; "required": false; "isSignal": true; }; "inputDisabled": { "alias": "inputDisabled"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "keyDown": "keyDown"; }, never, never, true, never>;
41
+ }
@@ -0,0 +1,70 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CopilotChatToolCallsView {
3
+ readonly message: import("@angular/core").InputSignal<{
4
+ id: string;
5
+ role: "assistant";
6
+ name?: string;
7
+ content?: string;
8
+ toolCalls?: {
9
+ function: {
10
+ name: string;
11
+ arguments: string;
12
+ };
13
+ type: "function";
14
+ id: string;
15
+ }[];
16
+ }>;
17
+ readonly messages: import("@angular/core").InputSignal<({
18
+ id: string;
19
+ role: "developer";
20
+ content: string;
21
+ name?: string;
22
+ } | {
23
+ id: string;
24
+ role: "system";
25
+ content: string;
26
+ name?: string;
27
+ } | {
28
+ id: string;
29
+ role: "assistant";
30
+ name?: string;
31
+ content?: string;
32
+ toolCalls?: {
33
+ function: {
34
+ name: string;
35
+ arguments: string;
36
+ };
37
+ type: "function";
38
+ id: string;
39
+ }[];
40
+ } | {
41
+ id: string;
42
+ role: "user";
43
+ content: string | ({
44
+ type: "text";
45
+ text: string;
46
+ } | {
47
+ type: "binary";
48
+ mimeType: string;
49
+ id?: string;
50
+ url?: string;
51
+ data?: string;
52
+ filename?: string;
53
+ })[];
54
+ name?: string;
55
+ } | {
56
+ id: string;
57
+ role: "tool";
58
+ content: string;
59
+ toolCallId: string;
60
+ error?: string;
61
+ } | {
62
+ id: string;
63
+ role: "activity";
64
+ content: Record<string, any>;
65
+ activityType: string;
66
+ })[]>;
67
+ readonly isLoading: import("@angular/core").InputSignal<boolean>;
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatToolCallsView, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatToolCallsView, "copilot-chat-tool-calls-view", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "messages": { "alias": "messages"; "required": true; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CopilotChatToolbar {
3
+ readonly inputClass: import("@angular/core").InputSignal<string>;
4
+ readonly computedClass: import("@angular/core").Signal<string>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatToolbar, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatToolbar, "div[copilotChatToolbar]", never, { "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
7
+ }
@@ -0,0 +1,20 @@
1
+ import type { ToolsMenuItem } from "./copilot-chat-input.types";
2
+ import * as i0 from "@angular/core";
3
+ export declare class CopilotChatToolsMenu {
4
+ readonly Settings2Icon: import("lucide-angular").LucideIconData;
5
+ readonly ChevronRightIcon: import("lucide-angular").LucideIconData;
6
+ inputToolsMenu: import("@angular/core").InputSignal<(ToolsMenuItem | "-")[]>;
7
+ inputDisabled: import("@angular/core").InputSignal<boolean>;
8
+ inputClass: import("@angular/core").InputSignal<string>;
9
+ private labels;
10
+ toolsMenu: import("@angular/core").Signal<(ToolsMenuItem | "-")[]>;
11
+ disabled: import("@angular/core").Signal<boolean>;
12
+ customClass: import("@angular/core").Signal<string>;
13
+ hasItems: import("@angular/core").Signal<boolean>;
14
+ readonly label: string;
15
+ buttonClass: import("@angular/core").Signal<string>;
16
+ isMenuItem(item: any): item is ToolsMenuItem;
17
+ handleItemClick(item: ToolsMenuItem): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatToolsMenu, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatToolsMenu, "copilot-chat-tools-menu", never, { "inputToolsMenu": { "alias": "inputToolsMenu"; "required": false; "isSignal": true; }; "inputDisabled": { "alias": "inputDisabled"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
20
+ }
@@ -0,0 +1,35 @@
1
+ import { type CopilotChatUserMessageOnSwitchToBranchProps } from "./copilot-chat-user-message.types";
2
+ import * as i0 from "@angular/core";
3
+ export declare class CopilotChatUserMessageBranchNavigation {
4
+ currentBranch: import("@angular/core").InputSignal<number>;
5
+ numberOfBranches: import("@angular/core").InputSignal<number>;
6
+ message: import("@angular/core").InputSignal<{
7
+ id: string;
8
+ role: "user";
9
+ content: string | ({
10
+ type: "text";
11
+ text: string;
12
+ } | {
13
+ type: "binary";
14
+ mimeType: string;
15
+ id?: string;
16
+ url?: string;
17
+ data?: string;
18
+ filename?: string;
19
+ })[];
20
+ name?: string;
21
+ }>;
22
+ inputClass: import("@angular/core").InputSignal<string>;
23
+ switchToBranch: import("@angular/core").OutputEmitterRef<CopilotChatUserMessageOnSwitchToBranchProps>;
24
+ readonly ChevronLeftIcon: import("lucide-angular").LucideIconData;
25
+ readonly ChevronRightIcon: import("lucide-angular").LucideIconData;
26
+ readonly buttonClass: string;
27
+ showNavigation: import("@angular/core").Signal<boolean>;
28
+ canGoPrev: import("@angular/core").Signal<boolean>;
29
+ canGoNext: import("@angular/core").Signal<boolean>;
30
+ computedClass: import("@angular/core").Signal<string>;
31
+ handlePrevious(): void;
32
+ handleNext(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatUserMessageBranchNavigation, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatUserMessageBranchNavigation, "copilot-chat-user-message-branch-navigation", never, { "currentBranch": { "alias": "currentBranch"; "required": false; "isSignal": true; }; "numberOfBranches": { "alias": "numberOfBranches"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, { "switchToBranch": "switchToBranch"; }, never, never, true, never>;
35
+ }
@@ -0,0 +1,35 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "../../directives/tooltip";
3
+ export declare class CopilotChatUserMessageToolbarButton {
4
+ title: import("@angular/core").InputSignal<string>;
5
+ disabled: import("@angular/core").InputSignal<boolean>;
6
+ inputClass: import("@angular/core").InputSignal<string>;
7
+ computedClass: import("@angular/core").Signal<string>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatUserMessageToolbarButton, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatUserMessageToolbarButton, "button[copilotChatUserMessageToolbarButton]", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CopilotTooltip; inputs: { "copilotTooltip": "title"; "tooltipPosition": "tooltipPosition"; "tooltipDelay": "tooltipDelay"; }; outputs: {}; }]>;
10
+ }
11
+ export declare class CopilotChatUserMessageCopyButton {
12
+ readonly title: import("@angular/core").InputSignal<string>;
13
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
14
+ readonly inputClass: import("@angular/core").InputSignal<string>;
15
+ readonly content: import("@angular/core").InputSignal<string>;
16
+ readonly clicked: import("@angular/core").OutputEmitterRef<void>;
17
+ readonly CopyIcon: import("lucide-angular").LucideIconData;
18
+ readonly CheckIcon: import("lucide-angular").LucideIconData;
19
+ readonly copied: import("@angular/core").WritableSignal<boolean>;
20
+ readonly labels: import("../../chat-config").CopilotChatLabels;
21
+ handleCopy(): void;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatUserMessageCopyButton, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatUserMessageCopyButton, "copilot-chat-user-message-copy-button", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
24
+ }
25
+ export declare class CopilotChatUserMessageEditButton {
26
+ title: import("@angular/core").InputSignal<string>;
27
+ disabled: import("@angular/core").InputSignal<boolean>;
28
+ inputClass: import("@angular/core").InputSignal<string>;
29
+ clicked: import("@angular/core").OutputEmitterRef<void>;
30
+ readonly EditIcon: import("lucide-angular").LucideIconData;
31
+ readonly labels: import("../../chat-config").CopilotChatLabels;
32
+ handleEdit(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<CopilotChatUserMessageEditButton, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<CopilotChatUserMessageEditButton, "copilot-chat-user-message-edit-button", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
35
+ }