@endora-commerce/contracts 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/dist/actor.d.ts +79 -0
  4. package/dist/actor.d.ts.map +1 -0
  5. package/dist/actor.js +41 -0
  6. package/dist/actor.js.map +1 -0
  7. package/dist/addresses.d.ts +134 -0
  8. package/dist/addresses.d.ts.map +1 -0
  9. package/dist/addresses.js +16 -0
  10. package/dist/addresses.js.map +1 -0
  11. package/dist/admin-actions.d.ts +367 -0
  12. package/dist/admin-actions.d.ts.map +1 -0
  13. package/dist/admin-actions.js +287 -0
  14. package/dist/admin-actions.js.map +1 -0
  15. package/dist/admin-contributions.d.ts +518 -0
  16. package/dist/admin-contributions.d.ts.map +1 -0
  17. package/dist/admin-contributions.js +495 -0
  18. package/dist/admin-contributions.js.map +1 -0
  19. package/dist/admin-i18n.d.ts +135 -0
  20. package/dist/admin-i18n.d.ts.map +1 -0
  21. package/dist/admin-i18n.js +72 -0
  22. package/dist/admin-i18n.js.map +1 -0
  23. package/dist/admin-notifications.d.ts +55 -0
  24. package/dist/admin-notifications.d.ts.map +1 -0
  25. package/dist/admin-notifications.js +16 -0
  26. package/dist/admin-notifications.js.map +1 -0
  27. package/dist/admin-roles.d.ts +125 -0
  28. package/dist/admin-roles.d.ts.map +1 -0
  29. package/dist/admin-roles.js +2 -0
  30. package/dist/admin-roles.js.map +1 -0
  31. package/dist/admin-users.d.ts +178 -0
  32. package/dist/admin-users.d.ts.map +1 -0
  33. package/dist/admin-users.js +14 -0
  34. package/dist/admin-users.js.map +1 -0
  35. package/dist/admin.d.ts +243 -0
  36. package/dist/admin.d.ts.map +1 -0
  37. package/dist/admin.js +246 -0
  38. package/dist/admin.js.map +1 -0
  39. package/dist/analytics.d.ts +123 -0
  40. package/dist/analytics.d.ts.map +1 -0
  41. package/dist/analytics.js +68 -0
  42. package/dist/analytics.js.map +1 -0
  43. package/dist/api-keys.d.ts +97 -0
  44. package/dist/api-keys.d.ts.map +1 -0
  45. package/dist/api-keys.js +64 -0
  46. package/dist/api-keys.js.map +1 -0
  47. package/dist/assets-library.d.ts +684 -0
  48. package/dist/assets-library.d.ts.map +1 -0
  49. package/dist/assets-library.js +181 -0
  50. package/dist/assets-library.js.map +1 -0
  51. package/dist/audit-logs.d.ts +141 -0
  52. package/dist/audit-logs.d.ts.map +1 -0
  53. package/dist/audit-logs.js +31 -0
  54. package/dist/audit-logs.js.map +1 -0
  55. package/dist/auth.d.ts +174 -0
  56. package/dist/auth.d.ts.map +1 -0
  57. package/dist/auth.js +27 -0
  58. package/dist/auth.js.map +1 -0
  59. package/dist/blog.d.ts +669 -0
  60. package/dist/blog.d.ts.map +1 -0
  61. package/dist/blog.js +360 -0
  62. package/dist/blog.js.map +1 -0
  63. package/dist/capabilities.d.ts +40 -0
  64. package/dist/capabilities.d.ts.map +1 -0
  65. package/dist/capabilities.js +38 -0
  66. package/dist/capabilities.js.map +1 -0
  67. package/dist/carts.d.ts +1367 -0
  68. package/dist/carts.d.ts.map +1 -0
  69. package/dist/carts.js +405 -0
  70. package/dist/carts.js.map +1 -0
  71. package/dist/catalog.d.ts +2855 -0
  72. package/dist/catalog.d.ts.map +1 -0
  73. package/dist/catalog.js +1543 -0
  74. package/dist/catalog.js.map +1 -0
  75. package/dist/cms.d.ts +872 -0
  76. package/dist/cms.d.ts.map +1 -0
  77. package/dist/cms.js +468 -0
  78. package/dist/cms.js.map +1 -0
  79. package/dist/common.d.ts +82 -0
  80. package/dist/common.d.ts.map +1 -0
  81. package/dist/common.js +72 -0
  82. package/dist/common.js.map +1 -0
  83. package/dist/comparisons.d.ts +487 -0
  84. package/dist/comparisons.d.ts.map +1 -0
  85. package/dist/comparisons.js +221 -0
  86. package/dist/comparisons.js.map +1 -0
  87. package/dist/credentials.d.ts +292 -0
  88. package/dist/credentials.d.ts.map +1 -0
  89. package/dist/credentials.js +142 -0
  90. package/dist/credentials.js.map +1 -0
  91. package/dist/credit-limits.d.ts +111 -0
  92. package/dist/credit-limits.d.ts.map +1 -0
  93. package/dist/credit-limits.js +35 -0
  94. package/dist/credit-limits.js.map +1 -0
  95. package/dist/currencies.d.ts +127 -0
  96. package/dist/currencies.d.ts.map +1 -0
  97. package/dist/currencies.js +20 -0
  98. package/dist/currencies.js.map +1 -0
  99. package/dist/custom-fields.d.ts +345 -0
  100. package/dist/custom-fields.d.ts.map +1 -0
  101. package/dist/custom-fields.js +185 -0
  102. package/dist/custom-fields.js.map +1 -0
  103. package/dist/customer-accounts.d.ts +690 -0
  104. package/dist/customer-accounts.d.ts.map +1 -0
  105. package/dist/customer-accounts.js +41 -0
  106. package/dist/customer-accounts.js.map +1 -0
  107. package/dist/customers.d.ts +305 -0
  108. package/dist/customers.d.ts.map +1 -0
  109. package/dist/customers.js +158 -0
  110. package/dist/customers.js.map +1 -0
  111. package/dist/dictionary.d.ts +580 -0
  112. package/dist/dictionary.d.ts.map +1 -0
  113. package/dist/dictionary.js +297 -0
  114. package/dist/dictionary.js.map +1 -0
  115. package/dist/email-address.d.ts +62 -0
  116. package/dist/email-address.d.ts.map +1 -0
  117. package/dist/email-address.js +64 -0
  118. package/dist/email-address.js.map +1 -0
  119. package/dist/email.d.ts +175 -0
  120. package/dist/email.d.ts.map +1 -0
  121. package/dist/email.js +45 -0
  122. package/dist/email.js.map +1 -0
  123. package/dist/envelopes.d.ts +15 -0
  124. package/dist/envelopes.d.ts.map +1 -0
  125. package/dist/envelopes.js +16 -0
  126. package/dist/envelopes.js.map +1 -0
  127. package/dist/environment-inputs.d.ts +306 -0
  128. package/dist/environment-inputs.d.ts.map +1 -0
  129. package/dist/environment-inputs.js +277 -0
  130. package/dist/environment-inputs.js.map +1 -0
  131. package/dist/erp-connector.d.ts +52 -0
  132. package/dist/erp-connector.d.ts.map +1 -0
  133. package/dist/erp-connector.js +34 -0
  134. package/dist/erp-connector.js.map +1 -0
  135. package/dist/errors.d.ts +455 -0
  136. package/dist/errors.d.ts.map +1 -0
  137. package/dist/errors.js +532 -0
  138. package/dist/errors.js.map +1 -0
  139. package/dist/google-analytics.d.ts +181 -0
  140. package/dist/google-analytics.d.ts.map +1 -0
  141. package/dist/google-analytics.js +176 -0
  142. package/dist/google-analytics.js.map +1 -0
  143. package/dist/google-tag-manager.d.ts +111 -0
  144. package/dist/google-tag-manager.d.ts.map +1 -0
  145. package/dist/google-tag-manager.js +129 -0
  146. package/dist/google-tag-manager.js.map +1 -0
  147. package/dist/i18n.d.ts +69 -0
  148. package/dist/i18n.d.ts.map +1 -0
  149. package/dist/i18n.js +59 -0
  150. package/dist/i18n.js.map +1 -0
  151. package/dist/import-export.d.ts +63 -0
  152. package/dist/import-export.d.ts.map +1 -0
  153. package/dist/import-export.js +37 -0
  154. package/dist/import-export.js.map +1 -0
  155. package/dist/index.d.ts +82 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +126 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/inventory.d.ts +673 -0
  160. package/dist/inventory.d.ts.map +1 -0
  161. package/dist/inventory.js +412 -0
  162. package/dist/inventory.js.map +1 -0
  163. package/dist/invoice-ledger.d.ts +366 -0
  164. package/dist/invoice-ledger.d.ts.map +1 -0
  165. package/dist/invoice-ledger.js +114 -0
  166. package/dist/invoice-ledger.js.map +1 -0
  167. package/dist/invoices.d.ts +845 -0
  168. package/dist/invoices.d.ts.map +1 -0
  169. package/dist/invoices.js +314 -0
  170. package/dist/invoices.js.map +1 -0
  171. package/dist/kernel.d.ts +49 -0
  172. package/dist/kernel.d.ts.map +1 -0
  173. package/dist/kernel.js +19 -0
  174. package/dist/kernel.js.map +1 -0
  175. package/dist/languages.d.ts +122 -0
  176. package/dist/languages.d.ts.map +1 -0
  177. package/dist/languages.js +24 -0
  178. package/dist/languages.js.map +1 -0
  179. package/dist/linkedin-ads.d.ts +167 -0
  180. package/dist/linkedin-ads.d.ts.map +1 -0
  181. package/dist/linkedin-ads.js +156 -0
  182. package/dist/linkedin-ads.js.map +1 -0
  183. package/dist/megamenu.d.ts +556 -0
  184. package/dist/megamenu.d.ts.map +1 -0
  185. package/dist/megamenu.js +186 -0
  186. package/dist/megamenu.js.map +1 -0
  187. package/dist/meta-ads.d.ts +126 -0
  188. package/dist/meta-ads.d.ts.map +1 -0
  189. package/dist/meta-ads.js +112 -0
  190. package/dist/meta-ads.js.map +1 -0
  191. package/dist/mfa.d.ts +274 -0
  192. package/dist/mfa.d.ts.map +1 -0
  193. package/dist/mfa.js +187 -0
  194. package/dist/mfa.js.map +1 -0
  195. package/dist/modules.d.ts +1706 -0
  196. package/dist/modules.d.ts.map +1 -0
  197. package/dist/modules.js +1390 -0
  198. package/dist/modules.js.map +1 -0
  199. package/dist/newsletter.d.ts +611 -0
  200. package/dist/newsletter.d.ts.map +1 -0
  201. package/dist/newsletter.js +345 -0
  202. package/dist/newsletter.js.map +1 -0
  203. package/dist/orders.d.ts +1175 -0
  204. package/dist/orders.d.ts.map +1 -0
  205. package/dist/orders.js +630 -0
  206. package/dist/orders.js.map +1 -0
  207. package/dist/organizations.d.ts +938 -0
  208. package/dist/organizations.d.ts.map +1 -0
  209. package/dist/organizations.js +418 -0
  210. package/dist/organizations.js.map +1 -0
  211. package/dist/pagination.d.ts +21 -0
  212. package/dist/pagination.d.ts.map +1 -0
  213. package/dist/pagination.js +22 -0
  214. package/dist/pagination.js.map +1 -0
  215. package/dist/payment-methods.d.ts +472 -0
  216. package/dist/payment-methods.d.ts.map +1 -0
  217. package/dist/payment-methods.js +175 -0
  218. package/dist/payment-methods.js.map +1 -0
  219. package/dist/payment-return-url.d.ts +53 -0
  220. package/dist/payment-return-url.d.ts.map +1 -0
  221. package/dist/payment-return-url.js +35 -0
  222. package/dist/payment-return-url.js.map +1 -0
  223. package/dist/payments.d.ts +386 -0
  224. package/dist/payments.d.ts.map +1 -0
  225. package/dist/payments.js +84 -0
  226. package/dist/payments.js.map +1 -0
  227. package/dist/pim-connector.d.ts +60 -0
  228. package/dist/pim-connector.d.ts.map +1 -0
  229. package/dist/pim-connector.js +43 -0
  230. package/dist/pim-connector.js.map +1 -0
  231. package/dist/pim-field-path.d.ts +6 -0
  232. package/dist/pim-field-path.d.ts.map +1 -0
  233. package/dist/pim-field-path.js +101 -0
  234. package/dist/pim-field-path.js.map +1 -0
  235. package/dist/platform-language.d.ts +20 -0
  236. package/dist/platform-language.d.ts.map +1 -0
  237. package/dist/platform-language.js +22 -0
  238. package/dist/platform-language.js.map +1 -0
  239. package/dist/price-lists.d.ts +685 -0
  240. package/dist/price-lists.d.ts.map +1 -0
  241. package/dist/price-lists.js +330 -0
  242. package/dist/price-lists.js.map +1 -0
  243. package/dist/product-feeds.d.ts +2837 -0
  244. package/dist/product-feeds.d.ts.map +1 -0
  245. package/dist/product-feeds.js +1504 -0
  246. package/dist/product-feeds.js.map +1 -0
  247. package/dist/product-scope-overrides.d.ts +134 -0
  248. package/dist/product-scope-overrides.d.ts.map +1 -0
  249. package/dist/product-scope-overrides.js +82 -0
  250. package/dist/product-scope-overrides.js.map +1 -0
  251. package/dist/product-value-resolver.d.ts +88 -0
  252. package/dist/product-value-resolver.d.ts.map +1 -0
  253. package/dist/product-value-resolver.js +128 -0
  254. package/dist/product-value-resolver.js.map +1 -0
  255. package/dist/promotions.d.ts +678 -0
  256. package/dist/promotions.d.ts.map +1 -0
  257. package/dist/promotions.js +479 -0
  258. package/dist/promotions.js.map +1 -0
  259. package/dist/prompt-actions.d.ts +582 -0
  260. package/dist/prompt-actions.d.ts.map +1 -0
  261. package/dist/prompt-actions.js +221 -0
  262. package/dist/prompt-actions.js.map +1 -0
  263. package/dist/pwa.d.ts +293 -0
  264. package/dist/pwa.d.ts.map +1 -0
  265. package/dist/pwa.js +204 -0
  266. package/dist/pwa.js.map +1 -0
  267. package/dist/quick-order.d.ts +340 -0
  268. package/dist/quick-order.d.ts.map +1 -0
  269. package/dist/quick-order.js +177 -0
  270. package/dist/quick-order.js.map +1 -0
  271. package/dist/quote-requests.d.ts +538 -0
  272. package/dist/quote-requests.d.ts.map +1 -0
  273. package/dist/quote-requests.js +308 -0
  274. package/dist/quote-requests.js.map +1 -0
  275. package/dist/returns.d.ts +774 -0
  276. package/dist/returns.d.ts.map +1 -0
  277. package/dist/returns.js +389 -0
  278. package/dist/returns.js.map +1 -0
  279. package/dist/sales-channels.d.ts +392 -0
  280. package/dist/sales-channels.d.ts.map +1 -0
  281. package/dist/sales-channels.js +285 -0
  282. package/dist/sales-channels.js.map +1 -0
  283. package/dist/scope-notice.d.ts +60 -0
  284. package/dist/scope-notice.d.ts.map +1 -0
  285. package/dist/scope-notice.js +56 -0
  286. package/dist/scope-notice.js.map +1 -0
  287. package/dist/search.d.ts +321 -0
  288. package/dist/search.d.ts.map +1 -0
  289. package/dist/search.js +160 -0
  290. package/dist/search.js.map +1 -0
  291. package/dist/seo.d.ts +113 -0
  292. package/dist/seo.d.ts.map +1 -0
  293. package/dist/seo.js +63 -0
  294. package/dist/seo.js.map +1 -0
  295. package/dist/settings.d.ts +453 -0
  296. package/dist/settings.d.ts.map +1 -0
  297. package/dist/settings.js +337 -0
  298. package/dist/settings.js.map +1 -0
  299. package/dist/shipments.d.ts +140 -0
  300. package/dist/shipments.d.ts.map +1 -0
  301. package/dist/shipments.js +14 -0
  302. package/dist/shipments.js.map +1 -0
  303. package/dist/shipping-methods.d.ts +350 -0
  304. package/dist/shipping-methods.d.ts.map +1 -0
  305. package/dist/shipping-methods.js +99 -0
  306. package/dist/shipping-methods.js.map +1 -0
  307. package/dist/shopping-lists.d.ts +122 -0
  308. package/dist/shopping-lists.d.ts.map +1 -0
  309. package/dist/shopping-lists.js +92 -0
  310. package/dist/shopping-lists.js.map +1 -0
  311. package/dist/taxes.d.ts +106 -0
  312. package/dist/taxes.d.ts.map +1 -0
  313. package/dist/taxes.js +80 -0
  314. package/dist/taxes.js.map +1 -0
  315. package/dist/text-normalization.d.ts +199 -0
  316. package/dist/text-normalization.d.ts.map +1 -0
  317. package/dist/text-normalization.js +205 -0
  318. package/dist/text-normalization.js.map +1 -0
  319. package/dist/transactional-emails.d.ts +459 -0
  320. package/dist/transactional-emails.d.ts.map +1 -0
  321. package/dist/transactional-emails.js +212 -0
  322. package/dist/transactional-emails.js.map +1 -0
  323. package/dist/webhooks.d.ts +69 -0
  324. package/dist/webhooks.d.ts.map +1 -0
  325. package/dist/webhooks.js +53 -0
  326. package/dist/webhooks.js.map +1 -0
  327. package/package.json +46 -0
