@copilotkit/vue 1.68.3-canary.1787220377 → 1.69.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 (24) hide show
  1. package/PARITY.md +1 -1
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.mjs +2 -2
  4. package/dist/{use-render-activity-message-DljRBrXN.js → use-render-activity-message-BQADVWev.js} +2242 -2193
  5. package/dist/use-render-activity-message-BQADVWev.js.map +1 -0
  6. package/dist/{use-render-activity-message-bkrPa-92.cjs → use-render-activity-message-DYb_lsQs.cjs} +22 -22
  7. package/dist/use-render-activity-message-DYb_lsQs.cjs.map +1 -0
  8. package/dist/v2/components/chat/CopilotChatAssistantMessage.vue.d.ts +16 -40
  9. package/dist/v2/components/chat/CopilotChatAssistantMessage.vue.d.ts.map +1 -1
  10. package/dist/v2/components/chat/CopilotChatToolCallItem.vue.d.ts +21 -0
  11. package/dist/v2/components/chat/CopilotChatToolCallItem.vue.d.ts.map +1 -0
  12. package/dist/v2/components/chat/CopilotChatToolCallsView.vue.d.ts.map +1 -1
  13. package/dist/v2/components/chat/copilotChatToolCallItemRender.d.ts +10 -0
  14. package/dist/v2/components/chat/copilotChatToolCallItemRender.d.ts.map +1 -0
  15. package/dist/v2/index.cjs +1 -1
  16. package/dist/v2/index.mjs +1 -1
  17. package/package.json +6 -6
  18. package/src/v2/components/chat/CopilotChatToolCallItem.vue +86 -0
  19. package/src/v2/components/chat/CopilotChatToolCallsView.vue +24 -136
  20. package/src/v2/components/chat/__tests__/CopilotChatToolCallsView.test.ts +302 -1
  21. package/src/v2/components/chat/__tests__/CopilotThreadsDrawer.ssr.test.ts +1 -1
  22. package/src/v2/components/chat/copilotChatToolCallItemRender.ts +126 -0
  23. package/dist/use-render-activity-message-DljRBrXN.js.map +0 -1
  24. package/dist/use-render-activity-message-bkrPa-92.cjs.map +0 -1
@@ -21,13 +21,11 @@ type __VLS_Slots = {
21
21
  };
22
22
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
23
  "thumbs-up": (message: {
24
- id: string;
25
24
  role: "assistant";
25
+ id: string;
26
26
  name?: string | undefined;
27
- metadata?: Record<string, any> | undefined;
28
- encryptedValue?: string | undefined;
29
27
  content?: string | undefined;
30
- subagentRunId?: string | undefined;
28
+ encryptedValue?: string | undefined;
31
29
  toolCalls?: {
32
30
  function: {
33
31
  name: string;
@@ -35,18 +33,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
35
33
  };
36
34
  type: "function";
37
35
  id: string;
38
- metadata?: Record<string, any> | undefined;
39
36
  encryptedValue?: string | undefined;
40
37
  }[] | undefined;
41
38
  }) => any;
42
39
  "thumbs-down": (message: {
43
- id: string;
44
40
  role: "assistant";
41
+ id: string;
45
42
  name?: string | undefined;
46
- metadata?: Record<string, any> | undefined;
47
- encryptedValue?: string | undefined;
48
43
  content?: string | undefined;
49
- subagentRunId?: string | undefined;
44
+ encryptedValue?: string | undefined;
50
45
  toolCalls?: {
51
46
  function: {
52
47
  name: string;
@@ -54,18 +49,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
54
49
  };
55
50
  type: "function";
56
51
  id: string;
57
- metadata?: Record<string, any> | undefined;
58
52
  encryptedValue?: string | undefined;
59
53
  }[] | undefined;
60
54
  }) => any;
61
55
  "read-aloud": (message: {
62
- id: string;
63
56
  role: "assistant";
57
+ id: string;
64
58
  name?: string | undefined;
65
- metadata?: Record<string, any> | undefined;
66
- encryptedValue?: string | undefined;
67
59
  content?: string | undefined;
68
- subagentRunId?: string | undefined;
60
+ encryptedValue?: string | undefined;
69
61
  toolCalls?: {
70
62
  function: {
71
63
  name: string;
@@ -73,18 +65,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
73
65
  };
74
66
  type: "function";
75
67
  id: string;
76
- metadata?: Record<string, any> | undefined;
77
68
  encryptedValue?: string | undefined;
78
69
  }[] | undefined;
79
70
  }) => any;
