@kaana.ai/contracts 0.0.0-stage → 4.3.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 (79) hide show
  1. package/LICENSE +673 -0
  2. package/NOTICE +21 -0
  3. package/dist/index.d.ts +29 -0
  4. package/dist/index.js +29 -0
  5. package/dist/internal/attribution.d.ts +116 -0
  6. package/dist/internal/attribution.js +82 -0
  7. package/dist/internal/canonical.d.ts +31 -0
  8. package/dist/internal/canonical.js +57 -0
  9. package/dist/internal/catalogue.d.ts +1030 -0
  10. package/dist/internal/catalogue.js +349 -0
  11. package/dist/internal/credentialControl.d.ts +329 -0
  12. package/dist/internal/credentialControl.js +256 -0
  13. package/dist/internal/decisions.d.ts +245 -0
  14. package/dist/internal/decisions.js +69 -0
  15. package/dist/internal/economics.d.ts +27 -0
  16. package/dist/internal/economics.js +26 -0
  17. package/dist/internal/embeddings.d.ts +164 -0
  18. package/dist/internal/embeddings.js +59 -0
  19. package/dist/internal/errors.d.ts +185 -0
  20. package/dist/internal/errors.js +211 -0
  21. package/dist/internal/grant.d.ts +696 -0
  22. package/dist/internal/grant.js +437 -0
  23. package/dist/internal/identifiers.d.ts +63 -0
  24. package/dist/internal/identifiers.js +65 -0
  25. package/dist/internal/privateAutoExecution.d.ts +158 -0
  26. package/dist/internal/privateAutoExecution.js +188 -0
  27. package/dist/internal/realtime.d.ts +1005 -0
  28. package/dist/internal/realtime.js +187 -0
  29. package/dist/internal/request.d.ts +1079 -0
  30. package/dist/internal/request.js +404 -0
  31. package/dist/internal/routing.d.ts +90 -0
  32. package/dist/internal/routing.js +139 -0
  33. package/dist/internal/scopedExecution.d.ts +74 -0
  34. package/dist/internal/scopedExecution.js +61 -0
  35. package/dist/internal/settlement.d.ts +205 -0
  36. package/dist/internal/settlement.js +71 -0
  37. package/dist/internal/streamEvents.d.ts +422 -0
  38. package/dist/internal/streamEvents.js +171 -0
  39. package/dist/internal/usage.d.ts +127 -0
  40. package/dist/internal/usage.js +109 -0
  41. package/dist/internal.d.ts +30 -0
  42. package/dist/internal.js +30 -0
  43. package/dist/public/audio.d.ts +347 -0
  44. package/dist/public/audio.js +236 -0
  45. package/dist/public/audioFormats.d.ts +64 -0
  46. package/dist/public/audioFormats.js +60 -0
  47. package/dist/public/catalogue.d.ts +914 -0
  48. package/dist/public/catalogue.js +516 -0
  49. package/dist/public/chatCompletions.d.ts +381 -0
  50. package/dist/public/chatCompletions.js +321 -0
  51. package/dist/public/decisions.d.ts +182 -0
  52. package/dist/public/decisions.js +257 -0
  53. package/dist/public/embeddings.d.ts +34 -0
  54. package/dist/public/embeddings.js +66 -0
  55. package/dist/public/errors.d.ts +195 -0
  56. package/dist/public/errors.js +274 -0
  57. package/dist/public/generations.d.ts +330 -0
  58. package/dist/public/generations.js +121 -0
  59. package/dist/public/identifiers.d.ts +139 -0
  60. package/dist/public/identifiers.js +160 -0
  61. package/dist/public/images.d.ts +36 -0
  62. package/dist/public/images.js +36 -0
  63. package/dist/public/messages.d.ts +297 -0
  64. package/dist/public/messages.js +251 -0
  65. package/dist/public/money.d.ts +308 -0
  66. package/dist/public/money.js +237 -0
  67. package/dist/public/policy.d.ts +19 -0
  68. package/dist/public/policy.js +20 -0
  69. package/dist/public/realtime.d.ts +2006 -0
  70. package/dist/public/realtime.js +797 -0
  71. package/dist/public/responses.d.ts +253 -0
  72. package/dist/public/responses.js +95 -0
  73. package/dist/public/streamEvents.d.ts +372 -0
  74. package/dist/public/streamEvents.js +157 -0
  75. package/dist/public/version.d.ts +177 -0
  76. package/dist/public/version.js +177 -0
  77. package/openapi.json +6967 -0
  78. package/package.json +44 -4
  79. package/README.md +0 -3
