@copilotkit/react-core 1.9.2-next.17 → 1.9.2-next.18

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 (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{chunk-T6CEBWGR.mjs → chunk-36MGCCPZ.mjs} +2 -2
  3. package/dist/{chunk-YEJ3FBAE.mjs → chunk-3SLA7Q2N.mjs} +2 -2
  4. package/dist/{chunk-ETFA6XAF.mjs → chunk-5BSUSFHM.mjs} +2 -2
  5. package/dist/{chunk-3PX324EB.mjs → chunk-5DODGOMM.mjs} +9 -9
  6. package/dist/{chunk-3PX324EB.mjs.map → chunk-5DODGOMM.mjs.map} +1 -1
  7. package/dist/{chunk-UHUKAFSQ.mjs → chunk-5PE2XROA.mjs} +3 -3
  8. package/dist/{chunk-2WB6WBE7.mjs → chunk-7EJ4IWSA.mjs} +4 -4
  9. package/dist/{chunk-44ZZZ3BF.mjs → chunk-BHGYBOR3.mjs} +6 -6
  10. package/dist/{chunk-BMHFKVRE.mjs → chunk-BVK7PLK6.mjs} +2 -2
  11. package/dist/{chunk-FIWNDD4G.mjs → chunk-DKZTPL66.mjs} +2 -2
  12. package/dist/{chunk-FIWNDD4G.mjs.map → chunk-DKZTPL66.mjs.map} +1 -1
  13. package/dist/{chunk-55QZ2SVJ.mjs → chunk-JWAXDYOW.mjs} +8 -8
  14. package/dist/chunk-JWAXDYOW.mjs.map +1 -0
  15. package/dist/{chunk-NBSSZHQO.mjs → chunk-KIXKBJUV.mjs} +2 -2
  16. package/dist/{chunk-MYAU3ULX.mjs → chunk-KWQPQ4MM.mjs} +9 -9
  17. package/dist/{chunk-MYAU3ULX.mjs.map → chunk-KWQPQ4MM.mjs.map} +1 -1
  18. package/dist/{chunk-SLNYMYUX.mjs → chunk-R2LNRHJP.mjs} +7 -7
  19. package/dist/{chunk-SLNYMYUX.mjs.map → chunk-R2LNRHJP.mjs.map} +1 -1
  20. package/dist/{chunk-LUZQL376.mjs → chunk-VDADWRS3.mjs} +2 -2
  21. package/dist/{chunk-654Z36FY.mjs → chunk-WR3XTNHJ.mjs} +2 -2
  22. package/dist/{chunk-SFADWQ4P.mjs → chunk-XJ34ATKP.mjs} +3 -3
  23. package/dist/components/copilot-provider/copilot-messages.js +6 -6
  24. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  25. package/dist/components/copilot-provider/copilot-messages.mjs +2 -2
  26. package/dist/components/copilot-provider/copilotkit-props.d.ts +8 -8
  27. package/dist/components/copilot-provider/copilotkit-props.js.map +1 -1
  28. package/dist/components/copilot-provider/copilotkit.d.ts +1 -1
  29. package/dist/components/copilot-provider/copilotkit.js +15 -15
  30. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  31. package/dist/components/copilot-provider/copilotkit.mjs +7 -7
  32. package/dist/components/copilot-provider/index.d.ts +1 -1
  33. package/dist/components/copilot-provider/index.js +15 -15
  34. package/dist/components/copilot-provider/index.js.map +1 -1
  35. package/dist/components/copilot-provider/index.mjs +7 -7
  36. package/dist/components/index.d.ts +1 -1
  37. package/dist/components/index.js +15 -15
  38. package/dist/components/index.js.map +1 -1
  39. package/dist/components/index.mjs +7 -7
  40. package/dist/context/copilot-context.d.ts +1 -1
  41. package/dist/context/copilot-context.js +1 -1
  42. package/dist/context/copilot-context.js.map +1 -1
  43. package/dist/context/copilot-context.mjs +1 -1
  44. package/dist/context/index.d.ts +1 -1
  45. package/dist/context/index.js +1 -1
  46. package/dist/context/index.js.map +1 -1
  47. package/dist/context/index.mjs +1 -1
  48. package/dist/{copilot-context-5f835171.d.ts → copilot-context-3ab4fdf5.d.ts} +2 -2
  49. package/dist/hooks/index.d.ts +1 -1
  50. package/dist/hooks/index.js +12 -12
  51. package/dist/hooks/index.js.map +1 -1
  52. package/dist/hooks/index.mjs +30 -30
  53. package/dist/hooks/use-chat.d.ts +1 -1
  54. package/dist/hooks/use-chat.js +12 -12
  55. package/dist/hooks/use-chat.js.map +1 -1
  56. package/dist/hooks/use-chat.mjs +4 -4
  57. package/dist/hooks/use-coagent-state-render.js +1 -1
  58. package/dist/hooks/use-coagent-state-render.js.map +1 -1
  59. package/dist/hooks/use-coagent-state-render.mjs +2 -2
  60. package/dist/hooks/use-coagent.d.ts +1 -1
  61. package/dist/hooks/use-coagent.js +12 -12
  62. package/dist/hooks/use-coagent.js.map +1 -1
  63. package/dist/hooks/use-coagent.mjs +11 -11
  64. package/dist/hooks/use-copilot-action.js +1 -1
  65. package/dist/hooks/use-copilot-action.js.map +1 -1
  66. package/dist/hooks/use-copilot-action.mjs +2 -2
  67. package/dist/hooks/use-copilot-additional-instructions.js +1 -1
  68. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -1
  69. package/dist/hooks/use-copilot-additional-instructions.mjs +2 -2
  70. package/dist/hooks/use-copilot-authenticated-action.js +1 -1
  71. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  72. package/dist/hooks/use-copilot-authenticated-action.mjs +3 -3
  73. package/dist/hooks/use-copilot-chat.d.ts +1 -1
  74. package/dist/hooks/use-copilot-chat.js +12 -12
  75. package/dist/hooks/use-copilot-chat.js.map +1 -1
  76. package/dist/hooks/use-copilot-chat.mjs +10 -10
  77. package/dist/hooks/use-copilot-readable.js +1 -1
  78. package/dist/hooks/use-copilot-readable.js.map +1 -1
  79. package/dist/hooks/use-copilot-readable.mjs +2 -2
  80. package/dist/hooks/use-copilot-runtime-client.d.ts +2 -2
  81. package/dist/hooks/use-copilot-runtime-client.js +7 -7
  82. package/dist/hooks/use-copilot-runtime-client.js.map +1 -1
  83. package/dist/hooks/use-copilot-runtime-client.mjs +1 -1
  84. package/dist/hooks/use-langgraph-interrupt-render.js +1 -1
  85. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
  86. package/dist/hooks/use-langgraph-interrupt-render.mjs +2 -2
  87. package/dist/hooks/use-langgraph-interrupt.d.ts +1 -1
  88. package/dist/hooks/use-langgraph-interrupt.js +12 -12
  89. package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
  90. package/dist/hooks/use-langgraph-interrupt.mjs +11 -11
  91. package/dist/hooks/use-make-copilot-document-readable.js +1 -1
  92. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  93. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  94. package/dist/index.d.ts +1 -1
  95. package/dist/index.js +19 -19
  96. package/dist/index.js.map +1 -1
  97. package/dist/index.mjs +31 -31
  98. package/dist/lib/copilot-task.d.ts +1 -1
  99. package/dist/lib/copilot-task.js.map +1 -1
  100. package/dist/lib/copilot-task.mjs +8 -8
  101. package/dist/lib/index.d.ts +1 -1
  102. package/dist/lib/index.js.map +1 -1
  103. package/dist/lib/index.mjs +8 -8
  104. package/dist/types/interrupt-action.d.ts +1 -1
  105. package/dist/utils/extract.d.ts +1 -1
  106. package/dist/utils/extract.js.map +1 -1
  107. package/dist/utils/extract.mjs +7 -7
  108. package/dist/utils/index.d.ts +1 -1
  109. package/dist/utils/index.js.map +1 -1
  110. package/dist/utils/index.mjs +8 -8
  111. package/package.json +3 -3
  112. package/src/components/copilot-provider/__tests__/{copilotkit-trace.test.tsx → copilotkit-error.test.tsx} +17 -17
  113. package/src/components/copilot-provider/copilot-messages.tsx +6 -6
  114. package/src/components/copilot-provider/copilotkit-props.tsx +7 -7
  115. package/src/components/copilot-provider/copilotkit.tsx +2 -2
  116. package/src/context/copilot-context.tsx +3 -3
  117. package/src/hooks/use-chat.ts +6 -6
  118. package/src/hooks/use-copilot-runtime-client.ts +11 -12
  119. package/tsconfig.json +4 -1
  120. package/dist/chunk-55QZ2SVJ.mjs.map +0 -1
  121. /package/dist/{chunk-T6CEBWGR.mjs.map → chunk-36MGCCPZ.mjs.map} +0 -0
  122. /package/dist/{chunk-YEJ3FBAE.mjs.map → chunk-3SLA7Q2N.mjs.map} +0 -0
  123. /package/dist/{chunk-ETFA6XAF.mjs.map → chunk-5BSUSFHM.mjs.map} +0 -0
  124. /package/dist/{chunk-UHUKAFSQ.mjs.map → chunk-5PE2XROA.mjs.map} +0 -0
  125. /package/dist/{chunk-2WB6WBE7.mjs.map → chunk-7EJ4IWSA.mjs.map} +0 -0
  126. /package/dist/{chunk-44ZZZ3BF.mjs.map → chunk-BHGYBOR3.mjs.map} +0 -0
  127. /package/dist/{chunk-BMHFKVRE.mjs.map → chunk-BVK7PLK6.mjs.map} +0 -0
  128. /package/dist/{chunk-NBSSZHQO.mjs.map → chunk-KIXKBJUV.mjs.map} +0 -0
  129. /package/dist/{chunk-LUZQL376.mjs.map → chunk-VDADWRS3.mjs.map} +0 -0
  130. /package/dist/{chunk-654Z36FY.mjs.map → chunk-WR3XTNHJ.mjs.map} +0 -0
  131. /package/dist/{chunk-SFADWQ4P.mjs.map → chunk-XJ34ATKP.mjs.map} +0 -0
@@ -12,31 +12,30 @@ import {
12
12
  CopilotKitAgentDiscoveryError,
13
13
  CopilotKitError,
14
14
  CopilotKitErrorCode,
15
- ERROR_CONFIG,
16
- CopilotTraceHandler,
17
- CopilotTraceEvent,
15
+ CopilotErrorHandler,
16
+ CopilotErrorEvent,
18
17
  } from "@copilotkit/shared";
19
18
  import { shouldShowDevConsole } from "../utils/dev-console";
20
19
 
21
20
  export interface CopilotRuntimeClientHookOptions extends CopilotRuntimeClientOptions {
22
21
  showDevConsole?: boolean;
23
- onTrace?: CopilotTraceHandler;
22
+ onError?: CopilotErrorHandler;
24
23
  }
25
24
 
26
25
  export const useCopilotRuntimeClient = (options: CopilotRuntimeClientHookOptions) => {
27
26
  const { setBannerError } = useToast();
28
- const { showDevConsole, onTrace, ...runtimeOptions } = options;
27
+ const { showDevConsole, onError, ...runtimeOptions } = options;
29
28
 
30
29
  // Deduplication state for structured errors
31
30
  const lastStructuredErrorRef = useRef<{ message: string; timestamp: number } | null>(null);
32
31
 
33
32
  // Helper function to trace UI errors
34
33
  const traceUIError = async (error: CopilotKitError, originalError?: any) => {
35
- // Just check if onTrace and publicApiKey are defined
36
- if (!onTrace || !runtimeOptions.publicApiKey) return;
34
+ // Just check if onError and publicApiKey are defined
35
+ if (!onError || !runtimeOptions.publicApiKey) return;
37
36
 
38
37
  try {
39
- const traceEvent: CopilotTraceEvent = {
38
+ const errorEvent: CopilotErrorEvent = {
40
39
  type: "error",
41
40
  timestamp: Date.now(),
42
41
  context: {
@@ -54,9 +53,9 @@ export const useCopilotRuntimeClient = (options: CopilotRuntimeClientHookOptions
54
53
  },
55
54
  error,
56
55
  };
57
- await onTrace(traceEvent);
58
- } catch (traceError) {
59
- console.error("Error in onTrace handler:", traceError);
56
+ await onError(errorEvent);
57
+ } catch (error) {
58
+ console.error("Error in onError handler:", error);
60
59
  }
61
60
  };
62
61
 
@@ -142,7 +141,7 @@ export const useCopilotRuntimeClient = (options: CopilotRuntimeClientHookOptions
142
141
  setBannerError(warningError);
143
142
  },
144
143
  });
145
- }, [runtimeOptions, setBannerError, showDevConsole, onTrace]);
144
+ }, [runtimeOptions, setBannerError, showDevConsole, onError]);
146
145
 
