@copilotkit/runtime 1.77.2 → 1.78.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 (30) hide show
  1. package/README.md +16 -0
  2. package/dist/agent/index.cjs +84 -14
  3. package/dist/agent/index.cjs.map +1 -1
  4. package/dist/agent/index.d.cts +4 -3
  5. package/dist/agent/index.d.cts.map +1 -1
  6. package/dist/agent/index.d.mts +4 -3
  7. package/dist/agent/index.d.mts.map +1 -1
  8. package/dist/agent/index.mjs +84 -14
  9. package/dist/agent/index.mjs.map +1 -1
  10. package/dist/package.cjs +1 -1
  11. package/dist/package.mjs +1 -1
  12. package/dist/service-adapters/google/google-genai-adapter.cjs +2 -2
  13. package/dist/service-adapters/google/google-genai-adapter.cjs.map +1 -1
  14. package/dist/service-adapters/google/google-genai-adapter.mjs +2 -2
  15. package/dist/service-adapters/google/google-genai-adapter.mjs.map +1 -1
  16. package/dist/v2/runtime/core/package-info.cjs +1 -1
  17. package/dist/v2/runtime/core/package-info.mjs +1 -1
  18. package/dist/v2/runtime/intelligence-platform/client.cjs +37 -7
  19. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  20. package/dist/v2/runtime/intelligence-platform/client.d.cts.map +1 -1
  21. package/dist/v2/runtime/intelligence-platform/client.d.mts.map +1 -1
  22. package/dist/v2/runtime/intelligence-platform/client.mjs +37 -7
  23. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  24. package/dist/v2/runtime/runner/intelligence.cjs +1 -1
  25. package/dist/v2/runtime/runner/intelligence.cjs.map +1 -1
  26. package/dist/v2/runtime/runner/intelligence.d.cts.map +1 -1
  27. package/dist/v2/runtime/runner/intelligence.d.mts.map +1 -1
  28. package/dist/v2/runtime/runner/intelligence.mjs +1 -1
  29. package/dist/v2/runtime/runner/intelligence.mjs.map +1 -1
  30. package/package.json +3 -3
@@ -19,7 +19,7 @@ type OverridableProperty = "model" | "toolChoice" | "maxOutputTokens" | "tempera
19
19
  /**
20
20
  * Supported model identifiers for BuiltInAgent
21
21
  */
22
- type BuiltInAgentModel = "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-4o" | "openai/gpt-4o-mini" | "openai/o3" | "openai/o3-mini" | "openai/o4-mini" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-8" | "anthropic/claude-haiku-4-5" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "minimax/MiniMax-M3" | "minimax/MiniMax-M2.7" | (string & {});
22
+ type BuiltInAgentModel = "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-4o" | "openai/gpt-4o-mini" | "openai/o3" | "openai/o3-mini" | "openai/o4-mini" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-8" | "anthropic/claude-haiku-4-5" | "google/gemini-3.8-flash" | "google/gemini-3.5-flash" | "google/gemini-3.5-flash-lite" | "minimax/MiniMax-M3" | "minimax/MiniMax-M2.7" | (string & {});
23
23
  /**
24
24
  * Model specifier - can be a string like "openai/gpt-4o" or a LanguageModel instance
25
25
  */
@@ -91,8 +91,9 @@ declare function resolveModel(spec: ModelSpecifier, apiKey?: string): LanguageMo
91
91
  *
92
92
  * `resolveModel` above is the only place this runtime builds a provider, so it
93
93
  * is the only place that knows the endpoint. Once built, the endpoint is gone:
94
- * an AI SDK model reports `provider: "openai.responses"` whether it points at
95
- * api.openai.com, Azure, OpenRouter or a laptop, and its base URL survives
94
+ * an AI SDK model's `provider` names only the wire API (`"openai.responses"`
95
+ * on OpenAI and Azure, `"openai.chat"` on any other host), so it cannot tell
96
+ * OpenRouter from a laptop, and its base URL survives
96
97
  * only inside a closure that the public `LanguageModelV3` type does not
97
98
  * expose. Azure's own migration guide tells customers to use that same OpenAI
98
99
  * client, so the case we are blindest to is the common one.
@@ -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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"}
@@ -20,7 +20,7 @@ type OverridableProperty = "model" | "toolChoice" | "maxOutputTokens" | "tempera
20
20
  /**
21
21
  * Supported model identifiers for BuiltInAgent
22
22
  */
