@cimplify/sdk 0.44.16 → 0.44.18

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/advanced.js +22 -21
  2. package/dist/advanced.mjs +3 -2
  3. package/dist/{chunk-MBGQP6FZ.js → chunk-3FS3ZDKX.js} +60 -60
  4. package/dist/chunk-53J2WE4S.js +657 -0
  5. package/dist/{chunk-UXLQ7WXI.mjs → chunk-5OK3YDZC.mjs} +2 -2
  6. package/dist/{chunk-MNIKXG7W.js → chunk-BN2CXGMO.js} +5 -272
  7. package/dist/{chunk-XL4CX75J.js → chunk-CCSONJCO.js} +235 -781
  8. package/dist/{chunk-CFD4J32N.js → chunk-HBRCVJL4.js} +22 -21
  9. package/dist/{chunk-ZLEFMQC6.mjs → chunk-MJBSVUHO.mjs} +2 -498
  10. package/dist/{chunk-6AZZ6AOF.mjs → chunk-NRT6PVW5.mjs} +4 -251
  11. package/dist/chunk-QBQCMQ4F.js +271 -0
  12. package/dist/chunk-VDH3O7UB.mjs +604 -0
  13. package/dist/chunk-XPXAZXF2.mjs +250 -0
  14. package/dist/{chunk-7NML226B.mjs → chunk-XZPO5GEM.mjs} +2 -1
  15. package/dist/client-B_Ei3ENB.d.mts +86 -0
  16. package/dist/client-Bep2FooI.d.ts +86 -0
  17. package/dist/index.js +145 -144
  18. package/dist/index.mjs +4 -3
  19. package/dist/react.js +81 -80
  20. package/dist/react.mjs +4 -3
  21. package/dist/server.js +6 -5
  22. package/dist/server.mjs +4 -3
  23. package/dist/testing/msw.d.mts +17 -0
  24. package/dist/testing/msw.d.ts +17 -0
  25. package/dist/testing/msw.js +42 -0
  26. package/dist/testing/msw.mjs +40 -0
  27. package/dist/testing/suite.d.mts +25 -0
  28. package/dist/testing/suite.d.ts +25 -0
  29. package/dist/testing/suite.js +28 -23
  30. package/dist/testing/suite.mjs +9 -4
  31. package/dist/testing.d.mts +643 -117
  32. package/dist/testing.d.ts +643 -117
  33. package/dist/testing.js +107 -59
  34. package/dist/testing.mjs +51 -4
  35. package/dist/utils.js +29 -28
  36. package/dist/utils.mjs +2 -1
  37. package/package.json +11 -2
package/dist/testing.d.ts CHANGED
@@ -1,15 +1,42 @@
1
1
  import { z } from 'zod';
2
- import { C as CimplifyClient } from './client-D6ZisKco.js';
3
- import { C as CreateAppOptions, A as AppHandle } from './server-CWpUlLOQ.js';
2
+ import { $ZodType } from 'zod/v4/core';
3
+ export { A as AddFirstProductOptions, a as AddFirstProductResult, P as ProductSummary, T as TestClientHandle, c as createTestClient, f as fixtures } from './client-Bep2FooI.js';
4
+ import './client-D6ZisKco.js';
4
5
  import './payment-DA1i5hhk.js';
6
+ import './server-CWpUlLOQ.js';
5
7
  import 'hono';
6
8
 
7
9
  /**
8
- * Schema version. Increment when making a breaking change to any
9
- * schema in this directory. Consumer tests can pin to a version
10
- * to detect drift between SDK upgrades.
10
+ * Cimplify schema registry. Every public schema in this directory is
11
+ * registered here with `id`, `description`, and `version` metadata.
12
+ *
13
+ * import { cimplifyRegistry } from "@cimplify/sdk/testing";
14
+ * const meta = cimplifyRegistry.get(CartSchema); // { id, description, version }
15
+ *
16
+ * Per-schema versions let consumers pin to a specific shape and detect
17
+ * drift when only one schema changes (vs a single global SCHEMA_VERSION
18
+ * which gives false positives on every release).
19
+ *
20
+ * The registry feeds `z.toJSONSchema()` so emitted JSON Schemas have
21
+ * proper `$id` / `description` / clean `$defs` for downstream tooling
22
+ * (OpenAPI, agent prompts, codegen).
23
+ */
24
+ interface CimplifySchemaMeta {
25
+ id: string;
26
+ description: string;
27
+ /** Bump when the shape of THIS schema changes in a breaking way. */
28
+ version: string;
29
+ }
30
+ declare const cimplifyRegistry: z.core.$ZodRegistry<CimplifySchemaMeta, z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
31
+ /**
32
+ * Helper: register a schema with metadata and return it. Pattern is:
33
+ *
34
+ * export const MoneySchema = registerSchema(
35
+ * z.string().regex(...),
36
+ * { id: "Money", description: "Decimal money string", version: "1.0.0" },
37
+ * );
11
38
  */
12
- declare const SCHEMA_VERSION: "2026-05-07.1";
39
+ declare function registerSchema<T extends $ZodType>(schema: T, meta: CimplifySchemaMeta): T;
13
40
  /**
14
41
  * Strict money — exactly two decimal places. Backend always serializes
15
42
  * decimals to 2dp; consumer code that produces "12.5" or "12.555" is wrong.
@@ -18,30 +45,16 @@ declare const SCHEMA_VERSION: "2026-05-07.1";
18
45
  * (rare; usually FX / tax-rate display), use `MoneyLooseSchema`.
19
46
  */
20
47
  declare const MoneySchema: z.ZodString;
21
- /**
22
- * Loose money — any decimal precision. Use for tax rates and FX rates
23
- * where precision varies. Prefer `MoneySchema` for all amounts.
24
- */
25
48
  declare const MoneyLooseSchema: z.ZodString;
26
- /** Strict ISO 8601 date-time. */
27
49
  declare const IsoDateTimeSchema: z.ZodISODateTime;
28
- /**
29
- * Permissive timestamp — accepts ISO 8601 OR any non-empty string.
30
- * Useful at boundaries where downstream systems serialize timestamps
31
- * inconsistently. Prefer `IsoDateTimeSchema` for new code.
32
- */
33
50
  declare const TimestampSchema: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
34
- /** ISO 4217 currency code (3 letters). */
35
51
  declare const CurrencyCodeSchema: z.ZodString;
36
- /** ISO 3166-1 alpha-2 country code. */
37
52
  declare const CountryCodeSchema: z.ZodString;
