@oxy.so/contracts 4.15.0 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/index.js +15 -10
  3. package/dist/cjs/inference/money.js +10 -0
  4. package/dist/cjs/inference/version.js +1 -1
  5. package/dist/cjs/products/billing.js +0 -1
  6. package/dist/cjs/products/checkout.js +1 -14
  7. package/dist/cjs/products/plans.js +2 -18
  8. package/dist/cjs/signIn.js +40 -1
  9. package/dist/cjs/userResponse.js +1 -8
  10. package/dist/esm/.tsbuildinfo +1 -1
  11. package/dist/esm/index.js +2 -2
  12. package/dist/esm/inference/money.js +10 -0
  13. package/dist/esm/inference/version.js +1 -1
  14. package/dist/esm/products/billing.js +0 -1
  15. package/dist/esm/products/checkout.js +0 -13
  16. package/dist/esm/products/plans.js +1 -17
  17. package/dist/esm/signIn.js +38 -0
  18. package/dist/esm/userResponse.js +1 -8
  19. package/dist/types/.tsbuildinfo +1 -1
  20. package/dist/types/externalIdentity.d.ts +0 -33
  21. package/dist/types/index.d.ts +3 -3
  22. package/dist/types/inference/catalogue.d.ts +7 -7
  23. package/dist/types/inference/decisions.d.ts +31 -31
  24. package/dist/types/inference/economics.d.ts +5 -5
  25. package/dist/types/inference/money.d.ts +17 -8
  26. package/dist/types/inference/priceVersion.d.ts +12 -12
  27. package/dist/types/inference/realtime.d.ts +24 -24
  28. package/dist/types/inference/routingPolicy.d.ts +7 -7
  29. package/dist/types/inference/streamEvents.d.ts +10 -10
  30. package/dist/types/inference/usage.d.ts +28 -28
  31. package/dist/types/inference/version.d.ts +1 -1
  32. package/dist/types/products/billing.d.ts +0 -8
  33. package/dist/types/products/checkout.d.ts +0 -36
  34. package/dist/types/products/plans.d.ts +5 -102
  35. package/dist/types/signIn.d.ts +82 -1
  36. package/dist/types/userResponse.d.ts +3 -139
  37. package/package.json +1 -1
@@ -105,13 +105,13 @@ export declare const usageReservationRequestSchema: z.ZodObject<{
105
105
  }>;
106
106
  /** Units already determined by the request itself, e.g. input tokens. */
107
107
  knownUnits: z.ZodDefault<z.ZodArray<z.ZodObject<{
108
- unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds"]>;
108
+ unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds", "input_transcription_milliseconds"]>;
109
109
  quantity: z.ZodNumber;
110
110
  }, "strict", z.ZodTypeAny, {
111
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
111
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
112
112
  quantity: number;
113
113
  }, {
114
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
114
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
115
115
  quantity: number;
116
116
  }>, "many">>;
117
117
  /** The ceiling on generated output, when the request set one. */
@@ -140,7 +140,7 @@ export declare const usageReservationRequestSchema: z.ZodObject<{
140
140
  };
141
141
  idempotencyKey: string;
142
142
  knownUnits: {
143
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
143
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
144
144
  quantity: number;
145
145
  }[];
146
146
  ceilingPriceVersionId: string;
@@ -170,7 +170,7 @@ export declare const usageReservationRequestSchema: z.ZodObject<{
170
170
  expiresInSeconds: number;
171
171
  maxOutputTokens?: number | undefined;
172
172
  knownUnits?: {
173
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
173
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
174
174
  quantity: number;
175
175
  }[] | undefined;
176
176
  }>;
@@ -468,13 +468,13 @@ export declare const normalizedUsageReportSchema: z.ZodEffects<z.ZodObject<{
468
468
  }>;
469
469
  outcome: z.ZodEnum<["completed", "partial", "cancelled", "failed"]>;
470
470
  units: z.ZodArray<z.ZodObject<{
471
- unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds"]>;
471
+ unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds", "input_transcription_milliseconds"]>;
472
472
  quantity: z.ZodNumber;
473
473
  }, "strict", z.ZodTypeAny, {
474
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
474
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
475
475
  quantity: number;
476
476
  }, {
477
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
477
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
478
478
  quantity: number;
479
479
  }>, "many">;
480
480
  usageSource: z.ZodEnum<["provider_reported", "oxy_measured", "estimated"]>;
