@copilotkit/react-core 1.54.1 → 1.55.0-next.8

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 (183) hide show
  1. package/CHANGELOG.md +127 -116
  2. package/dist/copilotkit-B3Mb1yVE.cjs +7975 -0
  3. package/dist/copilotkit-B3Mb1yVE.cjs.map +1 -0
  4. package/dist/copilotkit-DBzgOMby.d.cts +2182 -0
  5. package/dist/copilotkit-DBzgOMby.d.cts.map +1 -0
  6. package/dist/copilotkit-DNYSFuz5.mjs +7562 -0
  7. package/dist/copilotkit-DNYSFuz5.mjs.map +1 -0
  8. package/dist/copilotkit-Dy5w3qEV.d.mts +2182 -0
  9. package/dist/copilotkit-Dy5w3qEV.d.mts.map +1 -0
  10. package/dist/index.cjs +27 -28
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +3 -3
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +3 -3
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +4 -5
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/index.umd.js +1941 -35
  19. package/dist/index.umd.js.map +1 -1
  20. package/dist/v2/index.cjs +77 -7
  21. package/dist/v2/index.css +1 -2
  22. package/dist/v2/index.d.cts +6 -4
  23. package/dist/v2/index.d.mts +6 -4
  24. package/dist/v2/index.mjs +7 -4
  25. package/dist/v2/index.umd.js +5725 -24
  26. package/dist/v2/index.umd.js.map +1 -1
  27. package/package.json +37 -9
  28. package/scripts/scope-preflight.mjs +101 -0
  29. package/src/components/CopilotListeners.tsx +2 -6
  30. package/src/components/copilot-provider/copilot-messages.tsx +1 -1
  31. package/src/components/copilot-provider/copilotkit-props.tsx +1 -1
  32. package/src/components/copilot-provider/copilotkit.tsx +4 -4
  33. package/src/context/copilot-messages-context.tsx +1 -1
  34. package/src/hooks/__tests__/use-coagent-config.test.ts +2 -2
  35. package/src/hooks/__tests__/use-coagent-state-render.e2e.test.tsx +2 -2
  36. package/src/hooks/__tests__/use-copilot-chat-internal-connect.test.tsx +3 -7
  37. package/src/hooks/__tests__/use-frontend-tool-available.test.tsx +1 -1
  38. package/src/hooks/__tests__/use-frontend-tool-remount.e2e.test.tsx +4 -4
  39. package/src/hooks/use-agent-nodename.ts +1 -1
  40. package/src/hooks/use-coagent-state-render-bridge.tsx +1 -4
  41. package/src/hooks/use-coagent.ts +1 -1
  42. package/src/hooks/use-configure-chat-suggestions.tsx +2 -2
  43. package/src/hooks/use-copilot-chat-suggestions.tsx +2 -2
  44. package/src/hooks/use-copilot-chat_internal.ts +2 -2
  45. package/src/hooks/use-copilot-readable.ts +1 -1
  46. package/src/hooks/use-frontend-tool.ts +2 -2
  47. package/src/hooks/use-human-in-the-loop.ts +2 -2
  48. package/src/hooks/use-langgraph-interrupt.ts +2 -5
  49. package/src/hooks/use-lazy-tool-renderer.tsx +1 -1
  50. package/src/hooks/use-render-tool-call.ts +1 -1
  51. package/src/lib/copilot-task.ts +1 -1
  52. package/src/setupTests.ts +18 -14
  53. package/src/v2/__tests__/A2UIMessageRenderer.test.tsx +176 -0
  54. package/src/v2/__tests__/globalSetup.ts +14 -0
  55. package/src/v2/__tests__/setup.ts +93 -0
  56. package/src/v2/__tests__/utils/test-helpers.tsx +470 -0
  57. package/src/v2/a2ui/A2UIMessageRenderer.tsx +206 -0
  58. package/src/v2/components/CopilotKitInspector.tsx +50 -0
  59. package/src/v2/components/MCPAppsActivityRenderer.tsx +785 -0
  60. package/src/v2/components/WildcardToolCallRender.tsx +86 -0
  61. package/src/v2/components/__tests__/license-warning-banner.test.tsx +46 -0
  62. package/src/v2/components/chat/CopilotChat.tsx +431 -0
  63. package/src/v2/components/chat/CopilotChatAssistantMessage.tsx +375 -0
  64. package/src/v2/components/chat/CopilotChatAudioRecorder.tsx +350 -0
  65. package/src/v2/components/chat/CopilotChatInput.tsx +1302 -0
  66. package/src/v2/components/chat/CopilotChatMessageView.tsx +556 -0
  67. package/src/v2/components/chat/CopilotChatReasoningMessage.tsx +252 -0
  68. package/src/v2/components/chat/CopilotChatSuggestionPill.tsx +59 -0
  69. package/src/v2/components/chat/CopilotChatSuggestionView.tsx +133 -0
  70. package/src/v2/components/chat/CopilotChatToggleButton.tsx +171 -0
  71. package/src/v2/components/chat/CopilotChatToolCallsView.tsx +40 -0
  72. package/src/v2/components/chat/CopilotChatUserMessage.tsx +388 -0
  73. package/src/v2/components/chat/CopilotChatView.tsx +598 -0
  74. package/src/v2/components/chat/CopilotModalHeader.tsx +129 -0
  75. package/src/v2/components/chat/CopilotPopup.tsx +81 -0
  76. package/src/v2/components/chat/CopilotPopupView.tsx +317 -0
  77. package/src/v2/components/chat/CopilotSidebar.tsx +76 -0
  78. package/src/v2/components/chat/CopilotSidebarView.tsx +255 -0
  79. package/src/v2/components/chat/__tests__/CopilotChat.e2e.test.tsx +1113 -0
  80. package/src/v2/components/chat/__tests__/CopilotChat.onError.test.tsx +73 -0
  81. package/src/v2/components/chat/__tests__/CopilotChat.slots.e2e.test.tsx +432 -0
  82. package/src/v2/components/chat/__tests__/CopilotChatActivityRendering.e2e.test.tsx +150 -0
  83. package/src/v2/components/chat/__tests__/CopilotChatAssistantMessage.slots.e2e.test.tsx +624 -0
  84. package/src/v2/components/chat/__tests__/CopilotChatAssistantMessage.test.tsx +702 -0
  85. package/src/v2/components/chat/__tests__/CopilotChatCssClasses.test.tsx +107 -0
  86. package/src/v2/components/chat/__tests__/CopilotChatInput.slots.e2e.test.tsx +929 -0
  87. package/src/v2/components/chat/__tests__/CopilotChatInput.test.tsx +986 -0
  88. package/src/v2/components/chat/__tests__/CopilotChatMessageView.slots.e2e.test.tsx +1004 -0
  89. package/src/v2/components/chat/__tests__/CopilotChatMessageView.test.tsx +169 -0
  90. package/src/v2/components/chat/__tests__/CopilotChatSuggestionView.slots.e2e.test.tsx +530 -0
  91. package/src/v2/components/chat/__tests__/CopilotChatToolRendering.e2e.test.tsx +782 -0
  92. package/src/v2/components/chat/__tests__/CopilotChatToolRerenders.e2e.test.tsx +2413 -0
  93. package/src/v2/components/chat/__tests__/CopilotChatUserMessage.slots.e2e.test.tsx +621 -0
  94. package/src/v2/components/chat/__tests__/CopilotChatView.onClick.e2e.test.tsx +853 -0
  95. package/src/v2/components/chat/__tests__/CopilotChatView.slots.e2e.test.tsx +1050 -0
  96. package/src/v2/components/chat/__tests__/CopilotModalHeader.slots.e2e.test.tsx +484 -0
  97. package/src/v2/components/chat/__tests__/CopilotPopupView.slots.e2e.test.tsx +612 -0
  98. package/src/v2/components/chat/__tests__/CopilotSidebarView.slots.e2e.test.tsx +502 -0
  99. package/src/v2/components/chat/__tests__/MCPAppsActivityRenderer.e2e.test.tsx +1011 -0
  100. package/src/v2/components/chat/__tests__/setup.ts +1 -0
  101. package/src/v2/components/chat/index.ts +79 -0
  102. package/src/v2/components/index.ts +7 -0
  103. package/src/v2/components/license-warning-banner.tsx +198 -0
  104. package/src/v2/components/ui/button.tsx +123 -0
  105. package/src/v2/components/ui/dropdown-menu.tsx +258 -0
  106. package/src/v2/components/ui/tooltip.tsx +60 -0
  107. package/src/v2/hooks/__tests__/standard-schema-types.test.tsx +152 -0
  108. package/src/v2/hooks/__tests__/standard-schema.test.tsx +282 -0
  109. package/src/v2/hooks/__tests__/use-agent-context-timing.e2e.test.tsx +132 -0
  110. package/src/v2/hooks/__tests__/use-agent-context.test.tsx +401 -0
  111. package/src/v2/hooks/__tests__/use-agent-error-state.test.tsx +44 -0
  112. package/src/v2/hooks/__tests__/use-agent-stability.test.tsx +205 -0
  113. package/src/v2/hooks/__tests__/use-agent.e2e.test.tsx +148 -0
  114. package/src/v2/hooks/__tests__/use-component.test.tsx +123 -0
  115. package/src/v2/hooks/__tests__/use-configure-suggestions.e2e.test.tsx +696 -0
  116. package/src/v2/hooks/__tests__/use-default-render-tool.test.tsx +153 -0
  117. package/src/v2/hooks/__tests__/use-frontend-tool-available.test.tsx +167 -0
  118. package/src/v2/hooks/__tests__/use-frontend-tool.e2e.test.tsx +2129 -0
  119. package/src/v2/hooks/__tests__/use-human-in-the-loop.e2e.test.tsx +1261 -0
  120. package/src/v2/hooks/__tests__/use-interrupt.test.tsx +397 -0
  121. package/src/v2/hooks/__tests__/use-katex-styles.test.tsx +56 -0
  122. package/src/v2/hooks/__tests__/use-keyboard-height.test.tsx +192 -0
  123. package/src/v2/hooks/__tests__/use-render-tool.test.tsx +259 -0
  124. package/src/v2/hooks/__tests__/use-suggestions.e2e.test.tsx +524 -0
  125. package/src/v2/hooks/__tests__/use-threads.test.tsx +433 -0
  126. package/src/v2/hooks/__tests__/zod-regression.test.tsx +311 -0
  127. package/src/v2/hooks/index.ts +18 -0
  128. package/src/v2/hooks/use-agent-context.tsx +45 -0
  129. package/src/v2/hooks/use-agent.tsx +155 -0
  130. package/src/v2/hooks/use-component.tsx +89 -0
  131. package/src/v2/hooks/use-configure-suggestions.tsx +187 -0
  132. package/src/v2/hooks/use-default-render-tool.tsx +254 -0
  133. package/src/v2/hooks/use-frontend-tool.tsx +43 -0
  134. package/src/v2/hooks/use-human-in-the-loop.tsx +81 -0
  135. package/src/v2/hooks/use-interrupt.tsx +305 -0
  136. package/src/v2/hooks/use-keyboard-height.tsx +67 -0
  137. package/src/v2/hooks/use-render-activity-message.tsx +73 -0
  138. package/src/v2/hooks/use-render-custom-messages.tsx +93 -0
  139. package/src/v2/hooks/use-render-tool-call.tsx +175 -0
  140. package/src/v2/hooks/use-render-tool.tsx +181 -0
  141. package/src/v2/hooks/use-suggestions.tsx +91 -0
  142. package/src/v2/hooks/use-threads.tsx +256 -0
  143. package/src/v2/hooks/useKatexStyles.ts +27 -0
  144. package/src/v2/index.css +1 -1
  145. package/src/v2/index.ts +18 -2
  146. package/src/v2/lib/__tests__/completePartialMarkdown.test.ts +495 -0
  147. package/src/v2/lib/__tests__/renderSlot.test.tsx +588 -0
  148. package/src/v2/lib/react-core.ts +156 -0
  149. package/src/v2/lib/slots.tsx +143 -0
  150. package/src/v2/lib/transcription-client.ts +184 -0
  151. package/src/v2/lib/utils.ts +8 -0
  152. package/src/v2/providers/CopilotChatConfigurationProvider.tsx +162 -0
  153. package/src/v2/providers/CopilotKitProvider.tsx +600 -0
  154. package/src/v2/providers/__tests__/CopilotChatConfigurationProvider.test.tsx +546 -0
  155. package/src/v2/providers/__tests__/CopilotKitProvider.license.test.tsx +101 -0
  156. package/src/v2/providers/__tests__/CopilotKitProvider.onError.test.tsx +69 -0
  157. package/src/v2/providers/__tests__/CopilotKitProvider.renderCustomMessages.e2e.test.tsx +881 -0
  158. package/src/v2/providers/__tests__/CopilotKitProvider.stability.test.tsx +740 -0
  159. package/src/v2/providers/__tests__/CopilotKitProvider.test.tsx +642 -0
  160. package/src/v2/providers/__tests__/CopilotKitProvider.wildcard.test.tsx +294 -0
  161. package/src/v2/providers/index.ts +14 -0
  162. package/src/v2/styles/globals.css +230 -0
  163. package/src/v2/types/__tests__/defineToolCallRenderer.test.tsx +525 -0
  164. package/src/v2/types/defineToolCallRenderer.ts +65 -0
  165. package/src/v2/types/frontend-tool.ts +8 -0
  166. package/src/v2/types/human-in-the-loop.ts +33 -0
  167. package/src/v2/types/index.ts +7 -0
  168. package/src/v2/types/interrupt.ts +15 -0
  169. package/src/v2/types/react-activity-message-renderer.ts +27 -0
  170. package/src/v2/types/react-custom-message-renderer.ts +17 -0
  171. package/src/v2/types/react-tool-call-renderer.ts +32 -0
  172. package/tsdown.config.ts +34 -10
  173. package/vitest.config.mjs +4 -3
  174. package/LICENSE +0 -21
  175. package/dist/copilotkit-BRPQ2sqS.d.cts +0 -670
  176. package/dist/copilotkit-BRPQ2sqS.d.cts.map +0 -1
  177. package/dist/copilotkit-C94ayZbs.cjs +0 -2161
  178. package/dist/copilotkit-C94ayZbs.cjs.map +0 -1
  179. package/dist/copilotkit-CwZMFmSK.d.mts +0 -670
  180. package/dist/copilotkit-CwZMFmSK.d.mts.map +0 -1
  181. package/dist/copilotkit-Yh_Ld_FX.mjs +0 -2031
  182. package/dist/copilotkit-Yh_Ld_FX.mjs.map +0 -1
  183. package/dist/v2/index.css.map +0 -1
