@opencode/ai 0.0.0-beta-19425 → 0.0.0-beta-19500

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 (80) hide show
  1. package/dist/protocols/anthropic-messages.js +4 -1
  2. package/dist/protocols/open-responses-channel.d.ts +2 -0
  3. package/dist/protocols/open-responses-channel.js +2 -2
  4. package/dist/protocols/open-responses-continuation.d.ts +7 -3
  5. package/dist/protocols/open-responses-continuation.js +8 -6
  6. package/dist/protocols/open-responses.d.ts +137 -2
  7. package/dist/protocols/open-responses.js +24 -5
  8. package/dist/provider-package.d.ts +4 -0
  9. package/dist/providers/alibaba.d.ts +1 -2
  10. package/dist/providers/alibaba.js +12 -4
  11. package/dist/providers/amazon-bedrock-mantle.d.ts +4 -62
  12. package/dist/providers/amazon-bedrock-mantle.js +23 -20
  13. package/dist/providers/amazon-bedrock.js +3 -3
  14. package/dist/providers/anthropic-compatible.d.ts +1 -2
  15. package/dist/providers/anthropic-compatible.js +18 -12
  16. package/dist/providers/anthropic.d.ts +1 -2
  17. package/dist/providers/anthropic.js +12 -9
  18. package/dist/providers/azure.d.ts +1 -2
  19. package/dist/providers/azure.js +14 -14
  20. package/dist/providers/baseten.d.ts +2 -3
  21. package/dist/providers/baseten.js +6 -6
  22. package/dist/providers/cerebras.d.ts +2 -3
  23. package/dist/providers/cerebras.js +6 -6
  24. package/dist/providers/cloudflare-ai-gateway.d.ts +1 -2
  25. package/dist/providers/cloudflare-ai-gateway.js +16 -10
  26. package/dist/providers/cloudflare-workers-ai.d.ts +1 -2
  27. package/dist/providers/cloudflare-workers-ai.js +15 -9
  28. package/dist/providers/deepinfra.d.ts +2 -3
  29. package/dist/providers/deepinfra.js +6 -6
  30. package/dist/providers/deepseek.d.ts +2 -3
  31. package/dist/providers/deepseek.js +6 -6
  32. package/dist/providers/fireworks.d.ts +2 -3
  33. package/dist/providers/fireworks.js +6 -6
  34. package/dist/providers/google-vertex-chat.d.ts +2 -3
  35. package/dist/providers/google-vertex-chat.js +12 -12
  36. package/dist/providers/google-vertex-messages.d.ts +2 -3
  37. package/dist/providers/google-vertex-messages.js +12 -12
  38. package/dist/providers/google-vertex-responses.d.ts +2 -3
  39. package/dist/providers/google-vertex-responses.js +12 -12
  40. package/dist/providers/google-vertex-shared.js +14 -3
  41. package/dist/providers/google-vertex.d.ts +1 -2
  42. package/dist/providers/google-vertex.js +18 -12
  43. package/dist/providers/google.d.ts +2 -3
  44. package/dist/providers/google.js +6 -6
  45. package/dist/providers/groq.d.ts +2 -3
  46. package/dist/providers/groq.js +6 -6
  47. package/dist/providers/meta.d.ts +2 -3
  48. package/dist/providers/meta.js +6 -6
  49. package/dist/providers/minimax/chat.js +6 -6
  50. package/dist/providers/minimax/responses.js +6 -6
  51. package/dist/providers/minimax.d.ts +2 -3
  52. package/dist/providers/minimax.js +6 -6
  53. package/dist/providers/mistral.d.ts +2 -3
  54. package/dist/providers/mistral.js +6 -6
  55. package/dist/providers/moonshot/messages.js +6 -6
  56. package/dist/providers/moonshot/responses.js +6 -6
  57. package/dist/providers/moonshot.d.ts +2 -3
  58. package/dist/providers/moonshot.js +6 -6
  59. package/dist/providers/openai-compatible-responses.d.ts +2 -3
  60. package/dist/providers/openai-compatible-responses.js +7 -7
  61. package/dist/providers/openai-compatible.d.ts +2 -3
  62. package/dist/providers/openai-compatible.js +7 -7
  63. package/dist/providers/openai.d.ts +2 -3
  64. package/dist/providers/openai.js +9 -9
  65. package/dist/providers/openrouter.d.ts +2 -3
  66. package/dist/providers/openrouter.js +6 -6
  67. package/dist/providers/togetherai.d.ts +2 -3
  68. package/dist/providers/togetherai.js +6 -6
  69. package/dist/providers/xai.d.ts +2 -3
  70. package/dist/providers/xai.js +10 -6
  71. package/dist/providers/zai-coding-plan/messages.js +6 -6
  72. package/dist/providers/zai-coding-plan/responses.js +6 -6
  73. package/dist/providers/zai-coding-plan.d.ts +2 -3
  74. package/dist/providers/zai-coding-plan.js +6 -6
  75. package/dist/providers/zai.d.ts +2 -3
  76. package/dist/providers/zai.js +6 -6
  77. package/dist/route/client.js +5 -2
  78. package/dist/schema/errors.d.ts +12 -0
  79. package/dist/schema/errors.js +11 -0
  80. package/package.json +3 -3
