@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.
package/dist/cjs/index.js CHANGED
@@ -32,10 +32,10 @@ exports.deviceActivateResponseSchema = exports.deviceActivateRequestSchema = exp
32
32
  exports.IDENTITY_PROOF_ACTIONS = exports.IDENTITY_PROOF_CHALLENGE_TTL_MS = exports.IDENTITY_PROOF_AUDIENCE = exports.IDENTITY_PROOF_DOMAIN = exports.IDENTITY_PROOF_VERSION = exports.webIdentityEnvelopeEstablishSchema = exports.webauthnAssertionResponseSchema = exports.webIdentityEnvelopePutSchema = exports.webIdentityEnvelopeActionSchema = exports.webIdentityEnvelopeProofFieldsSchema = exports.webIdentityEnvelopeResponseSchema = exports.webIdentityHolderSchema = exports.webIdentityEnvelopeUploadSchema = exports.webIdentityEnvelopeSchema = exports.webIdentityWrapSchema = exports.webauthnRpIdSchema = exports.webauthnCredentialIdSchema = exports.webIdentityPublicKeySchema = exports.WEB_IDENTITY_SECRET_KINDS = exports.WEB_IDENTITY_ENVELOPE_VERSION = exports.backupStatusResponseSchema = exports.backupUploadRequestSchema = exports.encryptedBackupEnvelopeSchema = exports.backupLookupIdSchema = exports.rotateKeyCompleteResponseSchema = exports.rotateKeyCompleteRequestSchema = exports.rotateKeyChallengeResponseSchema = exports.loginResultSchema = exports.hubAuthorizeResultSchema = exports.hubAuthorizeRequestSchema = exports.hubActivateRequestSchema = exports.hubClaimRequestSchema = exports.hubSessionSchema = exports.browserHubRevokeResponseSchema = exports.browserHubErrorSchema = exports.browserHubResolveResponseSchema = exports.browserHubHandleResponseSchema = exports.browserHubHandleRequestSchema = exports.browserHubHandleSchema = exports.BROWSER_HUB_HANDLE_TTL_MS = exports.BROWSER_HUB_COOKIE_ATTRIBUTES = exports.BROWSER_HUB_COOKIE_NAME = exports.mcpOAuthConsentResponseSchema = exports.mcpOAuthClientInfoResponseSchema = exports.mcpOAuthConsentContextSchema = exports.mcpOAuthWriteActionSchema = exports.mcpOAuthClientApplicationSchema = exports.oauthAuthorizeCodeResponseSchema = exports.oauthConsentDecisionSchema = exports.deviceDirectorySyncSchema = void 0;
33
33
  exports.channelListResponseSchema = exports.channelSchema = exports.rollbackToEmbeddedEntrySchema = exports.createUpdateResponseSchema = exports.updateSchema = exports.createUpdateRequestSchema = exports.updateAssetRefSchema = exports.assetCompleteResponseSchema = exports.assetCompleteResultItemSchema = exports.assetCompleteRequestSchema = exports.assetInitResponseSchema = exports.assetUploadTicketSchema = exports.assetInitRequestSchema = exports.assetInitItemSchema = exports.rolloutPercentSchema = exports.runtimeVersionSchema = exports.channelNameSchema = exports.sha256HexSchema = exports.updateAssetStatusSchema = exports.updateStatusSchema = exports.updatePlatformSchema = exports.identityMoveStateSchema = exports.identityMoveReceiptRequestSchema = exports.identityMoveSealRequestSchema = exports.identityMoveJoinRequestSchema = exports.identityMoveCreateResponseSchema = exports.identityMoveCreateRequestSchema = exports.identityMoveEphemeralKeySchema = exports.identityMoveIdSchema = exports.buildMoveReceiptMessage = exports.buildMoveCiphertextDigestInput = exports.buildMoveSealPayload = exports.buildMoveSasInput = exports.buildMoveCommitmentInput = exports.identityMoveRevealRequestSchema = exports.IDENTITY_MOVE_QR_PREFIX = exports.IDENTITY_MOVE_STATUSES = exports.IDENTITY_MOVE_TTL_MS = exports.identityRecoveryCompleteRequestSchema = exports.identityRecoveryStartRequestSchema = exports.identityRecoveryChallengeResponseSchema = exports.IDENTITY_RECOVERY_TTL_MS = exports.identityRootStatusSchema = exports.identityProofChallengeResponseSchema = exports.identityProofChallengeRequestSchema = exports.identityProofSchema = exports.buildIdentityProofMessage = exports.canonicalJson = exports.IDENTITY_ERROR_CODES = exports.IDENTITY_PROOF_ACTION_VALUES = void 0;
