@copilotkit/runtime 1.72.1-canary.sp-longthread-perf → 1.73.1

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 (206) hide show
  1. package/dist/agent/index.cjs +49 -9
  2. package/dist/agent/index.cjs.map +1 -1
  3. package/dist/agent/index.d.cts +20 -7
  4. package/dist/agent/index.d.cts.map +1 -1
  5. package/dist/agent/index.d.mts +19 -6
  6. package/dist/agent/index.d.mts.map +1 -1
  7. package/dist/agent/index.mjs +49 -9
  8. package/dist/agent/index.mjs.map +1 -1
  9. package/dist/agent/learned-skills.cjs +77 -0
  10. package/dist/agent/learned-skills.cjs.map +1 -0
  11. package/dist/agent/learned-skills.d.cts +16 -0
  12. package/dist/agent/learned-skills.d.cts.map +1 -0
  13. package/dist/agent/learned-skills.d.mts +16 -0
  14. package/dist/agent/learned-skills.d.mts.map +1 -0
  15. package/dist/agent/learned-skills.mjs +75 -0
  16. package/dist/agent/learned-skills.mjs.map +1 -0
  17. package/dist/index.d.cts +4 -4
  18. package/dist/index.d.mts +4 -4
  19. package/dist/internal/learned-skills.cjs +22 -0
  20. package/dist/internal/learned-skills.d.cts +10 -0
  21. package/dist/internal/learned-skills.d.mts +10 -0
  22. package/dist/internal/learned-skills.mjs +10 -0
  23. package/dist/lib/index.d.cts +2 -2
  24. package/dist/lib/index.d.mts +2 -2
  25. package/dist/lib/integrations/nextjs/app-router.cjs +1 -1
  26. package/dist/lib/integrations/nextjs/app-router.cjs.map +1 -1
  27. package/dist/lib/integrations/nextjs/app-router.mjs +1 -1
  28. package/dist/lib/integrations/nextjs/app-router.mjs.map +1 -1
  29. package/dist/lib/integrations/node-http/index.cjs +1 -1
  30. package/dist/lib/integrations/node-http/index.cjs.map +1 -1
  31. package/dist/lib/integrations/node-http/index.d.cts.map +1 -1
  32. package/dist/lib/integrations/node-http/index.d.mts.map +1 -1
  33. package/dist/lib/integrations/node-http/index.mjs +1 -1
  34. package/dist/lib/integrations/node-http/index.mjs.map +1 -1
  35. package/dist/lib/integrations/shared.cjs.map +1 -1
  36. package/dist/lib/integrations/shared.d.cts +1 -1
  37. package/dist/lib/integrations/shared.d.cts.map +1 -1
  38. package/dist/lib/integrations/shared.d.mts +1 -1
  39. package/dist/lib/integrations/shared.d.mts.map +1 -1
  40. package/dist/lib/integrations/shared.mjs.map +1 -1
  41. package/dist/lib/runtime/agent-integrations/langgraph/agent.d.cts +1 -1
  42. package/dist/lib/runtime/copilot-runtime.cjs +79 -37
  43. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  44. package/dist/lib/runtime/copilot-runtime.d.cts +54 -4
  45. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  46. package/dist/lib/runtime/copilot-runtime.d.mts +56 -6
  47. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  48. package/dist/lib/runtime/copilot-runtime.mjs +79 -37
  49. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  50. package/dist/lib/runtime/mcp-client-cache.cjs +135 -0
  51. package/dist/lib/runtime/mcp-client-cache.cjs.map +1 -0
  52. package/dist/lib/runtime/mcp-client-cache.mjs +132 -0
  53. package/dist/lib/runtime/mcp-client-cache.mjs.map +1 -0
  54. package/dist/lib/runtime/telemetry-agent-runner.cjs.map +1 -1
  55. package/dist/lib/runtime/telemetry-agent-runner.d.cts +1 -1
  56. package/dist/lib/runtime/telemetry-agent-runner.d.mts +1 -1
  57. package/dist/lib/runtime/telemetry-agent-runner.mjs.map +1 -1
  58. package/dist/package.cjs +15 -7
  59. package/dist/package.mjs +15 -7
  60. package/dist/service-adapters/anthropic/anthropic-adapter.cjs.map +1 -1
  61. package/dist/service-adapters/anthropic/anthropic-adapter.d.cts.map +1 -1
  62. package/dist/service-adapters/anthropic/anthropic-adapter.d.mts.map +1 -1
  63. package/dist/service-adapters/anthropic/anthropic-adapter.mjs.map +1 -1
  64. package/dist/service-adapters/shared/sdk-client-utils.cjs.map +1 -1
  65. package/dist/service-adapters/shared/sdk-client-utils.d.cts.map +1 -1
  66. package/dist/service-adapters/shared/sdk-client-utils.d.mts.map +1 -1
  67. package/dist/service-adapters/shared/sdk-client-utils.mjs.map +1 -1
  68. package/dist/v2/index.cjs +9 -3
  69. package/dist/v2/index.d.cts +12 -11
  70. package/dist/v2/index.d.mts +12 -11
  71. package/dist/v2/index.mjs +5 -5
  72. package/dist/v2/runtime/core/channel-manager.cjs +1 -1
  73. package/dist/v2/runtime/core/channel-manager.d.cts +1 -1
  74. package/dist/v2/runtime/core/channel-manager.d.mts +1 -1
  75. package/dist/v2/runtime/core/channel-manager.mjs +1 -1
  76. package/dist/v2/runtime/core/fetch-handler.cjs +1 -0
  77. package/dist/v2/runtime/core/fetch-handler.cjs.map +1 -1
  78. package/dist/v2/runtime/core/fetch-handler.d.cts +2 -2
  79. package/dist/v2/runtime/core/fetch-handler.d.mts +2 -2
  80. package/dist/v2/runtime/core/fetch-handler.mjs +1 -0
  81. package/dist/v2/runtime/core/fetch-handler.mjs.map +1 -1
  82. package/dist/v2/runtime/core/runtime.cjs +5 -0
  83. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  84. package/dist/v2/runtime/core/runtime.d.cts +18 -3
  85. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  86. package/dist/v2/runtime/core/runtime.d.mts +17 -2
  87. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  88. package/dist/v2/runtime/core/runtime.mjs +5 -0
  89. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  90. package/dist/v2/runtime/endpoints/express-single.cjs.map +1 -1
  91. package/dist/v2/runtime/endpoints/express-single.d.cts +2 -2
  92. package/dist/v2/runtime/endpoints/express-single.d.cts.map +1 -1
  93. package/dist/v2/runtime/endpoints/express-single.d.mts +2 -2
  94. package/dist/v2/runtime/endpoints/express-single.d.mts.map +1 -1
  95. package/dist/v2/runtime/endpoints/express-single.mjs.map +1 -1
  96. package/dist/v2/runtime/endpoints/express.cjs +2 -3
  97. package/dist/v2/runtime/endpoints/express.cjs.map +1 -1
  98. package/dist/v2/runtime/endpoints/express.d.cts +26 -7
  99. package/dist/v2/runtime/endpoints/express.d.cts.map +1 -1
  100. package/dist/v2/runtime/endpoints/express.d.mts +26 -7
  101. package/dist/v2/runtime/endpoints/express.d.mts.map +1 -1
  102. package/dist/v2/runtime/endpoints/express.mjs +2 -2
  103. package/dist/v2/runtime/endpoints/express.mjs.map +1 -1
  104. package/dist/v2/runtime/endpoints/hono.d.cts +2 -2
  105. package/dist/v2/runtime/endpoints/hono.d.mts +2 -2
  106. package/dist/v2/runtime/endpoints/index.d.cts +3 -3
  107. package/dist/v2/runtime/endpoints/index.d.mts +3 -3
  108. package/dist/v2/runtime/endpoints/load-express.cjs +36 -0
  109. package/dist/v2/runtime/endpoints/load-express.cjs.map +1 -0
  110. package/dist/v2/runtime/endpoints/load-express.mjs +35 -0
  111. package/dist/v2/runtime/endpoints/load-express.mjs.map +1 -0
  112. package/dist/v2/runtime/handlers/handle-stop.cjs +18 -14
  113. package/dist/v2/runtime/handlers/handle-stop.cjs.map +1 -1
  114. package/dist/v2/runtime/handlers/handle-stop.mjs +18 -14
  115. package/dist/v2/runtime/handlers/handle-stop.mjs.map +1 -1
  116. package/dist/v2/runtime/handlers/handle-suggest.cjs +4 -3
  117. package/dist/v2/runtime/handlers/handle-suggest.cjs.map +1 -1
  118. package/dist/v2/runtime/handlers/handle-suggest.mjs +5 -4
  119. package/dist/v2/runtime/handlers/handle-suggest.mjs.map +1 -1
  120. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +3 -4
  121. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  122. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +1 -2
  123. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  124. package/dist/v2/runtime/handlers/shared/sse-keep-alive.cjs +69 -0
  125. package/dist/v2/runtime/handlers/shared/sse-keep-alive.cjs.map +1 -0
  126. package/dist/v2/runtime/handlers/shared/sse-keep-alive.mjs +67 -0
  127. package/dist/v2/runtime/handlers/shared/sse-keep-alive.mjs.map +1 -0
  128. package/dist/v2/runtime/handlers/shared/sse-response.cjs +5 -2
  129. package/dist/v2/runtime/handlers/shared/sse-response.cjs.map +1 -1
  130. package/dist/v2/runtime/handlers/shared/sse-response.mjs +5 -2
  131. package/dist/v2/runtime/handlers/shared/sse-response.mjs.map +1 -1
  132. package/dist/v2/runtime/handlers/sse/connect.cjs +1 -0
  133. package/dist/v2/runtime/handlers/sse/connect.cjs.map +1 -1
  134. package/dist/v2/runtime/handlers/sse/connect.mjs +1 -0
  135. package/dist/v2/runtime/handlers/sse/connect.mjs.map +1 -1
  136. package/dist/v2/runtime/handlers/sse/run.cjs +1 -0
  137. package/dist/v2/runtime/handlers/sse/run.cjs.map +1 -1
  138. package/dist/v2/runtime/handlers/sse/run.mjs +1 -0
  139. package/dist/v2/runtime/handlers/sse/run.mjs.map +1 -1
  140. package/dist/v2/runtime/index.d.cts +9 -9
  141. package/dist/v2/runtime/index.d.mts +9 -9
  142. package/dist/v2/runtime/intelligence-platform/client.cjs +1 -1
  143. package/dist/v2/runtime/intelligence-platform/client.d.cts +1 -1
  144. package/dist/v2/runtime/intelligence-platform/client.d.mts +1 -1
  145. package/dist/v2/runtime/intelligence-platform/client.mjs +1 -1
  146. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.cjs +132 -0
  147. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.cjs.map +1 -0
  148. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.d.cts +11 -0
  149. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.d.cts.map +1 -0
  150. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.d.mts +11 -0
  151. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.d.mts.map +1 -0
  152. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.mjs +128 -0
  153. package/dist/v2/runtime/intelligence-platform/skill-registry/archive.mjs.map +1 -0
  154. package/dist/v2/runtime/intelligence-platform/skill-registry/config.cjs +48 -0
  155. package/dist/v2/runtime/intelligence-platform/skill-registry/config.cjs.map +1 -0
  156. package/dist/v2/runtime/intelligence-platform/skill-registry/config.d.cts +27 -0
  157. package/dist/v2/runtime/intelligence-platform/skill-registry/config.d.cts.map +1 -0
  158. package/dist/v2/runtime/intelligence-platform/skill-registry/config.d.mts +27 -0
  159. package/dist/v2/runtime/intelligence-platform/skill-registry/config.d.mts.map +1 -0
  160. package/dist/v2/runtime/intelligence-platform/skill-registry/config.mjs +48 -0
  161. package/dist/v2/runtime/intelligence-platform/skill-registry/config.mjs.map +1 -0
  162. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.cjs +11 -0
  163. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.cjs.map +1 -0
  164. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.d.cts +8 -0
  165. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.d.cts.map +1 -0
  166. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.d.mts +8 -0
  167. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.d.mts.map +1 -0
  168. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.mjs +11 -0
  169. package/dist/v2/runtime/intelligence-platform/skill-registry/errors.mjs.map +1 -0
  170. package/dist/v2/runtime/intelligence-platform/skill-registry/index.d.cts +8 -0
  171. package/dist/v2/runtime/intelligence-platform/skill-registry/index.d.mts +8 -0
  172. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.cjs +132 -0
  173. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.cjs.map +1 -0
  174. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.d.cts +31 -0
  175. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.d.cts.map +1 -0
  176. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.d.mts +31 -0
  177. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.d.mts.map +1 -0
  178. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.mjs +132 -0
  179. package/dist/v2/runtime/intelligence-platform/skill-registry/registry.mjs.map +1 -0
  180. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.cjs +42 -0
  181. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.cjs.map +1 -0
  182. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.d.cts +13 -0
  183. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.d.cts.map +1 -0
  184. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.d.mts +13 -0
  185. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.d.mts.map +1 -0
  186. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.mjs +39 -0
  187. package/dist/v2/runtime/intelligence-platform/skill-registry/skill-content.mjs.map +1 -0
  188. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.cjs +93 -0
  189. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.cjs.map +1 -0
  190. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.d.cts +28 -0
  191. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.d.cts.map +1 -0
  192. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.d.mts +28 -0
  193. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.d.mts.map +1 -0
  194. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.mjs +92 -0
  195. package/dist/v2/runtime/intelligence-platform/skill-registry/snapshot.mjs.map +1 -0
  196. package/dist/v2/runtime/runner/agent-runner.d.cts +1 -1
  197. package/dist/v2/runtime/runner/in-memory.d.cts +1 -1
  198. package/dist/v2/runtime/runner/index.d.cts +2 -2
  199. package/dist/v2/runtime/runner/index.d.mts +2 -2
  200. package/dist/v2/runtime/runner/index.mjs +2 -2
  201. package/dist/v2/runtime/runner/intelligence.d.cts +1 -1
  202. package/package.json +17 -7
  203. package/dist/v2/runtime/open-generative-ui-middleware.cjs +0 -286
  204. package/dist/v2/runtime/open-generative-ui-middleware.cjs.map +0 -1
  205. package/dist/v2/runtime/open-generative-ui-middleware.mjs +0 -284
  206. package/dist/v2/runtime/open-generative-ui-middleware.mjs.map +0 -1
