@copilotkit/runtime 1.55.2-next.0 → 1.55.2

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 (98) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agent/converters/aisdk.cjs +215 -0
  3. package/dist/agent/converters/aisdk.cjs.map +1 -0
  4. package/dist/agent/converters/aisdk.d.cts +18 -0
  5. package/dist/agent/converters/aisdk.d.cts.map +1 -0
  6. package/dist/agent/converters/aisdk.d.mts +18 -0
  7. package/dist/agent/converters/aisdk.d.mts.map +1 -0
  8. package/dist/agent/converters/aisdk.mjs +214 -0
  9. package/dist/agent/converters/aisdk.mjs.map +1 -0
  10. package/dist/agent/converters/index.d.mts +3 -0
  11. package/dist/agent/converters/tanstack.cjs +180 -0
  12. package/dist/agent/converters/tanstack.cjs.map +1 -0
  13. package/dist/agent/converters/tanstack.d.cts +68 -0
  14. package/dist/agent/converters/tanstack.d.cts.map +1 -0
  15. package/dist/agent/converters/tanstack.d.mts +68 -0
  16. package/dist/agent/converters/tanstack.d.mts.map +1 -0
  17. package/dist/agent/converters/tanstack.mjs +178 -0
  18. package/dist/agent/converters/tanstack.mjs.map +1 -0
  19. package/dist/agent/index.cjs +111 -17
  20. package/dist/agent/index.cjs.map +1 -1
  21. package/dist/agent/index.d.cts +61 -4
  22. package/dist/agent/index.d.cts.map +1 -1
  23. package/dist/agent/index.d.mts +62 -4
  24. package/dist/agent/index.d.mts.map +1 -1
  25. package/dist/agent/index.mjs +111 -17
  26. package/dist/agent/index.mjs.map +1 -1
  27. package/dist/lib/integrations/nextjs/pages-router.cjs.map +1 -1
  28. package/dist/lib/integrations/nextjs/pages-router.d.cts.map +1 -1
  29. package/dist/lib/integrations/nextjs/pages-router.d.mts.map +1 -1
  30. package/dist/lib/integrations/nextjs/pages-router.mjs.map +1 -1
  31. package/dist/lib/runtime/copilot-runtime.cjs +4 -2
  32. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  33. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  34. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  35. package/dist/lib/runtime/copilot-runtime.mjs +4 -2
  36. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  37. package/dist/lib/runtime/mcp-tools-utils.cjs +1 -1
  38. package/dist/lib/runtime/mcp-tools-utils.cjs.map +1 -1
  39. package/dist/lib/runtime/mcp-tools-utils.mjs +1 -1
  40. package/dist/lib/runtime/mcp-tools-utils.mjs.map +1 -1
  41. package/dist/package.cjs +1 -1
  42. package/dist/package.mjs +1 -1
  43. package/dist/service-adapters/anthropic/utils.cjs +1 -1
  44. package/dist/service-adapters/anthropic/utils.cjs.map +1 -1
  45. package/dist/service-adapters/anthropic/utils.mjs +1 -1
  46. package/dist/service-adapters/anthropic/utils.mjs.map +1 -1
  47. package/dist/service-adapters/openai/utils.cjs +1 -1
  48. package/dist/service-adapters/openai/utils.cjs.map +1 -1
  49. package/dist/service-adapters/openai/utils.mjs +1 -1
  50. package/dist/service-adapters/openai/utils.mjs.map +1 -1
  51. package/dist/v2/index.cjs +5 -0
  52. package/dist/v2/index.d.cts +4 -2
  53. package/dist/v2/index.d.mts +4 -2
  54. package/dist/v2/index.mjs +3 -1
  55. package/dist/v2/runtime/core/fetch-handler.cjs +43 -3
  56. package/dist/v2/runtime/core/fetch-handler.cjs.map +1 -1
  57. package/dist/v2/runtime/core/fetch-handler.d.cts.map +1 -1
  58. package/dist/v2/runtime/core/fetch-handler.d.mts.map +1 -1
  59. package/dist/v2/runtime/core/fetch-handler.mjs +43 -3
  60. package/dist/v2/runtime/core/fetch-handler.mjs.map +1 -1
  61. package/dist/v2/runtime/core/fetch-router.cjs +26 -0
  62. package/dist/v2/runtime/core/fetch-router.cjs.map +1 -1
  63. package/dist/v2/runtime/core/fetch-router.mjs +26 -0
  64. package/dist/v2/runtime/core/fetch-router.mjs.map +1 -1
  65. package/dist/v2/runtime/core/hooks.cjs.map +1 -1
  66. package/dist/v2/runtime/core/hooks.d.cts +13 -0
  67. package/dist/v2/runtime/core/hooks.d.cts.map +1 -1
  68. package/dist/v2/runtime/core/hooks.d.mts +13 -0
  69. package/dist/v2/runtime/core/hooks.d.mts.map +1 -1
  70. package/dist/v2/runtime/core/hooks.mjs.map +1 -1
  71. package/dist/v2/runtime/handlers/intelligence/threads.cjs +179 -0
  72. package/dist/v2/runtime/handlers/intelligence/threads.cjs.map +1 -0
  73. package/dist/v2/runtime/handlers/intelligence/threads.mjs +173 -0
  74. package/dist/v2/runtime/handlers/intelligence/threads.mjs.map +1 -0
  75. package/package.json +2 -2
  76. package/src/agent/__tests__/agent-test-helpers.ts +446 -0
  77. package/src/agent/__tests__/agent.test.ts +593 -0
  78. package/src/agent/__tests__/converter-aisdk.test.ts +692 -0
  79. package/src/agent/__tests__/converter-custom.test.ts +319 -0
  80. package/src/agent/__tests__/converter-tanstack-input.test.ts +211 -0
  81. package/src/agent/__tests__/converter-tanstack.test.ts +314 -0
  82. package/src/agent/__tests__/multimodal-tanstack.test.ts +284 -0
  83. package/src/agent/__tests__/test-helpers.ts +12 -8
  84. package/src/agent/converters/aisdk.ts +326 -0
  85. package/src/agent/converters/index.ts +7 -0
  86. package/src/agent/converters/tanstack.ts +286 -0
  87. package/src/agent/index.ts +245 -26
  88. package/src/lib/integrations/nextjs/pages-router.ts +1 -0
  89. package/src/lib/runtime/copilot-runtime.ts +21 -12
  90. package/src/lib/runtime/mcp-tools-utils.ts +1 -1
  91. package/src/service-adapters/anthropic/utils.ts +1 -1
  92. package/src/service-adapters/openai/utils.ts +1 -1
  93. package/src/v2/runtime/__tests__/fetch-router.test.ts +76 -0
  94. package/src/v2/runtime/core/fetch-handler.ts +55 -4
  95. package/src/v2/runtime/core/fetch-router.ts +48 -0
  96. package/src/v2/runtime/core/hooks.ts +6 -1
  97. package/src/v2/runtime/handlers/handle-threads.ts +1 -0
  98. package/src/v2/runtime/handlers/intelligence/threads.ts +28 -0
