@opencode/ai 2.0.32 → 2.1.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 (149) hide show
  1. package/dist/ai-client.d.ts +2 -2
  2. package/dist/experimental/evaluation-client.d.ts +1 -1
  3. package/dist/experimental/evaluation.d.ts +20 -20
  4. package/dist/experimental/realtime.d.ts +6 -14
  5. package/dist/experimental/realtime.js +28 -3
  6. package/dist/experimental/system-one.d.ts +1 -1
  7. package/dist/image-client.d.ts +8 -8
  8. package/dist/image.d.ts +593 -437
  9. package/dist/llm.d.ts +51 -51
  10. package/dist/media-client.d.ts +1 -1
  11. package/dist/media.d.ts +4 -4
  12. package/dist/promise.d.ts +199 -198
  13. package/dist/protocols/alibaba-chat.d.ts +81 -82
  14. package/dist/protocols/alibaba-chat.js +0 -1
  15. package/dist/protocols/alibaba-messages.d.ts +99 -99
  16. package/dist/protocols/alibaba-responses.d.ts +120 -120
  17. package/dist/protocols/anthropic-messages.d.ts +187 -187
  18. package/dist/protocols/anthropic-messages.js +3 -2
  19. package/dist/protocols/assemblyai-transcription.d.ts +1 -1
  20. package/dist/protocols/bedrock-converse.d.ts +75 -79
  21. package/dist/protocols/bfl-images.d.ts +1 -1
  22. package/dist/protocols/cartesia-speech.d.ts +17 -17
  23. package/dist/protocols/cohere-chat.d.ts +26 -23
  24. package/dist/protocols/cohere-chat.js +22 -1
  25. package/dist/protocols/deepgram-speech.d.ts +17 -17
  26. package/dist/protocols/deepgram-transcription.d.ts +1 -1
  27. package/dist/protocols/elevenlabs-speech.d.ts +17 -17
  28. package/dist/protocols/elevenlabs-transcription.d.ts +1 -1
  29. package/dist/protocols/fal-images.d.ts +1 -1
  30. package/dist/protocols/fal-video.d.ts +1 -1
  31. package/dist/protocols/gemini.d.ts +55 -55
  32. package/dist/protocols/google-images.d.ts +1 -1
  33. package/dist/protocols/google-interactions.d.ts +64 -62
  34. package/dist/protocols/google-interactions.js +19 -1
  35. package/dist/protocols/google-speech.d.ts +17 -17
  36. package/dist/protocols/google-transcription.d.ts +47 -47
  37. package/dist/protocols/google-video.d.ts +1 -1
  38. package/dist/protocols/meta-messages.d.ts +121 -121
  39. package/dist/protocols/meta-responses.d.ts +201 -201
  40. package/dist/protocols/mistral-chat.d.ts +45 -45
  41. package/dist/protocols/open-responses-channel.d.ts +1 -1
  42. package/dist/protocols/open-responses.d.ts +584 -450
  43. package/dist/protocols/open-responses.js +27 -35
  44. package/dist/protocols/openai-chat.d.ts +248 -248
  45. package/dist/protocols/openai-chat.js +11 -42
  46. package/dist/protocols/openai-compatible-chat.d.ts +32 -32
  47. package/dist/protocols/openai-compatible-responses.d.ts +88 -88
  48. package/dist/protocols/openai-images.d.ts +17 -17
  49. package/dist/protocols/openai-responses.d.ts +567 -567
  50. package/dist/protocols/openai-responses.js +1 -1
  51. package/dist/protocols/openai-speech.d.ts +17 -17
  52. package/dist/protocols/openai-transcription.d.ts +47 -47
  53. package/dist/protocols/replicate-images.d.ts +1 -1
  54. package/dist/protocols/runway-video.d.ts +1 -1
  55. package/dist/protocols/shared.d.ts +12 -1
  56. package/dist/protocols/shared.js +17 -1
  57. package/dist/protocols/stability-images.d.ts +2 -2
  58. package/dist/protocols/utils/bedrock-cache.d.ts +2 -2
  59. package/dist/protocols/utils/bedrock-media.d.ts +4 -4
  60. package/dist/protocols/utils/openai-options.d.ts +1 -1
  61. package/dist/protocols/utils/speech-stream.d.ts +1 -1
  62. package/dist/protocols/utils/tool-schema.d.ts +10 -5
  63. package/dist/protocols/utils/tool-stream.d.ts +152 -152
  64. package/dist/protocols/venice-chat.d.ts +109 -110
  65. package/dist/protocols/venice-chat.js +0 -1
  66. package/dist/protocols/xai-images.d.ts +1 -1
  67. package/dist/protocols/xai-responses.d.ts +79 -79
  68. package/dist/protocols/xai-video.d.ts +1 -1
  69. package/dist/protocols/zai-chat.d.ts +77 -78
  70. package/dist/protocols/zai-chat.js +0 -1
  71. package/dist/protocols/zai-images.d.ts +1 -1
  72. package/dist/protocols/zai-messages.d.ts +97 -97
  73. package/dist/providers/alibaba.d.ts +222 -283
  74. package/dist/providers/amazon-bedrock-mantle.d.ts +291 -298
  75. package/dist/providers/amazon-bedrock.d.ts +22 -28
  76. package/dist/providers/anthropic-compatible.d.ts +86 -90
  77. package/dist/providers/anthropic.d.ts +86 -90
  78. package/dist/providers/assemblyai.d.ts +2 -6
  79. package/dist/providers/azure.d.ts +228 -238
  80. package/dist/providers/baseten.d.ts +66 -70
  81. package/dist/providers/black-forest-labs.d.ts +2 -6
  82. package/dist/providers/cartesia.d.ts +2 -6
  83. package/dist/providers/cerebras.d.ts +66 -70
  84. package/dist/providers/cerebras.js +0 -1
  85. package/dist/providers/cloudflare-ai-gateway.d.ts +352 -356
  86. package/dist/providers/cloudflare-workers-ai.d.ts +66 -70
  87. package/dist/providers/cohere.d.ts +122 -132
  88. package/dist/providers/cohere.js +0 -2
  89. package/dist/providers/deepgram.d.ts +2 -7
  90. package/dist/providers/deepinfra.d.ts +66 -70
  91. package/dist/providers/deepinfra.js +0 -1
  92. package/dist/providers/deepseek.d.ts +66 -70
  93. package/dist/providers/deepseek.js +1 -1
  94. package/dist/providers/digitalocean.d.ts +137 -141
  95. package/dist/providers/elevenlabs.d.ts +2 -7
  96. package/dist/providers/fal.d.ts +2 -7
  97. package/dist/providers/fireworks.d.ts +66 -70
  98. package/dist/providers/google-vertex-chat.d.ts +34 -38
  99. package/dist/providers/google-vertex-interactions.d.ts +31 -41
  100. package/dist/providers/google-vertex-messages.d.ts +81 -85
  101. package/dist/providers/google-vertex-mistral.d.ts +23 -27
  102. package/dist/providers/google-vertex-responses.d.ts +90 -94
  103. package/dist/providers/google-vertex.d.ts +26 -30
  104. package/dist/providers/google.d.ts +94 -109
  105. package/dist/providers/groq.d.ts +111 -115
  106. package/dist/providers/groq.js +0 -1
  107. package/dist/providers/meta.d.ts +309 -317
  108. package/dist/providers/meta.js +1 -1
  109. package/dist/providers/minimax.d.ts +296 -303
  110. package/dist/providers/minimax.js +1 -1
  111. package/dist/providers/mistral.d.ts +22 -26
  112. package/dist/providers/moonshot.d.ts +296 -303
  113. package/dist/providers/moonshot.js +0 -1
  114. package/dist/providers/openai-compatible-responses.d.ts +90 -94
  115. package/dist/providers/openai-compatible.d.ts +34 -38
  116. package/dist/providers/openai.d.ts +93 -108
  117. package/dist/providers/opencode.d.ts +2 -8
  118. package/dist/providers/openrouter.d.ts +137 -144
  119. package/dist/providers/replicate.d.ts +2 -6
  120. package/dist/providers/runway.d.ts +2 -6
  121. package/dist/providers/stability.d.ts +2 -7
  122. package/dist/providers/togetherai.d.ts +66 -70
  123. package/dist/providers/togetherai.js +1 -1
  124. package/dist/providers/typesafe-ai.d.ts +2 -8
  125. package/dist/providers/venice.d.ts +58 -63
  126. package/dist/providers/vercel-ai-gateway.d.ts +2 -12
  127. package/dist/providers/xai.d.ts +38 -50
  128. package/dist/providers/zai-coding-plan.d.ts +206 -213
  129. package/dist/providers/zai.d.ts +40 -46
  130. package/dist/route/client.d.ts +51 -51
  131. package/dist/route/media-protocol.d.ts +1 -1
  132. package/dist/route/transport/http.d.ts +1 -1
  133. package/dist/route/transport/websocket.d.ts +8 -8
  134. package/dist/schema/errors.d.ts +19 -19
  135. package/dist/schema/events.d.ts +3090 -3288
  136. package/dist/schema/messages.d.ts +8 -7
  137. package/dist/schema/options.d.ts +2 -1
  138. package/dist/schema/options.js +2 -1
  139. package/dist/speech-client.d.ts +8 -8
  140. package/dist/speech.d.ts +434 -398
  141. package/dist/testing.d.ts +338 -338
  142. package/dist/tool-runtime.d.ts +1 -1
  143. package/dist/transcription-client.d.ts +23 -23
  144. package/dist/transcription.d.ts +562 -646
  145. package/dist/utils/sanitize.d.ts +4 -0
  146. package/dist/utils/sanitize.js +23 -6
  147. package/dist/video-client.d.ts +8 -8
  148. package/dist/video.d.ts +416 -372
  149. package/package.json +6 -6
