@cimplify/sdk 0.44.14 → 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 (85) hide show
  1. package/dist/advanced.d.mts +1 -1
  2. package/dist/advanced.d.ts +1 -1
  3. package/dist/advanced.js +22 -21
  4. package/dist/advanced.mjs +3 -2
  5. package/dist/{chunk-OMAP327U.js → chunk-3FS3ZDKX.js} +62 -61
  6. package/dist/chunk-53J2WE4S.js +657 -0
  7. package/dist/{chunk-3WD6U5RD.mjs → chunk-5OK3YDZC.mjs} +4 -3
  8. package/dist/{chunk-V2O5AO7I.js → chunk-BN2CXGMO.js} +5 -246
  9. package/dist/chunk-CCSONJCO.js +8824 -0
  10. package/dist/{chunk-BAWKQRIB.js → chunk-HBRCVJL4.js} +22 -21
  11. package/dist/chunk-MJBSVUHO.mjs +8822 -0
  12. package/dist/{chunk-6TVQQYQ5.mjs → chunk-NRT6PVW5.mjs} +4 -231
  13. package/dist/chunk-QBQCMQ4F.js +271 -0
  14. package/dist/chunk-VDH3O7UB.mjs +604 -0
  15. package/dist/chunk-XPXAZXF2.mjs +250 -0
  16. package/dist/{chunk-EZK2FXTM.mjs → chunk-XZPO5GEM.mjs} +2 -1
  17. package/dist/cli/commands/deploy.mjs +9 -1
  18. package/dist/client-B_Ei3ENB.d.mts +86 -0
  19. package/dist/client-Bep2FooI.d.ts +86 -0
  20. package/dist/{client-lvLvB1_K.d.ts → client-D6ZisKco.d.ts} +7 -0
  21. package/dist/{client-CkGlXZRd.d.mts → client-Dh-bHyhU.d.mts} +7 -0
  22. package/dist/index.d.mts +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +145 -144
  25. package/dist/index.mjs +4 -3
  26. package/dist/mock/cli.mjs +2 -1
  27. package/dist/mock/library.js +2 -1
  28. package/dist/mock/library.mjs +2 -1
  29. package/dist/mock/msw.js +2 -1
  30. package/dist/mock/msw.mjs +2 -1
  31. package/dist/react.d.mts +1 -1
  32. package/dist/react.d.ts +1 -1
  33. package/dist/react.js +81 -80
  34. package/dist/react.mjs +4 -3
  35. package/dist/server-CWpUlLOQ.d.mts +1003 -0
  36. package/dist/server-CWpUlLOQ.d.ts +1003 -0
  37. package/dist/server.d.mts +2 -2
  38. package/dist/server.d.ts +2 -2
  39. package/dist/server.js +6 -5
  40. package/dist/server.mjs +4 -3
  41. package/dist/testing/msw.d.mts +17 -0
  42. package/dist/testing/msw.d.ts +17 -0
  43. package/dist/testing/msw.js +42 -0
  44. package/dist/testing/msw.mjs +40 -0
  45. package/dist/testing/suite.d.mts +85 -0
  46. package/dist/testing/suite.d.ts +85 -0
  47. package/dist/testing/suite.js +174 -0
  48. package/dist/testing/suite.mjs +170 -0
  49. package/dist/testing.d.mts +1885 -0
  50. package/dist/testing.d.ts +1885 -0
  51. package/dist/testing.js +261 -0
  52. package/dist/testing.mjs +51 -0
  53. package/dist/utils.js +29 -28
  54. package/dist/utils.mjs +2 -1
  55. package/package.json +28 -4
  56. package/templates/storefront-bakery/__tests__/brand.test.ts +4 -0
  57. package/templates/storefront-bakery/__tests__/cart-flow.test.ts +4 -0
  58. package/templates/storefront-bakery/__tests__/contract.test.ts +4 -0
  59. package/templates/storefront-bakery/package.json +11 -3
  60. package/templates/storefront-bakery/vitest.config.ts +9 -0
  61. package/templates/storefront-fashion/__tests__/brand.test.ts +4 -0
  62. package/templates/storefront-fashion/__tests__/cart-flow.test.ts +4 -0
  63. package/templates/storefront-fashion/__tests__/contract.test.ts +4 -0
  64. package/templates/storefront-fashion/package.json +11 -3
  65. package/templates/storefront-fashion/vitest.config.ts +9 -0
  66. package/templates/storefront-grocery/__tests__/brand.test.ts +4 -0
  67. package/templates/storefront-grocery/__tests__/cart-flow.test.ts +4 -0
  68. package/templates/storefront-grocery/__tests__/contract.test.ts +4 -0
  69. package/templates/storefront-grocery/package.json +11 -3
  70. package/templates/storefront-grocery/vitest.config.ts +9 -0
  71. package/templates/storefront-restaurant/__tests__/brand.test.ts +4 -0
  72. package/templates/storefront-restaurant/__tests__/cart-flow.test.ts +4 -0
  73. package/templates/storefront-restaurant/__tests__/contract.test.ts +4 -0
  74. package/templates/storefront-restaurant/package.json +11 -3
  75. package/templates/storefront-restaurant/vitest.config.ts +9 -0
  76. package/templates/storefront-retail/__tests__/brand.test.ts +4 -0
  77. package/templates/storefront-retail/__tests__/cart-flow.test.ts +4 -0
  78. package/templates/storefront-retail/__tests__/contract.test.ts +4 -0
  79. package/templates/storefront-retail/package.json +11 -3
  80. package/templates/storefront-retail/vitest.config.ts +9 -0
  81. package/templates/storefront-services/__tests__/brand.test.ts +4 -0
  82. package/templates/storefront-services/__tests__/cart-flow.test.ts +4 -0
  83. package/templates/storefront-services/__tests__/contract.test.ts +4 -0
  84. package/templates/storefront-services/package.json +11 -3
  85. package/templates/storefront-services/vitest.config.ts +9 -0
