@withpotter/lib 0.13.0-next.101

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 (1341) hide show
  1. package/dist/__fixtures__/demo-content-server.json +484 -0
  2. package/dist/accessibility-context.d.ts +27 -0
  3. package/dist/accessibility-context.js +107 -0
  4. package/dist/accessibility-context.js.map +1 -0
  5. package/dist/active-workspace.d.ts +45 -0
  6. package/dist/active-workspace.js +34 -0
  7. package/dist/active-workspace.js.map +1 -0
  8. package/dist/admin-account-officer-api.d.ts +13 -0
  9. package/dist/admin-account-officer-api.js +12 -0
  10. package/dist/admin-account-officer-api.js.map +1 -0
  11. package/dist/admin-account-types.d.ts +122 -0
  12. package/dist/admin-account-types.js +1 -0
  13. package/dist/admin-account-types.js.map +1 -0
  14. package/dist/admin-adoption-api.d.ts +35 -0
  15. package/dist/admin-adoption-api.js +16 -0
  16. package/dist/admin-adoption-api.js.map +1 -0
  17. package/dist/admin-api.d.ts +1219 -0
  18. package/dist/admin-api.js +325 -0
  19. package/dist/admin-api.js.map +1 -0
  20. package/dist/admin-case-api.d.ts +32 -0
  21. package/dist/admin-case-api.js +63 -0
  22. package/dist/admin-case-api.js.map +1 -0
  23. package/dist/admin-case-types.d.ts +166 -0
  24. package/dist/admin-case-types.js +1 -0
  25. package/dist/admin-case-types.js.map +1 -0
  26. package/dist/admin-compliance-api.d.ts +31 -0
  27. package/dist/admin-compliance-api.js +20 -0
  28. package/dist/admin-compliance-api.js.map +1 -0
  29. package/dist/admin-country-api.d.ts +28 -0
  30. package/dist/admin-country-api.js +9 -0
  31. package/dist/admin-country-api.js.map +1 -0
  32. package/dist/admin-currency-types.d.ts +138 -0
  33. package/dist/admin-currency-types.js +1 -0
  34. package/dist/admin-currency-types.js.map +1 -0
  35. package/dist/admin-feedback-api.d.ts +215 -0
  36. package/dist/admin-feedback-api.js +63 -0
  37. package/dist/admin-feedback-api.js.map +1 -0
  38. package/dist/admin-inbox-seen.d.ts +22 -0
  39. package/dist/admin-inbox-seen.js +47 -0
  40. package/dist/admin-inbox-seen.js.map +1 -0
  41. package/dist/admin-ledger-api.d.ts +85 -0
  42. package/dist/admin-ledger-api.js +30 -0
  43. package/dist/admin-ledger-api.js.map +1 -0
  44. package/dist/admin-money-api.d.ts +127 -0
  45. package/dist/admin-money-api.js +125 -0
  46. package/dist/admin-money-api.js.map +1 -0
  47. package/dist/admin-newsletter-contacts-api.d.ts +70 -0
  48. package/dist/admin-newsletter-contacts-api.js +20 -0
  49. package/dist/admin-newsletter-contacts-api.js.map +1 -0
  50. package/dist/admin-newsletter-deliveries-api.d.ts +47 -0
  51. package/dist/admin-newsletter-deliveries-api.js +16 -0
  52. package/dist/admin-newsletter-deliveries-api.js.map +1 -0
  53. package/dist/admin-newsletters-api.d.ts +118 -0
  54. package/dist/admin-newsletters-api.js +47 -0
  55. package/dist/admin-newsletters-api.js.map +1 -0
  56. package/dist/admin-pos-api.d.ts +16 -0
  57. package/dist/admin-pos-api.js +35 -0
  58. package/dist/admin-pos-api.js.map +1 -0
  59. package/dist/admin-pos-query.d.ts +43 -0
  60. package/dist/admin-pos-query.js +55 -0
  61. package/dist/admin-pos-query.js.map +1 -0
  62. package/dist/admin-pos-types.d.ts +122 -0
  63. package/dist/admin-pos-types.js +1 -0
  64. package/dist/admin-pos-types.js.map +1 -0
  65. package/dist/admin-pricing-api.d.ts +88 -0
  66. package/dist/admin-pricing-api.js +66 -0
  67. package/dist/admin-pricing-api.js.map +1 -0
  68. package/dist/admin-readiness-api.d.ts +25 -0
  69. package/dist/admin-readiness-api.js +39 -0
  70. package/dist/admin-readiness-api.js.map +1 -0
  71. package/dist/admin-sales-api.d.ts +124 -0
  72. package/dist/admin-sales-api.js +41 -0
  73. package/dist/admin-sales-api.js.map +1 -0
  74. package/dist/admin-saved-replies-api.d.ts +35 -0
  75. package/dist/admin-saved-replies-api.js +70 -0
  76. package/dist/admin-saved-replies-api.js.map +1 -0
  77. package/dist/admin-service-operations-api.d.ts +142 -0
  78. package/dist/admin-service-operations-api.js +52 -0
  79. package/dist/admin-service-operations-api.js.map +1 -0
  80. package/dist/admin-signatures-api.d.ts +57 -0
  81. package/dist/admin-signatures-api.js +15 -0
  82. package/dist/admin-signatures-api.js.map +1 -0
  83. package/dist/admin-support-analytics-api.d.ts +36 -0
  84. package/dist/admin-support-analytics-api.js +71 -0
  85. package/dist/admin-support-analytics-api.js.map +1 -0
  86. package/dist/admin-tenant-setup-types.d.ts +85 -0
  87. package/dist/admin-tenant-setup-types.js +1 -0
  88. package/dist/admin-tenant-setup-types.js.map +1 -0
  89. package/dist/admin-tenants-query.d.ts +14 -0
  90. package/dist/admin-tenants-query.js +17 -0
  91. package/dist/admin-tenants-query.js.map +1 -0
  92. package/dist/analytics/PostHogProvider.d.ts +25 -0
  93. package/dist/analytics/PostHogProvider.js +44 -0
  94. package/dist/analytics/PostHogProvider.js.map +1 -0
  95. package/dist/analytics/index.d.ts +1 -0
  96. package/dist/analytics/index.js +11 -0
  97. package/dist/analytics/index.js.map +1 -0
  98. package/dist/analytics.d.ts +1 -0
  99. package/dist/analytics.js +1 -0
  100. package/dist/api/abandoned-cart.d.ts +18 -0
  101. package/dist/api/abandoned-cart.js +68 -0
  102. package/dist/api/abandoned-cart.js.map +1 -0
  103. package/dist/api/accounts.d.ts +176 -0
  104. package/dist/api/accounts.js +194 -0
  105. package/dist/api/accounts.js.map +1 -0
  106. package/dist/api/analytics-patterns.d.ts +18 -0
  107. package/dist/api/analytics-patterns.js +52 -0
  108. package/dist/api/analytics-patterns.js.map +1 -0
  109. package/dist/api/analytics.d.ts +143 -0
  110. package/dist/api/analytics.js +379 -0
  111. package/dist/api/analytics.js.map +1 -0
  112. package/dist/api/assignee-prefs.d.ts +7 -0
  113. package/dist/api/assignee-prefs.js +17 -0
  114. package/dist/api/assignee-prefs.js.map +1 -0
  115. package/dist/api/automations.d.ts +73 -0
  116. package/dist/api/automations.js +102 -0
  117. package/dist/api/automations.js.map +1 -0
  118. package/dist/api/behaviors.d.ts +15 -0
  119. package/dist/api/behaviors.js +15 -0
  120. package/dist/api/behaviors.js.map +1 -0
  121. package/dist/api/bio.d.ts +7 -0
  122. package/dist/api/bio.js +17 -0
  123. package/dist/api/bio.js.map +1 -0
  124. package/dist/api/booking-calendar.d.ts +14 -0
  125. package/dist/api/booking-calendar.js +33 -0
  126. package/dist/api/booking-calendar.js.map +1 -0
  127. package/dist/api/bookings.d.ts +199 -0
  128. package/dist/api/bookings.js +284 -0
  129. package/dist/api/bookings.js.map +1 -0
  130. package/dist/api/business-devices.d.ts +108 -0
  131. package/dist/api/business-devices.js +139 -0
  132. package/dist/api/business-devices.js.map +1 -0
  133. package/dist/api/business-locations.d.ts +26 -0
  134. package/dist/api/business-locations.js +39 -0
  135. package/dist/api/business-locations.js.map +1 -0
  136. package/dist/api/cache-bus.d.ts +56 -0
  137. package/dist/api/cache-bus.js +18 -0
  138. package/dist/api/cache-bus.js.map +1 -0
  139. package/dist/api/calendar-sync.d.ts +49 -0
  140. package/dist/api/calendar-sync.js +50 -0
  141. package/dist/api/calendar-sync.js.map +1 -0
  142. package/dist/api/campaign-initiatives.d.ts +115 -0
  143. package/dist/api/campaign-initiatives.js +42 -0
  144. package/dist/api/campaign-initiatives.js.map +1 -0
  145. package/dist/api/campaigns.d.ts +89 -0
  146. package/dist/api/campaigns.js +100 -0
  147. package/dist/api/campaigns.js.map +1 -0
  148. package/dist/api/capabilities.d.ts +12 -0
  149. package/dist/api/capabilities.js +16 -0
  150. package/dist/api/capabilities.js.map +1 -0
  151. package/dist/api/commerce.d.ts +19 -0
  152. package/dist/api/commerce.js +31 -0
  153. package/dist/api/commerce.js.map +1 -0
  154. package/dist/api/communications.d.ts +166 -0
  155. package/dist/api/communications.js +141 -0
  156. package/dist/api/communications.js.map +1 -0
  157. package/dist/api/connect.d.ts +72 -0
  158. package/dist/api/connect.js +50 -0
  159. package/dist/api/connect.js.map +1 -0
  160. package/dist/api/content.d.ts +146 -0
  161. package/dist/api/content.js +187 -0
  162. package/dist/api/content.js.map +1 -0
  163. package/dist/api/conversations.d.ts +79 -0
  164. package/dist/api/conversations.js +41 -0
  165. package/dist/api/conversations.js.map +1 -0
  166. package/dist/api/core.d.ts +62 -0
  167. package/dist/api/core.js +223 -0
  168. package/dist/api/core.js.map +1 -0
  169. package/dist/api/credentials.d.ts +65 -0
  170. package/dist/api/credentials.js +48 -0
  171. package/dist/api/credentials.js.map +1 -0
  172. package/dist/api/credits.d.ts +96 -0
  173. package/dist/api/credits.js +24 -0
  174. package/dist/api/credits.js.map +1 -0
  175. package/dist/api/crm-analytics.d.ts +10 -0
  176. package/dist/api/crm-analytics.js +22 -0
  177. package/dist/api/crm-analytics.js.map +1 -0
  178. package/dist/api/crm-segments.d.ts +14 -0
  179. package/dist/api/crm-segments.js +42 -0
  180. package/dist/api/crm-segments.js.map +1 -0
  181. package/dist/api/deliveries.d.ts +99 -0
  182. package/dist/api/deliveries.js +37 -0
  183. package/dist/api/deliveries.js.map +1 -0
  184. package/dist/api/demo-content.d.ts +104 -0
  185. package/dist/api/demo-content.js +36 -0
  186. package/dist/api/demo-content.js.map +1 -0
  187. package/dist/api/device-shifts.d.ts +56 -0
  188. package/dist/api/device-shifts.js +50 -0
  189. package/dist/api/device-shifts.js.map +1 -0
  190. package/dist/api/devices.d.ts +6 -0
  191. package/dist/api/devices.js +10 -0
  192. package/dist/api/devices.js.map +1 -0
  193. package/dist/api/digital-files.d.ts +22 -0
  194. package/dist/api/digital-files.js +55 -0
  195. package/dist/api/digital-files.js.map +1 -0
  196. package/dist/api/discounts.d.ts +29 -0
  197. package/dist/api/discounts.js +46 -0
  198. package/dist/api/discounts.js.map +1 -0
  199. package/dist/api/disputes.d.ts +47 -0
  200. package/dist/api/disputes.js +42 -0
  201. package/dist/api/disputes.js.map +1 -0
  202. package/dist/api/feature-locked.d.ts +11 -0
  203. package/dist/api/feature-locked.js +18 -0
  204. package/dist/api/feature-locked.js.map +1 -0
  205. package/dist/api/feedback-prompts.d.ts +45 -0
  206. package/dist/api/feedback-prompts.js +85 -0
  207. package/dist/api/feedback-prompts.js.map +1 -0
  208. package/dist/api/feedback.d.ts +254 -0
  209. package/dist/api/feedback.js +108 -0
  210. package/dist/api/feedback.js.map +1 -0
  211. package/dist/api/finance.d.ts +199 -0
  212. package/dist/api/finance.js +203 -0
  213. package/dist/api/finance.js.map +1 -0
  214. package/dist/api/gallery.d.ts +30 -0
  215. package/dist/api/gallery.js +48 -0
  216. package/dist/api/gallery.js.map +1 -0
  217. package/dist/api/geo.d.ts +18 -0
  218. package/dist/api/geo.js +19 -0
  219. package/dist/api/geo.js.map +1 -0
  220. package/dist/api/giftcards.d.ts +63 -0
  221. package/dist/api/giftcards.js +63 -0
  222. package/dist/api/giftcards.js.map +1 -0
  223. package/dist/api/hardware-orders.d.ts +40 -0
  224. package/dist/api/hardware-orders.js +37 -0
  225. package/dist/api/hardware-orders.js.map +1 -0
  226. package/dist/api/index.d.ts +71 -0
  227. package/dist/api/index.js +78 -0
  228. package/dist/api/index.js.map +1 -0
  229. package/dist/api/inquiries.d.ts +92 -0
  230. package/dist/api/inquiries.js +129 -0
  231. package/dist/api/inquiries.js.map +1 -0
  232. package/dist/api/inventory.d.ts +133 -0
  233. package/dist/api/inventory.js +203 -0
  234. package/dist/api/inventory.js.map +1 -0
  235. package/dist/api/invite-body.d.ts +19 -0
  236. package/dist/api/invite-body.js +8 -0
  237. package/dist/api/invite-body.js.map +1 -0
  238. package/dist/api/invoices.d.ts +19 -0
  239. package/dist/api/invoices.js +80 -0
  240. package/dist/api/invoices.js.map +1 -0
  241. package/dist/api/locations.d.ts +15 -0
  242. package/dist/api/locations.js +30 -0
  243. package/dist/api/locations.js.map +1 -0
  244. package/dist/api/loyalty.d.ts +68 -0
  245. package/dist/api/loyalty.js +112 -0
  246. package/dist/api/loyalty.js.map +1 -0
  247. package/dist/api/marketing-consent.d.ts +36 -0
  248. package/dist/api/marketing-consent.js +11 -0
  249. package/dist/api/marketing-consent.js.map +1 -0
  250. package/dist/api/marketing-suppressions.d.ts +81 -0
  251. package/dist/api/marketing-suppressions.js +65 -0
  252. package/dist/api/marketing-suppressions.js.map +1 -0
  253. package/dist/api/members.d.ts +79 -0
  254. package/dist/api/members.js +148 -0
  255. package/dist/api/members.js.map +1 -0
  256. package/dist/api/merchant-notifications.d.ts +27 -0
  257. package/dist/api/merchant-notifications.js +41 -0
  258. package/dist/api/merchant-notifications.js.map +1 -0
  259. package/dist/api/merchant-referrals.d.ts +23 -0
  260. package/dist/api/merchant-referrals.js +10 -0
  261. package/dist/api/merchant-referrals.js.map +1 -0
  262. package/dist/api/merchant-subscriptions.d.ts +117 -0
  263. package/dist/api/merchant-subscriptions.js +113 -0
  264. package/dist/api/merchant-subscriptions.js.map +1 -0
  265. package/dist/api/misc.d.ts +4 -0
  266. package/dist/api/misc.js +24 -0
  267. package/dist/api/misc.js.map +1 -0
  268. package/dist/api/odoo.d.ts +102 -0
  269. package/dist/api/odoo.js +36 -0
  270. package/dist/api/odoo.js.map +1 -0
  271. package/dist/api/onboarding.d.ts +48 -0
  272. package/dist/api/onboarding.js +78 -0
  273. package/dist/api/onboarding.js.map +1 -0
  274. package/dist/api/orders.d.ts +153 -0
  275. package/dist/api/orders.js +303 -0
  276. package/dist/api/orders.js.map +1 -0
  277. package/dist/api/organizations.d.ts +14 -0
  278. package/dist/api/organizations.js +19 -0
  279. package/dist/api/organizations.js.map +1 -0
  280. package/dist/api/packages.d.ts +16 -0
  281. package/dist/api/packages.js +25 -0
  282. package/dist/api/packages.js.map +1 -0
  283. package/dist/api/pages.d.ts +79 -0
  284. package/dist/api/pages.js +125 -0
  285. package/dist/api/pages.js.map +1 -0
  286. package/dist/api/payables.d.ts +34 -0
  287. package/dist/api/payables.js +70 -0
  288. package/dist/api/payables.js.map +1 -0
  289. package/dist/api/plan-refusal.d.ts +21 -0
  290. package/dist/api/plan-refusal.js +28 -0
  291. package/dist/api/plan-refusal.js.map +1 -0
  292. package/dist/api/pos.d.ts +66 -0
  293. package/dist/api/pos.js +115 -0
  294. package/dist/api/pos.js.map +1 -0
  295. package/dist/api/potter.d.ts +114 -0
  296. package/dist/api/potter.js +88 -0
  297. package/dist/api/potter.js.map +1 -0
  298. package/dist/api/push.d.ts +25 -0
  299. package/dist/api/push.js +23 -0
  300. package/dist/api/push.js.map +1 -0
  301. package/dist/api/referrals.d.ts +10 -0
  302. package/dist/api/referrals.js +16 -0
  303. package/dist/api/referrals.js.map +1 -0
  304. package/dist/api/resource-categories.d.ts +35 -0
  305. package/dist/api/resource-categories.js +76 -0
  306. package/dist/api/resource-categories.js.map +1 -0
  307. package/dist/api/resources.d.ts +54 -0
  308. package/dist/api/resources.js +92 -0
  309. package/dist/api/resources.js.map +1 -0
  310. package/dist/api/reviews.d.ts +18 -0
  311. package/dist/api/reviews.js +46 -0
  312. package/dist/api/reviews.js.map +1 -0
  313. package/dist/api/riders.d.ts +70 -0
  314. package/dist/api/riders.js +24 -0
  315. package/dist/api/riders.js.map +1 -0
  316. package/dist/api/role-permissions.d.ts +25 -0
  317. package/dist/api/role-permissions.js +47 -0
  318. package/dist/api/role-permissions.js.map +1 -0
  319. package/dist/api/sales-channels.d.ts +234 -0
  320. package/dist/api/sales-channels.js +119 -0
  321. package/dist/api/sales-channels.js.map +1 -0
  322. package/dist/api/service-missing.d.ts +10 -0
  323. package/dist/api/service-missing.js +19 -0
  324. package/dist/api/service-missing.js.map +1 -0
  325. package/dist/api/session-refresh.d.ts +18 -0
  326. package/dist/api/session-refresh.js +37 -0
  327. package/dist/api/session-refresh.js.map +1 -0
  328. package/dist/api/session-scope.d.ts +35 -0
  329. package/dist/api/session-scope.js +53 -0
  330. package/dist/api/session-scope.js.map +1 -0
  331. package/dist/api/settlements.d.ts +106 -0
  332. package/dist/api/settlements.js +114 -0
  333. package/dist/api/settlements.js.map +1 -0
  334. package/dist/api/share-links.d.ts +46 -0
  335. package/dist/api/share-links.js +25 -0
  336. package/dist/api/share-links.js.map +1 -0
  337. package/dist/api/shift-notes.d.ts +19 -0
  338. package/dist/api/shift-notes.js +13 -0
  339. package/dist/api/shift-notes.js.map +1 -0
  340. package/dist/api/shipping.d.ts +42 -0
  341. package/dist/api/shipping.js +53 -0
  342. package/dist/api/shipping.js.map +1 -0
  343. package/dist/api/social-sources.d.ts +58 -0
  344. package/dist/api/social-sources.js +23 -0
  345. package/dist/api/social-sources.js.map +1 -0
  346. package/dist/api/tabs.d.ts +14 -0
  347. package/dist/api/tabs.js +39 -0
  348. package/dist/api/tabs.js.map +1 -0
  349. package/dist/api/team.d.ts +112 -0
  350. package/dist/api/team.js +144 -0
  351. package/dist/api/team.js.map +1 -0
  352. package/dist/api/template-settings.d.ts +26 -0
  353. package/dist/api/template-settings.js +36 -0
  354. package/dist/api/template-settings.js.map +1 -0
  355. package/dist/api/templates.d.ts +21 -0
  356. package/dist/api/templates.js +25 -0
  357. package/dist/api/templates.js.map +1 -0
  358. package/dist/api/tenant-slug.d.ts +13 -0
  359. package/dist/api/tenant-slug.js +18 -0
  360. package/dist/api/tenant-slug.js.map +1 -0
  361. package/dist/api/tenant.d.ts +33 -0
  362. package/dist/api/tenant.js +51 -0
  363. package/dist/api/tenant.js.map +1 -0
  364. package/dist/api/types/analytics-attribution.d.ts +43 -0
  365. package/dist/api/types/analytics-attribution.js +1 -0
  366. package/dist/api/types/analytics-attribution.js.map +1 -0
  367. package/dist/api/types/analytics.d.ts +465 -0
  368. package/dist/api/types/analytics.js +1 -0
  369. package/dist/api/types/analytics.js.map +1 -0
  370. package/dist/api/types/auth.d.ts +206 -0
  371. package/dist/api/types/auth.js +7 -0
  372. package/dist/api/types/auth.js.map +1 -0
  373. package/dist/api/types/automation-flow.d.ts +199 -0
  374. package/dist/api/types/automation-flow.js +1 -0
  375. package/dist/api/types/automation-flow.js.map +1 -0
  376. package/dist/api/types/bookings.d.ts +226 -0
  377. package/dist/api/types/bookings.js +1 -0
  378. package/dist/api/types/bookings.js.map +1 -0
  379. package/dist/api/types/campaigns.d.ts +262 -0
  380. package/dist/api/types/campaigns.js +1 -0
  381. package/dist/api/types/campaigns.js.map +1 -0
  382. package/dist/api/types/catalog.d.ts +273 -0
  383. package/dist/api/types/catalog.js +1 -0
  384. package/dist/api/types/catalog.js.map +1 -0
  385. package/dist/api/types/collections.d.ts +189 -0
  386. package/dist/api/types/collections.js +1 -0
  387. package/dist/api/types/collections.js.map +1 -0
  388. package/dist/api/types/crm.d.ts +264 -0
  389. package/dist/api/types/crm.js +1 -0
  390. package/dist/api/types/crm.js.map +1 -0
  391. package/dist/api/types/customers.d.ts +269 -0
  392. package/dist/api/types/customers.js +1 -0
  393. package/dist/api/types/customers.js.map +1 -0
  394. package/dist/api/types/devices.d.ts +390 -0
  395. package/dist/api/types/devices.js +1 -0
  396. package/dist/api/types/devices.js.map +1 -0
  397. package/dist/api/types/discounts.d.ts +237 -0
  398. package/dist/api/types/discounts.js +1 -0
  399. package/dist/api/types/discounts.js.map +1 -0
  400. package/dist/api/types/filters.d.ts +258 -0
  401. package/dist/api/types/filters.js +1 -0
  402. package/dist/api/types/filters.js.map +1 -0
  403. package/dist/api/types/index.d.ts +31 -0
  404. package/dist/api/types/index.js +25 -0
  405. package/dist/api/types/index.js.map +1 -0
  406. package/dist/api/types/inquiries.d.ts +266 -0
  407. package/dist/api/types/inquiries.js +1 -0
  408. package/dist/api/types/inquiries.js.map +1 -0
  409. package/dist/api/types/locations.d.ts +208 -0
  410. package/dist/api/types/locations.js +1 -0
  411. package/dist/api/types/locations.js.map +1 -0
  412. package/dist/api/types/onboarding.d.ts +311 -0
  413. package/dist/api/types/onboarding.js +1 -0
  414. package/dist/api/types/onboarding.js.map +1 -0
  415. package/dist/api/types/operations.d.ts +136 -0
  416. package/dist/api/types/operations.js +1 -0
  417. package/dist/api/types/operations.js.map +1 -0
  418. package/dist/api/types/orders.d.ts +242 -0
  419. package/dist/api/types/orders.js +1 -0
  420. package/dist/api/types/orders.js.map +1 -0
  421. package/dist/api/types/payables.d.ts +140 -0
  422. package/dist/api/types/payables.js +1 -0
  423. package/dist/api/types/payables.js.map +1 -0
  424. package/dist/api/types/pos.d.ts +121 -0
  425. package/dist/api/types/pos.js +5 -0
  426. package/dist/api/types/pos.js.map +1 -0
  427. package/dist/api/types/record-analytics.d.ts +95 -0
  428. package/dist/api/types/record-analytics.js +1 -0
  429. package/dist/api/types/record-analytics.js.map +1 -0
  430. package/dist/api/types/sales-patterns.d.ts +58 -0
  431. package/dist/api/types/sales-patterns.js +1 -0
  432. package/dist/api/types/sales-patterns.js.map +1 -0
  433. package/dist/api/types/tabs.d.ts +210 -0
  434. package/dist/api/types/tabs.js +1 -0
  435. package/dist/api/types/tabs.js.map +1 -0
  436. package/dist/api/types/templates.d.ts +398 -0
  437. package/dist/api/types/templates.js +1 -0
  438. package/dist/api/types/templates.js.map +1 -0
  439. package/dist/api/types/waitlist.d.ts +324 -0
  440. package/dist/api/types/waitlist.js +1 -0
  441. package/dist/api/types/waitlist.js.map +1 -0
  442. package/dist/api/types.d.ts +1 -0
  443. package/dist/api/types.js +1 -0
  444. package/dist/api/unserved-routes.d.ts +4 -0
  445. package/dist/api/unserved-routes.js +15 -0
  446. package/dist/api/unserved-routes.js.map +1 -0
  447. package/dist/api/waitlist.d.ts +80 -0
  448. package/dist/api/waitlist.js +85 -0
  449. package/dist/api/waitlist.js.map +1 -0
  450. package/dist/api.d.ts +1 -0
  451. package/dist/api.js +1 -0
  452. package/dist/app-name.d.ts +29 -0
  453. package/dist/app-name.js +11 -0
  454. package/dist/app-name.js.map +1 -0
  455. package/dist/arrival.d.ts +48 -0
  456. package/dist/arrival.js +34 -0
  457. package/dist/arrival.js.map +1 -0
  458. package/dist/auth-context.d.ts +90 -0
  459. package/dist/auth-context.js +732 -0
  460. package/dist/auth-context.js.map +1 -0
  461. package/dist/auth-session.d.ts +1 -0
  462. package/dist/auth-session.js +25 -0
  463. package/dist/auth-session.js.map +1 -0
  464. package/dist/bank-phone.d.ts +2 -0
  465. package/dist/bank-phone.js +12 -0
  466. package/dist/bank-phone.js.map +1 -0
  467. package/dist/behavior-config-types.d.ts +49 -0
  468. package/dist/behavior-config-types.js +1 -0
  469. package/dist/behavior-config-types.js.map +1 -0
  470. package/dist/behavior-context.d.ts +15 -0
  471. package/dist/behavior-context.js +38 -0
  472. package/dist/behavior-context.js.map +1 -0
  473. package/dist/behavior-fields.d.ts +41 -0
  474. package/dist/behavior-fields.js +20 -0
  475. package/dist/behavior-fields.js.map +1 -0
  476. package/dist/blog/__fixtures__/paste-hygiene.d.ts +7 -0
  477. package/dist/blog/__fixtures__/paste-hygiene.js +36 -0
  478. package/dist/blog/__fixtures__/paste-hygiene.js.map +1 -0
  479. package/dist/blog/density.d.ts +65 -0
  480. package/dist/blog/density.js +126 -0
  481. package/dist/blog/density.js.map +1 -0
  482. package/dist/blog/paste-hygiene.d.ts +3 -0
  483. package/dist/blog/paste-hygiene.js +168 -0
  484. package/dist/blog/paste-hygiene.js.map +1 -0
  485. package/dist/booking-location-label.d.ts +10 -0
  486. package/dist/booking-location-label.js +24 -0
  487. package/dist/booking-location-label.js.map +1 -0
  488. package/dist/booking-meeting-link.d.ts +48 -0
  489. package/dist/booking-meeting-link.js +40 -0
  490. package/dist/booking-meeting-link.js.map +1 -0
  491. package/dist/box-channels.d.ts +22 -0
  492. package/dist/box-channels.js +16 -0
  493. package/dist/box-channels.js.map +1 -0
  494. package/dist/box-delivery.d.ts +10 -0
  495. package/dist/box-delivery.js +5 -0
  496. package/dist/box-delivery.js.map +1 -0
  497. package/dist/box-inbox.d.ts +11 -0
  498. package/dist/box-inbox.js +5 -0
  499. package/dist/box-inbox.js.map +1 -0
  500. package/dist/box-letting.d.ts +14 -0
  501. package/dist/box-letting.js +7 -0
  502. package/dist/box-letting.js.map +1 -0
  503. package/dist/box-mark-paths.d.ts +28 -0
  504. package/dist/box-mark-paths.js +23 -0
  505. package/dist/box-mark-paths.js.map +1 -0
  506. package/dist/box-media.d.ts +9 -0
  507. package/dist/box-media.js +5 -0
  508. package/dist/box-media.js.map +1 -0
  509. package/dist/box-products.d.ts +16 -0
  510. package/dist/box-products.js +9 -0
  511. package/dist/box-products.js.map +1 -0
  512. package/dist/box-splits.d.ts +12 -0
  513. package/dist/box-splits.js +5 -0
  514. package/dist/box-splits.js.map +1 -0
  515. package/dist/brand.d.ts +26 -0
  516. package/dist/brand.js +22 -0
  517. package/dist/brand.js.map +1 -0
  518. package/dist/business-categories.d.ts +50 -0
  519. package/dist/business-categories.js +378 -0
  520. package/dist/business-categories.js.map +1 -0
  521. package/dist/business-intents.d.ts +31 -0
  522. package/dist/business-intents.js +142 -0
  523. package/dist/business-intents.js.map +1 -0
  524. package/dist/capability-context.d.ts +63 -0
  525. package/dist/capability-context.js +84 -0
  526. package/dist/capability-context.js.map +1 -0
  527. package/dist/carriers.d.ts +83 -0
  528. package/dist/carriers.js +124 -0
  529. package/dist/carriers.js.map +1 -0
  530. package/dist/commerce-build/api.d.ts +29 -0
  531. package/dist/commerce-build/api.js +152 -0
  532. package/dist/commerce-build/api.js.map +1 -0
  533. package/dist/commerce-build/contracts-profile.d.ts +83 -0
  534. package/dist/commerce-build/contracts-profile.js +1 -0
  535. package/dist/commerce-build/contracts-profile.js.map +1 -0
  536. package/dist/commerce-build/contracts-spec.d.ts +217 -0
  537. package/dist/commerce-build/contracts-spec.js +1 -0
  538. package/dist/commerce-build/contracts-spec.js.map +1 -0
  539. package/dist/commerce-build/contracts.d.ts +2 -0
  540. package/dist/commerce-build/contracts.js +1 -0
  541. package/dist/commerce-build/contracts.js.map +1 -0
  542. package/dist/commerce-build/launch-state.d.ts +20 -0
  543. package/dist/commerce-build/launch-state.js +72 -0
  544. package/dist/commerce-build/launch-state.js.map +1 -0
  545. package/dist/commerce-build/profile-utils.d.ts +5 -0
  546. package/dist/commerce-build/profile-utils.js +14 -0
  547. package/dist/commerce-build/profile-utils.js.map +1 -0
  548. package/dist/commerce-build/setup-flow.d.ts +10 -0
  549. package/dist/commerce-build/setup-flow.js +24 -0
  550. package/dist/commerce-build/setup-flow.js.map +1 -0
  551. package/dist/commerce-build/setup-session.d.ts +26 -0
  552. package/dist/commerce-build/setup-session.js +70 -0
  553. package/dist/commerce-build/setup-session.js.map +1 -0
  554. package/dist/commerce-build/turn-streaming.d.ts +21 -0
  555. package/dist/commerce-build/turn-streaming.js +113 -0
  556. package/dist/commerce-build/turn-streaming.js.map +1 -0
  557. package/dist/commerce-build/workspace-components.d.ts +23 -0
  558. package/dist/commerce-build/workspace-components.js +66 -0
  559. package/dist/commerce-build/workspace-components.js.map +1 -0
  560. package/dist/commerce-build/workspace-config.d.ts +7 -0
  561. package/dist/commerce-build/workspace-config.js +74 -0
  562. package/dist/commerce-build/workspace-config.js.map +1 -0
  563. package/dist/companion/config.d.ts +31 -0
  564. package/dist/companion/config.js +59 -0
  565. package/dist/companion/config.js.map +1 -0
  566. package/dist/connect/catalog.d.ts +32 -0
  567. package/dist/connect/catalog.js +268 -0
  568. package/dist/connect/catalog.js.map +1 -0
  569. package/dist/connect/fixtures/commands.d.ts +8 -0
  570. package/dist/connect/fixtures/commands.js +146 -0
  571. package/dist/connect/fixtures/commands.js.map +1 -0
  572. package/dist/connect/fixtures/connections.d.ts +21 -0
  573. package/dist/connect/fixtures/connections.js +370 -0
  574. package/dist/connect/fixtures/connections.js.map +1 -0
  575. package/dist/connect/fixtures/identities.d.ts +10 -0
  576. package/dist/connect/fixtures/identities.js +61 -0
  577. package/dist/connect/fixtures/identities.js.map +1 -0
  578. package/dist/connect/fixtures/index.d.ts +11 -0
  579. package/dist/connect/fixtures/index.js +11 -0
  580. package/dist/connect/fixtures/index.js.map +1 -0
  581. package/dist/connect/fixtures/usage.d.ts +2 -0
  582. package/dist/connect/fixtures/usage.js +21 -0
  583. package/dist/connect/fixtures/usage.js.map +1 -0
  584. package/dist/connect/fixtures.d.ts +1 -0
  585. package/dist/connect/fixtures.js +1 -0
  586. package/dist/connect/from-notifications.d.ts +3 -0
  587. package/dist/connect/from-notifications.js +78 -0
  588. package/dist/connect/from-notifications.js.map +1 -0
  589. package/dist/connect/identity.d.ts +67 -0
  590. package/dist/connect/identity.js +24 -0
  591. package/dist/connect/identity.js.map +1 -0
  592. package/dist/connect/index.d.ts +13 -0
  593. package/dist/connect/index.js +22 -0
  594. package/dist/connect/index.js.map +1 -0
  595. package/dist/connect/next-up.d.ts +18 -0
  596. package/dist/connect/next-up.js +45 -0
  597. package/dist/connect/next-up.js.map +1 -0
  598. package/dist/connect/types.d.ts +354 -0
  599. package/dist/connect/types.js +68 -0
  600. package/dist/connect/types.js.map +1 -0
  601. package/dist/connect/use-connect.d.ts +51 -0
  602. package/dist/connect/use-connect.js +85 -0
  603. package/dist/connect/use-connect.js.map +1 -0
  604. package/dist/connect.d.ts +1 -0
  605. package/dist/connect.js +1 -0
  606. package/dist/converted-tag.d.ts +7 -0
  607. package/dist/converted-tag.js +9 -0
  608. package/dist/converted-tag.js.map +1 -0
  609. package/dist/countries.d.ts +65 -0
  610. package/dist/countries.js +374 -0
  611. package/dist/countries.js.map +1 -0
  612. package/dist/country-regions.d.ts +12 -0
  613. package/dist/country-regions.js +36 -0
  614. package/dist/country-regions.js.map +1 -0
  615. package/dist/csv.d.ts +28 -0
  616. package/dist/csv.js +91 -0
  617. package/dist/csv.js.map +1 -0
  618. package/dist/currency.d.ts +5 -0
  619. package/dist/currency.js +25 -0
  620. package/dist/currency.js.map +1 -0
  621. package/dist/customer-helpers.d.ts +30 -0
  622. package/dist/customer-helpers.js +66 -0
  623. package/dist/customer-helpers.js.map +1 -0
  624. package/dist/customer-stage.d.ts +125 -0
  625. package/dist/customer-stage.js +113 -0
  626. package/dist/customer-stage.js.map +1 -0
  627. package/dist/dashboard-destinations.d.ts +5 -0
  628. package/dist/dashboard-destinations.js +29 -0
  629. package/dist/dashboard-destinations.js.map +1 -0
  630. package/dist/demo-content-mock.d.ts +22 -0
  631. package/dist/demo-content-mock.js +70 -0
  632. package/dist/demo-content-mock.js.map +1 -0
  633. package/dist/demo-content-poller.d.ts +33 -0
  634. package/dist/demo-content-poller.js +80 -0
  635. package/dist/demo-content-poller.js.map +1 -0
  636. package/dist/demo-content.d.ts +43 -0
  637. package/dist/demo-content.js +78 -0
  638. package/dist/demo-content.js.map +1 -0
  639. package/dist/describe-activity.d.ts +44 -0
  640. package/dist/describe-activity.js +16 -0
  641. package/dist/describe-activity.js.map +1 -0
  642. package/dist/describe-invite.d.ts +19 -0
  643. package/dist/describe-invite.js +46 -0
  644. package/dist/describe-invite.js.map +1 -0
  645. package/dist/design-schema.d.ts +76 -0
  646. package/dist/design-schema.js +47 -0
  647. package/dist/design-schema.js.map +1 -0
  648. package/dist/destination-alias.d.ts +43 -0
  649. package/dist/destination-alias.js +146 -0
  650. package/dist/destination-alias.js.map +1 -0
  651. package/dist/document-numbering.d.ts +40 -0
  652. package/dist/document-numbering.js +48 -0
  653. package/dist/document-numbering.js.map +1 -0
  654. package/dist/document-title.d.ts +22 -0
  655. package/dist/document-title.js +85 -0
  656. package/dist/document-title.js.map +1 -0
  657. package/dist/editor/row-ops.d.ts +39 -0
  658. package/dist/editor/row-ops.js +25 -0
  659. package/dist/editor/row-ops.js.map +1 -0
  660. package/dist/editor-agent/apply-proposal.d.ts +12 -0
  661. package/dist/editor-agent/apply-proposal.js +44 -0
  662. package/dist/editor-agent/apply-proposal.js.map +1 -0
  663. package/dist/editor-agent/contracts.d.ts +174 -0
  664. package/dist/editor-agent/contracts.js +1 -0
  665. package/dist/editor-agent/contracts.js.map +1 -0
  666. package/dist/editor-agent/converse.d.ts +34 -0
  667. package/dist/editor-agent/converse.js +141 -0
  668. package/dist/editor-agent/converse.js.map +1 -0
  669. package/dist/editor-agent/flag.d.ts +12 -0
  670. package/dist/editor-agent/flag.js +19 -0
  671. package/dist/editor-agent/flag.js.map +1 -0
  672. package/dist/editor-agent/template-document.d.ts +52 -0
  673. package/dist/editor-agent/template-document.js +50 -0
  674. package/dist/editor-agent/template-document.js.map +1 -0
  675. package/dist/editor-agent/use-converse.d.ts +30 -0
  676. package/dist/editor-agent/use-converse.js +130 -0
  677. package/dist/editor-agent/use-converse.js.map +1 -0
  678. package/dist/effective-module-labels.d.ts +17 -0
  679. package/dist/effective-module-labels.js +14 -0
  680. package/dist/effective-module-labels.js.map +1 -0
  681. package/dist/embedded-frame.d.ts +30 -0
  682. package/dist/embedded-frame.js +23 -0
  683. package/dist/embedded-frame.js.map +1 -0
  684. package/dist/empty-state-copy.d.ts +27 -0
  685. package/dist/empty-state-copy.js +167 -0
  686. package/dist/empty-state-copy.js.map +1 -0
  687. package/dist/end-session.d.ts +23 -0
  688. package/dist/end-session.js +30 -0
  689. package/dist/end-session.js.map +1 -0
  690. package/dist/file-intake.d.ts +65 -0
  691. package/dist/file-intake.js +162 -0
  692. package/dist/file-intake.js.map +1 -0
  693. package/dist/first-run.d.ts +5 -0
  694. package/dist/first-run.js +13 -0
  695. package/dist/first-run.js.map +1 -0
  696. package/dist/form-answers.d.ts +57 -0
  697. package/dist/form-answers.js +79 -0
  698. package/dist/form-answers.js.map +1 -0
  699. package/dist/form-draft.d.ts +30 -0
  700. package/dist/form-draft.js +73 -0
  701. package/dist/form-draft.js.map +1 -0
  702. package/dist/format.d.ts +29 -0
  703. package/dist/format.js +21 -0
  704. package/dist/format.js.map +1 -0
  705. package/dist/fulfilment-nav.d.ts +79 -0
  706. package/dist/fulfilment-nav.js +18 -0
  707. package/dist/fulfilment-nav.js.map +1 -0
  708. package/dist/go-live-gate.d.ts +55 -0
  709. package/dist/go-live-gate.js +17 -0
  710. package/dist/go-live-gate.js.map +1 -0
  711. package/dist/group-activity.d.ts +37 -0
  712. package/dist/group-activity.js +43 -0
  713. package/dist/group-activity.js.map +1 -0
  714. package/dist/haptic.d.ts +5 -0
  715. package/dist/haptic.js +16 -0
  716. package/dist/haptic.js.map +1 -0
  717. package/dist/help-topics.d.ts +77 -0
  718. package/dist/help-topics.js +308 -0
  719. package/dist/help-topics.js.map +1 -0
  720. package/dist/icon-resolver.d.ts +45 -0
  721. package/dist/icon-resolver.js +40 -0
  722. package/dist/icon-resolver.js.map +1 -0
  723. package/dist/icons/commerce.d.ts +9 -0
  724. package/dist/icons/commerce.js +168 -0
  725. package/dist/icons/commerce.js.map +1 -0
  726. package/dist/icons/core.d.ts +9 -0
  727. package/dist/icons/core.js +173 -0
  728. package/dist/icons/core.js.map +1 -0
  729. package/dist/icons/making.d.ts +9 -0
  730. package/dist/icons/making.js +209 -0
  731. package/dist/icons/making.js.map +1 -0
  732. package/dist/icons/places.d.ts +9 -0
  733. package/dist/icons/places.js +232 -0
  734. package/dist/icons/places.js.map +1 -0
  735. package/dist/icons/world.d.ts +9 -0
  736. package/dist/icons/world.js +87 -0
  737. package/dist/icons/world.js.map +1 -0
  738. package/dist/index.d.ts +9 -0
  739. package/dist/index.js +2 -0
  740. package/dist/index.js.map +1 -0
  741. package/dist/industry-configs/beauty.d.ts +2 -0
  742. package/dist/industry-configs/beauty.js +152 -0
  743. package/dist/industry-configs/beauty.js.map +1 -0
  744. package/dist/industry-configs/creative.d.ts +2 -0
  745. package/dist/industry-configs/creative.js +131 -0
  746. package/dist/industry-configs/creative.js.map +1 -0
  747. package/dist/industry-configs/default.d.ts +2 -0
  748. package/dist/industry-configs/default.js +77 -0
  749. package/dist/industry-configs/default.js.map +1 -0
  750. package/dist/industry-configs/education.d.ts +2 -0
  751. package/dist/industry-configs/education.js +137 -0
  752. package/dist/industry-configs/education.js.map +1 -0
  753. package/dist/industry-configs/events.d.ts +2 -0
  754. package/dist/industry-configs/events.js +118 -0
  755. package/dist/industry-configs/events.js.map +1 -0
  756. package/dist/industry-configs/fashion.d.ts +2 -0
  757. package/dist/industry-configs/fashion.js +128 -0
  758. package/dist/industry-configs/fashion.js.map +1 -0
  759. package/dist/industry-configs/fitness.d.ts +2 -0
  760. package/dist/industry-configs/fitness.js +128 -0
  761. package/dist/industry-configs/fitness.js.map +1 -0
  762. package/dist/industry-configs/food.d.ts +2 -0
  763. package/dist/industry-configs/food.js +138 -0
  764. package/dist/industry-configs/food.js.map +1 -0
  765. package/dist/industry-configs/hospitality.d.ts +2 -0
  766. package/dist/industry-configs/hospitality.js +157 -0
  767. package/dist/industry-configs/hospitality.js.map +1 -0
  768. package/dist/industry-configs/index.d.ts +25 -0
  769. package/dist/industry-configs/index.js +77 -0
  770. package/dist/industry-configs/index.js.map +1 -0
  771. package/dist/industry-configs/professional.d.ts +2 -0
  772. package/dist/industry-configs/professional.js +129 -0
  773. package/dist/industry-configs/professional.js.map +1 -0
  774. package/dist/industry-configs/realestate.d.ts +2 -0
  775. package/dist/industry-configs/realestate.js +146 -0
  776. package/dist/industry-configs/realestate.js.map +1 -0
  777. package/dist/industry-configs/retail.d.ts +2 -0
  778. package/dist/industry-configs/retail.js +108 -0
  779. package/dist/industry-configs/retail.js.map +1 -0
  780. package/dist/industry-configs/services.d.ts +2 -0
  781. package/dist/industry-configs/services.js +120 -0
  782. package/dist/industry-configs/services.js.map +1 -0
  783. package/dist/industry-configs/technology.d.ts +2 -0
  784. package/dist/industry-configs/technology.js +120 -0
  785. package/dist/industry-configs/technology.js.map +1 -0
  786. package/dist/industry-configs/types.d.ts +99 -0
  787. package/dist/industry-configs/types.js +1 -0
  788. package/dist/industry-configs/types.js.map +1 -0
  789. package/dist/industry-configs/wellness.d.ts +2 -0
  790. package/dist/industry-configs/wellness.js +112 -0
  791. package/dist/industry-configs/wellness.js.map +1 -0
  792. package/dist/industry-configs.d.ts +1 -0
  793. package/dist/industry-configs.js +1 -0
  794. package/dist/intents/analytics-labels.d.ts +70 -0
  795. package/dist/intents/analytics-labels.js +39 -0
  796. package/dist/intents/analytics-labels.js.map +1 -0
  797. package/dist/intents/archetype-flow.d.ts +146 -0
  798. package/dist/intents/archetype-flow.js +185 -0
  799. package/dist/intents/archetype-flow.js.map +1 -0
  800. package/dist/intents/booking-query-style.d.ts +32 -0
  801. package/dist/intents/booking-query-style.js +22 -0
  802. package/dist/intents/booking-query-style.js.map +1 -0
  803. package/dist/intents/capture-leads.config.d.ts +31 -0
  804. package/dist/intents/capture-leads.config.js +231 -0
  805. package/dist/intents/capture-leads.config.js.map +1 -0
  806. package/dist/intents/catalog-stock.d.ts +43 -0
  807. package/dist/intents/catalog-stock.js +43 -0
  808. package/dist/intents/catalog-stock.js.map +1 -0
  809. package/dist/intents/collapse-shared-nav.d.ts +95 -0
  810. package/dist/intents/collapse-shared-nav.js +171 -0
  811. package/dist/intents/collapse-shared-nav.js.map +1 -0
  812. package/dist/intents/default-commerce.config.d.ts +6 -0
  813. package/dist/intents/default-commerce.config.js +281 -0
  814. package/dist/intents/default-commerce.config.js.map +1 -0
  815. package/dist/intents/digital-products.config.d.ts +2 -0
  816. package/dist/intents/digital-products.config.js +239 -0
  817. package/dist/intents/digital-products.config.js.map +1 -0
  818. package/dist/intents/dine-in.config.d.ts +15 -0
  819. package/dist/intents/dine-in.config.js +331 -0
  820. package/dist/intents/dine-in.config.js.map +1 -0
  821. package/dist/intents/event-tickets.config.d.ts +2 -0
  822. package/dist/intents/event-tickets.config.js +368 -0
  823. package/dist/intents/event-tickets.config.js.map +1 -0
  824. package/dist/intents/food-orders.config.d.ts +2 -0
  825. package/dist/intents/food-orders.config.js +299 -0
  826. package/dist/intents/food-orders.config.js.map +1 -0
  827. package/dist/intents/icon-map.d.ts +15 -0
  828. package/dist/intents/icon-map.js +104 -0
  829. package/dist/intents/icon-map.js.map +1 -0
  830. package/dist/intents/index.d.ts +12 -0
  831. package/dist/intents/index.js +50 -0
  832. package/dist/intents/index.js.map +1 -0
  833. package/dist/intents/infer-intents.d.ts +10 -0
  834. package/dist/intents/infer-intents.js +23 -0
  835. package/dist/intents/infer-intents.js.map +1 -0
  836. package/dist/intents/intent-chips.d.ts +47 -0
  837. package/dist/intents/intent-chips.js +38 -0
  838. package/dist/intents/intent-chips.js.map +1 -0
  839. package/dist/intents/intent-nav.d.ts +95 -0
  840. package/dist/intents/intent-nav.js +423 -0
  841. package/dist/intents/intent-nav.js.map +1 -0
  842. package/dist/intents/intent-scope.d.ts +52 -0
  843. package/dist/intents/intent-scope.js +19 -0
  844. package/dist/intents/intent-scope.js.map +1 -0
  845. package/dist/intents/nav-coverage.d.ts +71 -0
  846. package/dist/intents/nav-coverage.js +132 -0
  847. package/dist/intents/nav-coverage.js.map +1 -0
  848. package/dist/intents/operating-shell.d.ts +45 -0
  849. package/dist/intents/operating-shell.js +142 -0
  850. package/dist/intents/operating-shell.js.map +1 -0
  851. package/dist/intents/order-display.d.ts +21 -0
  852. package/dist/intents/order-display.js +110 -0
  853. package/dist/intents/order-display.js.map +1 -0
  854. package/dist/intents/order-intent.d.ts +18 -0
  855. package/dist/intents/order-intent.js +14 -0
  856. package/dist/intents/order-intent.js.map +1 -0
  857. package/dist/intents/order-progress.d.ts +81 -0
  858. package/dist/intents/order-progress.js +91 -0
  859. package/dist/intents/order-progress.js.map +1 -0
  860. package/dist/intents/order-sections.d.ts +173 -0
  861. package/dist/intents/order-sections.js +188 -0
  862. package/dist/intents/order-sections.js.map +1 -0
  863. package/dist/intents/order-stats.d.ts +24 -0
  864. package/dist/intents/order-stats.js +16 -0
  865. package/dist/intents/order-stats.js.map +1 -0
  866. package/dist/intents/order-transitions.d.ts +19 -0
  867. package/dist/intents/order-transitions.js +66 -0
  868. package/dist/intents/order-transitions.js.map +1 -0
  869. package/dist/intents/product-editor-config.d.ts +23 -0
  870. package/dist/intents/product-editor-config.js +13 -0
  871. package/dist/intents/product-editor-config.js.map +1 -0
  872. package/dist/intents/product-intent.d.ts +38 -0
  873. package/dist/intents/product-intent.js +19 -0
  874. package/dist/intents/product-intent.js.map +1 -0
  875. package/dist/intents/registry.d.ts +32 -0
  876. package/dist/intents/registry.js +41 -0
  877. package/dist/intents/registry.js.map +1 -0
  878. package/dist/intents/rent-property.config.d.ts +2 -0
  879. package/dist/intents/rent-property.config.js +284 -0
  880. package/dist/intents/rent-property.config.js.map +1 -0
  881. package/dist/intents/resolve-stats.d.ts +7 -0
  882. package/dist/intents/resolve-stats.js +29 -0
  883. package/dist/intents/resolve-stats.js.map +1 -0
  884. package/dist/intents/resolve-tenant-intents.d.ts +11 -0
  885. package/dist/intents/resolve-tenant-intents.js +61 -0
  886. package/dist/intents/resolve-tenant-intents.js.map +1 -0
  887. package/dist/intents/resolvers.d.ts +52 -0
  888. package/dist/intents/resolvers.js +177 -0
  889. package/dist/intents/resolvers.js.map +1 -0
  890. package/dist/intents/row-identity.d.ts +62 -0
  891. package/dist/intents/row-identity.js +25 -0
  892. package/dist/intents/row-identity.js.map +1 -0
  893. package/dist/intents/sales-verb.d.ts +8 -0
  894. package/dist/intents/sales-verb.js +12 -0
  895. package/dist/intents/sales-verb.js.map +1 -0
  896. package/dist/intents/scoped-config.d.ts +12 -0
  897. package/dist/intents/scoped-config.js +17 -0
  898. package/dist/intents/scoped-config.js.map +1 -0
  899. package/dist/intents/screen-title.d.ts +27 -0
  900. package/dist/intents/screen-title.js +59 -0
  901. package/dist/intents/screen-title.js.map +1 -0
  902. package/dist/intents/section-registry.d.ts +48 -0
  903. package/dist/intents/section-registry.js +33 -0
  904. package/dist/intents/section-registry.js.map +1 -0
  905. package/dist/intents/sell-products.config.d.ts +2 -0
  906. package/dist/intents/sell-products.config.js +275 -0
  907. package/dist/intents/sell-products.config.js.map +1 -0
  908. package/dist/intents/send-invoices.config.d.ts +16 -0
  909. package/dist/intents/send-invoices.config.js +223 -0
  910. package/dist/intents/send-invoices.config.js.map +1 -0
  911. package/dist/intents/subscriptions.config.d.ts +2 -0
  912. package/dist/intents/subscriptions.config.js +260 -0
  913. package/dist/intents/subscriptions.config.js.map +1 -0
  914. package/dist/intents/take-bookings.config.d.ts +2 -0
  915. package/dist/intents/take-bookings.config.js +298 -0
  916. package/dist/intents/take-bookings.config.js.map +1 -0
  917. package/dist/intents/types.d.ts +246 -0
  918. package/dist/intents/types.js +1 -0
  919. package/dist/intents/types.js.map +1 -0
  920. package/dist/intents/use-active-intent.d.ts +27 -0
  921. package/dist/intents/use-active-intent.js +74 -0
  922. package/dist/intents/use-active-intent.js.map +1 -0
  923. package/dist/intents/use-destination-label.d.ts +18 -0
  924. package/dist/intents/use-destination-label.js +45 -0
  925. package/dist/intents/use-destination-label.js.map +1 -0
  926. package/dist/intents/use-entity-label.d.ts +32 -0
  927. package/dist/intents/use-entity-label.js +75 -0
  928. package/dist/intents/use-entity-label.js.map +1 -0
  929. package/dist/intents/use-intent-config.d.ts +20 -0
  930. package/dist/intents/use-intent-config.js +91 -0
  931. package/dist/intents/use-intent-config.js.map +1 -0
  932. package/dist/intents/use-intent-nav-rows.d.ts +26 -0
  933. package/dist/intents/use-intent-nav-rows.js +49 -0
  934. package/dist/intents/use-intent-nav-rows.js.map +1 -0
  935. package/dist/intents/use-resource-label.d.ts +10 -0
  936. package/dist/intents/use-resource-label.js +9 -0
  937. package/dist/intents/use-resource-label.js.map +1 -0
  938. package/dist/intents/use-row-noun.d.ts +19 -0
  939. package/dist/intents/use-row-noun.js +13 -0
  940. package/dist/intents/use-row-noun.js.map +1 -0
  941. package/dist/intents/use-screen-title.d.ts +9 -0
  942. package/dist/intents/use-screen-title.js +25 -0
  943. package/dist/intents/use-screen-title.js.map +1 -0
  944. package/dist/intents/what-it-adds.d.ts +70 -0
  945. package/dist/intents/what-it-adds.js +29 -0
  946. package/dist/intents/what-it-adds.js.map +1 -0
  947. package/dist/intents/workflow-shape.d.ts +66 -0
  948. package/dist/intents/workflow-shape.js +151 -0
  949. package/dist/intents/workflow-shape.js.map +1 -0
  950. package/dist/intents.d.ts +1 -0
  951. package/dist/intents.js +1 -0
  952. package/dist/invite-refusal.d.ts +37 -0
  953. package/dist/invite-refusal.js +26 -0
  954. package/dist/invite-refusal.js.map +1 -0
  955. package/dist/invoice-brand.d.ts +28 -0
  956. package/dist/invoice-brand.js +33 -0
  957. package/dist/invoice-brand.js.map +1 -0
  958. package/dist/ios-navigation-context.d.ts +11 -0
  959. package/dist/ios-navigation-context.js +52 -0
  960. package/dist/ios-navigation-context.js.map +1 -0
  961. package/dist/legal-links.d.ts +10 -0
  962. package/dist/legal-links.js +7 -0
  963. package/dist/legal-links.js.map +1 -0
  964. package/dist/letting-policy.d.ts +85 -0
  965. package/dist/letting-policy.js +47 -0
  966. package/dist/letting-policy.js.map +1 -0
  967. package/dist/list-page-size.d.ts +24 -0
  968. package/dist/list-page-size.js +5 -0
  969. package/dist/list-page-size.js.map +1 -0
  970. package/dist/live-events/sse-frames.d.ts +15 -0
  971. package/dist/live-events/sse-frames.js +37 -0
  972. package/dist/live-events/sse-frames.js.map +1 -0
  973. package/dist/location-options.d.ts +16 -0
  974. package/dist/location-options.js +94 -0
  975. package/dist/location-options.js.map +1 -0
  976. package/dist/location-scope-context.d.ts +47 -0
  977. package/dist/location-scope-context.js +85 -0
  978. package/dist/location-scope-context.js.map +1 -0
  979. package/dist/media-service.d.ts +97 -0
  980. package/dist/media-service.js +282 -0
  981. package/dist/media-service.js.map +1 -0
  982. package/dist/media-utils.d.ts +51 -0
  983. package/dist/media-utils.js +85 -0
  984. package/dist/media-utils.js.map +1 -0
  985. package/dist/member-presence.d.ts +40 -0
  986. package/dist/member-presence.js +77 -0
  987. package/dist/member-presence.js.map +1 -0
  988. package/dist/member-subscription-enrollment.d.ts +16 -0
  989. package/dist/member-subscription-enrollment.js +32 -0
  990. package/dist/member-subscription-enrollment.js.map +1 -0
  991. package/dist/membership-freshness.d.ts +31 -0
  992. package/dist/membership-freshness.js +21 -0
  993. package/dist/membership-freshness.js.map +1 -0
  994. package/dist/mobile-header-context.d.ts +32 -0
  995. package/dist/mobile-header-context.js +59 -0
  996. package/dist/mobile-header-context.js.map +1 -0
  997. package/dist/mobile-routes.d.ts +81 -0
  998. package/dist/mobile-routes.js +406 -0
  999. package/dist/mobile-routes.js.map +1 -0
  1000. package/dist/mobile-tab-config.d.ts +18 -0
  1001. package/dist/mobile-tab-config.js +43 -0
  1002. package/dist/mobile-tab-config.js.map +1 -0
  1003. package/dist/money-coming-soon.d.ts +16 -0
  1004. package/dist/money-coming-soon.js +22 -0
  1005. package/dist/money-coming-soon.js.map +1 -0
  1006. package/dist/money-minor.d.ts +17 -0
  1007. package/dist/money-minor.js +53 -0
  1008. package/dist/money-minor.js.map +1 -0
  1009. package/dist/money-visibility.d.ts +38 -0
  1010. package/dist/money-visibility.js +13 -0
  1011. package/dist/money-visibility.js.map +1 -0
  1012. package/dist/motion.d.ts +160 -0
  1013. package/dist/motion.js +130 -0
  1014. package/dist/motion.js.map +1 -0
  1015. package/dist/nav-pending.d.ts +42 -0
  1016. package/dist/nav-pending.js +84 -0
  1017. package/dist/nav-pending.js.map +1 -0
  1018. package/dist/navigation-groups.d.ts +52 -0
  1019. package/dist/navigation-groups.js +64 -0
  1020. package/dist/navigation-groups.js.map +1 -0
  1021. package/dist/onboarding-draft.d.ts +23 -0
  1022. package/dist/onboarding-draft.js +35 -0
  1023. package/dist/onboarding-draft.js.map +1 -0
  1024. package/dist/operating-model/index.d.ts +4 -0
  1025. package/dist/operating-model/index.js +13 -0
  1026. package/dist/operating-model/index.js.map +1 -0
  1027. package/dist/operating-model/order-display.d.ts +10 -0
  1028. package/dist/operating-model/order-display.js +24 -0
  1029. package/dist/operating-model/order-display.js.map +1 -0
  1030. package/dist/operating-model/resolver.d.ts +9 -0
  1031. package/dist/operating-model/resolver.js +110 -0
  1032. package/dist/operating-model/resolver.js.map +1 -0
  1033. package/dist/operating-model/types.d.ts +36 -0
  1034. package/dist/operating-model/types.js +1 -0
  1035. package/dist/operating-model/types.js.map +1 -0
  1036. package/dist/operating-model/use-operating-model.d.ts +7 -0
  1037. package/dist/operating-model/use-operating-model.js +65 -0
  1038. package/dist/operating-model/use-operating-model.js.map +1 -0
  1039. package/dist/operating-model.d.ts +1 -0
  1040. package/dist/operating-model.js +1 -0
  1041. package/dist/order-config.d.ts +30 -0
  1042. package/dist/order-config.js +56 -0
  1043. package/dist/order-config.js.map +1 -0
  1044. package/dist/order-discounts.d.ts +25 -0
  1045. package/dist/order-discounts.js +27 -0
  1046. package/dist/order-discounts.js.map +1 -0
  1047. package/dist/order-shipping.d.ts +33 -0
  1048. package/dist/order-shipping.js +49 -0
  1049. package/dist/order-shipping.js.map +1 -0
  1050. package/dist/order-tax.d.ts +28 -0
  1051. package/dist/order-tax.js +21 -0
  1052. package/dist/order-tax.js.map +1 -0
  1053. package/dist/page-intros.d.ts +78 -0
  1054. package/dist/page-intros.js +164 -0
  1055. package/dist/page-intros.js.map +1 -0
  1056. package/dist/page-transition.d.ts +20 -0
  1057. package/dist/page-transition.js +19 -0
  1058. package/dist/page-transition.js.map +1 -0
  1059. package/dist/pages-api-response.d.ts +8 -0
  1060. package/dist/pages-api-response.js +18 -0
  1061. package/dist/pages-api-response.js.map +1 -0
  1062. package/dist/payment-method-label.d.ts +6 -0
  1063. package/dist/payment-method-label.js +14 -0
  1064. package/dist/payment-method-label.js.map +1 -0
  1065. package/dist/permission-aliases.d.ts +18 -0
  1066. package/dist/permission-aliases.js +20 -0
  1067. package/dist/permission-aliases.js.map +1 -0
  1068. package/dist/permission-catalog-fallback.d.ts +17 -0
  1069. package/dist/permission-catalog-fallback.js +147 -0
  1070. package/dist/permission-catalog-fallback.js.map +1 -0
  1071. package/dist/permission-change.d.ts +42 -0
  1072. package/dist/permission-change.js +33 -0
  1073. package/dist/permission-change.js.map +1 -0
  1074. package/dist/phone.d.ts +16 -0
  1075. package/dist/phone.js +20 -0
  1076. package/dist/phone.js.map +1 -0
  1077. package/dist/plan-access.d.ts +39 -0
  1078. package/dist/plan-access.js +57 -0
  1079. package/dist/plan-access.js.map +1 -0
  1080. package/dist/plan-card-api.d.ts +34 -0
  1081. package/dist/plan-card-api.js +30 -0
  1082. package/dist/plan-card-api.js.map +1 -0
  1083. package/dist/plan-price.d.ts +34 -0
  1084. package/dist/plan-price.js +57 -0
  1085. package/dist/plan-price.js.map +1 -0
  1086. package/dist/post-login-target.d.ts +24 -0
  1087. package/dist/post-login-target.js +12 -0
  1088. package/dist/post-login-target.js.map +1 -0
  1089. package/dist/potter-mark-paths.d.ts +21 -0
  1090. package/dist/potter-mark-paths.js +9 -0
  1091. package/dist/potter-mark-paths.js.map +1 -0
  1092. package/dist/pricing-plans-types.d.ts +143 -0
  1093. package/dist/pricing-plans-types.js +1 -0
  1094. package/dist/pricing-plans-types.js.map +1 -0
  1095. package/dist/product-assignees.d.ts +1 -0
  1096. package/dist/product-assignees.js +18 -0
  1097. package/dist/product-assignees.js.map +1 -0
  1098. package/dist/product-collection-sync.d.ts +12 -0
  1099. package/dist/product-collection-sync.js +97 -0
  1100. package/dist/product-collection-sync.js.map +1 -0
  1101. package/dist/product-cost.d.ts +12 -0
  1102. package/dist/product-cost.js +24 -0
  1103. package/dist/product-cost.js.map +1 -0
  1104. package/dist/product-insights-api.d.ts +38 -0
  1105. package/dist/product-insights-api.js +51 -0
  1106. package/dist/product-insights-api.js.map +1 -0
  1107. package/dist/product-types.d.ts +311 -0
  1108. package/dist/product-types.js +38 -0
  1109. package/dist/product-types.js.map +1 -0
  1110. package/dist/promised-day.d.ts +33 -0
  1111. package/dist/promised-day.js +38 -0
  1112. package/dist/promised-day.js.map +1 -0
  1113. package/dist/proposals-api.d.ts +96 -0
  1114. package/dist/proposals-api.js +41 -0
  1115. package/dist/proposals-api.js.map +1 -0
  1116. package/dist/proxy-allowlist.d.ts +15 -0
  1117. package/dist/proxy-allowlist.js +153 -0
  1118. package/dist/proxy-allowlist.js.map +1 -0
  1119. package/dist/public-config-loader.d.ts +27 -0
  1120. package/dist/public-config-loader.js +12 -0
  1121. package/dist/public-config-loader.js.map +1 -0
  1122. package/dist/public-config-provider.d.ts +16 -0
  1123. package/dist/public-config-provider.js +14 -0
  1124. package/dist/public-config-provider.js.map +1 -0
  1125. package/dist/resolve-enabled-behaviors.d.ts +55 -0
  1126. package/dist/resolve-enabled-behaviors.js +134 -0
  1127. package/dist/resolve-enabled-behaviors.js.map +1 -0
  1128. package/dist/resource-types.d.ts +198 -0
  1129. package/dist/resource-types.js +96 -0
  1130. package/dist/resource-types.js.map +1 -0
  1131. package/dist/resume-screen.d.ts +31 -0
  1132. package/dist/resume-screen.js +25 -0
  1133. package/dist/resume-screen.js.map +1 -0
  1134. package/dist/rider-display.d.ts +37 -0
  1135. package/dist/rider-display.js +110 -0
  1136. package/dist/rider-display.js.map +1 -0
  1137. package/dist/rider-view.d.ts +37 -0
  1138. package/dist/rider-view.js +47 -0
  1139. package/dist/rider-view.js.map +1 -0
  1140. package/dist/roster-label.d.ts +27 -0
  1141. package/dist/roster-label.js +8 -0
  1142. package/dist/roster-label.js.map +1 -0
  1143. package/dist/route-pattern.d.ts +11 -0
  1144. package/dist/route-pattern.js +20 -0
  1145. package/dist/route-pattern.js.map +1 -0
  1146. package/dist/route-permission.d.ts +60 -0
  1147. package/dist/route-permission.js +48 -0
  1148. package/dist/route-permission.js.map +1 -0
  1149. package/dist/runtime-config.d.ts +33 -0
  1150. package/dist/runtime-config.js +23 -0
  1151. package/dist/runtime-config.js.map +1 -0
  1152. package/dist/schema-validation.d.ts +172 -0
  1153. package/dist/schema-validation.js +252 -0
  1154. package/dist/schema-validation.js.map +1 -0
  1155. package/dist/service-areas.d.ts +30 -0
  1156. package/dist/service-areas.js +24 -0
  1157. package/dist/service-areas.js.map +1 -0
  1158. package/dist/service-operations-api.d.ts +78 -0
  1159. package/dist/service-operations-api.js +37 -0
  1160. package/dist/service-operations-api.js.map +1 -0
  1161. package/dist/settings-relevance.d.ts +64 -0
  1162. package/dist/settings-relevance.js +25 -0
  1163. package/dist/settings-relevance.js.map +1 -0
  1164. package/dist/singularise.d.ts +16 -0
  1165. package/dist/singularise.js +37 -0
  1166. package/dist/singularise.js.map +1 -0
  1167. package/dist/site-address.d.ts +14 -0
  1168. package/dist/site-address.js +28 -0
  1169. package/dist/site-address.js.map +1 -0
  1170. package/dist/slug.d.ts +26 -0
  1171. package/dist/slug.js +15 -0
  1172. package/dist/slug.js.map +1 -0
  1173. package/dist/sound.d.ts +14 -0
  1174. package/dist/sound.js +166 -0
  1175. package/dist/sound.js.map +1 -0
  1176. package/dist/staff-arrival.d.ts +3 -0
  1177. package/dist/staff-arrival.js +11 -0
  1178. package/dist/staff-arrival.js.map +1 -0
  1179. package/dist/staff-home.d.ts +58 -0
  1180. package/dist/staff-home.js +90 -0
  1181. package/dist/staff-home.js.map +1 -0
  1182. package/dist/staff-landing.d.ts +1 -0
  1183. package/dist/staff-landing.js +15 -0
  1184. package/dist/staff-landing.js.map +1 -0
  1185. package/dist/stat-card-types.d.ts +19 -0
  1186. package/dist/stat-card-types.js +1 -0
  1187. package/dist/stat-card-types.js.map +1 -0
  1188. package/dist/stock-levels.d.ts +32 -0
  1189. package/dist/stock-levels.js +17 -0
  1190. package/dist/stock-levels.js.map +1 -0
  1191. package/dist/stored-token.d.ts +1 -0
  1192. package/dist/stored-token.js +11 -0
  1193. package/dist/stored-token.js.map +1 -0
  1194. package/dist/storefront-url.d.ts +31 -0
  1195. package/dist/storefront-url.js +40 -0
  1196. package/dist/storefront-url.js.map +1 -0
  1197. package/dist/storefront.d.ts +64 -0
  1198. package/dist/storefront.js +51 -0
  1199. package/dist/storefront.js.map +1 -0
  1200. package/dist/subscription-billing-api.d.ts +115 -0
  1201. package/dist/subscription-billing-api.js +27 -0
  1202. package/dist/subscription-billing-api.js.map +1 -0
  1203. package/dist/subscription-billing-model.d.ts +26 -0
  1204. package/dist/subscription-billing-model.js +58 -0
  1205. package/dist/subscription-billing-model.js.map +1 -0
  1206. package/dist/support-case-subject.d.ts +10 -0
  1207. package/dist/support-case-subject.js +13 -0
  1208. package/dist/support-case-subject.js.map +1 -0
  1209. package/dist/support-inbox.d.ts +6 -0
  1210. package/dist/support-inbox.js +5 -0
  1211. package/dist/support-inbox.js.map +1 -0
  1212. package/dist/support.d.ts +7 -0
  1213. package/dist/support.js +16 -0
  1214. package/dist/support.js.map +1 -0
  1215. package/dist/team-page.d.ts +9 -0
  1216. package/dist/team-page.js +5 -0
  1217. package/dist/team-page.js.map +1 -0
  1218. package/dist/team-roles.d.ts +140 -0
  1219. package/dist/team-roles.js +247 -0
  1220. package/dist/team-roles.js.map +1 -0
  1221. package/dist/team-successors.d.ts +20 -0
  1222. package/dist/team-successors.js +13 -0
  1223. package/dist/team-successors.js.map +1 -0
  1224. package/dist/template-asset-url.d.ts +11 -0
  1225. package/dist/template-asset-url.js +8 -0
  1226. package/dist/template-asset-url.js.map +1 -0
  1227. package/dist/template-capabilities.d.ts +2 -0
  1228. package/dist/template-capabilities.js +71 -0
  1229. package/dist/template-capabilities.js.map +1 -0
  1230. package/dist/template-context.d.ts +111 -0
  1231. package/dist/template-context.js +1278 -0
  1232. package/dist/template-context.js.map +1 -0
  1233. package/dist/template-filter.d.ts +29 -0
  1234. package/dist/template-filter.js +41 -0
  1235. package/dist/template-filter.js.map +1 -0
  1236. package/dist/template-preview/preview-author-patch.d.ts +24 -0
  1237. package/dist/template-preview/preview-author-patch.js +78 -0
  1238. package/dist/template-preview/preview-author-patch.js.map +1 -0
  1239. package/dist/template-preview/use-template-document.d.ts +38 -0
  1240. package/dist/template-preview/use-template-document.js +45 -0
  1241. package/dist/template-preview/use-template-document.js.map +1 -0
  1242. package/dist/template-requirements.d.ts +38 -0
  1243. package/dist/template-requirements.js +13 -0
  1244. package/dist/template-requirements.js.map +1 -0
  1245. package/dist/template-types.d.ts +317 -0
  1246. package/dist/template-types.js +1 -0
  1247. package/dist/template-types.js.map +1 -0
  1248. package/dist/templates.d.ts +22 -0
  1249. package/dist/templates.js +1 -0
  1250. package/dist/templates.js.map +1 -0
  1251. package/dist/theme-context.d.ts +58 -0
  1252. package/dist/theme-context.js +283 -0
  1253. package/dist/theme-context.js.map +1 -0
  1254. package/dist/theme-policy.d.ts +41 -0
  1255. package/dist/theme-policy.js +32 -0
  1256. package/dist/theme-policy.js.map +1 -0
  1257. package/dist/ticket-access.d.ts +20 -0
  1258. package/dist/ticket-access.js +39 -0
  1259. package/dist/ticket-access.js.map +1 -0
  1260. package/dist/timeline-copy.d.ts +65 -0
  1261. package/dist/timeline-copy.js +150 -0
  1262. package/dist/timeline-copy.js.map +1 -0
  1263. package/dist/url-params.d.ts +23 -0
  1264. package/dist/url-params.js +43 -0
  1265. package/dist/url-params.js.map +1 -0
  1266. package/dist/use-behaviors.d.ts +13 -0
  1267. package/dist/use-behaviors.js +41 -0
  1268. package/dist/use-behaviors.js.map +1 -0
  1269. package/dist/use-business-locations.d.ts +35 -0
  1270. package/dist/use-business-locations.js +71 -0
  1271. package/dist/use-business-locations.js.map +1 -0
  1272. package/dist/use-currency.d.ts +12 -0
  1273. package/dist/use-currency.js +16 -0
  1274. package/dist/use-currency.js.map +1 -0
  1275. package/dist/use-empty-state-copy.d.ts +12 -0
  1276. package/dist/use-empty-state-copy.js +13 -0
  1277. package/dist/use-empty-state-copy.js.map +1 -0
  1278. package/dist/use-geo-cities.d.ts +1 -0
  1279. package/dist/use-geo-cities.js +42 -0
  1280. package/dist/use-geo-cities.js.map +1 -0
  1281. package/dist/use-has-hardware.d.ts +13 -0
  1282. package/dist/use-has-hardware.js +14 -0
  1283. package/dist/use-has-hardware.js.map +1 -0
  1284. package/dist/use-industry-key.d.ts +10 -0
  1285. package/dist/use-industry-key.js +16 -0
  1286. package/dist/use-industry-key.js.map +1 -0
  1287. package/dist/use-item-links.d.ts +20 -0
  1288. package/dist/use-item-links.js +30 -0
  1289. package/dist/use-item-links.js.map +1 -0
  1290. package/dist/use-job-roles.d.ts +21 -0
  1291. package/dist/use-job-roles.js +76 -0
  1292. package/dist/use-job-roles.js.map +1 -0
  1293. package/dist/use-merchant-plan.d.ts +36 -0
  1294. package/dist/use-merchant-plan.js +78 -0
  1295. package/dist/use-merchant-plan.js.map +1 -0
  1296. package/dist/use-module-label.d.ts +12 -0
  1297. package/dist/use-module-label.js +13 -0
  1298. package/dist/use-module-label.js.map +1 -0
  1299. package/dist/use-money-visibility.d.ts +14 -0
  1300. package/dist/use-money-visibility.js +13 -0
  1301. package/dist/use-money-visibility.js.map +1 -0
  1302. package/dist/use-nav-groups.d.ts +27 -0
  1303. package/dist/use-nav-groups.js +141 -0
  1304. package/dist/use-nav-groups.js.map +1 -0
  1305. package/dist/use-pathname.d.ts +15 -0
  1306. package/dist/use-pathname.js +29 -0
  1307. package/dist/use-pathname.js.map +1 -0
  1308. package/dist/use-permissions.d.ts +43 -0
  1309. package/dist/use-permissions.js +158 -0
  1310. package/dist/use-permissions.js.map +1 -0
  1311. package/dist/use-platform-modules.d.ts +49 -0
  1312. package/dist/use-platform-modules.js +416 -0
  1313. package/dist/use-platform-modules.js.map +1 -0
  1314. package/dist/use-staff-home.d.ts +9 -0
  1315. package/dist/use-staff-home.js +24 -0
  1316. package/dist/use-staff-home.js.map +1 -0
  1317. package/dist/use-workspace-invite.d.ts +37 -0
  1318. package/dist/use-workspace-invite.js +69 -0
  1319. package/dist/use-workspace-invite.js.map +1 -0
  1320. package/dist/utils.d.ts +53 -0
  1321. package/dist/utils.js +161 -0
  1322. package/dist/utils.js.map +1 -0
  1323. package/dist/wallet-format.d.ts +8 -0
  1324. package/dist/wallet-format.js +36 -0
  1325. package/dist/wallet-format.js.map +1 -0
  1326. package/dist/wallet-settlement.d.ts +14 -0
  1327. package/dist/wallet-settlement.js +5 -0
  1328. package/dist/wallet-settlement.js.map +1 -0
  1329. package/dist/web-url.d.ts +1 -0
  1330. package/dist/web-url.js +50 -0
  1331. package/dist/web-url.js.map +1 -0
  1332. package/dist/whats-new.d.ts +59 -0
  1333. package/dist/whats-new.js +77 -0
  1334. package/dist/whats-new.js.map +1 -0
  1335. package/dist/workspace-recents.d.ts +30 -0
  1336. package/dist/workspace-recents.js +37 -0
  1337. package/dist/workspace-recents.js.map +1 -0
  1338. package/dist/workspace-slug.d.ts +1 -0
  1339. package/dist/workspace-slug.js +15 -0
  1340. package/dist/workspace-slug.js.map +1 -0
  1341. package/package.json +57 -0