@@ -1,8 +1,8 @@
1
1
  import { Layer } from "effect";
2
2
  import { RequestExecutor } from "./route/executor.js";
3
3
  /** Every modality client over `executor`, which stays in the output so `asset.bytes()` and `Media.write` resolve. */
4
- export declare const layerWith: <E, R>(executor: Layer.Layer<RequestExecutor.Service, E, R>) => Layer.Layer<import("./route/executor-service.js").RequestExecutorService | import("./route/client.js").LLMClientService | import("./image-client.js").ImageClientService | import("./speech-client.js").SpeechClientService | import("./transcription-client.js").TranscriptionClientService | import("./video-client.js").VideoClientService, E, R>;
4
+ export declare const layerWith: <E, R>(executor: Layer.Layer<RequestExecutor.Service, E, R>) => Layer.Layer<import("./image-client.js").ImageClientService | import("./route/client.js").LLMClientService | import("./route/executor-service.js").RequestExecutorService | import("./speech-client.js").SpeechClientService | import("./transcription-client.js").TranscriptionClientService | import("./video-client.js").VideoClientService, E, R>;
5
5
  /** Every modality client plus the executor over `RequestExecutor.fetchLayer`: the one layer most programs need. */
6
- export declare const layer: Layer.Layer<import("./route/executor-service.js").RequestExecutorService | import("./route/client.js").LLMClientService | import("./image-client.js").ImageClientService | import("./speech-client.js").SpeechClientService | import("./transcription-client.js").TranscriptionClientService | import("./video-client.js").VideoClientService, never, never>;
6
+ export declare const layer: Layer.Layer<import("./image-client.js").ImageClientService | import("./route/client.js").LLMClientService | import("./route/executor-service.js").RequestExecutorService | import("./speech-client.js").SpeechClientService | import("./transcription-client.js").TranscriptionClientService | import("./video-client.js").VideoClientService, never, never>;
7
7
  export type Services = Layer.Success<typeof layer>;
