@compose-market/sdk 0.7.10 → 0.7.13

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 (212) hide show
  1. package/.speakeasy/a2a.arazzo.yaml +1 -1
  2. package/.speakeasy/memory.arazzo.yaml +1 -1
  3. package/.speakeasy/tests.arazzo.yaml +1 -1
  4. package/CHANGELOG.md +19 -3
  5. package/README.md +9 -7
  6. package/dist/index.d.ts +13 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +49 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/resources/accounts.d.ts +32 -0
  11. package/dist/resources/accounts.d.ts.map +1 -0
  12. package/dist/resources/accounts.js +128 -0
  13. package/dist/resources/accounts.js.map +1 -0
  14. package/dist/resources/channels.d.ts +24 -0
  15. package/dist/resources/channels.d.ts.map +1 -0
  16. package/dist/resources/channels.js +74 -0
  17. package/dist/resources/channels.js.map +1 -0
  18. package/dist/resources/permissions.d.ts +23 -0
  19. package/dist/resources/permissions.d.ts.map +1 -0
  20. package/dist/resources/permissions.js +69 -0
  21. package/dist/resources/permissions.js.map +1 -0
  22. package/dist/types/index.d.ts +119 -58
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/generated/inference/esm/hooks/types.d.ts +4 -3
  27. package/generated/inference/esm/hooks/types.d.ts.map +1 -1
  28. package/generated/inference/esm/lib/config.d.ts +4 -4
  29. package/generated/inference/esm/lib/config.js +4 -4
  30. package/generated/inference/esm/lib/encodings.js +1 -1
  31. package/generated/inference/esm/lib/encodings.js.map +1 -1
  32. package/generated/inference/esm/lib/matchers.js +1 -1
  33. package/generated/inference/esm/lib/matchers.js.map +1 -1
  34. package/generated/inference/esm/lib/primitives.d.ts +1 -0
  35. package/generated/inference/esm/lib/primitives.d.ts.map +1 -1
  36. package/generated/inference/esm/lib/primitives.js +17 -0
  37. package/generated/inference/esm/lib/primitives.js.map +1 -1
  38. package/generated/inference/esm/lib/sdks.d.ts.map +1 -1
  39. package/generated/inference/esm/lib/sdks.js +50 -16
  40. package/generated/inference/esm/lib/sdks.js.map +1 -1
  41. package/generated/inference/esm/models/{compose-attachment-input.d.ts → attachment-input.d.ts} +3 -3
  42. package/generated/inference/esm/models/attachment-input.d.ts.map +1 -0
  43. package/generated/inference/esm/models/{compose-attachment-input.js → attachment-input.js} +4 -4
  44. package/generated/inference/esm/models/attachment-input.js.map +1 -0
  45. package/generated/inference/esm/models/{compose-attachment.d.ts → attachment.d.ts} +2 -2
  46. package/generated/inference/esm/models/attachment.d.ts.map +1 -0
  47. package/generated/inference/esm/models/{compose-attachment.js → attachment.js} +3 -3
  48. package/generated/inference/esm/models/attachment.js.map +1 -0
  49. package/generated/inference/esm/models/audio-speech-create-request.d.ts +1 -4
  50. package/generated/inference/esm/models/audio-speech-create-request.d.ts.map +1 -1
  51. package/generated/inference/esm/models/audio-speech-create-request.js +1 -3
  52. package/generated/inference/esm/models/audio-speech-create-request.js.map +1 -1
  53. package/generated/inference/esm/models/audio-transcription-create-request.d.ts +1 -4
  54. package/generated/inference/esm/models/audio-transcription-create-request.d.ts.map +1 -1
  55. package/generated/inference/esm/models/audio-transcription-create-request.js +1 -3
  56. package/generated/inference/esm/models/audio-transcription-create-request.js.map +1 -1
  57. package/generated/inference/esm/models/audio-transcription-response.d.ts +1 -1
  58. package/generated/inference/esm/models/audio-transcription-response.d.ts.map +1 -1
  59. package/generated/inference/esm/models/audio-transcription-response.js +3 -8
  60. package/generated/inference/esm/models/audio-transcription-response.js.map +1 -1
  61. package/generated/inference/esm/models/canonical-modality.d.ts +1 -0
  62. package/generated/inference/esm/models/canonical-modality.d.ts.map +1 -1
  63. package/generated/inference/esm/models/canonical-modality.js +1 -0
  64. package/generated/inference/esm/models/canonical-modality.js.map +1 -1
  65. package/generated/inference/esm/models/chat-completion.d.ts +1 -1
  66. package/generated/inference/esm/models/chat-completion.d.ts.map +1 -1
  67. package/generated/inference/esm/models/chat-completion.js +3 -8
  68. package/generated/inference/esm/models/chat-completion.js.map +1 -1
  69. package/generated/inference/esm/models/chat-completions-create-request.d.ts +2 -5
  70. package/generated/inference/esm/models/chat-completions-create-request.d.ts.map +1 -1
  71. package/generated/inference/esm/models/chat-completions-create-request.js +2 -4
  72. package/generated/inference/esm/models/chat-completions-create-request.js.map +1 -1
  73. package/generated/inference/esm/models/embeddings-create-request.d.ts +1 -4
  74. package/generated/inference/esm/models/embeddings-create-request.d.ts.map +1 -1
  75. package/generated/inference/esm/models/embeddings-create-request.js +1 -3
  76. package/generated/inference/esm/models/embeddings-create-request.js.map +1 -1
  77. package/generated/inference/esm/models/embeddings-response.d.ts +1 -1
  78. package/generated/inference/esm/models/embeddings-response.d.ts.map +1 -1
  79. package/generated/inference/esm/models/embeddings-response.js +3 -8
  80. package/generated/inference/esm/models/embeddings-response.js.map +1 -1
  81. package/generated/inference/esm/models/images-generate-request.d.ts +1 -4
  82. package/generated/inference/esm/models/images-generate-request.d.ts.map +1 -1
  83. package/generated/inference/esm/models/images-generate-request.js +1 -3
  84. package/generated/inference/esm/models/images-generate-request.js.map +1 -1
  85. package/generated/inference/esm/models/images-response.d.ts +1 -1
  86. package/generated/inference/esm/models/images-response.d.ts.map +1 -1
  87. package/generated/inference/esm/models/images-response.js +3 -8
  88. package/generated/inference/esm/models/images-response.js.map +1 -1
  89. package/generated/inference/esm/models/index.d.ts +5 -5
  90. package/generated/inference/esm/models/index.d.ts.map +1 -1
  91. package/generated/inference/esm/models/index.js +5 -5
  92. package/generated/inference/esm/models/index.js.map +1 -1
  93. package/generated/inference/esm/models/{chat-message.d.ts → message.d.ts} +2 -2
  94. package/generated/inference/esm/models/message.d.ts.map +1 -0
  95. package/generated/inference/esm/models/{chat-message.js → message.js} +3 -3
  96. package/generated/inference/esm/models/message.js.map +1 -0
  97. package/generated/inference/esm/models/model.d.ts +3 -0
  98. package/generated/inference/esm/models/model.d.ts.map +1 -1
  99. package/generated/inference/esm/models/model.js +3 -0
  100. package/generated/inference/esm/models/model.js.map +1 -1
  101. package/generated/inference/esm/models/operation-model.d.ts +2 -1
  102. package/generated/inference/esm/models/operation-model.d.ts.map +1 -1
  103. package/generated/inference/esm/models/operation-model.js +2 -1
  104. package/generated/inference/esm/models/operation-model.js.map +1 -1
  105. package/generated/inference/esm/models/operations/inference-images-edit.d.ts +0 -2
  106. package/generated/inference/esm/models/operations/inference-images-edit.d.ts.map +1 -1
  107. package/generated/inference/esm/models/operations/inference-images-edit.js +0 -1
  108. package/generated/inference/esm/models/operations/inference-images-edit.js.map +1 -1
  109. package/generated/inference/esm/models/{compose-receipt-body.d.ts → receipt-body.d.ts} +2 -2
  110. package/generated/inference/esm/models/receipt-body.d.ts.map +1 -0
  111. package/generated/inference/esm/models/{compose-receipt-body.js → receipt-body.js} +4 -3
  112. package/generated/inference/esm/models/receipt-body.js.map +1 -0
  113. package/generated/inference/esm/models/{compose-receipt-line-item.d.ts → receipt-line-item.d.ts} +1 -1
  114. package/generated/inference/esm/models/receipt-line-item.d.ts.map +1 -0
  115. package/generated/inference/esm/models/{compose-receipt-line-item.js → receipt-line-item.js} +1 -1
  116. package/generated/inference/esm/models/receipt-line-item.js.map +1 -0
  117. package/generated/inference/esm/models/response-object.d.ts +1 -1
  118. package/generated/inference/esm/models/response-object.d.ts.map +1 -1
  119. package/generated/inference/esm/models/response-object.js +1 -2
  120. package/generated/inference/esm/models/response-object.js.map +1 -1
  121. package/generated/inference/esm/models/responses-create-request.d.ts +1 -4
  122. package/generated/inference/esm/models/responses-create-request.d.ts.map +1 -1
  123. package/generated/inference/esm/models/responses-create-request.js +1 -3
  124. package/generated/inference/esm/models/responses-create-request.js.map +1 -1
  125. package/generated/inference/esm/models/video-generate-request.d.ts +1 -4
  126. package/generated/inference/esm/models/video-generate-request.d.ts.map +1 -1
  127. package/generated/inference/esm/models/video-generate-request.js +1 -3
  128. package/generated/inference/esm/models/video-generate-request.js.map +1 -1
  129. package/generated/inference/esm/models/video-generate-response.d.ts +1 -1
  130. package/generated/inference/esm/models/video-generate-response.d.ts.map +1 -1
  131. package/generated/inference/esm/models/video-generate-response.js +1 -2
  132. package/generated/inference/esm/models/video-generate-response.js.map +1 -1
  133. package/generated/inference/esm/types/async.d.ts.map +1 -1
  134. package/generated/inference/esm/types/async.js +8 -7
  135. package/generated/inference/esm/types/async.js.map +1 -1
  136. package/generated/inference/esm/types/primitives.d.ts +0 -2
  137. package/generated/inference/esm/types/primitives.d.ts.map +1 -1
  138. package/generated/inference/esm/types/primitives.js +0 -22
  139. package/generated/inference/esm/types/primitives.js.map +1 -1
  140. package/generated/inference/package.json +1 -1
  141. package/generated/inference/src/hooks/types.ts +4 -3
  142. package/generated/inference/src/lib/config.ts +4 -4
  143. package/generated/inference/src/lib/encodings.ts +1 -1
  144. package/generated/inference/src/lib/matchers.ts +1 -1
  145. package/generated/inference/src/lib/primitives.ts +16 -0
  146. package/generated/inference/src/lib/sdks.ts +54 -17
  147. package/generated/inference/src/models/{compose-attachment-input.ts → attachment-input.ts} +5 -9
  148. package/generated/inference/src/models/{compose-attachment.ts → attachment.ts} +2 -6
  149. package/generated/inference/src/models/audio-speech-create-request.ts +1 -8
  150. package/generated/inference/src/models/audio-transcription-create-request.ts +1 -8
  151. package/generated/inference/src/models/audio-transcription-response.ts +6 -17
  152. package/generated/inference/src/models/canonical-modality.ts +1 -0
  153. package/generated/inference/src/models/chat-completion.ts +11 -22
  154. package/generated/inference/src/models/chat-completions-create-request.ts +5 -12
  155. package/generated/inference/src/models/embeddings-create-request.ts +1 -8
  156. package/generated/inference/src/models/embeddings-response.ts +9 -20
  157. package/generated/inference/src/models/images-generate-request.ts +1 -8
  158. package/generated/inference/src/models/images-response.ts +7 -18
  159. package/generated/inference/src/models/index.ts +5 -5
  160. package/generated/inference/src/models/{chat-message.ts → message.ts} +24 -26
  161. package/generated/inference/src/models/model.ts +8 -0
  162. package/generated/inference/src/models/operation-model.ts +4 -2
  163. package/generated/inference/src/models/operations/inference-images-edit.ts +1 -6
  164. package/generated/inference/src/models/{compose-receipt-body.ts → receipt-body.ts} +27 -29
  165. package/generated/inference/src/models/response-object.ts +1 -5
  166. package/generated/inference/src/models/responses-create-request.ts +1 -8
  167. package/generated/inference/src/models/video-generate-request.ts +1 -8
  168. package/generated/inference/src/models/video-generate-response.ts +1 -5
  169. package/generated/inference/src/types/async.ts +8 -7
  170. package/generated/inference/src/types/primitives.ts +0 -26
  171. package/generated/manowar/esm/lib/config.d.ts +3 -3
  172. package/generated/manowar/esm/lib/config.js +3 -3
  173. package/generated/manowar/package.json +1 -1
  174. package/generated/manowar/src/lib/config.ts +3 -3
  175. package/generated/memory/esm/lib/config.d.ts +3 -3
  176. package/generated/memory/esm/lib/config.js +3 -3
  177. package/generated/memory/package.json +1 -1
  178. package/generated/memory/src/lib/config.ts +3 -3
  179. package/generated/x402/esm/lib/config.d.ts +3 -3
  180. package/generated/x402/esm/lib/config.js +3 -3
  181. package/generated/x402/package.json +1 -1
  182. package/generated/x402/src/lib/config.ts +3 -3
  183. package/package.json +2 -2
  184. package/specs/inference.openapi.yaml +3 -1
  185. package/specs/manowar.openapi.yaml +1 -1
  186. package/specs/memory.openapi.yaml +1 -1
  187. package/specs/x402.openapi.yaml +1 -1
  188. package/dist/resources/backpack.d.ts +0 -49
  189. package/dist/resources/backpack.d.ts.map +0 -1
  190. package/dist/resources/backpack.js +0 -188
  191. package/dist/resources/backpack.js.map +0 -1
  192. package/generated/inference/esm/lib/dlv.d.ts +0 -14
  193. package/generated/inference/esm/lib/dlv.d.ts.map +0 -1
  194. package/generated/inference/esm/lib/dlv.js +0 -46
  195. package/generated/inference/esm/lib/dlv.js.map +0 -1
  196. package/generated/inference/esm/lib/is-plain-object.d.ts +0 -2
  197. package/generated/inference/esm/lib/is-plain-object.d.ts.map +0 -1
  198. package/generated/inference/esm/lib/is-plain-object.js +0 -38
  199. package/generated/inference/esm/lib/is-plain-object.js.map +0 -1
  200. package/generated/inference/esm/models/chat-message.d.ts.map +0 -1
  201. package/generated/inference/esm/models/chat-message.js.map +0 -1
  202. package/generated/inference/esm/models/compose-attachment-input.d.ts.map +0 -1
  203. package/generated/inference/esm/models/compose-attachment-input.js.map +0 -1
  204. package/generated/inference/esm/models/compose-attachment.d.ts.map +0 -1
  205. package/generated/inference/esm/models/compose-attachment.js.map +0 -1
  206. package/generated/inference/esm/models/compose-receipt-body.d.ts.map +0 -1
  207. package/generated/inference/esm/models/compose-receipt-body.js.map +0 -1
  208. package/generated/inference/esm/models/compose-receipt-line-item.d.ts.map +0 -1
  209. package/generated/inference/esm/models/compose-receipt-line-item.js.map +0 -1
  210. package/generated/inference/src/lib/dlv.ts +0 -53
  211. package/generated/inference/src/lib/is-plain-object.ts +0 -43
  212. /package/generated/inference/src/models/{compose-receipt-line-item.ts → receipt-line-item.ts} +0 -0