147
146
  return runtimeClient;
148
147
  };
package/tsconfig.json CHANGED
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "extends": "../../utilities/tsconfig/react-library.json",
3
+ "compilerOptions": {
4
+ "types": ["jest"]
5
+ },
3
6
  "include": ["."],
4
- "exclude": ["dist", "build", "node_modules", "**/*.test.ts", "**/*.test.tsx", "**/__tests__/*"]
7
+ "exclude": ["dist", "build", "node_modules"]
5
8
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-copilot-runtime-client.ts"],"sourcesContent":["import {\n CopilotRuntimeClient,\n CopilotRuntimeClientOptions,\n GraphQLError,\n} from \"@copilotkit/runtime-client-gql\";\nimport { useToast } from \"../components/toast/toast-provider\";\nimport { useMemo, useRef } from \"react\";\nimport {\n ErrorVisibility,\n CopilotKitApiDiscoveryError,\n CopilotKitRemoteEndpointDiscoveryError,\n CopilotKitAgentDiscoveryError,\n CopilotKitError,\n CopilotKitErrorCode,\n ERROR_CONFIG,\n CopilotTraceHandler,\n CopilotTraceEvent,\n} from \"@copilotkit/shared\";\nimport { shouldShowDevConsole } from \"../utils/dev-console\";\n\nexport interface CopilotRuntimeClientHookOptions extends CopilotRuntimeClientOptions {\n showDevConsole?: boolean;\n onTrace?: CopilotTraceHandler;\n}\n\nexport const useCopilotRuntimeClient = (options: CopilotRuntimeClientHookOptions) => {\n const { setBannerError } = useToast();\n const { showDevConsole, onTrace, ...runtimeOptions } = options;\n\n // Deduplication state for structured errors\n const lastStructuredErrorRef = useRef<{ message: string; timestamp: number } | null>(null);\n\n // Helper function to trace UI errors\n const traceUIError = async (error: CopilotKitError, originalError?: any) => {\n // Just check if onTrace and publicApiKey are defined\n if (!onTrace || !runtimeOptions.publicApiKey) return;\n\n try {\n const traceEvent: CopilotTraceEvent = {\n type: \"error\",\n timestamp: Date.now(),\n context: {\n source: \"ui\",\n request: {\n operation: \"runtimeClient\",\n url: runtimeOptions.url,\n startTime: Date.now(),\n },\n technical: {\n environment: \"browser\",\n userAgent: typeof navigator !== \"undefined\" ? navigator.userAgent : undefined,\n stackTrace: originalError instanceof Error ? originalError.stack : undefined,\n },\n },\n error,\n };\n await onTrace(traceEvent);\n } catch (traceError) {\n console.error(\"Error in onTrace handler:\", traceError);\n }\n };\n\n const runtimeClient = useMemo(() => {\n return new CopilotRuntimeClient({\n ...runtimeOptions,\n handleGQLErrors: (error) => {\n if ((error as any).graphQLErrors?.length) {\n const graphQLErrors = (error as any).graphQLErrors as GraphQLError[];\n\n // Route all errors to banners for consistent UI\n const routeError = (gqlError: GraphQLError) => {\n const extensions = gqlError.extensions;\n const visibility = extensions?.visibility as ErrorVisibility;\n const isDev = shouldShowDevConsole(showDevConsole ?? false);\n\n // Silent errors - just log\n if (visibility === ErrorVisibility.SILENT) {\n console.error(\"CopilotKit Silent Error:\", gqlError.message);\n return;\n }\n\n if (!isDev) {\n console.error(\"CopilotKit Error (hidden in production):\", gqlError.message);\n return;\n }\n\n // All errors (including DEV_ONLY) show as banners for consistency\n // Deduplicate to prevent spam\n const now = Date.now();\n const errorMessage = gqlError.message;\n if (\n lastStructuredErrorRef.current &&\n lastStructuredErrorRef.current.message === errorMessage &&\n now - lastStructuredErrorRef.current.timestamp < 150\n ) {\n return; // Skip duplicate\n }\n lastStructuredErrorRef.current = { message: errorMessage, timestamp: now };\n\n const ckError = createStructuredError(gqlError);\n if (ckError) {\n setBannerError(ckError);\n // Trace the error\n traceUIError(ckError, gqlError);\n } else {\n // Fallback for unstructured errors\n const fallbackError = new CopilotKitError({\n message: gqlError.message,\n code: CopilotKitErrorCode.UNKNOWN,\n });\n setBannerError(fallbackError);\n // Trace the fallback error\n traceUIError(fallbackError, gqlError);\n }\n };\n\n // Process all errors as banners\n graphQLErrors.forEach(routeError);\n } else {\n const isDev = shouldShowDevConsole(showDevConsole ?? false);\n if (!isDev) {\n console.error(\"CopilotKit Error (hidden in production):\", error);\n } else {\n // Route non-GraphQL errors to banner as well\n const fallbackError = new CopilotKitError({\n message: error?.message || String(error),\n code: CopilotKitErrorCode.UNKNOWN,\n });\n setBannerError(fallbackError);\n // Trace the non-GraphQL error\n traceUIError(fallbackError, error);\n }\n }\n },\n handleGQLWarning: (message: string) => {\n console.warn(message);\n // Show warnings as banners too for consistency\n const warningError = new CopilotKitError({\n message,\n code: CopilotKitErrorCode.UNKNOWN,\n });\n setBannerError(warningError);\n },\n });\n }, [runtimeOptions, setBannerError, showDevConsole, onTrace]);\n\n return runtimeClient;\n};\n\n// Create appropriate structured error from GraphQL error\nfunction createStructuredError(gqlError: GraphQLError): CopilotKitError | null {\n const extensions = gqlError.extensions;\n const originalError = extensions?.originalError as any;\n const message = originalError?.message || gqlError.message;\n const code = extensions?.code as CopilotKitErrorCode;\n\n if (code) {\n return new CopilotKitError({ message, code });\n }\n\n // Legacy error detection by stack trace\n if (originalError?.stack?.includes(\"CopilotApiDiscoveryError\")) {\n return new CopilotKitApiDiscoveryError({ message });\n }\n if (originalError?.stack?.includes(\"CopilotKitRemoteEndpointDiscoveryError\")) {\n return new CopilotKitRemoteEndpointDiscoveryError({ message });\n }\n if (originalError?.stack?.includes(\"CopilotKitAgentDiscoveryError\")) {\n return new CopilotKitAgentDiscoveryError({\n agentName: \"\",\n availableAgents: [],\n });\n }\n\n return null;\n}\n"],"mappings":"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","names":["_a"]}