@@ -1,10 +1,11 @@
1
1
 
2
+ import { BuiltInAgentLearnedSkills, BuiltInAgentLearnedSkillsOptions } from "./learned-skills.cjs";
2
3
  import { convertAISDKStream } from "./converters/aisdk.cjs";
3
4
  import { TanStackChatMessage, TanStackInputResult, convertInputToTanStackAI, convertTanStackStream } from "./converters/tanstack.cjs";
4
- import { LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
5
- import { Observable } from "rxjs";
6
5
  import { InferSchemaOutput, ModelHostClass, StandardSchemaV1 } from "@copilotkit/shared";
7
6
  import { AbstractAgent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput } from "@ag-ui/client";
7
+ import { Observable } from "rxjs";
8
+ import { LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
8
9
  import { AgentCapabilities } from "@ag-ui/core";
9
10
  import { z } from "zod";
10
11
  import { StreamableHTTPClientTransportOptions } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
@@ -118,9 +119,8 @@ interface ToolDefinition<TParameters extends StandardSchemaV1 = StandardSchemaV1
118
119
  * When true, calling this tool pauses the run and emits a standard AG-UI
119
120
  * interrupt (RUN_FINISHED outcome:interrupt) keyed by the tool call's id.
120
121
  * The human response (resume payload) is injected as this tool call's result
121
- * on the resume run. Interrupt tools must NOT define `execute`, and require
122
- * the default `maxSteps: 1` — with `maxSteps > 1` the AI SDK's agentic loop
123
- * would try to continue past the unexecuted tool call instead of pausing.
122
+ * on the resume run. Interrupt tools must NOT define `execute`. The AI SDK
123
+ * pauses when a tool call has no result, even with a multi-step limit.
124
124
  */
125
125
  interrupt?: boolean;
126
126
  /** Optional categorical reason surfaced on the Interrupt (default: "tool_call"). */
@@ -187,6 +187,8 @@ declare function convertToolDefinitionsToVercelAITools(tools: ToolDefinition[]):
187
187
  * Context passed to the user-supplied factory function in factory mode.
188
188
  */
189
189
  interface AgentFactoryContext {
190
+ /** Verified catalog and AI SDK tools for this run; empty when disabled or no skills exist. */
191
+ learnedSkills: BuiltInAgentLearnedSkills;
190
192
  input: RunAgentInput;
191
193
  /**
192
194
  * Prefer `abortSignal` for most use cases (AI SDK, fetch, custom backends).
@@ -205,12 +207,16 @@ interface AgentFactoryContext {
205
207
  */
206
208
  interrupt: (interrupts: Interrupt[]) => Promise<ResumeEntry[]>;
207
209
  }
210
+ /** Public name that avoids the runtime's request-scoped AgentFactoryContext. */
211
+ type BuiltInAgentFactoryContext = AgentFactoryContext;
208
212
  /**
209
213
  * Factory config for AI SDK backend.
210
214
  * The factory must return an object with a `fullStream` async iterable
211
215
  * (compatible with the result of `streamText()` — only `fullStream` is consumed).
212
216
  */
213
217
  interface BuiltInAgentAISDKFactoryConfig {
218
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
219
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
214
220
  type: "aisdk";
215
221
  factory: (ctx: AgentFactoryContext) => {
216
222
  fullStream: AsyncIterable<unknown>;
@@ -223,6 +229,8 @@ interface BuiltInAgentAISDKFactoryConfig {
223
229
  * The factory must return an async iterable of TanStack AI stream chunks.
224
230
  */
225
231
  interface BuiltInAgentTanStackFactoryConfig {
232
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
233
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
226
234
  type: "tanstack";
227
235
  factory: (ctx: AgentFactoryContext) => AsyncIterable<unknown> | Promise<AsyncIterable<unknown>>;
228
236
  }
@@ -230,6 +238,8 @@ interface BuiltInAgentTanStackFactoryConfig {
230
238
  * Factory config for a custom backend that directly yields AG-UI events.
231
239
  */
232
240
  interface BuiltInAgentCustomFactoryConfig {
241
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
242
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
233
243
  type: "custom";
234
244
  factory: (ctx: AgentFactoryContext) => AsyncIterable<BaseEvent> | Promise<AsyncIterable<BaseEvent>>;
235
245
  }
@@ -241,6 +251,8 @@ type BuiltInAgentFactoryConfig = BuiltInAgentAISDKFactoryConfig | BuiltInAgentTa
241
251
  * Classic config — BuiltInAgent handles streamText, tools, MCP, state tools, prompt building.
242
252
  */
243
253
  interface BuiltInAgentClassicConfig {
254
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
255
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
244
256
  /**
245
257
  * The model to use
246
258
  */
@@ -255,7 +267,7 @@ interface BuiltInAgentClassicConfig {
255
267
  */
256
268
  apiKey?: string;
257
269
  /**
258
- * Maximum number of steps/iterations for tool calling (default: 1)
270
+ * Maximum number of steps/iterations for tool calling (default: 1, or 10 when learned skills are available)
259
271
  */
260
272
  maxSteps?: number;
261
273
  /**
@@ -362,6 +374,7 @@ type BuiltInAgentConfiguration = BuiltInAgentClassicConfig | BuiltInAgentFactory
362
374
  declare class BuiltInAgent extends AbstractAgent {
363
375
  private config;
364
376
  private abortController?;
377
+ private skillRegistry?;
365
378
  /**
366
379
  * Which vendor this agent's configured model reaches. Read by the SSE layer
367
380
  * onto `agent_execution_stream_*` telemetry.
@@ -396,5 +409,5 @@ declare class BasicAgent extends BuiltInAgent {
396
409
  /** @deprecated Use BuiltInAgentClassicConfig instead */
397
410
  type BasicAgentConfiguration = BuiltInAgentClassicConfig;
398
411
  //#endregion
399
- export { BasicAgent, BasicAgentConfiguration, BuiltInAgent, BuiltInAgentAISDKFactoryConfig, BuiltInAgentClassicConfig, BuiltInAgentConfiguration, BuiltInAgentCustomFactoryConfig, BuiltInAgentFactoryConfig, BuiltInAgentModel, BuiltInAgentTanStackFactoryConfig, InterruptSignal, MCPClientConfig, MCPClientConfigHTTP, MCPClientConfigSSE, MCPClientProvider, MessageConversionOptions, ModelSpecifier, OverridableProperty, ToolDefinition, classifyModelSpec, convertJsonSchemaToZodSchema, convertMessagesToVercelAISDKMessages, convertToolDefinitionsToVercelAITools, convertToolsToVercelAITools, defineTool, resolveModel };
412
+ export { BasicAgent, BasicAgentConfiguration, BuiltInAgent, BuiltInAgentAISDKFactoryConfig, BuiltInAgentClassicConfig, BuiltInAgentConfiguration, BuiltInAgentCustomFactoryConfig, BuiltInAgentFactoryConfig, BuiltInAgentFactoryContext, BuiltInAgentModel, BuiltInAgentTanStackFactoryConfig, InterruptSignal, MCPClientConfig, MCPClientConfigHTTP, MCPClientConfigSSE, MCPClientProvider, MessageConversionOptions, ModelSpecifier, OverridableProperty, ToolDefinition, classifyModelSpec, convertJsonSchemaToZodSchema, convertMessagesToVercelAISDKMessages, convertToolDefinitionsToVercelAITools, convertToolsToVercelAITools, defineTool, resolveModel };
400
413
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/agent/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/agent/index.ts"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
 
2
+ import { BuiltInAgentLearnedSkills, BuiltInAgentLearnedSkillsOptions } from "./learned-skills.mjs";
2
3
  import { convertAISDKStream } from "./converters/aisdk.mjs";
3
4
  import { TanStackChatMessage, TanStackInputResult, convertInputToTanStackAI, convertTanStackStream } from "./converters/tanstack.mjs";
4
5
  import "./converters/index.mjs";
5
6
  import { InferSchemaOutput, ModelHostClass, StandardSchemaV1 } from "@copilotkit/shared";
6
7
  import { Observable } from "rxjs";
7
8
  import { AbstractAgent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput } from "@ag-ui/client";
8
- import { z } from "zod";
9
9
  import { LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
10
+ import { z } from "zod";
10
11
  import { StreamableHTTPClientTransportOptions } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
11
12
  import { AgentCapabilities } from "@ag-ui/core";
12
13
 
@@ -119,9 +120,8 @@ interface ToolDefinition<TParameters extends StandardSchemaV1 = StandardSchemaV1
119
120
  * When true, calling this tool pauses the run and emits a standard AG-UI
120
121
  * interrupt (RUN_FINISHED outcome:interrupt) keyed by the tool call's id.
121
122
  * The human response (resume payload) is injected as this tool call's result
122
- * on the resume run. Interrupt tools must NOT define `execute`, and require
123
- * the default `maxSteps: 1` — with `maxSteps > 1` the AI SDK's agentic loop
124
- * would try to continue past the unexecuted tool call instead of pausing.
123
+ * on the resume run. Interrupt tools must NOT define `execute`. The AI SDK
124
+ * pauses when a tool call has no result, even with a multi-step limit.
125
125
  */
126
126
  interrupt?: boolean;
127
127
  /** Optional categorical reason surfaced on the Interrupt (default: "tool_call"). */
@@ -188,6 +188,8 @@ declare function convertToolDefinitionsToVercelAITools(tools: ToolDefinition[]):
188
188
  * Context passed to the user-supplied factory function in factory mode.
189
189
  */
190
190
  interface AgentFactoryContext {
191
+ /** Verified catalog and AI SDK tools for this run; empty when disabled or no skills exist. */
192
+ learnedSkills: BuiltInAgentLearnedSkills;
191
193
  input: RunAgentInput;
192
194
  /**
193
195
  * Prefer `abortSignal` for most use cases (AI SDK, fetch, custom backends).
@@ -206,12 +208,16 @@ interface AgentFactoryContext {
206
208
  */
207
209
  interrupt: (interrupts: Interrupt[]) => Promise<ResumeEntry[]>;
208
210
  }
211
+ /** Public name that avoids the runtime's request-scoped AgentFactoryContext. */
212
+ type BuiltInAgentFactoryContext = AgentFactoryContext;
209
213
  /**
210
214
  * Factory config for AI SDK backend.
211
215
  * The factory must return an object with a `fullStream` async iterable
212
216
  * (compatible with the result of `streamText()` — only `fullStream` is consumed).
213
217
  */
214
218
  interface BuiltInAgentAISDKFactoryConfig {
219
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
220
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
215
221
  type: "aisdk";
216
222
  factory: (ctx: AgentFactoryContext) => {
217
223
  fullStream: AsyncIterable<unknown>;
@@ -224,6 +230,8 @@ interface BuiltInAgentAISDKFactoryConfig {
224
230
  * The factory must return an async iterable of TanStack AI stream chunks.
225
231
  */
226
232
  interface BuiltInAgentTanStackFactoryConfig {
233
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
234
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
227
235
  type: "tanstack";
228
236
  factory: (ctx: AgentFactoryContext) => AsyncIterable<unknown> | Promise<AsyncIterable<unknown>>;
229
237
  }
@@ -231,6 +239,8 @@ interface BuiltInAgentTanStackFactoryConfig {
231
239
  * Factory config for a custom backend that directly yields AG-UI events.
232
240
  */
233
241
  interface BuiltInAgentCustomFactoryConfig {
242
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
243
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
234
244
  type: "custom";
235
245
  factory: (ctx: AgentFactoryContext) => AsyncIterable<BaseEvent> | Promise<AsyncIterable<BaseEvent>>;
236
246
  }
@@ -242,6 +252,8 @@ type BuiltInAgentFactoryConfig = BuiltInAgentAISDKFactoryConfig | BuiltInAgentTa
242
252
  * Classic config — BuiltInAgent handles streamText, tools, MCP, state tools, prompt building.
243
253
  */
244
254
  interface BuiltInAgentClassicConfig {
255
+ /** Opt in to automatic snapshot acquisition before each run, including resumes. */
256
+ learnedSkills?: BuiltInAgentLearnedSkillsOptions;
245
257
  /**
246
258
  * The model to use
247
259
  */
@@ -256,7 +268,7 @@ interface BuiltInAgentClassicConfig {
256
268
  */
257
269
  apiKey?: string;
258
270
  /**
259
- * Maximum number of steps/iterations for tool calling (default: 1)
271
+ * Maximum number of steps/iterations for tool calling (default: 1, or 10 when learned skills are available)
260
272
  */
261
273
  maxSteps?: number;
262
274
  /**
@@ -363,6 +375,7 @@ type BuiltInAgentConfiguration = BuiltInAgentClassicConfig | BuiltInAgentFactory
363
375
  declare class BuiltInAgent extends AbstractAgent {
364
376
  private config;
365
377
  private abortController?;
378
+ private skillRegistry?;
366
379
  /**
367
380
  * Which vendor this agent's configured model reaches. Read by the SSE layer
368
381
  * onto `agent_execution_stream_*` telemetry.
@@ -397,5 +410,5 @@ declare class BasicAgent extends BuiltInAgent {
397
410
  /** @deprecated Use BuiltInAgentClassicConfig instead */
398
411
  type BasicAgentConfiguration = BuiltInAgentClassicConfig;
399
412
  //#endregion
400
- export { BasicAgent, BasicAgentConfiguration, BuiltInAgent, BuiltInAgentAISDKFactoryConfig, BuiltInAgentClassicConfig, BuiltInAgentConfiguration, BuiltInAgentCustomFactoryConfig, BuiltInAgentFactoryConfig, BuiltInAgentModel, BuiltInAgentTanStackFactoryConfig, InterruptSignal, MCPClientConfig, MCPClientConfigHTTP, MCPClientConfigSSE, MCPClientProvider, MessageConversionOptions, ModelSpecifier, OverridableProperty, ToolDefinition, classifyModelSpec, convertJsonSchemaToZodSchema$1 as convertJsonSchemaToZodSchema, convertMessagesToVercelAISDKMessages, convertToolDefinitionsToVercelAITools, convertToolsToVercelAITools, defineTool, resolveModel };
413
+ export { BasicAgent, BasicAgentConfiguration, BuiltInAgent, BuiltInAgentAISDKFactoryConfig, BuiltInAgentClassicConfig, BuiltInAgentConfiguration, BuiltInAgentCustomFactoryConfig, BuiltInAgentFactoryConfig, BuiltInAgentFactoryContext, BuiltInAgentModel, BuiltInAgentTanStackFactoryConfig, InterruptSignal, MCPClientConfig, MCPClientConfigHTTP, MCPClientConfigSSE, MCPClientProvider, MessageConversionOptions, ModelSpecifier, OverridableProperty, ToolDefinition, classifyModelSpec, convertJsonSchemaToZodSchema$1 as convertJsonSchemaToZodSchema, convertMessagesToVercelAISDKMessages, convertToolDefinitionsToVercelAITools, convertToolsToVercelAITools, defineTool, resolveModel };
401
414
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/agent/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/agent/index.ts"],"mappings":"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"}
@@ -3,18 +3,20 @@ import { createStateEventNormalizer } from "./state-delta.mjs";
3
3
  import { collectStandardRunFinishedDetails, getNonEmptyString, isRecord } from "./converters/usage.mjs";
4
4
  import { convertAISDKStream, getAISDKRunFinishedDetails } from "./converters/aisdk.mjs";
5
5
  import { convertInputToTanStackAI, convertTanStackStream } from "./converters/tanstack.mjs";
6
+ import { SkillRegistry } from "../v2/runtime/intelligence-platform/skill-registry/registry.mjs";
7
+ import { assertNoSkillToolConflicts, prepareLearnedSkills } from "./learned-skills.mjs";
6
8
  import { createOpenAI } from "@ai-sdk/openai";
7
9
  import { classifyModelHost, randomUUID, safeParseToolArgs, schemaToJsonSchema } from "@copilotkit/shared";
8
10
  import { createGoogleGenerativeAI } from "@ai-sdk/google";
9
11
  import { Observable } from "rxjs";
10
12
  import { AbstractAgent, EventType } from "@ag-ui/client";
11
- import { z } from "zod";
12
13
  import { RENDER_A2UI_TOOL } from "@ag-ui/a2ui-middleware";
13
14
  import { Validator } from "@cfworker/json-schema";
14
15
  import { jsonSchema, stepCountIs, streamText, tool } from "ai";
15
16
  import { createMCPClient } from "@ai-sdk/mcp";
16
17
  import { createAnthropic } from "@ai-sdk/anthropic";
17
18
  import { createVertex } from "@ai-sdk/google-vertex";
19
+ import { z } from "zod";
18
20
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
19
21
 
20
22
  //#region src/agent/index.ts
@@ -419,6 +421,7 @@ var BuiltInAgent = class BuiltInAgent extends AbstractAgent {
419
421
  constructor(config) {
420
422
  super();
421
423
  this.config = config;
424
+ this.skillRegistry = config.learnedSkills === void 0 ? void 0 : new SkillRegistry(config.learnedSkills);
422
425
  this.modelHostClass = isFactoryConfig(config) ? "unknown" : classifyModelSpec(config.model);
423
426
  }
424
427
  /**
@@ -583,6 +586,15 @@ This is state from the application that you can edit by calling AGUISendStateSna
583
586
  subscriber.next(reasoningEnd);
584
587
  };
585
588
  try {
589
+ const learnedSkills = await prepareLearnedSkills(this.skillRegistry, abortController.signal);
590
+ abortController.signal.throwIfAborted();
591
+ if (learnedSkills.catalog) {
592
+ messages.unshift({
593
+ role: "system",
594
+ content: learnedSkills.catalog
595
+ });
596
+ if (config.maxSteps === void 0) streamTextParams.stopWhen = stepCountIs(10);
597
+ }
586
598
  streamTextParams.tools = {
587
599
  ...streamTextParams.tools,
588
600
  AGUISendStateSnapshot: tool({
@@ -616,6 +628,7 @@ This is state from the application that you can edit by calling AGUISendStateSna
616
628
  };
617
629
  if (config.mcpClients && config.mcpClients.length > 0) for (const client of config.mcpClients) {
618
630
  const mcpTools = await client.tools();
631
+ abortController.signal.throwIfAborted();
619
632
  streamTextParams.tools = {
620
633
  ...streamTextParams.tools,
621
634
  ...mcpTools
@@ -627,6 +640,7 @@ This is state from the application that you can edit by calling AGUISendStateSna
627
640
  if (serverConfig.type === "http") transport = new StreamableHTTPClientTransport(new URL(serverConfig.url), serverConfig.options);
628
641
  else if (serverConfig.type === "sse") {
629
642
  const { SSEClientTransport } = await import("@modelcontextprotocol/sdk/client/sse.js");
643
+ abortController.signal.throwIfAborted();
630
644
  transport = new SSEClientTransport(new URL(serverConfig.url), serverConfig.headers ? { requestInit: { headers: serverConfig.headers } } : void 0);
631
645
  }
632
646
  if (transport) {
@@ -634,21 +648,36 @@ This is state from the application that you can edit by calling AGUISendStateSna
634
648
  try {
635
649
  mcpClient = await createMCPClient({ transport });
636
650
  } catch (err) {
651
+ abortController.signal.throwIfAborted();
637
652
  console.error(`[CopilotKit] MCP server ${serverConfig.url} failed to connect — skipping it for this run:`, err);
638
653
  continue;
639
654
  }
655
+ if (abortController.signal.aborted) {
656
+ await mcpClient.close();
657
+ abortController.signal.throwIfAborted();
658
+ }
640
659
  mcpClients.push(mcpClient);
641
660
  try {
642
661
  const mcpTools = await mcpClient.tools();
662
+ abortController.signal.throwIfAborted();
643
663
  streamTextParams.tools = {
644
664
  ...streamTextParams.tools,
645
665
  ...mcpTools
646
666
  };
647
667
  } catch (err) {
668
+ abortController.signal.throwIfAborted();
648
669
  console.error(`[CopilotKit] MCP server ${serverConfig.url} tools() failed — skipping its tools for this run:`, err);
649
670
  }
650
671
  }
651
672
  }
673
+ if (this.skillRegistry) {
674
+ assertNoSkillToolConflicts(streamTextParams.tools ?? {});
675
+ streamTextParams.tools = {
676
+ ...streamTextParams.tools,
677
+ ...learnedSkills.tools
678
+ };
679
+ }
680
+ abortController.signal.throwIfAborted();
652
681
  const response = streamText({
653
682
  ...streamTextParams,
654
683
  abortSignal: abortController.signal
@@ -925,11 +954,13 @@ This is state from the application that you can edit by calling AGUISendStateSna
925
954
  subscriber.error(error);
926
955
  }
927
956
  } finally {
928
- this.abortController = void 0;
957
+ if (this.abortController === abortController) this.abortController = void 0;
929
958
  await Promise.all(mcpClients.map((client) => client.close()));
930
959
  }
931
960
  })();
932
961
  return () => {
962
+ abortController.abort();
963
+ if (this.abortController === abortController) this.abortController = void 0;
933
964
  Promise.all(mcpClients.map((client) => client.close())).catch(() => {});
934
965
  };
935
966
  });
@@ -968,13 +999,16 @@ This is state from the application that you can edit by calling AGUISendStateSna
968
999
  ...input,
969
1000
  messages: [...input.messages, ...resumeToolMessages]
970
1001
  } : input;
971
- const factoryCtx = {
972
- ...ctx,
973
- input: factoryInput
974
- };
975
1002
  (async () => {
976
1003
  const runFinishedDetails = {};
977
1004
  try {
1005
+ const learnedSkills = await prepareLearnedSkills(this.skillRegistry, controller.signal);
1006
+ controller.signal.throwIfAborted();
1007
+ const factoryCtx = {
1008
+ ...ctx,
1009
+ input: factoryInput,
1010
+ learnedSkills
1011
+ };
978
1012
  let events;
979
1013
  let customRunFinishedEvent;
980
1014
  const pendingInterrupts = [];
@@ -986,7 +1020,7 @@ This is state from the application that you can edit by calling AGUISendStateSna
986
1020
  events = convertTanStackStream(await config.factory(factoryCtx), controller.signal, pendingInterrupts, input.state, runFinishedDetails);
987
1021
  break;
988
1022
  case "custom":
989
- events = await config.factory(ctx);
1023
+ events = await config.factory(factoryCtx);
990
1024
  break;
991
1025
  default: {
992
1026
  const _exhaustive = config;
@@ -1039,16 +1073,22 @@ This is state from the application that you can edit by calling AGUISendStateSna
1039
1073
  subscriber.error(error);
1040
1074
  }
1041
1075
  } finally {
1042
- this.abortController = void 0;
1076
+ if (this.abortController === controller) this.abortController = void 0;
1043
1077
  }
1044
1078
  })();
1045
1079
  return () => {
1046
1080
  controller.abort();
1081
+ if (this.abortController === controller) this.abortController = void 0;
1047
1082
  };
1048
1083
  });
1049
1084
  }
1050
1085
  clone() {
1051
- const cloned = new BuiltInAgent(this.config);
1086
+ const cloned = new BuiltInAgent({
1087
+ ...this.config,
1088
+ learnedSkills: void 0
1089
+ });
1090
+ cloned.config = this.config;
1091
+ cloned.skillRegistry = this.skillRegistry;
1052
1092
  cloned.middlewares = [...this.middlewares];
1053
1093
  return cloned;
1054
1094
  }