@@ -108,5 +108,53 @@ function matchSegments(path: string): RouteInfo | null {
108
108
  return { method: "agent/stop", agentId, threadId };
109
109
  }
110
110
 
111
+ // /threads/subscribe (2 segments)
112
+ if (
113
+ len >= 2 &&
114
+ segments[len - 2] === "threads" &&
115
+ segments[len - 1] === "subscribe"
116
+ ) {
117
+ return { method: "threads/subscribe" };
118
+ }
119
+
120
+ // /threads/:threadId/messages (3 segments)
121
+ if (
122
+ len >= 3 &&
123
+ segments[len - 3] === "threads" &&
124
+ segments[len - 1] === "messages"
125
+ ) {
126
+ const threadId = safeDecodeURIComponent(segments[len - 2]!);
127
+ if (!threadId) return null;
128
+ return { method: "threads/messages", threadId };
129
+ }
130
+
131
+ // /threads/:threadId/archive (3 segments)
132
+ if (
133
+ len >= 3 &&
134
+ segments[len - 3] === "threads" &&
135
+ segments[len - 1] === "archive"
136
+ ) {
137
+ const threadId = safeDecodeURIComponent(segments[len - 2]!);
138
+ if (!threadId) return null;
139
+ return { method: "threads/archive", threadId };
140
+ }
141
+
142
+ // /threads/:threadId (2 segments) — update or delete
143
+ if (
144
+ len >= 2 &&
145
+ segments[len - 2] === "threads" &&
146
+ segments[len - 1] !== "subscribe"
147
+ ) {
148
+ const threadId = safeDecodeURIComponent(segments[len - 1]!);
149
+ if (!threadId) return null;
150
+ // Disambiguated by HTTP method in the handler
151
+ return { method: "threads/update", threadId };
152
+ }
153
+
154
+ // /threads (1 segment) — list
155
+ if (len >= 1 && segments[len - 1] === "threads") {
156
+ return { method: "threads/list" };
157
+ }
158
+
111
159
  return null;
112
160
  }
@@ -38,7 +38,12 @@ export type RouteInfo =
38
38
  | { method: "agent/connect"; agentId: string }
39
39
  | { method: "agent/stop"; agentId: string; threadId: string }
40
40
  | { method: "info" }
41
- | { method: "transcribe" };
41
+ | { method: "transcribe" }
42
+ | { method: "threads/list" }
43
+ | { method: "threads/subscribe" }
44
+ | { method: "threads/update"; threadId: string }
45
+ | { method: "threads/archive"; threadId: string }
46
+ | { method: "threads/messages"; threadId: string };
42
47
 
43
48
  /* ------------------------------------------------------------------------------------------------
44
49
  * Hook contexts
@@ -1,6 +1,7 @@
1
1
  export {
2
2
  handleArchiveThread,
3
3
  handleDeleteThread,
4
+ handleGetThreadMessages,
4
5
  handleListThreads,
5
6
  handleSubscribeToThreads,
6
7
  handleUpdateThread,
@@ -231,3 +231,31 @@ export async function handleDeleteThread({
231
231
  return errorResponse("Failed to delete thread", 500);
232
232
  }
233
233
  }
234
+
235
+ export async function handleGetThreadMessages({
236
+ runtime,
237
+ request,
238
+ threadId,
239
+ }: ThreadMutationParams): Promise<Response> {
240
+ const intelligenceRuntime = requireIntelligenceRuntime(runtime);
241
+ if (isHandlerResponse(intelligenceRuntime)) {
242
+ return intelligenceRuntime;
243
+ }
244
+
245
+ try {
246
+ const user = await resolveIntelligenceUser({
247
+ runtime: intelligenceRuntime,
248
+ request,
249
+ });
250
+ if (isHandlerResponse(user)) return user;
251
+
252
+ const data = await intelligenceRuntime.intelligence.getThreadMessages({
253
+ threadId,
254
+ });
255
+
256
+ return Response.json(data);
257
+ } catch (error) {
258
+ logger.error({ err: error, threadId }, "Error getting thread messages");
259
+ return errorResponse("Failed to get thread messages", 500);
260
+ }
261
+ }