@@ -0,0 +1,17 @@
1
+ import { Message } from "@ag-ui/core";
2
+
3
+ export type ReactCustomMessageRendererPosition = "before" | "after";
4
+
5
+ export interface ReactCustomMessageRenderer {
6
+ agentId?: string;
7
+ render: React.ComponentType<{
8
+ message: Message;
9
+ position: ReactCustomMessageRendererPosition;
10
+ runId: string;
11
+ messageIndex: number;
12
+ messageIndexInRun: number;
13
+ numberOfMessagesInRun: number;
14
+ agentId: string;
15
+ stateSnapshot: any;
16
+ }> | null;
17
+ }
@@ -0,0 +1,32 @@
1
+ import type { StandardSchemaV1 } from "@copilotkit/shared";
2
+ import { ToolCallStatus } from "@copilotkit/core";
3
+
4
+ export interface ReactToolCallRenderer<T = unknown> {
5
+ name: string;
6
+ args: StandardSchemaV1<any, T>;
7
+ /**
8
+ * Optional agent ID to constrain this tool renderer to a specific agent.
9
+ * If specified, this renderer will only be used for the specified agent.
10
+ */
11
+ agentId?: string;
12
+ render: React.ComponentType<
13
+ | {
14
+ name: string;
15
+ args: Partial<T>;
16
+ status: ToolCallStatus.InProgress;
17
+ result: undefined;
18
+ }
19
+ | {
20
+ name: string;
21
+ args: T;
22
+ status: ToolCallStatus.Executing;
23
+ result: undefined;
24
+ }
25
+ | {
26
+ name: string;
27
+ args: T;
28
+ status: ToolCallStatus.Complete;
29
+ result: string;
30
+ }
31
+ >;
32
+ }
package/tsdown.config.ts CHANGED
@@ -11,8 +11,12 @@ export default defineConfig([
11
11
  external: [
12
12
  "react",
13
13
  "react-dom",
14
- "@copilotkitnext/core",
15
- "@copilotkitnext/react",
14
+ "@copilotkit/core",
15
+ "@copilotkit/shared",
16
+ "@copilotkit/web-inspector",
17
+ "@copilotkit/a2ui-renderer",
18
+ "rxjs",
19
+ /\.css$/,
16
20
  ],
17
21
  exports: {
18
22
  customExports: (exports) => ({
@@ -31,12 +35,14 @@ export default defineConfig([
31
35
  external: [
32
36
  "react",
33
37
  "react-dom",
38
+ "@copilotkit/core",
34
39
  "@copilotkit/shared",
35
40
  "@copilotkit/runtime-client-gql",
36
- "@copilotkitnext/core",
37
- "@copilotkitnext/react",
41
+ "@copilotkit/web-inspector",
42
+ "@copilotkit/a2ui-renderer",
38
43
  "@ag-ui/client",
39
44
  "zod",
45
+ /\.css$/,
40
46
  ],
41
47
  codeSplitting: false,
42
48
  outputOptions(options) {
@@ -45,10 +51,11 @@ export default defineConfig([
45
51
  react: "React",
46
52
  "react-dom": "ReactDOM",
47
53
  "react/jsx-runtime": "ReactJsxRuntime",
54
+ "@copilotkit/core": "CopilotKitCore",
48
55
  "@copilotkit/shared": "CopilotKitShared",
49
56
  "@copilotkit/runtime-client-gql": "CopilotKitRuntimeClientGQL",
50
- "@copilotkitnext/core": "CopilotKitNextCore",
51
- "@copilotkitnext/react": "CopilotKitNextReact",
57
+ "@copilotkit/web-inspector": "CopilotKitWebInspector",
58
+ "@copilotkit/a2ui-renderer": "CopilotKitA2UIRenderer",
52
59
  "@ag-ui/client": "AgUIClient",
53
60
  "react-markdown": "ReactMarkdown",
54
61
  zod: "Zod",
@@ -66,12 +73,15 @@ export default defineConfig([
66
73
  external: [
67
74
  "react",
68
75
  "react-dom",
76
+ "@copilotkit/core",
69
77
  "@copilotkit/shared",
70
78
  "@copilotkit/runtime-client-gql",
71
- "@copilotkitnext/core",
72
- "@copilotkitnext/react",
79
+ "@copilotkit/web-inspector",
80
+ "@copilotkit/a2ui-renderer",
73
81
  "@ag-ui/client",
82
+ "@ag-ui/core",
74
83
  "zod",
84
+ /\.css$/,
75
85
  ],
76
86
  codeSplitting: false,
77
87
  outputOptions(options) {
@@ -80,13 +90,27 @@ export default defineConfig([
80
90
  react: "React",
81
91
  "react-dom": "ReactDOM",
82
92
  "react/jsx-runtime": "ReactJsxRuntime",
93
+ "@copilotkit/core": "CopilotKitCore",
83
94
  "@copilotkit/shared": "CopilotKitShared",
84
95
  "@copilotkit/runtime-client-gql": "CopilotKitRuntimeClientGQL",
85
- "@copilotkitnext/core": "CopilotKitNextCore",
86
- "@copilotkitnext/react": "CopilotKitNextReact",
96
+ "@copilotkit/web-inspector": "CopilotKitWebInspector",
97
+ "@copilotkit/a2ui-renderer": "CopilotKitA2UIRenderer",
87
98
  "@ag-ui/client": "AgUIClient",
99
+ "@ag-ui/core": "AgUICore",
88
100
  "react-markdown": "ReactMarkdown",
89
101
  zod: "Zod",
102
+ "tailwind-merge": "tailwindMerge",
103
+ "lucide-react": "lucideReact",
104
+ "@radix-ui/react-slot": "RadixReactSlot",
105
+ "class-variance-authority": "classVarianceAuthority",
106
+ clsx: "clsx",
107
+ "@radix-ui/react-tooltip": "RadixReactTooltip",
108
+ "@radix-ui/react-dropdown-menu": "RadixReactDropdownMenu",
109
+ "katex/dist/katex.min.css": "katexCss",
110
+ streamdown: "streamdown",
111
+ "@lit-labs/react": "LitLabsReact",
112
+ "use-stick-to-bottom": "useStickToBottom",
113
+ "ts-deepmerge": "tsDeepmerge",
90
114
  };
91
115
  return options;
92
116
  },
package/vitest.config.mjs CHANGED
@@ -8,12 +8,13 @@ export default defineConfig({
8
8
  "src/**/__tests__/**/*.{test,spec}.{ts,tsx}",
9
9
  "src/**/*.{test,spec}.{ts,tsx}",
10
10
  ],
11
- setupFiles: ["./src/setupTests.ts"],
11
+ globalSetup: ["./src/v2/__tests__/globalSetup.ts"],
12
+ setupFiles: ["./src/setupTests.ts", "./src/v2/__tests__/setup.ts"],
12
13
  reporters: [["default", { summary: false }]],
13
14
  silent: true,
14
15
  server: {
15
16
  deps: {
16
- inline: ["react-markdown", "streamdown", "@copilotkitnext"],
17
+ inline: ["react-markdown", "streamdown", "@copilotkit"],
17
18
  },
18
19
  },
19
20
  css: {
@@ -24,7 +25,7 @@ export default defineConfig({
24
25
  },
25
26
  resolve: {
26
27
  alias: {
27
- "@": new URL("./src", import.meta.url).pathname,
28
+ "@": new URL("./src/v2", import.meta.url).pathname,
28
29
  },
29
30
  },
30
31
  });
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License
2
-
3
- Copyright (c) Atai Barkai
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.