@@ -518,7 +518,7 @@ export declare const normalizedUsageReportSchema: z.ZodEffects<z.ZodObject<{
518
518
  deploymentId: string;
519
519
  completedAt: string;
520
520
  units: {
521
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
521
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
522
522
  quantity: number;
523
523
  }[];
524
524
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -550,7 +550,7 @@ export declare const normalizedUsageReportSchema: z.ZodEffects<z.ZodObject<{
550
550
  deploymentId: string;
551
551
  completedAt: string;
552
552
  units: {
553
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
553
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
554
554
  quantity: number;
555
555
  }[];
556
556
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -582,7 +582,7 @@ export declare const normalizedUsageReportSchema: z.ZodEffects<z.ZodObject<{
582
582
  deploymentId: string;
583
583
  completedAt: string;
584
584
  units: {
585
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
585
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
586
586
  quantity: number;
587
587
  }[];
588
588
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -614,7 +614,7 @@ export declare const normalizedUsageReportSchema: z.ZodEffects<z.ZodObject<{
614
614
  deploymentId: string;
615
615
  completedAt: string;
616
616
  units: {
617
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
617
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
618
618
  quantity: number;
619
619
  }[];
620
620
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -705,13 +705,13 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
705
705
  }>;
706
706
  outcome: z.ZodEnum<["completed", "partial", "cancelled", "failed"]>;
707
707
  units: z.ZodArray<z.ZodObject<{
708
- unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds"]>;
708
+ unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds", "input_transcription_milliseconds"]>;
709
709
  quantity: z.ZodNumber;
710
710
  }, "strict", z.ZodTypeAny, {
711
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
711
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
712
712
  quantity: number;
713
713
  }, {
714
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
714
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
715
715
  quantity: number;
716
716
  }>, "many">;
717
717
  usageSource: z.ZodEnum<["provider_reported", "oxy_measured", "estimated"]>;
@@ -719,19 +719,19 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
719
719
  priceVersionId: z.ZodString;
720
720
  currency: z.ZodString;
721
721
  unitPrices: z.ZodArray<z.ZodObject<{
722
- unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds"]>;
722
+ unit: z.ZodEnum<["input_tokens", "cached_input_tokens", "output_tokens", "reasoning_tokens", "requests", "images", "audio_input_milliseconds", "audio_output_milliseconds", "video_milliseconds", "characters", "embeddings", "audio_input_tokens", "cached_audio_input_tokens", "audio_output_tokens", "session_milliseconds", "input_transcription_milliseconds"]>;
723
723
  amount: z.ZodBranded<z.ZodString, "ExactDecimal">;
724
724
  per: z.ZodNumber;
725
725
  currency: z.ZodString;
726
726
  }, "strict", z.ZodTypeAny, {
727
727
  currency: string;
728
728
  amount: string & z.BRAND<"ExactDecimal">;
729
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
729
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
730
730
  per: number;
731
731
  }, {
732
732
  currency: string;
733
733
  amount: string;
734
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
734
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
735
735
  per: number;
736
736
  }>, "many">;
737
737
  }, "strict", z.ZodTypeAny, {
@@ -740,7 +740,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
740
740
  unitPrices: {
741
741
  currency: string;
742
742
  amount: string & z.BRAND<"ExactDecimal">;
743
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
743
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
744
744
  per: number;
745
745
  }[];
746
746
  }, {
@@ -749,7 +749,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
749
749
  unitPrices: {
750
750
  currency: string;
751
751
  amount: string;
752
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
752
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
753
753
  per: number;
754
754
  }[];
755
755
  }>;
@@ -785,7 +785,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
785
785
  };
786
786
  idempotencyKey: string;
787
787
  units: {
788
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
788
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
789
789
  quantity: number;
790
790
  }[];
791
791
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -795,7 +795,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
795
795
  unitPrices: {
796
796
  currency: string;
797
797
  amount: string & z.BRAND<"ExactDecimal">;
798
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
798
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
799
799
  per: number;
800
800
  }[];
801
801
  };
@@ -826,7 +826,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
826
826
  };
827
827
  idempotencyKey: string;
828
828
  units: {
829
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
829
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
830
830
  quantity: number;
831
831
  }[];
832
832
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -836,7 +836,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
836
836
  unitPrices: {
837
837
  currency: string;
838
838
  amount: string;
839
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
839
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
840
840
  per: number;
841
841
  }[];
842
842
  };
@@ -867,7 +867,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
867
867
  };
868
868
  idempotencyKey: string;
869
869
  units: {
870
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
870
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
871
871
  quantity: number;
872
872
  }[];