80
71
  regenerate: (message: {
81
- id: string;
82
72
  role: "assistant";
73
+ id: string;
83
74
  name?: string | undefined;
84
- metadata?: Record<string, any> | undefined;
85
- encryptedValue?: string | undefined;
86
75
  content?: string | undefined;
87
- subagentRunId?: string | undefined;
76
+ encryptedValue?: string | undefined;
88
77
  toolCalls?: {
89
78
  function: {
90
79
  name: string;
@@ -92,19 +81,16 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
92
81
  };
93
82
  type: "function";
94
83
  id: string;
95
- metadata?: Record<string, any> | undefined;
96
84
  encryptedValue?: string | undefined;
97
85
  }[] | undefined;
98
86
  }) => any;
99
87
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
100
88
  "onThumbs-up"?: ((message: {
101
- id: string;
102
89
  role: "assistant";
90
+ id: string;
103
91
  name?: string | undefined;
104
- metadata?: Record<string, any> | undefined;
105
- encryptedValue?: string | undefined;
106
92
  content?: string | undefined;
107
- subagentRunId?: string | undefined;
93
+ encryptedValue?: string | undefined;
108
94
  toolCalls?: {
109
95
  function: {
110
96
  name: string;
@@ -112,18 +98,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
112
98
  };
113
99
  type: "function";
114
100
  id: string;
115
- metadata?: Record<string, any> | undefined;
116
101
  encryptedValue?: string | undefined;
117
102
  }[] | undefined;
118
103
  }) => any) | undefined;
119
104
  "onThumbs-down"?: ((message: {
120
- id: string;
121
105
  role: "assistant";
106
+ id: string;
122
107
  name?: string | undefined;
123
- metadata?: Record<string, any> | undefined;
124
- encryptedValue?: string | undefined;
125
108
  content?: string | undefined;
126
- subagentRunId?: string | undefined;
109
+ encryptedValue?: string | undefined;
127
110
  toolCalls?: {
128
111
  function: {
129
112
  name: string;
@@ -131,18 +114,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
131
114
  };
132
115
  type: "function";
133
116
  id: string;
134
- metadata?: Record<string, any> | undefined;
135
117
  encryptedValue?: string | undefined;
136
118
  }[] | undefined;
137
119
  }) => any) | undefined;
138
120
  "onRead-aloud"?: ((message: {
139
- id: string;
140
121
  role: "assistant";
122
+ id: string;
141
123
  name?: string | undefined;
142
- metadata?: Record<string, any> | undefined;
143
- encryptedValue?: string | undefined;
144
124
  content?: string | undefined;
145
- subagentRunId?: string | undefined;
125
+ encryptedValue?: string | undefined;
146
126
  toolCalls?: {
147
127
  function: {
148
128
  name: string;
@@ -150,18 +130,15 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
150
130
  };
151
131
  type: "function";
152
132
  id: string;
153
- metadata?: Record<string, any> | undefined;
154
133
  encryptedValue?: string | undefined;
155
134
  }[] | undefined;
156
135
  }) => any) | undefined;