23
- type BuiltInAgentModel = "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-4o" | "openai/gpt-4o-mini" | "openai/o3" | "openai/o3-mini" | "openai/o4-mini" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-8" | "anthropic/claude-haiku-4-5" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "minimax/MiniMax-M3" | "minimax/MiniMax-M2.7" | (string & {});
23
+ type BuiltInAgentModel = "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-4o" | "openai/gpt-4o-mini" | "openai/o3" | "openai/o3-mini" | "openai/o4-mini" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-8" | "anthropic/claude-haiku-4-5" | "google/gemini-3.8-flash" | "google/gemini-3.5-flash" | "google/gemini-3.5-flash-lite" | "minimax/MiniMax-M3" | "minimax/MiniMax-M2.7" | (string & {});
24
24
  /**
25
25
  * Model specifier - can be a string like "openai/gpt-4o" or a LanguageModel instance
26
26
  */
@@ -92,8 +92,9 @@ declare function resolveModel(spec: ModelSpecifier, apiKey?: string): LanguageMo
92
92
  *
93
93
  * `resolveModel` above is the only place this runtime builds a provider, so it
94
94
  * is the only place that knows the endpoint. Once built, the endpoint is gone:
95
- * an AI SDK model reports `provider: "openai.responses"` whether it points at
96
- * api.openai.com, Azure, OpenRouter or a laptop, and its base URL survives
95
+ * an AI SDK model's `provider` names only the wire API (`"openai.responses"`
96
+ * on OpenAI and Azure, `"openai.chat"` on any other host), so it cannot tell
97
+ * OpenRouter from a laptop, and its base URL survives
97
98
  * only inside a closure that the public `LanguageModelV3` type does not
98
99
  * expose. Azure's own migration guide tells customers to use that same OpenAI
99
100
  * client, so the case we are blindest to is the common one.
@@ -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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"}
@@ -85,20 +85,88 @@ function toolResultOutput(content) {
85
85
  }] : [], ...media]
86
86
  };
87
87
  }