34
34
  exports.inferenceScopeSchema = exports.INFERENCE_SCOPES = exports.unitPriceSchema = exports.usageQuantitySchema = exports.usageSourceSchema = exports.USAGE_SOURCES = exports.usageUnitSchema = exports.USAGE_UNITS = exports.moneySchema = exports.exactDecimalSchema = exports.INFERENCE_MONEY_SCALE = exports.currencyCodeSchema = exports.RESERVED_ALIA_PUBLISHER = exports.inferenceRegionSchema = exports.deploymentIdSchema = exports.inferenceProviderSlugSchema = exports.routingProfileSlugSchema = exports.routingProfileIdSchema = exports.modelReferenceSchema = exports.modelRevisionLabelSchema = exports.modelIdSchema = exports.modelSlugSchema = exports.publisherSlugSchema = exports.sha256DigestSchema = exports.inferenceHttpsUrlSchema = exports.inferenceDateSchema = exports.inferenceTimestampSchema = exports.inferenceEnvironmentSchema = exports.idempotencyKeySchema = exports.generationIdSchema = exports.requestIdSchema = exports.oxyCredentialIdSchema = exports.oxyApplicationIdSchema = exports.delegatedUserIdSchema = exports.oxyAccountIdSchema = exports.INFERENCE_CONTRACT_VERSION = exports.transparencyCheckpointListSchema = exports.transparencyInclusionProofSchema = exports.transparencyCheckpointSchema = exports.transparencyAnchorSchema = exports.transparencyCheckpointSignatureSchema = exports.webauthnLoginVerifyRequestSchema = exports.webauthnRegisterVerifyRequestSchema = exports.webauthnLoginOptionsRequestSchema = exports.webauthnRegisterOptionsRequestSchema = exports.updateRolloutPatchSchema = exports.promoteRequestSchema = exports.rollbackToEmbeddedRequestSchema = exports.rollbackRequestSchema = exports.updateListResponseSchema = void 0;