@@ -0,0 +1,39 @@
1
+ import { apiFetch } from "./core";
2
+ const businessLocationsApi = {
3
+ list: (tenantSlug, opts = {}) => apiFetch(
4
+ opts.includeArchived ? "/business-locations?includeArchived=true" : "/business-locations",
5
+ { tenantSlug }
6
+ ),
7
+ create: (tenantSlug, data) => apiFetch("/business-locations", {
8
+ method: "POST",
9
+ tenantSlug,
10
+ body: JSON.stringify(data)
11
+ }),
12
+ update: (tenantSlug, id, data) => apiFetch(`/business-locations/${id}`, {
13
+ method: "PATCH",
14
+ tenantSlug,
15
+ body: JSON.stringify(data)
16
+ }),
17
+ /**
18
+ * Orders and revenue per branch over the last `days`, or all-time when
19
+ * omitted. Order-sourced rather than analytics-sourced on purpose: analytics
20
+ * is session-keyed and would miss every in-person sale, which on a business
21
+ * with a counter is most of them.
22
+ *
23
+ * Locations that sold nothing come back with `orders: 0` — a quiet branch is
24
+ * the finding, so it must not be filtered out server-side.
25
+ */
26
+ performance: (tenantSlug, days) => apiFetch(
27
+ `/business-locations/performance${days ? `?days=${days}` : ""}`,
28
+ { tenantSlug }
29
+ ),
30
+ /** Closes the location. Archived, not deleted — its history has to survive. */
31
+ archive: (tenantSlug, id) => apiFetch(`/business-locations/${id}`, {
32
+ method: "DELETE",
33
+ tenantSlug
34
+ })
35
+ };
36
+ export {
37
+ businessLocationsApi
38
+ };
39
+ //# sourceMappingURL=business-locations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api/business-locations.ts"],"sourcesContent":["import { apiFetch } from './core';\nimport type {\n BusinessLocation,\n CreateBusinessLocationData,\n UpdateBusinessLocationData,\n LocationPerformance,\n} from './types';\n\n/**\n * Physical places the business operates from.\n *\n * Not to be confused with `locationsApi`, which is the served-cities\n * footprint behind Settings → Service areas.\n */\nexport const businessLocationsApi = {\n list: (tenantSlug: string, opts: { includeArchived?: boolean } = {}) =>\n apiFetch<BusinessLocation[]>(\n opts.includeArchived\n ? '/business-locations?includeArchived=true'\n : '/business-locations',\n { tenantSlug },\n ),\n\n create: (tenantSlug: string, data: CreateBusinessLocationData) =>\n apiFetch<BusinessLocation>('/business-locations', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(data),\n }),\n\n update: (tenantSlug: string, id: string, data: UpdateBusinessLocationData) =>\n apiFetch<BusinessLocation>(`/business-locations/${id}`, {\n method: 'PATCH',\n tenantSlug,\n body: JSON.stringify(data),\n }),\n\n /**\n * Orders and revenue per branch over the last `days`, or all-time when\n * omitted. Order-sourced rather than analytics-sourced on purpose: analytics\n * is session-keyed and would miss every in-person sale, which on a business\n * with a counter is most of them.\n *\n * Locations that sold nothing come back with `orders: 0` — a quiet branch is\n * the finding, so it must not be filtered out server-side.\n */\n performance: (tenantSlug: string, days?: number) =>\n apiFetch<LocationPerformance[]>(\n `/business-locations/performance${days ? `?days=${days}` : ''}`,\n { tenantSlug },\n ),\n\n /** Closes the location. Archived, not deleted — its history has to survive. */\n archive: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/business-locations/${id}`, {\n method: 'DELETE',\n tenantSlug,\n }),\n};\n"],"mappings":"AAAA,SAAS,gBAAgB;AAclB,MAAM,uBAAuB;AAAA,EAClC,MAAM,CAAC,YAAoB,OAAsC,CAAC,MAChE;AAAA,IACE,KAAK,kBACD,6CACA;AAAA,IACJ,EAAE,WAAW;AAAA,EACf;AAAA,EAEF,QAAQ,CAAC,YAAoB,SAC3B,SAA2B,uBAAuB;AAAA,IAChD,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA,EAEH,QAAQ,CAAC,YAAoB,IAAY,SACvC,SAA2B,uBAAuB,EAAE,IAAI;AAAA,IACtD,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWH,aAAa,CAAC,YAAoB,SAChC;AAAA,IACE,kCAAkC,OAAO,SAAS,IAAI,KAAK,EAAE;AAAA,IAC7D,EAAE,WAAW;AAAA,EACf;AAAA;AAAA,EAGF,SAAS,CAAC,YAAoB,OAC5B,SAAe,uBAAuB,EAAE,IAAI;AAAA,IAC1C,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AACL;","names":[]}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The seam between "something was written" and "the screen is now wrong".
3
+ *
4
+ * ────────────────────────────────────────────────────────────────────────────
5
+ * THE BUG THIS EXISTS TO END.
6
+ *
7
+ * 102 files read through `useApiQuery`. NINE ever called `invalidateQueries`.
8
+ * So the overwhelming majority of writes in this product told the cache
9
+ * nothing: create a booking and walk to the bookings list, and the list served
10
+ * a snapshot taken before the booking existed — for the full `staleTime`, and
11
+ * longer if the component never unmounted, because `refetchOnWindowFocus` was
12
+ * off too. John, 2026-08-23: *"creating booking, waitlist and other things take
13
+ * so much time to load when we create them, its not realtime why is this
14
+ * possible"*.
15
+ *
16
+ * It is possible because remembering to invalidate is a per-call-site
17
+ * discipline, and a per-call-site discipline over a hundred surfaces is not a
18
+ * discipline, it is a coin toss. The nine that did it were the nine somebody
19
+ * happened to be looking at.
20
+ *
21
+ * ────────────────────────────────────────────────────────────────────────────
22
+ * WHY IT LIVES HERE AND NOT IN A HOOK.
23
+ *
24
+ * `apiFetch` already computes the request method — it has to, for the CSRF
25
+ * header. That makes it the one place in the app that knows a write happened,
26
+ * whoever issued it and whatever they did with the result. A hook can only
27
+ * cover the call sites that remember to use it, which is the failure mode
28
+ * again with extra steps.
29
+ *
30
+ * The module holds a callback rather than the QueryClient itself: `core.ts` is
31
+ * plain TypeScript with no React in it and it stays that way. `Providers`
32
+ * registers the invalidator on mount, and until it does this is inert — which
33
+ * is what makes the server render and the tests unaffected.
34
+ *
35
+ * ────────────────────────────────────────────────────────────────────────────
36
+ * COALESCED, because one merchant action is often several writes. Saving a
37
+ * product can PATCH the product, POST its collections and PUT its stock in the
38
+ * same breath; three invalidations would mean three rounds of refetching the
39
+ * same lists. They collapse into one on the next microtask.
40
+ */
41
+ type WriteListener = () => void;
42
+ /**
43
+ * Register the thing that refreshes data after a write. Called once, by
44
+ * `Providers`. Passing `null` unregisters, which only matters in tests.
45
+ */
46
+ export declare function setWriteListener(fn: WriteListener | null): void;
47
+ /**
48
+ * Announce that a write succeeded.
49
+ *
50
+ * `queueMicrotask` rather than a timer: the refresh should happen before the
51
+ * browser paints the next frame, so a merchant never sees the old list even
52
+ * for a moment — but after the current call stack, so a burst of writes from
53
+ * one handler is one refresh.
54
+ */
55
+ export declare function notifyWrite(): void;
56
+ export {};
@@ -0,0 +1,18 @@
1
+ let listener = null;
2
+ let queued = false;
3
+ function setWriteListener(fn) {
4
+ listener = fn;
5
+ }
6
+ function notifyWrite() {
7
+ if (!listener || queued) return;
8
+ queued = true;
9
+ queueMicrotask(() => {
10
+ queued = false;
11
+ listener?.();
12
+ });
13
+ }
14
+ export {
15
+ notifyWrite,
16
+ setWriteListener
17
+ };
18
+ //# sourceMappingURL=cache-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api/cache-bus.ts"],"sourcesContent":["/**\n * The seam between \"something was written\" and \"the screen is now wrong\".\n *\n * ────────────────────────────────────────────────────────────────────────────\n * THE BUG THIS EXISTS TO END.\n *\n * 102 files read through `useApiQuery`. NINE ever called `invalidateQueries`.\n * So the overwhelming majority of writes in this product told the cache\n * nothing: create a booking and walk to the bookings list, and the list served\n * a snapshot taken before the booking existed — for the full `staleTime`, and\n * longer if the component never unmounted, because `refetchOnWindowFocus` was\n * off too. John, 2026-08-23: *\"creating booking, waitlist and other things take\n * so much time to load when we create them, its not realtime why is this\n * possible\"*.\n *\n * It is possible because remembering to invalidate is a per-call-site\n * discipline, and a per-call-site discipline over a hundred surfaces is not a\n * discipline, it is a coin toss. The nine that did it were the nine somebody\n * happened to be looking at.\n *\n * ────────────────────────────────────────────────────────────────────────────\n * WHY IT LIVES HERE AND NOT IN A HOOK.\n *\n * `apiFetch` already computes the request method — it has to, for the CSRF\n * header. That makes it the one place in the app that knows a write happened,\n * whoever issued it and whatever they did with the result. A hook can only\n * cover the call sites that remember to use it, which is the failure mode\n * again with extra steps.\n *\n * The module holds a callback rather than the QueryClient itself: `core.ts` is\n * plain TypeScript with no React in it and it stays that way. `Providers`\n * registers the invalidator on mount, and until it does this is inert — which\n * is what makes the server render and the tests unaffected.\n *\n * ────────────────────────────────────────────────────────────────────────────\n * COALESCED, because one merchant action is often several writes. Saving a\n * product can PATCH the product, POST its collections and PUT its stock in the\n * same breath; three invalidations would mean three rounds of refetching the\n * same lists. They collapse into one on the next microtask.\n */\n\ntype WriteListener = () => void;\n\nlet listener: WriteListener | null = null;\nlet queued = false;\n\n/**\n * Register the thing that refreshes data after a write. Called once, by\n * `Providers`. Passing `null` unregisters, which only matters in tests.\n */\nexport function setWriteListener(fn: WriteListener | null): void {\n listener = fn;\n}\n\n/**\n * Announce that a write succeeded.\n *\n * `queueMicrotask` rather than a timer: the refresh should happen before the\n * browser paints the next frame, so a merchant never sees the old list even\n * for a moment — but after the current call stack, so a burst of writes from\n * one handler is one refresh.\n */\nexport function notifyWrite(): void {\n if (!listener || queued) return;\n queued = true;\n queueMicrotask(() => {\n queued = false;\n listener?.();\n });\n}\n"],"mappings":"AA2CA,IAAI,WAAiC;AACrC,IAAI,SAAS;AAMN,SAAS,iBAAiB,IAAgC;AAC/D,aAAW;AACb;AAUO,SAAS,cAAoB;AAClC,MAAI,CAAC,YAAY,OAAQ;AACzB,WAAS;AACT,iBAAe,MAAM;AACnB,aAAS;AACT,eAAW;AAAA,EACb,CAAC;AACH;","names":[]}
@@ -0,0 +1,49 @@
1
+ import type { CalendarConnectionItem } from './types';
2
+ /** What came back from reading a channel's calendar. */
3
+ export interface ICalImportResult {
4
+ connectionId: string;
5
+ eventsFound: number;
6
+ created: number;
7
+ updated: number;
8
+ removed: number;
9
+ }
10
+ /** How the connected calendars are doing. */
11
+ export interface CalendarSyncStats {
12
+ totalConnections: number;
13
+ connectedCount: number;
14
+ errorCount: number;
15
+ totalSyncedEvents: number;
16
+ providerCounts: Record<string, number>;
17
+ }
18
+ export declare const calendarSyncApi: {
19
+ getStats: (tenantSlug: string) => Promise<CalendarSyncStats>;
20
+ getOAuthUrl: (tenantSlug: string, provider: string) => Promise<{
21
+ url: string;
22
+ }>;
23
+ listConnections: (tenantSlug: string) => Promise<CalendarConnectionItem[]>;
24
+ getConnection: (tenantSlug: string, id: string) => Promise<CalendarConnectionItem>;
25
+ triggerSync: (tenantSlug: string, id: string) => Promise<{
26
+ success: boolean;
27
+ eventsSynced: number;
28
+ message: string;
29
+ }>;
30
+ /**
31
+ * Subscribe to a channel's exported calendar so its bookings hold the
32
+ * property here too. Scoped to one listing: a feed is per listing, and left
33
+ * unscoped one flat's Airbnb calendar would black out every other property.
34
+ *
35
+ * Imports immediately, so a wrong or private link fails now rather than on
36
+ * the day two guests turn up for the same flat.
37
+ */
38
+ subscribeToFeed: (tenantSlug: string, data: {
39
+ feedUrl: string;
40
+ name: string;
41
+ propertyId: string;
42
+ }) => Promise<ICalImportResult>;
43
+ /** Re-read a subscribed feed now. */
44
+ syncFeed: (tenantSlug: string, connectionId: string) => Promise<ICalImportResult>;
45
+ deleteConnection: (tenantSlug: string, id: string) => Promise<void>;
46
+ disconnectConnection: (tenantSlug: string, id: string) => Promise<{
47
+ success: boolean;
48
+ }>;
49
+ };
@@ -0,0 +1,50 @@
1
+ import { apiFetch } from "./core";
2
+ const calendarSyncApi = {
3
+ getStats: (tenantSlug) => apiFetch("/calendar-sync/stats", { tenantSlug }),
4
+ getOAuthUrl: (tenantSlug, provider) => apiFetch(`/calendar-sync/oauth/${provider}/url`, {
5
+ tenantSlug
6
+ }),
7
+ listConnections: (tenantSlug) => apiFetch("/calendar-sync/connections", {
8
+ tenantSlug
9
+ }),
10
+ getConnection: (tenantSlug, id) => apiFetch(`/calendar-sync/connections/${id}`, {
11
+ tenantSlug
12
+ }),
13
+ triggerSync: (tenantSlug, id) => apiFetch(
14
+ `/calendar-sync/connections/${id}/sync`,
15
+ { method: "POST", tenantSlug }
16
+ ),
17
+ /**
18
+ * Subscribe to a channel's exported calendar so its bookings hold the
19
+ * property here too. Scoped to one listing: a feed is per listing, and left
20
+ * unscoped one flat's Airbnb calendar would black out every other property.
21
+ *
22
+ * Imports immediately, so a wrong or private link fails now rather than on
23
+ * the day two guests turn up for the same flat.
24
+ */
25
+ subscribeToFeed: (tenantSlug, data) => apiFetch(`/bookings/calendar/ical/subscribe`, {
26
+ method: "POST",
27
+ tenantSlug,
28
+ body: JSON.stringify(data)
29
+ }),
30
+ /** Re-read a subscribed feed now. */
31
+ syncFeed: (tenantSlug, connectionId) => apiFetch(`/bookings/calendar/ical/${connectionId}/sync`, {
32
+ method: "POST",
33
+ tenantSlug
34
+ }),
35
+ deleteConnection: (tenantSlug, id) => apiFetch(`/calendar-sync/connections/${id}`, {
36
+ method: "DELETE",
37
+ tenantSlug
38
+ }),
39
+ disconnectConnection: (tenantSlug, id) => apiFetch(
40
+ `/calendar-sync/connections/${id}/disconnect`,
41
+ {
42
+ method: "POST",
43
+ tenantSlug
44
+ }
45
+ )
46
+ };
47
+ export {
48
+ calendarSyncApi
49
+ };
50
+ //# sourceMappingURL=calendar-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api/calendar-sync.ts"],"sourcesContent":["import { apiFetch } from './core';\nimport type { CalendarConnectionItem } from './types';\n\n/** What came back from reading a channel's calendar. */\nexport interface ICalImportResult {\n connectionId: string;\n eventsFound: number;\n created: number;\n updated: number;\n removed: number;\n}\n\n/** How the connected calendars are doing. */\nexport interface CalendarSyncStats {\n totalConnections: number;\n connectedCount: number;\n errorCount: number;\n totalSyncedEvents: number;\n providerCounts: Record<string, number>;\n}\n\nexport const calendarSyncApi = {\n getStats: (tenantSlug: string) =>\n apiFetch<CalendarSyncStats>('/calendar-sync/stats', { tenantSlug }),\n\n getOAuthUrl: (tenantSlug: string, provider: string) =>\n apiFetch<{ url: string }>(`/calendar-sync/oauth/${provider}/url`, {\n tenantSlug,\n }),\n\n listConnections: (tenantSlug: string) =>\n apiFetch<CalendarConnectionItem[]>('/calendar-sync/connections', {\n tenantSlug,\n }),\n\n getConnection: (tenantSlug: string, id: string) =>\n apiFetch<CalendarConnectionItem>(`/calendar-sync/connections/${id}`, {\n tenantSlug,\n }),\n\n triggerSync: (tenantSlug: string, id: string) =>\n apiFetch<{ success: boolean; eventsSynced: number; message: string }>(\n `/calendar-sync/connections/${id}/sync`,\n { method: 'POST', tenantSlug },\n ),\n\n /**\n * Subscribe to a channel's exported calendar so its bookings hold the\n * property here too. Scoped to one listing: a feed is per listing, and left\n * unscoped one flat's Airbnb calendar would black out every other property.\n *\n * Imports immediately, so a wrong or private link fails now rather than on\n * the day two guests turn up for the same flat.\n */\n subscribeToFeed: (\n tenantSlug: string,\n data: { feedUrl: string; name: string; propertyId: string },\n ) =>\n apiFetch<ICalImportResult>(`/bookings/calendar/ical/subscribe`, {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(data),\n }),\n\n /** Re-read a subscribed feed now. */\n syncFeed: (tenantSlug: string, connectionId: string) =>\n apiFetch<ICalImportResult>(`/bookings/calendar/ical/${connectionId}/sync`, {\n method: 'POST',\n tenantSlug,\n }),\n\n deleteConnection: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/calendar-sync/connections/${id}`, {\n method: 'DELETE',\n tenantSlug,\n }),\n\n disconnectConnection: (tenantSlug: string, id: string) =>\n apiFetch<{ success: boolean }>(\n `/calendar-sync/connections/${id}/disconnect`,\n {\n method: 'POST',\n tenantSlug,\n },\n ),\n};\n\n// ============================================\n// BOOKING CALENDAR API\n// ============================================\n"],"mappings":"AAAA,SAAS,gBAAgB;AAqBlB,MAAM,kBAAkB;AAAA,EAC7B,UAAU,CAAC,eACT,SAA4B,wBAAwB,EAAE,WAAW,CAAC;AAAA,EAEpE,aAAa,CAAC,YAAoB,aAChC,SAA0B,wBAAwB,QAAQ,QAAQ;AAAA,IAChE;AAAA,EACF,CAAC;AAAA,EAEH,iBAAiB,CAAC,eAChB,SAAmC,8BAA8B;AAAA,IAC/D;AAAA,EACF,CAAC;AAAA,EAEH,eAAe,CAAC,YAAoB,OAClC,SAAiC,8BAA8B,EAAE,IAAI;AAAA,IACnE;AAAA,EACF,CAAC;AAAA,EAEH,aAAa,CAAC,YAAoB,OAChC;AAAA,IACE,8BAA8B,EAAE;AAAA,IAChC,EAAE,QAAQ,QAAQ,WAAW;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUF,iBAAiB,CACf,YACA,SAEA,SAA2B,qCAAqC;AAAA,IAC9D,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA;AAAA,EAGH,UAAU,CAAC,YAAoB,iBAC7B,SAA2B,2BAA2B,YAAY,SAAS;AAAA,IACzE,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA,EAEH,kBAAkB,CAAC,YAAoB,OACrC,SAAe,8BAA8B,EAAE,IAAI;AAAA,IACjD,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA,EAEH,sBAAsB,CAAC,YAAoB,OACzC;AAAA,IACE,8BAA8B,EAAE;AAAA,IAChC;AAAA,MACE,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACJ;","names":[]}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * A campaign that is the PROMO, not the message.
3
+ *
4
+ * The API calls it an initiative; the merchant calls it a campaign, and the
5
+ * sends inside it are messages — which is what the campaigns table's own first
6
+ * column has always been headed. The word "promotion" was unavailable: it
7
+ * already means a discount or a gift card one row down in this section, and two
8
+ * near-identical words in one nav is the failure this codebase has spent the
9
+ * day removing.
10
+ */
11
+ export interface CampaignInitiative {
12
+ id: string;
13
+ name: string;
14
+ /**
15
+ * The `utm_campaign` this promo claims, generated from the name and never
16
+ * edited — a link already in a bio cannot be renamed.
17
+ *
18
+ * Null only on rows made before the column existed. The link is the half of
19
+ * attribution the merchant does not have to get right: typing "Instagram
20
+ * Stories" when the UTM says `instagram` reports nothing and looks broken.
21
+ */
22
+ slug: string | null;
23
+ startsAt: string | null;
24
+ endsAt: string | null;
25
+ /** Codes as typed, not ids — a code travels, a row does not. */
26
+ discountCodes: string[];
27
+ /** `utm_source` values this campaign claims. */
28
+ sources: string[];
29
+ /**
30
+ * What running it cost, in the tenant's currency, or null when nobody has
31
+ * said. NOT zero-defaulted: "free" and "unpriced" are different states, and
32
+ * only one of them can be divided into revenue.
33
+ */
34
+ spend: number | null;
35
+ notes: string | null;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ }
39
+ export interface InitiativeLine {
40
+ kind: 'campaign' | 'source' | 'discount';
41
+ key: string;
42
+ label: string;
43
+ revenue: number;
44
+ orders: number;
45
+ }
46
+ export interface InitiativePerformance {
47
+ initiativeId: string;
48
+ from: string;
49
+ to: string;
50
+ /** What the merchant said it cost. Null when nobody has said. */
51
+ spend: number | null;
52
+ /** Revenue per unit of spend. Null when there is no spend to divide by. */
53
+ returnOnSpend: number | null;
54
+ /**
55
+ * NOT the sum of `lines`, and never presented as one.
56
+ *
57
+ * An order that arrived on a message's link carrying `utm_source=instagram`
58
+ * belongs to two of the campaign's keys, so the API counts distinct orders
59
+ * for the total rather than adding the rows. The lines can exceed it.
60
+ */
61
+ revenue: number;
62
+ orders: number;
63
+ lines: InitiativeLine[];
64
+ /** Parts that earned nothing in the window, named rather than dropped. */
65
+ silent: string[];
66
+ }
67
+ export interface InitiativeInput {
68
+ name?: string;
69
+ startsAt?: string | null;
70
+ endsAt?: string | null;
71
+ discountCodes?: string[];
72
+ sources?: string[];
73
+ /** `null` clears it; absent leaves it — this is a PATCH on the API side. */
74
+ spend?: number | null;
75
+ notes?: string | null;
76
+ }
77
+ /** GET /campaign-initiatives/return-on-spend: spend, return and cost per new customer. */
78
+ export interface AcquisitionCost {
79
+ from: string;
80
+ to: string;
81
+ /** Promos the merchant typed a cost onto that overlap the window. */
82
+ priced: {
83
+ initiativeId: string;
84
+ name: string;
85
+ spend: number;
86
+ revenue: number;
87
+ returnOnSpend: number | null;
88
+ }[];
89
+ /** Overlapping promos with no cost entered. */
90
+ unpriced: number;
91
+ totalSpend: number;
92
+ attributedRevenue: number;
93
+ /** Revenue per unit of spend; null with no spend. */
94
+ returnOnSpend: number | null;
95
+ /** Customers whose first paid order fell in the window. */
96
+ newCustomers: number;
97
+ /** Total spend over every new customer, not only promo-attributed ones. */
98
+ costPerNewCustomer: number | null;
99
+ }
100
+ export declare const campaignInitiativesApi: {
101
+ returnOnSpend: (tenantSlug: string, query: {
102
+ startDate: string;
103
+ endDate: string;
104
+ }) => Promise<AcquisitionCost>;
105
+ list: (tenantSlug: string) => Promise<CampaignInitiative[]>;
106
+ create: (tenantSlug: string, body: InitiativeInput) => Promise<CampaignInitiative>;
107
+ update: (tenantSlug: string, id: string, body: InitiativeInput) => Promise<CampaignInitiative>;
108
+ remove: (tenantSlug: string, id: string) => Promise<void>;
109
+ /** The whole set, not a diff — the screen is a list of tick boxes. */
110
+ setCampaigns: (tenantSlug: string, id: string, campaignIds: string[]) => Promise<void>;
111
+ performance: (tenantSlug: string, id: string, range?: {
112
+ startDate: string;
113
+ endDate: string;
114
+ }) => Promise<InitiativePerformance>;
115
+ };
@@ -0,0 +1,42 @@
1
+ import { apiFetch } from "./core";
2
+ const campaignInitiativesApi = {
3
+ returnOnSpend: (tenantSlug, query) => {
4
+ const params = new URLSearchParams(query);
5
+ return apiFetch(
6
+ `/campaign-initiatives/return-on-spend?${params}`,
7
+ { tenantSlug }
8
+ );
9
+ },
10
+ list: (tenantSlug) => apiFetch("/campaign-initiatives", { tenantSlug }),
11
+ create: (tenantSlug, body) => apiFetch("/campaign-initiatives", {
12
+ method: "POST",
13
+ tenantSlug,
14
+ body: JSON.stringify(body)
15
+ }),
16
+ update: (tenantSlug, id, body) => apiFetch(`/campaign-initiatives/${id}`, {
17
+ method: "PATCH",
18
+ tenantSlug,
19
+ body: JSON.stringify(body)
20
+ }),
21
+ remove: (tenantSlug, id) => apiFetch(`/campaign-initiatives/${id}`, {
22
+ method: "DELETE",
23
+ tenantSlug
24
+ }),
25
+ /** The whole set, not a diff — the screen is a list of tick boxes. */
26
+ setCampaigns: (tenantSlug, id, campaignIds) => apiFetch(`/campaign-initiatives/${id}/campaigns`, {
27
+ method: "PUT",
28
+ tenantSlug,
29
+ body: JSON.stringify({ campaignIds })
30
+ }),
31
+ performance: (tenantSlug, id, range) => {
32
+ const qs = range ? `?${new URLSearchParams({ startDate: range.startDate, endDate: range.endDate })}` : "";
33
+ return apiFetch(
34
+ `/campaign-initiatives/${id}/performance${qs}`,
35
+ { tenantSlug }
36
+ );
37
+ }
38
+ };
39
+ export {
40
+ campaignInitiativesApi
41
+ };
42
+ //# sourceMappingURL=campaign-initiatives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api/campaign-initiatives.ts"],"sourcesContent":["import { apiFetch } from './core';\n\n/**\n * A campaign that is the PROMO, not the message.\n *\n * The API calls it an initiative; the merchant calls it a campaign, and the\n * sends inside it are messages — which is what the campaigns table's own first\n * column has always been headed. The word \"promotion\" was unavailable: it\n * already means a discount or a gift card one row down in this section, and two\n * near-identical words in one nav is the failure this codebase has spent the\n * day removing.\n */\nexport interface CampaignInitiative {\n id: string;\n name: string;\n /**\n * The `utm_campaign` this promo claims, generated from the name and never\n * edited — a link already in a bio cannot be renamed.\n *\n * Null only on rows made before the column existed. The link is the half of\n * attribution the merchant does not have to get right: typing \"Instagram\n * Stories\" when the UTM says `instagram` reports nothing and looks broken.\n */\n slug: string | null;\n startsAt: string | null;\n endsAt: string | null;\n /** Codes as typed, not ids — a code travels, a row does not. */\n discountCodes: string[];\n /** `utm_source` values this campaign claims. */\n sources: string[];\n /**\n * What running it cost, in the tenant's currency, or null when nobody has\n * said. NOT zero-defaulted: \"free\" and \"unpriced\" are different states, and\n * only one of them can be divided into revenue.\n */\n spend: number | null;\n notes: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface InitiativeLine {\n kind: 'campaign' | 'source' | 'discount';\n key: string;\n label: string;\n revenue: number;\n orders: number;\n}\n\nexport interface InitiativePerformance {\n initiativeId: string;\n from: string;\n to: string;\n /** What the merchant said it cost. Null when nobody has said. */\n spend: number | null;\n /** Revenue per unit of spend. Null when there is no spend to divide by. */\n returnOnSpend: number | null;\n /**\n * NOT the sum of `lines`, and never presented as one.\n *\n * An order that arrived on a message's link carrying `utm_source=instagram`\n * belongs to two of the campaign's keys, so the API counts distinct orders\n * for the total rather than adding the rows. The lines can exceed it.\n */\n revenue: number;\n orders: number;\n lines: InitiativeLine[];\n /** Parts that earned nothing in the window, named rather than dropped. */\n silent: string[];\n}\n\nexport interface InitiativeInput {\n name?: string;\n startsAt?: string | null;\n endsAt?: string | null;\n discountCodes?: string[];\n sources?: string[];\n /** `null` clears it; absent leaves it — this is a PATCH on the API side. */\n spend?: number | null;\n notes?: string | null;\n}\n\n/** GET /campaign-initiatives/return-on-spend: spend, return and cost per new customer. */\nexport interface AcquisitionCost {\n from: string;\n to: string;\n /** Promos the merchant typed a cost onto that overlap the window. */\n priced: {\n initiativeId: string;\n name: string;\n spend: number;\n revenue: number;\n returnOnSpend: number | null;\n }[];\n /** Overlapping promos with no cost entered. */\n unpriced: number;\n totalSpend: number;\n attributedRevenue: number;\n /** Revenue per unit of spend; null with no spend. */\n returnOnSpend: number | null;\n /** Customers whose first paid order fell in the window. */\n newCustomers: number;\n /** Total spend over every new customer, not only promo-attributed ones. */\n costPerNewCustomer: number | null;\n}\n\nexport const campaignInitiativesApi = {\n returnOnSpend: (\n tenantSlug: string,\n query: { startDate: string; endDate: string },\n ) => {\n const params = new URLSearchParams(query);\n return apiFetch<AcquisitionCost>(\n `/campaign-initiatives/return-on-spend?${params}`,\n { tenantSlug },\n );\n },\n\n list: (tenantSlug: string) =>\n apiFetch<CampaignInitiative[]>('/campaign-initiatives', { tenantSlug }),\n\n create: (tenantSlug: string, body: InitiativeInput) =>\n apiFetch<CampaignInitiative>('/campaign-initiatives', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(body),\n }),\n\n update: (tenantSlug: string, id: string, body: InitiativeInput) =>\n apiFetch<CampaignInitiative>(`/campaign-initiatives/${id}`, {\n method: 'PATCH',\n tenantSlug,\n body: JSON.stringify(body),\n }),\n\n remove: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/campaign-initiatives/${id}`, {\n method: 'DELETE',\n tenantSlug,\n }),\n\n /** The whole set, not a diff — the screen is a list of tick boxes. */\n setCampaigns: (tenantSlug: string, id: string, campaignIds: string[]) =>\n apiFetch<void>(`/campaign-initiatives/${id}/campaigns`, {\n method: 'PUT',\n tenantSlug,\n body: JSON.stringify({ campaignIds }),\n }),\n\n performance: (\n tenantSlug: string,\n id: string,\n range?: { startDate: string; endDate: string },\n ) => {\n const qs = range\n ? `?${new URLSearchParams({ startDate: range.startDate, endDate: range.endDate })}`\n : '';\n return apiFetch<InitiativePerformance>(\n `/campaign-initiatives/${id}/performance${qs}`,\n { tenantSlug },\n );\n },\n};\n"],"mappings":"AAAA,SAAS,gBAAgB;AA0GlB,MAAM,yBAAyB;AAAA,EACpC,eAAe,CACb,YACA,UACG;AACH,UAAM,SAAS,IAAI,gBAAgB,KAAK;AACxC,WAAO;AAAA,MACL,yCAAyC,MAAM;AAAA,MAC/C,EAAE,WAAW;AAAA,IACf;AAAA,EACF;AAAA,EAEA,MAAM,CAAC,eACL,SAA+B,yBAAyB,EAAE,WAAW,CAAC;AAAA,EAExE,QAAQ,CAAC,YAAoB,SAC3B,SAA6B,yBAAyB;AAAA,IACpD,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA,EAEH,QAAQ,CAAC,YAAoB,IAAY,SACvC,SAA6B,yBAAyB,EAAE,IAAI;AAAA,IAC1D,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,IAAI;AAAA,EAC3B,CAAC;AAAA,EAEH,QAAQ,CAAC,YAAoB,OAC3B,SAAe,yBAAyB,EAAE,IAAI;AAAA,IAC5C,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA;AAAA,EAGH,cAAc,CAAC,YAAoB,IAAY,gBAC7C,SAAe,yBAAyB,EAAE,cAAc;AAAA,IACtD,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,EAAE,YAAY,CAAC;AAAA,EACtC,CAAC;AAAA,EAEH,aAAa,CACX,YACA,IACA,UACG;AACH,UAAM,KAAK,QACP,IAAI,IAAI,gBAAgB,EAAE,WAAW,MAAM,WAAW,SAAS,MAAM,QAAQ,CAAC,CAAC,KAC/E;AACJ,WAAO;AAAA,MACL,yBAAyB,EAAE,eAAe,EAAE;AAAA,MAC5C,EAAE,WAAW;AAAA,IACf;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,89 @@
1
+ import type { CampaignChannel, CampaignStatus, Campaign, CampaignStats, CreateCampaignInput, PaginatedCampaigns } from './types';
2
+ export type DeliverabilityStatus = 'ok' | 'watch' | 'paused' | 'too_early';
3
+ /** How a workspace's email sending is going, over a rolling window. */
4
+ export interface Deliverability {
5
+ windowDays: number;
6
+ campaigns: number;
7
+ sent: number;
8
+ bounced: number;
9
+ complained: number;
10
+ unsubscribed: number;
11
+ /** Fractions of `sent` (0.003 is 0.3%); null while nothing has been sent. */
12
+ bounceRate: number | null;
13
+ complaintRate: number | null;
14
+ unsubscribeRate: number | null;
15
+ status: DeliverabilityStatus;
16
+ message: string | null;
17
+ limits: {
18
+ complaintWatch: number;
19
+ complaintLimit: number;
20
+ bounceWatch: number;
21
+ };
22
+ problemAddressesByProvider: Array<{
23
+ domain: string;
24
+ bounced: number;
25
+ complained: number;
26
+ }>;
27
+ }
28
+ export declare const campaignsApi: {
29
+ /**
30
+ * Complaint, bounce and unsubscribe rates for email sent in the last 30 days
31
+ * (7 to 90). Mailbox providers reject mail at a 0.3% complaint rate and ask
32
+ * for under 0.1%, so the API pauses email campaigns when it is reached.
33
+ */
34
+ deliverability: (tenantSlug: string, days?: number) => Promise<Deliverability>;
35
+ list: (tenantSlug: string, query?: {
36
+ channel?: CampaignChannel;
37
+ status?: CampaignStatus;
38
+ /** Matches the subject or the body, case-insensitively. */
39
+ search?: string;
40
+ page?: number;
41
+ limit?: number;
42
+ }) => Promise<PaginatedCampaigns>;
43
+ /**
44
+ * Omit the channel for totals across every channel. GET /campaigns/stats has
45
+ * always taken `channel` as optional; the client required it, so the hub was
46
+ * asking twice (email, then whatsapp) and adding the two together.
47
+ */
48
+ getStats: (tenantSlug: string, channel?: CampaignChannel) => Promise<CampaignStats>;
49
+ getById: (tenantSlug: string, id: string) => Promise<Campaign>;
50
+ /**
51
+ * Mirrors `CreateCampaignDto` on the API, which is narrower than the Campaign
52
+ * entity. The app validates with `forbidNonWhitelisted`, so any extra
53
+ * property is a 400 — `status` in particular is server-assigned ('draft') and
54
+ * sending it fails the whole request.
55
+ *
56
+ * This used to be typed `Omit<Campaign, 'id' | 'createdAt'>`, which does not
57
+ * describe the endpoint at all; every caller had to cast through `as any` to
58
+ * satisfy it, and the cast is what hid the mismatch.
59
+ */
60
+ create: (tenantSlug: string, payload: CreateCampaignInput) => Promise<Campaign>;
61
+ /** A new draft with this campaign's content; nothing is sent or scheduled. */
62
+ duplicate: (tenantSlug: string, id: string) => Promise<Campaign>;
63
+ delete: (tenantSlug: string, id: string) => Promise<void>;
64
+ send: (tenantSlug: string, id: string, recipients: string[]) => Promise<Campaign>;
65
+ /**
66
+ * Who a push campaign would reach: the member ids with a browser subscribed,
67
+ * optionally narrowed to a segment. The other channels are resolved here from
68
+ * addresses; a browser subscription is only visible to the API.
69
+ */
70
+ pushAudience: (tenantSlug: string, segmentId?: string) => Promise<{
71
+ recipients: string[];
72
+ skipped: number;
73
+ }>;
74
+ /**
75
+ * Send an email campaign now to an audience resolved server-side from members
76
+ * (a saved segment, or all marketing-opted-in customers when segmentId is
77
+ * omitted). Only emailable members are dispatched to (real send via Resend).
78
+ */
79
+ sendToAudience: (tenantSlug: string, id: string, segmentId?: string) => Promise<Campaign>;
80
+ /** Queue an email campaign for future dispatch to a resolved audience. */
81
+ /**
82
+ * Queue a draft for later. The audience is sent as a spec, not a recipient
83
+ * list, because the API resolves it when the campaign fires — a list frozen
84
+ * now would send to an audience that no longer exists by then.
85
+ */
86
+ schedule: (tenantSlug: string, id: string, scheduledAt: string, segmentId?: string) => Promise<Campaign>;
87
+ /** Cancel a pending schedule and return the campaign to draft. */
88
+ unschedule: (tenantSlug: string, id: string) => Promise<Campaign>;
89
+ };
@@ -0,0 +1,100 @@
1
+ import { apiFetch } from "./core";
2
+ const campaignsApi = {
3
+ /**
4
+ * Complaint, bounce and unsubscribe rates for email sent in the last 30 days
5
+ * (7 to 90). Mailbox providers reject mail at a 0.3% complaint rate and ask
6
+ * for under 0.1%, so the API pauses email campaigns when it is reached.
7
+ */
8
+ deliverability: (tenantSlug, days = 30) => apiFetch(`/campaigns/deliverability?days=${days}`, {
9
+ tenantSlug
10
+ }),
11
+ list: (tenantSlug, query) => apiFetch(
12
+ `/campaigns?${new URLSearchParams(
13
+ Object.fromEntries(
14
+ Object.entries(query ?? {}).filter(([, v]) => v != null).map(([k, v]) => [k, String(v)])
15
+ )
16
+ )}`,
17
+ { tenantSlug }
18
+ ),
19
+ /**
20
+ * Omit the channel for totals across every channel. GET /campaigns/stats has
21
+ * always taken `channel` as optional; the client required it, so the hub was
22
+ * asking twice (email, then whatsapp) and adding the two together.
23
+ */
24
+ getStats: (tenantSlug, channel) => apiFetch(
25
+ `/campaigns/stats${channel ? `?channel=${channel}` : ""}`,
26
+ { tenantSlug }
27
+ ),
28
+ getById: (tenantSlug, id) => apiFetch(`/campaigns/${id}`, { tenantSlug }),
29
+ /**
30
+ * Mirrors `CreateCampaignDto` on the API, which is narrower than the Campaign
31
+ * entity. The app validates with `forbidNonWhitelisted`, so any extra
32
+ * property is a 400 — `status` in particular is server-assigned ('draft') and
33
+ * sending it fails the whole request.
34
+ *
35
+ * This used to be typed `Omit<Campaign, 'id' | 'createdAt'>`, which does not
36
+ * describe the endpoint at all; every caller had to cast through `as any` to
37
+ * satisfy it, and the cast is what hid the mismatch.
38
+ */
39
+ create: (tenantSlug, payload) => apiFetch("/campaigns", {
40
+ method: "POST",
41
+ tenantSlug,
42
+ body: JSON.stringify(payload)
43
+ }),
44
+ /** A new draft with this campaign's content; nothing is sent or scheduled. */
45
+ duplicate: (tenantSlug, id) => apiFetch(`/campaigns/${id}/duplicate`, {
46
+ method: "POST",
47
+ tenantSlug
48
+ }),
49
+ delete: (tenantSlug, id) => apiFetch(`/campaigns/${id}`, { method: "DELETE", tenantSlug }),
50
+ send: (tenantSlug, id, recipients) => apiFetch(`/campaigns/${id}/send`, {
51
+ method: "POST",
52
+ tenantSlug,
53
+ body: JSON.stringify({ recipients })
54
+ }),
55
+ /**
56
+ * Who a push campaign would reach: the member ids with a browser subscribed,
57
+ * optionally narrowed to a segment. The other channels are resolved here from
58
+ * addresses; a browser subscription is only visible to the API.
59
+ */
60
+ pushAudience: (tenantSlug, segmentId) => apiFetch(
61
+ `/campaigns/push-audience${segmentId ? `?segmentId=${segmentId}` : ""}`,
62
+ { tenantSlug }
63
+ ),
64
+ /**
65
+ * Send an email campaign now to an audience resolved server-side from members
66
+ * (a saved segment, or all marketing-opted-in customers when segmentId is
67
+ * omitted). Only emailable members are dispatched to (real send via Resend).
68
+ */
69
+ sendToAudience: (tenantSlug, id, segmentId) => apiFetch(`/campaigns/${id}/send-audience`, {
70
+ method: "POST",
71
+ tenantSlug,
72
+ body: JSON.stringify(segmentId ? { segmentId } : {})
73
+ }),
74
+ /** Queue an email campaign for future dispatch to a resolved audience. */
75
+ /**
76
+ * Queue a draft for later. The audience is sent as a spec, not a recipient
77
+ * list, because the API resolves it when the campaign fires — a list frozen
78
+ * now would send to an audience that no longer exists by then.
79
+ */
80
+ schedule: (tenantSlug, id, scheduledAt, segmentId) => apiFetch(`/campaigns/${id}/schedule`, {
81
+ method: "POST",
82
+ tenantSlug,
83
+ body: JSON.stringify({
84
+ scheduledAt,
85
+ // Required by ScheduleCampaignDto. Omitting it (as this did) fails
86
+ // validation before the request reaches the use-case.
87
+ audienceType: segmentId ? "segment" : "all_opted_in",
88
+ ...segmentId ? { segmentId } : {}
89
+ })
90
+ }),
91
+ /** Cancel a pending schedule and return the campaign to draft. */
92
+ unschedule: (tenantSlug, id) => apiFetch(`/campaigns/${id}/unschedule`, {
93
+ method: "POST",
94
+ tenantSlug
95
+ })
96
+ };
97
+ export {
98
+ campaignsApi
99
+ };
100
+ //# sourceMappingURL=campaigns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api/campaigns.ts"],"sourcesContent":["import { apiFetch } from './core';\nimport type {\n CampaignChannel,\n CampaignStatus,\n Campaign,\n CampaignStats,\n CreateCampaignInput,\n PaginatedCampaigns,\n} from './types';\n\nexport type DeliverabilityStatus = 'ok' | 'watch' | 'paused' | 'too_early';\n\n/** How a workspace's email sending is going, over a rolling window. */\nexport interface Deliverability {\n windowDays: number;\n campaigns: number;\n sent: number;\n bounced: number;\n complained: number;\n unsubscribed: number;\n /** Fractions of `sent` (0.003 is 0.3%); null while nothing has been sent. */\n bounceRate: number | null;\n complaintRate: number | null;\n unsubscribeRate: number | null;\n status: DeliverabilityStatus;\n message: string | null;\n limits: {\n complaintWatch: number;\n complaintLimit: number;\n bounceWatch: number;\n };\n problemAddressesByProvider: Array<{\n domain: string;\n bounced: number;\n complained: number;\n }>;\n}\n\nexport const campaignsApi = {\n /**\n * Complaint, bounce and unsubscribe rates for email sent in the last 30 days\n * (7 to 90). Mailbox providers reject mail at a 0.3% complaint rate and ask\n * for under 0.1%, so the API pauses email campaigns when it is reached.\n */\n deliverability: (tenantSlug: string, days = 30) =>\n apiFetch<Deliverability>(`/campaigns/deliverability?days=${days}`, {\n tenantSlug,\n }),\n\n list: (\n tenantSlug: string,\n query?: {\n channel?: CampaignChannel;\n status?: CampaignStatus;\n /** Matches the subject or the body, case-insensitively. */\n search?: string;\n page?: number;\n limit?: number;\n },\n ) =>\n apiFetch<PaginatedCampaigns>(\n `/campaigns?${new URLSearchParams(\n Object.fromEntries(\n Object.entries(query ?? {})\n .filter(([, v]) => v != null)\n .map(([k, v]) => [k, String(v)]),\n ),\n )}`,\n { tenantSlug },\n ),\n\n /**\n * Omit the channel for totals across every channel. GET /campaigns/stats has\n * always taken `channel` as optional; the client required it, so the hub was\n * asking twice (email, then whatsapp) and adding the two together.\n */\n getStats: (tenantSlug: string, channel?: CampaignChannel) =>\n apiFetch<CampaignStats>(\n `/campaigns/stats${channel ? `?channel=${channel}` : ''}`,\n { tenantSlug },\n ),\n\n getById: (tenantSlug: string, id: string) =>\n apiFetch<Campaign>(`/campaigns/${id}`, { tenantSlug }),\n\n /**\n * Mirrors `CreateCampaignDto` on the API, which is narrower than the Campaign\n * entity. The app validates with `forbidNonWhitelisted`, so any extra\n * property is a 400 — `status` in particular is server-assigned ('draft') and\n * sending it fails the whole request.\n *\n * This used to be typed `Omit<Campaign, 'id' | 'createdAt'>`, which does not\n * describe the endpoint at all; every caller had to cast through `as any` to\n * satisfy it, and the cast is what hid the mismatch.\n */\n create: (tenantSlug: string, payload: CreateCampaignInput) =>\n apiFetch<Campaign>('/campaigns', {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(payload),\n }),\n\n /** A new draft with this campaign's content; nothing is sent or scheduled. */\n duplicate: (tenantSlug: string, id: string) =>\n apiFetch<Campaign>(`/campaigns/${id}/duplicate`, {\n method: 'POST',\n tenantSlug,\n }),\n\n delete: (tenantSlug: string, id: string) =>\n apiFetch<void>(`/campaigns/${id}`, { method: 'DELETE', tenantSlug }),\n\n send: (tenantSlug: string, id: string, recipients: string[]) =>\n apiFetch<Campaign>(`/campaigns/${id}/send`, {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify({ recipients }),\n }),\n\n /**\n * Who a push campaign would reach: the member ids with a browser subscribed,\n * optionally narrowed to a segment. The other channels are resolved here from\n * addresses; a browser subscription is only visible to the API.\n */\n pushAudience: (tenantSlug: string, segmentId?: string) =>\n apiFetch<{ recipients: string[]; skipped: number }>(\n `/campaigns/push-audience${segmentId ? `?segmentId=${segmentId}` : ''}`,\n { tenantSlug },\n ),\n\n /**\n * Send an email campaign now to an audience resolved server-side from members\n * (a saved segment, or all marketing-opted-in customers when segmentId is\n * omitted). Only emailable members are dispatched to (real send via Resend).\n */\n sendToAudience: (tenantSlug: string, id: string, segmentId?: string) =>\n apiFetch<Campaign>(`/campaigns/${id}/send-audience`, {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify(segmentId ? { segmentId } : {}),\n }),\n\n /** Queue an email campaign for future dispatch to a resolved audience. */\n /**\n * Queue a draft for later. The audience is sent as a spec, not a recipient\n * list, because the API resolves it when the campaign fires — a list frozen\n * now would send to an audience that no longer exists by then.\n */\n schedule: (\n tenantSlug: string,\n id: string,\n scheduledAt: string,\n segmentId?: string,\n ) =>\n apiFetch<Campaign>(`/campaigns/${id}/schedule`, {\n method: 'POST',\n tenantSlug,\n body: JSON.stringify({\n scheduledAt,\n // Required by ScheduleCampaignDto. Omitting it (as this did) fails\n // validation before the request reaches the use-case.\n audienceType: segmentId ? 'segment' : 'all_opted_in',\n ...(segmentId ? { segmentId } : {}),\n }),\n }),\n\n /** Cancel a pending schedule and return the campaign to draft. */\n unschedule: (tenantSlug: string, id: string) =>\n apiFetch<Campaign>(`/campaigns/${id}/unschedule`, {\n method: 'POST',\n tenantSlug,\n }),\n};\n\n// ============================================\n// AUTOMATIONS API\n// ============================================\n"],"mappings":"AAAA,SAAS,gBAAgB;AAsClB,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1B,gBAAgB,CAAC,YAAoB,OAAO,OAC1C,SAAyB,kCAAkC,IAAI,IAAI;AAAA,IACjE;AAAA,EACF,CAAC;AAAA,EAEH,MAAM,CACJ,YACA,UASA;AAAA,IACE,cAAc,IAAI;AAAA,MAChB,OAAO;AAAA,QACL,OAAO,QAAQ,SAAS,CAAC,CAAC,EACvB,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,EAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,IACD,EAAE,WAAW;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOF,UAAU,CAAC,YAAoB,YAC7B;AAAA,IACE,mBAAmB,UAAU,YAAY,OAAO,KAAK,EAAE;AAAA,IACvD,EAAE,WAAW;AAAA,EACf;AAAA,EAEF,SAAS,CAAC,YAAoB,OAC5B,SAAmB,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYvD,QAAQ,CAAC,YAAoB,YAC3B,SAAmB,cAAc;AAAA,IAC/B,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,OAAO;AAAA,EAC9B,CAAC;AAAA;AAAA,EAGH,WAAW,CAAC,YAAoB,OAC9B,SAAmB,cAAc,EAAE,cAAc;AAAA,IAC/C,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAAA,EAEH,QAAQ,CAAC,YAAoB,OAC3B,SAAe,cAAc,EAAE,IAAI,EAAE,QAAQ,UAAU,WAAW,CAAC;AAAA,EAErE,MAAM,CAAC,YAAoB,IAAY,eACrC,SAAmB,cAAc,EAAE,SAAS;AAAA,IAC1C,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,EAAE,WAAW,CAAC;AAAA,EACrC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOH,cAAc,CAAC,YAAoB,cACjC;AAAA,IACE,2BAA2B,YAAY,cAAc,SAAS,KAAK,EAAE;AAAA,IACrE,EAAE,WAAW;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOF,gBAAgB,CAAC,YAAoB,IAAY,cAC/C,SAAmB,cAAc,EAAE,kBAAkB;AAAA,IACnD,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU,YAAY,EAAE,UAAU,IAAI,CAAC,CAAC;AAAA,EACrD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQH,UAAU,CACR,YACA,IACA,aACA,cAEA,SAAmB,cAAc,EAAE,aAAa;AAAA,IAC9C,QAAQ;AAAA,IACR;AAAA,IACA,MAAM,KAAK,UAAU;AAAA,MACnB;AAAA;AAAA;AAAA,MAGA,cAAc,YAAY,YAAY;AAAA,MACtC,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,IACnC,CAAC;AAAA,EACH,CAAC;AAAA;AAAA,EAGH,YAAY,CAAC,YAAoB,OAC/B,SAAmB,cAAc,EAAE,eAAe;AAAA,IAChD,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AACL;","names":[]}
@@ -0,0 +1,12 @@
1
+ import type { ApiFeatures } from './types';
2
+ export declare const capabilitiesApi: {
3
+ /**
4
+ * Which optional endpoints this deployment serves.
5
+ *
6
+ * `tenantSlug` is optional because this describes the BUILD, not the account,
7
+ * and the screen that needs it most has no session and no workspace: the
8
+ * login page decides whether to offer a passkey from this answer. Requiring a
9
+ * slug meant the request never fired there.
10
+ */
11
+ getFeatures: (tenantSlug?: string) => Promise<ApiFeatures>;
12
+ };