88
+ /**
89
+ * Split a model string into provider and model id. The provider is the text
90
+ * before the FIRST ":" or "/"; everything after it is the model id, unchanged.
91
+ * So "openai:meta-llama/llama-3.3-70b" keeps the slash in its model id, and
92
+ * "openai/ft:gpt-4o-mini:org::id" keeps its colons. Empty strings mean the
93
+ * part is missing.
94
+ */
95
+ function parseModelSpec(spec) {
96
+ const trimmed = spec.trim();
97
+ const separator = trimmed.search(/[:/]/);
98
+ if (separator === -1) return {
99
+ provider: trimmed.toLowerCase(),
100
+ model: ""
101
+ };
102
+ return {
103
+ provider: trimmed.slice(0, separator).toLowerCase(),
104
+ model: trimmed.slice(separator + 1).trim()
105
+ };
106
+ }
107
+ /**
108
+ * Whether an `OPENAI_BASE_URL` should get Chat Completions instead of the
109
+ * Responses API. OpenAI's own hosts (including `*.api.openai.com`, such as the
110
+ * EU data-residency host) and Azure serve `/responses`, so they keep it, as
111
+ * does an unset value. Any other host gets `/chat/completions`, which is what
112
+ * most OpenAI-compatible servers implement. The host rule is
113
+ * `classifyModelHost`, the same one telemetry uses.
114
+ *
115
+ * A value `new URL` throws on keeps the Responses route; the request will
116
+ * fail on that base URL either way. A schemeless value such as
117
+ * `localhost:11434/v1` does not throw (it parses with scheme `localhost:` and
118
+ * an empty host), so it classifies as `other` and gets Chat Completions.
119
+ */
120
+ function usesChatCompletions(baseURL) {
121
+ const trimmed = baseURL?.trim();
122
+ if (!trimmed) return false;
123
+ try {
124
+ new URL(trimmed);
125
+ } catch {
126
+ return false;
127
+ }
128
+ const host = classifyModelHost(trimmed, "openai");
129
+ return host !== "openai" && host !== "azure";
130
+ }
131
+ /** Whether the Chat Completions notice below was already logged. */
132
+ let loggedChatCompletionsRoute = false;
133
+ /**
134
+ * Which OpenAI API an `openai/...` model string targets.
135
+ *
136
+ * `COPILOTKIT_OPENAI_API` (`responses` or `chat`) wins when set, so a proxy in
137
+ * front of OpenAI can keep the Responses API, and an OpenAI host can use Chat
138
+ * Completions. Unset or blank, `usesChatCompletions` decides from
139
+ * `OPENAI_BASE_URL`.
140
+ *
141
+ * When that rule picks Chat Completions, this logs once per process. Through a
142
+ * proxy, Chat Completions drops Responses-only features (such as reasoning
143
+ * summaries) without an error, and the notice names the way back.
144
+ */
145
+ function openAIApiFor(baseURL) {
146
+ const raw = process.env.COPILOTKIT_OPENAI_API;
147
+ const override = raw?.trim().toLowerCase();
148
+ if (override === "responses" || override === "chat") return override;
149
+ if (override) throw new Error(`Invalid COPILOTKIT_OPENAI_API "${raw}". Use "responses" or "chat", or leave it unset.`);
150
+ if (!usesChatCompletions(baseURL)) return "responses";
151
+ if (!loggedChatCompletionsRoute) {
152
+ loggedChatCompletionsRoute = true;
153
+ console.info("[CopilotKit] OPENAI_BASE_URL is not an OpenAI or Azure host, so \"openai/...\" models use the Chat Completions API. To use the Responses API instead, set COPILOTKIT_OPENAI_API=responses.");
154
+ }
155
+ return "chat";
156
+ }
88
157
  function resolveModel(spec, apiKey) {
89
158
  if (typeof spec !== "string") return spec;
90
- const parts = spec.replace("/", ":").trim().split(":");
91
- const rawProvider = parts[0];
92
- const rest = parts.slice(1);
93
- if (!rawProvider) throw new Error(`Invalid model string "${spec}". Use "openai/gpt-5", "anthropic/claude-sonnet-4.5", or "google/gemini-2.5-pro".`);
94
- const provider = rawProvider.toLowerCase();
95
- const model = rest.join(":").trim();
96
- if (!model) throw new Error(`Invalid model string "${spec}". Use "openai/gpt-5", "anthropic/claude-sonnet-4.5", or "google/gemini-2.5-pro".`);
159
+ const { provider, model } = parseModelSpec(spec);
160
+ if (!provider) throw new Error(`Invalid model string "${spec}". Use "openai/gpt-5", "anthropic/claude-sonnet-4.5", or "google/gemini-3.8-flash".`);
161
+ if (!model) throw new Error(`Invalid model string "${spec}". Use "openai/gpt-5", "anthropic/claude-sonnet-4.5", or "google/gemini-3.8-flash".`);
97
162
  switch (provider) {
98
- case "openai": return createOpenAI({
99
- apiKey: apiKey || process.env.OPENAI_API_KEY,
100
- baseURL: process.env.OPENAI_BASE_URL
101
- })(model);
163
+ case "openai": {
164
+ const openai = createOpenAI({
165
+ apiKey: apiKey || process.env.OPENAI_API_KEY,
166
+ baseURL: process.env.OPENAI_BASE_URL
167
+ });
168
+ return openAIApiFor(process.env.OPENAI_BASE_URL) === "chat" ? openai.chat(model) : openai(model);
169
+ }
102
170
  case "anthropic": return createAnthropic({
103
171
  apiKey: apiKey || process.env.ANTHROPIC_API_KEY,
104
172
  baseURL: process.env.ANTHROPIC_BASE_URL
@@ -123,8 +191,9 @@ function resolveModel(spec, apiKey) {
123
191
  *
124
192
  * `resolveModel` above is the only place this runtime builds a provider, so it
125
193
  * is the only place that knows the endpoint. Once built, the endpoint is gone:
126
- * an AI SDK model reports `provider: "openai.responses"` whether it points at
127
- * api.openai.com, Azure, OpenRouter or a laptop, and its base URL survives
194
+ * an AI SDK model's `provider` names only the wire API (`"openai.responses"`
195
+ * on OpenAI and Azure, `"openai.chat"` on any other host), so it cannot tell
196
+ * OpenRouter from a laptop, and its base URL survives
128
197
  * only inside a closure that the public `LanguageModelV3` type does not
129
198
  * expose. Azure's own migration guide tells customers to use that same OpenAI
130
199
  * client, so the case we are blindest to is the common one.
@@ -139,7 +208,8 @@ function resolveModel(spec, apiKey) {
139
208
  */
140
209
  function classifyModelSpec(spec) {
141
210
  if (typeof spec !== "string") return "unknown";
142
- switch (spec.replace("/", ":").trim().split(":")[0]?.toLowerCase()) {
211
+ const { provider } = parseModelSpec(spec);
212
+ switch (provider) {
143
213
  case "openai": return classifyModelHost(process.env.OPENAI_BASE_URL, "openai");
144
214
  case "anthropic": return classifyModelHost(process.env.ANTHROPIC_BASE_URL, "anthropic");
145
215
  case "google":