35
- exports.trainingComputeFlopsSchema = exports.modelSystemicRiskTierSchema = exports.modelDistributionMethodSchema = exports.aliaModelReleaseManifestSchema = exports.aliaReleaseSignatureSchema = exports.aliaReleaseArtifactSchema = exports.authorizedRouteSchema = exports.routingPolicyReferenceSchema = exports.routingPolicySchema = exports.routingFallbackPolicySchema = exports.routingPolicyScopeSchema = exports.routingTargetSchema = exports.modelCatalogueEntrySchema = exports.catalogueServingProviderSummarySchema = exports.cataloguePublisherSummarySchema = exports.routingProfileSchema = exports.routingProfileCandidateSchema = exports.modelDeploymentSchema = exports.inferenceProviderSchema = exports.modelRevisionSchema = exports.catalogueModelSchema = exports.modelPublisherSchema = exports.modelSafetyMetadataSchema = exports.modelEvaluationResultSchema = exports.modelDeprecationSchema = exports.commercialPermissionSchema = exports.availabilityScopeSchema = exports.inferenceDataPolicySchema = exports.modelProvenanceSchema = exports.modelLicenseSchema = exports.modelCapabilitiesSchema = exports.inferenceModalitySchema = exports.priceSnapshotSchema = exports.priceVersionSchema = exports.priceVersionStatusSchema = exports.embeddingResponseSchema = exports.embeddingFailureSchema = exports.embeddingSuccessSchema = exports.embeddingUsageSchema = exports.embeddingVectorSchema = exports.inferenceErrorSchema = exports.providerErrorPassthroughSchema = exports.safeErrorTextSchema = exports.upstreamErrorCategorySchema = exports.inferenceErrorCodeSchema = exports.NON_RETRYABLE_INFERENCE_ERROR_CODES = exports.INFERENCE_ERROR_CODES = exports.inferenceAttributionSchema = exports.authenticatedPrincipalSchema = exports.billingPrincipalSchema = void 0;
36
- exports.kaanaCredentialRotateMutationSchema = exports.kaanaCredentialCreateMutationSchema = exports.kaanaCredentialIdentitySchema = exports.kaanaCredentialOperationActionSchema = exports.kaanaCredentialOperationIdSchema = exports.kaanaCredentialHandleSchema = exports.providerConnectionScopeSchema = exports.usageRefundSchema = exports.usageRefundReasonSchema = exports.usageRefundSubjectSchema = exports.usageReceiptSchema = exports.normalizedUsageReportSchema = exports.inferenceRequestOutcomeSchema = exports.usageReservationSchema = exports.usageReservationStatusSchema = exports.usageReservationRequestSchema = exports.inferenceStreamEventSchema = exports.inferenceStreamDoneEventSchema = exports.inferenceFinishReasonSchema = exports.inferenceStreamErrorEventSchema = exports.inferenceStreamRouteSwitchEventSchema = exports.inferenceRouteSwitchReasonSchema = exports.inferenceRouteSwitchDetailSchema = exports.inferenceStreamUsageEventSchema = exports.inferenceStreamToolCallEventSchema = exports.inferenceStreamAudioEventSchema = exports.MAX_INFERENCE_AUDIO_BYTES = exports.inferenceAudioMediaTypeSchema = exports.inferenceStreamDeltaEventSchema = exports.inferenceStreamStartEventSchema = exports.inferenceSpeechParametersSchema = exports.inferenceRequestSchema = exports.clientRequestMetadataSchema = exports.responseFormatSchema = exports.toolChoiceSchema = exports.toolDefinitionSchema = exports.samplingParametersSchema = exports.inferenceInputSchema = exports.inferenceMessageSchema = exports.inferenceMessageRoleSchema = exports.inferenceToolCallSchema = exports.inferenceContentPartSchema = exports.inferenceContentSourceSchema = exports.modelDocumentationSchema = exports.modelReleaseIngestionResultSchema = exports.modelReleaseIngestionRequestSchema = exports.modelLineDeclarationSchema = exports.modelGpaiDocumentationSchema = exports.modelDownstreamDocumentationSchema = exports.SYSTEMIC_RISK_COMPUTE_THRESHOLD_FLOPS = void 0;
37
- exports.payAsYouGoEntitlementSchema = exports.productPlanSchema = exports.planAllowanceSchema = exports.LIVE_PRODUCT_PLAN_STATUSES = exports.productPlanStatusSchema = exports.PRODUCT_PLAN_STATUSES = exports.reconciliationReportSchema = exports.reconciliationRunSchema = exports.reconciliationDiscrepancySchema = exports.reconciliationRunStatusSchema = exports.RECONCILIATION_RUN_STATUSES = exports.reconciliationDiscrepancyKindSchema = exports.RECONCILIATION_DISCREPANCY_KINDS = exports.autoRechargeAttemptSchema = exports.autoRechargeStatusSchema = exports.AUTO_RECHARGE_STATUSES = exports.externalPaymentSchema = exports.externalPaymentKindSchema = exports.EXTERNAL_PAYMENT_KINDS = exports.externalPaymentProviderSchema = exports.EXTERNAL_PAYMENT_PROVIDERS = exports.billingInvoiceSchema = exports.billingInvoiceStatusSchema = exports.BILLING_INVOICE_STATUSES = exports.accountBillingStateSchema = exports.billingProfileSchema = exports.autoRechargeSchema = exports.billingProfileStatusSchema = exports.BILLING_PROFILE_STATUSES = exports.billingModeSchema = exports.BILLING_MODES = exports.providerConnectionSchema = exports.providerConnectionStatusSchema = exports.providerConnectionValidationSchema = exports.providerCredentialCustodyStateSchema = exports.providerCredentialValidationDeploymentSchema = exports.providerCredentialValidationOperationSchema = exports.kaanaCredentialValidationOutcomeSchema = exports.kaanaCredentialValidationFailureCodeSchema = exports.kaanaCredentialValidationOutcomeStateSchema = exports.kaanaCredentialValidationTaskSchema = exports.kaanaCredentialOutcomeSchema = exports.kaanaCredentialConflictOutcomeSchema = exports.kaanaCredentialAppliedOutcomeSchema = exports.kaanaCredentialOutcomeRequestSchema = exports.kaanaCredentialRevokeOutcomeRequestSchema = exports.kaanaCredentialRotateOutcomeRequestSchema = exports.kaanaCredentialCreateOutcomeRequestSchema = exports.kaanaCredentialMutationSchema = exports.kaanaCredentialRevokeMutationSchema = void 0;
38
- exports.inboxInferenceStreamEventSchema = exports.inboxThreadSummaryResponseSchema = exports.inboxSmartRepliesResponseSchema = exports.inboxNaturalSearchResponseSchema = exports.inboxInferenceTextResponseSchema = exports.inboxMessageInferenceParamsSchema = exports.inboxNaturalSearchRequestSchema = exports.inboxDailyBriefRequestSchema = exports.inboxComposeRequestSchema = exports.emailAgentContextSchema = exports.emailContextMessageSchema = exports.emailContextMailboxSchema = exports.emailContextAddressSchema = exports.normalizedAppEventSchema = exports.catalogRegistrationSchema = exports.appCapabilityCatalogSchema = exports.catalogEventSchema = exports.catalogToolSchema = exports.auditEventSchema = exports.auditResultSchema = exports.policyDecisionSchema = exports.capabilityTicketClaimsSchema = exports.automationDefinitionSchema = exports.automationDataFlowSchema = exports.automationActorSelectionSchema = exports.automationTriggerSchema = exports.delegationGrantSchema = exports.capabilityCoordinatorSchema = exports.executionAuthorizationRefSchema = exports.capabilityCatalogBindingSchema = exports.grantLimitSchema = exports.toolGrantOverrideSchema = exports.resourceRefSchema = exports.actorRefSchema = exports.capabilityPackageSchema = exports.autonomyLevelSchema = exports.CAPABILITY_PACKAGES = exports.AUTONOMY_LEVELS = exports.productEntitlementSchema = exports.costCenterSpendSchema = exports.costCenterSchema = exports.costCenterStatusSchema = exports.COST_CENTER_STATUSES = void 0;
35
+ exports.modelSystemicRiskTierSchema = exports.modelDistributionMethodSchema = exports.aliaModelReleaseManifestSchema = exports.aliaReleaseSignatureSchema = exports.aliaReleaseArtifactSchema = exports.authorizedRouteSchema = exports.routingPolicyReferenceSchema = exports.routingPolicySchema = exports.routingFallbackPolicySchema = exports.routingPolicyScopeSchema = exports.routingTargetSchema = exports.modelCatalogueEntrySchema = exports.catalogueServingProviderSummarySchema = exports.cataloguePublisherSummarySchema = exports.routingProfileSchema = exports.routingProfileCandidateSchema = exports.modelDeploymentSchema = exports.inferenceProviderSchema = exports.modelRevisionSchema = exports.catalogueModelSchema = exports.modelPublisherSchema = exports.modelSafetyMetadataSchema = exports.modelEvaluationResultSchema = exports.modelDeprecationSchema = exports.commercialPermissionSchema = exports.availabilityScopeSchema = exports.inferenceDataPolicySchema = exports.modelProvenanceSchema = exports.modelLicenseSchema = exports.modelCapabilitiesSchema = exports.reasoningEffortSchema = exports.inferenceModalitySchema = exports.priceSnapshotSchema = exports.priceVersionSchema = exports.priceVersionStatusSchema = exports.embeddingResponseSchema = exports.embeddingFailureSchema = exports.embeddingSuccessSchema = exports.embeddingUsageSchema = exports.embeddingVectorSchema = exports.inferenceErrorSchema = exports.providerErrorPassthroughSchema = exports.safeErrorTextSchema = exports.upstreamErrorCategorySchema = exports.inferenceErrorCodeSchema = exports.NON_RETRYABLE_INFERENCE_ERROR_CODES = exports.INFERENCE_ERROR_CODES = exports.inferenceAttributionSchema = exports.authenticatedPrincipalSchema = exports.billingPrincipalSchema = void 0;
36
+ exports.kaanaCredentialIdentitySchema = exports.kaanaCredentialOperationActionSchema = exports.kaanaCredentialOperationIdSchema = exports.kaanaCredentialHandleSchema = exports.providerConnectionScopeSchema = exports.usageRefundSchema = exports.usageRefundReasonSchema = exports.usageRefundSubjectSchema = exports.usageReceiptSchema = exports.normalizedUsageReportSchema = exports.inferenceRequestOutcomeSchema = exports.usageReservationSchema = exports.usageReservationStatusSchema = exports.usageReservationRequestSchema = exports.inferenceStreamEventSchema = exports.inferenceStreamDoneEventSchema = exports.inferenceFinishReasonSchema = exports.inferenceStreamErrorEventSchema = exports.inferenceStreamRouteSwitchEventSchema = exports.inferenceRouteSwitchReasonSchema = exports.inferenceRouteSwitchDetailSchema = exports.inferenceStreamUsageEventSchema = exports.inferenceStreamToolCallEventSchema = exports.inferenceStreamAudioEventSchema = exports.MAX_INFERENCE_AUDIO_BYTES = exports.inferenceAudioMediaTypeSchema = exports.inferenceStreamDeltaEventSchema = exports.inferenceStreamStartEventSchema = exports.inferenceSpeechParametersSchema = exports.inferenceRequestSchema = exports.clientRequestMetadataSchema = exports.responseFormatSchema = exports.toolChoiceSchema = exports.toolDefinitionSchema = exports.inferenceReasoningSchema = exports.samplingParametersSchema = exports.inferenceInputSchema = exports.inferenceMessageSchema = exports.inferenceMessageRoleSchema = exports.inferenceToolCallSchema = exports.inferenceContentPartSchema = exports.inferenceContentSourceSchema = exports.modelDocumentationSchema = exports.modelReleaseIngestionResultSchema = exports.modelReleaseIngestionRequestSchema = exports.modelLineDeclarationSchema = exports.modelGpaiDocumentationSchema = exports.modelDownstreamDocumentationSchema = exports.SYSTEMIC_RISK_COMPUTE_THRESHOLD_FLOPS = exports.trainingComputeFlopsSchema = void 0;
37
+ exports.planAllowanceSchema = exports.LIVE_PRODUCT_PLAN_STATUSES = exports.productPlanStatusSchema = exports.PRODUCT_PLAN_STATUSES = exports.reconciliationReportSchema = exports.reconciliationRunSchema = exports.reconciliationDiscrepancySchema = exports.reconciliationRunStatusSchema = exports.RECONCILIATION_RUN_STATUSES = exports.reconciliationDiscrepancyKindSchema = exports.RECONCILIATION_DISCREPANCY_KINDS = exports.autoRechargeAttemptSchema = exports.autoRechargeStatusSchema = exports.AUTO_RECHARGE_STATUSES = exports.externalPaymentSchema = exports.externalPaymentKindSchema = exports.EXTERNAL_PAYMENT_KINDS = exports.externalPaymentProviderSchema = exports.EXTERNAL_PAYMENT_PROVIDERS = exports.billingInvoiceSchema = exports.billingInvoiceStatusSchema = exports.BILLING_INVOICE_STATUSES = exports.accountBillingStateSchema = exports.billingProfileSchema = exports.autoRechargeSchema = exports.billingProfileStatusSchema = exports.BILLING_PROFILE_STATUSES = exports.billingModeSchema = exports.BILLING_MODES = exports.providerConnectionSchema = exports.providerConnectionStatusSchema = exports.providerConnectionValidationSchema = exports.providerCredentialCustodyStateSchema = exports.providerCredentialValidationDeploymentSchema = exports.providerCredentialValidationOperationSchema = exports.kaanaCredentialValidationOutcomeSchema = exports.kaanaCredentialValidationFailureCodeSchema = exports.kaanaCredentialValidationOutcomeStateSchema = exports.kaanaCredentialValidationTaskSchema = exports.kaanaCredentialOutcomeSchema = exports.kaanaCredentialConflictOutcomeSchema = exports.kaanaCredentialAppliedOutcomeSchema = exports.kaanaCredentialOutcomeRequestSchema = exports.kaanaCredentialRevokeOutcomeRequestSchema = exports.kaanaCredentialRotateOutcomeRequestSchema = exports.kaanaCredentialCreateOutcomeRequestSchema = exports.kaanaCredentialMutationSchema = exports.kaanaCredentialRevokeMutationSchema = exports.kaanaCredentialRotateMutationSchema = exports.kaanaCredentialCreateMutationSchema = void 0;
38
+ exports.inboxInferenceStreamEventSchema = exports.inboxThreadSummaryResponseSchema = exports.inboxSmartRepliesResponseSchema = exports.inboxNaturalSearchResponseSchema = exports.inboxInferenceTextResponseSchema = exports.inboxMessageInferenceParamsSchema = exports.inboxNaturalSearchRequestSchema = exports.inboxDailyBriefRequestSchema = exports.inboxComposeRequestSchema = exports.emailAgentContextSchema = exports.emailContextMessageSchema = exports.emailContextMailboxSchema = exports.emailContextAddressSchema = exports.normalizedAppEventSchema = exports.catalogRegistrationSchema = exports.appCapabilityCatalogSchema = exports.catalogEventSchema = exports.catalogToolSchema = exports.auditEventSchema = exports.auditResultSchema = exports.policyDecisionSchema = exports.capabilityTicketClaimsSchema = exports.automationDefinitionSchema = exports.automationDataFlowSchema = exports.automationActorSelectionSchema = exports.automationTriggerSchema = exports.delegationGrantSchema = exports.capabilityCoordinatorSchema = exports.executionAuthorizationRefSchema = exports.capabilityCatalogBindingSchema = exports.grantLimitSchema = exports.toolGrantOverrideSchema = exports.resourceRefSchema = exports.actorRefSchema = exports.capabilityPackageSchema = exports.autonomyLevelSchema = exports.CAPABILITY_PACKAGES = exports.AUTONOMY_LEVELS = exports.productEntitlementSchema = exports.costCenterSpendSchema = exports.costCenterSchema = exports.costCenterStatusSchema = exports.COST_CENTER_STATUSES = exports.payAsYouGoEntitlementSchema = exports.productPlanSchema = void 0;
39
39
  var accountGraph_1 = require("./accountGraph");