8
8
  export * as AIClient from "./ai-client.js";
@@ -16,6 +16,6 @@ export declare const EvaluationClient: {
16
16
  readonly Service: typeof Service;
17
17
  readonly layer: Layer.Layer<Service, never, import("../route/executor-service.js").RequestExecutorService>;
18
18
  readonly fetchLayer: Layer.Layer<import("../route/executor-service.js").RequestExecutorService | Service, never, never>;
19
- readonly evaluate: <Options extends EvaluationOptions, const Questions extends EvaluationQuestions>(request: EvaluationRequestFor<Options, Questions>) => Effect.Effect<EvaluationResponseFor<Questions>, AIError, Service>;
19
+ readonly evaluate: typeof evaluate;
20
20
  };
21
21
  export {};
@@ -7,9 +7,9 @@ export declare const ChoiceQuestion: Schema.Struct<{
7
7
  readonly type: Schema.Literal<"choice">;
8
8
  readonly instructions: Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>;
9
9
  readonly criteria: Schema.refine<{
10
- readonly [x: string]: string | {
10
+ readonly [x: string]: string | readonly Schema.Json[] | {
11
11
  readonly [x: string]: Schema.Json;
12
- } | readonly Schema.Json[] | null;
12
+ } | null;
13
13
  }, Schema.$Record<Schema.String, Schema.NullOr<Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>>>>;
14
14
  }>;
