@oxy.so/contracts 4.5.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 {};
@@ -74,9 +74,9 @@ export { embeddingVectorSchema, embeddingUsageSchema, embeddingSuccessSchema, em
74
74
  export type { EmbeddingVector, EmbeddingUsage, EmbeddingSuccess, EmbeddingFailure, EmbeddingResponse, } from './inference/embeddings';
75
75
  export { priceVersionStatusSchema, priceVersionSchema, priceSnapshotSchema, } from './inference/priceVersion';
76
76
  export type { PriceVersionStatus, PriceVersion, PriceSnapshot } from './inference/priceVersion';
77
- export { inferenceModalitySchema, reasoningEffortSchema, inferenceApiFormatSchema, realtimeSessionKindSchema, realtimeSessionTransportSchema, modelRealtimeCapabilitiesSchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
78
- export type { InferenceModality, ReasoningEffort, InferenceApiFormat, RealtimeSessionKind, RealtimeSessionTransport, ModelRealtimeCapabilities, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
79
- export { routingTargetSchema, routingPolicyScopeSchema, routingFallbackPolicySchema, routingPolicySchema, routingPolicyReferenceSchema, authorizedRouteSchema, } from './inference/routingPolicy';
77
+ export { inferenceModalitySchema, reasoningEffortSchema, powerLevelSchema, modelPowerClassSchema, inferenceApiFormatSchema, realtimeSessionKindSchema, realtimeSessionTransportSchema, modelRealtimeCapabilitiesSchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
78
+ export type { InferenceModality, ReasoningEffort, PowerLevel, ModelPowerClass, InferenceApiFormat, RealtimeSessionKind, RealtimeSessionTransport, ModelRealtimeCapabilities, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
79
+ export { routingTargetSchema, routingPolicyScopeSchema, routingFallbackPolicySchema, routingPolicySchema, routingPolicyReferenceSchema, effectiveSameModelDeployment, authorizedRouteSchema, } from './inference/routingPolicy';
80
80
  export type { RoutingTarget, RoutingPolicyScope, RoutingFallbackPolicy, RoutingPolicy, RoutingPolicyReference, AuthorizedRoute, } from './inference/routingPolicy';
81
81
  export { aliaReleaseArtifactSchema, aliaReleaseSignatureSchema, aliaModelReleaseManifestSchema, } from './inference/aliaModelRelease';
82
82
  export type { AliaReleaseArtifact, AliaReleaseSignature, AliaModelReleaseManifest, } from './inference/aliaModelRelease';
@@ -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';
@@ -38,6 +38,31 @@ export declare const inferenceModalitySchema: z.ZodEnum<["text", "image", "audio
38
38
  * effort the resolved model does not advertise rather than dropping it.
39
39
  */
40
40
  export declare const reasoningEffortSchema: z.ZodEnum<["low", "medium", "high"]>;
41
+ /**
42
+ * A POWER LEVEL: the public name of a product-preset routing profile that asks
43
+ * Oxy to choose a model by capability tier instead of naming one (contract set
44
+ * 3.4.0). Ordered cheapest first; `auto` asks Oxy to pick the cheapest level
45
+ * that suffices for the request.
46
+ *
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)
49
+ * - `medium` — mid-size models, low reasoning effort
50
+ * - `high` — strong models, medium reasoning effort
51
+ * - `xhigh` — strong models, high reasoning effort
52
+ * - `pro` — frontier models, high reasoning effort
53
+ * - `ultra` — the heaviest frontier models, maximum reasoning effort
54
+ *
55
+ * A power level is a routing profile, never a model: its slug has no `/`, and
56
+ * the response always reports the concrete model that ran.
57
+ */
58
+ export declare const powerLevelSchema: z.ZodEnum<["auto", "instant", "medium", "high", "xhigh", "pro", "ultra"]>;
59
+ /**
60
+ * The reviewed capability tier of one MODEL, which power levels choose from.
61
+ * `xhigh` and `auto` are not classes: `xhigh` runs `high`-class models at a
62
+ * higher effort, and `auto` chooses a level. Reviewed catalogue data with a
63
+ * cited public benchmark source — never inferred from a model's name.
64
+ */
65
+ export declare const modelPowerClassSchema: z.ZodEnum<["instant", "medium", "high", "pro", "ultra"]>;
41
66
  /**
42
67
  * The public dialects a request can arrive in — `client.apiFormat` on the
43
68
  * envelope, and the list a deployment declares it can execute.
@@ -46,7 +71,7 @@ export declare const reasoningEffortSchema: z.ZodEnum<["low", "medium", "high"]>
46
71
  * two uses cannot drift: a capability naming a dialect the envelope cannot
47
72
  * carry, or the reverse, would authorize a request no route can serve.
48
73
  */
49
- 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"]>;
50
75
  /**
51
76
  * What a realtime session is FOR. The three are different upstream products
52
77
  * with different event families and different metering, not options of one:
@@ -117,7 +142,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
117
142
  * applied before this field existed, and authorizes no format that needs a
118
143
  * declaration (audio output on `chat_completions`, a realtime session).
119
144
  */
120
- 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">>;
121
146
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
122
147
  realtime: z.ZodOptional<z.ZodObject<{
123
148
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -142,7 +167,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
142
167
  promptCaching: boolean;
143
168
  maxContextTokens: number;
144
169
  maxOutputTokens: number;
145
- 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;
146
171
  realtime?: {
147
172
  transports: "websocket"[];
148
173
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -160,7 +185,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
160
185
  maxContextTokens: number;
161
186
  maxOutputTokens: number;
162
187
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
163
- 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;
164
189
  realtime?: {
165
190
  transports: "websocket"[];
166
191
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -178,7 +203,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
178
203
  promptCaching: boolean;
179
204
  maxContextTokens: number;
180
205
  maxOutputTokens: number;
181
- 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;
182
207
  realtime?: {
183
208
  transports: "websocket"[];
184
209
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -196,7 +221,7 @@ export declare const modelCapabilitiesSchema: z.ZodEffects<z.ZodObject<{
196
221
  maxContextTokens: number;
197
222
  maxOutputTokens: number;
198
223
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
199
- 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;
200
225
  realtime?: {
201
226
  transports: "websocket"[];
202
227
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -444,7 +469,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
444
469
  * applied before this field existed, and authorizes no format that needs a
445
470
  * declaration (audio output on `chat_completions`, a realtime session).
446
471
  */
447
- 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">>;
448
473
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
449
474
  realtime: z.ZodOptional<z.ZodObject<{
450
475
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -469,7 +494,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
469
494
  promptCaching: boolean;
470
495
  maxContextTokens: number;
471
496
  maxOutputTokens: number;
472
- 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;
473
498
  realtime?: {
474
499
  transports: "websocket"[];
475
500
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -487,7 +512,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
487
512
  maxContextTokens: number;
488
513
  maxOutputTokens: number;
489
514
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
490
- 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;
491
516
  realtime?: {
492
517
  transports: "websocket"[];
493
518
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -505,7 +530,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
505
530
  promptCaching: boolean;
506
531
  maxContextTokens: number;
507
532
  maxOutputTokens: number;
508
- 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;
509
534
  realtime?: {
510
535
  transports: "websocket"[];
511
536
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -523,7 +548,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
523
548
  maxContextTokens: number;
524
549
  maxOutputTokens: number;
525
550
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
526
- 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;
527
552
  realtime?: {
528
553
  transports: "websocket"[];
529
554
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -611,7 +636,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
611
636
  promptCaching: boolean;
612
637
  maxContextTokens: number;
613
638
  maxOutputTokens: number;
614
- 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;
615
640
  realtime?: {
616
641
  transports: "websocket"[];
617
642
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -659,7 +684,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
659
684
  maxContextTokens: number;
660
685
  maxOutputTokens: number;
661
686
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
662
- 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;
663
688
  realtime?: {
664
689
  transports: "websocket"[];
665
690
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -707,7 +732,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
707
732
  promptCaching: boolean;
708
733
  maxContextTokens: number;
709
734
  maxOutputTokens: number;
710
- 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;
711
736
  realtime?: {
712
737
  transports: "websocket"[];
713
738
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -755,7 +780,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
755
780
  maxContextTokens: number;
756
781
  maxOutputTokens: number;
757
782
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
758
- 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;
759
784
  realtime?: {
760
785
  transports: "websocket"[];
761
786
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1212,6 +1237,20 @@ export declare const routingProfileSchema: z.ZodObject<{
1212
1237
  }>, "many">;
1213
1238
  /** A product preset (Alia's "fast" toggle) rather than a customer's own profile. */
1214
1239
  isProductPreset: z.ZodBoolean;
1240
+ /**
1241
+ * Present when this profile IS a power level (contract set 3.4.0). Its
1242
+ * `candidates` are then the currently servable models of the level's class,
1243
+ * and may change between reads; cross-model failover among them is
1244
+ * authorized by the profile and reported with a `route_switch` event.
1245
+ */
1246
+ powerLevel: z.ZodOptional<z.ZodEnum<["auto", "instant", "medium", "high", "xhigh", "pro", "ultra"]>>;
1247
+ /**
1248
+ * The reasoning effort a power level asks for when the request names none,
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.
1252
+ */
1253
+ reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
1215
1254
  }, "strip", z.ZodTypeAny, {
1216
1255
  displayName: string;
1217
1256
  schemaVersion: 1;
@@ -1224,6 +1263,8 @@ export declare const routingProfileSchema: z.ZodObject<{
1224
1263
  }[];
1225
1264
  isProductPreset: boolean;
1226
1265
  description?: string | undefined;
1266
+ powerLevel?: "medium" | "high" | "auto" | "instant" | "xhigh" | "pro" | "ultra" | undefined;
1267
+ reasoningEffort?: "low" | "medium" | "high" | undefined;
1227
1268
  }, {
1228
1269
  displayName: string;
1229
1270
  schemaVersion: 1;
@@ -1236,6 +1277,8 @@ export declare const routingProfileSchema: z.ZodObject<{
1236
1277
  }[];
1237
1278
  isProductPreset: boolean;
1238
1279
  description?: string | undefined;
1280
+ powerLevel?: "medium" | "high" | "auto" | "instant" | "xhigh" | "pro" | "ultra" | undefined;
1281
+ reasoningEffort?: "low" | "medium" | "high" | undefined;
1239
1282
  }>;
1240
1283
  /** The publisher fields a customer sees beside a model. */
1241
1284
  export declare const cataloguePublisherSummarySchema: z.ZodObject<{
@@ -1386,7 +1429,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1386
1429
  * applied before this field existed, and authorizes no format that needs a
1387
1430
  * declaration (audio output on `chat_completions`, a realtime session).
1388
1431
  */
1389
- 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">>;
1390
1433
  /** Realtime sessions this model holds; absent means none. Contract set 3.2.0. */
1391
1434
  realtime: z.ZodOptional<z.ZodObject<{
1392
1435
  transports: z.ZodArray<z.ZodEnum<["websocket"]>, "many">;
@@ -1411,7 +1454,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1411
1454
  promptCaching: boolean;
1412
1455
  maxContextTokens: number;
1413
1456
  maxOutputTokens: number;
1414
- 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;
1415
1458
  realtime?: {
1416
1459
  transports: "websocket"[];
1417
1460
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1429,7 +1472,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1429
1472
  maxContextTokens: number;
1430
1473
  maxOutputTokens: number;
1431
1474
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1432
- 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;
1433
1476
  realtime?: {
1434
1477
  transports: "websocket"[];
1435
1478
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1447,7 +1490,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1447
1490
  promptCaching: boolean;
1448
1491
  maxContextTokens: number;
1449
1492
  maxOutputTokens: number;
1450
- 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;
1451
1494
  realtime?: {
1452
1495
  transports: "websocket"[];
1453
1496
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1465,7 +1508,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1465
1508
  maxContextTokens: number;
1466
1509
  maxOutputTokens: number;
1467
1510
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1468
- 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;
1469
1512
  realtime?: {
1470
1513
  transports: "websocket"[];
1471
1514
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1729,6 +1772,12 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1729
1772
  knownLimitations?: string[] | undefined;
1730
1773
  }>>;
1731
1774
  modelCardUrl: z.ZodOptional<z.ZodString>;
1775
+ /**
1776
+ * The reviewed power class this model serves in, when one has been reviewed
1777
+ * (contract set 3.4.0). Absent means the model is callable by name only and
1778
+ * no power level chooses it.
1779
+ */
1780
+ powerClass: z.ZodOptional<z.ZodEnum<["instant", "medium", "high", "pro", "ultra"]>>;
1732
1781
  }, "strip", z.ZodTypeAny, {
1733
1782
  displayName: string;
1734
1783
  capabilities: {
@@ -1744,7 +1793,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1744
1793
  promptCaching: boolean;
1745
1794
  maxContextTokens: number;
1746
1795
  maxOutputTokens: number;
1747
- 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;
1748
1797
  realtime?: {
1749
1798
  transports: "websocket"[];
1750
1799
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1830,6 +1879,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1830
1879
  per: number;
1831
1880
  }[];
1832
1881
  } | undefined;
1882
+ powerClass?: "medium" | "high" | "instant" | "pro" | "ultra" | undefined;
1833
1883
  }, {
1834
1884
  displayName: string;
1835
1885
  capabilities: {
@@ -1845,7 +1895,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1845
1895
  maxContextTokens: number;
1846
1896
  maxOutputTokens: number;
1847
1897
  reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1848
- 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;
1849
1899
  realtime?: {
1850
1900
  transports: "websocket"[];
1851
1901
  sessionKinds: ("conversation" | "transcription" | "translation")[];
@@ -1931,9 +1981,12 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1931
1981
  per: number;
1932
1982
  }[];
1933
1983
  } | undefined;
1984
+ powerClass?: "medium" | "high" | "instant" | "pro" | "ultra" | undefined;
1934
1985
  }>;
1935
1986
  export type InferenceModality = z.infer<typeof inferenceModalitySchema>;
1936
1987
  export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
1988
+ export type PowerLevel = z.infer<typeof powerLevelSchema>;
1989
+ export type ModelPowerClass = z.infer<typeof modelPowerClassSchema>;
1937
1990
  export type InferenceApiFormat = z.infer<typeof inferenceApiFormatSchema>;
1938
1991
  export type RealtimeSessionKind = z.infer<typeof realtimeSessionKindSchema>;
1939
1992
  export type RealtimeSessionTransport = z.infer<typeof realtimeSessionTransportSchema>;