@leaflow/sdk 0.175.0 → 0.176.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.
@@ -21,10 +21,6 @@ export type Money = string;
21
21
  * A non-negative decimal amount with at most 15 integer digits and 10 fractional digits.
22
22
  */
23
23
  export type DecimalAmount = Money & string;
24
- export interface ExpectedQuote {
25
- currency: "USD";
26
- amount: DecimalAmount;
27
- }
28
24
  export interface PurchaseCreate {
29
25
  /**
30
26
  * @minimum 1
@@ -37,7 +33,7 @@ export interface PurchaseCreate {
37
33
  */
38
34
  provider_plan_id: string;
39
35
  /**
40
- * Selects a price from the requested plan and current catalog revision. The server resolves its immutable Billing terms, billing period and ownership; the client does not set the billing period.
36
+ * Selects a price from the requested plan and current catalog revision. The server resolves its immutable Billing terms, billing period and ownership; the client does not set the billing period. SWAS validates the Price selection only. Billing owns quotes, checkout confirmation and payment.
41
37
  * @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
42
38
  */
43
39
  billing_price_id: string;
@@ -47,8 +43,6 @@ export interface PurchaseCreate {
47
43
  */
48
44
  image_id: string;
49
45
  quantity: 1;
50
- /** An assertion about the displayed quote, not an authoritative amount. The server obtains a new Billing quote and rejects a mismatch before accepting a purchase. */
51
- expected_quote: ExpectedQuote;
52
46
  /**
53
47
  * @minLength 1
54
48
  * @maxLength 128
@@ -73,7 +67,7 @@ export declare const PurchaseState: {
73
67
  readonly provider_rejected: "provider_rejected";
74
68
  };
75
69
  /**
76
- * Durable purchase progress. delivered and billing_settled describe different facts. Acceptance is not cloud delivery or checkout completion.
70
+ * Durable purchase progress. The checkout_session_id identifies the Billing session for user quote, confirmation and payment. It is not ready while checkout creation is pending. SWAS does not quote or charge automatically. delivered and billing_settled describe different facts; acceptance is not delivery.
77
71
  */
78
72
  export interface Purchase {
79
73
  /** @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ */
@@ -99,7 +93,11 @@ export interface Price {
99
93
  /** @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ */
100
94
  billing_price_id: string;
101
95
  currency: "USD";
102
- amount: DecimalAmount;
96
+ /**
97
+ * Historical display metadata only. New responses omit this field; use Billing for quotes.
98
+ * @deprecated
99
+ */
100
+ amount?: DecimalAmount;
103
101
  period_months: PricePeriodMonths;
104
102
  }
105
103
  export type PriceOptionPeriodMonths = (typeof PriceOptionPeriodMonths)[keyof typeof PriceOptionPeriodMonths];
@@ -112,7 +110,7 @@ export declare const PriceOptionPeriodMonths: {
112
110
  readonly NUMBER_36: 36;
113
111
  };
114
112
  /**
115
- * A verified price option for one billing period. Its Billing price must currently be available, use period-end cancellation without an automatic refund, and match this provider plan and region. Archived snapshots, unknown periods and unverified prices are excluded. Selection does not bypass current permissions, quote checks or disabled purchase controls. IDs and amounts are authoritative only after server revalidation.
113
+ * A verified price option for one billing period. Its Billing price must currently be available, use period-end cancellation without an automatic refund, and match this provider plan and region. Archived snapshots, unknown periods and unverified prices are excluded. Selection does not bypass current permissions, Price validation or disabled purchase controls. Billing owns quotes and checkout amounts.
116
114
  */
117
115
  export interface PriceOption {
118
116
  /** @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ */
@@ -120,7 +118,11 @@ export interface PriceOption {
120
118
  /** @pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ */
121
119
  billing_price_id: string;
122
120
  currency: "USD";
123
- amount: DecimalAmount;
121
+ /**
122
+ * Historical display metadata only. New responses omit this field; use Billing for quotes.
123
+ * @deprecated
124
+ */
125
+ amount?: DecimalAmount;
124
126
  period_months: PriceOptionPeriodMonths;
125
127
  }
126
128
  export interface Plan {
@@ -229,7 +231,11 @@ export declare const InstancePricePeriodMonths: {
229
231
  };
230
232
  export interface InstancePrice {
231
233
  currency: "USD";
232
- amount: DecimalAmount;
234
+ /**
235
+ * Historical display metadata only. Price-only purchases omit this field; use Billing for quotes.
236
+ * @deprecated
237
+ */
238
+ amount?: DecimalAmount;
233
239
  period_months: InstancePricePeriodMonths;
234
240
  }
235
241
  export declare const InstanceCapabilitiesValue: {
@@ -30,10 +30,6 @@ export declare const CreatePurchaseBody: zod.ZodObject<{
30
30
  billing_price_id: zod.ZodUUID;
31
31
  image_id: zod.ZodString;
32
32
  quantity: zod.ZodLiteral<1>;
33
- expected_quote: zod.ZodObject<{
34
- currency: zod.ZodLiteral<"USD">;
35
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
36
- }, zod.z.core.$strict>;
37
33
  region_id: zod.ZodString;
38
34
  }, zod.z.core.$strict>;
39
35
  /**
@@ -17,14 +17,14 @@ export declare const Catalog: zod.ZodObject<{
17
17
  billing_plan_id: zod.ZodUUID;
18
18
  billing_price_id: zod.ZodUUID;
19
19
  currency: zod.ZodLiteral<"USD">;
20
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
20
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
21
21
  period_months: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>, zod.ZodNull]>;
22
22
  }, zod.z.core.$strict>, zod.ZodNull]>;
23
23
  prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
24
24
  billing_plan_id: zod.ZodUUID;
25
25
  billing_price_id: zod.ZodUUID;
26
26
  currency: zod.ZodLiteral<"USD">;
27
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
27
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
28
28
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
29
29
  }, zod.z.core.$strict>>>;
30
30
  image_ids: zod.ZodArray<zod.ZodString>;
@@ -42,7 +42,7 @@ export declare const Instance: zod.ZodObject<{
42
42
  expires_at: zod.ZodUnion<readonly [zod.z.ZodISODateTime, zod.ZodNull]>;
43
43
  original_price: zod.ZodObject<{
44
44
  currency: zod.ZodLiteral<"USD">;
45
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
45
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
46
46
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
47
47
  }, zod.z.core.$strict>;
48
48
  source_observed_at: zod.z.ZodISODateTime;
@@ -40,7 +40,7 @@ export declare const InstanceList: zod.ZodObject<{
40
40
  expires_at: zod.ZodUnion<readonly [zod.z.ZodISODateTime, zod.ZodNull]>;
41
41
  original_price: zod.ZodObject<{
42
42
  currency: zod.ZodLiteral<"USD">;
43
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
43
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
44
44
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
45
45
  }, zod.z.core.$strict>;
46
46
  source_observed_at: zod.z.ZodISODateTime;
@@ -6,9 +6,10 @@
6
6
  * OpenAPI spec version: 1.0.0
7
7
  */
8
8
  import * as zod from "zod";
9
+ export declare const instancePriceAmountTwoRegExp: RegExp;
9
10
  export declare const InstancePrice: zod.ZodObject<{
10
11
  currency: zod.ZodLiteral<"USD">;
11
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
12
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
12
13
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
13
14
  }, zod.z.core.$strict>;
14
15
  export type InstancePrice = zod.input<typeof InstancePrice>;
@@ -6,10 +6,15 @@
6
6
  * OpenAPI spec version: 1.0.0
7
7
  */
8
8
  import * as zod from "zod";
9
- import { DecimalAmount } from "./decimalAmount.zod.js";
9
+ export const instancePriceAmountTwoRegExp = new RegExp("^(0|[1-9][0-9]{0,14})(\\.[0-9]{1,10})?$");
10
10
  export const InstancePrice = zod.strictObject({
11
11
  currency: zod.literal("USD"),
12
- amount: DecimalAmount,
12
+ amount: zod
13
+ .string()
14
+ .describe("A decimal string, in the currency stated alongside it.\n\n**The currency is not part of this type.** It is carried by a `currency` field next to the\namount, or by the account the amount belongs to. Reading an amount without that field is\nreading a number with no unit.\n\nIt is a string rather than a JSON number because a JSON number is a float in most parsers,\nand a float loses precision on the first arithmetic. Nothing on this platform puts an amount\nthrough a float.")
15
+ .and(zod.string().regex(instancePriceAmountTwoRegExp))
16
+ .optional()
17
+ .describe("Historical display metadata only. Price-only purchases omit this field; use Billing for quotes."),
13
18
  period_months: zod.union([
14
19
  zod.literal(1),
15
20
  zod.literal(3),
@@ -19,14 +19,14 @@ export declare const Plan: zod.ZodObject<{
19
19
  billing_plan_id: zod.ZodUUID;
20
20
  billing_price_id: zod.ZodUUID;
21
21
  currency: zod.ZodLiteral<"USD">;
22
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
22
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
23
23
  period_months: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>, zod.ZodNull]>;
24
24
  }, zod.z.core.$strict>, zod.ZodNull]>;
25
25
  prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
26
26
  billing_plan_id: zod.ZodUUID;
27
27
  billing_price_id: zod.ZodUUID;
28
28
  currency: zod.ZodLiteral<"USD">;
29
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
29
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
30
30
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
31
31
  }, zod.z.core.$strict>>>;
32
32
  image_ids: zod.ZodArray<zod.ZodString>;
@@ -8,11 +8,12 @@
8
8
  import * as zod from "zod";
9
9
  export declare const priceBillingPlanIdRegExp: RegExp;
10
10
  export declare const priceBillingPriceIdRegExp: RegExp;
11
+ export declare const priceAmountTwoRegExp: RegExp;
11
12
  export declare const Price: zod.ZodObject<{
12
13
  billing_plan_id: zod.ZodUUID;
13
14
  billing_price_id: zod.ZodUUID;
14
15
  currency: zod.ZodLiteral<"USD">;
15
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
16
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
16
17
  period_months: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>, zod.ZodNull]>;
17
18
  }, zod.z.core.$strict>;
18
19
  export type Price = zod.input<typeof Price>;
@@ -6,14 +6,19 @@
6
6
  * OpenAPI spec version: 1.0.0
7
7
  */
8
8
  import * as zod from "zod";
9
- import { DecimalAmount } from "./decimalAmount.zod.js";
10
9
  export const priceBillingPlanIdRegExp = new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$");
11
10
  export const priceBillingPriceIdRegExp = new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$");
11
+ export const priceAmountTwoRegExp = new RegExp("^(0|[1-9][0-9]{0,14})(\\.[0-9]{1,10})?$");
12
12
  export const Price = zod.strictObject({
13
13
  billing_plan_id: zod.uuid().regex(priceBillingPlanIdRegExp),
14
14
  billing_price_id: zod.uuid().regex(priceBillingPriceIdRegExp),
15
15
  currency: zod.literal("USD"),
16
- amount: DecimalAmount,
16
+ amount: zod
17
+ .string()
18
+ .describe("A decimal string, in the currency stated alongside it.\n\n**The currency is not part of this type.** It is carried by a `currency` field next to the\namount, or by the account the amount belongs to. Reading an amount without that field is\nreading a number with no unit.\n\nIt is a string rather than a JSON number because a JSON number is a float in most parsers,\nand a float loses precision on the first arithmetic. Nothing on this platform puts an amount\nthrough a float.")
19
+ .and(zod.string().regex(priceAmountTwoRegExp))
20
+ .optional()
21
+ .describe("Historical display metadata only. New responses omit this field; use Billing for quotes."),
17
22
  period_months: zod.union([
18
23
  zod.union([
19
24
  zod.literal(1),
@@ -8,11 +8,12 @@
8
8
  import * as zod from "zod";
9
9
  export declare const priceOptionBillingPlanIdRegExp: RegExp;
10
10
  export declare const priceOptionBillingPriceIdRegExp: RegExp;
11
+ export declare const priceOptionAmountTwoRegExp: RegExp;
11
12
  export declare const PriceOption: zod.ZodObject<{
12
13
  billing_plan_id: zod.ZodUUID;
13
14
  billing_price_id: zod.ZodUUID;
14
15
  currency: zod.ZodLiteral<"USD">;
15
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
16
+ amount: zod.ZodOptional<zod.ZodIntersection<zod.ZodString, zod.ZodString>>;
16
17
  period_months: zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<3>, zod.ZodLiteral<6>, zod.ZodLiteral<12>, zod.ZodLiteral<24>, zod.ZodLiteral<36>]>;
17
18
  }, zod.z.core.$strict>;
18
19
  export type PriceOption = zod.input<typeof PriceOption>;
@@ -6,15 +6,20 @@
6
6
  * OpenAPI spec version: 1.0.0
7
7
  */
8
8
  import * as zod from "zod";
9
- import { DecimalAmount } from "./decimalAmount.zod.js";
10
9
  export const priceOptionBillingPlanIdRegExp = new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$");
11
10
  export const priceOptionBillingPriceIdRegExp = new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$");
11
+ export const priceOptionAmountTwoRegExp = new RegExp("^(0|[1-9][0-9]{0,14})(\\.[0-9]{1,10})?$");
12
12
  export const PriceOption = zod
13
13
  .strictObject({
14
14
  billing_plan_id: zod.uuid().regex(priceOptionBillingPlanIdRegExp),
15
15
  billing_price_id: zod.uuid().regex(priceOptionBillingPriceIdRegExp),
16
16
  currency: zod.literal("USD"),
17
- amount: DecimalAmount,
17
+ amount: zod
18
+ .string()
19
+ .describe("A decimal string, in the currency stated alongside it.\n\n**The currency is not part of this type.** It is carried by a `currency` field next to the\namount, or by the account the amount belongs to. Reading an amount without that field is\nreading a number with no unit.\n\nIt is a string rather than a JSON number because a JSON number is a float in most parsers,\nand a float loses precision on the first arithmetic. Nothing on this platform puts an amount\nthrough a float.")
20
+ .and(zod.string().regex(priceOptionAmountTwoRegExp))
21
+ .optional()
22
+ .describe("Historical display metadata only. New responses omit this field; use Billing for quotes."),
18
23
  period_months: zod.union([
19
24
  zod.literal(1),
20
25
  zod.literal(3),
@@ -24,4 +29,4 @@ export const PriceOption = zod
24
29
  zod.literal(36),
25
30
  ]),
26
31
  })
27
- .describe("A verified price option for one billing period. Its Billing price must currently be available, use period-end cancellation without an automatic refund, and match this provider plan and region. Archived snapshots, unknown periods and unverified prices are excluded. Selection does not bypass current permissions, quote checks or disabled purchase controls. IDs and amounts are authoritative only after server revalidation.");
32
+ .describe("A verified price option for one billing period. Its Billing price must currently be available, use period-end cancellation without an automatic refund, and match this provider plan and region. Archived snapshots, unknown periods and unverified prices are excluded. Selection does not bypass current permissions, Price validation or disabled purchase controls. Billing owns quotes and checkout amounts.");
@@ -31,4 +31,4 @@ export const Purchase = zod
31
31
  delivered: zod.boolean(),
32
32
  billing_settled: zod.boolean(),
33
33
  })
34
- .describe("Durable purchase progress. delivered and billing_settled describe different facts. Acceptance is not cloud delivery or checkout completion.");
34
+ .describe("Durable purchase progress. The checkout_session_id identifies the Billing session for user quote, confirmation and payment. It is not ready while checkout creation is pending. SWAS does not quote or charge automatically. delivered and billing_settled describe different facts; acceptance is not delivery.");
@@ -17,10 +17,6 @@ export declare const PurchaseCreate: zod.ZodObject<{
17
17
  billing_price_id: zod.ZodUUID;
18
18
  image_id: zod.ZodString;
19
19
  quantity: zod.ZodLiteral<1>;
20
- expected_quote: zod.ZodObject<{
21
- currency: zod.ZodLiteral<"USD">;
22
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
23
- }, zod.z.core.$strict>;
24
20
  region_id: zod.ZodString;
25
21
  }, zod.z.core.$strict>;
26
22
  export type PurchaseCreate = zod.input<typeof PurchaseCreate>;
@@ -6,7 +6,6 @@
6
6
  * OpenAPI spec version: 1.0.0
7
7
  */
8
8
  import * as zod from "zod";
9
- import { ExpectedQuote } from "./expectedQuote.zod.js";
10
9
  export const purchaseCreateCatalogRevisionMax = 9007199254740991;
11
10
  export const purchaseCreateProviderPlanIdMax = 256;
12
11
  export const purchaseCreateBillingPriceIdRegExp = new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$");
@@ -18,9 +17,8 @@ export const PurchaseCreate = zod.strictObject({
18
17
  billing_price_id: zod
19
18
  .uuid()
20
19
  .regex(purchaseCreateBillingPriceIdRegExp)
21
- .describe("Selects a price from the requested plan and current catalog revision. The server resolves its immutable Billing terms, billing period and ownership; the client does not set the billing period."),
20
+ .describe("Selects a price from the requested plan and current catalog revision. The server resolves its immutable Billing terms, billing period and ownership; the client does not set the billing period. SWAS validates the Price selection only. Billing owns quotes, checkout confirmation and payment."),
22
21
  image_id: zod.string().min(1).max(purchaseCreateImageIdMax),
23
22
  quantity: zod.literal(1),
24
- expected_quote: ExpectedQuote.describe("An assertion about the displayed quote, not an authoritative amount. The server obtains a new Billing quote and rejects a mismatch before accepting a purchase."),
25
23
  region_id: zod.string().min(1).max(purchaseCreateRegionIdMax),
26
24
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflow/sdk",
3
- "version": "0.175.0",
3
+ "version": "0.176.0",
4
4
  "description": "Leaflow 平台 API 的 TypeScript SDK",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,14 +0,0 @@
1
- /**
2
- * Generated by orval 🍺
3
- * Do not edit manually.
4
- * Leaflow SWAS API
5
- * Manage SWAS purchases and instances in the current project. Use an IAM scoped token for every request. Amounts are decimal strings in the stated currency; timestamps are UTC RFC 3339. Accepted requests may still be in progress. Read purchase, operation and refund progress separately.
6
- * OpenAPI spec version: 1.0.0
7
- */
8
- import * as zod from "zod";
9
- export declare const ExpectedQuote: zod.ZodObject<{
10
- currency: zod.ZodLiteral<"USD">;
11
- amount: zod.ZodIntersection<zod.ZodString, zod.ZodString>;
12
- }, zod.z.core.$strict>;
13
- export type ExpectedQuote = zod.input<typeof ExpectedQuote>;
14
- export type ExpectedQuoteOutput = zod.output<typeof ExpectedQuote>;
@@ -1,13 +0,0 @@
1
- /**
2
- * Generated by orval 🍺
3
- * Do not edit manually.
4
- * Leaflow SWAS API
5
- * Manage SWAS purchases and instances in the current project. Use an IAM scoped token for every request. Amounts are decimal strings in the stated currency; timestamps are UTC RFC 3339. Accepted requests may still be in progress. Read purchase, operation and refund progress separately.
6
- * OpenAPI spec version: 1.0.0
7
- */
8
- import * as zod from "zod";
9
- import { DecimalAmount } from "./decimalAmount.zod.js";
10
- export const ExpectedQuote = zod.strictObject({
11
- currency: zod.literal("USD"),
12
- amount: DecimalAmount,
13
- });