@@ -1,8 +1,8 @@
1
1
  import { ZAICodingPlan } from "../zai-coding-plan.js";
2
- export const model = (modelID, settings) => ZAICodingPlan.configure({
3
- apiKey: settings.apiKey,
4
- baseURL: settings.baseURL,
5
- headers: settings.headers,
6
- http: settings.body === undefined ? undefined : { body: { ...settings.body } },
7
- providerOptions: settings.providerOptions,
2
+ export const model = (modelID, { apiKey, baseURL, body, headers, ...providerOptions }) => ZAICodingPlan.configure({
3
+ apiKey,
4
+ baseURL,
5
+ headers,
6
+ http: body === undefined ? undefined : { body: { ...body } },
7
+ providerOptions,
8
8
  }).responses(modelID);
@@ -15,11 +15,10 @@ export type Config = Omit<RouteDefaultsInput, "providerOptions"> & ProviderAuthO
15
15
  readonly baseURL?: string;
16
16
  readonly providerOptions?: ChatOptionsInput | MessagesOptionsInput | ResponsesOptionsInput;
17
17
  };
18
- export interface Settings<Options = ChatOptionsInput> extends ProviderPackage.Settings {
18
+ export type Settings<Options = ChatOptionsInput> = ProviderPackage.Settings & Options & {
19
19
  readonly apiKey?: string;
20
20
  readonly baseURL?: string;
21
- readonly providerOptions?: Options;
22
- }
21
+ };
23
22
  export declare const routes: (Route<{
24
23
  readonly input: readonly ({
25
24
  readonly [x: string]: unknown;
@@ -53,11 +53,11 @@ export const provider = configure();
53
53
  export const chat = provider.chat;
54
54
  export const messages = provider.messages;
55
55
  export const responses = provider.responses;
56
- export const model = (modelID, settings) => configure({
57
- apiKey: settings.apiKey,
58
- baseURL: settings.baseURL,
59
- headers: settings.headers,
60
- http: settings.body === undefined ? undefined : { body: { ...settings.body } },
61
- providerOptions: settings.providerOptions,
56
+ export const model = (modelID, { apiKey, baseURL, body, headers, ...providerOptions }) => configure({
57
+ apiKey,
58
+ baseURL,
59
+ headers,
60
+ http: body === undefined ? undefined : { body: { ...body } },
61
+ providerOptions,
62
62
  }).model(modelID);
63
63
  export * as ZAICodingPlan from "./zai-coding-plan.js";
@@ -9,11 +9,10 @@ export type Config = Omit<RouteDefaultsInput, "providerOptions"> & ProviderAuthO
9
9
  readonly baseURL?: string;
10
10
  readonly providerOptions?: ChatOptionsInput;
11
11
  };
12
- export interface Settings extends ProviderPackage.Settings {
12
+ export type Settings = ProviderPackage.Settings & ChatOptionsInput & {
13
13
  readonly apiKey?: string;
14
14
  readonly baseURL?: string;
15
- readonly providerOptions?: ChatOptionsInput;
16
- }
15
+ };
17
16
  export type { ZAIImageOptions } from "../protocols/zai-images.js";
18
17
  export declare const routes: Route<{
19
18
  readonly model: string;
@@ -43,11 +43,11 @@ export const configure = (input = {}) => {
43
43
  export const provider = configure();
44
44
  export const image = provider.image;
45
45
  export const chat = provider.chat;
46
- export const model = (modelID, settings) => configure({
47
- apiKey: settings.apiKey,
48
- baseURL: settings.baseURL,
49
- headers: settings.headers,
50
- http: settings.body === undefined ? undefined : { body: { ...settings.body } },
51
- providerOptions: settings.providerOptions,
46
+ export const model = (modelID, { apiKey, baseURL, body, headers, ...providerOptions }) => configure({
47
+ apiKey,
48
+ baseURL,
49
+ headers,
50
+ http: body === undefined ? undefined : { body: { ...body } },
51
+ providerOptions,
52
52
  }).model(modelID);
53
53
  export * as ZAI from "./zai.js";
@@ -8,13 +8,16 @@ import { applyCachePolicy } from "../cache-policy.js";
8
8
  import { normalizeToolHistory } from "../tool-history.js";
9
9
  import { sanitizeSurrogates } from "../utils/sanitize.js";
10
10
  import * as ProviderShared from "../protocols/shared.js";
11
- import { AIError, CompactionResponse, CompactionCheckpointResponse, AIErrorReason, GenerationOptions, HttpOptions, LLMRequest, LLMResponse, LanguageModel, LLMEvent, InvalidProviderOutputError, ProviderID, mergeGenerationOptions, mergeHttpOptions, mergeProviderOptions, } from "../schema/index.js";
11
+ import { AIError, CompactionResponse, CompactionCheckpointResponse, AIErrorReason, GenerationOptions, HttpOptions, LLMRequest, LLMResponse, LanguageModel, LLMEvent, InvalidProviderOutputError, ProviderConfigurationError, ProviderID, mergeGenerationOptions, mergeHttpOptions, mergeProviderOptions, } from "../schema/index.js";
12
12
  const makeRouteLanguageModel = (route, mapped) => {
13
13
  const provider = route.provider ?? ("provider" in mapped ? mapped.provider : undefined);
14
14
  if (!provider)
15
15
  throw new Error(`Route.model(${route.id}) requires a provider`);
16
16
  if (!endpointBaseURL(route.endpoint))
17
- throw new Error(`Route.model(${route.id}) requires an endpoint baseURL — configure it on the route first`);
17
+ throw new ProviderConfigurationError({
18
+ provider: ProviderID.make(provider),
19
+ message: `Route.model(${route.id}) requires an endpoint baseURL — configure it on the route first`,
20
+ });
18
21
  return LanguageModel.make({
19
22
  ...mapped,
20
23
  provider,
@@ -44,6 +44,18 @@ declare const UnsupportedOperationError_base: Schema.Class<UnsupportedOperationE
44
44
  */
45
45
  export declare class UnsupportedOperationError extends UnsupportedOperationError_base {
46
46
  }
47
+ declare const ProviderConfigurationError_base: Schema.Class<ProviderConfigurationError, Schema.TaggedStruct<"ProviderConfiguration", {
48
+ readonly provider: Schema.brand<Schema.String, "AI.ProviderID">;
49
+ readonly message: Schema.String;
50
+ }>, import("effect/Cause").YieldableError>;
51
+ /**
52
+ * Provider settings that are missing, conflicting, or unsupported, such as
53
+ * Azure without `resourceName` or `baseURL`. Thrown synchronously while a
54
+ * provider facade or package entrypoint configures a model, before any
55
+ * request exists, so it is not an `AIError` reason.
56
+ */
57
+ export declare class ProviderConfigurationError extends ProviderConfigurationError_base {
58
+ }
47
59
  declare const NoRouteError_base: Schema.Class<NoRouteError, Schema.TaggedStruct<"NoRoute", {
48
60
  readonly route: Schema.String;
49
61
  readonly provider: Schema.brand<Schema.String, "AI.ProviderID">;
@@ -41,6 +41,17 @@ export class UnsupportedOperationError extends Schema.TaggedError("AI.Error.Unsu
41
41
  route: Schema.optional(RouteID),
42
42
  }) {
43
43
  }
44
+ /**
45
+ * Provider settings that are missing, conflicting, or unsupported, such as
46
+ * Azure without `resourceName` or `baseURL`. Thrown synchronously while a
47
+ * provider facade or package entrypoint configures a model, before any
48
+ * request exists, so it is not an `AIError` reason.
49
+ */
50
+ export class ProviderConfigurationError extends Schema.TaggedError("AI.Error.ProviderConfiguration")("ProviderConfiguration", {
51
+ provider: ProviderID,
52
+ message: Schema.String,
53
+ }) {
54
+ }
44
55
  export class NoRouteError extends Schema.TaggedError("AI.Error.NoRoute")("NoRoute", {
45
56
  ...ReasonFields,
46
57
  route: RouteID,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
- "version": "0.0.0-beta-19425",
3
+ "version": "0.0.0-beta-19500",
4
4
  "name": "@opencode/ai",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "devDependencies": {
31
31
  "@clack/prompts": "1.0.0-alpha.1",
32
32
  "@effect/platform-node": "4.0.0-rc.112",
33
- "@opencode/http-recorder": "0.0.0-beta-19425",
33
+ "@opencode/http-recorder": "0.0.0-beta-19500",
34
34
  "@tsconfig/bun": "1.0.9",
35
35
  "@types/bun": "1.4.0",
36
36
  "@typescript/native-preview": "7.0.0-dev.20251207.1",
@@ -40,7 +40,7 @@
40
40
  "@aws-sdk/credential-providers": "3.1057.0",
41
41
  "@smithy/eventstream-codec": "4.2.14",
42
42
  "@smithy/util-utf8": "4.2.2",
43
- "@opencode/schema": "0.0.0-beta-19425",
43
+ "@opencode/schema": "0.0.0-beta-19500",
44
44
  "aws4fetch": "1.0.20",
45
45
  "effect": "4.0.0-rc.112",
46
46
  "google-auth-library": "10.5.0"