@oxy.so/contracts 4.6.0 → 4.7.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.
@@ -858,8 +858,8 @@ export declare const capabilityTicketClaimsSchema: z.ZodEffects<z.ZodObject<{
858
858
  }>, "many">>;
859
859
  autonomy: z.ZodEnum<["read_only", "draft", "execute_on_request", "autonomous"]>;
860
860
  }, "strict", z.ZodTypeAny, {
861
- ownerAccountId: string;
862
861
  tool: string;
862
+ ownerAccountId: string;
863
863
  actor: {
864
864
  type: "alia";
865
865
  ownerAccountId: string;
@@ -904,8 +904,8 @@ export declare const capabilityTicketClaimsSchema: z.ZodEffects<z.ZodObject<{
904
904
  stepId?: string | undefined;
905
905
  grantId?: string | undefined;
906
906
  }, {
907
- ownerAccountId: string;
908
907
  tool: string;
908
+ ownerAccountId: string;
909
909
  actor: {
910
910
  type: "alia";
911
911
  ownerAccountId: string;
@@ -950,8 +950,8 @@ export declare const capabilityTicketClaimsSchema: z.ZodEffects<z.ZodObject<{
950
950
  stepId?: string | undefined;
951
951
  grantId?: string | undefined;
952
952
  }>, {
953
- ownerAccountId: string;
954
953
  tool: string;
954
+ ownerAccountId: string;
955
955
  actor: {
956
956
  type: "alia";
957
957
  ownerAccountId: string;
@@ -996,8 +996,8 @@ export declare const capabilityTicketClaimsSchema: z.ZodEffects<z.ZodObject<{
996
996
  stepId?: string | undefined;
997
997
  grantId?: string | undefined;
998
998
  }, {
999
- ownerAccountId: string;
1000
999
  tool: string;
1000
+ ownerAccountId: string;
1001
1001
  actor: {
1002
1002
  type: "alia";
1003
1003
  ownerAccountId: string;
@@ -1180,9 +1180,9 @@ export declare const auditEventSchema: z.ZodObject<{
1180
1180
  capabilityTicketId?: string | undefined;
1181
1181
  }>;
1182
1182
  }, "strict", z.ZodTypeAny, {
1183
+ tool: string;
1183
1184
  appId: string;
1184
1185
  effectiveAccountId: string;
1185
- tool: string;
1186
1186
  resource: {
1187
1187
  appId: string;
1188
1188
  effectiveAccountId: string;
@@ -1227,9 +1227,9 @@ export declare const auditEventSchema: z.ZodObject<{
1227
1227
  capabilityTicketId?: string | undefined;
1228
1228
  };
1229
1229
  }, {
1230
+ tool: string;
1230
1231
  appId: string;
1231
1232
  effectiveAccountId: string;
1232
- tool: string;
1233
1233
  resource: {
1234
1234
  appId: string;
1235
1235
  effectiveAccountId: string;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * How a catalog tool call travels over HTTP, in both directions.
3
+ *
4
+ * A capability catalog names each tool's `invocation` as a method plus a path
5
+ * template (`/email/messages/{emailId}`). Two parties have to agree on what
6
+ * that means: the coordinator that BUILDS the request from the model's
7
+ * arguments (Alia), and the app that MATCHES an incoming request back to the
8
+ * one tool its ticket was signed for (the Inbox capability middleware). Each
9
+ * used to carry its own copy of the rules, and the matcher walked the tool list
10
+ * in array order, so a literal segment (`/messages/unread`) and a parameter
11
+ * (`/messages/{id}`) in the same position resolved to whichever tool happened to
12
+ * be declared first. Both halves live here now, next to the catalog schema that
13
+ * refuses a catalog whose templates could ever match the same request — so a
14
+ * match is unique by construction, not by ordering.
15
+ */
16
+ /** The part of a catalog tool this module needs. */
17
+ export interface CatalogInvocationTemplate {
18
+ readonly method: string;
19
+ readonly path: string;
20
+ }
21
+ interface InvocationCarrier {
22
+ readonly name: string;
23
+ readonly invocation: CatalogInvocationTemplate;
24
+ }
25
+ /** The `{name}` placeholders of a path template, in order. */
26
+ export declare function catalogInvocationPathParameters(path: string): string[];
27
+ /**
28
+ * Whether one concrete request could match BOTH templates.
29
+ *
30
+ * Same method, same number of segments, and at every position either the same
31
+ * literal or a parameter on at least one side. `/messages/{id}` and
32
+ * `/messages/unread` overlap (the request `/messages/unread` fits both);
33
+ * `/messages/{id}` and `/messages/{id}/thread` do not.
34
+ */
35
+ export declare function catalogInvocationsOverlap(left: CatalogInvocationTemplate, right: CatalogInvocationTemplate): boolean;
36
+ /**
37
+ * Whether two templates name the same ADDRESS: same method, and at every
38
+ * position the same literal or a parameter on both sides — parameter names do
39
+ * not matter (`/messages/{id}` and `/messages/{emailId}` are one address;
40
+ * `/messages/{id}` and `/messages/bundled` are not, though they overlap).
41
+ * Used to say which documented REST operation shares its address with a tool.
42
+ */
43
+ export declare function catalogInvocationTemplatesEquivalent(left: CatalogInvocationTemplate, right: CatalogInvocationTemplate): boolean;
44
+ /** Every pair of tools whose invocations overlap — empty for a valid catalog. */
45
+ export declare function findOverlappingCatalogInvocations<T extends InvocationCarrier>(tools: readonly T[]): Array<readonly [T, T]>;
46
+ export interface CatalogInvocationMatch<T> {
47
+ readonly tool: T;
48
+ /** Decoded path parameters, keyed by their template names. */
49
+ readonly params: Record<string, string>;
50
+ }
51
+ /**
52
+ * The ONE tool whose invocation matches `method` + `path` (the full app-local
53
+ * path, e.g. `/email/messages/abc`), or null.
54
+ *
55
+ * Every tool is tried, not the first hit, so the answer cannot depend on the
56
+ * order the catalog lists its tools in. A second hit means the catalog should
57
+ * never have validated — `appCapabilityCatalogSchema` refuses overlapping
58
+ * templates — so it throws rather than guessing which tool the ticket meant.
59
+ */
60
+ export declare function matchCatalogInvocation<T extends InvocationCarrier>(tools: readonly T[], method: string, path: string): CatalogInvocationMatch<T> | null;
61
+ export interface ResolvedCatalogInvocation {
62
+ readonly method: string;
63
+ readonly url: URL;
64
+ /** JSON body for non-GET invocations; GET arguments travel in the query. */
65
+ readonly body?: Record<string, unknown>;
66
+ }
67
+ /**
68
+ * Build the HTTP request for a tool call from the model's arguments.
69
+ *
70
+ * Path parameters are substituted (and removed from the remaining arguments);
71
+ * GET sends the rest as query parameters, everything else as a JSON body. A GET
72
+ * argument that is not a scalar is refused instead of being stringified into
73
+ * `[object Object]` — the catalog schema only lets GET tools declare scalar
74
+ * inputs, so reaching that branch means the arguments did not come from the
75
+ * tool's own schema. The resolved URL must stay on `internalBaseUrl`'s origin.
76
+ */
77
+ export declare function resolveCatalogInvocation(catalog: {
78
+ readonly internalBaseUrl: string;
79
+ }, tool: InvocationCarrier, args: Readonly<Record<string, unknown>>): ResolvedCatalogInvocation;
80
+ export {};
@@ -98,6 +98,8 @@ export { PRODUCT_PLAN_STATUSES, productPlanStatusSchema, LIVE_PRODUCT_PLAN_STATU
98
98
  export type { ProductPlanStatus, PlanAllowance, ProductPlan, PayAsYouGoEntitlement, CostCenterStatus, CostCenter, CostCenterSpend, ProductEntitlement, } from './inference/entitlement';
99
99
  export { AUTONOMY_LEVELS, CAPABILITY_PACKAGES, autonomyLevelSchema, capabilityPackageSchema, actorRefSchema, resourceRefSchema, toolGrantOverrideSchema, grantLimitSchema, capabilityCatalogBindingSchema, executionAuthorizationRefSchema, capabilityCoordinatorSchema, delegationGrantSchema, automationTriggerSchema, automationActorSelectionSchema, automationDataFlowSchema, automationDefinitionSchema, capabilityTicketClaimsSchema, policyDecisionSchema, auditResultSchema, auditEventSchema, catalogToolSchema, catalogEventSchema, appCapabilityCatalogSchema, catalogRegistrationSchema, normalizedAppEventSchema, } from './agency';
100
100
  export type { AutonomyLevel, CapabilityPackage, ActorRef, ResourceRef, ToolGrantOverride, GrantLimit, CapabilityCatalogBinding, ExecutionAuthorizationRef, CapabilityCoordinator, DelegationGrant, AutomationTrigger, AutomationActorSelection, AutomationDefinition, CapabilityTicketClaims, PolicyDecision, AuditEvent, CatalogTool, CatalogEvent, AppCapabilityCatalog, CatalogRegistration, NormalizedAppEvent, } from './agency';
101
+ export { catalogInvocationPathParameters, catalogInvocationsOverlap, catalogInvocationTemplatesEquivalent, findOverlappingCatalogInvocations, matchCatalogInvocation, resolveCatalogInvocation, } from './capabilityInvocation';
102
+ export type { CatalogInvocationMatch, CatalogInvocationTemplate, ResolvedCatalogInvocation, } from './capabilityInvocation';
101
103
  export { emailContextAddressSchema, emailContextMailboxSchema, emailContextMessageSchema, emailAgentContextSchema, } from './emailAgentContext';
102
104
  export type { EmailContextAddress, EmailContextMailbox, EmailContextMessage, EmailAgentContext, } from './emailAgentContext';
103
105
  export { inboxComposeRequestSchema, inboxDailyBriefRequestSchema, inboxNaturalSearchRequestSchema, inboxMessageInferenceParamsSchema, inboxInferenceTextResponseSchema, inboxNaturalSearchResponseSchema, inboxSmartRepliesResponseSchema, inboxThreadSummaryResponseSchema, inboxInferenceStreamEventSchema, } from './inference/inbox';
@@ -108,3 +110,5 @@ export * from './federationInstanceFetch';
108
110
  export * from './notifications';
109
111
  export * from './email/messages';
110
112
  export * from './stickers';
113
+ export { decisionEffortSchema, decisionQuestionSchema, decisionInputSchema, decisionRequestSchema, decisionAnswerSchema, decisionResultSchema, decisionSuccessSchema, decisionFailureSchema, decisionInputBudget, decisionFitsGateway, decisionAnswersMatch, } from './inference/decisions';
114
+ export type { DecisionQuestion, DecisionInput, DecisionRequest, DecisionAnswer, DecisionFailure, DecisionResult, DecisionSuccess, } from './inference/decisions';
@@ -44,7 +44,8 @@ export declare const reasoningEffortSchema: z.ZodEnum<["low", "medium", "high"]>
44
44
  * 3.4.0). Ordered cheapest first; `auto` asks Oxy to pick the cheapest level
45
45
  * that suffices for the request.
46
46
  *
47
- * - `instant` — very cheap, fast small models; no reasoning effort requested
47
+ * - `instant` — very cheap, fast small models; the least reasoning each model
48
+ * accepts (`low` on a reasoning model, nothing on one without effort control)
48
49
  * - `medium` — mid-size models, low reasoning effort
49
50
  * - `high` — strong models, medium reasoning effort
50
51
  * - `xhigh` — strong models, high reasoning effort
@@ -70,7 +71,7 @@ export declare const modelPowerClassSchema: z.ZodEnum<["instant", "medium", "hig
70
71
  * two uses cannot drift: a capability naming a dialect the envelope cannot
71
72
  * carry, or the reverse, would authorize a request no route can serve.
72
73
  */
73
- export declare const inferenceApiFormatSchema: z.ZodEnum<["responses", "chat_completions", "embeddings", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>;
74
+ export declare const inferenceApiFormatSchema: z.ZodEnum<["responses", "chat_completions", "embeddings", "decisions", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>;
74
75
  /**
75
76
  * What a realtime session is FOR. The three are different upstream products
76
77
  * with different event families and different metering, not options of one:
@@ -141,7 +142,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
141
142
  * applied before this field existed, and authorizes no format that needs a
142
143
  * declaration (audio output on `chat_completions`, a realtime session).
143
144
  */
144
- apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
145
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "decisions", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
145
146
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
146
147
  realtime: z.ZodOptional<z.ZodObject<{
147
148
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -166,7 +167,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
166
167
  promptCaching: boolean;
167
168
  maxContextTokens: number;
168
169
  maxOutputTokens: number;
169
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
170
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
170
171
  realtime?: {
171
172
  transports: "websocket"[];
172
173
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -184,7 +185,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
184
185
  maxContextTokens: number;
185
186
  maxOutputTokens: number;
186
187
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
187
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
188
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
188
189
  realtime?: {
189
190
  transports: "websocket"[];
190
191
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -202,7 +203,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
202
203
  promptCaching: boolean;
203
204
  maxContextTokens: number;
204
205
  maxOutputTokens: number;
205
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
206
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
206
207
  realtime?: {
207
208
  transports: "websocket"[];
208
209
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -220,7 +221,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
220
221
  maxContextTokens: number;
221
222
  maxOutputTokens: number;
222
223
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
223
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
224
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
224
225
  realtime?: {
225
226
  transports: "websocket"[];
226
227
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -468,7 +469,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
468
469
  * applied before this field existed, and authorizes no format that needs a
469
470
  * declaration (audio output on `chat_completions`, a realtime session).
470
471
  */
471
- apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
472
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "decisions", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
472
473
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
473
474
  realtime: z.ZodOptional<z.ZodObject<{
474
475
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -493,7 +494,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
493
494
  promptCaching: boolean;
494
495
  maxContextTokens: number;
495
496
  maxOutputTokens: number;
496
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
497
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
497
498
  realtime?: {
498
499
  transports: "websocket"[];
499
500
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -511,7 +512,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
511
512
  maxContextTokens: number;
512
513
  maxOutputTokens: number;
513
514
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
514
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
515
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
515
516
  realtime?: {
516
517
  transports: "websocket"[];
517
518
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -529,7 +530,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
529
530
  promptCaching: boolean;
530
531
  maxContextTokens: number;
531
532
  maxOutputTokens: number;
532
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
533
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
533
534
  realtime?: {
534
535
  transports: "websocket"[];
535
536
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -547,7 +548,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
547
548
  maxContextTokens: number;
548
549
  maxOutputTokens: number;
549
550
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
550
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
551
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
551
552
  realtime?: {
552
553
  transports: "websocket"[];
553
554
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -635,7 +636,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
635
636
  promptCaching: boolean;
636
637
  maxContextTokens: number;
637
638
  maxOutputTokens: number;
638
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
639
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
639
640
  realtime?: {
640
641
  transports: "websocket"[];
641
642
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -683,7 +684,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
683
684
  maxContextTokens: number;
684
685
  maxOutputTokens: number;
685
686
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
686
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
687
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
687
688
  realtime?: {
688
689
  transports: "websocket"[];
689
690
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -731,7 +732,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
731
732
  promptCaching: boolean;
732
733
  maxContextTokens: number;
733
734
  maxOutputTokens: number;
734
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
735
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
735
736
  realtime?: {
736
737
  transports: "websocket"[];
737
738
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -779,7 +780,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
779
780
  maxContextTokens: number;
780
781
  maxOutputTokens: number;
781
782
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
782
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
783
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
783
784
  realtime?: {
784
785
  transports: "websocket"[];
785
786
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1245,7 +1246,9 @@ export declare const routingProfileSchema: z.ZodObject<{
1245
1246
  powerLevel: z.ZodOptional<z.ZodEnum<["auto", "instant", "medium", "high", "xhigh", "pro", "ultra"]>>;
1246
1247
  /**
1247
1248
  * The reasoning effort a power level asks for when the request names none,
1248
- * applied only on a model that advertises it. Absent: none is requested.
1249
+ * clamped to the nearest effort the chosen model accepts (the lowest at or
1250
+ * above it, else the highest). Absent: the level asks for no reasoning, sent
1251
+ * as the least effort a reasoning model accepts.
1249
1252
  */
1250
1253
  reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
1251
1254
  }, "strip", z.ZodTypeAny, {
@@ -1426,7 +1429,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1426
1429
  * applied before this field existed, and authorizes no format that needs a
1427
1430
  * declaration (audio output on `chat_completions`, a realtime session).
1428
1431
  */
1429
- apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
1432
+ apiFormats: z.ZodOptional<z.ZodArray<z.ZodEnum<["responses", "chat_completions", "embeddings", "decisions", "images_generations", "audio_transcriptions", "audio_speech", "rerank", "batches"]>, "many">>;
1430
1433
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
1431
1434
  realtime: z.ZodOptional<z.ZodObject<{
1432
1435
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -1451,7 +1454,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1451
1454
  promptCaching: boolean;
1452
1455
  maxContextTokens: number;
1453
1456
  maxOutputTokens: number;
1454
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1457
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1455
1458
  realtime?: {
1456
1459
  transports: "websocket"[];
1457
1460
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1469,7 +1472,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1469
1472
  maxContextTokens: number;
1470
1473
  maxOutputTokens: number;
1471
1474
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1472
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1475
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1473
1476
  realtime?: {
1474
1477
  transports: "websocket"[];
1475
1478
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1487,7 +1490,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1487
1490
  promptCaching: boolean;
1488
1491
  maxContextTokens: number;
1489
1492
  maxOutputTokens: number;
1490
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1493
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1491
1494
  realtime?: {
1492
1495
  transports: "websocket"[];
1493
1496
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1505,7 +1508,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1505
1508
  maxContextTokens: number;
1506
1509
  maxOutputTokens: number;
1507
1510
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1508
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1511
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1509
1512
  realtime?: {
1510
1513
  transports: "websocket"[];
1511
1514
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1790,7 +1793,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1790
1793
  promptCaching: boolean;
1791
1794
  maxContextTokens: number;
1792
1795
  maxOutputTokens: number;
1793
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1796
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1794
1797
  realtime?: {
1795
1798
  transports: "websocket"[];
1796
1799
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1892,7 +1895,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1892
1895
  maxContextTokens: number;
1893
1896
  maxOutputTokens: number;
1894
1897
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1895
- apiFormats?: ("embeddings" | "responses" | "chat_completions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1898
+ apiFormats?: ("embeddings" | "responses" | "chat_completions" | "decisions" | "images_generations" | "audio_transcriptions" | "audio_speech" | "rerank" | "batches")[] | undefined;
1896
1899
  realtime?: {
1897
1900
  transports: "websocket"[];
1898
1901
  sessionKinds: ("conversation" | "transcription" | "translation")[];