157
136
  onRegenerate?: ((message: {
158
- id: string;
159
137
  role: "assistant";
138
+ id: string;
160
139
  name?: string | undefined;
161
- metadata?: Record<string, any> | undefined;
162
- encryptedValue?: string | undefined;
163
140
  content?: string | undefined;
164
- subagentRunId?: string | undefined;
141
+ encryptedValue?: string | undefined;
165
142
  toolCalls?: {
166
143
  function: {
167
144
  name: string;
@@ -169,7 +146,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
169
146
  };
170
147
  type: "function";
171
148
  id: string;
172
- metadata?: Record<string, any> | undefined;
173
149
  encryptedValue?: string | undefined;
174
150
  }[] | undefined;
175
151
  }) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotChatAssistantMessage.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatAssistantMessage.vue"],"names":[],"mappings":"AAs4BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAc7D,OAAO,KAAK,EACV,8CAA8C,EAC9C,0CAA0C,EAC1C,mDAAmD,EACnD,mDAAmD,EACnD,oDAAoD,EACpD,oDAAoD,EACpD,kDAAkD,EAClD,iDAAiD,EACjD,2CAA2C,EAC5C,MAAM,SAAS,CAAC;AAKjB,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAUJ,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,0CAA0C,KAAK,OAAO,CAAC;IACxE,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,mDAAmD,KACvD,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,2CAA2C,KAAK,OAAO,CAAC;IAC1E,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,8CAA8C,KAClD,OAAO,CAAC;IACb,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,kDAAkD,KACtD,OAAO,CAAC;IACb,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,oDAAoD,KACxD,OAAO,CAAC;IACb,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,mDAAmD,KACvD,OAAO,CAAC;IACb,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,oDAAoD,KACxD,OAAO,CAAC;IACb,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,iDAAiD,KACrD,OAAO,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD,CAAC;AA07BF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;oBAzgCrB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;;;;;;;;;;;;;;;oBAkEtB,CAnEqC;0BAmErC,CAlEsB;;;;cA0GP,OAAO,EAAE;eACR,OAAO;oBACF,OAAO;6EAu+B1B,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CopilotChatAssistantMessage.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatAssistantMessage.vue"],"names":[],"mappings":"AAs4BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAc7D,OAAO,KAAK,EACV,8CAA8C,EAC9C,0CAA0C,EAC1C,mDAAmD,EACnD,mDAAmD,EACnD,oDAAoD,EACpD,oDAAoD,EACpD,kDAAkD,EAClD,iDAAiD,EACjD,2CAA2C,EAC5C,MAAM,SAAS,CAAC;AAKjB,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAUJ,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,0CAA0C,KAAK,OAAO,CAAC;IACxE,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,mDAAmD,KACvD,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,2CAA2C,KAAK,OAAO,CAAC;IAC1E,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,8CAA8C,KAClD,OAAO,CAAC;IACb,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,kDAAkD,KACtD,OAAO,CAAC;IACb,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,oDAAoD,KACxD,OAAO,CAAC;IACb,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,mDAAmD,KACvD,OAAO,CAAC;IACb,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,oDAAoD,KACxD,OAAO,CAAC;IACb,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,iDAAiD,KACrD,OAAO,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD,CAAC;AA07BF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;0BAzgCrB,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;;;;;;;;;;;;;0BA0HrC,CA1HqC;;;;cAkKtB,OAAO,EAAE;eACR,OAAO;oBACF,OAAO;6EAu+B1B,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Message, ToolCall } from "@ag-ui/core";