38
- /** BCP-47-ish locale (e.g. "en", "en_GH", "fr_FR"). */
39
53
  declare const LocaleSchema: z.ZodString;
40
- /** E.164-ish phone — digits with optional leading `+`. */
41
54
  declare const PhoneE164Schema: z.ZodString;
42
55
  declare const SeedNameSchema: z.ZodEnum<{
43
- empty: "empty";
44
56
  default: "default";
57
+ empty: "empty";
45
58
  "reesa-storefront": "reesa-storefront";
46
59
  restaurant: "restaurant";
47
60
  retail: "retail";
@@ -57,11 +70,11 @@ declare const ProductTypeSchema: z.ZodEnum<{
57
70
  composite: "composite";
58
71
  }>;
59
72
  declare const LineTypeSchema: z.ZodEnum<{
60
- simple: "simple";
61
73
  service: "service";
62
74
  digital: "digital";
63
75
  bundle: "bundle";
64
76
  composite: "composite";
77
+ simple: "simple";
65
78
  }>;
66
79
  declare const ServiceStatusSchema: z.ZodEnum<{
67
80
  pending: "pending";
@@ -69,29 +82,52 @@ declare const ServiceStatusSchema: z.ZodEnum<{
69
82
  completed: "completed";
70
83
  cancelled: "cancelled";
71
84
  }>;
72
- /**
73
- * Build a typed assertion from any zod schema. Single source of the
74
- * "parse → format issues → throw helpful Error" pattern.
75
- *
76
- * const assertCart = makeAssertion(CartSchema, "cart");
77
- * assertCart(value); // throws with field paths if invalid
78
- */
79
- declare function makeAssertion<T>(schema: z.ZodType<T>, label: string): (value: unknown) => asserts value is T;
80
85
  /**
81
86
  * Structured error thrown by every `assertX` helper. Agents can catch
82
87
  * this and surface the issue list directly (e.g. in a toast or log).
88
+ *
89
+ * Compatible with RFC 7807 Problem Details: `toJSON()` produces a
90
+ * `{ type, title, status, detail, errors }` envelope where `errors`
91
+ * is the typed zod issue array.
83
92
  */
84
93
  declare class SchemaViolationError extends Error {
85
- readonly issues: Array<{
94
+ readonly label: string;
95
+ readonly issues: ReadonlyArray<{
86
96
  path: string[];
87
97
  message: string;
98
+ code?: string;
88
99
  }>;
89
100
  readonly name = "SchemaViolationError";
90
- constructor(message: string, issues: Array<{
101
+ constructor(message: string, label: string, issues: ReadonlyArray<{
91
102
  path: string[];
92
103
  message: string;
104
+ code?: string;
93
105
  }>);
106
+ toJSON(): {
107
+ type: string;
108
+ title: string;
109
+ status: number;
110
+ detail: string;
111
+ errors: ReadonlyArray<{
112
+ path: string[];
113
+ message: string;
114
+ code?: string;
115
+ }>;
116
+ };
94
117
  }
118
+ /**
119
+ * Build a typed assertion from any zod schema. Single source of the
120
+ * "parse → format → throw" pattern. Powered by zod 4's built-in
121
+ * `z.prettifyError` for human-readable output.
122
+ *
123
+ * const assertCart = makeAssertion(CartSchema, "cart");
124
+ * assertCart(value); // throws SchemaViolationError with structured issues
125
+ *
126
+ * Generic over `$ZodType` (zod/v4/core), so both classic Zod schemas
127
+ * and Zod Mini schemas work — required for library authors per the
128
+ * official Zod 4 guidance.
129
+ */
130
+ declare function makeAssertion<T extends $ZodType>(schema: T, label: string): (value: unknown) => asserts value is z.infer<T>;
95
131
 
96
132
  /**
97
133
  * Brand schema — the contract for `lib/brand.ts` in every storefront.
@@ -331,8 +367,8 @@ declare const BrandSchema: z.ZodObject<{
331
367
  }, z.core.$strip>;
332
368
  mock: z.ZodObject<{
333
369
  seed: z.ZodEnum<{
334
- empty: "empty";
335
370
  default: "default";
371
+ empty: "empty";
336
372
  "reesa-storefront": "reesa-storefront";
337
373
  restaurant: "restaurant";
338
374
  retail: "retail";
@@ -496,7 +532,7 @@ declare const assertBrand: (value: unknown) => asserts value is {
496
532
  summary: string;
497
533
  };
498
534
  mock: {
499
- seed: "empty" | "default" | "reesa-storefront" | "restaurant" | "retail" | "services" | "grocery" | "fashion";
535
+ seed: "default" | "empty" | "reesa-storefront" | "restaurant" | "retail" | "services" | "grocery" | "fashion";
500
536
  businessId: string;
501
537
  };
502
538
  trustItems?: {
@@ -684,11 +720,11 @@ declare const CartItemSchema: z.ZodObject<{
684
720
  quantity: z.ZodNumber;
685
721
  line_key: z.ZodString;
686
722
  line_type: z.ZodEnum<{
687
- simple: "simple";
688
723
  service: "service";
689
724
  digital: "digital";
690
725
  bundle: "bundle";
691
726
  composite: "composite";
727
+ simple: "simple";
692
728
  }>;
693
729
  name: z.ZodString;
694
730
  description: z.ZodOptional<z.ZodString>;
@@ -781,15 +817,16 @@ declare const CartItemSchema: z.ZodObject<{
781
817
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
782
818
  created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
783
819
  updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
784
- }, z.core.$strip>;
820
+ }, z.core.$loose>;
785
821
  type CartItem = z.infer<typeof CartItemSchema>;
786
822
  declare const assertCartItem: (value: unknown) => asserts value is {
823
+ [x: string]: unknown;
787
824
  id: string;
788
825
  cart_id: string;
789
826
  item_id: string;
790
827
  quantity: number;
791
828
  line_key: string;
792
- line_type: "simple" | "service" | "digital" | "bundle" | "composite";
829
+ line_type: "service" | "digital" | "bundle" | "composite" | "simple";
793
830
  name: string;
794
831
  is_available: boolean;
795
832
  base_price: string;
@@ -899,11 +936,11 @@ declare const CartSchema: z.ZodObject<{
899
936
  quantity: z.ZodNumber;
900
937
  line_key: z.ZodString;
901
938
  line_type: z.ZodEnum<{
902
- simple: "simple";
903
939
  service: "service";
904
940
  digital: "digital";
905
941
  bundle: "bundle";
906
942
  composite: "composite";
943
+ simple: "simple";
907
944
  }>;
908
945
  name: z.ZodString;
909
946
  description: z.ZodOptional<z.ZodString>;
@@ -996,7 +1033,7 @@ declare const CartSchema: z.ZodObject<{
996
1033
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
997
1034
  created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
998
1035
  updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
999
- }, z.core.$strip>>;
1036
+ }, z.core.$loose>>;
1000
1037
  pricing: z.ZodObject<{
1001
1038
  subtotal: z.ZodString;
1002
1039
  total_discounts: z.ZodString;
@@ -1019,18 +1056,20 @@ declare const CartSchema: z.ZodObject<{
1019
1056
  status: z.ZodString;
1020
1057
  source: z.ZodString;
1021
1058
  channel: z.ZodString;
1022
- }, z.core.$strip>;
1059
+ }, z.core.$loose>;
1023
1060
  type Cart = z.infer<typeof CartSchema>;
1024
1061
  declare const assertCart: (value: unknown) => asserts value is {
1062
+ [x: string]: unknown;
1025
1063
  id: string;
1026
1064
  business_id: string;
1027
1065
  items: {
1066
+ [x: string]: unknown;
1028
1067
  id: string;
1029
1068
  cart_id: string;
1030
1069
  item_id: string;
1031
1070
  quantity: number;
1032
1071
  line_key: string;
1033
- line_type: "simple" | "service" | "digital" | "bundle" | "composite";
1072
+ line_type: "service" | "digital" | "bundle" | "composite" | "simple";
1034
1073
  name: string;
1035
1074
  is_available: boolean;
1036
1075
  base_price: string;
@@ -1203,10 +1242,10 @@ declare const assertCheckoutBody: (value: unknown) => asserts value is {
1203
1242
  };
1204
1243
  declare const AuthorizationTypeSchema: z.ZodEnum<{
1205
1244
  phone: "phone";
1245
+ address: "address";
1206
1246
  otp: "otp";
1207
1247
  pin: "pin";
1208
1248
  birthday: "birthday";
1209
- address: "address";
1210
1249
  }>;
1211
1250
  declare const NextActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1212
1251
  type: z.ZodLiteral<"none">;
@@ -1226,10 +1265,10 @@ declare const CheckoutResponseSchema: z.ZodObject<{
1226
1265
  requires_authorization: z.ZodBoolean;
1227
1266
  authorization_type: z.ZodOptional<z.ZodEnum<{
1228
1267
  phone: "phone";
1268
+ address: "address";
1229
1269
  otp: "otp";
1230
1270
  pin: "pin";
1231
1271
  birthday: "birthday";
1232
- address: "address";
1233
1272
  }>>;
1234
1273
  next_action: z.ZodDiscriminatedUnion<[z.ZodObject<{
1235
1274
  type: z.ZodLiteral<"none">;
@@ -1247,9 +1286,10 @@ declare const CheckoutResponseSchema: z.ZodObject<{
1247
1286
  bill_token: z.ZodOptional<z.ZodString>;
1248
1287
  client_secret: z.ZodOptional<z.ZodString>;
1249
1288
  public_key: z.ZodOptional<z.ZodString>;
1250
- }, z.core.$strip>;
1289
+ }, z.core.$loose>;
1251
1290
  type CheckoutResponse = z.infer<typeof CheckoutResponseSchema>;
1252
1291
  declare const assertCheckoutResponse: (value: unknown) => asserts value is {
1292
+ [x: string]: unknown;
1253
1293
  order_id: string;
1254
1294
  order_number: string;
1255
1295
  payment_status: string;
@@ -1265,7 +1305,7 @@ declare const assertCheckoutResponse: (value: unknown) => asserts value is {
1265
1305
  display_text?: string | undefined;
1266
1306
  };
1267
1307
  payment_reference?: string | undefined;
1268
- authorization_type?: "phone" | "otp" | "pin" | "birthday" | "address" | undefined;
1308
+ authorization_type?: "phone" | "address" | "otp" | "pin" | "birthday" | undefined;
1269
1309
  provider?: string | undefined;
1270
1310
  authorization_url?: string | undefined;
1271
1311
  display_text?: string | undefined;
@@ -1275,85 +1315,571 @@ declare const assertCheckoutResponse: (value: unknown) => asserts value is {
1275
1315
  };
1276
1316
 
1277
1317
  /**
1278
- * Test client + fixtures.
1318
+ * JSON Schema export — feeds OpenAPI generators, agent prompts,
1319
+ * codegen tooling, and CI contract-snapshot diffs.
1279
1320
  *
1280
- * Spins up an in-process Hono mock and a typed SDK client wired to it
1281
- * via the SDK's first-class `fetch` injection — no global mutation,
1282
- * no port, no MSW. Tests in the same module run in parallel safely.
1321
+ * Uses zod 4's built-in `z.toJSONSchema()` with our registry so output
1322
+ * has stable `$id`, `description`, and `$defs` for clean dereferencing.
1283
1323
  *
1284
- * import { createTestClient, fixtures } from "@cimplify/sdk/testing";
1324
+ * import { exportJsonSchemas } from "@cimplify/sdk/testing";
1325
+ * const schemas = exportJsonSchemas();
1326
+ * // → { Brand: { $id: "Brand", ...}, Cart: {...}, ... }
1285
1327
  *
1286
- * const handle = createTestClient({ seed: "fashion" });
1287
- * try {
1288
- * const item = await fixtures.addFirstProduct(handle.client);
1289
- * expect(item.product.name).toBeTruthy();
1290
- * } finally {
1291
- * handle.dispose();
1292
- * }
1328
+ * For a single schema:
1329
+ *
1330
+ * import { z } from "zod";
1331
+ * import { CartSchema } from "@cimplify/sdk/testing";
1332
+ * const cartJsonSchema = z.toJSONSchema(CartSchema);
1293
1333
  */
1294
1334
 
1295
- interface TestClientHandle {
1296
- /** Typed SDK client routed to the in-process mock. */
1297
- client: CimplifyClient;
1298
- /** Direct access to the mock — registry, deps, request shortcut. */
1299
- mock: AppHandle;
1300
- /** Reset all in-memory state (cart, orders, sessions). Token persists. */
1301
- reset: () => void;
1302
- /** Drop all state + session. Always safe to call multiple times. */
1303
- dispose: () => void;
1304
- }
1335
+ declare const PUBLIC_SCHEMAS: {
1336
+ readonly Brand: z.ZodObject<{
1337
+ name: z.ZodString;
1338
+ shortName: z.ZodString;
1339
+ microTag: z.ZodString;
1340
+ description: z.ZodString;
1341
+ schemaType: z.ZodString;
1342
+ currency: z.ZodString;
1343
+ locale: z.ZodString;
1344
+ contact: z.ZodObject<{
1345
+ email: z.ZodString;
1346
+ phone: z.ZodString;
1347
+ phoneTel: z.ZodString;
1348
+ streetAddress: z.ZodString;
1349
+ city: z.ZodString;
1350
+ countryCode: z.ZodString;
1351
+ hours: z.ZodOptional<z.ZodString>;
1352
+ }, z.core.$strip>;
1353
+ socials: z.ZodArray<z.ZodObject<{
1354
+ label: z.ZodString;
1355
+ href: z.ZodString;
1356
+ icon: z.ZodOptional<z.ZodString>;
1357
+ }, z.core.$strip>>;
1358
+ header: z.ZodObject<{
1359
+ nav: z.ZodArray<z.ZodObject<{
1360
+ label: z.ZodString;
1361
+ href: z.ZodString;
1362
+ }, z.core.$strip>>;
1363
+ }, z.core.$strip>;
1364
+ hero: z.ZodObject<{
1365
+ badge: z.ZodOptional<z.ZodString>;
1366
+ title: z.ZodString;
1367
+ subtitle: z.ZodString;
1368
+ primaryCta: z.ZodOptional<z.ZodObject<{
1369
+ label: z.ZodString;
1370
+ href: z.ZodString;
1371
+ }, z.core.$strip>>;
1372
+ secondaryCta: z.ZodOptional<z.ZodObject<{
1373
+ label: z.ZodString;
1374
+ href: z.ZodString;
1375
+ }, z.core.$strip>>;
1376
+ }, z.core.$strip>;
1377
+ trustItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
1378
+ title: z.ZodString;
1379
+ body: z.ZodString;
1380
+ }, z.core.$strip>>>;
1381
+ brandStrip: z.ZodOptional<z.ZodObject<{
1382
+ headline: z.ZodString;
1383
+ logos: z.ZodArray<z.ZodString>;
1384
+ }, z.core.$strip>>;
1385
+ promo: z.ZodOptional<z.ZodObject<{
1386
+ eyebrow: z.ZodOptional<z.ZodString>;
1387
+ title: z.ZodString;
1388
+ cta: z.ZodObject<{
1389
+ label: z.ZodString;
1390
+ href: z.ZodString;
1391
+ }, z.core.$strip>;
1392
+ }, z.core.$strip>>;
1393
+ terms: z.ZodObject<{
1394
+ eyebrow: z.ZodString;
1395
+ title: z.ZodString;
1396
+ lastUpdated: z.ZodString;
1397
+ sections: z.ZodArray<z.ZodObject<{
1398
+ heading: z.ZodString;
1399
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1400
+ intro: z.ZodString;
1401
+ bullets: z.ZodArray<z.ZodString>;
1402
+ }, z.core.$strip>]>;
1403
+ }, z.core.$strip>>;
1404
+ }, z.core.$strip>;
1405
+ privacy: z.ZodObject<{
1406
+ eyebrow: z.ZodString;
1407
+ title: z.ZodString;
1408
+ lastUpdated: z.ZodString;
1409
+ sections: z.ZodArray<z.ZodObject<{
1410
+ heading: z.ZodString;
1411
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1412
+ intro: z.ZodString;
1413
+ bullets: z.ZodArray<z.ZodString>;
1414
+ }, z.core.$strip>]>;
1415
+ }, z.core.$strip>>;
1416
+ }, z.core.$strip>;
1417
+ shipping: z.ZodObject<{
1418
+ eyebrow: z.ZodString;
1419
+ title: z.ZodString;
1420
+ lastUpdated: z.ZodString;
1421
+ sections: z.ZodArray<z.ZodObject<{
1422
+ heading: z.ZodString;
1423
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1424
+ intro: z.ZodString;
1425
+ bullets: z.ZodArray<z.ZodString>;
1426
+ }, z.core.$strip>]>;
1427
+ }, z.core.$strip>>;
1428
+ }, z.core.$strip>;
1429
+ returns: z.ZodObject<{
1430
+ eyebrow: z.ZodString;
1431
+ title: z.ZodString;
1432
+ lastUpdated: z.ZodString;
1433
+ sections: z.ZodArray<z.ZodObject<{
1434
+ heading: z.ZodString;
1435
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1436
+ intro: z.ZodString;
1437
+ bullets: z.ZodArray<z.ZodString>;
1438
+ }, z.core.$strip>]>;
1439
+ }, z.core.$strip>>;
1440
+ }, z.core.$strip>;
1441
+ accessibility: z.ZodObject<{
1442
+ eyebrow: z.ZodString;
1443
+ title: z.ZodString;
1444
+ lastUpdated: z.ZodString;
1445
+ sections: z.ZodArray<z.ZodObject<{
1446
+ heading: z.ZodString;
1447
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1448
+ intro: z.ZodString;
1449
+ bullets: z.ZodArray<z.ZodString>;
1450
+ }, z.core.$strip>]>;
1451
+ }, z.core.$strip>>;
1452
+ }, z.core.$strip>;
1453
+ newsletter: z.ZodObject<{
1454
+ eyebrow: z.ZodOptional<z.ZodString>;
1455
+ title: z.ZodString;
1456
+ body: z.ZodString;
1457
+ }, z.core.$strip>;
1458
+ about: z.ZodObject<{
1459
+ eyebrow: z.ZodOptional<z.ZodString>;
1460
+ title: z.ZodString;
1461
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
1462
+ }, z.core.$strip>;
1463
+ faq: z.ZodObject<{
1464
+ eyebrow: z.ZodOptional<z.ZodString>;
1465
+ title: z.ZodString;
1466
+ sections: z.ZodArray<z.ZodObject<{
1467
+ title: z.ZodString;
1468
+ items: z.ZodArray<z.ZodObject<{
1469
+ q: z.ZodString;
1470
+ a: z.ZodString;
1471
+ }, z.core.$strip>>;
1472
+ }, z.core.$strip>>;
1473
+ }, z.core.$strip>;
1474
+ account: z.ZodObject<{
1475
+ eyebrow: z.ZodOptional<z.ZodString>;
1476
+ title: z.ZodString;
1477
+ signin: z.ZodOptional<z.ZodObject<{
1478
+ eyebrow: z.ZodOptional<z.ZodString>;
1479
+ title: z.ZodString;
1480
+ }, z.core.$strip>>;
1481
+ signup: z.ZodOptional<z.ZodObject<{
1482
+ eyebrow: z.ZodOptional<z.ZodString>;
1483
+ title: z.ZodString;
1484
+ }, z.core.$strip>>;
1485
+ }, z.core.$strip>;
1486
+ contactPage: z.ZodObject<{
1487
+ eyebrow: z.ZodOptional<z.ZodString>;
1488
+ title: z.ZodString;
1489
+ body: z.ZodString;
1490
+ }, z.core.$strip>;
1491
+ trackOrder: z.ZodObject<{
1492
+ eyebrow: z.ZodOptional<z.ZodString>;
1493
+ title: z.ZodString;
1494
+ body: z.ZodString;
1495
+ }, z.core.$strip>;
1496
+ footer: z.ZodObject<{
1497
+ sitemap: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1498
+ poweredBy: z.ZodOptional<z.ZodString>;
1499
+ }, z.core.$strip>;
1500
+ llms: z.ZodObject<{
1501
+ summary: z.ZodString;
1502
+ }, z.core.$strip>;
1503
+ mock: z.ZodObject<{
1504
+ seed: z.ZodEnum<{
1505
+ default: "default";
1506
+ empty: "empty";
1507
+ "reesa-storefront": "reesa-storefront";
1508
+ restaurant: "restaurant";
1509
+ retail: "retail";
1510
+ services: "services";
1511
+ grocery: "grocery";
1512
+ fashion: "fashion";
1513
+ }>;
1514
+ businessId: z.ZodString;
1515
+ }, z.core.$strip>;
1516
+ }, z.core.$strip>;
1517
+ readonly AddItemPayload: z.ZodObject<{
1518
+ item_id: z.ZodString;
1519
+ quantity: z.ZodNumber;
1520
+ variant_id: z.ZodOptional<z.ZodString>;
1521
+ quote_id: z.ZodOptional<z.ZodString>;
1522
+ add_on_options: z.ZodOptional<z.ZodArray<z.ZodString>>;
1523
+ bundle_selections: z.ZodOptional<z.ZodArray<z.ZodObject<{
1524
+ component_id: z.ZodString;
1525
+ variant_id: z.ZodOptional<z.ZodString>;
1526
+ quantity: z.ZodNumber;
1527
+ scheduled_start: z.ZodOptional<z.ZodString>;
1528
+ scheduled_end: z.ZodOptional<z.ZodString>;
1529
+ }, z.core.$strip>>>;
1530
+ composite_selections: z.ZodOptional<z.ZodArray<z.ZodObject<{
1531
+ component_id: z.ZodOptional<z.ZodString>;
1532
+ source_product_id: z.ZodOptional<z.ZodString>;
1533
+ source_stock_id: z.ZodOptional<z.ZodString>;
1534
+ source_type: z.ZodOptional<z.ZodEnum<{
1535
+ product: "product";
1536
+ stock: "stock";
1537
+ add_on: "add_on";
1538
+ standalone: "standalone";
1539
+ }>>;
1540
+ quantity: z.ZodOptional<z.ZodNumber>;
1541
+ }, z.core.$strip>>>;
1542
+ scheduled_start: z.ZodOptional<z.ZodString>;
1543
+ scheduled_end: z.ZodOptional<z.ZodString>;
1544
+ staff_id: z.ZodOptional<z.ZodString>;
1545
+ resource_id: z.ZodOptional<z.ZodString>;
1546
+ special_instructions: z.ZodOptional<z.ZodString>;
1547
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1548
+ field_id: z.ZodString;
1549
+ field_name: z.ZodOptional<z.ZodString>;
1550
+ field_type: z.ZodOptional<z.ZodString>;
1551
+ value: z.ZodUnknown;
1552
+ }, z.core.$strip>>>;
1553
+ billing_plan_id: z.ZodOptional<z.ZodString>;
1554
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1555
+ }, z.core.$strip>;
1556
+ readonly Cart: z.ZodObject<{
1557
+ id: z.ZodString;
1558
+ business_id: z.ZodString;
1559
+ items: z.ZodArray<z.ZodObject<{
1560
+ id: z.ZodString;
1561
+ cart_id: z.ZodString;
1562
+ item_id: z.ZodString;
1563
+ quantity: z.ZodNumber;
1564
+ line_key: z.ZodString;
1565
+ line_type: z.ZodEnum<{
1566
+ service: "service";
1567
+ digital: "digital";
1568
+ bundle: "bundle";
1569
+ composite: "composite";
1570
+ simple: "simple";
1571
+ }>;
1572
+ name: z.ZodString;
1573
+ description: z.ZodOptional<z.ZodString>;
1574
+ image_url: z.ZodOptional<z.ZodString>;
1575
+ category_id: z.ZodOptional<z.ZodString>;
1576
+ category_name: z.ZodOptional<z.ZodString>;
1577
+ is_available: z.ZodBoolean;
1578
+ variant_id: z.ZodOptional<z.ZodString>;
1579
+ variant_name: z.ZodOptional<z.ZodString>;
1580
+ variant_info: z.ZodOptional<z.ZodObject<{
1581
+ id: z.ZodString;
1582
+ name: z.ZodString;
1583
+ sku: z.ZodOptional<z.ZodString>;
1584
+ price_adjustment: z.ZodString;
1585
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1586
+ axis_id: z.ZodString;
1587
+ axis_name: z.ZodString;
1588
+ value_id: z.ZodString;
1589
+ value_name: z.ZodString;
1590
+ }, z.core.$strip>>>;
1591
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
1592
+ }, z.core.$strip>>;
1593
+ variant_details: z.ZodOptional<z.ZodObject<{
1594
+ variant_id: z.ZodString;
1595
+ sku: z.ZodOptional<z.ZodString>;
1596
+ properties: z.ZodRecord<z.ZodString, z.ZodString>;
1597
+ }, z.core.$strip>>;
1598
+ base_price: z.ZodString;
1599
+ add_ons_price: z.ZodString;
1600
+ total_price: z.ZodString;
1601
+ item_discount_amount: z.ZodString;
1602
+ price_info: z.ZodObject<{
1603
+ base_price: z.ZodString;
1604
+ final_price: z.ZodString;
1605
+ markup_percentage: z.ZodString;
1606
+ markup_amount: z.ZodString;
1607
+ markup_discount_percentage: z.ZodString;
1608
+ markup_discount_amount: z.ZodString;
1609
+ }, z.core.$strip>;
1610
+ add_on_option_ids: z.ZodArray<z.ZodString>;
1611
+ add_on_ids: z.ZodArray<z.ZodString>;
1612
+ add_on_details: z.ZodObject<{
1613
+ selected_options: z.ZodArray<z.ZodUnknown>;
1614
+ total_add_on_price: z.ZodString;
1615
+ add_ons: z.ZodArray<z.ZodUnknown>;
1616
+ }, z.core.$strip>;
1617
+ add_on_options: z.ZodArray<z.ZodUnknown>;
1618
+ add_ons: z.ZodArray<z.ZodUnknown>;
1619
+ scheduled_start: z.ZodOptional<z.ZodString>;
1620
+ scheduled_end: z.ZodOptional<z.ZodString>;
1621
+ staff_id: z.ZodOptional<z.ZodString>;
1622
+ resource_id: z.ZodOptional<z.ZodString>;
1623
+ service_status: z.ZodOptional<z.ZodEnum<{
1624
+ pending: "pending";
1625
+ confirmed: "confirmed";
1626
+ completed: "completed";
1627
+ cancelled: "cancelled";
1628
+ }>>;
1629
+ confirmation_code: z.ZodOptional<z.ZodString>;
1630
+ special_instructions: z.ZodOptional<z.ZodString>;
1631
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1632
+ field_id: z.ZodString;
1633
+ field_name: z.ZodOptional<z.ZodString>;
1634
+ field_type: z.ZodOptional<z.ZodString>;
1635
+ value: z.ZodUnknown;
1636
+ }, z.core.$strip>>>;
1637
+ bundle_selections: z.ZodOptional<z.ZodUnknown>;
1638
+ bundle_resolved: z.ZodOptional<z.ZodObject<{
1639
+ bundle_id: z.ZodString;
1640
+ selections: z.ZodArray<z.ZodUnknown>;
1641
+ }, z.core.$loose>>;
1642
+ composite_selections: z.ZodOptional<z.ZodUnknown>;
1643
+ composite_resolved: z.ZodOptional<z.ZodObject<{
1644
+ composite_id: z.ZodString;
1645
+ selections: z.ZodArray<z.ZodUnknown>;
1646
+ breakdown: z.ZodOptional<z.ZodObject<{
1647
+ base_price: z.ZodString;
1648
+ components_total: z.ZodString;
1649
+ final_price: z.ZodString;
1650
+ tier_applied: z.ZodOptional<z.ZodString>;
1651
+ }, z.core.$strip>>;
1652
+ }, z.core.$loose>>;
1653
+ billing_plan_id: z.ZodOptional<z.ZodString>;
1654
+ applied_discount_ids: z.ZodArray<z.ZodString>;
1655
+ discount_details: z.ZodOptional<z.ZodObject<{
1656
+ applied_count: z.ZodNumber;
1657
+ total_amount: z.ZodString;
1658
+ discount_ids: z.ZodArray<z.ZodString>;
1659
+ }, z.core.$strip>>;
1660
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1661
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1662
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1663
+ }, z.core.$loose>>;
1664
+ pricing: z.ZodObject<{
1665
+ subtotal: z.ZodString;
1666
+ total_discounts: z.ZodString;
1667
+ tax_amount: z.ZodString;
1668
+ service_charge: z.ZodString;
1669
+ total_price: z.ZodString;
1670
+ currency: z.ZodString;
1671
+ tax_rate: z.ZodOptional<z.ZodString>;
1672
+ service_charge_rate: z.ZodOptional<z.ZodString>;
1673
+ }, z.core.$strip>;
1674
+ customer_info: z.ZodObject<{
1675
+ name: z.ZodString;
1676
+ email: z.ZodOptional<z.ZodString>;
1677
+ phone: z.ZodOptional<z.ZodString>;
1678
+ address: z.ZodOptional<z.ZodString>;
1679
+ }, z.core.$strip>;
1680
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1681
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1682
+ expires_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1683
+ status: z.ZodString;
1684
+ source: z.ZodString;
1685
+ channel: z.ZodString;
1686
+ }, z.core.$loose>;
1687
+ readonly CartItem: z.ZodObject<{
1688
+ id: z.ZodString;
1689
+ cart_id: z.ZodString;
1690
+ item_id: z.ZodString;
1691
+ quantity: z.ZodNumber;
1692
+ line_key: z.ZodString;
1693
+ line_type: z.ZodEnum<{
1694
+ service: "service";
1695
+ digital: "digital";
1696
+ bundle: "bundle";
1697
+ composite: "composite";
1698
+ simple: "simple";
1699
+ }>;
1700
+ name: z.ZodString;
1701
+ description: z.ZodOptional<z.ZodString>;
1702
+ image_url: z.ZodOptional<z.ZodString>;
1703
+ category_id: z.ZodOptional<z.ZodString>;
1704
+ category_name: z.ZodOptional<z.ZodString>;
1705
+ is_available: z.ZodBoolean;
1706
+ variant_id: z.ZodOptional<z.ZodString>;
1707
+ variant_name: z.ZodOptional<z.ZodString>;
1708
+ variant_info: z.ZodOptional<z.ZodObject<{
1709
+ id: z.ZodString;
1710
+ name: z.ZodString;
1711
+ sku: z.ZodOptional<z.ZodString>;
1712
+ price_adjustment: z.ZodString;
1713
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1714
+ axis_id: z.ZodString;
1715
+ axis_name: z.ZodString;
1716
+ value_id: z.ZodString;
1717
+ value_name: z.ZodString;
1718
+ }, z.core.$strip>>>;
1719
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
1720
+ }, z.core.$strip>>;
1721
+ variant_details: z.ZodOptional<z.ZodObject<{
1722
+ variant_id: z.ZodString;
1723
+ sku: z.ZodOptional<z.ZodString>;
1724
+ properties: z.ZodRecord<z.ZodString, z.ZodString>;
1725
+ }, z.core.$strip>>;
1726
+ base_price: z.ZodString;
1727
+ add_ons_price: z.ZodString;
1728
+ total_price: z.ZodString;
1729
+ item_discount_amount: z.ZodString;
1730
+ price_info: z.ZodObject<{
1731
+ base_price: z.ZodString;
1732
+ final_price: z.ZodString;
1733
+ markup_percentage: z.ZodString;
1734
+ markup_amount: z.ZodString;
1735
+ markup_discount_percentage: z.ZodString;
1736
+ markup_discount_amount: z.ZodString;
1737
+ }, z.core.$strip>;
1738
+ add_on_option_ids: z.ZodArray<z.ZodString>;
1739
+ add_on_ids: z.ZodArray<z.ZodString>;
1740
+ add_on_details: z.ZodObject<{
1741
+ selected_options: z.ZodArray<z.ZodUnknown>;
1742
+ total_add_on_price: z.ZodString;
1743
+ add_ons: z.ZodArray<z.ZodUnknown>;
1744
+ }, z.core.$strip>;
1745
+ add_on_options: z.ZodArray<z.ZodUnknown>;
1746
+ add_ons: z.ZodArray<z.ZodUnknown>;
1747
+ scheduled_start: z.ZodOptional<z.ZodString>;
1748
+ scheduled_end: z.ZodOptional<z.ZodString>;
1749
+ staff_id: z.ZodOptional<z.ZodString>;
1750
+ resource_id: z.ZodOptional<z.ZodString>;
1751
+ service_status: z.ZodOptional<z.ZodEnum<{
1752
+ pending: "pending";
1753
+ confirmed: "confirmed";
1754
+ completed: "completed";
1755
+ cancelled: "cancelled";
1756
+ }>>;
1757
+ confirmation_code: z.ZodOptional<z.ZodString>;
1758
+ special_instructions: z.ZodOptional<z.ZodString>;
1759
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1760
+ field_id: z.ZodString;
1761
+ field_name: z.ZodOptional<z.ZodString>;
1762
+ field_type: z.ZodOptional<z.ZodString>;
1763
+ value: z.ZodUnknown;
1764
+ }, z.core.$strip>>>;
1765
+ bundle_selections: z.ZodOptional<z.ZodUnknown>;
1766
+ bundle_resolved: z.ZodOptional<z.ZodObject<{
1767
+ bundle_id: z.ZodString;
1768
+ selections: z.ZodArray<z.ZodUnknown>;
1769
+ }, z.core.$loose>>;
1770
+ composite_selections: z.ZodOptional<z.ZodUnknown>;
1771
+ composite_resolved: z.ZodOptional<z.ZodObject<{
1772
+ composite_id: z.ZodString;
1773
+ selections: z.ZodArray<z.ZodUnknown>;
1774
+ breakdown: z.ZodOptional<z.ZodObject<{
1775
+ base_price: z.ZodString;
1776
+ components_total: z.ZodString;
1777
+ final_price: z.ZodString;
1778
+ tier_applied: z.ZodOptional<z.ZodString>;
1779
+ }, z.core.$strip>>;
1780
+ }, z.core.$loose>>;
1781
+ billing_plan_id: z.ZodOptional<z.ZodString>;
1782
+ applied_discount_ids: z.ZodArray<z.ZodString>;
1783
+ discount_details: z.ZodOptional<z.ZodObject<{
1784
+ applied_count: z.ZodNumber;
1785
+ total_amount: z.ZodString;
1786
+ discount_ids: z.ZodArray<z.ZodString>;
1787
+ }, z.core.$strip>>;
1788
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1789
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1790
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1791
+ }, z.core.$loose>;
1792
+ readonly CartPricing: z.ZodObject<{
1793
+ subtotal: z.ZodString;
1794
+ total_discounts: z.ZodString;
1795
+ tax_amount: z.ZodString;
1796
+ service_charge: z.ZodString;
1797
+ total_price: z.ZodString;
1798
+ currency: z.ZodString;
1799
+ tax_rate: z.ZodOptional<z.ZodString>;
1800
+ service_charge_rate: z.ZodOptional<z.ZodString>;
1801
+ }, z.core.$strip>;
1802
+ readonly CheckoutBody: z.ZodObject<{
1803
+ cart_id: z.ZodString;
1804
+ location_id: z.ZodOptional<z.ZodString>;
1805
+ customer: z.ZodObject<{
1806
+ name: z.ZodString;
1807
+ email: z.ZodString;
1808
+ phone: z.ZodString;
1809
+ notes: z.ZodOptional<z.ZodString>;
1810
+ save_details: z.ZodOptional<z.ZodBoolean>;
1811
+ }, z.core.$strip>;
1812
+ order_type: z.ZodString;
1813
+ address_info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1814
+ payment_method: z.ZodString;
1815
+ mobile_money_details: z.ZodOptional<z.ZodObject<{
1816
+ phone_number: z.ZodString;
1817
+ provider: z.ZodString;
1818
+ }, z.core.$strip>>;
1819
+ special_instructions: z.ZodOptional<z.ZodString>;
1820
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1821
+ pay_currency: z.ZodOptional<z.ZodString>;
1822
+ fx_quote_id: z.ZodOptional<z.ZodString>;
1823
+ }, z.core.$strip>;
1824
+ readonly CheckoutResponse: z.ZodObject<{
1825
+ order_id: z.ZodString;
1826
+ order_number: z.ZodString;
1827
+ payment_status: z.ZodString;
1828
+ payment_reference: z.ZodOptional<z.ZodString>;
1829
+ requires_authorization: z.ZodBoolean;
1830
+ authorization_type: z.ZodOptional<z.ZodEnum<{
1831
+ phone: "phone";
1832
+ address: "address";
1833
+ otp: "otp";
1834
+ pin: "pin";
1835
+ birthday: "birthday";
1836
+ }>>;
1837
+ next_action: z.ZodDiscriminatedUnion<[z.ZodObject<{
1838
+ type: z.ZodLiteral<"none">;
1839
+ }, z.core.$strip>, z.ZodObject<{
1840
+ type: z.ZodLiteral<"redirect">;
1841
+ authorization_url: z.ZodString;
1842
+ }, z.core.$strip>, z.ZodObject<{
1843
+ type: z.ZodLiteral<"authorization">;
1844
+ authorization_type: z.ZodString;
1845
+ display_text: z.ZodOptional<z.ZodString>;
1846
+ }, z.core.$strip>], "type">;
1847
+ provider: z.ZodOptional<z.ZodString>;
1848
+ authorization_url: z.ZodOptional<z.ZodString>;
1849
+ display_text: z.ZodOptional<z.ZodString>;
1850
+ bill_token: z.ZodOptional<z.ZodString>;
1851
+ client_secret: z.ZodOptional<z.ZodString>;
1852
+ public_key: z.ZodOptional<z.ZodString>;
1853
+ }, z.core.$loose>;
1854
+ readonly VariantInfo: z.ZodObject<{
1855
+ id: z.ZodString;
1856
+ name: z.ZodString;
1857
+ sku: z.ZodOptional<z.ZodString>;
1858
+ price_adjustment: z.ZodString;
1859
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1860
+ axis_id: z.ZodString;
1861
+ axis_name: z.ZodString;
1862
+ value_id: z.ZodString;
1863
+ value_name: z.ZodString;
1864
+ }, z.core.$strip>>>;
1865
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
1866
+ }, z.core.$strip>;
1867
+ };
1868
+ type PublicSchemaName = keyof typeof PUBLIC_SCHEMAS;
1305
1869
  /**
1306
- * Create an in-process mock + a typed SDK client wired to it.
1307
- *
1308
- * Each call gets its OWN session token — tests in the same module
1309
- * run safely in parallel because there's no shared global state.
1870
+ * Export all public schemas as JSON Schema (Draft 2020-12). Handy for
1871
+ * a CI contract-snapshot — diff `schemas.json` against the Rust
1872
+ * backend's emitted `openapi.json` to catch drift at PR time.
1310
1873
  */