@@ -0,0 +1,392 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Machine-friendly Sales Channel code. Lower-case, starts with a letter,
4
+ * may contain digits, hyphens, and underscores. Stored as `varchar(32)`
5
+ * (foundation 001).
6
+ */
7
+ export declare const SalesChannelCodeSchema: z.ZodString;
8
+ export type SalesChannelCode = z.infer<typeof SalesChannelCodeSchema>;
9
+ /** i18n display name keyed by language code, e.g. `{ en: 'Default' }`. */
10
+ export declare const SalesChannelNameSchema: z.ZodRecord<z.ZodString, z.ZodString>;
11
+ export type SalesChannelName = z.infer<typeof SalesChannelNameSchema>;
12
+ /** Short summary returned in list views. */
13
+ export declare const SalesChannelSummarySchema: z.ZodObject<{
14
+ id: z.ZodString;
15
+ code: z.ZodString;
16
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
17
+ active: z.ZodBoolean;
18
+ systemDefault: z.ZodBoolean;
19
+ defaultLanguage: z.ZodString;
20
+ defaultCurrency: z.ZodString;
21
+ themeCode: z.ZodNullable<z.ZodString>;
22
+ logoAssetId: z.ZodNullable<z.ZodString>;
23
+ version: z.ZodNumber;
24
+ createdAt: z.ZodString;
25
+ updatedAt: z.ZodString;
26
+ }, z.core.$strip>;
27
+ export type SalesChannelSummary = z.infer<typeof SalesChannelSummarySchema>;
28
+ /** Full detail returned by the admin GET-by-code endpoint. */
29
+ export declare const SalesChannelDetailSchema: z.ZodObject<{
30
+ id: z.ZodString;
31
+ code: z.ZodString;
32
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
33
+ active: z.ZodBoolean;
34
+ systemDefault: z.ZodBoolean;
35
+ defaultLanguage: z.ZodString;
36
+ defaultCurrency: z.ZodString;
37
+ themeCode: z.ZodNullable<z.ZodString>;
38
+ logoAssetId: z.ZodNullable<z.ZodString>;
39
+ version: z.ZodNumber;
40
+ createdAt: z.ZodString;
41
+ updatedAt: z.ZodString;
42
+ languages: z.ZodArray<z.ZodString>;
43
+ currencies: z.ZodArray<z.ZodString>;
44
+ logoUrl: z.ZodNullable<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ export type SalesChannelDetail = z.infer<typeof SalesChannelDetailSchema>;
47
+ /** `X-Sales-Channel: <code>` header schema. */
48
+ export declare const SalesChannelHeaderSchema: z.ZodObject<{
49
+ 'x-sales-channel': z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strip>;
51
+ /**
52
+ * `?salesChannel=<code>` query parameter schema. Used by storefront SSR
53
+ * paths and link-shareable previews; ignored on `/api/v1/admin/*` paths
54
+ * by the resolver middleware to prevent cross-channel admin bleed.
55
+ */
56
+ export declare const SalesChannelQuerySchema: z.ZodObject<{
57
+ salesChannel: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strip>;
59
+ /** Body shape for POST /api/v1/admin/sales-channels. */
60
+ export declare const SalesChannelCreateBodySchema: z.ZodObject<{
61
+ code: z.ZodString;
62
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
63
+ logoAssetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
64
+ themeCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
+ languages: z.ZodArray<z.ZodString>;
66
+ defaultLanguage: z.ZodString;
67
+ currencies: z.ZodArray<z.ZodString>;
68
+ defaultCurrency: z.ZodString;
69
+ active: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
70
+ }, z.core.$strip>;
71
+ export type SalesChannelCreateBody = z.infer<typeof SalesChannelCreateBodySchema>;
72
+ /**
73
+ * Body shape for PATCH /api/v1/admin/sales-channels/{code}. Every field optional.
74
+ *
75
+ * `code` is accepted only when it repeats the channel's current code: a channel's
76
+ * code is written once, at creation, and is immutable afterwards — on every
77
+ * channel, not only the system default. A code is an identity other systems hold
78
+ * onto (`SALES_CHANNEL_HOST_MAP`, cached storefront responses, integration
79
+ * configuration), so changing it renames something those systems cannot follow.
80
+ * A different value is refused with 422 `SALES_CHANNEL_CODE_IMMUTABLE`; the field
81
+ * stays in the shape so the refusal is explicit rather than a silently stripped
82
+ * property that answers 200 and changes nothing. A mistyped code is fixed by
83
+ * creating the channel again under the right code and deleting the old one —
84
+ * for the default channel, after moving the flag off it with `set-default`.
85
+ * The `name` stays freely editable.
86
+ */
87
+ export declare const SalesChannelUpdateBodySchema: z.ZodObject<{
88
+ code: z.ZodOptional<z.ZodString>;
89
+ name: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
90
+ logoAssetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ themeCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
+ defaultLanguage: z.ZodOptional<z.ZodString>;
94
+ currencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
+ defaultCurrency: z.ZodOptional<z.ZodString>;
96
+ active: z.ZodOptional<z.ZodBoolean>;
97
+ }, z.core.$strip>;
98
+ export type SalesChannelUpdateBody = z.infer<typeof SalesChannelUpdateBodySchema>;
99
+ /**
100
+ * Body shape for POST /api/v1/admin/sales-channels/{code}/set-default.
101
+ *
102
+ * The target is the path parameter, so the body carries nothing today. It is
103
+ * declared rather than omitted because the endpoint is a state transition, not a
104
+ * patch: an operator's client sends `{}` and any later option (a reason, a
105
+ * scheduled cut-over) lands here instead of on the query string.
106
+ */
107
+ export declare const SalesChannelSetDefaultBodySchema: z.ZodObject<{}, z.core.$strip>;
108
+ export type SalesChannelSetDefaultBody = z.infer<typeof SalesChannelSetDefaultBodySchema>;
109
+ /**
110
+ * Response shape for POST /api/v1/admin/sales-channels/{code}/set-default.
111
+ *
112
+ * `changed` is false when the target already held the flag — promoting the
113
+ * current default is a no-op success, not an error, so a double-click and a
114
+ * retried request both answer 200 with the same body. `previousDefaultCode` is
115
+ * the code that held the flag before the call, which on the no-op path is the
116
+ * target's own code; it names the channel a subsequent `set-default` would move
117
+ * the flag back to.
118
+ */
119
+ export declare const SalesChannelSetDefaultResponseSchema: z.ZodObject<{
120
+ channel: z.ZodObject<{
121
+ id: z.ZodString;
122
+ code: z.ZodString;
123
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
124
+ active: z.ZodBoolean;
125
+ systemDefault: z.ZodBoolean;
126
+ defaultLanguage: z.ZodString;
127
+ defaultCurrency: z.ZodString;
128
+ themeCode: z.ZodNullable<z.ZodString>;
129
+ logoAssetId: z.ZodNullable<z.ZodString>;
130
+ version: z.ZodNumber;
131
+ createdAt: z.ZodString;
132
+ updatedAt: z.ZodString;
133
+ languages: z.ZodArray<z.ZodString>;
134
+ currencies: z.ZodArray<z.ZodString>;
135
+ logoUrl: z.ZodNullable<z.ZodString>;
136
+ }, z.core.$strip>;
137
+ previousDefaultCode: z.ZodNullable<z.ZodString>;
138
+ changed: z.ZodBoolean;
139
+ }, z.core.$strip>;
140
+ export type SalesChannelSetDefaultResponse = z.infer<typeof SalesChannelSetDefaultResponseSchema>;
141
+ /** Response shape for GET /api/v1/admin/sales-channels (paginated list). */
142
+ export declare const SalesChannelListResponseSchema: z.ZodObject<{
143
+ items: z.ZodArray<z.ZodObject<{
144
+ id: z.ZodString;
145
+ code: z.ZodString;
146
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
147
+ active: z.ZodBoolean;
148
+ systemDefault: z.ZodBoolean;
149
+ defaultLanguage: z.ZodString;
150
+ defaultCurrency: z.ZodString;
151
+ themeCode: z.ZodNullable<z.ZodString>;
152
+ logoAssetId: z.ZodNullable<z.ZodString>;
153
+ version: z.ZodNumber;
154
+ createdAt: z.ZodString;
155
+ updatedAt: z.ZodString;
156
+ }, z.core.$strip>>;
157
+ page: z.ZodNumber;
158
+ pageSize: z.ZodNumber;
159
+ total: z.ZodNumber;
160
+ }, z.core.$strip>;
161
+ export type SalesChannelListResponse = z.infer<typeof SalesChannelListResponseSchema>;
162
+ /** Channel-scoped entity types tracked by the M:N membership service. */
163
+ export declare const ChannelMemberEntityTypeSchema: z.ZodEnum<{
164
+ customer: "customer";
165
+ category: "category";
166
+ product: "product";
167
+ organization: "organization";
168
+ "payment-method": "payment-method";
169
+ "delivery-method": "delivery-method";
170
+ tax: "tax";
171
+ promotion: "promotion";
172
+ "cms-page": "cms-page";
173
+ }>;
174
+ export type ChannelMemberEntityType = z.infer<typeof ChannelMemberEntityTypeSchema>;
175
+ /** `GET /api/v1/admin/sales-channels/{code}/{entityType}` — list members. */
176
+ export declare const ChannelMembershipListResponseSchema: z.ZodObject<{
177
+ channels: z.ZodArray<z.ZodObject<{
178
+ id: z.ZodString;
179
+ code: z.ZodString;
180
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
181
+ active: z.ZodBoolean;
182
+ systemDefault: z.ZodBoolean;
183
+ defaultLanguage: z.ZodString;
184
+ defaultCurrency: z.ZodString;
185
+ themeCode: z.ZodNullable<z.ZodString>;
186
+ logoAssetId: z.ZodNullable<z.ZodString>;
187
+ version: z.ZodNumber;
188
+ createdAt: z.ZodString;
189
+ updatedAt: z.ZodString;
190
+ }, z.core.$strip>>;
191
+ }, z.core.$strip>;
192
+ export type ChannelMembershipListResponse = z.infer<typeof ChannelMembershipListResponseSchema>;
193
+ /** `GET /api/v1/admin/{entityType}/{id}/sales-channels` — list channels of an entity. */
194
+ export declare const EntityMembershipListResponseSchema: z.ZodObject<{
195
+ entityType: z.ZodEnum<{
196
+ customer: "customer";
197
+ category: "category";
198
+ product: "product";
199
+ organization: "organization";
200
+ "payment-method": "payment-method";
201
+ "delivery-method": "delivery-method";
202
+ tax: "tax";
203
+ promotion: "promotion";
204
+ "cms-page": "cms-page";
205
+ }>;
206
+ entityId: z.ZodString;
207
+ channels: z.ZodArray<z.ZodObject<{
208
+ id: z.ZodString;
209
+ code: z.ZodString;
210
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
211
+ active: z.ZodBoolean;
212
+ systemDefault: z.ZodBoolean;
213
+ defaultLanguage: z.ZodString;
214
+ defaultCurrency: z.ZodString;
215
+ themeCode: z.ZodNullable<z.ZodString>;
216
+ logoAssetId: z.ZodNullable<z.ZodString>;
217
+ version: z.ZodNumber;
218
+ createdAt: z.ZodString;
219
+ updatedAt: z.ZodString;
220
+ }, z.core.$strip>>;
221
+ }, z.core.$strip>;
222
+ export type EntityMembershipListResponse = z.infer<typeof EntityMembershipListResponseSchema>;
223
+ /**
224
+ * `GET /api/v1/storefront/sales-channel` — what the storefront app fetches
225
+ * on first paint to know its theme / language / currency.
226
+ *
227
+ * Deliberately drops `id`, `active`, `systemDefault`, and `version`
228
+ * (admin-only fields).
229
+ */
230
+ export declare const PublicSalesChannelSchema: z.ZodObject<{
231
+ code: z.ZodString;
232
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
233
+ defaultLanguage: z.ZodString;
234
+ defaultCurrency: z.ZodString;
235
+ languages: z.ZodArray<z.ZodString>;
236
+ currencies: z.ZodArray<z.ZodString>;
237
+ themeCode: z.ZodNullable<z.ZodString>;
238
+ logoUrl: z.ZodNullable<z.ZodString>;
239
+ }, z.core.$strip>;
240
+ export type PublicSalesChannel = z.infer<typeof PublicSalesChannelSchema>;
241
+ /** Response envelope of `GET /api/v1/storefront/sales-channel`. */
242
+ export declare const PublicSalesChannelResponseSchema: z.ZodObject<{
243
+ data: z.ZodObject<{
244
+ code: z.ZodString;
245
+ name: z.ZodRecord<z.ZodString, z.ZodString>;
246
+ defaultLanguage: z.ZodString;
247
+ defaultCurrency: z.ZodString;
248
+ languages: z.ZodArray<z.ZodString>;
249
+ currencies: z.ZodArray<z.ZodString>;
250
+ themeCode: z.ZodNullable<z.ZodString>;
251
+ logoUrl: z.ZodNullable<z.ZodString>;
252
+ }, z.core.$strip>;
253
+ }, z.core.$strip>;
254
+ export type PublicSalesChannelResponse = z.infer<typeof PublicSalesChannelResponseSchema>;
255
+ /**
256
+ * **The platform no longer holds a list of storefront themes** — owner ruling
257
+ * D-199, implemented by `specs/102-storefront-theme-discovery/`.
258
+ *
259
+ * `STOREFRONT_THEME_CODES`, `StorefrontThemeCodeSchema`, `StorefrontThemeCode`,
260
+ * `DEFAULT_STOREFRONT_THEME_CODE` and `isStorefrontThemeCode` used to live here
261
+ * and are gone. A theme is a token set a **third party** may publish as an
262
+ * ordinary npm package, so no set this repository can compile is the whole set:
263
+ * the answer belongs to the storefront instance that has the packages
264
+ * installed, and it is generated in that instance's own tree
265
+ * (`storefront/lib/theme/`).
266
+ *
267
+ * The **write** schemas above are unchanged and must stay so. They have never
268
+ * used the enum: `themeCodeRe` is the whole validation, and a backend that
269
+ * refused a code it has never heard of would make the field unusable for
270
+ * exactly the deployments it exists for. `PublicSalesChannelSchema.themeCode`
271
+ * is likewise unchanged — the wire shape gains and loses nothing.
272
+ *
273
+ * What an unknown code does is the storefront's answer and is unchanged too:
274
+ * it renders the instance's default rather than blank, reports the code once
275
+ * per process, marks the document with `data-theme-requested`, never writes the
276
+ * value back and never guesses at a near match. See
277
+ * `specs/102-storefront-theme-discovery/contracts/theme-package.md` for what a
278
+ * theme author ships, and `contracts/instance-theme-registry.md` for how an
279
+ * instance discovers its own.
280
+ */
281
+ /**
282
+ * Action strings written by `SalesChannelsService` / `SalesChannelMembershipService`
283
+ * through the existing `AuditLogService.record({ action, ... })`. They are
284
+ * free-form strings (the audit log uses `action: string`, not an enum)
285
+ * but every consumer should use these constants so a typo can't drift.
286
+ */
287
+ export declare const SALES_CHANNEL_AUDIT_ACTIONS: {
288
+ readonly IDENTITY_CHANGED: "sales_channel.identity.changed";
289
+ readonly MEMBERSHIP_CHANGED: "sales_channel.membership.changed";
290
+ readonly LIFECYCLE_CHANGED: "sales_channel.lifecycle.changed";
291
+ };
292
+ export declare const SalesChannelAuditActionSchema: z.ZodEnum<{
293
+ "sales_channel.identity.changed": "sales_channel.identity.changed";
294
+ "sales_channel.membership.changed": "sales_channel.membership.changed";
295
+ "sales_channel.lifecycle.changed": "sales_channel.lifecycle.changed";
296
+ }>;
297
+ export type SalesChannelAuditAction = z.infer<typeof SalesChannelAuditActionSchema>;
298
+ export declare const SalesChannelLifecycleOpSchema: z.ZodEnum<{
299
+ deactivated: "deactivated";
300
+ activated: "activated";
301
+ deleted: "deleted";
302
+ "system-default-promoted": "system-default-promoted";
303
+ }>;
304
+ export type SalesChannelLifecycleOp = z.infer<typeof SalesChannelLifecycleOpSchema>;
305
+ export declare const SalesChannelMembershipOpSchema: z.ZodEnum<{
306
+ add: "add";
307
+ remove: "remove";
308
+ }>;
309
+ export type SalesChannelMembershipOp = z.infer<typeof SalesChannelMembershipOpSchema>;
310
+ /**
311
+ * One consumer's answer about one sales channel.
312
+ *
313
+ * The four descriptive fields are what the refusal message shows the operator,
314
+ * and `ownerModuleId` is what attributes a refused delete to a module.
315
+ */
316
+ export interface SalesChannelAttribution {
317
+ ownerModuleId: string;
318
+ /** Operator-facing name of the attributing record set, e.g. `orders`. */
319
+ consumer: string;
320
+ /** The consumer's own table holding the attribution. */
321
+ tableName: string;
322
+ /** The column holding the channel id. */
323
+ columnName: string;
324
+ count: number;
325
+ }
326
+ /**
327
+ * One contributed "who is attributed to this channel" counter.
328
+ *
329
+ * A module that records the sales channel a transaction happened on registers
330
+ * one of these per column it records it in, from its own `ctx.onBoot`. It
331
+ * queries its **own** tables and nothing else — which is the whole point:
332
+ * before this existed, `SalesChannelsService.delete` hand-wrote one statement
333
+ * naming `orders` and `quote_requests`, two other modules' tables, invisible to
334
+ * the import-level boundary check because raw SQL names no specifier (D-87).
335
+ *
336
+ * A read port would have been the wrong repair, and the manifests say why.
337
+ * `sales_channels` declares `activation.nonDeactivatable`, and the lifecycle
338
+ * refuses to disable a module a non-deactivatable one depends on — so a
339
+ * `dependencies` entry onto `quote_requests`, which is switchable, would have
340
+ * taken the operator's RFQ switch away in order to count rows before a channel
341
+ * delete. It is also the direction MR !771 found was the defect: an edge from
342
+ * the thing being pointed at towards the things pointing at it.
343
+ *
344
+ * `ownerModuleId` is required and is the whole mechanism (D-39): without it the
345
+ * registry could not state a policy for an absent owner at all.
346
+ */
347
+ export interface SalesChannelAttributionDescriptor {
348
+ ownerModuleId: string;
349
+ consumer: string;
350
+ tableName: string;
351
+ columnName: string;
352
+ /**
353
+ * How many of this consumer's rows are attributed to `salesChannelId`. Asked
354
+ * immediately before a delete, so it must be a point query the consumer's own
355
+ * indexes can serve.
356
+ */
357
+ countForChannel(salesChannelId: string): Promise<number>;
358
+ }
359
+ /**
360
+ * Container name: `salesChannelAttributionRegistry`. Owner: `sales_channels`.
361
+ *
362
+ * A **contribution seam**: contributors push from a boot hook and read nothing
363
+ * back, so the registration is a plain `ctx.di.register` rather than a
364
+ * `providePort` — a boot hook that resolved a gate would stop the backend from
365
+ * starting whenever the registry's owner was switched off. The owner is
366
+ * `nonDeactivatable` today, which is why no reader here degrades.
367
+ *
368
+ * **Enumeration policy: honoured while the contributing module is absent.**
369
+ * D-39's default is to skip, and honouring needs a written reason: this is
370
+ * referential integrity, not a surface — the same ground
371
+ * `DictionaryReferenceRegistryPort` states for the same shape. If
372
+ * `quote_requests` is switched off its requests still exist and are still
373
+ * attributed to a channel; skipping its descriptor would let an operator delete
374
+ * the channel underneath them and get the dangling attribution back the moment
375
+ * the module is switched on again — data loss caused by an action Constitution
376
+ * XVII promises is non-destructive and reversible. Nobody sees a descriptor;
377
+ * they exist to refuse a delete.
378
+ *
379
+ * Honouring is also the only policy the database agrees with:
380
+ * `quote_requests_sales_channel_fk` is `on delete restrict`, so a skipped
381
+ * descriptor does not make the delete succeed — it turns a 422 naming the
382
+ * module into a raw constraint violation. `orders.sales_channel_id` carries no
383
+ * foreign key at all, so there a skip would orphan the rows outright.
384
+ */
385
+ export interface SalesChannelAttributionRegistryPort {
386
+ register(descriptor: SalesChannelAttributionDescriptor): void;
387
+ /** The contributing module of every registered descriptor, in registration order. */
388
+ owners(): readonly string[];
389
+ /** Every attribution pointing at one channel, across all descriptors. Zero counts dropped. */
390
+ countForChannel(salesChannelId: string): Promise<SalesChannelAttribution[]>;
391
+ }
392
+ //# sourceMappingURL=sales-channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sales-channels.d.ts","sourceRoot":"","sources":["../src/sales-channels.ts"],"names":[],"mappings":"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"}