@@ -0,0 +1,1885 @@
1
+ import { z } from 'zod';
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';
5
+ import './payment-DA1i5hhk.js';
6
+ import './server-CWpUlLOQ.js';
7
+ import 'hono';
8
+
9
+ /**
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
+ * );
38
+ */
39
+ declare function registerSchema<T extends $ZodType>(schema: T, meta: CimplifySchemaMeta): T;
40
+ /**
41
+ * Strict money — exactly two decimal places. Backend always serializes
42
+ * decimals to 2dp; consumer code that produces "12.5" or "12.555" is wrong.
43
+ *
44
+ * If you have a code path that legitimately needs unbounded precision
45
+ * (rare; usually FX / tax-rate display), use `MoneyLooseSchema`.
46
+ */
47
+ declare const MoneySchema: z.ZodString;
48
+ declare const MoneyLooseSchema: z.ZodString;
49
+ declare const IsoDateTimeSchema: z.ZodISODateTime;
50
+ declare const TimestampSchema: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
51
+ declare const CurrencyCodeSchema: z.ZodString;
52
+ declare const CountryCodeSchema: z.ZodString;
53
+ declare const LocaleSchema: z.ZodString;
54
+ declare const PhoneE164Schema: z.ZodString;
55
+ declare const SeedNameSchema: z.ZodEnum<{
56
+ default: "default";
57
+ empty: "empty";
58
+ "reesa-storefront": "reesa-storefront";
59
+ restaurant: "restaurant";
60
+ retail: "retail";
61
+ services: "services";
62
+ grocery: "grocery";
63
+ fashion: "fashion";
64
+ }>;
65
+ declare const ProductTypeSchema: z.ZodEnum<{
66
+ product: "product";
67
+ service: "service";
68
+ digital: "digital";
69
+ bundle: "bundle";
70
+ composite: "composite";
71
+ }>;
72
+ declare const LineTypeSchema: z.ZodEnum<{
73
+ service: "service";
74
+ digital: "digital";
75
+ bundle: "bundle";
76
+ composite: "composite";
77
+ simple: "simple";
78
+ }>;
79
+ declare const ServiceStatusSchema: z.ZodEnum<{
80
+ pending: "pending";
81
+ confirmed: "confirmed";
82
+ completed: "completed";
83
+ cancelled: "cancelled";
84
+ }>;
85
+ /**
86
+ * Structured error thrown by every `assertX` helper. Agents can catch
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.
92
+ */
93
+ declare class SchemaViolationError extends Error {
94
+ readonly label: string;
95
+ readonly issues: ReadonlyArray<{
96
+ path: string[];
97
+ message: string;
98
+ code?: string;
99
+ }>;
100
+ readonly name = "SchemaViolationError";
101
+ constructor(message: string, label: string, issues: ReadonlyArray<{
102
+ path: string[];
103
+ message: string;
104
+ code?: string;
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
+ };
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>;
131
+
132
+ /**
133
+ * Brand schema — the contract for `lib/brand.ts` in every storefront.
134
+ *
135
+ * Templates that need extra fields (fashion's `lookbook`, services'
136
+ * `bookingPolicy`) should `BrandSchema.extend({ … })` rather than
137
+ * fork this schema.
138
+ */
139
+
140
+ declare const BrandSocialSchema: z.ZodObject<{
141
+ label: z.ZodString;
142
+ href: z.ZodString;
143
+ icon: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>;
145
+ declare const BrandNavLinkSchema: z.ZodObject<{
146
+ label: z.ZodString;
147
+ href: z.ZodString;
148
+ }, z.core.$strip>;
149
+ declare const BrandPolicySectionSchema: z.ZodObject<{
150
+ heading: z.ZodString;
151
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
152
+ intro: z.ZodString;
153
+ bullets: z.ZodArray<z.ZodString>;
154
+ }, z.core.$strip>]>;
155
+ }, z.core.$strip>;
156
+ declare const BrandPolicyPageSchema: z.ZodObject<{
157
+ eyebrow: z.ZodString;
158
+ title: z.ZodString;
159
+ lastUpdated: z.ZodString;
160
+ sections: z.ZodArray<z.ZodObject<{
161
+ heading: z.ZodString;
162
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
163
+ intro: z.ZodString;
164
+ bullets: z.ZodArray<z.ZodString>;
165
+ }, z.core.$strip>]>;
166
+ }, z.core.$strip>>;
167
+ }, z.core.$strip>;
168
+ declare const BrandContactSchema: z.ZodObject<{
169
+ email: z.ZodString;
170
+ phone: z.ZodString;
171
+ phoneTel: z.ZodString;
172
+ streetAddress: z.ZodString;
173
+ city: z.ZodString;
174
+ countryCode: z.ZodString;
175
+ hours: z.ZodOptional<z.ZodString>;
176
+ }, z.core.$strip>;
177
+ declare const BrandHeroSchema: z.ZodObject<{
178
+ badge: z.ZodOptional<z.ZodString>;
179
+ title: z.ZodString;
180
+ subtitle: z.ZodString;
181
+ primaryCta: z.ZodOptional<z.ZodObject<{
182
+ label: z.ZodString;
183
+ href: z.ZodString;
184
+ }, z.core.$strip>>;
185
+ secondaryCta: z.ZodOptional<z.ZodObject<{
186
+ label: z.ZodString;
187
+ href: z.ZodString;
188
+ }, z.core.$strip>>;
189
+ }, z.core.$strip>;
190
+ declare const BrandFaqSchema: z.ZodObject<{
191
+ eyebrow: z.ZodOptional<z.ZodString>;
192
+ title: z.ZodString;
193
+ sections: z.ZodArray<z.ZodObject<{
194
+ title: z.ZodString;
195
+ items: z.ZodArray<z.ZodObject<{
196
+ q: z.ZodString;
197
+ a: z.ZodString;
198
+ }, z.core.$strip>>;
199
+ }, z.core.$strip>>;
200
+ }, z.core.$strip>;
201
+ declare const BrandSchema: z.ZodObject<{
202
+ name: z.ZodString;
203
+ shortName: z.ZodString;
204
+ microTag: z.ZodString;
205
+ description: z.ZodString;
206
+ schemaType: z.ZodString;
207
+ currency: z.ZodString;
208
+ locale: z.ZodString;
209
+ contact: z.ZodObject<{
210
+ email: z.ZodString;
211
+ phone: z.ZodString;
212
+ phoneTel: z.ZodString;
213
+ streetAddress: z.ZodString;
214
+ city: z.ZodString;
215
+ countryCode: z.ZodString;
216
+ hours: z.ZodOptional<z.ZodString>;
217
+ }, z.core.$strip>;
218
+ socials: z.ZodArray<z.ZodObject<{
219
+ label: z.ZodString;
220
+ href: z.ZodString;
221
+ icon: z.ZodOptional<z.ZodString>;
222
+ }, z.core.$strip>>;
223
+ header: z.ZodObject<{
224
+ nav: z.ZodArray<z.ZodObject<{
225
+ label: z.ZodString;
226
+ href: z.ZodString;
227
+ }, z.core.$strip>>;
228
+ }, z.core.$strip>;
229
+ hero: z.ZodObject<{
230
+ badge: z.ZodOptional<z.ZodString>;
231
+ title: z.ZodString;
232
+ subtitle: z.ZodString;
233
+ primaryCta: z.ZodOptional<z.ZodObject<{
234
+ label: z.ZodString;
235
+ href: z.ZodString;
236
+ }, z.core.$strip>>;
237
+ secondaryCta: z.ZodOptional<z.ZodObject<{
238
+ label: z.ZodString;
239
+ href: z.ZodString;
240
+ }, z.core.$strip>>;
241
+ }, z.core.$strip>;
242
+ trustItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
243
+ title: z.ZodString;
244
+ body: z.ZodString;
245
+ }, z.core.$strip>>>;
246
+ brandStrip: z.ZodOptional<z.ZodObject<{
247
+ headline: z.ZodString;
248
+ logos: z.ZodArray<z.ZodString>;
249
+ }, z.core.$strip>>;
250
+ promo: z.ZodOptional<z.ZodObject<{
251
+ eyebrow: z.ZodOptional<z.ZodString>;
252
+ title: z.ZodString;
253
+ cta: z.ZodObject<{
254
+ label: z.ZodString;
255
+ href: z.ZodString;
256
+ }, z.core.$strip>;
257
+ }, z.core.$strip>>;
258
+ terms: z.ZodObject<{
259
+ eyebrow: z.ZodString;
260
+ title: z.ZodString;
261
+ lastUpdated: z.ZodString;
262
+ sections: z.ZodArray<z.ZodObject<{
263
+ heading: z.ZodString;
264
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
265
+ intro: z.ZodString;
266
+ bullets: z.ZodArray<z.ZodString>;
267
+ }, z.core.$strip>]>;
268
+ }, z.core.$strip>>;
269
+ }, z.core.$strip>;
270
+ privacy: z.ZodObject<{
271
+ eyebrow: z.ZodString;
272
+ title: z.ZodString;
273
+ lastUpdated: z.ZodString;
274
+ sections: z.ZodArray<z.ZodObject<{
275
+ heading: z.ZodString;
276
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
277
+ intro: z.ZodString;
278
+ bullets: z.ZodArray<z.ZodString>;
279
+ }, z.core.$strip>]>;
280
+ }, z.core.$strip>>;
281
+ }, z.core.$strip>;
282
+ shipping: z.ZodObject<{
283
+ eyebrow: z.ZodString;
284
+ title: z.ZodString;
285
+ lastUpdated: z.ZodString;
286
+ sections: z.ZodArray<z.ZodObject<{
287
+ heading: z.ZodString;
288
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
289
+ intro: z.ZodString;
290
+ bullets: z.ZodArray<z.ZodString>;
291
+ }, z.core.$strip>]>;
292
+ }, z.core.$strip>>;
293
+ }, z.core.$strip>;
294
+ returns: z.ZodObject<{
295
+ eyebrow: z.ZodString;
296
+ title: z.ZodString;
297
+ lastUpdated: z.ZodString;
298
+ sections: z.ZodArray<z.ZodObject<{
299
+ heading: z.ZodString;
300
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
301
+ intro: z.ZodString;
302
+ bullets: z.ZodArray<z.ZodString>;
303
+ }, z.core.$strip>]>;
304
+ }, z.core.$strip>>;
305
+ }, z.core.$strip>;
306
+ accessibility: z.ZodObject<{
307
+ eyebrow: z.ZodString;
308
+ title: z.ZodString;
309
+ lastUpdated: z.ZodString;
310
+ sections: z.ZodArray<z.ZodObject<{
311
+ heading: z.ZodString;
312
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
313
+ intro: z.ZodString;
314
+ bullets: z.ZodArray<z.ZodString>;
315
+ }, z.core.$strip>]>;
316
+ }, z.core.$strip>>;
317
+ }, z.core.$strip>;
318
+ newsletter: z.ZodObject<{
319
+ eyebrow: z.ZodOptional<z.ZodString>;
320
+ title: z.ZodString;
321
+ body: z.ZodString;
322
+ }, z.core.$strip>;
323
+ about: z.ZodObject<{
324
+ eyebrow: z.ZodOptional<z.ZodString>;
325
+ title: z.ZodString;
326
+ body: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
327
+ }, z.core.$strip>;
328
+ faq: z.ZodObject<{
329
+ eyebrow: z.ZodOptional<z.ZodString>;
330
+ title: z.ZodString;
331
+ sections: z.ZodArray<z.ZodObject<{
332
+ title: z.ZodString;
333
+ items: z.ZodArray<z.ZodObject<{
334
+ q: z.ZodString;
335
+ a: z.ZodString;
336
+ }, z.core.$strip>>;
337
+ }, z.core.$strip>>;
338
+ }, z.core.$strip>;
339
+ account: z.ZodObject<{
340
+ eyebrow: z.ZodOptional<z.ZodString>;
341
+ title: z.ZodString;
342
+ signin: z.ZodOptional<z.ZodObject<{
343
+ eyebrow: z.ZodOptional<z.ZodString>;
344
+ title: z.ZodString;
345
+ }, z.core.$strip>>;
346
+ signup: z.ZodOptional<z.ZodObject<{
347
+ eyebrow: z.ZodOptional<z.ZodString>;
348
+ title: z.ZodString;
349
+ }, z.core.$strip>>;
350
+ }, z.core.$strip>;
351
+ contactPage: z.ZodObject<{
352
+ eyebrow: z.ZodOptional<z.ZodString>;
353
+ title: z.ZodString;
354
+ body: z.ZodString;
355
+ }, z.core.$strip>;
356
+ trackOrder: z.ZodObject<{
357
+ eyebrow: z.ZodOptional<z.ZodString>;
358
+ title: z.ZodString;
359
+ body: z.ZodString;
360
+ }, z.core.$strip>;
361
+ footer: z.ZodObject<{
362
+ sitemap: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
363
+ poweredBy: z.ZodOptional<z.ZodString>;
364
+ }, z.core.$strip>;
365
+ llms: z.ZodObject<{
366
+ summary: z.ZodString;
367
+ }, z.core.$strip>;
368
+ mock: z.ZodObject<{
369
+ seed: z.ZodEnum<{
370
+ default: "default";
371
+ empty: "empty";
372
+ "reesa-storefront": "reesa-storefront";
373
+ restaurant: "restaurant";
374
+ retail: "retail";
375
+ services: "services";
376
+ grocery: "grocery";
377
+ fashion: "fashion";
378
+ }>;
379
+ businessId: z.ZodString;
380
+ }, z.core.$strip>;
381
+ }, z.core.$strip>;
382
+ type Brand = z.infer<typeof BrandSchema>;
383
+ declare const assertBrand: (value: unknown) => asserts value is {
384
+ name: string;
385
+ shortName: string;
386
+ microTag: string;
387
+ description: string;
388
+ schemaType: string;
389
+ currency: string;
390
+ locale: string;
391
+ contact: {
392
+ email: string;
393
+ phone: string;
394
+ phoneTel: string;
395
+ streetAddress: string;
396
+ city: string;
397
+ countryCode: string;
398
+ hours?: string | undefined;
399
+ };
400
+ socials: {
401
+ label: string;
402
+ href: string;
403
+ icon?: string | undefined;
404
+ }[];
405
+ header: {
406
+ nav: {
407
+ label: string;
408
+ href: string;
409
+ }[];
410
+ };
411
+ hero: {
412
+ title: string;
413
+ subtitle: string;
414
+ badge?: string | undefined;
415
+ primaryCta?: {
416
+ label: string;
417
+ href: string;
418
+ } | undefined;
419
+ secondaryCta?: {
420
+ label: string;
421
+ href: string;
422
+ } | undefined;
423
+ };
424
+ terms: {
425
+ eyebrow: string;
426
+ title: string;
427
+ lastUpdated: string;
428
+ sections: {
429
+ heading: string;
430
+ body: string | {
431
+ intro: string;
432
+ bullets: string[];
433
+ };
434
+ }[];
435
+ };
436
+ privacy: {
437
+ eyebrow: string;
438
+ title: string;
439
+ lastUpdated: string;
440
+ sections: {
441
+ heading: string;
442
+ body: string | {
443
+ intro: string;
444
+ bullets: string[];
445
+ };
446
+ }[];
447
+ };
448
+ shipping: {
449
+ eyebrow: string;
450
+ title: string;
451
+ lastUpdated: string;
452
+ sections: {
453
+ heading: string;
454
+ body: string | {
455
+ intro: string;
456
+ bullets: string[];
457
+ };
458
+ }[];
459
+ };
460
+ returns: {
461
+ eyebrow: string;
462
+ title: string;
463
+ lastUpdated: string;
464
+ sections: {
465
+ heading: string;
466
+ body: string | {
467
+ intro: string;
468
+ bullets: string[];
469
+ };
470
+ }[];
471
+ };
472
+ accessibility: {
473
+ eyebrow: string;
474
+ title: string;
475
+ lastUpdated: string;
476
+ sections: {
477
+ heading: string;
478
+ body: string | {
479
+ intro: string;
480
+ bullets: string[];
481
+ };
482
+ }[];
483
+ };
484
+ newsletter: {
485
+ title: string;
486
+ body: string;
487
+ eyebrow?: string | undefined;
488
+ };
489
+ about: {
490
+ title: string;
491
+ body: string | string[];
492
+ eyebrow?: string | undefined;
493
+ };
494
+ faq: {
495
+ title: string;
496
+ sections: {
497
+ title: string;
498
+ items: {
499
+ q: string;
500
+ a: string;
501
+ }[];
502
+ }[];
503
+ eyebrow?: string | undefined;
504
+ };
505
+ account: {
506
+ title: string;
507
+ eyebrow?: string | undefined;
508
+ signin?: {
509
+ title: string;
510
+ eyebrow?: string | undefined;
511
+ } | undefined;
512
+ signup?: {
513
+ title: string;
514
+ eyebrow?: string | undefined;
515
+ } | undefined;
516
+ };
517
+ contactPage: {
518
+ title: string;
519
+ body: string;
520
+ eyebrow?: string | undefined;
521
+ };
522
+ trackOrder: {
523
+ title: string;
524
+ body: string;
525
+ eyebrow?: string | undefined;
526
+ };
527
+ footer: {
528
+ sitemap?: unknown[] | undefined;
529
+ poweredBy?: string | undefined;
530
+ };
531
+ llms: {
532
+ summary: string;
533
+ };
534
+ mock: {
535
+ seed: "default" | "empty" | "reesa-storefront" | "restaurant" | "retail" | "services" | "grocery" | "fashion";
536
+ businessId: string;
537
+ };
538
+ trustItems?: {
539
+ title: string;
540
+ body: string;
541
+ }[] | undefined;
542
+ brandStrip?: {
543
+ headline: string;
544
+ logos: string[];
545
+ } | undefined;
546
+ promo?: {
547
+ title: string;
548
+ cta: {
549
+ label: string;
550
+ href: string;
551
+ };
552
+ eyebrow?: string | undefined;
553
+ } | undefined;
554
+ };
555
+
556
+ /**
557
+ * Cart schemas — the SDK ↔ mock ↔ backend contract for cart
558
+ * mutations and the canonical cart response shape.
559
+ */
560
+
561
+ declare const BundleSelectionInputSchema: z.ZodObject<{
562
+ component_id: z.ZodString;
563
+ variant_id: z.ZodOptional<z.ZodString>;
564
+ quantity: z.ZodNumber;
565
+ scheduled_start: z.ZodOptional<z.ZodString>;
566
+ scheduled_end: z.ZodOptional<z.ZodString>;
567
+ }, z.core.$strip>;
568
+ declare const CompositeSelectionInputSchema: z.ZodObject<{
569
+ component_id: z.ZodOptional<z.ZodString>;
570
+ source_product_id: z.ZodOptional<z.ZodString>;
571
+ source_stock_id: z.ZodOptional<z.ZodString>;
572
+ source_type: z.ZodOptional<z.ZodEnum<{
573
+ product: "product";
574
+ stock: "stock";
575
+ add_on: "add_on";
576
+ standalone: "standalone";
577
+ }>>;
578
+ quantity: z.ZodOptional<z.ZodNumber>;
579
+ }, z.core.$strip>;
580
+ declare const CustomerInputValueSchema: z.ZodObject<{
581
+ field_id: z.ZodString;
582
+ field_name: z.ZodOptional<z.ZodString>;
583
+ field_type: z.ZodOptional<z.ZodString>;
584
+ value: z.ZodUnknown;
585
+ }, z.core.$strip>;
586
+ declare const AddItemPayloadSchema: z.ZodObject<{
587
+ item_id: z.ZodString;
588
+ quantity: z.ZodNumber;
589
+ variant_id: z.ZodOptional<z.ZodString>;
590
+ quote_id: z.ZodOptional<z.ZodString>;
591
+ add_on_options: z.ZodOptional<z.ZodArray<z.ZodString>>;
592
+ bundle_selections: z.ZodOptional<z.ZodArray<z.ZodObject<{
593
+ component_id: z.ZodString;
594
+ variant_id: z.ZodOptional<z.ZodString>;
595
+ quantity: z.ZodNumber;
596
+ scheduled_start: z.ZodOptional<z.ZodString>;
597
+ scheduled_end: z.ZodOptional<z.ZodString>;
598
+ }, z.core.$strip>>>;
599
+ composite_selections: z.ZodOptional<z.ZodArray<z.ZodObject<{
600
+ component_id: z.ZodOptional<z.ZodString>;
601
+ source_product_id: z.ZodOptional<z.ZodString>;
602
+ source_stock_id: z.ZodOptional<z.ZodString>;
603
+ source_type: z.ZodOptional<z.ZodEnum<{
604
+ product: "product";
605
+ stock: "stock";
606
+ add_on: "add_on";
607
+ standalone: "standalone";
608
+ }>>;
609
+ quantity: z.ZodOptional<z.ZodNumber>;
610
+ }, z.core.$strip>>>;
611
+ scheduled_start: z.ZodOptional<z.ZodString>;
612
+ scheduled_end: z.ZodOptional<z.ZodString>;
613
+ staff_id: z.ZodOptional<z.ZodString>;
614
+ resource_id: z.ZodOptional<z.ZodString>;
615
+ special_instructions: z.ZodOptional<z.ZodString>;
616
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
617
+ field_id: z.ZodString;
618
+ field_name: z.ZodOptional<z.ZodString>;
619
+ field_type: z.ZodOptional<z.ZodString>;
620
+ value: z.ZodUnknown;
621
+ }, z.core.$strip>>>;
622
+ billing_plan_id: z.ZodOptional<z.ZodString>;
623
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
624
+ }, z.core.$strip>;
625
+ type AddItemPayload = z.infer<typeof AddItemPayloadSchema>;
626
+ declare const assertAddItemPayload: (value: unknown) => asserts value is {
627
+ item_id: string;
628
+ quantity: number;
629
+ variant_id?: string | undefined;
630
+ quote_id?: string | undefined;
631
+ add_on_options?: string[] | undefined;
632
+ bundle_selections?: {
633
+ component_id: string;
634
+ quantity: number;
635
+ variant_id?: string | undefined;
636
+ scheduled_start?: string | undefined;
637
+ scheduled_end?: string | undefined;
638
+ }[] | undefined;
639
+ composite_selections?: {
640
+ component_id?: string | undefined;
641
+ source_product_id?: string | undefined;
642
+ source_stock_id?: string | undefined;
643
+ source_type?: "product" | "stock" | "add_on" | "standalone" | undefined;
644
+ quantity?: number | undefined;
645
+ }[] | undefined;
646
+ scheduled_start?: string | undefined;
647
+ scheduled_end?: string | undefined;
648
+ staff_id?: string | undefined;
649
+ resource_id?: string | undefined;
650
+ special_instructions?: string | undefined;
651
+ customer_inputs?: {
652
+ field_id: string;
653
+ value: unknown;
654
+ field_name?: string | undefined;
655
+ field_type?: string | undefined;
656
+ }[] | undefined;
657
+ billing_plan_id?: string | undefined;
658
+ metadata?: Record<string, unknown> | undefined;
659
+ };
660
+ declare const VariantDisplayAttributeSchema: z.ZodObject<{
661
+ axis_id: z.ZodString;
662
+ axis_name: z.ZodString;
663
+ value_id: z.ZodString;
664
+ value_name: z.ZodString;
665
+ }, z.core.$strip>;
666
+ declare const VariantInfoSchema: z.ZodObject<{
667
+ id: z.ZodString;
668
+ name: z.ZodString;
669
+ sku: z.ZodOptional<z.ZodString>;
670
+ price_adjustment: z.ZodString;
671
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
672
+ axis_id: z.ZodString;
673
+ axis_name: z.ZodString;
674
+ value_id: z.ZodString;
675
+ value_name: z.ZodString;
676
+ }, z.core.$strip>>>;
677
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
678
+ }, z.core.$strip>;
679
+ declare const VariantDetailsSchema: z.ZodObject<{
680
+ variant_id: z.ZodString;
681
+ sku: z.ZodOptional<z.ZodString>;
682
+ properties: z.ZodRecord<z.ZodString, z.ZodString>;
683
+ }, z.core.$strip>;
684
+ declare const ChosenPriceSchema: z.ZodObject<{
685
+ base_price: z.ZodString;
686
+ final_price: z.ZodString;
687
+ markup_percentage: z.ZodString;
688
+ markup_amount: z.ZodString;
689
+ markup_discount_percentage: z.ZodString;
690
+ markup_discount_amount: z.ZodString;
691
+ }, z.core.$strip>;
692
+ declare const AddOnDetailsSchema: z.ZodObject<{
693
+ selected_options: z.ZodArray<z.ZodUnknown>;
694
+ total_add_on_price: z.ZodString;
695
+ add_ons: z.ZodArray<z.ZodUnknown>;
696
+ }, z.core.$strip>;
697
+ declare const BundleResolvedSchema: z.ZodObject<{
698
+ bundle_id: z.ZodString;
699
+ selections: z.ZodArray<z.ZodUnknown>;
700
+ }, z.core.$loose>;
701
+ declare const CompositeResolvedSchema: z.ZodObject<{
702
+ composite_id: z.ZodString;
703
+ selections: z.ZodArray<z.ZodUnknown>;
704
+ breakdown: z.ZodOptional<z.ZodObject<{
705
+ base_price: z.ZodString;
706
+ components_total: z.ZodString;
707
+ final_price: z.ZodString;
708
+ tier_applied: z.ZodOptional<z.ZodString>;
709
+ }, z.core.$strip>>;
710
+ }, z.core.$loose>;
711
+ declare const DiscountDetailsSchema: z.ZodObject<{
712
+ applied_count: z.ZodNumber;
713
+ total_amount: z.ZodString;
714
+ discount_ids: z.ZodArray<z.ZodString>;
715
+ }, z.core.$strip>;
716
+ declare const CartItemSchema: z.ZodObject<{
717
+ id: z.ZodString;
718
+ cart_id: z.ZodString;
719
+ item_id: z.ZodString;
720
+ quantity: z.ZodNumber;
721
+ line_key: z.ZodString;
722
+ line_type: z.ZodEnum<{
723
+ service: "service";
724
+ digital: "digital";
725
+ bundle: "bundle";
726
+ composite: "composite";
727
+ simple: "simple";
728
+ }>;
729
+ name: z.ZodString;
730
+ description: z.ZodOptional<z.ZodString>;
731
+ image_url: z.ZodOptional<z.ZodString>;
732
+ category_id: z.ZodOptional<z.ZodString>;
733
+ category_name: z.ZodOptional<z.ZodString>;
734
+ is_available: z.ZodBoolean;
735
+ variant_id: z.ZodOptional<z.ZodString>;
736
+ variant_name: z.ZodOptional<z.ZodString>;
737
+ variant_info: z.ZodOptional<z.ZodObject<{
738
+ id: z.ZodString;
739
+ name: z.ZodString;
740
+ sku: z.ZodOptional<z.ZodString>;
741
+ price_adjustment: z.ZodString;
742
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
743
+ axis_id: z.ZodString;
744
+ axis_name: z.ZodString;
745
+ value_id: z.ZodString;
746
+ value_name: z.ZodString;
747
+ }, z.core.$strip>>>;
748
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
749
+ }, z.core.$strip>>;
750
+ variant_details: z.ZodOptional<z.ZodObject<{
751
+ variant_id: z.ZodString;
752
+ sku: z.ZodOptional<z.ZodString>;
753
+ properties: z.ZodRecord<z.ZodString, z.ZodString>;
754
+ }, z.core.$strip>>;
755
+ base_price: z.ZodString;
756
+ add_ons_price: z.ZodString;
757
+ total_price: z.ZodString;
758
+ item_discount_amount: z.ZodString;
759
+ price_info: z.ZodObject<{
760
+ base_price: z.ZodString;
761
+ final_price: z.ZodString;
762
+ markup_percentage: z.ZodString;
763
+ markup_amount: z.ZodString;
764
+ markup_discount_percentage: z.ZodString;
765
+ markup_discount_amount: z.ZodString;
766
+ }, z.core.$strip>;
767
+ add_on_option_ids: z.ZodArray<z.ZodString>;
768
+ add_on_ids: z.ZodArray<z.ZodString>;
769
+ add_on_details: z.ZodObject<{
770
+ selected_options: z.ZodArray<z.ZodUnknown>;
771
+ total_add_on_price: z.ZodString;
772
+ add_ons: z.ZodArray<z.ZodUnknown>;
773
+ }, z.core.$strip>;
774
+ add_on_options: z.ZodArray<z.ZodUnknown>;
775
+ add_ons: z.ZodArray<z.ZodUnknown>;
776
+ scheduled_start: z.ZodOptional<z.ZodString>;
777
+ scheduled_end: z.ZodOptional<z.ZodString>;
778
+ staff_id: z.ZodOptional<z.ZodString>;
779
+ resource_id: z.ZodOptional<z.ZodString>;
780
+ service_status: z.ZodOptional<z.ZodEnum<{
781
+ pending: "pending";
782
+ confirmed: "confirmed";
783
+ completed: "completed";
784
+ cancelled: "cancelled";
785
+ }>>;
786
+ confirmation_code: z.ZodOptional<z.ZodString>;
787
+ special_instructions: z.ZodOptional<z.ZodString>;
788
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
789
+ field_id: z.ZodString;
790
+ field_name: z.ZodOptional<z.ZodString>;
791
+ field_type: z.ZodOptional<z.ZodString>;
792
+ value: z.ZodUnknown;
793
+ }, z.core.$strip>>>;
794
+ bundle_selections: z.ZodOptional<z.ZodUnknown>;
795
+ bundle_resolved: z.ZodOptional<z.ZodObject<{
796
+ bundle_id: z.ZodString;
797
+ selections: z.ZodArray<z.ZodUnknown>;
798
+ }, z.core.$loose>>;
799
+ composite_selections: z.ZodOptional<z.ZodUnknown>;
800
+ composite_resolved: z.ZodOptional<z.ZodObject<{
801
+ composite_id: z.ZodString;
802
+ selections: z.ZodArray<z.ZodUnknown>;
803
+ breakdown: z.ZodOptional<z.ZodObject<{
804
+ base_price: z.ZodString;
805
+ components_total: z.ZodString;
806
+ final_price: z.ZodString;
807
+ tier_applied: z.ZodOptional<z.ZodString>;
808
+ }, z.core.$strip>>;
809
+ }, z.core.$loose>>;
810
+ billing_plan_id: z.ZodOptional<z.ZodString>;
811
+ applied_discount_ids: z.ZodArray<z.ZodString>;
812
+ discount_details: z.ZodOptional<z.ZodObject<{
813
+ applied_count: z.ZodNumber;
814
+ total_amount: z.ZodString;
815
+ discount_ids: z.ZodArray<z.ZodString>;
816
+ }, z.core.$strip>>;
817
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
818
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
819
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
820
+ }, z.core.$loose>;
821
+ type CartItem = z.infer<typeof CartItemSchema>;
822
+ declare const assertCartItem: (value: unknown) => asserts value is {
823
+ [x: string]: unknown;
824
+ id: string;
825
+ cart_id: string;
826
+ item_id: string;
827
+ quantity: number;
828
+ line_key: string;
829
+ line_type: "service" | "digital" | "bundle" | "composite" | "simple";
830
+ name: string;
831
+ is_available: boolean;
832
+ base_price: string;
833
+ add_ons_price: string;
834
+ total_price: string;
835
+ item_discount_amount: string;
836
+ price_info: {
837
+ base_price: string;
838
+ final_price: string;
839
+ markup_percentage: string;
840
+ markup_amount: string;
841
+ markup_discount_percentage: string;
842
+ markup_discount_amount: string;
843
+ };
844
+ add_on_option_ids: string[];
845
+ add_on_ids: string[];
846
+ add_on_details: {
847
+ selected_options: unknown[];
848
+ total_add_on_price: string;
849
+ add_ons: unknown[];
850
+ };
851
+ add_on_options: unknown[];
852
+ add_ons: unknown[];
853
+ applied_discount_ids: string[];
854
+ created_at: string;
855
+ updated_at: string;
856
+ description?: string | undefined;
857
+ image_url?: string | undefined;
858
+ category_id?: string | undefined;
859
+ category_name?: string | undefined;
860
+ variant_id?: string | undefined;
861
+ variant_name?: string | undefined;
862
+ variant_info?: {
863
+ id: string;
864
+ name: string;
865
+ price_adjustment: string;
866
+ sku?: string | undefined;
867
+ display_attributes?: {
868
+ axis_id: string;
869
+ axis_name: string;
870
+ value_id: string;
871
+ value_name: string;
872
+ }[] | undefined;
873
+ images?: string[] | undefined;
874
+ } | undefined;
875
+ variant_details?: {
876
+ variant_id: string;
877
+ properties: Record<string, string>;
878
+ sku?: string | undefined;
879
+ } | undefined;
880
+ scheduled_start?: string | undefined;
881
+ scheduled_end?: string | undefined;
882
+ staff_id?: string | undefined;
883
+ resource_id?: string | undefined;
884
+ service_status?: "pending" | "confirmed" | "completed" | "cancelled" | undefined;
885
+ confirmation_code?: string | undefined;
886
+ special_instructions?: string | undefined;
887
+ customer_inputs?: {
888
+ field_id: string;
889
+ value: unknown;
890
+ field_name?: string | undefined;
891
+ field_type?: string | undefined;
892
+ }[] | undefined;
893
+ bundle_selections?: unknown;
894
+ bundle_resolved?: {
895
+ [x: string]: unknown;
896
+ bundle_id: string;
897
+ selections: unknown[];
898
+ } | undefined;
899
+ composite_selections?: unknown;
900
+ composite_resolved?: {
901
+ [x: string]: unknown;
902
+ composite_id: string;
903
+ selections: unknown[];
904
+ breakdown?: {
905
+ base_price: string;
906
+ components_total: string;
907
+ final_price: string;
908
+ tier_applied?: string | undefined;
909
+ } | undefined;
910
+ } | undefined;
911
+ billing_plan_id?: string | undefined;
912
+ discount_details?: {
913
+ applied_count: number;
914
+ total_amount: string;
915
+ discount_ids: string[];
916
+ } | undefined;
917
+ metadata?: Record<string, unknown> | undefined;
918
+ };
919
+ declare const CartPricingSchema: z.ZodObject<{
920
+ subtotal: z.ZodString;
921
+ total_discounts: z.ZodString;
922
+ tax_amount: z.ZodString;
923
+ service_charge: z.ZodString;
924
+ total_price: z.ZodString;
925
+ currency: z.ZodString;
926
+ tax_rate: z.ZodOptional<z.ZodString>;
927
+ service_charge_rate: z.ZodOptional<z.ZodString>;
928
+ }, z.core.$strip>;
929
+ declare const CartSchema: z.ZodObject<{
930
+ id: z.ZodString;
931
+ business_id: z.ZodString;
932
+ items: z.ZodArray<z.ZodObject<{
933
+ id: z.ZodString;
934
+ cart_id: z.ZodString;
935
+ item_id: z.ZodString;
936
+ quantity: z.ZodNumber;
937
+ line_key: z.ZodString;
938
+ line_type: z.ZodEnum<{
939
+ service: "service";
940
+ digital: "digital";
941
+ bundle: "bundle";
942
+ composite: "composite";
943
+ simple: "simple";
944
+ }>;
945
+ name: z.ZodString;
946
+ description: z.ZodOptional<z.ZodString>;
947
+ image_url: z.ZodOptional<z.ZodString>;
948
+ category_id: z.ZodOptional<z.ZodString>;
949
+ category_name: z.ZodOptional<z.ZodString>;
950
+ is_available: z.ZodBoolean;
951
+ variant_id: z.ZodOptional<z.ZodString>;
952
+ variant_name: z.ZodOptional<z.ZodString>;
953
+ variant_info: z.ZodOptional<z.ZodObject<{
954
+ id: z.ZodString;
955
+ name: z.ZodString;
956
+ sku: z.ZodOptional<z.ZodString>;
957
+ price_adjustment: z.ZodString;
958
+ display_attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
959
+ axis_id: z.ZodString;
960
+ axis_name: z.ZodString;
961
+ value_id: z.ZodString;
962
+ value_name: z.ZodString;
963
+ }, z.core.$strip>>>;
964
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
965
+ }, z.core.$strip>>;
966
+ variant_details: z.ZodOptional<z.ZodObject<{
967
+ variant_id: z.ZodString;
968
+ sku: z.ZodOptional<z.ZodString>;
969
+ properties: z.ZodRecord<z.ZodString, z.ZodString>;
970
+ }, z.core.$strip>>;
971
+ base_price: z.ZodString;
972
+ add_ons_price: z.ZodString;
973
+ total_price: z.ZodString;
974
+ item_discount_amount: z.ZodString;
975
+ price_info: z.ZodObject<{
976
+ base_price: z.ZodString;
977
+ final_price: z.ZodString;
978
+ markup_percentage: z.ZodString;
979
+ markup_amount: z.ZodString;
980
+ markup_discount_percentage: z.ZodString;
981
+ markup_discount_amount: z.ZodString;
982
+ }, z.core.$strip>;
983
+ add_on_option_ids: z.ZodArray<z.ZodString>;
984
+ add_on_ids: z.ZodArray<z.ZodString>;
985
+ add_on_details: z.ZodObject<{
986
+ selected_options: z.ZodArray<z.ZodUnknown>;
987
+ total_add_on_price: z.ZodString;
988
+ add_ons: z.ZodArray<z.ZodUnknown>;
989
+ }, z.core.$strip>;
990
+ add_on_options: z.ZodArray<z.ZodUnknown>;
991
+ add_ons: z.ZodArray<z.ZodUnknown>;
992
+ scheduled_start: z.ZodOptional<z.ZodString>;
993
+ scheduled_end: z.ZodOptional<z.ZodString>;
994
+ staff_id: z.ZodOptional<z.ZodString>;
995
+ resource_id: z.ZodOptional<z.ZodString>;
996
+ service_status: z.ZodOptional<z.ZodEnum<{
997
+ pending: "pending";
998
+ confirmed: "confirmed";
999
+ completed: "completed";
1000
+ cancelled: "cancelled";
1001
+ }>>;
1002
+ confirmation_code: z.ZodOptional<z.ZodString>;
1003
+ special_instructions: z.ZodOptional<z.ZodString>;
1004
+ customer_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1005
+ field_id: z.ZodString;
1006
+ field_name: z.ZodOptional<z.ZodString>;
1007
+ field_type: z.ZodOptional<z.ZodString>;
1008
+ value: z.ZodUnknown;
1009
+ }, z.core.$strip>>>;
1010
+ bundle_selections: z.ZodOptional<z.ZodUnknown>;
1011
+ bundle_resolved: z.ZodOptional<z.ZodObject<{
1012
+ bundle_id: z.ZodString;
1013
+ selections: z.ZodArray<z.ZodUnknown>;
1014
+ }, z.core.$loose>>;
1015
+ composite_selections: z.ZodOptional<z.ZodUnknown>;
1016
+ composite_resolved: z.ZodOptional<z.ZodObject<{
1017
+ composite_id: z.ZodString;
1018
+ selections: z.ZodArray<z.ZodUnknown>;
1019
+ breakdown: z.ZodOptional<z.ZodObject<{
1020
+ base_price: z.ZodString;
1021
+ components_total: z.ZodString;
1022
+ final_price: z.ZodString;
1023
+ tier_applied: z.ZodOptional<z.ZodString>;
1024
+ }, z.core.$strip>>;
1025
+ }, z.core.$loose>>;
1026
+ billing_plan_id: z.ZodOptional<z.ZodString>;
1027
+ applied_discount_ids: z.ZodArray<z.ZodString>;
1028
+ discount_details: z.ZodOptional<z.ZodObject<{
1029
+ applied_count: z.ZodNumber;
1030
+ total_amount: z.ZodString;
1031
+ discount_ids: z.ZodArray<z.ZodString>;
1032
+ }, z.core.$strip>>;
1033
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1034
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1035
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1036
+ }, z.core.$loose>>;
1037
+ pricing: z.ZodObject<{
1038
+ subtotal: z.ZodString;
1039
+ total_discounts: z.ZodString;
1040
+ tax_amount: z.ZodString;
1041
+ service_charge: z.ZodString;
1042
+ total_price: z.ZodString;
1043
+ currency: z.ZodString;
1044
+ tax_rate: z.ZodOptional<z.ZodString>;
1045
+ service_charge_rate: z.ZodOptional<z.ZodString>;
1046
+ }, z.core.$strip>;
1047
+ customer_info: z.ZodObject<{
1048
+ name: z.ZodString;
1049
+ email: z.ZodOptional<z.ZodString>;
1050
+ phone: z.ZodOptional<z.ZodString>;
1051
+ address: z.ZodOptional<z.ZodString>;
1052
+ }, z.core.$strip>;
1053
+ created_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1054
+ updated_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1055
+ expires_at: z.ZodUnion<readonly [z.ZodISODateTime, z.ZodString]>;
1056
+ status: z.ZodString;
1057
+ source: z.ZodString;
1058
+ channel: z.ZodString;
1059
+ }, z.core.$loose>;
1060
+ type Cart = z.infer<typeof CartSchema>;
1061
+ declare const assertCart: (value: unknown) => asserts value is {
1062
+ [x: string]: unknown;
1063
+ id: string;
1064
+ business_id: string;
1065
+ items: {
1066
+ [x: string]: unknown;
1067
+ id: string;
1068
+ cart_id: string;
1069
+ item_id: string;
1070
+ quantity: number;
1071
+ line_key: string;
1072
+ line_type: "service" | "digital" | "bundle" | "composite" | "simple";
1073
+ name: string;
1074
+ is_available: boolean;
1075
+ base_price: string;
1076
+ add_ons_price: string;
1077
+ total_price: string;
1078
+ item_discount_amount: string;
1079
+ price_info: {
1080
+ base_price: string;
1081
+ final_price: string;
1082
+ markup_percentage: string;
1083
+ markup_amount: string;
1084
+ markup_discount_percentage: string;
1085
+ markup_discount_amount: string;
1086
+ };
1087
+ add_on_option_ids: string[];
1088
+ add_on_ids: string[];
1089
+ add_on_details: {
1090
+ selected_options: unknown[];
1091
+ total_add_on_price: string;
1092
+ add_ons: unknown[];
1093
+ };
1094
+ add_on_options: unknown[];
1095
+ add_ons: unknown[];
1096
+ applied_discount_ids: string[];
1097
+ created_at: string;
1098
+ updated_at: string;
1099
+ description?: string | undefined;
1100
+ image_url?: string | undefined;
1101
+ category_id?: string | undefined;
1102
+ category_name?: string | undefined;
1103
+ variant_id?: string | undefined;
1104
+ variant_name?: string | undefined;
1105
+ variant_info?: {
1106
+ id: string;
1107
+ name: string;
1108
+ price_adjustment: string;
1109
+ sku?: string | undefined;
1110
+ display_attributes?: {
1111
+ axis_id: string;
1112
+ axis_name: string;
1113
+ value_id: string;
1114
+ value_name: string;
1115
+ }[] | undefined;
1116
+ images?: string[] | undefined;
1117
+ } | undefined;
1118
+ variant_details?: {
1119
+ variant_id: string;
1120
+ properties: Record<string, string>;
1121
+ sku?: string | undefined;
1122
+ } | undefined;
1123
+ scheduled_start?: string | undefined;
1124
+ scheduled_end?: string | undefined;
1125
+ staff_id?: string | undefined;
1126
+ resource_id?: string | undefined;
1127
+ service_status?: "pending" | "confirmed" | "completed" | "cancelled" | undefined;
1128
+ confirmation_code?: string | undefined;
1129
+ special_instructions?: string | undefined;
1130
+ customer_inputs?: {
1131
+ field_id: string;
1132
+ value: unknown;
1133
+ field_name?: string | undefined;
1134
+ field_type?: string | undefined;
1135
+ }[] | undefined;
1136
+ bundle_selections?: unknown;
1137
+ bundle_resolved?: {
1138
+ [x: string]: unknown;
1139
+ bundle_id: string;
1140
+ selections: unknown[];
1141
+ } | undefined;
1142
+ composite_selections?: unknown;
1143
+ composite_resolved?: {
1144
+ [x: string]: unknown;
1145
+ composite_id: string;
1146
+ selections: unknown[];
1147
+ breakdown?: {
1148
+ base_price: string;
1149
+ components_total: string;
1150
+ final_price: string;
1151
+ tier_applied?: string | undefined;
1152
+ } | undefined;
1153
+ } | undefined;
1154
+ billing_plan_id?: string | undefined;
1155
+ discount_details?: {
1156
+ applied_count: number;
1157
+ total_amount: string;
1158
+ discount_ids: string[];
1159
+ } | undefined;
1160
+ metadata?: Record<string, unknown> | undefined;
1161
+ }[];
1162
+ pricing: {
1163
+ subtotal: string;
1164
+ total_discounts: string;
1165
+ tax_amount: string;
1166
+ service_charge: string;
1167
+ total_price: string;
1168
+ currency: string;
1169
+ tax_rate?: string | undefined;
1170
+ service_charge_rate?: string | undefined;
1171
+ };
1172
+ customer_info: {
1173
+ name: string;
1174
+ email?: string | undefined;
1175
+ phone?: string | undefined;
1176
+ address?: string | undefined;
1177
+ };
1178
+ created_at: string;
1179
+ updated_at: string;
1180
+ expires_at: string;
1181
+ status: string;
1182
+ source: string;
1183
+ channel: string;
1184
+ };
1185
+
1186
+ /**
1187
+ * Checkout schemas — request body and response shapes for `POST /checkout`
1188
+ * and the subsequent `POST /payments/authorization` flow.
1189
+ */
1190
+
1191
+ declare const CheckoutCustomerSchema: z.ZodObject<{
1192
+ name: z.ZodString;
1193
+ email: z.ZodString;
1194
+ phone: z.ZodString;
1195
+ notes: z.ZodOptional<z.ZodString>;
1196
+ save_details: z.ZodOptional<z.ZodBoolean>;
1197
+ }, z.core.$strip>;
1198
+ declare const CheckoutBodySchema: z.ZodObject<{
1199
+ cart_id: z.ZodString;
1200
+ location_id: z.ZodOptional<z.ZodString>;
1201
+ customer: z.ZodObject<{
1202
+ name: z.ZodString;
1203
+ email: z.ZodString;
1204
+ phone: z.ZodString;
1205
+ notes: z.ZodOptional<z.ZodString>;
1206
+ save_details: z.ZodOptional<z.ZodBoolean>;
1207
+ }, z.core.$strip>;
1208
+ order_type: z.ZodString;
1209
+ address_info: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1210
+ payment_method: z.ZodString;
1211
+ mobile_money_details: z.ZodOptional<z.ZodObject<{
1212
+ phone_number: z.ZodString;
1213
+ provider: z.ZodString;
1214
+ }, z.core.$strip>>;
1215
+ special_instructions: z.ZodOptional<z.ZodString>;
1216
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1217
+ pay_currency: z.ZodOptional<z.ZodString>;
1218
+ fx_quote_id: z.ZodOptional<z.ZodString>;
1219
+ }, z.core.$strip>;
1220
+ type CheckoutBody = z.infer<typeof CheckoutBodySchema>;
1221
+ declare const assertCheckoutBody: (value: unknown) => asserts value is {
1222
+ cart_id: string;
1223
+ customer: {
1224
+ name: string;
1225
+ email: string;
1226
+ phone: string;
1227
+ notes?: string | undefined;
1228
+ save_details?: boolean | undefined;
1229
+ };
1230
+ order_type: string;
1231
+ payment_method: string;
1232
+ location_id?: string | undefined;
1233
+ address_info?: Record<string, unknown> | undefined;
1234
+ mobile_money_details?: {
1235
+ phone_number: string;
1236
+ provider: string;
1237
+ } | undefined;
1238
+ special_instructions?: string | undefined;
1239
+ metadata?: Record<string, unknown> | undefined;
1240
+ pay_currency?: string | undefined;
1241
+ fx_quote_id?: string | undefined;
1242
+ };
1243
+ declare const AuthorizationTypeSchema: z.ZodEnum<{
1244
+ phone: "phone";
1245
+ address: "address";
1246
+ otp: "otp";
1247
+ pin: "pin";
1248
+ birthday: "birthday";
1249
+ }>;
1250
+ declare const NextActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1251
+ type: z.ZodLiteral<"none">;
1252
+ }, z.core.$strip>, z.ZodObject<{
1253
+ type: z.ZodLiteral<"redirect">;
1254
+ authorization_url: z.ZodString;
1255
+ }, z.core.$strip>, z.ZodObject<{
1256
+ type: z.ZodLiteral<"authorization">;
1257
+ authorization_type: z.ZodString;
1258
+ display_text: z.ZodOptional<z.ZodString>;
1259
+ }, z.core.$strip>], "type">;
1260
+ declare const CheckoutResponseSchema: z.ZodObject<{
1261
+ order_id: z.ZodString;
1262
+ order_number: z.ZodString;
1263
+ payment_status: z.ZodString;
1264
+ payment_reference: z.ZodOptional<z.ZodString>;
1265
+ requires_authorization: z.ZodBoolean;
1266
+ authorization_type: z.ZodOptional<z.ZodEnum<{
1267
+ phone: "phone";
1268
+ address: "address";
1269
+ otp: "otp";
1270
+ pin: "pin";
1271
+ birthday: "birthday";
1272
+ }>>;
1273
+ next_action: z.ZodDiscriminatedUnion<[z.ZodObject<{
1274
+ type: z.ZodLiteral<"none">;
1275
+ }, z.core.$strip>, z.ZodObject<{
1276
+ type: z.ZodLiteral<"redirect">;
1277
+ authorization_url: z.ZodString;
1278
+ }, z.core.$strip>, z.ZodObject<{
1279
+ type: z.ZodLiteral<"authorization">;
1280
+ authorization_type: z.ZodString;
1281
+ display_text: z.ZodOptional<z.ZodString>;
1282
+ }, z.core.$strip>], "type">;
1283
+ provider: z.ZodOptional<z.ZodString>;
1284
+ authorization_url: z.ZodOptional<z.ZodString>;
1285
+ display_text: z.ZodOptional<z.ZodString>;
1286
+ bill_token: z.ZodOptional<z.ZodString>;
1287
+ client_secret: z.ZodOptional<z.ZodString>;
1288
+ public_key: z.ZodOptional<z.ZodString>;
1289
+ }, z.core.$loose>;
1290
+ type CheckoutResponse = z.infer<typeof CheckoutResponseSchema>;
1291
+ declare const assertCheckoutResponse: (value: unknown) => asserts value is {
1292
+ [x: string]: unknown;
1293
+ order_id: string;
1294
+ order_number: string;
1295
+ payment_status: string;
1296
+ requires_authorization: boolean;
1297
+ next_action: {
1298
+ type: "none";
1299
+ } | {
1300
+ type: "redirect";
1301
+ authorization_url: string;
1302
+ } | {
1303
+ type: "authorization";
1304
+ authorization_type: string;
1305
+ display_text?: string | undefined;
1306
+ };
1307
+ payment_reference?: string | undefined;
1308
+ authorization_type?: "phone" | "address" | "otp" | "pin" | "birthday" | undefined;
1309
+ provider?: string | undefined;
1310
+ authorization_url?: string | undefined;
1311
+ display_text?: string | undefined;
1312
+ bill_token?: string | undefined;
1313
+ client_secret?: string | undefined;
1314
+ public_key?: string | undefined;
1315
+ };
1316
+
1317
+ /**
1318
+ * JSON Schema export — feeds OpenAPI generators, agent prompts,
1319
+ * codegen tooling, and CI contract-snapshot diffs.
1320
+ *
1321
+ * Uses zod 4's built-in `z.toJSONSchema()` with our registry so output
1322
+ * has stable `$id`, `description`, and `$defs` for clean dereferencing.
1323
+ *
1324
+ * import { exportJsonSchemas } from "@cimplify/sdk/testing";
1325
+ * const schemas = exportJsonSchemas();
1326
+ * // → { Brand: { $id: "Brand", ...}, Cart: {...}, ... }
1327
+ *
1328
+ * For a single schema:
1329
+ *
1330
+ * import { z } from "zod";
1331
+ * import { CartSchema } from "@cimplify/sdk/testing";
1332
+ * const cartJsonSchema = z.toJSONSchema(CartSchema);
1333
+ */
1334
+
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;
1869
+ /**
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.
1873
+ */
1874
+ declare function exportJsonSchemas(): Record<PublicSchemaName, Record<string, unknown>>;
1875
+ /**
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).
1879
+ */
1880
+ declare function listRegisteredSchemas(): Array<{
1881
+ schema: z.ZodType;
1882
+ meta: CimplifySchemaMeta;
1883
+ }>;
1884
+
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 };