1311
- declare function createTestClient(options?: CreateAppOptions): TestClientHandle;
1312
- interface ProductSummary {
1313
- id: string;
1314
- name: string;
1315
- slug: string;
1316
- type?: string;
1317
- }
1318
- interface AddFirstProductOptions {
1319
- /** Pick a specific product by slug instead of "first". */
1320
- slug?: string;
1321
- /** Auto-pick the first available variant if the product has variants. Default true. */
1322
- withVariant?: boolean;
1323
- }
1324
- interface AddFirstProductResult {
1325
- product: ProductSummary;
1326
- variantId?: string;
1327
- }
1874
+ declare function exportJsonSchemas(): Record<PublicSchemaName, Record<string, unknown>>;
1328
1875
  /**
1329
- * Pre-baked fixture functions for common test setup. Use these to keep
1330
- * tests focused on the assertion you care about, not on plumbing.
1876
+ * Read every schema currently in the cimplifyRegistry along with its
1877
+ * metadata. Useful for tooling that wants to discover available
1878
+ * schemas dynamically (e.g. an agent prompt generator).
1331
1879
  */
1332
- declare const fixtures: {
1333
- /**
1334
- * Add the first available product (or a named one) to the cart.
1335
- * Picks the first variant if the product has variants.
1336
- */
1337
- addFirstProduct(client: CimplifyClient, opts?: AddFirstProductOptions): Promise<AddFirstProductResult>;
1338
- /** A minimal valid customer object for checkout. */
1339
- customer(overrides?: Partial<{
1340
- name: string;
1341
- email: string;
1342
- phone: string;
1343
- }>): {
1344
- name: string;
1345
- email: string;
1346
- phone: string;
1347
- };
1348
- /**
1349
- * Run the full guest auth flow (request OTP → verify) and return
1350
- * the new session token. The mock's permissive auth mode echoes
1351
- * the code in `request_otp`, so we don't need to read it.
1352
- */
1353
- authenticate(client: CimplifyClient, contact?: string, code?: string): Promise<{
1354
- token: string;
1355
- customerId: string;
1356
- }>;
1357
- };
1880
+ declare function listRegisteredSchemas(): Array<{
1881
+ schema: z.ZodType;
1882
+ meta: CimplifySchemaMeta;
1883
+ }>;
1358
1884
 