15
15
  export type ChoiceQuestion = Schema.Schema.Type<typeof ChoiceQuestion>;
@@ -32,9 +32,9 @@ export declare const EvaluationQuestion: Schema.toTaggedUnion<"type", readonly [
32
32
  readonly type: Schema.Literal<"choice">;
33
33
  readonly instructions: Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>;
34
34
  readonly criteria: Schema.refine<{
35
- readonly [x: string]: string | {
35
+ readonly [x: string]: string | readonly Schema.Json[] | {
36
36
  readonly [x: string]: Schema.Json;
37
- } | readonly Schema.Json[] | null;
37
+ } | null;
38
38
  }, Schema.$Record<Schema.String, Schema.NullOr<Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>>>>;
39
39
  }>, Schema.Struct<{
40
40
  readonly type: Schema.Literal<"score">;
@@ -131,43 +131,43 @@ declare const EvaluationRequest_base: Schema.Class<EvaluationRequest, Schema.Str
131
131
  readonly questions: Schema.refine<{
132
132
  readonly [x: string]: {
133
133
  readonly type: "choice";
134
- readonly instructions: string | {
134
+ readonly instructions: string | readonly Schema.Json[] | {
135
135
  readonly [x: string]: Schema.Json;
136
- } | readonly Schema.Json[];
136
+ };
137
137
  readonly criteria: {
138
- readonly [x: string]: string | {
138
+ readonly [x: string]: string | readonly Schema.Json[] | {
139
139
  readonly [x: string]: Schema.Json;
140
- } | readonly Schema.Json[] | null;
140
+ } | null;
141
141
  };
142
142
  } | {
143
143
  readonly type: "score";
144
- readonly instructions: string | {
144
+ readonly instructions: string | readonly Schema.Json[] | {
145
145
  readonly [x: string]: Schema.Json;
146
- } | readonly Schema.Json[];
147
- readonly criteria: readonly (string | {
146
+ };
147
+ readonly criteria: readonly (string | readonly Schema.Json[] | {
148
148
  readonly [x: string]: Schema.Json;
149
- } | readonly Schema.Json[] | null)[];
149
+ } | null)[];
150
150
  } | {
151
151
  readonly type: "boolean";
152
- readonly instructions: string | {
152
+ readonly instructions: string | readonly Schema.Json[] | {
153
153
  readonly [x: string]: Schema.Json;
154
- } | readonly Schema.Json[];
154
+ };
155
155
  readonly criteria?: {
156
- readonly true?: string | {
156
+ readonly true?: string | readonly Schema.Json[] | {
157
157
  readonly [x: string]: Schema.Json;
158
- } | readonly Schema.Json[] | null | undefined;
159
- readonly false?: string | {
158
+ } | null | undefined;
159
+ readonly false?: string | readonly Schema.Json[] | {
160
160
  readonly [x: string]: Schema.Json;
161
- } | readonly Schema.Json[] | null | undefined;
161
+ } | null | undefined;
162
162
  } | undefined;
163
163
  };
164
164
  }, Schema.$Record<Schema.String, Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
165
165
  readonly type: Schema.Literal<"choice">;
166
166
  readonly instructions: Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>;
167
167
  readonly criteria: Schema.refine<{
168
- readonly [x: string]: string | {
168
+ readonly [x: string]: string | readonly Schema.Json[] | {
169
169
  readonly [x: string]: Schema.Json;
170
- } | readonly Schema.Json[] | null;
170
+ } | null;
171
171
  }, Schema.$Record<Schema.String, Schema.NullOr<Schema.Union<readonly [Schema.String, Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>, Schema.$Array<Schema.Codec<Schema.Json, Schema.Json, never, never>>]>>>>;
172
172
  }>, Schema.Struct<{
173
173
  readonly type: Schema.Literal<"score">;
@@ -1,4 +1,4 @@
1
- import { Effect, type Redacted } from "effect";
1
+ import { Effect, Redacted } from "effect";
2
2
  import { AIError } from "../schema/index.js";
3
3
  export type RealtimeTransportInput = {
4
4
  readonly type: "webrtc";
@@ -35,21 +35,13 @@ export declare const engine: (model: string) => {
35
35
  readonly family: "grok-voice";
36
36
  readonly id: "xai-realtime";
37
37
  readonly provider: "xai";
38
+ } | {
39
+ readonly family: "gemini-3.8-live";
40
+ readonly id: "gemini-live";
41
+ readonly provider: "google";
38
42
  } | undefined;
39
43
  export declare const connect: (input: RealtimeConnectInput) => Effect.Effect<RealtimeTransport, AIError, import("../route/executor-service.js").RequestExecutorService>;
40
44
  export declare const Realtime: {
41
- readonly engine: (model: string) => {
42
- readonly family: "gpt-live";
43
- readonly id: "openai-live";
44
- readonly provider: "openai";
45
- } | {
46
- readonly family: "gpt-realtime";
47
- readonly id: "openai-realtime";
48
- readonly provider: "openai";
49
- } | {
50
- readonly family: "grok-voice";
51
- readonly id: "xai-realtime";
52
- readonly provider: "xai";
53
- } | undefined;
45
+ readonly engine: typeof engine;
54
46
  readonly connect: (input: RealtimeConnectInput) => Effect.Effect<RealtimeTransport, AIError, import("../route/executor-service.js").RequestExecutorService>;
55
47
  };
@@ -1,14 +1,16 @@
1
- import { Effect, Schema } from "effect";
1
+ import { Clock, Effect, Redacted, Schema } from "effect";
2
2
  import { HttpClientRequest } from "effect/http";
3
3
  import { RequestExecutor } from "../route/executor.js";
4
4
  import { AIError, HttpContext, InvalidProviderOutputError, InvalidRequestError } from "../schema/index.js";
5
5
  import { encodeJson } from "../utils/json.js";
6
6
  const OPENAI_BASE_URL = "https://api.openai.com/v1";
7
7
  const XAI_BASE_URL = "https://api.x.ai/v1";
8
+ const GOOGLE_BASE_URL = "https://generativelanguage.googleapis.com/v1beta";
8
9
  const engines = [
9
10
  { family: "gpt-live", id: "openai-live", provider: "openai" },
10
11
  { family: "gpt-realtime", id: "openai-realtime", provider: "openai" },
11
12
  { family: "grok-voice", id: "xai-realtime", provider: "xai" },
13
+ { family: "gemini-3.8-live", id: "gemini-live", provider: "google" },
12
14
  ];
13
15
  // Matches the bare family name (`gpt-realtime`) and its versions (`gpt-realtime-2.1`, `gpt-realtime-mini`).
14
16
  export const engine = (model) => engines.find((item) => model === item.family || model.startsWith(`${item.family}-`));
@@ -39,6 +41,24 @@ export const connect = Effect.fn("Realtime.connect")(function* (input) {
39
41
  return yield* invalidRequest("xAI Grok Voice only supports WebSocket transport");
40
42
  return yield* clientSecret(resolved.id, XAI_BASE_URL, input.model, input.apiKey);
41
43
  }
44
+ case "gemini-live": {
45
+ if (input.transport.type !== "websocket")
46
+ return yield* invalidRequest("Google Gemini Live only supports WebSocket transport");
47
+ const now = yield* Clock.currentTimeMillis;
48
+ const expiresAt = now + 60_000;
49
+ const data = yield* post(resolved.id, `${GOOGLE_BASE_URL}/auth_tokens`, input.apiKey, {
50
+ uses: 1,
51
+ expireTime: new Date(now + 30 * 60_000).toISOString(),
52
+ newSessionExpireTime: new Date(expiresAt).toISOString(),
53
+ bidiGenerateContentSetup: { ...input.session, model: `models/${input.model}` },
54
+ }, AuthTokenResponse, "x-goog-api-key");
55
+ return {
56
+ type: "websocket",
57
+ url: "wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContentConstrained",
58
+ token: data.name,
59
+ expiresAt: Math.floor(expiresAt / 1000),
60
+ };
61
+ }
42
62
  }
43
63
  });
