@copilotkit/runtime 1.82.0 → 1.83.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 (144) hide show
  1. package/dist/agent/index.cjs +8 -3
  2. package/dist/agent/index.cjs.map +1 -1
  3. package/dist/agent/index.d.cts +41 -1
  4. package/dist/agent/index.d.cts.map +1 -1
  5. package/dist/agent/index.d.mts +42 -2
  6. package/dist/agent/index.d.mts.map +1 -1
  7. package/dist/agent/index.mjs +8 -3
  8. package/dist/agent/index.mjs.map +1 -1
  9. package/dist/agent/url-download.cjs +504 -0
  10. package/dist/agent/url-download.cjs.map +1 -0
  11. package/dist/agent/url-download.d.cts +80 -0
  12. package/dist/agent/url-download.d.cts.map +1 -0
  13. package/dist/agent/url-download.d.mts +80 -0
  14. package/dist/agent/url-download.d.mts.map +1 -0
  15. package/dist/agent/url-download.mjs +501 -0
  16. package/dist/agent/url-download.mjs.map +1 -0
  17. package/dist/lib/runtime/copilot-runtime.cjs +2 -1
  18. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  19. package/dist/lib/runtime/copilot-runtime.d.cts +5 -0
  20. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  21. package/dist/lib/runtime/copilot-runtime.d.mts +5 -0
  22. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  23. package/dist/lib/runtime/copilot-runtime.mjs +2 -1
  24. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  25. package/dist/lib/runtime/telemetry-agent-runner.cjs +3 -0
  26. package/dist/lib/runtime/telemetry-agent-runner.cjs.map +1 -1
  27. package/dist/lib/runtime/telemetry-agent-runner.d.cts +7 -1
  28. package/dist/lib/runtime/telemetry-agent-runner.d.cts.map +1 -1
  29. package/dist/lib/runtime/telemetry-agent-runner.d.mts +7 -1
  30. package/dist/lib/runtime/telemetry-agent-runner.d.mts.map +1 -1
  31. package/dist/lib/runtime/telemetry-agent-runner.mjs +3 -0
  32. package/dist/lib/runtime/telemetry-agent-runner.mjs.map +1 -1
  33. package/dist/package.cjs +1 -1
  34. package/dist/package.mjs +1 -1
  35. package/dist/v2/index.cjs +12 -3
  36. package/dist/v2/index.d.cts +5 -3
  37. package/dist/v2/index.d.mts +5 -3
  38. package/dist/v2/index.mjs +6 -5
  39. package/dist/v2/runtime/core/channel-manager.cjs +1 -1
  40. package/dist/v2/runtime/core/channel-manager.mjs +1 -1
  41. package/dist/v2/runtime/core/fetch-handler.cjs +2 -2
  42. package/dist/v2/runtime/core/fetch-handler.cjs.map +1 -1
  43. package/dist/v2/runtime/core/fetch-handler.mjs +2 -2
  44. package/dist/v2/runtime/core/fetch-handler.mjs.map +1 -1
  45. package/dist/v2/runtime/core/package-info.cjs +1 -1
  46. package/dist/v2/runtime/core/package-info.mjs +1 -1
  47. package/dist/v2/runtime/core/runtime.cjs +12 -2
  48. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  49. package/dist/v2/runtime/core/runtime.d.cts +40 -1
  50. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  51. package/dist/v2/runtime/core/runtime.d.mts +40 -1
  52. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  53. package/dist/v2/runtime/core/runtime.mjs +12 -2
  54. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  55. package/dist/v2/runtime/handlers/get-runtime-info.cjs +6 -6
  56. package/dist/v2/runtime/handlers/get-runtime-info.cjs.map +1 -1
  57. package/dist/v2/runtime/handlers/get-runtime-info.mjs +6 -6
  58. package/dist/v2/runtime/handlers/get-runtime-info.mjs.map +1 -1
  59. package/dist/v2/runtime/handlers/handle-connect.cjs +9 -1
  60. package/dist/v2/runtime/handlers/handle-connect.cjs.map +1 -1
  61. package/dist/v2/runtime/handlers/handle-connect.mjs +9 -1
  62. package/dist/v2/runtime/handlers/handle-connect.mjs.map +1 -1
  63. package/dist/v2/runtime/handlers/handle-inspector-learning.cjs +1 -1
  64. package/dist/v2/runtime/handlers/handle-inspector-learning.mjs +1 -1
  65. package/dist/v2/runtime/handlers/handle-run.cjs +16 -2
  66. package/dist/v2/runtime/handlers/handle-run.cjs.map +1 -1
  67. package/dist/v2/runtime/handlers/handle-run.mjs +16 -2
  68. package/dist/v2/runtime/handlers/handle-run.mjs.map +1 -1
  69. package/dist/v2/runtime/handlers/handle-stop.cjs +14 -3
  70. package/dist/v2/runtime/handlers/handle-stop.cjs.map +1 -1
  71. package/dist/v2/runtime/handlers/handle-stop.mjs +14 -3
  72. package/dist/v2/runtime/handlers/handle-stop.mjs.map +1 -1
  73. package/dist/v2/runtime/handlers/handle-trajectory-connect.cjs +1 -1
  74. package/dist/v2/runtime/handlers/handle-trajectory-connect.mjs +1 -1
  75. package/dist/v2/runtime/handlers/intelligence/annotate.cjs +2 -2
  76. package/dist/v2/runtime/handlers/intelligence/annotate.mjs +2 -2
  77. package/dist/v2/runtime/handlers/intelligence/memories.cjs +1 -1
  78. package/dist/v2/runtime/handlers/intelligence/memories.mjs +1 -1
  79. package/dist/v2/runtime/handlers/intelligence/run.cjs +4 -4
  80. package/dist/v2/runtime/handlers/intelligence/run.mjs +4 -4
  81. package/dist/v2/runtime/handlers/intelligence/threads.cjs +137 -31
  82. package/dist/v2/runtime/handlers/intelligence/threads.cjs.map +1 -1
  83. package/dist/v2/runtime/handlers/intelligence/threads.mjs +138 -32
  84. package/dist/v2/runtime/handlers/intelligence/threads.mjs.map +1 -1
  85. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +3 -3
  86. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +3 -3
  87. package/dist/v2/runtime/handlers/shared/platform-error.cjs +1 -1
  88. package/dist/v2/runtime/handlers/shared/platform-error.mjs +1 -1
  89. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.cjs +22 -3
  90. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.cjs.map +1 -1
  91. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.mjs +22 -4
  92. package/dist/v2/runtime/handlers/shared/resolve-intelligence-user.mjs.map +1 -1
  93. package/dist/v2/runtime/handlers/shared/sse-response.cjs +19 -2
  94. package/dist/v2/runtime/handlers/shared/sse-response.cjs.map +1 -1
  95. package/dist/v2/runtime/handlers/shared/sse-response.mjs +19 -2
  96. package/dist/v2/runtime/handlers/shared/sse-response.mjs.map +1 -1
  97. package/dist/v2/runtime/handlers/shared/thread-access.cjs +138 -0
  98. package/dist/v2/runtime/handlers/shared/thread-access.cjs.map +1 -0
  99. package/dist/v2/runtime/handlers/shared/thread-access.d.cts +29 -0
  100. package/dist/v2/runtime/handlers/shared/thread-access.d.cts.map +1 -0
  101. package/dist/v2/runtime/handlers/shared/thread-access.d.mts +29 -0
  102. package/dist/v2/runtime/handlers/shared/thread-access.d.mts.map +1 -0
  103. package/dist/v2/runtime/handlers/shared/thread-access.mjs +133 -0
  104. package/dist/v2/runtime/handlers/shared/thread-access.mjs.map +1 -0
  105. package/dist/v2/runtime/handlers/sse/connect.cjs +2 -1
  106. package/dist/v2/runtime/handlers/sse/connect.cjs.map +1 -1
  107. package/dist/v2/runtime/handlers/sse/connect.mjs +2 -1
  108. package/dist/v2/runtime/handlers/sse/connect.mjs.map +1 -1
  109. package/dist/v2/runtime/handlers/sse/run.cjs +23 -6
  110. package/dist/v2/runtime/handlers/sse/run.cjs.map +1 -1
  111. package/dist/v2/runtime/handlers/sse/run.mjs +23 -6
  112. package/dist/v2/runtime/handlers/sse/run.mjs.map +1 -1
  113. package/dist/v2/runtime/index.d.cts +3 -2
  114. package/dist/v2/runtime/index.d.cts.map +1 -1
  115. package/dist/v2/runtime/index.d.mts +3 -2
  116. package/dist/v2/runtime/index.d.mts.map +1 -1
  117. package/dist/v2/runtime/intelligence-platform/client.cjs +16 -4
  118. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  119. package/dist/v2/runtime/intelligence-platform/client.d.cts +4 -37
  120. package/dist/v2/runtime/intelligence-platform/client.d.cts.map +1 -1
  121. package/dist/v2/runtime/intelligence-platform/client.d.mts +4 -37
  122. package/dist/v2/runtime/intelligence-platform/client.d.mts.map +1 -1
  123. package/dist/v2/runtime/intelligence-platform/client.mjs +16 -4
  124. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  125. package/dist/v2/runtime/runner/agent-runner.cjs +55 -0
  126. package/dist/v2/runtime/runner/agent-runner.cjs.map +1 -1
  127. package/dist/v2/runtime/runner/agent-runner.d.cts +90 -6
  128. package/dist/v2/runtime/runner/agent-runner.d.cts.map +1 -1
  129. package/dist/v2/runtime/runner/agent-runner.d.mts +90 -6
  130. package/dist/v2/runtime/runner/agent-runner.d.mts.map +1 -1
  131. package/dist/v2/runtime/runner/agent-runner.mjs +50 -1
  132. package/dist/v2/runtime/runner/agent-runner.mjs.map +1 -1
  133. package/dist/v2/runtime/runner/in-memory.cjs +205 -25
  134. package/dist/v2/runtime/runner/in-memory.cjs.map +1 -1
  135. package/dist/v2/runtime/runner/in-memory.d.cts +112 -15
  136. package/dist/v2/runtime/runner/in-memory.d.cts.map +1 -1
  137. package/dist/v2/runtime/runner/in-memory.d.mts +112 -15
  138. package/dist/v2/runtime/runner/in-memory.d.mts.map +1 -1
  139. package/dist/v2/runtime/runner/in-memory.mjs +206 -27
  140. package/dist/v2/runtime/runner/in-memory.mjs.map +1 -1
  141. package/dist/v2/runtime/runner/index.d.cts +2 -2
  142. package/dist/v2/runtime/runner/index.d.mts +2 -2
  143. package/dist/v2/runtime/runner/index.mjs +2 -2
  144. package/package.json +6 -6