40
40
  Object.defineProperty(exports, "ACCOUNT_KINDS", { enumerable: true, get: function () { return accountGraph_1.ACCOUNT_KINDS; } });
41
41
  Object.defineProperty(exports, "accountKindSchema", { enumerable: true, get: function () { return accountGraph_1.accountKindSchema; } });
@@ -492,6 +492,7 @@ Object.defineProperty(exports, "priceSnapshotSchema", { enumerable: true, get: f
492
492
  var catalogue_1 = require("./inference/catalogue");
493
493
  // The six distinct catalogue objects + the customer-safe projection.
494
494
  Object.defineProperty(exports, "inferenceModalitySchema", { enumerable: true, get: function () { return catalogue_1.inferenceModalitySchema; } });
495
+ Object.defineProperty(exports, "reasoningEffortSchema", { enumerable: true, get: function () { return catalogue_1.reasoningEffortSchema; } });
495
496
  Object.defineProperty(exports, "modelCapabilitiesSchema", { enumerable: true, get: function () { return catalogue_1.modelCapabilitiesSchema; } });
496
497
  Object.defineProperty(exports, "modelLicenseSchema", { enumerable: true, get: function () { return catalogue_1.modelLicenseSchema; } });
497
498
  Object.defineProperty(exports, "modelProvenanceSchema", { enumerable: true, get: function () { return catalogue_1.modelProvenanceSchema; } });
@@ -549,6 +550,7 @@ Object.defineProperty(exports, "inferenceMessageRoleSchema", { enumerable: true,
549
550
  Object.defineProperty(exports, "inferenceMessageSchema", { enumerable: true, get: function () { return request_1.inferenceMessageSchema; } });
550
551
  Object.defineProperty(exports, "inferenceInputSchema", { enumerable: true, get: function () { return request_1.inferenceInputSchema; } });
551
552
  Object.defineProperty(exports, "samplingParametersSchema", { enumerable: true, get: function () { return request_1.samplingParametersSchema; } });
553
+ Object.defineProperty(exports, "inferenceReasoningSchema", { enumerable: true, get: function () { return request_1.inferenceReasoningSchema; } });
552
554
  Object.defineProperty(exports, "toolDefinitionSchema", { enumerable: true, get: function () { return request_1.toolDefinitionSchema; } });
553
555
  Object.defineProperty(exports, "toolChoiceSchema", { enumerable: true, get: function () { return request_1.toolChoiceSchema; } });
554
556
  Object.defineProperty(exports, "responseFormatSchema", { enumerable: true, get: function () { return request_1.responseFormatSchema; } });
@@ -695,3 +697,5 @@ Object.defineProperty(exports, "inboxSmartRepliesResponseSchema", { enumerable:
695
697
  Object.defineProperty(exports, "inboxThreadSummaryResponseSchema", { enumerable: true, get: function () { return inbox_1.inboxThreadSummaryResponseSchema; } });
696
698
  Object.defineProperty(exports, "inboxInferenceStreamEventSchema", { enumerable: true, get: function () { return inbox_1.inboxInferenceStreamEventSchema; } });
697
699
  __exportStar(require("./externalIdentity"), exports);
700
+ __exportStar(require("./linkedAccounts"), exports);
701
+ __exportStar(require("./notifications"), exports);
@@ -28,7 +28,7 @@
28
28
  * Decided in: docs/adr/0008-catalogue-concept-separation.md.
29
29
  */
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.modelCatalogueEntrySchema = exports.catalogueServingProviderSummarySchema = exports.cataloguePublisherSummarySchema = exports.routingProfileSchema = exports.routingProfileCandidateSchema = exports.modelDeploymentSchema = exports.inferenceProviderSchema = exports.modelRevisionSchema = exports.catalogueModelSchema = exports.modelPublisherSchema = exports.modelSafetyMetadataSchema = exports.modelEvaluationResultSchema = exports.modelDeprecationSchema = exports.commercialPermissionSchema = exports.availabilityScopeSchema = exports.inferenceDataPolicySchema = exports.modelProvenanceSchema = exports.modelLicenseSchema = exports.modelCapabilitiesSchema = exports.inferenceModalitySchema = void 0;
31
+ exports.modelCatalogueEntrySchema = exports.catalogueServingProviderSummarySchema = exports.cataloguePublisherSummarySchema = exports.routingProfileSchema = exports.routingProfileCandidateSchema = exports.modelDeploymentSchema = exports.inferenceProviderSchema = exports.modelRevisionSchema = exports.catalogueModelSchema = exports.modelPublisherSchema = exports.modelSafetyMetadataSchema = exports.modelEvaluationResultSchema = exports.modelDeprecationSchema = exports.commercialPermissionSchema = exports.availabilityScopeSchema = exports.inferenceDataPolicySchema = exports.modelProvenanceSchema = exports.modelLicenseSchema = exports.modelCapabilitiesSchema = exports.reasoningEffortSchema = exports.inferenceModalitySchema = void 0;
32
32
  const zod_1 = require("zod");
33
33
  const identifiers_1 = require("./identifiers");
34
34
  const priceVersion_1 = require("./priceVersion");
@@ -43,6 +43,15 @@ exports.inferenceModalitySchema = zod_1.z.enum([
43
43
  'video',
44
44
  'embedding',
45
45
  ]);
46
+ /**
47
+ * How hard a reasoning model is asked to think before it answers.
48
+ *
49
+ * A closed, provider-neutral vocabulary: Kaana translates each value into the
50
+ * serving provider's own control. A model advertises the subset it accepts in
51
+ * `modelCapabilitiesSchema.reasoningEfforts`, and Oxy refuses a request for an
52
+ * effort the resolved model does not advertise rather than dropping it.
53
+ */
54
+ exports.reasoningEffortSchema = zod_1.z.enum(['low', 'medium', 'high']);
46
55
  /**
47
56
  * What a model can do, in the terms a caller has to decide against before
48
57
  * sending a request: can it call tools, does it accept images, will it honour a
@@ -57,6 +66,13 @@ exports.modelCapabilitiesSchema = zod_1.z
57
66
  structuredOutput: zod_1.z.boolean(),
58
67
  jsonMode: zod_1.z.boolean(),
59
68
  reasoning: zod_1.z.boolean(),
69
+ /**
70
+ * The reasoning efforts a request may name for this model, in the order
71
+ * low → high. Empty means the model takes no effort control at all (it may
72
+ * still reason: `reasoning` answers that). Added in contract set 3.1.0;
73
+ * absent on the wire from an older producer, it parses as `[]`.
74
+ */
75
+ reasoningEfforts: zod_1.z.array(exports.reasoningEffortSchema).default([]),
60
76
  streaming: zod_1.z.boolean(),
61
77
  promptCaching: zod_1.z.boolean(),
62
78
  maxContextTokens: zod_1.z.number().int().positive().safe(),
@@ -472,6 +488,12 @@ exports.modelCatalogueEntrySchema = zod_1.z.object({
472
488
  provenance: exports.modelProvenanceSchema,
473
489
  knowledgeCutoff: identifiers_1.inferenceDateSchema.optional(),
474
490
  releasedOn: identifiers_1.inferenceDateSchema.optional(),
491
+ /**
492
+ * When the upstream provider first published this model, as that provider
493
+ * reports it. Present only when a provider reported it; never an Oxy or Kaana
494
+ * observation time. Lets a picker order models newest first.
495
+ */
496
+ releasedAt: identifiers_1.inferenceTimestampSchema.optional(),
475
497
  regions: zod_1.z.array(identifiers_1.inferenceRegionSchema).default([]),
476
498
  servingProviders: zod_1.z.array(exports.catalogueServingProviderSummarySchema).default([]),
477
499
  dataPolicy: exports.inferenceDataPolicySchema,
@@ -25,7 +25,7 @@
25
25
  * docs/adr/0017-authorized-routes-in-the-envelope.md.
26
26
  */
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.inferenceRequestSchema = exports.inferenceSpeechParametersSchema = exports.clientRequestMetadataSchema = exports.responseFormatSchema = exports.toolChoiceSchema = exports.toolDefinitionSchema = exports.samplingParametersSchema = exports.inferenceInputSchema = exports.inferenceMessageSchema = exports.inferenceMessageRoleSchema = exports.inferenceToolCallSchema = exports.inferenceContentPartSchema = exports.inferenceContentSourceSchema = void 0;
28
+ exports.inferenceRequestSchema = exports.inferenceSpeechParametersSchema = exports.clientRequestMetadataSchema = exports.inferenceReasoningSchema = exports.responseFormatSchema = exports.toolChoiceSchema = exports.toolDefinitionSchema = exports.samplingParametersSchema = exports.inferenceInputSchema = exports.inferenceMessageSchema = exports.inferenceMessageRoleSchema = exports.inferenceToolCallSchema = exports.inferenceContentPartSchema = exports.inferenceContentSourceSchema = void 0;
29
29
  const zod_1 = require("zod");
30
30
  const attribution_1 = require("./attribution");
31
31
  const catalogue_1 = require("./catalogue");
@@ -263,6 +263,16 @@ exports.responseFormatSchema = zod_1.z.discriminatedUnion("type", [
263
263
  })
264
264
  .strict(),
265
265
  ]);
266
+ /**
267
+ * The caller's reasoning control. Strict, like every leaf: a provider-specific
268
+ * knob (`budget_tokens`, `summary`) is refused rather than silently dropped.
269
+ *
270
+ * Oxy forwards it only after checking the resolved model advertises the effort
271
+ * in its catalogue `reasoningEfforts`; Kaana translates it per provider.
272
+ */
273
+ exports.inferenceReasoningSchema = zod_1.z
274
+ .object({ effort: catalogue_1.reasoningEffortSchema })
275
+ .strict();
266
276
  /* -------------------------------------------------------------------------- */
267
277
  /* Client metadata */
268
278
  /* -------------------------------------------------------------------------- */
@@ -339,6 +349,8 @@ exports.inferenceRequestSchema = zod_1.z
339
349
  stream: zod_1.z.boolean(),
340
350
  maxOutputTokens: zod_1.z.number().int().positive().safe().optional(),
341
351
  sampling: exports.samplingParametersSchema,
352
+ /** Absent means the route's own default reasoning behaviour. */
353
+ reasoning: exports.inferenceReasoningSchema.optional(),
342
354
  speech: exports.inferenceSpeechParametersSchema.optional(),
343
355
  tools: zod_1.z.array(exports.toolDefinitionSchema).default([]),
344
356
  toolChoice: exports.toolChoiceSchema.optional(),
@@ -102,4 +102,4 @@ exports.INFERENCE_CONTRACT_VERSION = void 0;
102
102
  * change to, say, the catalogue reject every in-flight inference request; the
103
103
  * per-shape `schemaVersion` is what a message is validated against.
104
104
  */
105
- exports.INFERENCE_CONTRACT_VERSION = '3.0.0';
105
+ exports.INFERENCE_CONTRACT_VERSION = '3.1.0';
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Wire contract for Oxy linked accounts — external accounts (any Mastodon-API
4
+ * server, Bluesky) a LOCAL Oxy user has proven they own by completing an OAuth
5
+ * authorization there.
6
+ *
7
+ * Every response schema is `.strict()` and carries no field a third-party token
8
+ * could occupy: Oxy uses the OAuth flow only to learn which account authorized
9
+ * it, then discards the token. See `docs/identity/linked-accounts.md`.
10
+ *
11
+ * Platform-agnostic — zod only, no react/react-native/expo.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LINKED_ACCOUNT_CALLBACK_ERRORS = exports.serviceLinkedAccountListResponseSchema = exports.serviceLinkedAccountSchema = exports.linkedAccountListResponseSchema = exports.completeLinkedAccountResponseSchema = exports.linkedAccountSchema = exports.completeLinkedAccountRequestSchema = exports.startLinkedAccountResponseSchema = exports.startLinkedAccountRequestSchema = exports.linkedAccountNetworkSchema = exports.LINKED_ACCOUNT_NETWORKS = void 0;
15
+ const zod_1 = require("zod");
16
+ exports.LINKED_ACCOUNT_NETWORKS = ['activitypub', 'atproto'];
17
+ exports.linkedAccountNetworkSchema = zod_1.z.enum(exports.LINKED_ACCOUNT_NETWORKS);
18
+ /**
19
+ * `POST /linked-accounts/:network/start`.
20
+ *
21
+ * - `instance` (activitypub): `mastodon.social`, `https://mastodon.social` or
22
+ * `@user@mastodon.social`.
23
+ * - `handle` (atproto): a handle (`alice.bsky.social`) or a DID.
24
+ * - `returnTo` + `clientId`: where the browser lands afterwards, with
25
+ * `?link_code=` or `?link_error=`. `returnTo` must exactly match a redirect
26
+ * URI registered on the TRUSTED (first-party) application `clientId` names.
27
+ */
28
+ exports.startLinkedAccountRequestSchema = zod_1.z
29
+ .object({
30
+ instance: zod_1.z.string().trim().min(1).max(320).optional(),
31
+ handle: zod_1.z.string().trim().min(1).max(320).optional(),
32
+ clientId: zod_1.z.string().trim().min(1).max(256),
33
+ returnTo: zod_1.z.string().trim().min(1).max(2048),
34
+ })
35
+ .strict();
36
+ exports.startLinkedAccountResponseSchema = zod_1.z
37
+ .object({
38
+ authorizeUrl: zod_1.z.string().url(),
39
+ expiresAt: zod_1.z.string().datetime(),
40
+ })
41
+ .strict();
42
+ /**
43
+ * `POST /linked-accounts/complete`, with the session of the user who STARTED
44
+ * the flow: `code` is the one-time `link_code` the callback appended to
45
+ * `returnTo`. It expires five minutes after the callback. Presented by any
46
+ * other user it is refused (403) and burned.
47
+ */
48
+ exports.completeLinkedAccountRequestSchema = zod_1.z
49
+ .object({ code: zod_1.z.string().trim().min(1).max(256) })
50
+ .strict();
51
+ /** One live linked account, as its owner sees it. */
52
+ exports.linkedAccountSchema = zod_1.z
53
+ .object({
54
+ id: zod_1.z.string().min(1),
55
+ network: exports.linkedAccountNetworkSchema,
56
+ /** `username@domain` for ActivityPub; the DID for atproto. */
57
+ accountKey: zod_1.z.string().min(1),
58
+ /** ActivityPub actor id, or the DID for atproto. */
59
+ actorUri: zod_1.z.string().min(1),
60
+ handle: zod_1.z.string().min(1),
61
+ host: zod_1.z.string().min(1),
62
+ proofMethod: zod_1.z.literal('oauth'),
63
+ verifiedAt: zod_1.z.string().datetime(),
64
+ createdAt: zod_1.z.string().datetime(),
65
+ })
66
+ .strict();
67
+ exports.completeLinkedAccountResponseSchema = zod_1.z
68
+ .object({ linkedAccount: exports.linkedAccountSchema })
69
+ .strict();
70
+ exports.linkedAccountListResponseSchema = zod_1.z
71
+ .object({ linkedAccounts: zod_1.z.array(exports.linkedAccountSchema) })
72
+ .strict();
73
+ /**
74
+ * `GET /linked-accounts/by-user/:userId` (service token with the privileged
75
+ * `linked-accounts:read`). Adds `federatedUserId`: the FEDERATED shadow user Oxy
76
+ * already holds for that external account, if any — the anchor for adopting
77
+ * content Oxy federated in before the account was linked.
78
+ */
79
+ exports.serviceLinkedAccountSchema = exports.linkedAccountSchema
80
+ .extend({ federatedUserId: zod_1.z.string().min(1).nullable() })
81
+ .strict();
82
+ exports.serviceLinkedAccountListResponseSchema = zod_1.z
83
+ .object({ userId: zod_1.z.string().min(1), linkedAccounts: zod_1.z.array(exports.serviceLinkedAccountSchema) })
84
+ .strict();
85
+ /**
86
+ * Error codes the callback appends as `?link_error=<code>` to `returnTo`. An
87
+ * account already linked to someone else is reported by `/complete` (409).
88
+ */
89
+ exports.LINKED_ACCOUNT_CALLBACK_ERRORS = [
90
+ 'access_denied',
91
+ 'verification_failed',
92
+ 'provider_unavailable',
93
+ ];
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * The closed set of Oxy in-app notification types — owned here so the API's
4
+ * CHECK constraint (`notifications.type`), its request validation and the SDK
5
+ * all read one tuple.
6
+ *
7
+ * `system` is a message from an Oxy service about the recipient's OWN account
8
+ * (Oxy Move's "your migration finished"): the actor is the recipient, and the
9
+ * entity is their profile or an `app` id. It is the only type an actor does not
10
+ * cause.
11
+ *
12
+ * Platform-agnostic — zod only, no react/react-native/expo.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.createOxyNotificationRequestSchema = exports.OXY_NOTIFICATION_URL_MAX = exports.OXY_SYSTEM_NOTIFICATION_MESSAGE_MAX = exports.OXY_SYSTEM_NOTIFICATION_TITLE_MAX = exports.OXY_NOTIFICATION_ENTITY_TYPES = exports.OXY_NOTIFICATION_TYPES = void 0;
16
+ const zod_1 = require("zod");
17
+ exports.OXY_NOTIFICATION_TYPES = [
18
+ 'like',
19
+ 'reply',
20
+ 'mention',
21
+ 'follow',
22
+ 'repost',
23
+ 'quote',
24
+ 'welcome',
25
+ 'system',
26
+ ];
27
+ /**
28
+ * What a notification's `entityId` names.
29
+ *
30
+ * `app` means `entityId` is an OPAQUE id in the notifying application's own
31
+ * namespace (Oxy Move's migration job id). Oxy never resolves it; it exists so
32
+ * a `system` notification about something that is not a post or a profile does
33
+ * not have to pretend to be one. Valid only with `type: 'system'`.
34
+ */
35
+ exports.OXY_NOTIFICATION_ENTITY_TYPES = ['post', 'reply', 'profile', 'app'];
36
+ /** Length caps on the text a `system` notification carries (enforced by CHECKs too). */
37
+ exports.OXY_SYSTEM_NOTIFICATION_TITLE_MAX = 120;
38
+ exports.OXY_SYSTEM_NOTIFICATION_MESSAGE_MAX = 500;
39
+ exports.OXY_NOTIFICATION_URL_MAX = 2048;
40
+ /**
41
+ * `POST /notifications` (service token with `notifications:write`).
42
+ *
43
+ * Only a `system` notification carries text: `title` and `message` are REQUIRED
44
+ * for it and stored, and `url` is an optional deep link (https, or a custom
45
+ * scheme registered as a redirect URI on the calling application). For every
46
+ * other type the client renders from `type` + entity, and `title` / `message` /
47
+ * `data` are accepted but discarded, as they always were.
48
+ *
49
+ * `system` notifications share the duplicate guard (recipient, actor, type,
50
+ * entityId): use a caller-unique `entityId` (a job id) for each distinct event.
51
+ */
52
+ exports.createOxyNotificationRequestSchema = zod_1.z
53
+ .object({
54
+ recipientId: zod_1.z.string().min(1),
55
+ actorId: zod_1.z.string().min(1),
56
+ type: zod_1.z.enum(exports.OXY_NOTIFICATION_TYPES),
57
+ entityId: zod_1.z.string().min(1),
58
+ entityType: zod_1.z.enum(exports.OXY_NOTIFICATION_ENTITY_TYPES),
59
+ title: zod_1.z.string().trim().min(1).max(exports.OXY_SYSTEM_NOTIFICATION_TITLE_MAX).optional(),
60
+ message: zod_1.z.string().trim().min(1).max(exports.OXY_SYSTEM_NOTIFICATION_MESSAGE_MAX).optional(),
61
+ url: zod_1.z.string().trim().min(1).max(exports.OXY_NOTIFICATION_URL_MAX).optional(),
62
+ data: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
63
+ })
64
+ .superRefine((value, context) => {
65
+ if (value.type === 'system') {
66
+ if (value.actorId !== value.recipientId)
67
+ context.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['actorId'], message: 'a system notification is from the recipient\'s own account' });
68
+ if (!value.title)
69
+ context.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['title'], message: 'title is required for a system notification' });
70
+ if (!value.message)
71
+ context.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['message'], message: 'message is required for a system notification' });
72
+ }
73
+ else {
74
+ if (value.url !== undefined) {
75
+ context.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['url'], message: 'url is only stored for a system notification' });
76
+ }
77
+ if (value.entityType === 'app') {
78
+ context.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['entityType'], message: "entityType 'app' is only valid for a system notification" });
79
+ }
80
+ }
81
+ });