@oxy.so/contracts 1.3.0 → 1.5.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.
@@ -78,16 +78,16 @@ export { embeddingVectorSchema, embeddingUsageSchema, embeddingSuccessSchema, em
78
78
  export type { EmbeddingVector, EmbeddingUsage, EmbeddingSuccess, EmbeddingFailure, EmbeddingResponse, } from './inference/embeddings';
79
79
  export { priceVersionStatusSchema, priceVersionSchema, priceSnapshotSchema, } from './inference/priceVersion';
80
80
  export type { PriceVersionStatus, PriceVersion, PriceSnapshot } from './inference/priceVersion';
81
- export { inferenceModalitySchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
82
- export type { InferenceModality, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
81
+ export { inferenceModalitySchema, reasoningEffortSchema, modelCapabilitiesSchema, modelLicenseSchema, modelProvenanceSchema, inferenceDataPolicySchema, availabilityScopeSchema, commercialPermissionSchema, modelDeprecationSchema, modelEvaluationResultSchema, modelSafetyMetadataSchema, modelPublisherSchema, catalogueModelSchema, modelRevisionSchema, inferenceProviderSchema, modelDeploymentSchema, routingProfileCandidateSchema, routingProfileSchema, cataloguePublisherSummarySchema, catalogueServingProviderSummarySchema, modelCatalogueEntrySchema, } from './inference/catalogue';
82
+ export type { InferenceModality, ReasoningEffort, ModelCapabilities, ModelLicense, ModelProvenance, InferenceDataPolicy, AvailabilityScope, CommercialPermission, ModelDeprecation, ModelEvaluationResult, ModelSafetyMetadata, ModelPublisher, CatalogueModel, ModelRevision, InferenceProvider, ModelDeployment, RoutingProfileCandidate, RoutingProfile, CataloguePublisherSummary, CatalogueServingProviderSummary, ModelCatalogueEntry, } from './inference/catalogue';
83
83
  export { routingTargetSchema, routingPolicyScopeSchema, routingFallbackPolicySchema, routingPolicySchema, routingPolicyReferenceSchema, authorizedRouteSchema, } from './inference/routingPolicy';
84
84
  export type { RoutingTarget, RoutingPolicyScope, RoutingFallbackPolicy, RoutingPolicy, RoutingPolicyReference, AuthorizedRoute, } from './inference/routingPolicy';
85
85
  export { aliaReleaseArtifactSchema, aliaReleaseSignatureSchema, aliaModelReleaseManifestSchema, } from './inference/aliaModelRelease';
86
86
  export type { AliaReleaseArtifact, AliaReleaseSignature, AliaModelReleaseManifest, } from './inference/aliaModelRelease';
87
87
  export { modelDistributionMethodSchema, modelSystemicRiskTierSchema, trainingComputeFlopsSchema, SYSTEMIC_RISK_COMPUTE_THRESHOLD_FLOPS, modelDownstreamDocumentationSchema, modelGpaiDocumentationSchema, modelLineDeclarationSchema, modelReleaseIngestionRequestSchema, modelReleaseIngestionResultSchema, modelDocumentationSchema, } from './inference/modelDocumentation';
88
88
  export type { ModelDistributionMethod, ModelSystemicRiskTier, ModelDownstreamDocumentation, ModelGpaiDocumentation, ModelLineDeclaration, ModelReleaseIngestionRequest, ModelReleaseIngestionResult, ModelDocumentation, } from './inference/modelDocumentation';
89
- export { inferenceContentSourceSchema, inferenceContentPartSchema, inferenceToolCallSchema, inferenceMessageRoleSchema, inferenceMessageSchema, inferenceInputSchema, samplingParametersSchema, toolDefinitionSchema, toolChoiceSchema, responseFormatSchema, clientRequestMetadataSchema, inferenceRequestSchema, inferenceSpeechParametersSchema, } from './inference/request';
90
- export type { InferenceContentSource, InferenceContentPart, InferenceToolCall, InferenceMessageRole, InferenceMessage, InferenceInput, SamplingParameters, ToolDefinition, ToolChoice, ResponseFormat, ClientRequestMetadata, InferenceRequest, InferenceSpeechParameters, } from './inference/request';
89
+ export { inferenceContentSourceSchema, inferenceContentPartSchema, inferenceToolCallSchema, inferenceMessageRoleSchema, inferenceMessageSchema, inferenceInputSchema, samplingParametersSchema, inferenceReasoningSchema, toolDefinitionSchema, toolChoiceSchema, responseFormatSchema, clientRequestMetadataSchema, inferenceRequestSchema, inferenceSpeechParametersSchema, } from './inference/request';
90
+ export type { InferenceContentSource, InferenceContentPart, InferenceToolCall, InferenceMessageRole, InferenceMessage, InferenceInput, SamplingParameters, InferenceReasoning, ToolDefinition, ToolChoice, ResponseFormat, ClientRequestMetadata, InferenceRequest, InferenceSpeechParameters, } from './inference/request';
91
91
  export { inferenceStreamStartEventSchema, inferenceStreamDeltaEventSchema, inferenceAudioMediaTypeSchema, MAX_INFERENCE_AUDIO_BYTES, inferenceStreamAudioEventSchema, inferenceStreamToolCallEventSchema, inferenceStreamUsageEventSchema, inferenceRouteSwitchDetailSchema, inferenceRouteSwitchReasonSchema, inferenceStreamRouteSwitchEventSchema, inferenceStreamErrorEventSchema, inferenceFinishReasonSchema, inferenceStreamDoneEventSchema, inferenceStreamEventSchema, } from './inference/streamEvents';
92
92
  export type { InferenceStreamStartEvent, InferenceStreamDeltaEvent, InferenceAudioMediaType, InferenceStreamAudioEvent, InferenceStreamToolCallEvent, InferenceStreamUsageEvent, InferenceRouteSwitchDetail, InferenceRouteSwitchReason, InferenceStreamRouteSwitchEvent, InferenceStreamErrorEvent, InferenceFinishReason, InferenceStreamDoneEvent, InferenceStreamEvent, } from './inference/streamEvents';
93
93
  export { usageReservationRequestSchema, usageReservationStatusSchema, usageReservationSchema, inferenceRequestOutcomeSchema, normalizedUsageReportSchema, usageReceiptSchema, usageRefundSubjectSchema, usageRefundReasonSchema, usageRefundSchema, } from './inference/usage';
@@ -105,3 +105,5 @@ export type { EmailContextAddress, EmailContextMailbox, EmailContextMessage, Ema
105
105
  export { inboxComposeRequestSchema, inboxDailyBriefRequestSchema, inboxNaturalSearchRequestSchema, inboxMessageInferenceParamsSchema, inboxInferenceTextResponseSchema, inboxNaturalSearchResponseSchema, inboxSmartRepliesResponseSchema, inboxThreadSummaryResponseSchema, inboxInferenceStreamEventSchema, } from './inference/inbox';
106
106
  export type { InboxComposeRequest, InboxDailyBriefRequest, InboxInferenceTextResponse, InboxNaturalSearchResponse, InboxSmartRepliesResponse, InboxThreadSummaryResponse, InboxInferenceStreamEvent, } from './inference/inbox';
107
107
  export * from './externalIdentity';
108
+ export * from './linkedAccounts';
109
+ export * from './notifications';
@@ -29,6 +29,15 @@
29
29
  import { z } from 'zod';
30
30
  /** The modalities a model can consume or produce. */
31
31
  export declare const inferenceModalitySchema: z.ZodEnum<["text", "image", "audio", "video", "embedding"]>;
32
+ /**
33
+ * How hard a reasoning model is asked to think before it answers.
34
+ *
35
+ * A closed, provider-neutral vocabulary: Kaana translates each value into the
36
+ * serving provider's own control. A model advertises the subset it accepts in
37
+ * `modelCapabilitiesSchema.reasoningEfforts`, and Oxy refuses a request for an
38
+ * effort the resolved model does not advertise rather than dropping it.
39
+ */
40
+ export declare const reasoningEffortSchema: z.ZodEnum<["low", "medium", "high"]>;
32
41
  /**
33
42
  * What a model can do, in the terms a caller has to decide against before
34
43
  * sending a request: can it call tools, does it accept images, will it honour a
@@ -42,6 +51,13 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
42
51
  structuredOutput: z.ZodBoolean;
43
52
  jsonMode: z.ZodBoolean;
44
53
  reasoning: z.ZodBoolean;
54
+ /**
55
+ * The reasoning efforts a request may name for this model, in the order
56
+ * low → high. Empty means the model takes no effort control at all (it may
57
+ * still reason: `reasoning` answers that). Added in contract set 3.1.0;
58
+ * absent on the wire from an older producer, it parses as `[]`.
59
+ */
60
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
45
61
  streaming: z.ZodBoolean;
46
62
  promptCaching: z.ZodBoolean;
47
63
  maxContextTokens: z.ZodNumber;
@@ -54,6 +70,7 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
54
70
  structuredOutput: boolean;
55
71
  jsonMode: boolean;
56
72
  reasoning: boolean;
73
+ reasoningEfforts: ("low" | "medium" | "high")[];
57
74
  streaming: boolean;
58
75
  promptCaching: boolean;
59
76
  maxContextTokens: number;
@@ -70,6 +87,7 @@ export declare const modelCapabilitiesSchema: z.ZodObject<{
70
87
  promptCaching: boolean;
71
88
  maxContextTokens: number;
72
89
  maxOutputTokens: number;
90
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
73
91
  }>;
74
92
  /**
75
93
  * License terms, including the two questions that decide whether Oxy may serve
@@ -289,6 +307,13 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
289
307
  structuredOutput: z.ZodBoolean;
290
308
  jsonMode: z.ZodBoolean;
291
309
  reasoning: z.ZodBoolean;
310
+ /**
311
+ * The reasoning efforts a request may name for this model, in the order
312
+ * low → high. Empty means the model takes no effort control at all (it may
313
+ * still reason: `reasoning` answers that). Added in contract set 3.1.0;
314
+ * absent on the wire from an older producer, it parses as `[]`.
315
+ */
316
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
292
317
  streaming: z.ZodBoolean;
293
318
  promptCaching: z.ZodBoolean;
294
319
  maxContextTokens: z.ZodNumber;
@@ -301,6 +326,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
301
326
  structuredOutput: boolean;
302
327
  jsonMode: boolean;
303
328
  reasoning: boolean;
329
+ reasoningEfforts: ("low" | "medium" | "high")[];
304
330
  streaming: boolean;
305
331
  promptCaching: boolean;
306
332
  maxContextTokens: number;
@@ -317,6 +343,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
317
343
  promptCaching: boolean;
318
344
  maxContextTokens: number;
319
345
  maxOutputTokens: number;
346
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
320
347
  }>;
321
348
  license: z.ZodObject<{
322
349
  /** SPDX identifier where one exists, otherwise the publisher's own name. */
@@ -395,6 +422,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
395
422
  structuredOutput: boolean;
396
423
  jsonMode: boolean;
397
424
  reasoning: boolean;
425
+ reasoningEfforts: ("low" | "medium" | "high")[];
398
426
  streaming: boolean;
399
427
  promptCaching: boolean;
400
428
  maxContextTokens: number;
@@ -441,6 +469,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
441
469
  promptCaching: boolean;
442
470
  maxContextTokens: number;
443
471
  maxOutputTokens: number;
472
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
444
473
  };
445
474
  schemaVersion: 1;
446
475
  slug: string;
@@ -479,6 +508,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
479
508
  structuredOutput: boolean;
480
509
  jsonMode: boolean;
481
510
  reasoning: boolean;
511
+ reasoningEfforts: ("low" | "medium" | "high")[];
482
512
  streaming: boolean;
483
513
  promptCaching: boolean;
484
514
  maxContextTokens: number;
@@ -525,6 +555,7 @@ export declare const catalogueModelSchema: z.ZodEffects<z.ZodObject<{
525
555
  promptCaching: boolean;
526
556
  maxContextTokens: number;
527
557
  maxOutputTokens: number;
558
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
528
559
  };
529
560
  schemaVersion: 1;
530
561
  slug: string;
@@ -1127,6 +1158,13 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1127
1158
  structuredOutput: z.ZodBoolean;
1128
1159
  jsonMode: z.ZodBoolean;
1129
1160
  reasoning: z.ZodBoolean;
1161
+ /**
1162
+ * The reasoning efforts a request may name for this model, in the order
1163
+ * low → high. Empty means the model takes no effort control at all (it may
1164
+ * still reason: `reasoning` answers that). Added in contract set 3.1.0;
1165
+ * absent on the wire from an older producer, it parses as `[]`.
1166
+ */
1167
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
1130
1168
  streaming: z.ZodBoolean;
1131
1169
  promptCaching: z.ZodBoolean;
1132
1170
  maxContextTokens: z.ZodNumber;
@@ -1139,6 +1177,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1139
1177
  structuredOutput: boolean;
1140
1178
  jsonMode: boolean;
1141
1179
  reasoning: boolean;
1180
+ reasoningEfforts: ("low" | "medium" | "high")[];
1142
1181
  streaming: boolean;
1143
1182
  promptCaching: boolean;
1144
1183
  maxContextTokens: number;
@@ -1155,6 +1194,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1155
1194
  promptCaching: boolean;
1156
1195
  maxContextTokens: number;
1157
1196
  maxOutputTokens: number;
1197
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1158
1198
  }>;
1159
1199
  license: z.ZodObject<{
1160
1200
  /** SPDX identifier where one exists, otherwise the publisher's own name. */
@@ -1195,6 +1235,12 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1195
1235
  }>;
1196
1236
  knowledgeCutoff: z.ZodOptional<z.ZodString>;
1197
1237
  releasedOn: z.ZodOptional<z.ZodString>;
1238
+ /**
1239
+ * When the upstream provider first published this model, as that provider
1240
+ * reports it. Present only when a provider reported it; never an Oxy or Kaana
1241
+ * observation time. Lets a picker order models newest first.
1242
+ */
1243
+ releasedAt: z.ZodOptional<z.ZodString>;
1198
1244
  regions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1199
1245
  servingProviders: z.ZodDefault<z.ZodArray<z.ZodObject<{
1200
1246
  slug: z.ZodString;
@@ -1418,6 +1464,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1418
1464
  structuredOutput: boolean;
1419
1465
  jsonMode: boolean;
1420
1466
  reasoning: boolean;
1467
+ reasoningEfforts: ("low" | "medium" | "high")[];
1421
1468
  streaming: boolean;
1422
1469
  promptCaching: boolean;
1423
1470
  maxContextTokens: number;
@@ -1483,6 +1530,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1483
1530
  description?: string | undefined;
1484
1531
  knowledgeCutoff?: string | undefined;
1485
1532
  releasedOn?: string | undefined;
1533
+ releasedAt?: string | undefined;
1486
1534
  modelCardUrl?: string | undefined;
1487
1535
  safety?: {
1488
1536
  contentFilteringDefault: "strict" | "none" | "provider_default";
@@ -1516,6 +1564,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1516
1564
  promptCaching: boolean;
1517
1565
  maxContextTokens: number;
1518
1566
  maxOutputTokens: number;
1567
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1519
1568
  };
1520
1569
  schemaVersion: 3;
1521
1570
  modelId: string;
@@ -1556,6 +1605,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1556
1605
  description?: string | undefined;
1557
1606
  knowledgeCutoff?: string | undefined;
1558
1607
  releasedOn?: string | undefined;
1608
+ releasedAt?: string | undefined;
1559
1609
  modelCardUrl?: string | undefined;
1560
1610
  evaluations?: {
1561
1611
  score: string;
@@ -1598,6 +1648,7 @@ export declare const modelCatalogueEntrySchema: z.ZodObject<{
1598
1648
  } | undefined;
1599
1649
  }>;
1600
1650
  export type InferenceModality = z.infer<typeof inferenceModalitySchema>;
1651
+ export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
1601
1652
  export type ModelCapabilities = z.infer<typeof modelCapabilitiesSchema>;
1602
1653
  export type ModelLicense = z.infer<typeof modelLicenseSchema>;
1603
1654
  export type ModelProvenance = z.infer<typeof modelProvenanceSchema>;
@@ -334,6 +334,7 @@ export declare const modelLineDeclarationSchema: z.ZodObject<{
334
334
  structuredOutput: z.ZodBoolean;
335
335
  jsonMode: z.ZodBoolean;
336
336
  reasoning: z.ZodBoolean;
337
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
337
338
  streaming: z.ZodBoolean;
338
339
  promptCaching: z.ZodBoolean;
339
340
  maxContextTokens: z.ZodNumber;
@@ -346,6 +347,7 @@ export declare const modelLineDeclarationSchema: z.ZodObject<{
346
347
  structuredOutput: boolean;
347
348
  jsonMode: boolean;
348
349
  reasoning: boolean;
350
+ reasoningEfforts: ("low" | "medium" | "high")[];
349
351
  streaming: boolean;
350
352
  promptCaching: boolean;
351
353
  maxContextTokens: number;
@@ -362,6 +364,7 @@ export declare const modelLineDeclarationSchema: z.ZodObject<{
362
364
  promptCaching: boolean;
363
365
  maxContextTokens: number;
364
366
  maxOutputTokens: number;
367
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
365
368
  }>;
366
369
  knowledgeCutoff: z.ZodOptional<z.ZodString>;
367
370
  releasedOn: z.ZodOptional<z.ZodString>;
@@ -375,6 +378,7 @@ export declare const modelLineDeclarationSchema: z.ZodObject<{
375
378
  structuredOutput: boolean;
376
379
  jsonMode: boolean;
377
380
  reasoning: boolean;
381
+ reasoningEfforts: ("low" | "medium" | "high")[];
378
382
  streaming: boolean;
379
383
  promptCaching: boolean;
380
384
  maxContextTokens: number;
@@ -397,6 +401,7 @@ export declare const modelLineDeclarationSchema: z.ZodObject<{
397
401
  promptCaching: boolean;
398
402
  maxContextTokens: number;
399
403
  maxOutputTokens: number;
404
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
400
405
  };
401
406
  description?: string | undefined;
402
407
  knowledgeCutoff?: string | undefined;
@@ -957,6 +962,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
957
962
  structuredOutput: z.ZodBoolean;
958
963
  jsonMode: z.ZodBoolean;
959
964
  reasoning: z.ZodBoolean;
965
+ reasoningEfforts: z.ZodDefault<z.ZodArray<z.ZodEnum<["low", "medium", "high"]>, "many">>;
960
966
  streaming: z.ZodBoolean;
961
967
  promptCaching: z.ZodBoolean;
962
968
  maxContextTokens: z.ZodNumber;
@@ -969,6 +975,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
969
975
  structuredOutput: boolean;
970
976
  jsonMode: boolean;
971
977
  reasoning: boolean;
978
+ reasoningEfforts: ("low" | "medium" | "high")[];
972
979
  streaming: boolean;
973
980
  promptCaching: boolean;
974
981
  maxContextTokens: number;
@@ -985,6 +992,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
985
992
  promptCaching: boolean;
986
993
  maxContextTokens: number;
987
994
  maxOutputTokens: number;
995
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
988
996
  }>;
989
997
  knowledgeCutoff: z.ZodOptional<z.ZodString>;
990
998
  releasedOn: z.ZodOptional<z.ZodString>;
@@ -998,6 +1006,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
998
1006
  structuredOutput: boolean;
999
1007
  jsonMode: boolean;
1000
1008
  reasoning: boolean;
1009
+ reasoningEfforts: ("low" | "medium" | "high")[];
1001
1010
  streaming: boolean;
1002
1011
  promptCaching: boolean;
1003
1012
  maxContextTokens: number;
@@ -1020,6 +1029,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
1020
1029
  promptCaching: boolean;
1021
1030
  maxContextTokens: number;
1022
1031
  maxOutputTokens: number;
1032
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1023
1033
  };
1024
1034
  description?: string | undefined;
1025
1035
  knowledgeCutoff?: string | undefined;
@@ -1037,6 +1047,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
1037
1047
  structuredOutput: boolean;
1038
1048
  jsonMode: boolean;
1039
1049
  reasoning: boolean;
1050
+ reasoningEfforts: ("low" | "medium" | "high")[];
1040
1051
  streaming: boolean;
1041
1052
  promptCaching: boolean;
1042
1053
  maxContextTokens: number;
@@ -1131,6 +1142,7 @@ export declare const modelReleaseIngestionRequestSchema: z.ZodObject<{
1131
1142
  promptCaching: boolean;
1132
1143
  maxContextTokens: number;
1133
1144
  maxOutputTokens: number;
1145
+ reasoningEfforts?: ("low" | "medium" | "high")[] | undefined;
1134
1146
  };
1135
1147
  description?: string | undefined;
1136
1148
  knowledgeCutoff?: string | undefined;
@@ -1237,6 +1237,20 @@ export declare const responseFormatSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
1237
1237
  name: string;
1238
1238
  strict: boolean;
1239
1239
  }>]>;
1240
+ /**
1241
+ * The caller's reasoning control. Strict, like every leaf: a provider-specific
1242
+ * knob (`budget_tokens`, `summary`) is refused rather than silently dropped.
1243
+ *
1244
+ * Oxy forwards it only after checking the resolved model advertises the effort
1245
+ * in its catalogue `reasoningEfforts`; Kaana translates it per provider.
1246
+ */
1247
+ export declare const inferenceReasoningSchema: z.ZodObject<{
1248
+ effort: z.ZodEnum<["low", "medium", "high"]>;
1249
+ }, "strict", z.ZodTypeAny, {
1250
+ effort: "low" | "medium" | "high";
1251
+ }, {
1252
+ effort: "low" | "medium" | "high";
1253
+ }>;
1240
1254
  /**
1241
1255
  * What the edge records about the CALL, as opposed to its content.
1242
1256
  *
@@ -1900,6 +1914,14 @@ export declare const inferenceRequestSchema: z.ZodEffects<z.ZodObject<{
1900
1914
  presencePenalty?: number | undefined;
1901
1915
  stopSequences?: string[] | undefined;
1902
1916
  }>;
1917
+ /** Absent means the route's own default reasoning behaviour. */
1918
+ reasoning: z.ZodOptional<z.ZodObject<{
1919
+ effort: z.ZodEnum<["low", "medium", "high"]>;
1920
+ }, "strict", z.ZodTypeAny, {
1921
+ effort: "low" | "medium" | "high";
1922
+ }, {
1923
+ effort: "low" | "medium" | "high";
1924
+ }>>;
1903
1925
  speech: z.ZodOptional<z.ZodObject<{
1904
1926
  voice: z.ZodString;
1905
1927
  responseFormat: z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>;
@@ -2308,6 +2330,9 @@ export declare const inferenceRequestSchema: z.ZodEffects<z.ZodObject<{
2308
2330
  policyVersion: number;
2309
2331
  };
2310
2332
  idempotencyKey?: string | undefined;
2333
+ reasoning?: {
2334
+ effort: "low" | "medium" | "high";
2335
+ } | undefined;
2311
2336
  maxOutputTokens?: number | undefined;
2312
2337
  responseFormat?: {
2313
2338
  type: "text";
@@ -2467,6 +2492,9 @@ export declare const inferenceRequestSchema: z.ZodEffects<z.ZodObject<{
2467
2492
  strict?: boolean | undefined;
2468
2493
  }[] | undefined;
2469
2494
  idempotencyKey?: string | undefined;
2495
+ reasoning?: {
2496
+ effort: "low" | "medium" | "high";
2497
+ } | undefined;
2470
2498
  maxOutputTokens?: number | undefined;
2471
2499
  responseFormat?: {
2472
2500
  type: "text";
@@ -2626,6 +2654,9 @@ export declare const inferenceRequestSchema: z.ZodEffects<z.ZodObject<{
2626
2654
  policyVersion: number;
2627
2655
  };
2628
2656
  idempotencyKey?: string | undefined;
2657
+ reasoning?: {
2658
+ effort: "low" | "medium" | "high";
2659
+ } | undefined;
2629
2660
  maxOutputTokens?: number | undefined;
2630
2661
  responseFormat?: {
2631
2662
  type: "text";
@@ -2785,6 +2816,9 @@ export declare const inferenceRequestSchema: z.ZodEffects<z.ZodObject<{
2785
2816
  strict?: boolean | undefined;
2786
2817
  }[] | undefined;
2787
2818
  idempotencyKey?: string | undefined;
2819
+ reasoning?: {
2820
+ effort: "low" | "medium" | "high";
2821
+ } | undefined;
2788
2822
  maxOutputTokens?: number | undefined;
2789
2823
  responseFormat?: {
2790
2824
  type: "text";
@@ -2841,6 +2875,7 @@ export type InferenceMessageRole = z.infer<typeof inferenceMessageRoleSchema>;
2841
2875
  export type InferenceMessage = z.infer<typeof inferenceMessageSchema>;
2842
2876
  export type InferenceInput = z.infer<typeof inferenceInputSchema>;
2843
2877
  export type SamplingParameters = z.infer<typeof samplingParametersSchema>;
2878
+ export type InferenceReasoning = z.infer<typeof inferenceReasoningSchema>;
2844
2879
  export type ToolDefinition = z.infer<typeof toolDefinitionSchema>;
2845
2880
  export type ToolChoice = z.infer<typeof toolChoiceSchema>;
2846
2881
  export type ResponseFormat = z.infer<typeof responseFormatSchema>;
@@ -99,4 +99,4 @@
99
99
  * change to, say, the catalogue reject every in-flight inference request; the
100
100
  * per-shape `schemaVersion` is what a message is validated against.
101
101
  */
102
- export declare const INFERENCE_CONTRACT_VERSION = "3.0.0";
102
+ export declare const INFERENCE_CONTRACT_VERSION = "3.1.0";