@@ -0,0 +1,914 @@
1
+ /**
2
+ * The public catalogue: what `GET /v1/models` and `GET /v1/power-levels` say.
3
+ *
4
+ * Moved from `@oxy.so/contracts` 4.12.0 (`src/inference/catalogue.ts`) by Kaana ADR 0002.
5
+ */
6
+ import { z } from 'zod';
7
+ /** Input/request modalities; structured decisions are an output, never an input. */
8
+ export declare const inferenceModalitySchema: z.ZodEnum<{
9
+ text: "text";
10
+ audio: "audio";
11
+ image: "image";
12
+ video: "video";
13
+ embedding: "embedding";
14
+ }>;
15
+ /** Declared model outputs, separate from request/input modalities. */
16
+ export declare const inferenceOutputModalitySchema: z.ZodEnum<{
17
+ text: "text";
18
+ audio: "audio";
19
+ image: "image";
20
+ video: "video";
21
+ embedding: "embedding";
22
+ decisions: "decisions";
23
+ }>;
24
+ /**
25
+ * How hard a reasoning model is asked to think before it answers.
26
+ *
27
+ * A closed, provider-neutral vocabulary: Kaana translates each value into the
28
+ * serving provider's own control. A model advertises the subset it accepts in
29
+ * `modelCapabilitiesSchema.reasoningEfforts`, and Oxy refuses a request for an
30
+ * effort the resolved model does not advertise rather than dropping it.
31
+ */
32
+ export declare const reasoningEffortSchema: z.ZodEnum<{
33
+ low: "low";
34
+ medium: "medium";
35
+ high: "high";
36
+ }>;
37
+ /**
38
+ * A POWER LEVEL: the public name of a product-preset routing profile that asks
39
+ * Oxy to choose a model by capability tier instead of naming one (contract set
40
+ * 3.4.0). Ordered cheapest first; `auto` asks Oxy to pick the cheapest level
41
+ * that suffices for the request.
42
+ *
43
+ * - `instant` — very cheap, fast small models; the least reasoning each model
44
+ * accepts (`low` on a reasoning model, nothing on one without effort control)
45
+ * - `medium` — mid-size models, low reasoning effort
46
+ * - `high` — strong models, medium reasoning effort
47
+ * - `xhigh` — strong models, high reasoning effort
48
+ * - `pro` — frontier models, high reasoning effort
49
+ * - `ultra` — the heaviest frontier models, maximum reasoning effort
50
+ *
51
+ * A power level is a routing profile, never a model: its slug has no `/`, and
52
+ * the response always reports the concrete model that ran.
53
+ */
54
+ export declare const powerLevelSchema: z.ZodEnum<{
55
+ medium: "medium";
56
+ high: "high";
57
+ auto: "auto";
58
+ instant: "instant";
59
+ xhigh: "xhigh";
60
+ pro: "pro";
61
+ ultra: "ultra";
62
+ }>;
63
+ /**
64
+ * The reviewed capability tier of one MODEL, which power levels choose from.
65
+ * `xhigh` and `auto` are not classes: `xhigh` runs `high`-class models at a
66
+ * higher effort, and `auto` chooses a level. Reviewed catalogue data with a
67
+ * cited public benchmark source — never inferred from a model's name.
68
+ */
69
+ export declare const modelPowerClassSchema: z.ZodEnum<{
70
+ medium: "medium";
71
+ high: "high";
72
+ instant: "instant";
73
+ pro: "pro";
74
+ ultra: "ultra";
75
+ }>;
76
+ /**
77
+ * The public dialects a request can arrive in — `client.apiFormat` on the
78
+ * envelope, and the list a deployment declares it can execute.
79
+ *
80
+ * Named (contract set 3.2.0) rather than inline on the client metadata so the
81
+ * two uses cannot drift: a capability naming a dialect the envelope cannot
82
+ * carry, or the reverse, would authorize a request no route can serve.
83
+ */
84
+ export declare const inferenceApiFormatSchema: z.ZodEnum<{
85
+ embeddings: "embeddings";
86
+ decisions: "decisions";
87
+ responses: "responses";
88
+ chat_completions: "chat_completions";
89
+ images_generations: "images_generations";
90
+ audio_transcriptions: "audio_transcriptions";
91
+ audio_speech: "audio_speech";
92
+ rerank: "rerank";
93
+ batches: "batches";
94
+ }>;
95
+ /**
96
+ * What a realtime session is FOR. The three are different upstream products
97
+ * with different event families and different metering, not options of one:
98
+ *
99
+ * - `conversation` — a speech-to-speech (or text) model holding a dialogue,
100
+ * with responses, tool calls and interruption.
101
+ * - `transcription` — live speech-to-text; the model never responds, it only
102
+ * transcribes committed input audio.
103
+ * - `translation` — live speech-to-speech translation into one target language.
104
+ */
105
+ export declare const realtimeSessionKindSchema: z.ZodEnum<{
106
+ conversation: "conversation";
107
+ transcription: "transcription";
108
+ translation: "translation";
109
+ }>;
110
+ /**
111
+ * How a realtime session is carried. One member today: a WebSocket, whose every
112
+ * frame is one JSON message (see `realtime.ts`). WebRTC and SIP are separate
113
+ * transports with separate media handling, and are added as members only when a
114
+ * deployment can actually execute them.
115
+ */
116
+ export declare const realtimeSessionTransportSchema: z.ZodEnum<{
117
+ websocket: "websocket";
118
+ }>;
119
+ /**
120
+ * What a deployment can execute as a realtime session. Present only on a model
121
+ * that holds sessions; absent means it holds none, which is the state of every
122
+ * catalogue written before contract set 3.2.0.
123
+ *
124
+ * Two optional fields arrived in contract set 4.1.0 (Alia ADR 0017, Kaana
125
+ * phase 1), and ABSENT means undeclared — a catalogue from an older producer —
126
+ * never "every value":
127
+ *
128
+ * - `inputAudioTranscription` — the model transcribes the caller's speech
129
+ * inside a `conversation` when the session asks for it
130
+ * (`config.inputAudioTranscription`), and delivers each turn as a
131
+ * `transcript.done` with `source: 'input_audio'`. Absent or `false`: a
132
+ * session that asks is refused before anything is held.
133
+ * - `audioFormats` — the realtime encodings a session may name as
134
+ * `config.inputAudioFormat` and `config.outputAudioFormat`. These are not the
135
+ * media types of `audio.audioFormats`, which describe files.
136
+ */
137
+ export declare const modelRealtimeCapabilitiesSchema: z.ZodObject<{
138
+ transports: z.ZodArray<z.ZodEnum<{
139
+ websocket: "websocket";
140
+ }>>;
141
+ sessionKinds: z.ZodArray<z.ZodEnum<{
142
+ conversation: "conversation";
143
+ transcription: "transcription";
144
+ translation: "translation";
145
+ }>>;
146
+ inputAudioTranscription: z.ZodOptional<z.ZodBoolean>;
147
+ audioFormats: z.ZodOptional<z.ZodObject<{
148
+ input: z.ZodArray<z.ZodEnum<{
149
+ pcm16_24khz: "pcm16_24khz";
150
+ g711_ulaw: "g711_ulaw";
151
+ g711_alaw: "g711_alaw";
152
+ }>>;
153
+ output: z.ZodArray<z.ZodEnum<{
154
+ pcm16_24khz: "pcm16_24khz";
155
+ g711_ulaw: "g711_ulaw";
156
+ g711_alaw: "g711_alaw";
157
+ }>>;
158
+ }, z.core.$strict>>;
159
+ }, z.core.$strict>;
160
+ /**
161
+ * What a model can do, in the terms a caller has to decide against before
162
+ * sending a request: can it call tools, does it accept images, will it honour a
163
+ * JSON schema, how much context does it take, how much can it emit.
164
+ */
165
+ export declare const modelCapabilitiesSchema: z.ZodObject<{
166
+ inputModalities: z.ZodArray<z.ZodEnum<{
167
+ text: "text";
168
+ audio: "audio";
169
+ image: "image";
170
+ video: "video";
171
+ embedding: "embedding";
172
+ }>>;
173
+ outputModalities: z.ZodArray<z.ZodEnum<{
174
+ text: "text";
175
+ audio: "audio";
176
+ image: "image";
177
+ video: "video";
178
+ embedding: "embedding";
179
+ decisions: "decisions";
180
+ }>>;
181
+ tools: z.ZodBoolean;
182
+ parallelToolCalls: z.ZodBoolean;
183
+ structuredOutput: z.ZodBoolean;
184
+ jsonMode: z.ZodBoolean;
185
+ reasoning: z.ZodBoolean;
186
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<{
187
+ low: "low";
188
+ medium: "medium";
189
+ high: "high";
190
+ }>>>;
191
+ streaming: z.ZodBoolean;
192
+ promptCaching: z.ZodBoolean;
193
+ maxContextTokens: z.ZodNumber;
194
+ maxOutputTokens: z.ZodNumber;
195
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
196
+ embeddings: "embeddings";
197
+ decisions: "decisions";
198
+ responses: "responses";
199
+ chat_completions: "chat_completions";
200
+ images_generations: "images_generations";
201
+ audio_transcriptions: "audio_transcriptions";
202
+ audio_speech: "audio_speech";
203
+ rerank: "rerank";
204
+ batches: "batches";
205
+ }>>>;
206
+ realtime: z.ZodOptional<z.ZodObject<{
207
+ transports: z.ZodArray<z.ZodEnum<{
208
+ websocket: "websocket";
209
+ }>>;
210
+ sessionKinds: z.ZodArray<z.ZodEnum<{
211
+ conversation: "conversation";
212
+ transcription: "transcription";
213
+ translation: "translation";
214
+ }>>;
215
+ inputAudioTranscription: z.ZodOptional<z.ZodBoolean>;
216
+ audioFormats: z.ZodOptional<z.ZodObject<{
217
+ input: z.ZodArray<z.ZodEnum<{
218
+ pcm16_24khz: "pcm16_24khz";
219
+ g711_ulaw: "g711_ulaw";
220
+ g711_alaw: "g711_alaw";
221
+ }>>;
222
+ output: z.ZodArray<z.ZodEnum<{
223
+ pcm16_24khz: "pcm16_24khz";
224
+ g711_ulaw: "g711_ulaw";
225
+ g711_alaw: "g711_alaw";
226
+ }>>;
227
+ }, z.core.$strict>>;
228
+ }, z.core.$strict>>;
229
+ }, z.core.$strict>;
230
+ /**
231
+ * License terms, including the two questions that decide whether Oxy may serve
232
+ * a model to third parties at all: is commercial use permitted, and must the
233
+ * base model be attributed.
234
+ */
235
+ export declare const modelLicenseSchema: z.ZodObject<{
236
+ licenseId: z.ZodString;
237
+ displayName: z.ZodString;
238
+ url: z.ZodOptional<z.ZodString>;
239
+ commercialUseAllowed: z.ZodBoolean;
240
+ requiresAttribution: z.ZodBoolean;
241
+ acceptableUsePolicyUrl: z.ZodOptional<z.ZodString>;
242
+ }, z.core.$strict>;
243
+ /**
244
+ * How a model came to exist.
245
+ *
246
+ * `releaseKind` is what stops `alia/*` from becoming a re-badging namespace:
247
+ * a first-party namespace may only carry models Alia actually trained or
248
+ * derived, never a third-party route wearing an Oxy name.
249
+ */
250
+ export declare const modelProvenanceSchema: z.ZodObject<{
251
+ releaseKind: z.ZodEnum<{
252
+ first_party_original: "first_party_original";
253
+ first_party_derived: "first_party_derived";
254
+ open_weight: "open_weight";
255
+ third_party_hosted: "third_party_hosted";
256
+ }>;
257
+ baseModelId: z.ZodOptional<z.ZodString>;
258
+ trainingOrganization: z.ZodOptional<z.ZodString>;
259
+ }, z.core.$strict>;
260
+ /**
261
+ * What happens to the customer's prompts and responses on a given route.
262
+ *
263
+ * Every field here is enforceable by a routing policy, which is the reason they
264
+ * are structured rather than a prose paragraph on a docs page.
265
+ */
266
+ export declare const inferenceDataPolicySchema: z.ZodObject<{
267
+ retainsPayloads: z.ZodBoolean;
268
+ retentionDays: z.ZodNumber;
269
+ trainsOnCustomerData: z.ZodBoolean;
270
+ zeroDataRetentionAvailable: z.ZodBoolean;
271
+ subprocessors: z.ZodDefault<z.ZodArray<z.ZodString>>;
272
+ policyUrl: z.ZodOptional<z.ZodString>;
273
+ }, z.core.$strict>;
274
+ /** Deprecation state, with the replacement a customer should migrate to. */
275
+ export declare const modelDeprecationSchema: z.ZodObject<{
276
+ status: z.ZodEnum<{
277
+ active: "active";
278
+ deprecated: "deprecated";
279
+ retired: "retired";
280
+ }>;
281
+ replacementModelReference: z.ZodOptional<z.ZodString>;
282
+ announcedAt: z.ZodOptional<z.ZodString>;
283
+ sunsetAt: z.ZodOptional<z.ZodString>;
284
+ }, z.core.$strict>;
285
+ /** One published evaluation result for a revision. */
286
+ export declare const modelEvaluationResultSchema: z.ZodObject<{
287
+ suite: z.ZodString;
288
+ metric: z.ZodString;
289
+ score: z.ZodString;
290
+ evaluatedAt: z.ZodOptional<z.ZodString>;
291
+ reportUrl: z.ZodOptional<z.ZodString>;
292
+ }, z.core.$strict>;
293
+ /**
294
+ * Safety metadata a downstream developer needs, and the EU AI Act / GPAI
295
+ * documentation trail expects to find beside a served model.
296
+ */
297
+ export declare const modelSafetyMetadataSchema: z.ZodObject<{
298
+ safetyCardUrl: z.ZodOptional<z.ZodString>;
299
+ contentFilteringDefault: z.ZodEnum<{
300
+ none: "none";
301
+ provider_default: "provider_default";
302
+ strict: "strict";
303
+ }>;
304
+ knownLimitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
305
+ provenanceMarking: z.ZodEnum<{
306
+ none: "none";
307
+ visible_watermark: "visible_watermark";
308
+ invisible_watermark: "invisible_watermark";
309
+ c2pa: "c2pa";
310
+ }>;
311
+ }, z.core.$strict>;
312
+ /** The publisher fields a customer sees beside a model. */
313
+ export declare const cataloguePublisherSummarySchema: z.ZodObject<{
314
+ slug: z.ZodString;
315
+ displayName: z.ZodString;
316
+ websiteUrl: z.ZodOptional<z.ZodString>;
317
+ }, z.core.$strict>;
318
+ /** One voice a speech or realtime model can speak in. */
319
+ export declare const voiceSchema: z.ZodObject<{
320
+ id: z.ZodString;
321
+ name: z.ZodString;
322
+ languages: z.ZodArray<z.ZodString>;
323
+ gender: z.ZodOptional<z.ZodEnum<{
324
+ female: "female";
325
+ male: "male";
326
+ neutral: "neutral";
327
+ }>>;
328
+ }, z.core.$strict>;
329
+ /**
330
+ * What an audio model accepts, published so a request that cannot be served
331
+ * is refused BEFORE a grant or a reservation (`invalid_request` with `param`),
332
+ * never by an adapter after money was held.
333
+ *
334
+ * When several providers serve one model line, the published value is the
335
+ * INTERSECTION — what every one of them accepts — so a request that passes
336
+ * here is servable by any route of the line.
337
+ *
338
+ * - `voices` — empty for a model that reads no text aloud (transcription).
339
+ * - `audioFormats.input` — the media types an upload may have (transcription).
340
+ * - `audioFormats.output` — the media types speech can be produced in.
341
+ * - `speed` — absent when the model accepts no speed control; a request that
342
+ * names one is then refused.
343
+ * - `maxInputCharacters` — the longest text one speech request may carry,
344
+ * counted in UTF-16 code units, as JavaScript's `length` counts.
345
+ *
346
+ * A REALTIME model publishes the same shape (contract set 4.1.0): `voices` are
347
+ * what a session's `config.voice` may name, `languages` what it converses in
348
+ * and what `config.inputAudioTranscription.language` may name, and
349
+ * `audioFormats` is empty in both directions because a session carries no
350
+ * files — its encodings are `capabilities.realtime.audioFormats`. An empty
351
+ * `languages` means the provider documents none, not that the model speaks
352
+ * none; a caller that needs a language then cannot choose the model.
353
+ * `gender` is published only where it has been reviewed against the
354
+ * provider's own catalogue; absent is unknown.
355
+ */
356
+ export declare const modelAudioCapabilitiesSchema: z.ZodObject<{
357
+ voices: z.ZodArray<z.ZodObject<{
358
+ id: z.ZodString;
359
+ name: z.ZodString;
360
+ languages: z.ZodArray<z.ZodString>;
361
+ gender: z.ZodOptional<z.ZodEnum<{
362
+ female: "female";
363
+ male: "male";
364
+ neutral: "neutral";
365
+ }>>;
366
+ }, z.core.$strict>>;
367
+ languages: z.ZodArray<z.ZodString>;
368
+ audioFormats: z.ZodObject<{
369
+ input: z.ZodArray<z.ZodEnum<{
370
+ "audio/mpeg": "audio/mpeg";
371
+ "audio/wav": "audio/wav";
372
+ "audio/ogg": "audio/ogg";
373
+ "audio/aac": "audio/aac";
374
+ "audio/flac": "audio/flac";
375
+ "audio/pcm": "audio/pcm";
376
+ "audio/mp4": "audio/mp4";
377
+ "audio/webm": "audio/webm";
378
+ }>>;
379
+ output: z.ZodArray<z.ZodEnum<{
380
+ "audio/mpeg": "audio/mpeg";
381
+ "audio/wav": "audio/wav";
382
+ "audio/ogg": "audio/ogg";
383
+ "audio/aac": "audio/aac";
384
+ "audio/flac": "audio/flac";
385
+ "audio/pcm": "audio/pcm";
386
+ }>>;
387
+ }, z.core.$strict>;
388
+ speed: z.ZodOptional<z.ZodObject<{
389
+ min: z.ZodNumber;
390
+ max: z.ZodNumber;
391
+ }, z.core.$strict>>;
392
+ maxInputCharacters: z.ZodOptional<z.ZodNumber>;
393
+ }, z.core.$strict>;
394
+ /**
395
+ * One model as `GET /v1/models` and `GET /v1/models/{publisher}/{model}`
396
+ * serve it: modalities, power class, limits, parameters, audio capabilities and
397
+ * the customer price.
398
+ *
399
+ * Derived from Oxy's `modelCatalogueEntrySchema` without what names who serves
400
+ * the model: no serving provider, no deployment, no availability scope and no
401
+ * commercial permission. Those are in the operational catalogue under
402
+ * `@kaana.ai/contracts/internal`.
403
+ */
404
+ export declare const modelSchema: z.ZodObject<{
405
+ schemaVersion: z.ZodLiteral<1>;
406
+ modelId: z.ZodString;
407
+ publisher: z.ZodObject<{
408
+ slug: z.ZodString;
409
+ displayName: z.ZodString;
410
+ websiteUrl: z.ZodOptional<z.ZodString>;
411
+ }, z.core.$strict>;
412
+ displayName: z.ZodString;
413
+ description: z.ZodOptional<z.ZodString>;
414
+ currentRevision: z.ZodString;
415
+ availableRevisions: z.ZodArray<z.ZodString>;
416
+ capabilities: z.ZodObject<{
417
+ inputModalities: z.ZodArray<z.ZodEnum<{
418
+ text: "text";
419
+ audio: "audio";
420
+ image: "image";
421
+ video: "video";
422
+ embedding: "embedding";
423
+ }>>;
424
+ outputModalities: z.ZodArray<z.ZodEnum<{
425
+ text: "text";
426
+ audio: "audio";
427
+ image: "image";
428
+ video: "video";
429
+ embedding: "embedding";
430
+ decisions: "decisions";
431
+ }>>;
432
+ tools: z.ZodBoolean;
433
+ parallelToolCalls: z.ZodBoolean;
434
+ structuredOutput: z.ZodBoolean;
435
+ jsonMode: z.ZodBoolean;
436
+ reasoning: z.ZodBoolean;
437
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<{
438
+ low: "low";
439
+ medium: "medium";
440
+ high: "high";
441
+ }>>>;
442
+ streaming: z.ZodBoolean;
443
+ promptCaching: z.ZodBoolean;
444
+ maxContextTokens: z.ZodNumber;
445
+ maxOutputTokens: z.ZodNumber;
446
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
447
+ embeddings: "embeddings";
448
+ decisions: "decisions";
449
+ responses: "responses";
450
+ chat_completions: "chat_completions";
451
+ images_generations: "images_generations";
452
+ audio_transcriptions: "audio_transcriptions";
453
+ audio_speech: "audio_speech";
454
+ rerank: "rerank";
455
+ batches: "batches";
456
+ }>>>;
457
+ realtime: z.ZodOptional<z.ZodObject<{
458
+ transports: z.ZodArray<z.ZodEnum<{
459
+ websocket: "websocket";
460
+ }>>;
461
+ sessionKinds: z.ZodArray<z.ZodEnum<{
462
+ conversation: "conversation";
463
+ transcription: "transcription";
464
+ translation: "translation";
465
+ }>>;
466
+ inputAudioTranscription: z.ZodOptional<z.ZodBoolean>;
467
+ audioFormats: z.ZodOptional<z.ZodObject<{
468
+ input: z.ZodArray<z.ZodEnum<{
469
+ pcm16_24khz: "pcm16_24khz";
470
+ g711_ulaw: "g711_ulaw";
471
+ g711_alaw: "g711_alaw";
472
+ }>>;
473
+ output: z.ZodArray<z.ZodEnum<{
474
+ pcm16_24khz: "pcm16_24khz";
475
+ g711_ulaw: "g711_ulaw";
476
+ g711_alaw: "g711_alaw";
477
+ }>>;
478
+ }, z.core.$strict>>;
479
+ }, z.core.$strict>>;
480
+ }, z.core.$strict>;
481
+ audio: z.ZodOptional<z.ZodObject<{
482
+ voices: z.ZodArray<z.ZodObject<{
483
+ id: z.ZodString;
484
+ name: z.ZodString;
485
+ languages: z.ZodArray<z.ZodString>;
486
+ gender: z.ZodOptional<z.ZodEnum<{
487
+ female: "female";
488
+ male: "male";
489
+ neutral: "neutral";
490
+ }>>;
491
+ }, z.core.$strict>>;
492
+ languages: z.ZodArray<z.ZodString>;
493
+ audioFormats: z.ZodObject<{
494
+ input: z.ZodArray<z.ZodEnum<{
495
+ "audio/mpeg": "audio/mpeg";
496
+ "audio/wav": "audio/wav";
497
+ "audio/ogg": "audio/ogg";
498
+ "audio/aac": "audio/aac";
499
+ "audio/flac": "audio/flac";
500
+ "audio/pcm": "audio/pcm";
501
+ "audio/mp4": "audio/mp4";
502
+ "audio/webm": "audio/webm";
503
+ }>>;
504
+ output: z.ZodArray<z.ZodEnum<{
505
+ "audio/mpeg": "audio/mpeg";
506
+ "audio/wav": "audio/wav";
507
+ "audio/ogg": "audio/ogg";
508
+ "audio/aac": "audio/aac";
509
+ "audio/flac": "audio/flac";
510
+ "audio/pcm": "audio/pcm";
511
+ }>>;
512
+ }, z.core.$strict>;
513
+ speed: z.ZodOptional<z.ZodObject<{
514
+ min: z.ZodNumber;
515
+ max: z.ZodNumber;
516
+ }, z.core.$strict>>;
517
+ maxInputCharacters: z.ZodOptional<z.ZodNumber>;
518
+ }, z.core.$strict>>;
519
+ license: z.ZodObject<{
520
+ licenseId: z.ZodString;
521
+ displayName: z.ZodString;
522
+ url: z.ZodOptional<z.ZodString>;
523
+ commercialUseAllowed: z.ZodBoolean;
524
+ requiresAttribution: z.ZodBoolean;
525
+ acceptableUsePolicyUrl: z.ZodOptional<z.ZodString>;
526
+ }, z.core.$strict>;
527
+ provenance: z.ZodObject<{
528
+ releaseKind: z.ZodEnum<{
529
+ first_party_original: "first_party_original";
530
+ first_party_derived: "first_party_derived";
531
+ open_weight: "open_weight";
532
+ third_party_hosted: "third_party_hosted";
533
+ }>;
534
+ baseModelId: z.ZodOptional<z.ZodString>;
535
+ trainingOrganization: z.ZodOptional<z.ZodString>;
536
+ }, z.core.$strict>;
537
+ knowledgeCutoff: z.ZodOptional<z.ZodString>;
538
+ releasedOn: z.ZodOptional<z.ZodString>;
539
+ releasedAt: z.ZodOptional<z.ZodString>;
540
+ regions: z.ZodDefault<z.ZodArray<z.ZodString>>;
541
+ dataPolicy: z.ZodObject<{
542
+ retainsPayloads: z.ZodBoolean;
543
+ retentionDays: z.ZodNumber;
544
+ trainsOnCustomerData: z.ZodBoolean;
545
+ zeroDataRetentionAvailable: z.ZodBoolean;
546
+ subprocessors: z.ZodDefault<z.ZodArray<z.ZodString>>;
547
+ policyUrl: z.ZodOptional<z.ZodString>;
548
+ }, z.core.$strict>;
549
+ pricing: z.ZodOptional<z.ZodObject<{
550
+ priceVersionId: z.ZodString;
551
+ currency: z.ZodString;
552
+ unitPrices: z.ZodArray<z.ZodObject<{
553
+ unit: z.ZodEnum<{
554
+ input_tokens: "input_tokens";
555
+ cached_input_tokens: "cached_input_tokens";
556
+ output_tokens: "output_tokens";
557
+ reasoning_tokens: "reasoning_tokens";
558
+ requests: "requests";
559
+ images: "images";
560
+ audio_input_milliseconds: "audio_input_milliseconds";
561
+ audio_output_milliseconds: "audio_output_milliseconds";
562
+ video_milliseconds: "video_milliseconds";
563
+ characters: "characters";
564
+ embeddings: "embeddings";
565
+ audio_input_tokens: "audio_input_tokens";
566
+ cached_audio_input_tokens: "cached_audio_input_tokens";
567
+ audio_output_tokens: "audio_output_tokens";
568
+ session_milliseconds: "session_milliseconds";
569
+ input_transcription_milliseconds: "input_transcription_milliseconds";
570
+ }>;
571
+ amount: z.core.$ZodBranded<z.ZodString, "ExactDecimal", "out">;
572
+ per: z.ZodNumber;
573
+ currency: z.ZodString;
574
+ }, z.core.$strict>>;
575
+ }, z.core.$strict>>;
576
+ deprecation: z.ZodObject<{
577
+ status: z.ZodEnum<{
578
+ active: "active";
579
+ deprecated: "deprecated";
580
+ retired: "retired";
581
+ }>;
582
+ replacementModelReference: z.ZodOptional<z.ZodString>;
583
+ announcedAt: z.ZodOptional<z.ZodString>;
584
+ sunsetAt: z.ZodOptional<z.ZodString>;
585
+ }, z.core.$strict>;
586
+ evaluations: z.ZodDefault<z.ZodArray<z.ZodObject<{
587
+ suite: z.ZodString;
588
+ metric: z.ZodString;
589
+ score: z.ZodString;
590
+ evaluatedAt: z.ZodOptional<z.ZodString>;
591
+ reportUrl: z.ZodOptional<z.ZodString>;
592
+ }, z.core.$strict>>>;
593
+ safety: z.ZodOptional<z.ZodObject<{
594
+ safetyCardUrl: z.ZodOptional<z.ZodString>;
595
+ contentFilteringDefault: z.ZodEnum<{
596
+ none: "none";
597
+ provider_default: "provider_default";
598
+ strict: "strict";
599
+ }>;
600
+ knownLimitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
601
+ provenanceMarking: z.ZodEnum<{
602
+ none: "none";
603
+ visible_watermark: "visible_watermark";
604
+ invisible_watermark: "invisible_watermark";
605
+ c2pa: "c2pa";
606
+ }>;
607
+ }, z.core.$strict>>;
608
+ modelCardUrl: z.ZodOptional<z.ZodString>;
609
+ powerClass: z.ZodOptional<z.ZodEnum<{
610
+ medium: "medium";
611
+ high: "high";
612
+ instant: "instant";
613
+ pro: "pro";
614
+ ultra: "ultra";
615
+ }>>;
616
+ }, z.core.$strip>;
617
+ /** `GET /v1/models`. */
618
+ export declare const modelListSchema: z.ZodObject<{
619
+ data: z.ZodArray<z.ZodObject<{
620
+ schemaVersion: z.ZodLiteral<1>;
621
+ modelId: z.ZodString;
622
+ publisher: z.ZodObject<{
623
+ slug: z.ZodString;
624
+ displayName: z.ZodString;
625
+ websiteUrl: z.ZodOptional<z.ZodString>;
626
+ }, z.core.$strict>;
627
+ displayName: z.ZodString;
628
+ description: z.ZodOptional<z.ZodString>;
629
+ currentRevision: z.ZodString;
630
+ availableRevisions: z.ZodArray<z.ZodString>;
631
+ capabilities: z.ZodObject<{
632
+ inputModalities: z.ZodArray<z.ZodEnum<{
633
+ text: "text";
634
+ audio: "audio";
635
+ image: "image";
636
+ video: "video";
637
+ embedding: "embedding";
638
+ }>>;
639
+ outputModalities: z.ZodArray<z.ZodEnum<{
640
+ text: "text";
641
+ audio: "audio";
642
+ image: "image";
643
+ video: "video";
644
+ embedding: "embedding";
645
+ decisions: "decisions";
646
+ }>>;
647
+ tools: z.ZodBoolean;
648
+ parallelToolCalls: z.ZodBoolean;
649
+ structuredOutput: z.ZodBoolean;
650
+ jsonMode: z.ZodBoolean;
651
+ reasoning: z.ZodBoolean;
652
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<{
653
+ low: "low";
654
+ medium: "medium";
655
+ high: "high";
656
+ }>>>;
657
+ streaming: z.ZodBoolean;
658
+ promptCaching: z.ZodBoolean;
659
+ maxContextTokens: z.ZodNumber;
660
+ maxOutputTokens: z.ZodNumber;
661
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
662
+ embeddings: "embeddings";
663
+ decisions: "decisions";
664
+ responses: "responses";
665
+ chat_completions: "chat_completions";
666
+ images_generations: "images_generations";
667
+ audio_transcriptions: "audio_transcriptions";
668
+ audio_speech: "audio_speech";
669
+ rerank: "rerank";
670
+ batches: "batches";
671
+ }>>>;
672
+ realtime: z.ZodOptional<z.ZodObject<{
673
+ transports: z.ZodArray<z.ZodEnum<{
674
+ websocket: "websocket";
675
+ }>>;
676
+ sessionKinds: z.ZodArray<z.ZodEnum<{
677
+ conversation: "conversation";
678
+ transcription: "transcription";
679
+ translation: "translation";
680
+ }>>;
681
+ inputAudioTranscription: z.ZodOptional<z.ZodBoolean>;
682
+ audioFormats: z.ZodOptional<z.ZodObject<{
683
+ input: z.ZodArray<z.ZodEnum<{
684
+ pcm16_24khz: "pcm16_24khz";
685
+ g711_ulaw: "g711_ulaw";
686
+ g711_alaw: "g711_alaw";
687
+ }>>;
688
+ output: z.ZodArray<z.ZodEnum<{
689
+ pcm16_24khz: "pcm16_24khz";
690
+ g711_ulaw: "g711_ulaw";
691
+ g711_alaw: "g711_alaw";
692
+ }>>;
693
+ }, z.core.$strict>>;
694
+ }, z.core.$strict>>;
695
+ }, z.core.$strict>;
696
+ audio: z.ZodOptional<z.ZodObject<{
697
+ voices: z.ZodArray<z.ZodObject<{
698
+ id: z.ZodString;
699
+ name: z.ZodString;
700
+ languages: z.ZodArray<z.ZodString>;
701
+ gender: z.ZodOptional<z.ZodEnum<{
702
+ female: "female";
703
+ male: "male";
704
+ neutral: "neutral";
705
+ }>>;
706
+ }, z.core.$strict>>;
707
+ languages: z.ZodArray<z.ZodString>;
708
+ audioFormats: z.ZodObject<{
709
+ input: z.ZodArray<z.ZodEnum<{
710
+ "audio/mpeg": "audio/mpeg";
711
+ "audio/wav": "audio/wav";
712
+ "audio/ogg": "audio/ogg";
713
+ "audio/aac": "audio/aac";
714
+ "audio/flac": "audio/flac";
715
+ "audio/pcm": "audio/pcm";
716
+ "audio/mp4": "audio/mp4";
717
+ "audio/webm": "audio/webm";
718
+ }>>;
719
+ output: z.ZodArray<z.ZodEnum<{
720
+ "audio/mpeg": "audio/mpeg";
721
+ "audio/wav": "audio/wav";
722
+ "audio/ogg": "audio/ogg";
723
+ "audio/aac": "audio/aac";
724
+ "audio/flac": "audio/flac";
725
+ "audio/pcm": "audio/pcm";
726
+ }>>;
727
+ }, z.core.$strict>;
728
+ speed: z.ZodOptional<z.ZodObject<{
729
+ min: z.ZodNumber;
730
+ max: z.ZodNumber;
731
+ }, z.core.$strict>>;
732
+ maxInputCharacters: z.ZodOptional<z.ZodNumber>;
733
+ }, z.core.$strict>>;
734
+ license: z.ZodObject<{
735
+ licenseId: z.ZodString;
736
+ displayName: z.ZodString;
737
+ url: z.ZodOptional<z.ZodString>;
738
+ commercialUseAllowed: z.ZodBoolean;
739
+ requiresAttribution: z.ZodBoolean;
740
+ acceptableUsePolicyUrl: z.ZodOptional<z.ZodString>;
741
+ }, z.core.$strict>;
742
+ provenance: z.ZodObject<{
743
+ releaseKind: z.ZodEnum<{
744
+ first_party_original: "first_party_original";
745
+ first_party_derived: "first_party_derived";
746
+ open_weight: "open_weight";
747
+ third_party_hosted: "third_party_hosted";
748
+ }>;
749
+ baseModelId: z.ZodOptional<z.ZodString>;
750
+ trainingOrganization: z.ZodOptional<z.ZodString>;
751
+ }, z.core.$strict>;
752
+ knowledgeCutoff: z.ZodOptional<z.ZodString>;
753
+ releasedOn: z.ZodOptional<z.ZodString>;
754
+ releasedAt: z.ZodOptional<z.ZodString>;
755
+ regions: z.ZodDefault<z.ZodArray<z.ZodString>>;
756
+ dataPolicy: z.ZodObject<{
757
+ retainsPayloads: z.ZodBoolean;
758
+ retentionDays: z.ZodNumber;
759
+ trainsOnCustomerData: z.ZodBoolean;
760
+ zeroDataRetentionAvailable: z.ZodBoolean;
761
+ subprocessors: z.ZodDefault<z.ZodArray<z.ZodString>>;
762
+ policyUrl: z.ZodOptional<z.ZodString>;
763
+ }, z.core.$strict>;
764
+ pricing: z.ZodOptional<z.ZodObject<{
765
+ priceVersionId: z.ZodString;
766
+ currency: z.ZodString;
767
+ unitPrices: z.ZodArray<z.ZodObject<{
768
+ unit: z.ZodEnum<{
769
+ input_tokens: "input_tokens";
770
+ cached_input_tokens: "cached_input_tokens";
771
+ output_tokens: "output_tokens";
772
+ reasoning_tokens: "reasoning_tokens";
773
+ requests: "requests";
774
+ images: "images";
775
+ audio_input_milliseconds: "audio_input_milliseconds";
776
+ audio_output_milliseconds: "audio_output_milliseconds";
777
+ video_milliseconds: "video_milliseconds";
778
+ characters: "characters";
779
+ embeddings: "embeddings";
780
+ audio_input_tokens: "audio_input_tokens";
781
+ cached_audio_input_tokens: "cached_audio_input_tokens";
782
+ audio_output_tokens: "audio_output_tokens";
783
+ session_milliseconds: "session_milliseconds";
784
+ input_transcription_milliseconds: "input_transcription_milliseconds";
785
+ }>;
786
+ amount: z.core.$ZodBranded<z.ZodString, "ExactDecimal", "out">;
787
+ per: z.ZodNumber;
788
+ currency: z.ZodString;
789
+ }, z.core.$strict>>;
790
+ }, z.core.$strict>>;
791
+ deprecation: z.ZodObject<{
792
+ status: z.ZodEnum<{
793
+ active: "active";
794
+ deprecated: "deprecated";
795
+ retired: "retired";
796
+ }>;
797
+ replacementModelReference: z.ZodOptional<z.ZodString>;
798
+ announcedAt: z.ZodOptional<z.ZodString>;
799
+ sunsetAt: z.ZodOptional<z.ZodString>;
800
+ }, z.core.$strict>;
801
+ evaluations: z.ZodDefault<z.ZodArray<z.ZodObject<{
802
+ suite: z.ZodString;
803
+ metric: z.ZodString;
804
+ score: z.ZodString;
805
+ evaluatedAt: z.ZodOptional<z.ZodString>;
806
+ reportUrl: z.ZodOptional<z.ZodString>;
807
+ }, z.core.$strict>>>;
808
+ safety: z.ZodOptional<z.ZodObject<{
809
+ safetyCardUrl: z.ZodOptional<z.ZodString>;
810
+ contentFilteringDefault: z.ZodEnum<{
811
+ none: "none";
812
+ provider_default: "provider_default";
813
+ strict: "strict";
814
+ }>;
815
+ knownLimitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
816
+ provenanceMarking: z.ZodEnum<{
817
+ none: "none";
818
+ visible_watermark: "visible_watermark";
819
+ invisible_watermark: "invisible_watermark";
820
+ c2pa: "c2pa";
821
+ }>;
822
+ }, z.core.$strict>>;
823
+ modelCardUrl: z.ZodOptional<z.ZodString>;
824
+ powerClass: z.ZodOptional<z.ZodEnum<{
825
+ medium: "medium";
826
+ high: "high";
827
+ instant: "instant";
828
+ pro: "pro";
829
+ ultra: "ultra";
830
+ }>>;
831
+ }, z.core.$strip>>;
832
+ }, z.core.$strict>;
833
+ /**
834
+ * One power level as `GET /v1/power-levels` lists it for the calling
835
+ * credential: the level, the class it draws from, the effort it asks for, and
836
+ * the model lines it can currently choose among.
837
+ *
838
+ * `auto` draws from no single class (it chooses a level), so it carries no
839
+ * `powerClass` and lists every line of the levels it may climb to.
840
+ */
841
+ export declare const powerLevelEntrySchema: z.ZodObject<{
842
+ level: z.ZodEnum<{
843
+ medium: "medium";
844
+ high: "high";
845
+ auto: "auto";
846
+ instant: "instant";
847
+ xhigh: "xhigh";
848
+ pro: "pro";
849
+ ultra: "ultra";
850
+ }>;
851
+ powerClass: z.ZodOptional<z.ZodEnum<{
852
+ medium: "medium";
853
+ high: "high";
854
+ instant: "instant";
855
+ pro: "pro";
856
+ ultra: "ultra";
857
+ }>>;
858
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
859
+ low: "low";
860
+ medium: "medium";
861
+ high: "high";
862
+ }>>;
863
+ modelLines: z.ZodArray<z.ZodString>;
864
+ }, z.core.$strict>;
865
+ /** `GET /v1/power-levels`. Replaces Oxy's `/v1/models/routing-profiles`. */
866
+ export declare const powerLevelListSchema: z.ZodObject<{
867
+ data: z.ZodArray<z.ZodObject<{
868
+ level: z.ZodEnum<{
869
+ medium: "medium";
870
+ high: "high";
871
+ auto: "auto";
872
+ instant: "instant";
873
+ xhigh: "xhigh";
874
+ pro: "pro";
875
+ ultra: "ultra";
876
+ }>;
877
+ powerClass: z.ZodOptional<z.ZodEnum<{
878
+ medium: "medium";
879
+ high: "high";
880
+ instant: "instant";
881
+ pro: "pro";
882
+ ultra: "ultra";
883
+ }>>;
884
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
885
+ low: "low";
886
+ medium: "medium";
887
+ high: "high";
888
+ }>>;
889
+ modelLines: z.ZodArray<z.ZodString>;
890
+ }, z.core.$strict>>;
891
+ }, z.core.$strict>;
892
+ export type InferenceOutputModality = z.infer<typeof inferenceOutputModalitySchema>;
893
+ export type InferenceModality = z.infer<typeof inferenceModalitySchema>;
894
+ export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
895
+ export type PowerLevel = z.infer<typeof powerLevelSchema>;
896
+ export type ModelPowerClass = z.infer<typeof modelPowerClassSchema>;
897
+ export type InferenceApiFormat = z.infer<typeof inferenceApiFormatSchema>;
898
+ export type RealtimeSessionKind = z.infer<typeof realtimeSessionKindSchema>;
899
+ export type RealtimeSessionTransport = z.infer<typeof realtimeSessionTransportSchema>;
900
+ export type ModelRealtimeCapabilities = z.infer<typeof modelRealtimeCapabilitiesSchema>;
901
+ export type ModelCapabilities = z.infer<typeof modelCapabilitiesSchema>;
902
+ export type ModelLicense = z.infer<typeof modelLicenseSchema>;
903
+ export type ModelProvenance = z.infer<typeof modelProvenanceSchema>;
904
+ export type InferenceDataPolicy = z.infer<typeof inferenceDataPolicySchema>;
905
+ export type ModelDeprecation = z.infer<typeof modelDeprecationSchema>;
906
+ export type ModelEvaluationResult = z.infer<typeof modelEvaluationResultSchema>;
907
+ export type ModelSafetyMetadata = z.infer<typeof modelSafetyMetadataSchema>;
908
+ export type CataloguePublisherSummary = z.infer<typeof cataloguePublisherSummarySchema>;
909
+ export type Voice = z.infer<typeof voiceSchema>;
910
+ export type ModelAudioCapabilities = z.infer<typeof modelAudioCapabilitiesSchema>;
911
+ export type Model = z.infer<typeof modelSchema>;
912
+ export type ModelList = z.infer<typeof modelListSchema>;
913
+ export type PowerLevelEntry = z.infer<typeof powerLevelEntrySchema>;
914
+ export type PowerLevelList = z.infer<typeof powerLevelListSchema>;