1359
- export { type AddFirstProductOptions, type AddFirstProductResult, type AddItemPayload, AddItemPayloadSchema, AddOnDetailsSchema, AuthorizationTypeSchema, type Brand, BrandContactSchema, BrandFaqSchema, BrandHeroSchema, BrandNavLinkSchema, BrandPolicyPageSchema, BrandPolicySectionSchema, BrandSchema, BrandSocialSchema, BundleResolvedSchema, BundleSelectionInputSchema, type Cart, type CartItem, CartItemSchema, CartPricingSchema, CartSchema, type CheckoutBody, CheckoutBodySchema, CheckoutCustomerSchema, type CheckoutResponse, CheckoutResponseSchema, ChosenPriceSchema, CompositeResolvedSchema, CompositeSelectionInputSchema, CountryCodeSchema, CurrencyCodeSchema, CustomerInputValueSchema, DiscountDetailsSchema, IsoDateTimeSchema, LineTypeSchema, LocaleSchema, MoneyLooseSchema, MoneySchema, NextActionSchema, PhoneE164Schema, type ProductSummary, ProductTypeSchema, SCHEMA_VERSION, SchemaViolationError, SeedNameSchema, ServiceStatusSchema, type TestClientHandle, TimestampSchema, VariantDetailsSchema, VariantDisplayAttributeSchema, VariantInfoSchema, assertAddItemPayload, assertBrand, assertCart, assertCartItem, assertCheckoutBody, assertCheckoutResponse, createTestClient, fixtures, makeAssertion };
1885
+ export { type AddItemPayload, AddItemPayloadSchema, AddOnDetailsSchema, AuthorizationTypeSchema, type Brand, BrandContactSchema, BrandFaqSchema, BrandHeroSchema, BrandNavLinkSchema, BrandPolicyPageSchema, BrandPolicySectionSchema, BrandSchema, BrandSocialSchema, BundleResolvedSchema, BundleSelectionInputSchema, type Cart, type CartItem, CartItemSchema, CartPricingSchema, CartSchema, type CheckoutBody, CheckoutBodySchema, CheckoutCustomerSchema, type CheckoutResponse, CheckoutResponseSchema, ChosenPriceSchema, type CimplifySchemaMeta, CompositeResolvedSchema, CompositeSelectionInputSchema, CountryCodeSchema, CurrencyCodeSchema, CustomerInputValueSchema, DiscountDetailsSchema, IsoDateTimeSchema, LineTypeSchema, LocaleSchema, MoneyLooseSchema, MoneySchema, NextActionSchema, PhoneE164Schema, ProductTypeSchema, type PublicSchemaName, SchemaViolationError, SeedNameSchema, ServiceStatusSchema, TimestampSchema, VariantDetailsSchema, VariantDisplayAttributeSchema, VariantInfoSchema, assertAddItemPayload, assertBrand, assertCart, assertCartItem, assertCheckoutBody, assertCheckoutResponse, cimplifyRegistry, exportJsonSchemas, listRegisteredSchemas, makeAssertion, registerSchema };