2
+ import type { CopilotChatToolCallRenderSlotProps } from "./types";
3
+ type __VLS_Props = {
4
+ toolCall: ToolCall;
5
+ messages?: Message[];
6
+ };
7
+ type __VLS_Slots = {
8
+ "tool-call"?: (props: CopilotChatToolCallRenderSlotProps) => unknown;
9
+ [key: `tool-call-${string}`]: (props: CopilotChatToolCallRenderSlotProps) => unknown;
10
+ };
11
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ messages: Message[];
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
21
+ //# sourceMappingURL=CopilotChatToolCallItem.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopilotChatToolCallItem.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatToolCallItem.vue"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAC;AASlE,KAAK,WAAW,GAAG;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAQJ,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,kCAAkC,KAAK,OAAO,CAAC;IACrE,CAAC,GAAG,EAAE,aAAa,MAAM,EAAE,GAAG,CAC5B,KAAK,EAAE,kCAAkC,KACtC,OAAO,CAAC;CACd,CAAC;AA6FF,QAAA,MAAM,eAAe;cA3GN,OAAO,EAAE;6EAkHtB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotChatToolCallsView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatToolCallsView.vue"],"names":[],"mappings":"AAmKA,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAGR,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAC;AAIlE,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAQJ,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,kCAAkC,KAAK,OAAO,CAAC;IACrE,CAAC,GAAG,EAAE,aAAa,MAAM,EAAE,GAAG,CAC5B,KAAK,EAAE,kCAAkC,KACtC,OAAO,CAAC;CACd,CAAC;AAuKF,QAAA,MAAM,eAAe;cArLN,OAAO,EAAE;6EA4LtB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CopilotChatToolCallsView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatToolCallsView.vue"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAC;AAGlE,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAQJ,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,kCAAkC,KAAK,OAAO,CAAC;IACrE,CAAC,GAAG,EAAE,aAAa,MAAM,EAAE,GAAG,CAC5B,KAAK,EAAE,kCAAkC,KACtC,OAAO,CAAC;CACd,CAAC;AAoEF,QAAA,MAAM,eAAe;cAlFN,OAAO,EAAE;6EAyFtB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Message, ToolCall, ToolMessage } from "@ag-ui/core";
2
+ import type { CopilotChatToolCallRenderSlotProps } from "./types";
3
+ import type { VueToolCallRenderer, VueToolCallRendererRenderProps } from "../../types";
4
+ export declare function findToolMessage(messages: Message[], toolCallId: string): ToolMessage | undefined;
5
+ export declare function getToolCallSlotName(toolName: string): `tool-call-${string}`;
6
+ export declare function getCoreRenderConfig(toolCall: ToolCall, renderToolCalls: readonly VueToolCallRenderer<unknown>[], agentId: string): VueToolCallRenderer<unknown> | undefined;
7
+ export declare function getToolCallRenderProps(toolCall: ToolCall, messages: Message[], executingToolCallIds: ReadonlySet<string>): CopilotChatToolCallRenderSlotProps;
8
+ export declare function getCoreRenderProps(toolCall: ToolCall, messages: Message[], executingToolCallIds: ReadonlySet<string>): VueToolCallRendererRenderProps<unknown>;
9
+ export declare function getToolCallMemoDeps(toolCall: ToolCall, messages: Message[], executingToolCallIds: ReadonlySet<string>, renderToolCalls: readonly VueToolCallRenderer<unknown>[], agentId?: string): unknown[];
10
+ //# sourceMappingURL=copilotChatToolCallItemRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilotChatToolCallItemRender.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/copilotChatToolCallItemRender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIlE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAErB,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,MAAM,GACjB,WAAW,GAAG,SAAS,CAMzB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,MAAM,EAAE,CAE3E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,EACxD,OAAO,EAAE,MAAM,GACd,mBAAmB,CAAC,OAAO,CAAC,GAAG,SAAS,CAW1C;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,kCAAkC,CAwBpC;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,8BAA8B,CAAC,OAAO,CAAC,CAgCzC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,EACzC,eAAe,EAAE,SAAS,mBAAmB,CAAC,OAAO,CAAC,EAAE,EACxD,OAAO,GAAE,MAAyB,GACjC,OAAO,EAAE,CASX"}
package/dist/v2/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@copilotkit/core"),i=require("@ag-ui/client"),e=require("../use-render-activity-message-bkrPa-92.cjs"),n=require("@copilotkit/shared");exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.CopilotThreadsDrawer=e._sfc_main$18;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useFrontendTool=e.useFrontendTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;exports.vueBasicCatalog=e.vueBasicCatalog;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>n.createLicenseContextValue});Object.keys(o).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>o[t]})});Object.keys(i).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>i[t]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@copilotkit/core"),i=require("@ag-ui/client"),e=require("../use-render-activity-message-DYb_lsQs.cjs"),n=require("@copilotkit/shared");exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.CopilotThreadsDrawer=e._sfc_main$18;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useFrontendTool=e.useFrontendTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;exports.vueBasicCatalog=e.vueBasicCatalog;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>n.createLicenseContextValue});Object.keys(o).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>o[t]})});Object.keys(i).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>i[t]})});
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/v2/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
- import { A as o, _ as i, a as n, C, b as r, c as p, d as l, e as u, f as c, g, h as d, i as h, j as A, k as v, l as S, m, n as y, o as I, p as f, q as R, r as T, s as U, t as x, u as M, v as P, w as b, x as V, y as w, z as K, B as O, G, L, M as B, D, E as H, O as F, F as Q, H as j, I as k, J as q, U as z, K as E, N as J, P as N, Q as W, R as X, S as Y, T as Z, V as _, W as $, X as ee, Y as ae, Z as te, $ as se, a0 as oe, a1 as ie, a2 as ne, a3 as Ce, a4 as re, a5 as pe, a6 as le, a7 as ue, a8 as ce, a9 as ge, aa as de, ab as he, ac as Ae, ad as ve, ae as Se } from "../use-render-activity-message-DljRBrXN.js";
3
+ import { A as o, _ as i, a as n, C, b as r, c as p, d as l, e as u, f as c, g, h as d, i as h, j as A, k as v, l as S, m, n as y, o as I, p as f, q as R, r as T, s as U, t as x, u as M, v as P, w as b, x as V, y as w, z as K, B as O, G, L, M as B, D, E as H, O as F, F as Q, H as j, I as k, J as q, U as z, K as E, N as J, P as N, Q as W, R as X, S as Y, T as Z, V as _, W as $, X as ee, Y as ae, Z as te, $ as se, a0 as oe, a1 as ie, a2 as ne, a3 as Ce, a4 as re, a5 as pe, a6 as le, a7 as ue, a8 as ce, a9 as ge, aa as de, ab as he, ac as Ae, ad as ve, ae as Se } from "../use-render-activity-message-BQADVWev.js";
4
4
  import { createLicenseContextValue as ye } from "@copilotkit/shared";