873
873
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -877,7 +877,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
877
877
  unitPrices: {
878
878
  currency: string;
879
879
  amount: string & z.BRAND<"ExactDecimal">;
880
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
880
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
881
881
  per: number;
882
882
  }[];
883
883
  };
@@ -908,7 +908,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
908
908
  };
909
909
  idempotencyKey: string;
910
910
  units: {
911
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
911
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
912
912
  quantity: number;
913
913
  }[];
914
914
  usageSource: "provider_reported" | "oxy_measured" | "estimated";
@@ -918,7 +918,7 @@ export declare const usageReceiptSchema: z.ZodEffects<z.ZodObject<{
918
918
  unitPrices: {
919
919
  currency: string;
920
920
  amount: string;
921
- unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds";
921
+ unit: "input_tokens" | "cached_input_tokens" | "output_tokens" | "reasoning_tokens" | "requests" | "images" | "audio_input_milliseconds" | "audio_output_milliseconds" | "video_milliseconds" | "characters" | "embeddings" | "audio_input_tokens" | "cached_audio_input_tokens" | "audio_output_tokens" | "session_milliseconds" | "input_transcription_milliseconds";
922
922
  per: number;
923
923
  }[];
924
924
  };
@@ -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.8.0";
102
+ export declare const INFERENCE_CONTRACT_VERSION = "3.9.0";
@@ -21,7 +21,6 @@ export declare const productSubscriptionSummarySchema: z.ZodObject<{
21
21
  }>;
22
22
  cancelAtPeriodEnd: z.ZodBoolean;
23
23
  canCancel: z.ZodBoolean;
24
- canRenew: z.ZodOptional<z.ZodBoolean>;
25
24
  offers: z.ZodArray<z.ZodObject<{
26
25
  segmentId: z.ZodString;
27
26
  offerId: z.ZodString;
@@ -111,7 +110,6 @@ export declare const productSubscriptionSummarySchema: z.ZodObject<{
111
110
  displayName: string;
112
111
  }[];
113
112
  }[];
114
- canRenew?: boolean | undefined;
115
113
  }, {
116
114
  status: "active" | "incomplete" | "canceled" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid";
117
115
  sourceId: string;
@@ -137,7 +135,6 @@ export declare const productSubscriptionSummarySchema: z.ZodObject<{
137
135
  displayName: string;
138
136
  }[];
139
137
  }[];
140
- canRenew?: boolean | undefined;
141
138
  }>;
142
139
  export declare const productSubscriptionsResponseSchema: z.ZodObject<{
143
140
  subscriptions: z.ZodArray<z.ZodObject<{
@@ -161,7 +158,6 @@ export declare const productSubscriptionsResponseSchema: z.ZodObject<{
161
158
  }>;
162
159
  cancelAtPeriodEnd: z.ZodBoolean;
163
160
  canCancel: z.ZodBoolean;
164
- canRenew: z.ZodOptional<z.ZodBoolean>;
165
161
  offers: z.ZodArray<z.ZodObject<{
166
162
  segmentId: z.ZodString;
167
163
  offerId: z.ZodString;
@@ -251,7 +247,6 @@ export declare const productSubscriptionsResponseSchema: z.ZodObject<{
251
247
  displayName: string;
252
248
  }[];
253
249
  }[];
254
- canRenew?: boolean | undefined;
255
250
  }, {
256
251
  status: "active" | "incomplete" | "canceled" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid";
257
252
  sourceId: string;
@@ -277,7 +272,6 @@ export declare const productSubscriptionsResponseSchema: z.ZodObject<{
277
272
  displayName: string;
278
273
  }[];
279
274
  }[];
280
- canRenew?: boolean | undefined;
281
275
  }>, "many">;
282
276
  }, "strict", z.ZodTypeAny, {
283
277
  subscriptions: {
@@ -305,7 +299,6 @@ export declare const productSubscriptionsResponseSchema: z.ZodObject<{
305
299
  displayName: string;
306
300
  }[];
307
301
  }[];
308
- canRenew?: boolean | undefined;
309
302
  }[];
310
303
  }, {
311
304
  subscriptions: {
@@ -333,7 +326,6 @@ export declare const productSubscriptionsResponseSchema: z.ZodObject<{
333
326
  displayName: string;
334
327
  }[];
335
328
  }[];
336
- canRenew?: boolean | undefined;
337
329
  }[];
338
330
  }>;