@@ -23,6 +23,7 @@ import {
23
23
  matchContentType,
24
24
  } from "./http.js";
25
25
  import { Logger } from "./logger.js";
26
+ import { combineSignals } from "./primitives.js";
26
27
  import { retry, RetryConfig } from "./retries.js";
27
28
  import { SecurityState } from "./security.js";
28
29
 
@@ -127,27 +128,55 @@ export class ClientSDK {
127
128
  if (path) {
128
129
  baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
129
130
  reqURL = new URL(path, baseURL);
131
+ if (!reqURL.search && baseURL.search) {
132
+ reqURL.search = baseURL.search;
133
+ }
130
134
  } else {
131
135
  reqURL = baseURL;
132
136
  }
133
137
  reqURL.hash = "";
134
138
 
135
- let finalQuery = query || "";
136
-
137
- const secQuery: string[] = [];
138
- for (const [k, v] of Object.entries(security?.queryParams || {})) {
139
- const q = encodeForm(k, v, { charEncoding: "percent" });
140
- if (typeof q !== "undefined") {
141
- secQuery.push(q);
139
+ // Appends already-encoded query pairs to a query string, replacing any
140
+ // existing pairs with the same key so later sources take precedence.
141
+ const mergeQuery = (current: string, additions: string): string => {
142
+ if (!additions) {
143
+ return current;
142
144
  }
143
- }
144
- if (secQuery.length) {
145
- finalQuery += `&${secQuery.join("&")}`;
146
- }
145
+ const additionKeys = new Set(
146
+ additions
147
+ .split("&")
148
+ .filter((pair) => pair !== "")
149
+ .map((pair) => pair.split("=")[0] ?? ""),
150
+ );
151
+ const kept = current.split("&").filter((pair) => {
152
+ return pair !== "" && !additionKeys.has(pair.split("=")[0] ?? "");
153
+ });
154
+ return [...kept, additions].join("&");
155
+ };
156
+
157
+ const encodeQueryRecord = (record: Record<string, unknown>): string => {
158
+ return Object.entries(record)
159
+ .map(([k, v]) => {
160
+ if (v == null) {
161
+ return undefined;
162
+ }
163
+ const value = v;
164
+ return encodeForm(k, value, {
165
+ explode: Array.isArray(value),
166
+ charEncoding: "percent",
167
+ });
168
+ })
169
+ .filter((pair): pair is string => typeof pair !== "undefined")
170
+ .join("&");
171
+ };
172
+
173
+ const finalQuery = [
174
+ query || "",
175
+ encodeQueryRecord(security?.queryParams || {}),
176
+ ].reduce(mergeQuery, reqURL.search.slice(1));
147
177
 
148
178
  if (finalQuery) {
149
- const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
150
- reqURL.search = `?${q}`;
179
+ reqURL.search = `?${finalQuery}`;
151
180
  }
152
181
 
153
182
  const headers = new Headers(opHeaders);
@@ -193,9 +222,8 @@ export class ClientSDK {
193
222
  ...options?.fetchOptions,
194
223
  ...options,
195
224
  };
196
- if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
197
- const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
198
- fetchOptions.signal = timeoutSignal;
225
+ if (!fetchOptions?.signal && conf.timeoutMs != null && conf.timeoutMs > 0) {
226
+ context.timeoutMs = conf.timeoutMs;
199
227
  }
200
228
 
201
229
  if (conf.body instanceof ReadableStream) {
@@ -242,10 +270,19 @@ export class ClientSDK {
242
270
  >
243
271
  > {
244
272
  const { context, isErrorStatusCode } = options;
273
+ const timeoutMs = context.timeoutMs;
245
274
 
246
275
  return retry(
247
276
  async () => {
248
- const req = await this.#hooks.beforeRequest(context, request.clone());
277
+ const cloned = request.clone();
278
+ let attempt = cloned;
279
+ if (timeoutMs != null && timeoutMs > 0) {
280
+ const timeoutSignal = AbortSignal.timeout(timeoutMs);
281
+ const combined = combineSignals(cloned.signal, timeoutSignal)
282
+ ?? timeoutSignal;
283
+ attempt = new Request(cloned, { signal: combined });
284
+ }
285
+ const req = await this.#hooks.beforeRequest(context, attempt);
249
286
  await logRequest(this.#logger, req).catch((e) =>
250
287
  this.#logger?.log("Failed to log request:", e)
251
288
  );
@@ -8,14 +8,12 @@ import {
8
8
  Attachment,
9
9
  Attachment$Outbound,
10
10
  Attachment$outboundSchema,
11
- } from "./compose-attachment.js";
11
+ } from "./attachment.js";
12
12
 
13
13
  export type AttachmentInput = Attachment | string;
14
14
 
15
15
  /** @internal */
16
- export type AttachmentInput$Outbound =
17
- | Attachment$Outbound
18
- | string;
16
+ export type AttachmentInput$Outbound = Attachment$Outbound | string;
19
17
 
20
18
  /** @internal */
21
19
  export const AttachmentInput$outboundSchema: z.ZodMiniType<
@@ -23,10 +21,8 @@ export const AttachmentInput$outboundSchema: z.ZodMiniType<
23
21
  AttachmentInput
24
22
  > = smartUnion([Attachment$outboundSchema, z.string()]);
25
23
 
26
- export function composeAttachmentInputToJSON(
27
- composeAttachmentInput: AttachmentInput,
24
+ export function attachmentInputToJSON(
25
+ attachmentInput: AttachmentInput,
28
26
  ): string {
29
- return JSON.stringify(
30
- AttachmentInput$outboundSchema.parse(composeAttachmentInput),
31
- );
27
+ return JSON.stringify(AttachmentInput$outboundSchema.parse(attachmentInput));
32
28
  }
@@ -104,10 +104,6 @@ export const Attachment$outboundSchema: z.ZodMiniType<
104
104
  z.any(),
105
105
  );
106
106
 
107
- export function composeAttachmentToJSON(
108
- composeAttachment: Attachment,
109
- ): string {
110
- return JSON.stringify(
111
- Attachment$outboundSchema.parse(composeAttachment),
112
- );
107
+ export function attachmentToJSON(attachment: Attachment): string {
108
+ return JSON.stringify(Attachment$outboundSchema.parse(attachment));
113
109
  }
@@ -8,11 +8,7 @@ import {
8
8
  AttachmentInput,
9
9
  AttachmentInput$Outbound,
10
10
  AttachmentInput$outboundSchema,
11
- } from "./compose-attachment-input.js";
12
- import {
13
- ModelProvider,
14
- ModelProvider$outboundSchema,
15
- } from "./model-provider.js";
11
+ } from "./attachment-input.js";
16
12
 
17
13
  export type AudioSpeechCreateRequest = {
18
14
  model: string;
@@ -23,7 +19,6 @@ export type AudioSpeechCreateRequest = {
23
19
  responseFormat?: string | undefined;
24
20
  speed?: number | undefined;
25
21
  user?: string | undefined;
26
- provider?: ModelProvider | undefined;
27
22
  [additionalProperties: string]: unknown;
28
23
  };
29
24
 
@@ -37,7 +32,6 @@ export type AudioSpeechCreateRequest$Outbound = {
37
32
  response_format?: string | undefined;
38
33
  speed?: number | undefined;
39
34
  user?: string | undefined;
40
- provider?: string | undefined;
41
35
  [additionalProperties: string]: unknown;
42
36
  };
43
37
 
@@ -56,7 +50,6 @@ export const AudioSpeechCreateRequest$outboundSchema: z.ZodMiniType<
56
50
  responseFormat: z.optional(z.string()),
57
51
  speed: z.optional(z.number()),
58
52
  user: z.optional(z.string()),
59
- provider: z.optional(ModelProvider$outboundSchema),
60
53
  }),
61
54
  z.any(),
62
55
  ),
@@ -9,11 +9,7 @@ import {
9
9
  AttachmentInput,
10
10
  AttachmentInput$Outbound,
11
11
  AttachmentInput$outboundSchema,
12
- } from "./compose-attachment-input.js";
13
- import {
14
- ModelProvider,
15
- ModelProvider$outboundSchema,
16
- } from "./model-provider.js";
12
+ } from "./attachment-input.js";
17
13
 
18
14
  export const TimestampGranularity = {
19
15
  Word: "word",
@@ -32,7 +28,6 @@ export type AudioTranscriptionCreateRequest = {
32
28
  prompt?: string | undefined;
33
29
  temperature?: number | undefined;
34
30
  timestampGranularities?: Array<TimestampGranularity> | undefined;
35
- provider?: ModelProvider | undefined;
36
31
  [additionalProperties: string]: unknown;
37
32
  };
38
33
 
@@ -53,7 +48,6 @@ export type AudioTranscriptionCreateRequest$Outbound = {
53
48
  prompt?: string | undefined;
54
49
  temperature?: number | undefined;
55
50
  timestamp_granularities?: Array<string> | undefined;
56
- provider?: string | undefined;
57
51
  [additionalProperties: string]: unknown;
58
52
  };
59
53
 
@@ -76,7 +70,6 @@ export const AudioTranscriptionCreateRequest$outboundSchema: z.ZodMiniType<
76
70
  timestampGranularities: z.optional(
77
71
  z.array(TimestampGranularity$outboundSchema),
78
72
  ),
79
- provider: z.optional(ModelProvider$outboundSchema),
80
73
  }),
81
74
  z.any(),
82
75
  ),
@@ -3,15 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
- import { remap as remap$ } from "../lib/primitives.js";
7
6
  import { safeParse } from "../lib/schemas.js";
8
7
  import { Result as SafeParseResult } from "../types/fp.js";
9
8
  import * as types from "../types/primitives.js";
10
- import {
11
- ReceiptBody,
12
- ReceiptBody$inboundSchema,
13
- } from "./compose-receipt-body.js";
14
9
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+ import { ReceiptBody, ReceiptBody$inboundSchema } from "./receipt-body.js";
15
11
 
16
12
  export type AudioTranscriptionResponse = {
17
13
  text: string;
@@ -23,19 +19,12 @@ export type AudioTranscriptionResponse = {
23
19
  export const AudioTranscriptionResponse$inboundSchema: z.ZodMiniType<
24
20
  AudioTranscriptionResponse,
25
21
  unknown
26
- > = z.pipe(
27
- z.catchall(
28
- z.object({
29
- text: types.string(),
30
- receipt: types.optional(ReceiptBody$inboundSchema),
31
- }),
32
- z.any(),
33
- ),
34
- z.transform((v) => {
35
- return remap$(v, {
36
- "receipt": "receipt",
37
- });
22
+ > = z.catchall(
23
+ z.object({
24
+ text: types.string(),
25
+ receipt: types.optional(ReceiptBody$inboundSchema),
38
26
  }),
27
+ z.any(),
39
28
  );
40
29
 
41
30
  export function audioTranscriptionResponseFromJSON(
@@ -12,6 +12,7 @@ export const CanonicalModality = {
12
12
  Audio: "audio",
13
13
  Video: "video",
14
14
  Embedding: "embedding",
15
+ Realtime: "realtime",
15
16
  } as const;
16
17
  export type CanonicalModality = OpenEnum<typeof CanonicalModality>;
17
18
 
@@ -3,15 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
- import { remap as remap$ } from "../lib/primitives.js";
7
6
  import { safeParse } from "../lib/schemas.js";
8
7
  import { Result as SafeParseResult } from "../types/fp.js";
9
8
  import * as types from "../types/primitives.js";
10
- import {
11
- ReceiptBody,
12
- ReceiptBody$inboundSchema,
13
- } from "./compose-receipt-body.js";
14
9
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+ import { ReceiptBody, ReceiptBody$inboundSchema } from "./receipt-body.js";
15
11
 
16
12
  export type ChatCompletion = {
17
13
  id: string;
@@ -28,24 +24,17 @@ export type ChatCompletion = {
28
24
  export const ChatCompletion$inboundSchema: z.ZodMiniType<
29
25
  ChatCompletion,
30
26
  unknown
31
- > = z.pipe(
32
- z.catchall(
33
- z.object({
34
- id: types.string(),
35
- object: types.literal("chat.completion"),
36
- created: types.number(),
37
- model: types.string(),
38
- choices: z.array(z.record(z.string(), z.any())),
39
- usage: z.record(z.string(), z.any()),
40
- receipt: types.optional(ReceiptBody$inboundSchema),
41
- }),
42
- z.any(),
43
- ),
44
- z.transform((v) => {
45
- return remap$(v, {
46
- "receipt": "receipt",
47
- });
27
+ > = z.catchall(
28
+ z.object({
29
+ id: types.string(),
30
+ object: types.literal("chat.completion"),
31
+ created: types.number(),
32
+ model: types.string(),
33
+ choices: z.array(z.record(z.string(), z.any())),
34
+ usage: z.record(z.string(), z.any()),
35
+ receipt: types.optional(ReceiptBody$inboundSchema),
48
36
  }),
37
+ z.any(),
49
38
  );
50
39
 
51
40
  export function chatCompletionFromJSON(
@@ -5,20 +5,16 @@
5
5
  import * as z from "zod/v4-mini";
6
6
  import { remap as remap$ } from "../lib/primitives.js";
7
7
  import { smartUnion } from "../types/smart-union.js";
8
- import {
9
- Message,
10
- Message$Outbound,
11
- Message$outboundSchema,
12
- } from "./chat-message.js";
13
8
  import {
14
9
  AttachmentInput,
15
10
  AttachmentInput$Outbound,
16
11
  AttachmentInput$outboundSchema,
17
- } from "./compose-attachment-input.js";
12
+ } from "./attachment-input.js";
18
13
  import {
19
- ModelProvider,
20
- ModelProvider$outboundSchema,
21
- } from "./model-provider.js";
14
+ Message,
15
+ Message$Outbound,
16
+ Message$outboundSchema,
17
+ } from "./message.js";
22
18
  import {
23
19
  ReasoningOptions,
24
20
  ReasoningOptions$Outbound,
@@ -39,7 +35,6 @@ export type Stop = string | Array<string>;
39
35
 
40
36
  export type ChatCompletionsCreateRequest = {
41
37
  model: string;
42
- provider?: ModelProvider | undefined;
43
38
  stream?: boolean | undefined;
44
39
  messages: Array<Message>;
45
40
  attachments?: Array<AttachmentInput> | undefined;
@@ -86,7 +81,6 @@ export function stopToJSON(stop: Stop): string {
86
81
  /** @internal */
87
82
  export type ChatCompletionsCreateRequest$Outbound = {
88
83
  model: string;
89
- provider?: string | undefined;
90
84
  stream?: boolean | undefined;
91
85
  messages: Array<Message$Outbound>;
92
86
  attachments?: Array<AttachmentInput$Outbound> | undefined;
@@ -127,7 +121,6 @@ export const ChatCompletionsCreateRequest$outboundSchema: z.ZodMiniType<
127
121
  z.catchall(
128
122
  z.object({
129
123
  model: z.string(),
130
- provider: z.optional(ModelProvider$outboundSchema),
131
124
  stream: z.optional(z.boolean()),
132
125
  messages: z.array(Message$outboundSchema),
133
126
  attachments: z.optional(z.array(AttachmentInput$outboundSchema)),
@@ -9,11 +9,7 @@ import {
9
9
  AttachmentInput,
10
10
  AttachmentInput$Outbound,
11
11
  AttachmentInput$outboundSchema,
12
- } from "./compose-attachment-input.js";
13
- import {
14
- ModelProvider,
15
- ModelProvider$outboundSchema,
16
- } from "./model-provider.js";
12
+ } from "./attachment-input.js";
17
13
 
18
14
  export type Input = string | Array<string>;
19
15
 
@@ -22,7 +18,6 @@ export type EmbeddingsCreateRequest = {
22
18
  input: string | Array<string>;
23
19
  attachments?: Array<AttachmentInput> | undefined;
24
20
  attachment?: AttachmentInput | undefined;
25
- provider?: ModelProvider | undefined;
26
21
  dimensions?: number | undefined;
27
22
  encodingFormat?: string | undefined;
28
23
  user?: string | undefined;
@@ -46,7 +41,6 @@ export type EmbeddingsCreateRequest$Outbound = {
46
41
  input: string | Array<string>;
47
42
  attachments?: Array<AttachmentInput$Outbound> | undefined;
48
43
  attachment?: AttachmentInput$Outbound | undefined;
49
- provider?: string | undefined;
50
44
  dimensions?: number | undefined;
51
45
  encoding_format?: string | undefined;
52
46
  user?: string | undefined;
@@ -64,7 +58,6 @@ export const EmbeddingsCreateRequest$outboundSchema: z.ZodMiniType<
64
58
  input: smartUnion([z.string(), z.array(z.string())]),
65
59
  attachments: z.optional(z.array(AttachmentInput$outboundSchema)),
66
60
  attachment: z.optional(AttachmentInput$outboundSchema),
67
- provider: z.optional(ModelProvider$outboundSchema),
68
61
  dimensions: z.optional(z.int()),
69
62
  encodingFormat: z.optional(z.string()),
70
63
  user: z.optional(z.string()),
@@ -3,15 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
- import { remap as remap$ } from "../lib/primitives.js";
7
6
  import { safeParse } from "../lib/schemas.js";
8
7
  import { Result as SafeParseResult } from "../types/fp.js";
9
8
  import * as types from "../types/primitives.js";
10
- import {
11
- ReceiptBody,
12
- ReceiptBody$inboundSchema,
13
- } from "./compose-receipt-body.js";
14
9
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+ import { ReceiptBody, ReceiptBody$inboundSchema } from "./receipt-body.js";
15
11
 
16
12
  export type EmbeddingsResponse = {
17
13
  object: "list";
@@ -26,22 +22,15 @@ export type EmbeddingsResponse = {
26
22
  export const EmbeddingsResponse$inboundSchema: z.ZodMiniType<
27
23
  EmbeddingsResponse,
28
24
  unknown
29
- > = z.pipe(
30
- z.catchall(
31
- z.object({
32
- object: types.literal("list"),
33
- data: z.array(z.record(z.string(), z.any())),
34
- model: types.string(),
35
- usage: z.record(z.string(), z.any()),
36
- receipt: types.optional(ReceiptBody$inboundSchema),
37
- }),
38
- z.any(),
39
- ),
40
- z.transform((v) => {
41
- return remap$(v, {
42
- "receipt": "receipt",
43
- });
25
+ > = z.catchall(
26
+ z.object({
27
+ object: types.literal("list"),
28
+ data: z.array(z.record(z.string(), z.any())),
29
+ model: types.string(),
30
+ usage: z.record(z.string(), z.any()),
31
+ receipt: types.optional(ReceiptBody$inboundSchema),
44
32
  }),
33
+ z.any(),
45
34
  );
46
35
 
47
36
  export function embeddingsResponseFromJSON(
@@ -8,11 +8,7 @@ import {
8
8
  AttachmentInput,
9
9
  AttachmentInput$Outbound,
10
10
  AttachmentInput$outboundSchema,
11
- } from "./compose-attachment-input.js";
12
- import {
13
- ModelProvider,
14
- ModelProvider$outboundSchema,
15
- } from "./model-provider.js";
11
+ } from "./attachment-input.js";
16
12
 
17
13
  export type ImagesGenerateRequest = {
18
14
  model: string;
@@ -25,7 +21,6 @@ export type ImagesGenerateRequest = {
25
21
  responseFormat?: string | undefined;
26
22
  style?: string | undefined;
27
23
  user?: string | undefined;
28
- provider?: ModelProvider | undefined;
29
24
  [additionalProperties: string]: unknown;
30
25
  };
31
26
 
@@ -41,7 +36,6 @@ export type ImagesGenerateRequest$Outbound = {
41
36
  response_format?: string | undefined;
42
37
  style?: string | undefined;
43
38
  user?: string | undefined;
44
- provider?: string | undefined;
45
39
  [additionalProperties: string]: unknown;
46
40
  };
47
41
 
@@ -62,7 +56,6 @@ export const ImagesGenerateRequest$outboundSchema: z.ZodMiniType<
62
56
  responseFormat: z.optional(z.string()),
63
57
  style: z.optional(z.string()),
64
58
  user: z.optional(z.string()),
65
- provider: z.optional(ModelProvider$outboundSchema),
66
59
  }),
67
60
  z.any(),
68
61
  ),
@@ -3,15 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
- import { remap as remap$ } from "../lib/primitives.js";
7
6
  import { safeParse } from "../lib/schemas.js";
8
7
  import { Result as SafeParseResult } from "../types/fp.js";
9
8
  import * as types from "../types/primitives.js";
10
- import {
11
- ReceiptBody,
12
- ReceiptBody$inboundSchema,
13
- } from "./compose-receipt-body.js";
14
9
  import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+ import { ReceiptBody, ReceiptBody$inboundSchema } from "./receipt-body.js";
15
11
 
16
12
  export type ImagesResponse = {
17
13
  created: number;
@@ -24,20 +20,13 @@ export type ImagesResponse = {
24
20
  export const ImagesResponse$inboundSchema: z.ZodMiniType<
25
21
  ImagesResponse,
26
22
  unknown
27
- > = z.pipe(
28
- z.catchall(
29
- z.object({
30
- created: types.number(),
31
- data: z.array(z.record(z.string(), z.any())),
32
- receipt: types.optional(ReceiptBody$inboundSchema),
33
- }),
34
- z.any(),
35
- ),
36
- z.transform((v) => {
37
- return remap$(v, {
38
- "receipt": "receipt",
39
- });
23
+ > = z.catchall(
24
+ z.object({
25
+ created: types.number(),
26
+ data: z.array(z.record(z.string(), z.any())),
27
+ receipt: types.optional(ReceiptBody$inboundSchema),
40
28
  }),
29
+ z.any(),
41
30
  );
42
31
 
43
32
  export function imagesResponseFromJSON(
@@ -2,23 +2,21 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
+ export * from "./attachment-input.js";
6
+ export * from "./attachment.js";
5
7
  export * from "./audio-speech-create-request.js";
6
8
  export * from "./audio-transcription-create-request.js";
7
9
  export * from "./audio-transcription-response.js";
8
10
  export * from "./canonical-modality.js";
9
11
  export * from "./chat-completion.js";
10
12
  export * from "./chat-completions-create-request.js";
11
- export * from "./chat-message.js";
12
- export * from "./compose-attachment-input.js";
13
- export * from "./compose-attachment.js";
14
- export * from "./compose-receipt-body.js";
15
- export * from "./compose-receipt-line-item.js";
16
13
  export * from "./embeddings-create-request.js";
17
14
  export * from "./embeddings-response.js";
18
15
  export * from "./error-envelope.js";
19
16
  export * from "./health-response.js";
20
17
  export * from "./images-generate-request.js";
21
18
  export * from "./images-response.js";
19
+ export * from "./message.js";
22
20
  export * from "./modality-catalog-entry.js";
23
21
  export * from "./modality-list-response.js";
24
22
  export * from "./model-list-response.js";
@@ -36,6 +34,8 @@ export * from "./payment-required-error.js";
36
34
  export * from "./payment-requirements.js";
37
35
  export * from "./pricing-unit.js";
38
36
  export * from "./reasoning-options.js";
37
+ export * from "./receipt-body.js";
38
+ export * from "./receipt-line-item.js";
39
39
  export * from "./response-format.js";
40
40
  export * from "./response-object.js";
41
41
  export * from "./responses-create-request.js";
@@ -52,32 +52,30 @@ export type Message$Outbound = {
52
52
  };
53
53
 
54
54
  /** @internal */
55
- export const Message$outboundSchema: z.ZodMiniType<
56
- Message$Outbound,
57
- Message
58
- > = z.pipe(
59
- z.catchall(
60
- z.object({
61
- role: Role$outboundSchema,
62
- content: z.nullable(
63
- smartUnion([z.string(), z.array(z.record(z.string(), z.any()))]),
64
- ),
65
- name: z.optional(z.string()),
66
- toolCallId: z.optional(z.string()),
67
- toolCalls: z.optional(z.array(z.record(z.string(), z.any()))),
68
- }),
69
- z.any(),
70
- ),
71
- z.transform((v) => {
72
- return {
73
- ...remap$(v, {
74
- toolCallId: "tool_call_id",
75
- toolCalls: "tool_calls",
55
+ export const Message$outboundSchema: z.ZodMiniType<Message$Outbound, Message> =
56
+ z.pipe(
57
+ z.catchall(
58
+ z.object({
59
+ role: Role$outboundSchema,
60
+ content: z.nullable(
61
+ smartUnion([z.string(), z.array(z.record(z.string(), z.any()))]),
62
+ ),
63
+ name: z.optional(z.string()),
64
+ toolCallId: z.optional(z.string()),
65
+ toolCalls: z.optional(z.array(z.record(z.string(), z.any()))),
76
66
  }),
77
- };
78
- }),
79
- );
67
+ z.any(),
68
+ ),
69
+ z.transform((v) => {
70
+ return {
71
+ ...remap$(v, {
72
+ toolCallId: "tool_call_id",
73
+ toolCalls: "tool_calls",
74
+ }),
75
+ };
76
+ }),
77
+ );
80
78
 
81
- export function chatMessageToJSON(chatMessage: Message): string {
82
- return JSON.stringify(Message$outboundSchema.parse(chatMessage));
79
+ export function messageToJSON(message: Message): string {
80
+ return JSON.stringify(Message$outboundSchema.parse(message));
83
81
  }