@@ -1,4 +1,5 @@
1
1
 
2
+ import { CreateSafeUrlDownloadOptions, SafeUrlDownloadOptions, createSafeUrlDownload } from "./url-download.cjs";
2
3
  import { BuiltInAgentLearnedSkills, BuiltInAgentLearnedSkillsOptions } from "./learned-skills.cjs";
3
4
  import { convertAISDKStream } from "./converters/aisdk.cjs";
4
5
  import { TanStackChatMessage, TanStackInputResult, convertInputToTanStackAI, convertTanStackStream } from "./converters/tanstack.cjs";
@@ -6,7 +7,7 @@ import { z } from "zod";
6
7
  import { InferSchemaOutput, ModelHostClass, StandardSchemaV1 } from "@copilotkit/shared";
7
8
  import { AbstractAgent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput } from "@ag-ui/client";
8
9
  import { Observable } from "rxjs";
9
- import { LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
10
+ import { Experimental_DownloadFunction, LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
10
11
  import { AgentCapabilities } from "@ag-ui/core";
11
12
  import { StreamableHTTPClientTransportOptions } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
12
13
 
@@ -228,6 +229,13 @@ type BuiltInAgentFactoryContext = AgentFactoryContext;
228
229
  * Factory config for AI SDK backend.
229
230
  * The factory must return an object with a `fullStream` async iterable
230
231
  * (compatible with the result of `streamText()` — only `fullStream` is consumed).
232
+ *
233
+ * You own the `streamText()` call, so you also own its URL downloads. Pass
234
+ * `experimental_download: createSafeUrlDownload({ signal: ctx.abortSignal })`
235
+ * (imported from `@copilotkit/runtime/v2`) to keep the server from fetching
236
+ * internal addresses named in request attachments, and to stop the downloads
237
+ * when the run is aborted. BuiltInAgent's `urlDownload` setting does not apply
238
+ * here: setting it in factory mode throws when the agent is constructed.
231
239
  */
232
240
  interface BuiltInAgentAISDKFactoryConfig {
233
241
  /** Opt in to automatic snapshot acquisition before each run, including resumes. */
@@ -368,6 +376,33 @@ interface BuiltInAgentClassicConfig {
368
376
  * Example: `{ openai: { reasoningEffort: "high" } }`
369
377
  */
370
378
  providerOptions?: Record<string, any>;
379
+ /**
380
+ * How the server downloads URL attachments (image and file parts) that the
381
+ * model cannot take as a URL. The URL comes from the request, so the server
382
+ * must not fetch it blindly.
383
+ *
384
+ * - Not set or an options object (default): download only from public
385
+ * internet addresses. The hostname is resolved and every address must be
386
+ * public; the connection uses only the checked addresses; each redirect is
387
+ * checked again, and a redirect from https to http is refused; the size
388
+ * (default 20 MiB) and the time (default 30 s) of each download, and the
389
+ * number of distinct URLs (20) and total size (50 MiB) of the downloads
390
+ * for one model call are limited. The AI SDK downloads the attachments
391
+ * again for each step of a multi-step run. `allowedHosts` limits
392
+ * downloads to the hostnames you list: `cdn.example.com` matches exactly,
393
+ * `*.example.com` matches subdomains only. Invalid options, including an
394
+ * unknown option name, throw when the agent is constructed.
395
+ * - `"disabled"`: never download from the network. Any attachment URL other
396
+ * than `data:` that the model cannot take directly fails the run.
397
+ * - A function: your own AI SDK download function. You are responsible for
398
+ * what it fetches.
399
+ *
400
+ * URLs that the model takes directly are sent to the provider unchanged and
401
+ * are not downloaded by the server. `data:` URLs are decoded locally by the
402
+ * AI SDK in every mode. Classic config only: in factory mode, see
403
+ * {@link BuiltInAgentAISDKFactoryConfig}.
404
+ */
405
+ urlDownload?: "disabled" | SafeUrlDownloadOptions | Experimental_DownloadFunction;
371
406
  /**
372
407
  * Explicit agent capabilities. **Shallow-merged** at the category level on
373
408
  * top of auto-inferred defaults — providing a category (e.g. `tools`)
@@ -404,6 +439,11 @@ declare class BuiltInAgent extends AbstractAgent {
404
439
  * to classify.
405
440
  */
406
441
  readonly modelHostClass: ModelHostClass;
442
+ /**
443
+ * Gives the download function for URL attachments for one run (classic
444
+ * config only). Resolved in the constructor so a bad setting fails fast.
445
+ */
446
+ private readonly urlDownload?;
407
447
  constructor(config: BuiltInAgentConfiguration);
408
448
  /**
409
449
  * Check if a property can be overridden by forwardedProps
@@ -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,13 +1,14 @@
1
1
 
2
+ import { CreateSafeUrlDownloadOptions, SafeUrlDownloadOptions, createSafeUrlDownload } from "./url-download.mjs";
2
3
  import { BuiltInAgentLearnedSkills, BuiltInAgentLearnedSkillsOptions } from "./learned-skills.mjs";
3
4
  import { convertAISDKStream } from "./converters/aisdk.mjs";
4
5
  import { TanStackChatMessage, TanStackInputResult, convertInputToTanStackAI, convertTanStackStream } from "./converters/tanstack.mjs";
5
6
  import "./converters/index.mjs";
6
7
  import { InferSchemaOutput, ModelHostClass, StandardSchemaV1 } from "@copilotkit/shared";
7
8
  import { Observable } from "rxjs";
8
- import { AbstractAgent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput } from "@ag-ui/client";
9
- import { LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
10
9
  import { z } from "zod";
10
+ import { AbstractAgent, BaseEvent, Interrupt, Message, ResumeEntry, RunAgentInput } from "@ag-ui/client";
11
+ import { Experimental_DownloadFunction, LanguageModel, ModelMessage, ToolChoice, ToolSet } from "ai";
11
12
  import { StreamableHTTPClientTransportOptions } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
12
13
  import { AgentCapabilities } from "@ag-ui/core";
13
14
 
@@ -229,6 +230,13 @@ type BuiltInAgentFactoryContext = AgentFactoryContext;
229
230
  * Factory config for AI SDK backend.
230
231
  * The factory must return an object with a `fullStream` async iterable
231
232
  * (compatible with the result of `streamText()` — only `fullStream` is consumed).
233
+ *
234
+ * You own the `streamText()` call, so you also own its URL downloads. Pass
235
+ * `experimental_download: createSafeUrlDownload({ signal: ctx.abortSignal })`
236
+ * (imported from `@copilotkit/runtime/v2`) to keep the server from fetching
237
+ * internal addresses named in request attachments, and to stop the downloads
238
+ * when the run is aborted. BuiltInAgent's `urlDownload` setting does not apply
239
+ * here: setting it in factory mode throws when the agent is constructed.
232
240
  */
233
241
  interface BuiltInAgentAISDKFactoryConfig {
234
242
  /** Opt in to automatic snapshot acquisition before each run, including resumes. */
@@ -369,6 +377,33 @@ interface BuiltInAgentClassicConfig {
369
377
  * Example: `{ openai: { reasoningEffort: "high" } }`
370
378
  */
371
379
  providerOptions?: Record<string, any>;
380
+ /**
381
+ * How the server downloads URL attachments (image and file parts) that the
382
+ * model cannot take as a URL. The URL comes from the request, so the server
383
+ * must not fetch it blindly.
384
+ *
385
+ * - Not set or an options object (default): download only from public
386
+ * internet addresses. The hostname is resolved and every address must be
387
+ * public; the connection uses only the checked addresses; each redirect is
388
+ * checked again, and a redirect from https to http is refused; the size
389
+ * (default 20 MiB) and the time (default 30 s) of each download, and the
390
+ * number of distinct URLs (20) and total size (50 MiB) of the downloads
391
+ * for one model call are limited. The AI SDK downloads the attachments
392
+ * again for each step of a multi-step run. `allowedHosts` limits
393
+ * downloads to the hostnames you list: `cdn.example.com` matches exactly,
394
+ * `*.example.com` matches subdomains only. Invalid options, including an
395
+ * unknown option name, throw when the agent is constructed.
396
+ * - `"disabled"`: never download from the network. Any attachment URL other
397
+ * than `data:` that the model cannot take directly fails the run.
398
+ * - A function: your own AI SDK download function. You are responsible for
399
+ * what it fetches.
400
+ *
401
+ * URLs that the model takes directly are sent to the provider unchanged and
402
+ * are not downloaded by the server. `data:` URLs are decoded locally by the
403
+ * AI SDK in every mode. Classic config only: in factory mode, see
404
+ * {@link BuiltInAgentAISDKFactoryConfig}.
405
+ */
406
+ urlDownload?: "disabled" | SafeUrlDownloadOptions | Experimental_DownloadFunction;
372
407
  /**
373
408
  * Explicit agent capabilities. **Shallow-merged** at the category level on
374
409
  * top of auto-inferred defaults — providing a category (e.g. `tools`)
@@ -405,6 +440,11 @@ declare class BuiltInAgent extends AbstractAgent {
405
440
  * to classify.
406
441
  */
407
442
  readonly modelHostClass: ModelHostClass;
443
+ /**
444
+ * Gives the download function for URL attachments for one run (classic
445
+ * config only). Resolved in the constructor so a bad setting fails fast.
446
+ */
447
+ private readonly urlDownload?;
408
448
  constructor(config: BuiltInAgentConfiguration);
409
449
  /**
410
450
  * Check if a property can be overridden by forwardedProps
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import "reflect-metadata";
2
2
  import { describeEndpoint } from "../lib/runtime/mcp-client-cache.mjs";
3
+ import { createSafeUrlDownload, logModelCallError, resolveUrlDownloadSetting } from "./url-download.mjs";
3
4
  import { createStateEventNormalizer } from "./state-delta.mjs";
4
5
  import { collectStandardRunFinishedDetails, getNonEmptyString, isRecord } from "./converters/usage.mjs";
5
6
  import { convertAISDKStream, formatToolError, getAISDKRunFinishedDetails, resolveStreamPartMessageId } from "./converters/aisdk.mjs";
@@ -11,6 +12,7 @@ import { createOpenAI } from "@ai-sdk/openai";
11
12
  import { classifyModelHost, randomUUID, safeParseToolArgs, schemaToJsonSchema } from "@copilotkit/shared";
12
13
  import { createGoogleGenerativeAI } from "@ai-sdk/google";
13
14
  import { Observable } from "rxjs";
15
+ import { z } from "zod";
14
16
  import { AbstractAgent, EventType, PROTOCOL_VERSION } from "@ag-ui/client";
15
17
  import { RENDER_A2UI_TOOL } from "@ag-ui/a2ui-middleware";
16
18
  import { Validator } from "@cfworker/json-schema";
@@ -18,7 +20,6 @@ import { jsonSchema, stepCountIs, streamText, tool } from "ai";
18
20
  import { createMCPClient } from "@ai-sdk/mcp";
19
21
  import { createAnthropic } from "@ai-sdk/anthropic";
20
22
  import { createVertex } from "@ai-sdk/google-vertex";
21
- import { z } from "zod";
22
23
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
23
24
 
24
25
  //#region src/agent/index.ts
@@ -550,6 +551,8 @@ var BuiltInAgent = class BuiltInAgent extends AbstractAgent {
550
551
  constructor(config) {
551
552
  super();
552
553
  this.config = config;
554
+ if (!isFactoryConfig(config)) this.urlDownload = resolveUrlDownloadSetting(config.urlDownload);
555
+ else if ("urlDownload" in config) throw new Error("BuiltInAgent: urlDownload has no effect in factory mode. Pass experimental_download: createSafeUrlDownload({ signal: ctx.abortSignal }) (from @copilotkit/runtime/v2) to your own streamText() call instead.");
553
556
  this.skillRegistry = config.learnedSkills === void 0 ? void 0 : new SkillRegistry(config.learnedSkills);
554
557
  this.modelHostClass = isFactoryConfig(config) ? "unknown" : classifyModelSpec(config.model);
555
558
  }
@@ -670,7 +673,8 @@ This is state from the application that you can edit by calling AGUISendStateSna
670
673
  stopSequences: config.stopSequences,
671
674
  seed: config.seed,
672
675
  providerOptions: config.providerOptions,
673
- maxRetries: config.maxRetries
676
+ maxRetries: config.maxRetries,
677
+ experimental_download: this.urlDownload?.(abortController.signal)
674
678
  };
675
679
  if (input.forwardedProps && typeof input.forwardedProps === "object") {
676
680
  const props = input.forwardedProps;
@@ -816,7 +820,8 @@ This is state from the application that you can edit by calling AGUISendStateSna
816
820
  const response = streamText({
817
821
  ...streamTextParams,
818
822
  ...messages.length > 0 ? { system: systemMessages.length > 0 ? systemMessages : void 0 } : { messages: systemMessages },
819
- abortSignal: abortController.signal
823
+ abortSignal: abortController.signal,
824
+ onError: ({ error }) => logModelCallError(error)
820
825
  });
821
826
  const interruptToolNames = new Set((isFactoryConfig(this.config) ? [] : this.config.tools ?? []).filter((t) => t.interrupt).map((t) => t.name));
822
827
  const interruptToolMeta = new Map((isFactoryConfig(this.config) ? [] : this.config.tools ?? []).filter((t) => t.interrupt).map((t) => [t.name, {