339
331
  export declare const subscriptionCreditGrantSchema: z.ZodEffects<z.ZodObject<{
@@ -58,39 +58,3 @@ export declare const personalPlanCheckoutResultSchema: z.ZodDiscriminatedUnion<"
58
58
  }>]>;
59
59
  export type PersonalPlanCheckoutRequest = z.infer<typeof personalPlanCheckoutRequestSchema>;
60
60
  export type PersonalPlanCheckoutResult = z.infer<typeof personalPlanCheckoutResultSchema>;
61
- /** Explicit individual product offer; still owned and paid through Oxy. */
62
- export declare const productPlanCheckoutRequestSchema: z.ZodObject<{
63
- expectedSubjectAccountId: z.ZodBranded<z.ZodString, "OxyAccountId">;
64
- offerId: z.ZodString;
65
- offerVersion: z.ZodNumber;
66
- idempotencyKey: z.ZodString;
67
- } & {
68
- productId: z.ZodString;
69
- }, "strict", z.ZodTypeAny, {
70
- idempotencyKey: string;
71
- productId: string;
72
- offerId: string;
73
- offerVersion: number;
74
- expectedSubjectAccountId: string & z.BRAND<"OxyAccountId">;
75
- }, {
76
- idempotencyKey: string;
77
- productId: string;
78
- offerId: string;
79
- offerVersion: number;
80
- expectedSubjectAccountId: string;
81
- }>;
82
- export type ProductPlanCheckoutRequest = z.infer<typeof productPlanCheckoutRequestSchema>;
83
- export declare const productSubscriptionRenewalRequestSchema: z.ZodObject<{
84
- expectedSubjectAccountId: z.ZodBranded<z.ZodString, "OxyAccountId">;
85
- sourceId: z.ZodString;
86
- idempotencyKey: z.ZodString;
87
- }, "strict", z.ZodTypeAny, {
88
- sourceId: string;
89
- idempotencyKey: string;
90
- expectedSubjectAccountId: string & z.BRAND<"OxyAccountId">;
91
- }, {
92
- sourceId: string;
93
- idempotencyKey: string;
94
- expectedSubjectAccountId: string;
95
- }>;
96
- export type ProductSubscriptionRenewalRequest = z.infer<typeof productSubscriptionRenewalRequestSchema>;
@@ -26,7 +26,7 @@ export declare const personalPlanDisplayPriceSchema: z.ZodObject<{
26
26
  export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
27
27
  schemaVersion: z.ZodLiteral<1>;
28
28
  state: z.ZodEnum<["unconfigured", "configured"]>;
29
- purchase: z.ZodEnum<["unavailable", "available"]>;
29
+ purchase: z.ZodLiteral<"unavailable">;
30
30
  plans: z.ZodArray<z.ZodObject<{
31
31
  offerId: z.ZodString;
32
32
  offerVersion: z.ZodNumber;
@@ -182,7 +182,7 @@ export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
182
182
  }, "strict", z.ZodTypeAny, {
183
183
  schemaVersion: 1;
184
184
  state: "unconfigured" | "configured";
185
- purchase: "unavailable" | "available";
185
+ purchase: "unavailable";
186
186
  plans: {
187
187
  kind: "oxy_one";
188
188
  displayName: string;
@@ -216,7 +216,7 @@ export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
216
216
  }, {
217
217
  schemaVersion: 1;
218
218
  state: "unconfigured" | "configured";
219
- purchase: "unavailable" | "available";
219
+ purchase: "unavailable";
220
220
  plans: {
221
221
  kind: "oxy_one";
222
222
  displayName: string;
@@ -250,7 +250,7 @@ export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
250
250
  }>, {
251
251
  schemaVersion: 1;
252
252
  state: "unconfigured" | "configured";
253
- purchase: "unavailable" | "available";
253
+ purchase: "unavailable";
254
254
  plans: {
255
255
  kind: "oxy_one";
256
256
  displayName: string;
@@ -284,7 +284,7 @@ export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
284
284
  }, {
285
285
  schemaVersion: 1;
286
286
  state: "unconfigured" | "configured";
287
- purchase: "unavailable" | "available";
287
+ purchase: "unavailable";
288
288
  plans: {
289
289
  kind: "oxy_one";
290
290
  displayName: string;
@@ -317,100 +317,3 @@ export declare const personalPlanCatalogueSchema: z.ZodEffects<z.ZodObject<{
317
317
  }[];
318
318
  }>;
319
319
  export type PersonalPlanCatalogue = z.infer<typeof personalPlanCatalogueSchema>;
320
- export declare const productPlanCatalogueSchema: z.ZodObject<{
321
- schemaVersion: z.ZodLiteral<1>;
322
- productId: z.ZodString;
323
- purchase: z.ZodEnum<["unavailable", "available"]>;
324
- plans: z.ZodArray<z.ZodObject<{
325
- productId: z.ZodString;
326
- offerId: z.ZodString;
327
- offerVersion: z.ZodNumber;
328
- displayName: z.ZodString;
329
- price: z.ZodObject<{
330
- currency: z.ZodString;
331
- amountMinorUnits: z.ZodNumber;
332
- trial: z.ZodLiteral<"none">;
333
- taxTreatment: z.ZodLiteral<"inclusive">;
334
- merchantTotal: z.ZodLiteral<"final">;
335
- } & {
336
- interval: z.ZodEnum<["month", "year"]>;
337
- }, "strict", z.ZodTypeAny, {
338
- currency: string;
339
- amountMinorUnits: number;
340
- interval: "year" | "month";
341
- trial: "none";
342
- taxTreatment: "inclusive";
343
- merchantTotal: "final";
344
- }, {
345
- currency: string;
346
- amountMinorUnits: number;
347
- interval: "year" | "month";
348
- trial: "none";
349
- taxTreatment: "inclusive";
350
- merchantTotal: "final";
351
- }>;
352
- }, "strict", z.ZodTypeAny, {
353
- displayName: string;
354
- price: {
355
- currency: string;
356
- amountMinorUnits: number;
357
- interval: "year" | "month";
358
- trial: "none";
359
- taxTreatment: "inclusive";
360
- merchantTotal: "final";
361
- };
362
- productId: string;
363
- offerId: string;
364
- offerVersion: number;
365
- }, {
366
- displayName: string;
367
- price: {
368
- currency: string;
369
- amountMinorUnits: number;
370
- interval: "year" | "month";
371
- trial: "none";
372
- taxTreatment: "inclusive";
373
- merchantTotal: "final";
374
- };
375
- productId: string;
376
- offerId: string;
377
- offerVersion: number;
378
- }>, "many">;
379
- }, "strict", z.ZodTypeAny, {
380
- schemaVersion: 1;
381
- purchase: "unavailable" | "available";
382
- productId: string;
383
- plans: {
384
- displayName: string;
385
- price: {
386
- currency: string;
387
- amountMinorUnits: number;
388
- interval: "year" | "month";
389
- trial: "none";
390
- taxTreatment: "inclusive";
391
- merchantTotal: "final";
392
- };
393
- productId: string;
394
- offerId: string;
395
- offerVersion: number;
396
- }[];
397
- }, {
398
- schemaVersion: 1;
399
- purchase: "unavailable" | "available";
400
- productId: string;
401
- plans: {
402
- displayName: string;
403
- price: {
404
- currency: string;
405
- amountMinorUnits: number;
406
- interval: "year" | "month";
407
- trial: "none";
408
- taxTreatment: "inclusive";
409
- merchantTotal: "final";
410
- };
411
- productId: string;
412
- offerId: string;
413
- offerVersion: number;
414
- }[];
415
- }>;
416
- export type ProductPlanCatalogue = z.infer<typeof productPlanCatalogueSchema>;
@@ -18,6 +18,11 @@
18
18
  * one-use second-factor challenge instead of a session, and
19
19
  * `POST /auth/signin/second-factor` takes the TOTP (or a backup code).
20
20
  *
21
+ * An email may hold several accounts (up to `EMAIL_ACCOUNTS_MAX`). Signing in
22
+ * with the email, once the code or the link proves it, answers the accounts to
23
+ * choose from when there are several, and `POST /auth/signin/email/choose`
24
+ * names one. A username always names one account.
25
+ *
21
26
  * `POST /auth/signup` creates an account from a username and an email confirmed
22
27
  * with `POST /auth/email/verify/{start,confirm}` (purpose `signup`).
23
28
  *
@@ -359,8 +364,82 @@ export interface EmailSignInPending {
359
364
  export declare const emailSignInPendingSchema: z.ZodType<EmailSignInPending>;
360
365
  /** What a first factor answers: a session, or the second-factor step. */
361
366
  export type SignInStepResult = LoginResult | SecondFactorRequired;
367
+ /**
368
+ * How long, once the email is proven, the person has to choose which of its
369
+ * accounts signs in.
370
+ */
371
+ export declare const EMAIL_SIGNIN_CHOICE_TTL_MS: number;
372
+ /** Most accounts one email can hold; sign-up refuses another past it. */
373
+ export declare const EMAIL_ACCOUNTS_MAX = 20;
374
+ /** One account an email holds, as the choice after proving it shows it. */
375
+ export interface EmailSignInAccountOption {
376
+ id: string;
377
+ username?: string;
378
+ /** The account's own display name; absent → show the handle. */
379
+ displayName?: string;
380
+ /** Asset id of the avatar. */
381
+ avatar?: string;
382
+ }
383
+ export declare const emailSignInAccountOptionSchema: z.ZodType<EmailSignInAccountOption>;
384
+ /**
385
+ * The email was signed in with, and it holds several accounts: the person
386
+ * chooses one (`POST /auth/signin/email/choose`) before `expiresAt`. Only the
387
+ * holder of the request's `requestSecret` ever sees this, after the code or
388
+ * the link proved the mailbox; a sign-in by username names one account and
389
+ * never asks.
390
+ */
391
+ export interface EmailSignInChooseAccount {
392
+ chooseAccount: true;
393
+ accounts: EmailSignInAccountOption[];
394
+ /** Unix milliseconds. */
395
+ expiresAt: number;
396
+ }
397
+ export declare const emailSignInChooseAccountSchema: z.ZodType<EmailSignInChooseAccount>;
398
+ /** What proving an email answers: a session, the second-factor step, or the account choice. */
399
+ export type EmailSignInStepResult = SignInStepResult | EmailSignInChooseAccount;
400
+ /** `POST /auth/signin/email/choose` — the account, from those {@link EmailSignInChooseAccount} listed. */
401
+ export declare const emailSignInChooseRequestSchema: z.ZodObject<{
402
+ deviceName: z.ZodOptional<z.ZodString>;
403
+ deviceFingerprint: z.ZodOptional<z.ZodString>;
404
+ device: z.ZodOptional<z.ZodObject<{
405
+ deviceId: z.ZodString;
406
+ deviceSecret: z.ZodString;
407
+ }, "strip", z.ZodTypeAny, {
408
+ deviceId: string;
409
+ deviceSecret: string;
410
+ }, {
411
+ deviceId: string;
412
+ deviceSecret: string;
413
+ }>>;
414
+ requestId: z.ZodString;
415
+ requestSecret: z.ZodString;
416
+ userId: z.ZodString;
417
+ }, "strict", z.ZodTypeAny, {
418
+ userId: string;
419
+ requestId: string;
420
+ requestSecret: string;
421
+ device?: {
422
+ deviceId: string;
423
+ deviceSecret: string;
424
+ } | undefined;
425
+ deviceName?: string | undefined;
426
+ deviceFingerprint?: string | undefined;
427
+ }, {
428
+ userId: string;
429
+ requestId: string;
430
+ requestSecret: string;
431
+ device?: {
432
+ deviceId: string;
433
+ deviceSecret: string;
434
+ } | undefined;
435
+ deviceName?: string | undefined;
436
+ deviceFingerprint?: string | undefined;
437
+ }>;
438
+ export type EmailSignInChooseRequest = z.infer<typeof emailSignInChooseRequestSchema>;
362
439
  /** Narrow a {@link SignInStepResult}. */
363
- export declare function isSecondFactorRequired(result: SignInStepResult | EmailSignInPending): result is SecondFactorRequired;
440
+ export declare function isSecondFactorRequired(result: EmailSignInStepResult | EmailSignInPending): result is SecondFactorRequired;
441
+ /** Narrow an {@link EmailSignInStepResult}. */
442
+ export declare function isEmailSignInChooseAccount(result: EmailSignInStepResult | EmailSignInPending): result is EmailSignInChooseAccount;
364
443
  /**
365
444
  * What a re-verification email code confirms. The code is bound to it: a code
366
445
  * asked for one change never authorises another, and the email names it.
@@ -713,5 +792,7 @@ export declare const SIGN_IN_ERROR_CODES: {
713
792
  readonly originNotAllowed: "SIGNIN_ORIGIN_NOT_ALLOWED";
714
793
  /** The username is taken. */
715
794
  readonly usernameTaken: "USERNAME_TAKEN";
795
+ /** The email already holds `EMAIL_ACCOUNTS_MAX` accounts: no sign-up adds another. */
796
+ readonly emailAccountsFull: "EMAIL_ACCOUNTS_FULL";
716
797
  };
717
798
  export type SignInErrorCode = (typeof SIGN_IN_ERROR_CODES)[keyof typeof SIGN_IN_ERROR_CODES];