5
5
  export {
6
6
  o as A2UIActivityContentSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@copilotkit/vue",
3
- "version": "1.68.3-canary.1787220377",
3
+ "version": "1.69.0",
4
4
  "private": false,
5
5
  "description": "Vue 3 components and composables for CopilotKit",
6
6
  "keywords": [
@@ -64,16 +64,16 @@
64
64
  "@a2ui/web_core": "0.10.4",
65
65
  "@ag-ui/client": "0.0.57",
66
66
  "@ag-ui/core": "0.0.57",
67
- "@copilotkit/core": "1.68.3-canary.1787220377",
68
- "@copilotkit/shared": "1.68.3-canary.1787220377",
69
- "@copilotkit/web-components": "1.68.3-canary.1787220377",
70
- "@copilotkit/web-inspector": "1.68.3-canary.1787220377",
71
67
  "@jetbrains/websandbox": "^1.1.3",
72
68
  "katex": "^0.16.27",
73
69
  "lucide-vue-next": "^0.525.0",
74
70
  "streamdown-vue": "^1.0.29",
75
71
  "zod": "^3.25.75",
76
- "zod-to-json-schema": "^3.24.5"
72
+ "zod-to-json-schema": "^3.24.5",
73
+ "@copilotkit/shared": "1.69.0",
74
+ "@copilotkit/web-components": "1.69.0",
75
+ "@copilotkit/web-inspector": "1.69.0",
76
+ "@copilotkit/core": "1.69.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@eslint/js": "^9.39.2",
@@ -0,0 +1,86 @@
1
+ <script setup lang="ts">
2
+ import type { Message, ToolCall } from "@ag-ui/core";
3
+ import { DEFAULT_AGENT_ID } from "@copilotkit/shared";
4
+ import { useCopilotKit } from "../../providers/useCopilotKit";
5
+ import { useCopilotChatConfiguration } from "../../providers/useCopilotChatConfiguration";
6
+ import type { CopilotChatToolCallRenderSlotProps } from "./types";
7
+ import {
8
+ getCoreRenderConfig,
9
+ getCoreRenderProps,
10
+ getToolCallMemoDeps,
11
+ getToolCallRenderProps,
12
+ getToolCallSlotName,
13
+ } from "./copilotChatToolCallItemRender";
14
+
15
+ const props = withDefaults(
16
+ defineProps<{
17
+ toolCall: ToolCall;
18
+ messages?: Message[];
19
+ }>(),
20
+ {
21
+ messages: () => [],
22
+ },
23
+ );
24
+
25
+ defineSlots<{
26
+ "tool-call"?: (props: CopilotChatToolCallRenderSlotProps) => unknown;
27
+ [key: `tool-call-${string}`]: (
28
+ props: CopilotChatToolCallRenderSlotProps,
29
+ ) => unknown;
30
+ }>();
31
+
32
+ const { copilotkit, executingToolCallIds } = useCopilotKit();
33
+ const config = useCopilotChatConfiguration();
34
+
35
+ function getRenderProps(): CopilotChatToolCallRenderSlotProps {
36
+ return getToolCallRenderProps(
37
+ props.toolCall,
38
+ props.messages,
39
+ executingToolCallIds.value,
40
+ );
41
+ }
42
+
43
+ function getCoreProps() {
44
+ return getCoreRenderProps(
45
+ props.toolCall,
46
+ props.messages,
47
+ executingToolCallIds.value,
48
+ );
49
+ }
50
+
51
+ function getRenderConfig() {
52
+ const agentId = config.value?.agentId ?? DEFAULT_AGENT_ID;
53
+ return getCoreRenderConfig(
54
+ props.toolCall,
55
+ copilotkit.value.renderToolCalls,
56
+ agentId,
57
+ );
58
+ }
59
+
60
+ function getMemoDeps() {
61
+ const agentId = config.value?.agentId ?? DEFAULT_AGENT_ID;
62
+ return getToolCallMemoDeps(
63
+ props.toolCall,
64
+ props.messages,
65
+ executingToolCallIds.value,
66
+ copilotkit.value.renderToolCalls,
67
+ agentId,
68
+ );
69
+ }
70
+ </script>
71
+
72
+ <template>
73
+ <slot
74
+ :name="getToolCallSlotName(toolCall.function.name)"
75
+ v-bind="getRenderProps()"
76
+ >
77
+ <slot name="tool-call" v-bind="getRenderProps()">
78
+ <component
79
+ :is="getRenderConfig()?.render"
80
+ v-if="getRenderConfig()"
81
+ v-memo="getMemoDeps()"
82
+ v-bind="getCoreProps()"
83
+ />
84
+ </slot>
85
+ </slot>
86
+ </template>
@@ -1,20 +1,10 @@
1
1
  <script setup lang="ts">
2
- import type {
3
- AssistantMessage,
4
- Message,
5
- ToolCall,
6
- ToolMessage,
7
- } from "@ag-ui/core";
8
- import { DEFAULT_AGENT_ID } from "@copilotkit/shared";
9
- import { ToolCallStatus } from "@copilotkit/core";
10
- import { partialJSONParse } from "@copilotkit/shared";
11
- import { useCopilotKit } from "../../providers/useCopilotKit";
12
- import { useCopilotChatConfiguration } from "../../providers/useCopilotChatConfiguration";
2
+ import { useSlots } from "vue";
3
+ import type { AssistantMessage, Message } from "@ag-ui/core";
13
4
  import type { CopilotChatToolCallRenderSlotProps } from "./types";
14
- import type { VueToolCallRenderer } from "../../types";
15
- import type { VueToolCallRendererRenderProps } from "../../types";
5
+ import CopilotChatToolCallItem from "./CopilotChatToolCallItem.vue";
16
6
 
17
- const props = withDefaults(
7
+ withDefaults(
18
8
  defineProps<{
19
9
  message: AssistantMessage;
20
10
  messages?: Message[];
@@ -31,131 +21,29 @@ defineSlots<{
31
21
  ) => unknown;
32
22
  }>();
33
23
 
34
- const { copilotkit, executingToolCallIds } = useCopilotKit();
35
- const config = useCopilotChatConfiguration();
36
-
37
- function findToolMessage(toolCallId: string): ToolMessage | undefined {
38
- return props.messages.find(
39
- (message) =>
40
- message.role === "tool" &&
41
- (message as ToolMessage).toolCallId === toolCallId,
42
- ) as ToolMessage | undefined;
43
- }
44
-
45
- function getSlotName(toolName: string): `tool-call-${string}` {
46
- return `tool-call-${toolName}`;
47
- }
48
-
49
- function isExecutingToolCall(toolCallId: string): boolean {
50
- return executingToolCallIds.value.has(toolCallId);
51
- }
52
-
53
- function getToolResultContent(toolCallId: string): string | undefined {
54
- return findToolMessage(toolCallId)?.content;
55
- }
56
-
57
- function getRenderProps(
58
- toolCall: ToolCall,
59
- ): CopilotChatToolCallRenderSlotProps {
60
- const toolMessage = findToolMessage(toolCall.id);
61
- const parsedArgs = partialJSONParse(toolCall.function.arguments);
62
-
63
- if (toolMessage) {
64
- return {
65
- name: toolCall.function.name,
66
- args: parsedArgs,
67
- status: ToolCallStatus.Complete,
68
- result: toolMessage.content,
69
- toolCall,
70
- toolMessage,
71
- };
72
- }
73
-
74
- const isExecuting = isExecutingToolCall(toolCall.id);
75
- return {
76
- name: toolCall.function.name,
77
- args: parsedArgs,
78
- status: isExecuting ? ToolCallStatus.Executing : ToolCallStatus.InProgress,
79
- result: undefined,
80
- toolCall,
81
- toolMessage: undefined,
82
- };
83
- }
84
-
85
- function getCoreRenderProps(
86
- toolCall: ToolCall,
87
- ): VueToolCallRendererRenderProps<unknown> {
88
- const toolMessage = findToolMessage(toolCall.id);
89
- const parsedArgs = partialJSONParse(toolCall.function.arguments);
90
-
91
- if (toolMessage) {
92
- return {
93
- name: toolCall.function.name,
94
- toolCallId: toolCall.id,
95
- args: parsedArgs,
96
- status: ToolCallStatus.Complete,
97
- result: toolMessage.content,
98
- };
99
- }
100
-
101
- const isExecuting = isExecutingToolCall(toolCall.id);
102
- if (isExecuting) {
103
- return {
104
- name: toolCall.function.name,
105
- toolCallId: toolCall.id,
106
- args: parsedArgs,
107
- status: ToolCallStatus.Executing,
108
- result: undefined,
109
- };
110
- }
111
-
112
- return {
113
- name: toolCall.function.name,
114
- toolCallId: toolCall.id,
115
- args: parsedArgs && typeof parsedArgs === "object" ? parsedArgs : {},
116
- status: ToolCallStatus.InProgress,
117
- result: undefined,
118
- };
119
- }
120
-
121
- function getCoreRenderConfig(
122
- toolCall: ToolCall,
123
- ): VueToolCallRenderer<unknown> | undefined {
124
- const renderToolCalls = copilotkit.value.renderToolCalls;
125
- const agentId = config.value?.agentId ?? DEFAULT_AGENT_ID;
126
- const exactMatches = renderToolCalls.filter(
127
- (renderConfig) => renderConfig.name === toolCall.function.name,
128
- );
129
-
130
- return (
131
- exactMatches.find((renderConfig) => renderConfig.agentId === agentId) ??
132
- exactMatches.find((renderConfig) => !renderConfig.agentId) ??
133
- exactMatches[0] ??
134
- renderToolCalls.find((renderConfig) => renderConfig.name === "*")
135
- );
24
+ type ToolCallSlotName = "tool-call" | `tool-call-${string}`;
25
+ const componentSlots = useSlots() as Record<
26
+ ToolCallSlotName,
27
+ (props?: unknown) => unknown
28
+ >;
29
+ function getForwardedSlotNames(): ToolCallSlotName[] {
30
+ return Object.keys(componentSlots) as ToolCallSlotName[];
136
31
  }
137
32
  </script>
138
33
 
139
34
  <template>
140
- <template v-for="toolCall in message.toolCalls ?? []" :key="toolCall.id">
141
- <slot
142
- :name="getSlotName(toolCall.function.name)"
143
- v-bind="getRenderProps(toolCall)"
35
+ <CopilotChatToolCallItem
36
+ v-for="toolCall in message.toolCalls ?? []"
37
+ :key="toolCall.id"
38
+ :tool-call="toolCall"
39
+ :messages="messages"
40
+ >
41
+ <template
42
+ v-for="slotName in getForwardedSlotNames()"
43
+ :key="slotName"
44
+ #[slotName]="slotProps"
144
45
  >
145
- <slot name="tool-call" v-bind="getRenderProps(toolCall)">
146
- <component
147
- :is="getCoreRenderConfig(toolCall)?.render"
148
- v-if="getCoreRenderConfig(toolCall)"
149
- v-bind="getCoreRenderProps(toolCall)"
150
- v-memo="[
151
- toolCall.id,
152
- toolCall.function.arguments,
153
- getToolResultContent(toolCall.id),
154
- isExecutingToolCall(toolCall.id),
155
- getCoreRenderConfig(toolCall)?.render,
156
- ]"
157
- />
158
- </slot>
159
- </slot>
160
- </template>
46
+ <slot :name="slotName" v-bind="slotProps ?? {}" />
47
+ </template>
48
+ </CopilotChatToolCallItem>
161
49
  </template>