44
64
  export const Realtime = {
@@ -55,10 +75,15 @@ const ClientSecretResponse = Schema.fromJsonString(Schema.Struct({
55
75
  value: Schema.String,
56
76
  expires_at: Schema.Number,
57
77
  }));
78
+ const AuthTokenResponse = Schema.fromJsonString(Schema.Struct({
79
+ name: Schema.String,
80
+ }));
58
81
  const invalidRequest = (message) => new AIError({ reason: new InvalidRequestError({ message }) });
59
- const post = (route, url, apiKey, body, response) => Effect.gen(function* () {
82
+ const post = (route, url, apiKey, body, response, authHeader) => Effect.gen(function* () {
60
83
  const executor = yield* RequestExecutor.Service;
61
- const res = yield* executor.execute(HttpClientRequest.post(url).pipe(HttpClientRequest.bearerToken(apiKey), body instanceof FormData
84
+ const res = yield* executor.execute(HttpClientRequest.post(url).pipe(authHeader
85
+ ? HttpClientRequest.setHeader(authHeader, Redacted.value(apiKey))
86
+ : HttpClientRequest.bearerToken(apiKey), body instanceof FormData
62
87
  ? HttpClientRequest.bodyFormData(body)
63
88
  : HttpClientRequest.bodyText(encodeJson(body), "application/json")));
64
89
  const http = new HttpContext({ url: res.request.url, status: res.status, headers: res.headers });
@@ -12,5 +12,5 @@ export interface ModelInput {
12
12
  }
13
13
  export declare const model: <Options extends EvaluationOptions = EvaluationOptions>(cfg: ModelInput) => EvaluationModel<Options>;
14
14
  export declare const SystemOne: {
15
- readonly model: <Options extends EvaluationOptions = EvaluationOptions>(cfg: ModelInput) => EvaluationModel<Options>;
15
+ readonly model: typeof model;
16
16
  };
@@ -10,7 +10,7 @@ export type Service = ImageClientService;
10
10
  export declare const ImageClient: {
11
11
  readonly layer: import("effect/Layer").Layer<ImageClientService, never, import("./route/executor-service.js").RequestExecutorService>;
12
12
  readonly generate: (request: ImageRequestFor, options?: import("./generation.js").AwaitOptions) => import("effect/Effect").Effect<ImageResponse, import("./index.js").AIError, ImageClientService>;
13
- readonly stream: (request: ImageRequestFor, options?: import("./generation.js").AwaitOptions) => import("effect/Stream").Stream<import("./generation.js").Observation | {
13
+ readonly stream: (request: ImageRequestFor, options?: import("./generation.js").AwaitOptions) => import("effect/Stream").Stream<{
14
14
  readonly type: "image-partial";
15
15
  readonly index: number;
16
16
  readonly image: import("./media.js").Asset;
@@ -20,11 +20,6 @@ export declare const ImageClient: {
20
20
  readonly image: import("./media.js").Asset;
21
21
  } | {
22
22
  readonly type: "finish";
23
- readonly providerMetadata?: {
24
- readonly [x: string]: {
25
- readonly [x: string]: unknown;
26
- };
27
- } | undefined;
28
23
  readonly usage?: {
29
24
  readonly type: "tokens";
30
25
  readonly input?: number | undefined;
@@ -47,7 +42,7 @@ export declare const ImageClient: {
47
42
  readonly seconds: number;
48
43
  } | undefined;
49
44
  readonly notices?: readonly {
50
- readonly type: "other" | "moderated" | "filtered";
45
+ readonly type: "filtered" | "moderated" | "other";
51
46
  readonly message: string;
52
47
  readonly providerMetadata?: {
53
48
  readonly [x: string]: {
@@ -55,7 +50,12 @@ export declare const ImageClient: {
55
50
  };
56
51
  } | undefined;
57
52
  }[] | undefined;
58
- }, import("./index.js").AIError, ImageClientService>;
53
+ readonly providerMetadata?: {
54
+ readonly [x: string]: {
55
+ readonly [x: string]: unknown;
56
+ };
57
+ } | undefined;
58
+ } | import("./generation.js").Observation, import("./index.js").AIError, ImageClientService>;
59
59
  readonly start: (request: ImageRequestFor) => import("effect/Effect").Effect<import("./generation.js").Generation<ImageResponse>, import("./index.js").AIError, ImageClientService>;
60
60
  readonly resume: (model: import("./image.js").ImageModel<import("./media-model.js").MediaModel.Options>, token: unknown) => import("effect/Effect").Effect<import("./generation.js").Generation<ImageResponse>, import("./index.js").AIError, ImageClientService>;
61
61
  readonly Service: typeof ImageClientService;