@wix/himalaya-cli 0.1543.0 → 0.1545.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/agent/src/index.d.ts +5 -2
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/state/src/index.d.ts +14 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/state/src/read.d.ts +60 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/auth-providers/wix/src/index.d.ts +3 -2
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/activity-counters-v1/src/index.d.ts +19 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ai-site-chat/src/index.d.ts +19 -0
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/analytics/src/index.d.ts +42 -2
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/async-jobs/src/index.d.ts +19 -0
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/automations-v1/src/index.d.ts +19 -0
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/badges-v2/src/index.d.ts +19 -0
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/billing-tax-v1/src/index.d.ts +19 -0
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/extensions.d.ts +5 -4
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/index.d.ts +19 -0
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/extensions.d.ts +4 -4
  15. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/index.d.ts +19 -0
  16. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-feed/src/index.d.ts +11 -0
  17. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-tools-v1/src/index.d.ts +19 -0
  18. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/chat-web/src/index.d.ts +22 -1
  19. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/index.d.ts +19 -0
  20. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/contacts/src/index.d.ts +19 -0
  21. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/coupons/src/index.d.ts +24 -2
  22. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/crm-tasks/src/index.d.ts +11 -0
  23. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/dashboard-setup/src/index.d.ts +11 -0
  24. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/data-collections-v1/src/index.d.ts +19 -0
  25. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/donations/src/index.d.ts +19 -0
  26. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/extensions.d.ts +6 -5
  27. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/index.d.ts +19 -0
  28. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/email-marketing-v1/src/index.d.ts +19 -0
  29. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +24 -2
  30. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/faq-v2/src/index.d.ts +19 -0
  31. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forms/src/index.d.ts +19 -0
  32. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forum/src/index.d.ts +19 -0
  33. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/genie-chat/src/index.d.ts +11 -0
  34. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/gift-cards/src/index.d.ts +19 -0
  35. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +19 -0
  36. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/extensions.d.ts +2 -1
  37. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/index.d.ts +19 -0
  38. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/invoices/src/index.d.ts +24 -2
  39. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/loyalty/src/index.d.ts +28 -4
  40. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/marketing-v1/src/index.d.ts +19 -0
  41. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-feed-viewer/src/index.d.ts +23 -1
  42. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-v1/src/index.d.ts +25 -3
  43. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/new-releases/src/index.d.ts +23 -1
  44. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notification-preferences/src/index.d.ts +23 -2
  45. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notifications-v3/src/index.d.ts +19 -0
  46. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/online-programs/src/index.d.ts +25 -3
  47. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/portfolio/src/index.d.ts +25 -3
  48. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/pricing-plans/src/index.d.ts +28 -6
  49. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/redirects-v1/src/index.d.ts +19 -0
  50. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/extensions.d.ts +2 -2
  51. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/index.d.ts +19 -0
  52. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/reviews/src/index.d.ts +24 -2
  53. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/seo-v1/src/index.d.ts +19 -0
  54. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-list/src/index.d.ts +19 -0
  55. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-media/src/index.d.ts +11 -0
  56. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +23 -1
  57. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/display.d.ts +3 -2
  58. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/index.d.ts +27 -3
  59. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/catalog.d.ts +7 -7
  60. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/display.d.ts +4 -3
  61. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/extensions.d.ts +2 -1
  62. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/index.d.ts +19 -0
  63. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/table-reservations/src/index.d.ts +25 -3
  64. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/users/src/index.d.ts +23 -1
  65. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/video/src/index.d.ts +19 -0
  66. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/wix-data/src/index.d.ts +27 -3
  67. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/workflows-v1/src/index.d.ts +19 -0
  68. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk-auto/_shared/runtime.generated.d.ts +8 -0
  69. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/checkout.mjs +12 -4
  70. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +36 -11
  71. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/state.mjs +206 -12
  72. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-activity-counters.mjs +19 -5
  73. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ai-site-chat.mjs +19 -5
  74. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-analytics.mjs +21 -7
  75. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-async-jobs.mjs +19 -5
  76. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-automations.mjs +19 -5
  77. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-badges.mjs +19 -5
  78. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-billing-tax.mjs +19 -5
  79. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-blog.mjs +31 -14
  80. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-bookings.mjs +26 -12
  81. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-business-tools.mjs +20 -6
  82. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-chat-web.mjs +29 -7
  83. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +28 -5
  84. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-contacts.mjs +19 -5
  85. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-coupons.mjs +14 -6
  86. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data-collections.mjs +19 -5
  87. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data.mjs +15 -5
  88. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-donations.mjs +19 -5
  89. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ecom.mjs +33 -16
  90. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-email-marketing.mjs +19 -5
  91. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-events.mjs +14 -6
  92. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-faq.mjs +20 -6
  93. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forms.mjs +19 -5
  94. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forum.mjs +19 -5
  95. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-gift-cards.mjs +19 -5
  96. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +19 -5
  97. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-inbox.mjs +21 -7
  98. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-invoices.mjs +14 -6
  99. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-loyalty.mjs +16 -8
  100. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-marketing.mjs +19 -5
  101. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-members-feed-viewer.mjs +21 -10
  102. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-members.mjs +17 -8
  103. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-new-releases.mjs +17 -5
  104. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notification-preferences.mjs +20 -6
  105. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notifications.mjs +19 -5
  106. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-online-programs.mjs +16 -8
  107. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-portfolio.mjs +16 -8
  108. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-pricing-plans.mjs +22 -14
  109. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-redirects.mjs +19 -5
  110. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-restaurants.mjs +22 -7
  111. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-reviews.mjs +14 -6
  112. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-rich-content-editor.mjs +3 -0
  113. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-seo.mjs +19 -5
  114. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-site-list.mjs +19 -5
  115. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-social-feed.mjs +15 -5
  116. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores-collections.mjs +20 -10
  117. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores.mjs +116 -83
  118. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-table-reservations.mjs +16 -8
  119. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-users.mjs +15 -5
  120. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-video.mjs +9 -1
  121. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-workflows.mjs +19 -5
  122. package/dist/cli.mjs +90 -57
  123. package/dist/preview-assets.generated.bin +0 -0
  124. package/fixtures/wix-canned.json +8 -8
  125. package/guides/dynamic-list.service.ts +38 -29
  126. package/guides/form-submit.service.ts +2 -1
  127. package/guides/index.json +6 -0
  128. package/guides/offline-reading.md +63 -0
  129. package/guides/one-app-to-himi-app.md +5 -3
  130. package/guides/recipe-dynamic-list.md +2 -0
  131. package/guides/recipe-four-state.md +1 -0
  132. package/guides/sdk-reference.json +225 -99
  133. package/guides/testing-himi-apps.md +2 -0
  134. package/guides/tier-5-add-a-screen.md +2 -0
  135. package/guides/wix-api-usage.md +9 -2
  136. package/package.json +2 -2
  137. package/templates/beauty-salon/dev/index.ts +4 -3
  138. package/templates/beauty-salon/tier5-src/_shared/collection-service.ts +6 -9
  139. package/templates/beauty-salon/tier5-src/_shared/iap-presentation.ts +7 -3
  140. package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +1 -1
  141. package/templates/beauty-salon/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  142. package/templates/beauty-salon-owner/dev/index.ts +19 -19
  143. package/templates/beauty-salon-owner/tier5-src/_shared/collection-service.ts +6 -9
  144. package/templates/beauty-salon-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  145. package/templates/branded-lite/dev/index.ts +38 -20
  146. package/templates/branded-lite/tier5-src/_shared/collection-query-legacy.ts +194 -0
  147. package/templates/branded-lite/tier5-src/_shared/collection-query.ts +158 -99
  148. package/templates/branded-lite/tier5-src/_shared/collection-service.ts +31 -11
  149. package/templates/branded-lite/tier5-src/_shared/iap-presentation.ts +7 -3
  150. package/templates/branded-lite/tier5-src/_shared/read-service.ts +255 -0
  151. package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +1 -1
  152. package/templates/branded-lite/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  153. package/templates/branded-lite/tier5-src/himi-branded-lite-shop/index.ts +202 -159
  154. package/templates/branded-lite/tier5-src/himi-store-product/index.ts +130 -201
  155. package/templates/community-club/dev/index.ts +4 -4
  156. package/templates/community-club/tier5-src/_shared/collection-service.ts +6 -9
  157. package/templates/community-club/tier5-src/_shared/iap-presentation.ts +7 -3
  158. package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +1 -1
  159. package/templates/community-club-owner/dev/index.ts +19 -19
  160. package/templates/community-club-owner/tier5-src/_shared/collection-service.ts +6 -9
  161. package/templates/community-club-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  162. package/templates/events-meetups/dev/index.ts +3 -3
  163. package/templates/events-meetups/tier5-src/_shared/collection-service.ts +6 -9
  164. package/templates/events-meetups/tier5-src/_shared/iap-presentation.ts +7 -3
  165. package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +1 -1
  166. package/templates/events-meetups-owner/dev/index.ts +17 -17
  167. package/templates/events-meetups-owner/tier5-src/_shared/collection-service.ts +6 -9
  168. package/templates/events-meetups-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  169. package/templates/gym-fitness/dev/index.ts +5 -4
  170. package/templates/gym-fitness/tier5-src/_shared/collection-service.ts +6 -9
  171. package/templates/gym-fitness/tier5-src/_shared/iap-presentation.ts +7 -3
  172. package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +1 -1
  173. package/templates/gym-fitness/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  174. package/templates/gym-fitness-owner/dev/index.ts +20 -20
  175. package/templates/gym-fitness-owner/tier5-src/_shared/collection-service.ts +6 -9
  176. package/templates/gym-fitness-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  177. package/templates/nonprofit-cause/dev/index.ts +4 -4
  178. package/templates/nonprofit-cause/tier5-src/_shared/collection-service.ts +6 -9
  179. package/templates/nonprofit-cause/tier5-src/_shared/iap-presentation.ts +7 -3
  180. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +1 -1
  181. package/templates/nonprofit-cause-owner/dev/index.ts +18 -18
  182. package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-service.ts +6 -9
  183. package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  184. package/templates/owner-lite/dev/index.ts +20 -20
  185. package/templates/owner-lite/tier5-src/_shared/collection-service.ts +6 -9
  186. package/templates/owner-lite/tier5-src/_shared/owner-module-data.ts +1 -1
  187. package/templates/podcast-creator/dev/index.ts +4 -4
  188. package/templates/podcast-creator/tier5-src/_shared/collection-service.ts +6 -9
  189. package/templates/podcast-creator/tier5-src/_shared/iap-presentation.ts +7 -3
  190. package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +1 -1
  191. package/templates/podcast-creator-owner/dev/index.ts +19 -19
  192. package/templates/podcast-creator-owner/tier5-src/_shared/collection-service.ts +6 -9
  193. package/templates/podcast-creator-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  194. package/templates/portfolio-creative/dev/index.ts +5 -4
  195. package/templates/portfolio-creative/tier5-src/_shared/collection-service.ts +6 -9
  196. package/templates/portfolio-creative/tier5-src/_shared/iap-presentation.ts +7 -3
  197. package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +1 -1
  198. package/templates/portfolio-creative/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  199. package/templates/portfolio-creative-owner/dev/index.ts +19 -19
  200. package/templates/portfolio-creative-owner/tier5-src/_shared/collection-service.ts +6 -9
  201. package/templates/portfolio-creative-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  202. package/templates/restaurant/dev/index.ts +3 -3
  203. package/templates/restaurant/tier5-src/_shared/collection-service.ts +6 -9
  204. package/templates/restaurant/tier5-src/_shared/iap-presentation.ts +7 -3
  205. package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +1 -1
  206. package/templates/restaurant-owner/dev/index.ts +20 -20
  207. package/templates/restaurant-owner/tier5-src/_shared/collection-service.ts +6 -9
  208. package/templates/restaurant-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  209. package/templates/retail-store/dev/index.ts +19 -1
  210. package/templates/retail-store/tier5-src/_shared/collection-query-legacy.ts +194 -0
  211. package/templates/retail-store/tier5-src/_shared/collection-query.ts +158 -99
  212. package/templates/retail-store/tier5-src/_shared/collection-service.ts +31 -11
  213. package/templates/retail-store/tier5-src/_shared/iap-presentation.ts +7 -3
  214. package/templates/retail-store/tier5-src/_shared/read-service.ts +255 -0
  215. package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +1 -1
  216. package/templates/retail-store/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  217. package/templates/retail-store/tier5-src/himi-branded-lite-shop/index.ts +202 -159
  218. package/templates/retail-store/tier5-src/himi-store-product/index.ts +130 -201
  219. package/templates/retail-store-owner/dev/index.ts +18 -18
  220. package/templates/retail-store-owner/tier5-src/_shared/collection-service.ts +6 -9
  221. package/templates/retail-store-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  222. package/templates/yoga-studio/dev/index.ts +4 -4
  223. package/templates/yoga-studio/tier5-src/_shared/collection-service.ts +6 -9
  224. package/templates/yoga-studio/tier5-src/_shared/iap-presentation.ts +7 -3
  225. package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +1 -1
  226. package/templates/yoga-studio-owner/dev/index.ts +18 -18
  227. package/templates/yoga-studio-owner/tier5-src/_shared/collection-service.ts +6 -9
  228. package/templates/yoga-studio-owner/tier5-src/_shared/owner-module-data.ts +1 -1
@@ -4,11 +4,23 @@
4
4
  "source": "core/sdk/state/src/index.ts",
5
5
  "description": "Tier-5 logic-bundle state surface.",
6
6
  "api": [
7
+ {
8
+ "name": "'./read.js'",
9
+ "kind": "reexport",
10
+ "jsdoc": "",
11
+ "decl": "export { createReadController, initialReadStatus } from './read.js';"
12
+ },
13
+ {
14
+ "name": "'./read.js'",
15
+ "kind": "reexport",
16
+ "jsdoc": "",
17
+ "decl": "export type { ReadMetadata, ReadStatus, ReadSnapshot } from './read.js';"
18
+ },
7
19
  {
8
20
  "name": "ServiceDefinition",
9
21
  "kind": "interface",
10
22
  "jsdoc": "",
11
- "decl": "export interface ServiceDefinition<S> {\n /** Initial state for the service. Must be JSON-serializable. */\n state: S;\n\n /**\n * Actions: pure functions of `(state, ...args) → newState` (or async). The\n * platform wraps each action so calling it from JS or from `__invokeAction`\n * (native side) updates the service's state and notifies subscribers.\n */\n actions?: Record<\n string,\n // `never[]`, not `unknown[]` — same reason as defineService's constraint below:\n // parameters are contravariant, so `unknown[]` rejects every handler that narrows\n // its payload. Leaving this one loose would reintroduce the same TS2344 for anyone\n // who annotates a `ServiceDefinition<S>` explicitly instead of inferring it.\n (state: S, ...args: never[]) => S | undefined | Promise<S | undefined>\n >;\n\n /**\n * Keys a cold boot takes from `state`, never from the persisted snapshot (cold-boot\n * hydration). For UI state that must describe THIS run — an editor's one-shot seed, a\n * \"still loading\" gate, an open sheet — where last run's value would be wrong, not just stale.\n * Runtimes that honour it set `himalaya.hydrationOptOut`; an older one ignores the option.\n */\n notHydrated?: readonly (keyof S & string)[];\n\n /**\n * Keys that start each VISIT from `state`: when a cached embed shows the screen again (its warm worker\n * reclaimed), these go back to their declared values before the screen reloads. For the same kind of\n * per-run UI state as `notHydrated` (an editor's one-shot seed, an open sheet); never data a returning\n * screen should keep showing. A cold boot never restores them either. A full app's own screens and an\n * uncached embed ignore the reset.\n */\n perVisit?: readonly (keyof S & string)[];\n}"
23
+ "decl": "export interface ServiceDefinition<S> {\n /** Initial state for the service. Must be JSON-serializable. */\n state: S;\n\n /**\n * Actions: pure functions of `(state, ...args) → newState` (or async). The\n * platform wraps each action so calling it from JS or from `__invokeAction`\n * (native side) updates the service's state and notifies subscribers.\n */\n actions?: Record<\n string,\n // `never[]`, not `unknown[]` — same reason as defineService's constraint below:\n // parameters are contravariant, so `unknown[]` rejects every handler that narrows\n // its payload. Leaving this one loose would reintroduce the same TS2344 for anyone\n // who annotates a `ServiceDefinition<S>` explicitly instead of inferring it.\n (state: S, ...args: never[]) => S | undefined | Promise<S | undefined>\n >;\n\n /**\n * Keys a cold boot takes from `state`, never from the persisted snapshot (cold-boot\n * hydration). For UI state that must describe THIS run — an editor's one-shot seed, a\n * \"still loading\" gate, an open sheet — where last run's value would be wrong, not just stale.\n * Runtimes that honour it set `himalaya.hydrationOptOut`; an older one ignores the option.\n */\n notHydrated?: readonly (keyof S & string)[];\n\n /** Applies a presentation decorator after a retained read snapshot is committed. */\n readPresentation?: (state: any) => any;\n /** Explicitly safe read action, invoked on reconnect while this screen is visible.\n * statusPath addresses a ReadStatus in this service (e.g. \"readStatus\"). */\n readLifecycle?: { refreshAction: string; statusPath: string };\n\n /** Data governed by a separate cache policy must not also enter the generic\n * worker snapshot. These keys are neither persisted nor hydrated by a runtime with\n * `himalaya.readLifecycleVersion >= 1`; an older runtime ignores the option. */\n notPersisted?: readonly (keyof S & string)[];\n /**\n * Keys that start each VISIT from `state`: when a cached embed shows the screen again (its warm worker\n * reclaimed), these go back to their declared values before the screen reloads. For the same kind of\n * per-run UI state as `notHydrated` (an editor's one-shot seed, an open sheet); never data a returning\n * screen should keep showing. A cold boot never restores them either. A full app's own screens and an\n * uncached embed ignore the reset.\n */\n perVisit?: readonly (keyof S & string)[];\n}"
12
24
  },
13
25
  {
14
26
  "name": "ServiceExports",
@@ -152,7 +164,7 @@
152
164
  {
153
165
  "name": "serializeForAgent",
154
166
  "kind": "function",
155
- "jsdoc": "/**\n * Hint the platform that worker state is at a meaningful boundary worth\n * writing to disk. Optionally supply a `snapshot` — an opaque JSON-friendly\n * value the platform can include alongside the auto-generated state dump.\n *\n * Returns immediately; the actual write is async and platform-managed.\n */",
167
+ "jsdoc": "/**\n * Hint the platform that worker state is at a meaningful boundary worth\n * writing to disk. Optionally supply a JSON-friendly map from registered service\n * names to their next state, for a flush before an action commits that state.\n * Omit it to flush current state. Unknown services, read-lifecycle services,\n * transient fields and fields declared `notPersisted` are excluded. Keep authored\n * metadata inside its service state; arbitrary top-level metadata is not persisted.\n *\n * Returns immediately; the actual write is async and platform-managed.\n */",
156
168
  "decl": "export function serializeForAgent(snapshot?: unknown): void;"
157
169
  }
158
170
  ]
@@ -5378,7 +5390,7 @@
5378
5390
  "name": "WixCallOptions",
5379
5391
  "kind": "interface",
5380
5392
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
5381
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
5393
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
5382
5394
  },
5383
5395
  {
5384
5396
  "name": "wixCall",
@@ -5623,7 +5635,7 @@
5623
5635
  "name": "WixCallOptions",
5624
5636
  "kind": "interface",
5625
5637
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
5626
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
5638
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
5627
5639
  },
5628
5640
  {
5629
5641
  "name": "wixCall",
@@ -5726,6 +5738,12 @@
5726
5738
  "source": "stdlib/wix-sdk/analytics/src/index.ts",
5727
5739
  "description": "Site analytics totals",
5728
5740
  "api": [
5741
+ {
5742
+ "name": "WixCallOptions",
5743
+ "kind": "interface",
5744
+ "jsdoc": "/**\n * Every path below is RELATIVE, starting with `/`. That is the wixApi bridge's\n * contract — \"paths are relative to https://www.wixapis.com\" — and what the other\n * 27 call sites across `@himalaya/wix-*` do.\n *\n * This domain used to spell its three paths as absolute `https://www.wixapis.com/…`\n * URLs. Native tolerates that (its request policy allows any `wixapis.com` host),\n * so it worked everywhere anyone looked. The web preview does not: its bridge\n * is host-locked to the gateway and refuses an absolute URL outright, and\n * `*.wixapis.com` deliberately does NOT get the owner-host exemption — the gateway\n * is precisely the thing you are supposed to reach with a relative path. So every\n * analytics call returned `400 absolute_urls_not_allowed`, and owner-lite's\n * Analytics and Build-a-report screens showed that raw JSON in their error arm on\n * the web preview while both worked on device.\n *\n * Keep them relative. An absolute URL here is not a style choice — it is a screen\n * that only works on half its surfaces.\n */",
5745
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
5746
+ },
5729
5747
  {
5730
5748
  "name": "effectiveZone",
5731
5749
  "kind": "function",
@@ -5820,14 +5838,14 @@
5820
5838
  "name": "getSiteAnalytics",
5821
5839
  "kind": "function",
5822
5840
  "jsdoc": "/**\n * Site analytics for `measurementTypes` over `[startDate, endDate)`.\n *\n * Options object rather than positional parameters: `timeZone` is the third thing\n * that materially changes the result and the list was already at its readable\n * limit.\n */",
5823
- "decl": "export function getSiteAnalytics(opts: GetSiteAnalyticsOptions): Promise<WixAnalyticsResponse>;",
5841
+ "decl": "export function getSiteAnalytics(opts: GetSiteAnalyticsOptions, options?: WixCallOptions): Promise<WixAnalyticsResponse>;",
5824
5842
  "http": "GET /analytics/v2/site-analytics/data?{…}"
5825
5843
  },
5826
5844
  {
5827
5845
  "name": "getSiteTimeZone",
5828
5846
  "kind": "function",
5829
5847
  "jsdoc": "/**\n * The site's IANA time zone, for `timeZone` / `interval.timezone`.\n *\n * This is a Site Properties call, not an analytics one, and strictly belongs to a\n * `@himalaya/wix-site-properties` domain that does not exist. It lives here\n * because every analytics query needs it and the alternative is each caller\n * hand-rolling the same raw `wixApi` request. A deliberate trade-off, recorded so\n * the next reader does not take it for an accident.\n */",
5830
- "decl": "export function getSiteTimeZone(): Promise<string | undefined>;",
5848
+ "decl": "export function getSiteTimeZone(options?: WixCallOptions): Promise<string | undefined>;",
5831
5849
  "http": "GET /site-properties/v4/properties?fields.paths=timeZone"
5832
5850
  },
5833
5851
  {
@@ -5931,7 +5949,7 @@
5931
5949
  "name": "WixCallOptions",
5932
5950
  "kind": "interface",
5933
5951
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
5934
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
5952
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
5935
5953
  },
5936
5954
  {
5937
5955
  "name": "wixCall",
@@ -6229,7 +6247,7 @@
6229
6247
  "name": "WixCallOptions",
6230
6248
  "kind": "interface",
6231
6249
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
6232
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
6250
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
6233
6251
  },
6234
6252
  {
6235
6253
  "name": "wixCall",
@@ -7764,7 +7782,7 @@
7764
7782
  "name": "WixCallOptions",
7765
7783
  "kind": "interface",
7766
7784
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
7767
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
7785
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
7768
7786
  },
7769
7787
  {
7770
7788
  "name": "wixCall",
@@ -8190,7 +8208,7 @@
8190
8208
  "name": "WixCallOptions",
8191
8209
  "kind": "interface",
8192
8210
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
8193
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
8211
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
8194
8212
  },
8195
8213
  {
8196
8214
  "name": "wixCall",
@@ -8687,7 +8705,7 @@
8687
8705
  "name": "WixCallOptions",
8688
8706
  "kind": "interface",
8689
8707
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
8690
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
8708
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
8691
8709
  },
8692
8710
  {
8693
8711
  "name": "wixCall",
@@ -8832,7 +8850,7 @@
8832
8850
  "name": "getDraftPost",
8833
8851
  "kind": "function",
8834
8852
  "jsdoc": "/** Fetch a single draft post by id — the editor/settings prefill source. */",
8835
- "decl": "export function getDraftPost(postId: string): Promise<WixGetDraftPostResponse>;"
8853
+ "decl": "export function getDraftPost(postId: string, options?: WixCallOptions): Promise<WixGetDraftPostResponse>;"
8836
8854
  },
8837
8855
  {
8838
8856
  "name": "WixPostWithContent",
@@ -8856,7 +8874,7 @@
8856
8874
  "name": "getPost",
8857
8875
  "kind": "function",
8858
8876
  "jsdoc": "/** Fetch a single PUBLISHED post by id — GET /blog/v3/posts/{id}. The list\n * (queryPosts) returns published posts, so the detail reads them here (draft\n * ids are a different space — getDraftPost is for the edit/create flow).\n *\n * Body fieldsets (#826): Blog v3 `GET /posts/{id}` returns 200 but only the\n * LIST projection (title / excerpt / meta) unless the caller asks for the body —\n * the bare GET has NO `richContent` / `contentText`. So we request\n * RICH_CONTENT + CONTENT_TEXT by default and the article body loads on the happy\n * path; callers can override via `req.fieldsets`. (Supersedes the old #507 note:\n * the 502 this GET once returned for anonymous visitors is gone — it 200s now —\n * but a body-less 200 was never the \"body preserved whenever the backend is\n * healthy\" the earlier comment claimed; the body was simply never requested.)\n *\n * On any rejection (network / backend error) we still fall back to a queryPosts\n * filter-by-id — a graceful degrade to the LIST projection (no body) that keeps\n * blog detail + saved screens rendering instead of erroring out. `queryPosts`'s\n * request type has no `fieldsets` field, so that fallback path cannot carry the\n * body.\n *\n * When that fallback ALSO finds nothing — a deleted post, or one this visitor\n * may not see — we reject rather than resolve. `WixGetPostResponse.post`\n * is non-optional, so returning `{ post: resp.posts?.[0] }` would hand callers an\n * `undefined` the type promises is present, and the `post.title` access that type\n * licenses throws a `TypeError` deep inside the caller — the exact hard error\n * this fallback exists to prevent, and harder to diagnose than a clean rejection.\n * Every call site rides its own rejection path (cached-post state, draft-only\n * `catch`, or an `allSettled` filter), so rejecting is what routes them into the\n * graceful degrade they already implement. The originating failure travels as\n * `cause`, so the 404-vs-network distinction is not lost. */",
8859
- "decl": "export function getPost(\n postId: string,\n req: WixGetPostRequest = {},\n): Promise<WixGetPostResponse>;",
8877
+ "decl": "export function getPost(\n postId: string,\n req: WixGetPostRequest = {}, readOptions?: WixCallOptions,\n): Promise<WixGetPostResponse>;",
8860
8878
  "http": "GET /blog/v3/posts/{…}"
8861
8879
  },
8862
8880
  {
@@ -8875,7 +8893,7 @@
8875
8893
  "name": "queryCategories",
8876
8894
  "kind": "function",
8877
8895
  "jsdoc": "/** List blog categories — POST /blog/v3/categories/query. Used to map a post's\n * categoryIds to human labels. */",
8878
- "decl": "export function queryCategories(req: { paging?: { limit?: number; offset?: number } } = {}): Promise<WixQueryCategoriesResponse>;",
8896
+ "decl": "export function queryCategories(req: { paging?: { limit?: number; offset?: number } } = {}, opts?: WixCallOptions): Promise<WixQueryCategoriesResponse>;",
8879
8897
  "http": "POST /blog/v3/categories/query"
8880
8898
  },
8881
8899
  {
@@ -8950,7 +8968,7 @@
8950
8968
  "name": "queryDraftPosts",
8951
8969
  "kind": "function",
8952
8970
  "jsdoc": "",
8953
- "decl": "export function queryDraftPosts(req: WixQueryDraftPostsRequest = {}): Promise<WixQueryDraftPostsResponse>;"
8971
+ "decl": "export function queryDraftPosts(req: WixQueryDraftPostsRequest = {}, opts?: WixCallOptions): Promise<WixQueryDraftPostsResponse>;"
8954
8972
  },
8955
8973
  {
8956
8974
  "name": "cancelScheduleDraftPost",
@@ -8969,7 +8987,7 @@
8969
8987
  "name": "WixCallOptions",
8970
8988
  "kind": "interface",
8971
8989
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
8972
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
8990
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
8973
8991
  },
8974
8992
  {
8975
8993
  "name": "wixCall",
@@ -9542,7 +9560,7 @@
9542
9560
  "name": "queryServices",
9543
9561
  "kind": "function",
9544
9562
  "jsdoc": "/** Query/list services — POST /bookings/v2/services/query. Visitor-readable: the\n * PUBLIC GA route (audience MEMBERS_AND_VISITORS), so a visitor/consumer token can\n * read it — NOT the owner/BO `_api/` gateway (which fails for visitors, #463). Takes\n * the standard query envelope (filter/sort/paging). */",
9545
- "decl": "export async function queryServices(req: WixQueryServicesRequest = {} as WixQueryServicesRequest): Promise<WixQueryServicesResponse>;",
9563
+ "decl": "export async function queryServices(req: WixQueryServicesRequest = {} as WixQueryServicesRequest, readOptions?: WixCallOptions): Promise<WixQueryServicesResponse>;",
9546
9564
  "http": "POST /bookings/v2/services/query"
9547
9565
  },
9548
9566
  {
@@ -9575,7 +9593,7 @@
9575
9593
  "name": "getService",
9576
9594
  "kind": "function",
9577
9595
  "jsdoc": "/** Fetch a single service by id — GET /bookings/v2/services/{id}. Visitor-readable\n * (public GA route, not the owner `_api/` gateway). The detail/edit-prefill source.\n * `options.conditionalFields` asks for fields Wix returns only on request\n * (\"STAFF_MEMBER_DETAILS\", \"DISCOUNT_INFO_DETAILS\"), each sent as a repeated\n * `conditionalFields` query parameter. Without `options` the request is the one this\n * function always sent. */",
9578
- "decl": "export async function getService(serviceId: string, options?: WixGetServiceOptions): Promise<WixGetServiceResponse>;"
9596
+ "decl": "export async function getService(serviceId: string, options?: WixGetServiceOptions & WixCallOptions): Promise<WixGetServiceResponse>;"
9579
9597
  },
9580
9598
  {
9581
9599
  "name": "WixServiceWrite",
@@ -9786,7 +9804,7 @@
9786
9804
  "name": "queryServiceAvailability",
9787
9805
  "kind": "function",
9788
9806
  "jsdoc": "/**\n * Query bookable slots for a service in a date window —\n * POST /bookings/v1/availability/query. Verified live (571 entries).\n *\n * BOUND IT. Unfiltered, this returns every slot in the window, bookable AND\n * unbookable — a two-week window on a busy calendar is hundreds of entries and a\n * response big enough to stall a worker. Two things bound it, and only one of them\n * is a parameter here:\n *\n * - `bookable`, which this now defaults to `true`. Slots you cannot book are not\n * what a booking screen is paging through.\n * - THE WINDOW ITSELF. Ask for the days you are about to paint, not the month.\n *\n * What is NOT available is paging: the request's `query` carries only `filter` and\n * `sort`, so a `paging: { limit }` is an unknown field the server drops on the\n * floor — which is why \"it ignores its own paging.limit\" is a misreading. There was\n * never a paging member to ignore.\n *\n * A per-day cap (`slotsPerDay`) is deliberately NOT offered. This v1 Availability\n * Calendar endpoint is absent from the current published Wix reference (superseded\n * by Time Slots V2), and the two plausible spellings put it in different places — a\n * `query.filter` member, or a top-level sibling of `query`. An unknown field in\n * either position is dropped silently rather than rejected, so shipping the wrong\n * guess would hand callers a knob that does nothing while this comment promised it\n * worked. Narrow the window instead, until the level can be confirmed against a\n * schema or a live call.\n */",
9789
- "decl": "export function queryServiceAvailability(\n serviceId: string,\n startDate: string,\n endDate: string,\n options: WixServiceAvailabilityOptions = {},\n): Promise<WixQueryAvailabilityResponse>;",
9807
+ "decl": "export function queryServiceAvailability(\n serviceId: string,\n startDate: string,\n endDate: string,\n options: WixServiceAvailabilityOptions = {},\n readOptions?: WixCallOptions,\n): Promise<WixQueryAvailabilityResponse>;",
9790
9808
  "http": "POST /bookings/v1/availability/query"
9791
9809
  },
9792
9810
  {
@@ -9911,7 +9929,7 @@
9911
9929
  "name": "getBookingFull",
9912
9930
  "kind": "function",
9913
9931
  "jsdoc": "/** Rich single-booking read — GET /bookings/v1/bookings/{id}. Returns the full\n * booking (payment/intake/location/staff/attendance). The booking-detail data source.\n * Owner-scoped: needs an owner/BO session; a visitor or member token gets 403. A\n * member-facing screen reads its own bookings via `queryBookings` instead. */",
9914
- "decl": "export function getBookingFull(bookingId: string): Promise<WixGetBookingFullResponse>;",
9932
+ "decl": "export function getBookingFull(bookingId: string, options?: WixCallOptions): Promise<WixGetBookingFullResponse>;",
9915
9933
  "http": "GET /bookings/v1/bookings/{…}"
9916
9934
  },
9917
9935
  {
@@ -9981,7 +9999,7 @@
9981
9999
  "name": "WixCallOptions",
9982
10000
  "kind": "interface",
9983
10001
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
9984
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
10002
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
9985
10003
  },
9986
10004
  {
9987
10005
  "name": "wixCall",
@@ -10861,11 +10879,17 @@
10861
10879
  "jsdoc": "",
10862
10880
  "decl": "export type ChatRole = \"owner\" | \"member\";"
10863
10881
  },
10882
+ {
10883
+ "name": "WixCallOptions",
10884
+ "kind": "interface",
10885
+ "jsdoc": "",
10886
+ "decl": "export interface WixCallOptions {\n /** Cache-only reads never use the network; reload waits for a successful server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
10887
+ },
10864
10888
  {
10865
10889
  "name": "ChatOptions",
10866
10890
  "kind": "interface",
10867
10891
  "jsdoc": "",
10868
- "decl": "export interface ChatOptions {\n /** `owner` (default) mints with isForUnifiedList=true; `member` with false. */\n role?: ChatRole;\n /** A caller-supplied chatToken; skips the mint. Never stored by this module. */\n chatToken?: string;\n}"
10892
+ "decl": "export interface ChatOptions extends WixCallOptions {\n /** `owner` (default) mints with isForUnifiedList=true; `member` with false. */\n role?: ChatRole;\n /** A caller-supplied chatToken; skips the mint. Never stored by this module. */\n chatToken?: string;\n}"
10869
10893
  },
10870
10894
  {
10871
10895
  "name": "ChatCursor",
@@ -11010,7 +11034,7 @@
11010
11034
  "name": "WixCallOptions",
11011
11035
  "kind": "interface",
11012
11036
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
11013
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
11037
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
11014
11038
  },
11015
11039
  {
11016
11040
  "name": "wixCall",
@@ -13187,7 +13211,7 @@
13187
13211
  "name": "WixCallOptions",
13188
13212
  "kind": "interface",
13189
13213
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
13190
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
13214
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
13191
13215
  },
13192
13216
  {
13193
13217
  "name": "wixCall",
@@ -13445,6 +13469,12 @@
13445
13469
  "source": "stdlib/wix-sdk/coupons/src/index.ts",
13446
13470
  "description": "Discount coupons",
13447
13471
  "api": [
13472
+ {
13473
+ "name": "WixCallOptions",
13474
+ "kind": "interface",
13475
+ "jsdoc": "",
13476
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
13477
+ },
13448
13478
  {
13449
13479
  "name": "WixPaging",
13450
13480
  "kind": "interface",
@@ -13527,14 +13557,14 @@
13527
13557
  "name": "queryCoupons",
13528
13558
  "kind": "function",
13529
13559
  "jsdoc": "/** Query coupons — POST /stores/v2/coupons/query. The request is wrapped as\n * `{ query }` (Wix QueryV2 convention). */",
13530
- "decl": "export function queryCoupons(req: WixCouponsQueryRequest = {} as WixCouponsQueryRequest): Promise<WixQueryCouponsResponse>;",
13560
+ "decl": "export function queryCoupons(req: WixCouponsQueryRequest = {} as WixCouponsQueryRequest, readOptions?: WixCallOptions): Promise<WixQueryCouponsResponse>;",
13531
13561
  "http": "POST /stores/v2/coupons/query"
13532
13562
  },
13533
13563
  {
13534
13564
  "name": "getCoupon",
13535
13565
  "kind": "function",
13536
13566
  "jsdoc": "/** Get a single coupon — GET /stores/v2/coupons/{id}. */",
13537
- "decl": "export function getCoupon(id: string): Promise<WixGetCouponResponse>;",
13567
+ "decl": "export function getCoupon(id: string, options?: WixCallOptions): Promise<WixGetCouponResponse>;",
13538
13568
  "http": "GET /stores/v2/coupons/{…}"
13539
13569
  },
13540
13570
  {
@@ -13667,6 +13697,12 @@
13667
13697
  "source": "stdlib/wix-sdk/wix-data/src/index.ts",
13668
13698
  "description": "Wix data — typed REST client",
13669
13699
  "api": [
13700
+ {
13701
+ "name": "WixCallOptions",
13702
+ "kind": "interface",
13703
+ "jsdoc": "",
13704
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
13705
+ },
13670
13706
  {
13671
13707
  "name": "WixDataItem",
13672
13708
  "kind": "interface",
@@ -13701,7 +13737,7 @@
13701
13737
  "name": "WixQueryOptions",
13702
13738
  "kind": "interface",
13703
13739
  "jsdoc": "/** The rarely-needed read parameters of `queryDataItems`. Every field is omitted from the wire\n * body unless set, so a caller that passes none sends the exact body it always sent. */",
13704
- "decl": "export interface WixQueryOptions {\n /** Read from the primary database instance instead of the nearest mirror. Slower, but a read\n * right after your own write sees it — the default is eventually consistent. */\n consistentRead?: boolean;\n /** Page by cursor instead of `offset`. Mutually exclusive with `offset`. */\n cursorPaging?: WixDataCursorPaging;\n /** Return only these fields (`_id` always comes back). */\n fields?: string[];\n includeReferences?: WixIncludeReference[];\n /** IETF BCP 47 tag; needs Wix Multilingual enabled for the collection. */\n language?: string;\n /** Also read pending drafts (collections with the draft-items plugin). */\n includeDraftItems?: boolean;\n}"
13740
+ "decl": "export interface WixQueryOptions extends WixCallOptions {\n /** Read from the primary database instance instead of the nearest mirror. Slower, but a read\n * right after your own write sees it — the default is eventually consistent. */\n consistentRead?: boolean;\n /** Page by cursor instead of `offset`. Mutually exclusive with `offset`. */\n cursorPaging?: WixDataCursorPaging;\n /** Return only these fields (`_id` always comes back). */\n fields?: string[];\n includeReferences?: WixIncludeReference[];\n /** IETF BCP 47 tag; needs Wix Multilingual enabled for the collection. */\n language?: string;\n /** Also read pending drafts (collections with the draft-items plugin). */\n includeDraftItems?: boolean;\n}"
13705
13741
  },
13706
13742
  {
13707
13743
  "name": "WixQueryDataItemsRequest",
@@ -13744,7 +13780,7 @@
13744
13780
  "name": "getDataItem",
13745
13781
  "kind": "function",
13746
13782
  "jsdoc": "/** Read ONE item by id — GET /wix-data/v2/items/{dataItemId}?dataCollectionId=…\n *\n * Reach for this on a detail screen. Before it existed the only read this package\n * offered was `queryDataItems`, so a detail worker had to fetch a bounded page and\n * find its row client-side:\n *\n * ```ts\n * const res = await queryDataItems(\"Listings\", 50); // ← DON'T\n * const row = (res.dataItems ?? []).find((it) => it.id === id);\n * ```\n *\n * That is correct against a handful of seeded rows and silently wrong once the\n * collection outgrows `limit`. Ask for the row instead:\n *\n * ```ts\n * const { dataItem } = await getDataItem(\"Listings\", id); // ← DO\n * ```\n *\n * The collection id rides the query string rather than a body, because the Wix\n * gateway drops a GET body — and the string is built with `encodeURIComponent`\n * rather than `URLSearchParams`, which the bare Tier-5 worker runtimes (JSCore /\n * Hermes / QuickJS-ng) do not provide. */",
13747
- "decl": "export function getDataItem(\n dataCollectionId: string,\n dataItemId: string,\n): Promise<{ dataItem?: WixDataItem }>;",
13783
+ "decl": "export function getDataItem(\n dataCollectionId: string,\n dataItemId: string,\n options?: WixCallOptions,\n): Promise<{ dataItem?: WixDataItem }>;",
13748
13784
  "http": "GET /wix-data/v2/items/{…}?dataCollectionId={…}"
13749
13785
  },
13750
13786
  {
@@ -14075,7 +14111,7 @@
14075
14111
  "name": "WixCallOptions",
14076
14112
  "kind": "interface",
14077
14113
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
14078
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
14114
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
14079
14115
  },
14080
14116
  {
14081
14117
  "name": "wixCall",
@@ -15807,7 +15843,7 @@
15807
15843
  "name": "WixCallOptions",
15808
15844
  "kind": "interface",
15809
15845
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
15810
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
15846
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
15811
15847
  },
15812
15848
  {
15813
15849
  "name": "wixCall",
@@ -16322,7 +16358,7 @@
16322
16358
  "name": "WixCallOptions",
16323
16359
  "kind": "interface",
16324
16360
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `searchOrders(req, site.forSite(msid))`. */",
16325
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
16361
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
16326
16362
  },
16327
16363
  {
16328
16364
  "name": "wixCall",
@@ -16419,7 +16455,7 @@
16419
16455
  "name": "getOrder",
16420
16456
  "kind": "function",
16421
16457
  "jsdoc": "/** Fetch a single order by id — the detail screen's data source. */",
16422
- "decl": "export function getOrder(orderId: string): Promise<WixGetOrderResponse>;",
16458
+ "decl": "export function getOrder(orderId: string, options?: WixCallOptions): Promise<WixGetOrderResponse>;",
16423
16459
  "http": "GET /ecom/v1/orders/{…}"
16424
16460
  },
16425
16461
  {
@@ -16533,7 +16569,7 @@
16533
16569
  "name": "getCurrentCart",
16534
16570
  "kind": "function",
16535
16571
  "jsdoc": "/** Read the current cart — GET /ecom/v1/carts/current. The API wraps the cart in\n * `{ cart: {...} }`; this unwraps it so callers get the cart (line items +\n * subtotal) directly. Verified live. An `OWNED_CART_NOT_FOUND` 404 is the empty\n * cart (never added an item) — resolved as `{ lineItems: [] }`, not thrown, so a\n * signed-out visitor's first mount is a successful read of an empty cart.\n * `{ lineItems: [] }` is the shape every caller already handles: the badge readers\n * sum `(cart.lineItems ?? [])` and the cart screen additionally takes\n * `cart.subtotal?.formattedAmount ?? \"\"` and `(await getCurrentCart()).id || \"\"` —\n * all three degrade to empty/0 on an absent field, so no caller special-cases it. */",
16536
- "decl": "export async function getCurrentCart(): Promise<WixCartDetail>;",
16572
+ "decl": "export async function getCurrentCart(opts?: WixCallOptions): Promise<WixCartDetail>;",
16537
16573
  "http": "GET /ecom/v1/carts/current"
16538
16574
  },
16539
16575
  {
@@ -16787,13 +16823,13 @@
16787
16823
  "name": "listMemberAddresses",
16788
16824
  "kind": "function",
16789
16825
  "jsdoc": "/** The signed-in member's saved addresses + which one is the default. */",
16790
- "decl": "export function listMemberAddresses(): Promise<WixListMemberAddressesResponse>;"
16826
+ "decl": "export function listMemberAddresses(options?: WixCallOptions): Promise<WixListMemberAddressesResponse>;"
16791
16827
  },
16792
16828
  {
16793
16829
  "name": "getMemberAddress",
16794
16830
  "kind": "function",
16795
16831
  "jsdoc": "/** One saved address by id, and whether it is the member's default. An unknown id\n * rejects with 404 `cant_find_address_by_id`. */",
16796
- "decl": "export function getMemberAddress(addressId: string): Promise<WixGetMemberAddressResponse>;"
16832
+ "decl": "export function getMemberAddress(addressId: string, options?: WixCallOptions): Promise<WixGetMemberAddressResponse>;"
16797
16833
  },
16798
16834
  {
16799
16835
  "name": "getDefaultMemberAddress",
@@ -16847,7 +16883,7 @@
16847
16883
  "name": "listMySavedPaymentMethods",
16848
16884
  "kind": "function",
16849
16885
  "jsdoc": "/** The signed-in member's saved payment methods, most recently updated first. */",
16850
- "decl": "export function listMySavedPaymentMethods(\n opts: { cursor?: string; limit?: number } = {},\n): Promise<WixListSavedPaymentMethodsResponse>;"
16886
+ "decl": "export function listMySavedPaymentMethods(\n opts: { cursor?: string; limit?: number } = {},\n options?: WixCallOptions,\n): Promise<WixListSavedPaymentMethodsResponse>;"
16851
16887
  },
16852
16888
  {
16853
16889
  "name": "deleteSavedPaymentMethod",
@@ -16993,7 +17029,7 @@
16993
17029
  "name": "WixCallOptions",
16994
17030
  "kind": "interface",
16995
17031
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
16996
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
17032
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
16997
17033
  },
16998
17034
  {
16999
17035
  "name": "wixCall",
@@ -18309,6 +18345,12 @@
18309
18345
  "source": "stdlib/wix-sdk/events/src/index.ts",
18310
18346
  "description": "Events — events, RSVPs, tickets",
18311
18347
  "api": [
18348
+ {
18349
+ "name": "WixCallOptions",
18350
+ "kind": "interface",
18351
+ "jsdoc": "",
18352
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
18353
+ },
18312
18354
  {
18313
18355
  "name": "WixEventImage",
18314
18356
  "kind": "interface",
@@ -18379,7 +18421,7 @@
18379
18421
  "name": "queryEvents",
18380
18422
  "kind": "function",
18381
18423
  "jsdoc": "/** List the site's events — POST /events/v3/events/query → { events, pagingMetadata }.\n * **Visitor-readable**: works with a visitor/consumer token (`WixConsumerAuthProvider`),\n * not just an owner session. (NOT the owner-only GET /events-in-clubs/chunked-events,\n * which returns an HTML error page for a visitor token.) */",
18382
- "decl": "export async function queryEvents(opts: WixQueryEventsOptions = {}): Promise<WixGetEventListResponse>;",
18424
+ "decl": "export async function queryEvents(opts: WixQueryEventsOptions = {}, readOptions?: WixCallOptions): Promise<WixGetEventListResponse>;",
18383
18425
  "http": "POST /events/v3/events/query"
18384
18426
  },
18385
18427
  {
@@ -18398,7 +18440,7 @@
18398
18440
  "name": "getEvent",
18399
18441
  "kind": "function",
18400
18442
  "jsdoc": "/** Get one event — GET /events/v3/events/{eventId}. Response wraps as `{ event }`.\n * NOTE: this GET returns the Events v3 BASE fieldset — slimmer than `queryEvents`,\n * which returns the richer default (fields such as `registration` and `calendarUrls`\n * are absent from a bare `getEvent`). If a detail screen needs those fields for one\n * event, prefer `queryEvents` and pick the row by id over `getEvent`.\n * `opts.fields` requests extra v3 fieldsets; `[\"TEXTS\"]` returns `description`. */",
18401
- "decl": "export async function getEvent(eventId: string, opts: { fields?: WixEventFieldset[] } = {}): Promise<WixGetEventResponse>;",
18443
+ "decl": "export async function getEvent(eventId: string, opts: { fields?: WixEventFieldset[] } = {}, readOptions?: WixCallOptions): Promise<WixGetEventResponse>;",
18402
18444
  "http": "GET /events/v3/events/{…}{…}"
18403
18445
  },
18404
18446
  {
@@ -18681,7 +18723,7 @@
18681
18723
  "name": "WixCallOptions",
18682
18724
  "kind": "interface",
18683
18725
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
18684
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
18726
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
18685
18727
  },
18686
18728
  {
18687
18729
  "name": "wixCall",
@@ -20349,7 +20391,7 @@
20349
20391
  "name": "WixCallOptions",
20350
20392
  "kind": "interface",
20351
20393
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
20352
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
20394
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
20353
20395
  },
20354
20396
  {
20355
20397
  "name": "wixCall",
@@ -20450,7 +20492,7 @@
20450
20492
  "name": "WixCallOptions",
20451
20493
  "kind": "interface",
20452
20494
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
20453
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
20495
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
20454
20496
  },
20455
20497
  {
20456
20498
  "name": "wixCall",
@@ -21068,7 +21110,7 @@
21068
21110
  "name": "WixCallOptions",
21069
21111
  "kind": "interface",
21070
21112
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
21071
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
21113
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
21072
21114
  },
21073
21115
  {
21074
21116
  "name": "wixCall",
@@ -22092,7 +22134,7 @@
22092
22134
  "name": "WixCallOptions",
22093
22135
  "kind": "interface",
22094
22136
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
22095
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
22137
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
22096
22138
  },
22097
22139
  {
22098
22140
  "name": "wixCall",
@@ -22447,7 +22489,7 @@
22447
22489
  "name": "WixCallOptions",
22448
22490
  "kind": "interface",
22449
22491
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
22450
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
22492
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
22451
22493
  },
22452
22494
  {
22453
22495
  "name": "wixCall",
@@ -22546,7 +22588,7 @@
22546
22588
  "name": "listConversations",
22547
22589
  "kind": "function",
22548
22590
  "jsdoc": "/** List the site's inbox conversations (real mobile Owner endpoint:\n * GET https://www.wixapis.com/inbox/v2/conversations). Returns an empty list\n * for sites with no conversations / no Inbox app provisioned. */",
22549
- "decl": "export function listConversations(req: { paging?: WixPaging } = {}): Promise<WixListConversationsResponse>;",
22591
+ "decl": "export function listConversations(req: { paging?: WixPaging } = {}, opts?: WixCallOptions): Promise<WixListConversationsResponse>;",
22550
22592
  "http": "GET /inbox/v2/conversations{…}"
22551
22593
  }
22552
22594
  ]
@@ -22556,6 +22598,12 @@
22556
22598
  "source": "stdlib/wix-sdk/invoices/src/index.ts",
22557
22599
  "description": "Invoices",
22558
22600
  "api": [
22601
+ {
22602
+ "name": "WixCallOptions",
22603
+ "kind": "interface",
22604
+ "jsdoc": "",
22605
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
22606
+ },
22559
22607
  {
22560
22608
  "name": "WixInvoiceContactDetails",
22561
22609
  "kind": "interface",
@@ -22614,7 +22662,7 @@
22614
22662
  "name": "queryInvoices",
22615
22663
  "kind": "function",
22616
22664
  "jsdoc": "/** List/query invoices — POST /invoices/v4/invoices/query. The list screen's source. */",
22617
- "decl": "export function queryInvoices(req: WixQueryInvoicesRequest = {} as WixQueryInvoicesRequest): Promise<WixQueryInvoicesResponse>;",
22665
+ "decl": "export function queryInvoices(req: WixQueryInvoicesRequest = {} as WixQueryInvoicesRequest, readOptions?: WixCallOptions): Promise<WixQueryInvoicesResponse>;",
22618
22666
  "http": "POST /invoices/v4/invoices/query"
22619
22667
  },
22620
22668
  {
@@ -22627,7 +22675,7 @@
22627
22675
  "name": "getInvoice",
22628
22676
  "kind": "function",
22629
22677
  "jsdoc": "/** Fetch a single invoice by id — GET /invoices/v4/invoices/{id}. Detail source. */",
22630
- "decl": "export function getInvoice(invoiceId: string): Promise<WixGetInvoiceResponse>;",
22678
+ "decl": "export function getInvoice(invoiceId: string, options?: WixCallOptions): Promise<WixGetInvoiceResponse>;",
22631
22679
  "http": "GET /invoices/v4/invoices/{…}"
22632
22680
  },
22633
22681
  {
@@ -22695,11 +22743,17 @@
22695
22743
  "source": "stdlib/wix-sdk/loyalty/src/index.ts",
22696
22744
  "description": "Loyalty points and rewards",
22697
22745
  "api": [
22746
+ {
22747
+ "name": "WixCallOptions",
22748
+ "kind": "interface",
22749
+ "jsdoc": "",
22750
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
22751
+ },
22698
22752
  {
22699
22753
  "name": "wixCall",
22700
22754
  "kind": "function",
22701
- "jsdoc": "",
22702
- "decl": "export function wixCall<T>(method: string, path: string, body?: unknown): Promise<T>;"
22755
+ "jsdoc": "/** The per-call header map for `opts`, or undefined when there is nothing to add — so\n * the no-options path calls the bridge with exactly the 3 arguments it always did. */",
22756
+ "decl": "export function wixCall<T>(method: string, path: string, body?: unknown, readOptions?: WixCallOptions): Promise<T>;"
22703
22757
  },
22704
22758
  {
22705
22759
  "name": "WixLoyaltyProgram",
@@ -22723,21 +22777,21 @@
22723
22777
  "name": "getLoyaltyProgram",
22724
22778
  "kind": "function",
22725
22779
  "jsdoc": "/** GET /loyalty/v1/program → { loyaltyProgram }. */",
22726
- "decl": "export function getLoyaltyProgram(): Promise<{ loyaltyProgram?: WixLoyaltyProgram; program?: WixLoyaltyProgram }>;",
22780
+ "decl": "export function getLoyaltyProgram(readOptions?: WixCallOptions): Promise<{ loyaltyProgram?: WixLoyaltyProgram; program?: WixLoyaltyProgram }>;",
22727
22781
  "http": "GET /loyalty/v1/program"
22728
22782
  },
22729
22783
  {
22730
22784
  "name": "listLoyaltyRewards",
22731
22785
  "kind": "function",
22732
22786
  "jsdoc": "/** GET /loyalty/v1/rewards → { rewards }. */",
22733
- "decl": "export function listLoyaltyRewards(): Promise<{ rewards?: WixLoyaltyReward[] }>;",
22787
+ "decl": "export function listLoyaltyRewards(readOptions?: WixCallOptions): Promise<{ rewards?: WixLoyaltyReward[] }>;",
22734
22788
  "http": "GET /loyalty/v1/rewards"
22735
22789
  },
22736
22790
  {
22737
22791
  "name": "listLoyaltyTiers",
22738
22792
  "kind": "function",
22739
22793
  "jsdoc": "/** GET /loyalty/v1/tiers → { tiers }. The PUBLIC program tier ladder\n * (wix.loyalty.v1.tier) — NOT the private per-customer tiers-program dashboard. */",
22740
- "decl": "export function listLoyaltyTiers(): Promise<{ tiers?: WixLoyaltyTier[] }>;",
22794
+ "decl": "export function listLoyaltyTiers(readOptions?: WixCallOptions): Promise<{ tiers?: WixLoyaltyTier[] }>;",
22741
22795
  "http": "GET /loyalty/v1/tiers"
22742
22796
  },
22743
22797
  {
@@ -22781,7 +22835,7 @@
22781
22835
  "name": "WixCallOptions",
22782
22836
  "kind": "interface",
22783
22837
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
22784
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
22838
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
22785
22839
  },
22786
22840
  {
22787
22841
  "name": "wixCall",
@@ -23107,6 +23161,12 @@
23107
23161
  "source": "stdlib/wix-sdk/members-v1/src/index.ts",
23108
23162
  "description": "Site members (Members Area)",
23109
23163
  "api": [
23164
+ {
23165
+ "name": "WixCallOptions",
23166
+ "kind": "interface",
23167
+ "jsdoc": "",
23168
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23169
+ },
23110
23170
  {
23111
23171
  "name": "WixPaging",
23112
23172
  "kind": "interface",
@@ -23207,14 +23267,14 @@
23207
23267
  "name": "queryMembers",
23208
23268
  "kind": "function",
23209
23269
  "jsdoc": "/** List site members — POST /members/v1/members/query. Pass `{ query: { paging: { limit, offset? } } }`\n * (offset paging). Do not pass `cursorPaging` — that is a different Wix envelope and is not on this type. */",
23210
- "decl": "export function queryMembers(req: WixQueryMembersRequest = {} as WixQueryMembersRequest): Promise<WixQueryMembersResponse>;",
23270
+ "decl": "export function queryMembers(req: WixQueryMembersRequest = {} as WixQueryMembersRequest, readOptions?: WixCallOptions): Promise<WixQueryMembersResponse>;",
23211
23271
  "http": "POST /members/v1/members/query"
23212
23272
  },
23213
23273
  {
23214
23274
  "name": "getMember",
23215
23275
  "kind": "function",
23216
23276
  "jsdoc": "/** Fetch a single member by id — GET /members/v1/members/{id}?fieldsets=FULL. */",
23217
- "decl": "export function getMember(id: string): Promise<WixGetMemberResponse>;",
23277
+ "decl": "export function getMember(id: string, options?: WixCallOptions): Promise<WixGetMemberResponse>;",
23218
23278
  "http": "GET /members/v1/members/{…}?fieldsets=FULL"
23219
23279
  },
23220
23280
  {
@@ -23350,7 +23410,7 @@
23350
23410
  "name": "getFollowCounts",
23351
23411
  "kind": "function",
23352
23412
  "jsdoc": "/** Followers / following totals for a member — POST\n * /members/v1/activity-counters/query. Parses the Followers-app counter entry;\n * defaults each total to 0 when absent. May 403 → caller should default. */",
23353
- "decl": "export async function getFollowCounts(memberId: string): Promise<WixFollowCounts>;",
23413
+ "decl": "export async function getFollowCounts(memberId: string, options?: WixCallOptions): Promise<WixFollowCounts>;",
23354
23414
  "http": "POST /members/v1/activity-counters/query"
23355
23415
  },
23356
23416
  {
@@ -23367,6 +23427,12 @@
23367
23427
  "source": "stdlib/wix-sdk/members-feed-viewer/src/index.ts",
23368
23428
  "description": "Member notifications inbox",
23369
23429
  "api": [
23430
+ {
23431
+ "name": "WixCallOptions",
23432
+ "kind": "interface",
23433
+ "jsdoc": "",
23434
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23435
+ },
23370
23436
  {
23371
23437
  "name": "MfvLink",
23372
23438
  "kind": "interface",
@@ -23395,7 +23461,7 @@
23395
23461
  "name": "queryNotifications",
23396
23462
  "kind": "function",
23397
23463
  "jsdoc": "/** List the signed-in member's notifications, newest first. MOBILE channel. */",
23398
- "decl": "export async function queryNotifications(limit = 25): Promise<MfvNotification[]>;"
23464
+ "decl": "export async function queryNotifications(limit = 25, options?: WixCallOptions): Promise<MfvNotification[]>;"
23399
23465
  },
23400
23466
  {
23401
23467
  "name": "markRead",
@@ -23416,6 +23482,12 @@
23416
23482
  "source": "stdlib/wix-sdk/new-releases/src/index.ts",
23417
23483
  "description": "New releases feed",
23418
23484
  "api": [
23485
+ {
23486
+ "name": "WixCallOptions",
23487
+ "kind": "interface",
23488
+ "jsdoc": "",
23489
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23490
+ },
23419
23491
  {
23420
23492
  "name": "WixAnnouncementAsset",
23421
23493
  "kind": "interface",
@@ -23444,7 +23516,7 @@
23444
23516
  "name": "listAnnouncements",
23445
23517
  "kind": "function",
23446
23518
  "jsdoc": "",
23447
- "decl": "export function listAnnouncements(limit = 20): Promise<WixAnnouncementsResponse>;"
23519
+ "decl": "export function listAnnouncements(limit = 20, options?: WixCallOptions): Promise<WixAnnouncementsResponse>;"
23448
23520
  }
23449
23521
  ]
23450
23522
  },
@@ -23453,6 +23525,12 @@
23453
23525
  "source": "stdlib/wix-sdk/notification-preferences/src/index.ts",
23454
23526
  "description": "Notification preferences",
23455
23527
  "api": [
23528
+ {
23529
+ "name": "WixCallOptions",
23530
+ "kind": "interface",
23531
+ "jsdoc": "/** Explicit read policy; business response payloads remain unchanged. */",
23532
+ "decl": "export interface WixCallOptions {\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?(metadata: { source: \"cache\" | \"network\"; fetchedAt: number; expiresAt?: number; cacheable: boolean }): void;\n}"
23533
+ },
23456
23534
  {
23457
23535
  "name": "NOTIFICATION_PREFERENCES_BASE",
23458
23536
  "kind": "const",
@@ -23571,7 +23649,7 @@
23571
23649
  "name": "getNotificationTopics",
23572
23650
  "kind": "function",
23573
23651
  "jsdoc": "/** List the site's notification topics — `GET /v1/preferences/topics`\n * (GetNotificationTopicsDefinitions). Publicly mounted.\n * verify-live: source contract checked; live caller authorization remains untested. */",
23574
- "decl": "export function getNotificationTopics(): Promise<GetNotificationTopicsResponse>;",
23652
+ "decl": "export function getNotificationTopics(options?: WixCallOptions): Promise<GetNotificationTopicsResponse>;",
23575
23653
  "verified": false
23576
23654
  },
23577
23655
  {
@@ -23585,7 +23663,7 @@
23585
23663
  "name": "getMyNotificationPreferences",
23586
23664
  "kind": "function",
23587
23665
  "jsdoc": "/** The signed-in recipient's preferences — `GET /v1/preferences-by-implicit-recipient`\n * (GetPreferencesByImplicitRecipient). NOT in the published public swagger; a 404 from\n * the public gateway is the expected outcome there, not a bug in this call.\n * verify-live: the implicit-recipient mount has not been verified for member callers. */",
23588
- "decl": "export function getMyNotificationPreferences(): Promise<GetMyNotificationPreferencesResponse>;",
23666
+ "decl": "export function getMyNotificationPreferences(options?: WixCallOptions): Promise<GetMyNotificationPreferencesResponse>;",
23589
23667
  "verified": false
23590
23668
  },
23591
23669
  {
@@ -23606,7 +23684,7 @@
23606
23684
  "name": "WixCallOptions",
23607
23685
  "kind": "interface",
23608
23686
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
23609
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
23687
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23610
23688
  },
23611
23689
  {
23612
23690
  "name": "wixCall",
@@ -23748,6 +23826,12 @@
23748
23826
  "source": "stdlib/wix-sdk/online-programs/src/index.ts",
23749
23827
  "description": "Online programs / courses",
23750
23828
  "api": [
23829
+ {
23830
+ "name": "WixCallOptions",
23831
+ "kind": "interface",
23832
+ "jsdoc": "",
23833
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23834
+ },
23751
23835
  {
23752
23836
  "name": "WixProgramDescription",
23753
23837
  "kind": "interface",
@@ -23776,7 +23860,7 @@
23776
23860
  "name": "queryPrograms",
23777
23861
  "kind": "function",
23778
23862
  "jsdoc": "/** POST /online-programs/v3/programs/query — list programs (cursor-paged). */",
23779
- "decl": "export function queryPrograms(query: WixProgramQuery): Promise<WixQueryProgramsResponse>;",
23863
+ "decl": "export function queryPrograms(query: WixProgramQuery, readOptions?: WixCallOptions): Promise<WixQueryProgramsResponse>;",
23780
23864
  "http": "POST /online-programs/v3/programs/query"
23781
23865
  },
23782
23866
  {
@@ -23795,7 +23879,7 @@
23795
23879
  "name": "getProgram",
23796
23880
  "kind": "function",
23797
23881
  "jsdoc": "/** GET /online-programs/v3/programs/{id} — single program (management view). */",
23798
- "decl": "export function getProgram(id: string): Promise<WixGetProgramResponse>;",
23882
+ "decl": "export function getProgram(id: string, readOptions?: WixCallOptions): Promise<WixGetProgramResponse>;",
23799
23883
  "http": "GET /online-programs/v3/programs/{…}"
23800
23884
  },
23801
23885
  {
@@ -23814,7 +23898,7 @@
23814
23898
  "name": "queryParticipants",
23815
23899
  "kind": "function",
23816
23900
  "jsdoc": "/** POST /online-programs/v3/participants/query — participants for one program. */",
23817
- "decl": "export function queryParticipants(programId: string, opts?: { progressStatus?: string; limit?: number }): Promise<WixQueryParticipantsResponse>;",
23901
+ "decl": "export function queryParticipants(programId: string, opts?: { progressStatus?: string; limit?: number }, readOptions?: WixCallOptions): Promise<WixQueryParticipantsResponse>;",
23818
23902
  "http": "POST /online-programs/v3/participants/query"
23819
23903
  },
23820
23904
  {
@@ -23861,6 +23945,12 @@
23861
23945
  "source": "stdlib/wix-sdk/portfolio/src/index.ts",
23862
23946
  "description": "Portfolio — projects and collections",
23863
23947
  "api": [
23948
+ {
23949
+ "name": "WixCallOptions",
23950
+ "kind": "interface",
23951
+ "jsdoc": "",
23952
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
23953
+ },
23864
23954
  {
23865
23955
  "name": "WixMediaImage",
23866
23956
  "kind": "interface",
@@ -23889,7 +23979,7 @@
23889
23979
  "name": "listProjects",
23890
23980
  "kind": "function",
23891
23981
  "jsdoc": "/** GET /portfolio/v1/projects — list projects (paged). */",
23892
- "decl": "export function listProjects(limit = 100, cursor?: string): Promise<WixListProjectsResponse>;",
23982
+ "decl": "export function listProjects(limit = 100, cursor?: string, readOptions?: WixCallOptions): Promise<WixListProjectsResponse>;",
23893
23983
  "http": "GET /portfolio/v1/projects?{…}"
23894
23984
  },
23895
23985
  {
@@ -23908,7 +23998,7 @@
23908
23998
  "name": "listCollections",
23909
23999
  "kind": "function",
23910
24000
  "jsdoc": "/** GET /portfolio/v1/collections — list collections (paged). */",
23911
- "decl": "export function listCollections(limit = 100, cursor?: string): Promise<WixListCollectionsResponse>;",
24001
+ "decl": "export function listCollections(limit = 100, cursor?: string, readOptions?: WixCallOptions): Promise<WixListCollectionsResponse>;",
23912
24002
  "http": "GET /portfolio/v1/collections?{…}"
23913
24003
  },
23914
24004
  {
@@ -23927,7 +24017,7 @@
23927
24017
  "name": "listProjectItems",
23928
24018
  "kind": "function",
23929
24019
  "jsdoc": "/**\n * POST /portfolio/v1/items/query — list a project's items.\n *\n * A first page filters on `projectId` with `paging.limit`. Passing a `cursor` (a previous\n * page's `pagingMetadata.cursors.next`) switches to `cursorPaging` and drops the filter,\n * because a Wix query cursor already carries it. Items come back in the order Wix returns\n * them — sort on `sortOrder` for the author's order.\n */",
23930
- "decl": "export function listProjectItems(projectId: string, limit = 100, cursor?: string): Promise<WixListProjectItemsResponse>;",
24020
+ "decl": "export function listProjectItems(projectId: string, limit = 100, cursor?: string, readOptions?: WixCallOptions): Promise<WixListProjectItemsResponse>;",
23931
24021
  "http": "POST /portfolio/v1/items/query"
23932
24022
  }
23933
24023
  ]
@@ -23937,6 +24027,12 @@
23937
24027
  "source": "stdlib/wix-sdk/pricing-plans/src/index.ts",
23938
24028
  "description": "Paid plans and subscriptions",
23939
24029
  "api": [
24030
+ {
24031
+ "name": "WixCallOptions",
24032
+ "kind": "interface",
24033
+ "jsdoc": "",
24034
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
24035
+ },
23940
24036
  {
23941
24037
  "name": "WixMoney",
23942
24038
  "kind": "interface",
@@ -23983,7 +24079,7 @@
23983
24079
  "name": "listPlans",
23984
24080
  "kind": "function",
23985
24081
  "jsdoc": "/** List pricing plans — GET /pricing-plans/v2/plans. The list screen's data\n * source. Returns public + hidden plans (archived excluded by default). */",
23986
- "decl": "export function listPlans(): Promise<WixListPlansResponse>;",
24082
+ "decl": "export function listPlans(readOptions?: WixCallOptions): Promise<WixListPlansResponse>;",
23987
24083
  "http": "GET /pricing-plans/v2/plans"
23988
24084
  },
23989
24085
  {
@@ -23996,7 +24092,7 @@
23996
24092
  "name": "listPublicPlans",
23997
24093
  "kind": "function",
23998
24094
  "jsdoc": "/** List PUBLIC pricing plans — GET /pricing-plans/v2/plans/public. The\n * consumer/visitor list source: the public GA route works on the ANONYMOUS\n * visitor rung (no member/owner session), unlike listPlans above which needs a\n * management identity. Export name mirrors the generated pricing-plans-v2\n * client (stdlib/wix-sdk/pricing-plans-v2) — the canonical importable name\n * stays unversioned per RFC 0043 D2. */",
23999
- "decl": "export function listPublicPlans(): Promise<WixListPublicPlansResponse>;",
24095
+ "decl": "export function listPublicPlans(readOptions?: WixCallOptions): Promise<WixListPublicPlansResponse>;",
24000
24096
  "http": "GET /pricing-plans/v2/plans/public"
24001
24097
  },
24002
24098
  {
@@ -24009,7 +24105,7 @@
24009
24105
  "name": "getPlan",
24010
24106
  "kind": "function",
24011
24107
  "jsdoc": "/** Fetch a single plan by id — GET /pricing-plans/v2/plans/{id}. Detail source. */",
24012
- "decl": "export function getPlan(planId: string): Promise<WixGetPlanResponse>;",
24108
+ "decl": "export function getPlan(planId: string, readOptions?: WixCallOptions): Promise<WixGetPlanResponse>;",
24013
24109
  "http": "GET /pricing-plans/v2/plans/{…}"
24014
24110
  },
24015
24111
  {
@@ -24072,7 +24168,7 @@
24072
24168
  "name": "listPlanOrders",
24073
24169
  "kind": "function",
24074
24170
  "jsdoc": "/** List plan orders (subscriptions) — GET /pricing-plans/v2/orders. The\n * subscriptions list source. (The POST .../orders/query 500s; the GET works.)\n *\n * OWNER-SCOPED. This is `OrderManagementService.ListOrders`, which requires\n * `PRICING_PLANS.READ_ORDERS` — an OWNER permission. A **member** session gets\n * `403` from it. To ask \"does the signed-in member hold a plan?\" — the\n * entitlement question every gated app asks — call `listMyPlanOrders()`. Using\n * this one there silently fails closed: the 403 reads as \"no orders\", so a\n * PAYING member is locked out of what they bought, and no error surfaces. */",
24075
- "decl": "export function listPlanOrders(): Promise<WixListPlanOrdersResponse>;",
24171
+ "decl": "export function listPlanOrders(readOptions?: WixCallOptions): Promise<WixListPlanOrdersResponse>;",
24076
24172
  "http": "GET /pricing-plans/v2/orders"
24077
24173
  },
24078
24174
  {
@@ -24085,7 +24181,7 @@
24085
24181
  "name": "listMyPlanOrders",
24086
24182
  "kind": "function",
24087
24183
  "jsdoc": "/** List the CURRENT MEMBER's own plan orders — GET /pricing-plans/v2/member/orders\n * (`MemberOrdersService.ListOrders`, `PRICING_PLANS.READ_OWN_ORDERS`). Returns\n * only orders belonging to the logged-in member, and nothing at all for a\n * visitor — so it is member-scoped by construction, not by a filter the caller\n * must remember to pass.\n *\n * This is the entitlement door: `orders.some(o => o.status === \"ACTIVE\")`. Only\n * `ACTIVE` counts — a paid plan that has not settled sits at `DRAFT`, and\n * treating that as joined hands out the content without taking payment.\n *\n * ALWAYS PASS `statuses: [\"ACTIVE\"]` FOR THE ENTITLEMENT QUESTION. The response\n * is a single page — the maximum is 50 rows and there is no cursor — and a member\n * accrues a `DRAFT` order for every abandoned checkout. Scanning an unfiltered\n * page means that once the DRAFTs fill it, the one ACTIVE order falls off the\n * end and a PAYING member is locked out, silently and permanently. Filtering\n * server-side makes the page contain only what grants access, so the volume of\n * abandoned checkouts cannot matter.\n *\n * (`statuses` is a real proto field, not a tolerated unknown: an invalid value\n * is rejected with 400 rather than ignored, so a typo fails loudly here instead\n * of quietly widening the gate.) */",
24088
- "decl": "export function listMyPlanOrders(opts: ListMyPlanOrdersOptions = {}): Promise<WixListPlanOrdersResponse>;"
24184
+ "decl": "export function listMyPlanOrders(opts: ListMyPlanOrdersOptions = {}, readOptions?: WixCallOptions): Promise<WixListPlanOrdersResponse>;"
24089
24185
  },
24090
24186
  {
24091
24187
  "name": "WixGetPlanOrderResponse",
@@ -24097,7 +24193,7 @@
24097
24193
  "name": "getPlanOrder",
24098
24194
  "kind": "function",
24099
24195
  "jsdoc": "/** Fetch a single plan order — GET /pricing-plans/v2/orders/{id}. Detail source. */",
24100
- "decl": "export function getPlanOrder(orderId: string): Promise<WixGetPlanOrderResponse>;",
24196
+ "decl": "export function getPlanOrder(orderId: string, readOptions?: WixCallOptions): Promise<WixGetPlanOrderResponse>;",
24101
24197
  "http": "GET /pricing-plans/v2/orders/{…}"
24102
24198
  },
24103
24199
  {
@@ -24182,7 +24278,7 @@
24182
24278
  "name": "WixCallOptions",
24183
24279
  "kind": "interface",
24184
24280
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
24185
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
24281
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
24186
24282
  },
24187
24283
  {
24188
24284
  "name": "wixCall",
@@ -24544,7 +24640,7 @@
24544
24640
  "name": "WixCallOptions",
24545
24641
  "kind": "interface",
24546
24642
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
24547
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
24643
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
24548
24644
  },
24549
24645
  {
24550
24646
  "name": "wixCall",
@@ -24688,7 +24784,7 @@
24688
24784
  "name": "querySections",
24689
24785
  "kind": "function",
24690
24786
  "jsdoc": "/** POST /restaurants/menus/v1/sections/query — menu sections (perm\n * RESTAURANTS.SECTION_READ; visitor-readable on sites with the Menus app). */",
24691
- "decl": "export function querySections(\n req: WixSectionQueryRequest = {} as WixSectionQueryRequest,\n): Promise<WixQuerySectionsResponse>;",
24787
+ "decl": "export function querySections(\n req: WixSectionQueryRequest = {} as WixSectionQueryRequest,\n opts?: WixCallOptions,\n): Promise<WixQuerySectionsResponse>;",
24692
24788
  "http": "POST /restaurants/menus/v1/sections/query"
24693
24789
  },
24694
24790
  {
@@ -24764,6 +24860,12 @@
24764
24860
  "source": "stdlib/wix-sdk/reviews/src/index.ts",
24765
24861
  "description": "Product and site reviews",
24766
24862
  "api": [
24863
+ {
24864
+ "name": "WixCallOptions",
24865
+ "kind": "interface",
24866
+ "jsdoc": "",
24867
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
24868
+ },
24767
24869
  {
24768
24870
  "name": "ReviewModerationStatus",
24769
24871
  "kind": "type",
@@ -24804,14 +24906,14 @@
24804
24906
  "name": "queryReviews",
24805
24907
  "kind": "function",
24806
24908
  "jsdoc": "/** POST /reviews/v1/reviews/query — list reviews (cursor-paged WQL).\n * Pass returnPrivateReviews:true to include unpublished (pending/rejected) reviews. */",
24807
- "decl": "export function queryReviews(query: WixReviewQuery, returnPrivateReviews = false): Promise<WixQueryReviewsResponse>;",
24909
+ "decl": "export function queryReviews(query: WixReviewQuery, returnPrivateReviews = false, readOptions?: WixCallOptions): Promise<WixQueryReviewsResponse>;",
24808
24910
  "http": "POST /reviews/v1/reviews/query"
24809
24911
  },
24810
24912
  {
24811
24913
  "name": "getReview",
24812
24914
  "kind": "function",
24813
24915
  "jsdoc": "/** GET /reviews/v1/reviews/{id} — single review.\n * returnPrivateReviews=true is required to read a pending/rejected review. */",
24814
- "decl": "export function getReview(id: string, returnPrivateReviews = true): Promise<{ review?: WixReview }>;",
24916
+ "decl": "export function getReview(id: string, returnPrivateReviews = true, readOptions?: WixCallOptions): Promise<{ review?: WixReview }>;",
24815
24917
  "http": "GET /reviews/v1/reviews/{…}{…}"
24816
24918
  },
24817
24919
  {
@@ -24976,7 +25078,7 @@
24976
25078
  "name": "WixCallOptions",
24977
25079
  "kind": "interface",
24978
25080
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
24979
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
25081
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
24980
25082
  },
24981
25083
  {
24982
25084
  "name": "wixCall",
@@ -25136,7 +25238,7 @@
25136
25238
  "name": "WixCallOptions",
25137
25239
  "kind": "interface",
25138
25240
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
25139
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
25241
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
25140
25242
  },
25141
25243
  {
25142
25244
  "name": "wixCall",
@@ -25277,6 +25379,12 @@
25277
25379
  "source": "stdlib/wix-sdk/social-feed/src/index.ts",
25278
25380
  "description": "Social feed",
25279
25381
  "api": [
25382
+ {
25383
+ "name": "WixCallOptions",
25384
+ "kind": "interface",
25385
+ "jsdoc": "",
25386
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
25387
+ },
25280
25388
  {
25281
25389
  "name": "WixFeedItem",
25282
25390
  "kind": "interface",
@@ -25299,7 +25407,7 @@
25299
25407
  "name": "listFeedItems",
25300
25408
  "kind": "function",
25301
25409
  "jsdoc": "/**\n * List a group's activity feed — GET\n * https://social.wix.com/serverless/mobile/feed/v4/feedPosts (the ENRICHED read the\n * real mobile app uses). Each item carries content (Ricos blocks), commentsCount, and\n * reactionsList (count = length); the response's top-level `profiles[]` resolves each\n * item's author.id → userName + profileImage. Verified live (200). Replaces the lean\n * GET /api/v1/feed/items read, which omitted counts + author.\n *\n * @scope member — verified live with a signed-in member session; visitor/anonymous\n * readability of a public group's feed is unconfirmed.\n */",
25302
- "decl": "export function listFeedItems(groupId: string, limit = 20): Promise<WixListFeedItemsResponse>;",
25410
+ "decl": "export function listFeedItems(groupId: string, limit = 20, options?: WixCallOptions): Promise<WixListFeedItemsResponse>;",
25303
25411
  "scope": "member"
25304
25412
  },
25305
25413
  {
@@ -25346,14 +25454,14 @@
25346
25454
  "name": "queryStoreProducts",
25347
25455
  "kind": "function",
25348
25456
  "jsdoc": "/** List products from whichever catalog this site runs. `fields` is additive — it\n * WIDENS the default v3 display fieldset rather than replacing it. */",
25349
- "decl": "export async function queryStoreProducts(\n limit = 50,\n cursor?: string,\n fields?: readonly string[],\n): Promise<StoreProductsResponse>;",
25457
+ "decl": "export async function queryStoreProducts(\n limit = 50,\n cursor?: string,\n fields?: readonly string[],\n options?: WixCallOptions,\n): Promise<StoreProductsResponse>;",
25350
25458
  "http": "POST /stores/v3/products/query"
25351
25459
  },
25352
25460
  {
25353
25461
  "name": "getStoreProduct",
25354
25462
  "kind": "function",
25355
25463
  "jsdoc": "/** Read one product from whichever catalog this site runs. `fields` is additive —\n * it WIDENS the default v3 display fieldset rather than replacing it. */",
25356
- "decl": "export async function getStoreProduct(\n productId: string,\n fields?: readonly string[],\n): Promise<StoreGetProductResponse>;",
25464
+ "decl": "export async function getStoreProduct(\n productId: string,\n fields?: readonly string[], readOptions?: WixCallOptions\n): Promise<StoreGetProductResponse>;",
25357
25465
  "http": "GET /stores/v3/products/{…}?{…}"
25358
25466
  },
25359
25467
  {
@@ -25372,7 +25480,7 @@
25372
25480
  "name": "WixCallOptions",
25373
25481
  "kind": "interface",
25374
25482
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
25375
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
25483
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
25376
25484
  },
25377
25485
  {
25378
25486
  "name": "wixCall",
@@ -25530,7 +25638,7 @@
25530
25638
  "name": "getProduct",
25531
25639
  "kind": "function",
25532
25640
  "jsdoc": "/** Read one product from whichever catalog this site runs. `opts.richDescription` (Catalog V3) also asks\n * for the Ricos `description` and returns it as `product.richDescription` (null when the product has\n * none). The key is ABSENT on a V1 catalog, which has no Ricos description, and without the option. */",
25533
- "decl": "export function getProduct(productId: string, opts: { richDescription?: boolean } = {}): Promise<WixGetProductResponse>;",
25641
+ "decl": "export function getProduct(productId: string, opts: { richDescription?: boolean } = {}, readOptions?: WixCallOptions): Promise<WixGetProductResponse>;",
25534
25642
  "http": "GET /stores/v1/products/{…}"
25535
25643
  },
25536
25644
  {
@@ -25638,7 +25746,7 @@
25638
25746
  "name": "searchStoreProducts",
25639
25747
  "kind": "function",
25640
25748
  "jsdoc": "/**\n * Search, sort, and filter products on whichever catalog this site runs — the read\n * behind a shop list, a saved-products list, and a category screen.\n *\n * `categoryId` narrows to one category's products (V3 `allCategoriesInfo`, so a parent\n * category includes its subcategories; V1 `collections.id`), ANDed with `ids`. An\n * empty `ids` array resolves to an empty page WITHOUT a request. Paging is one\n * contract on both catalogs: pass back `pagingMetadata.cursors.next` as `cursor`.\n * A non-catalog failure (401/403, offline) rejects; it is never retried on V1.\n */",
25641
- "decl": "export async function searchStoreProducts(options: StoreProductSearch = {}): Promise<StoreProductsResponse>;",
25749
+ "decl": "export async function searchStoreProducts(options: StoreProductSearch = {}, readOptions?: WixCallOptions): Promise<StoreProductsResponse>;",
25642
25750
  "http": "POST /stores/v1/products/query"
25643
25751
  },
25644
25752
  {
@@ -25738,11 +25846,17 @@
25738
25846
  "source": "stdlib/wix-sdk/stores-collections/src/index.ts",
25739
25847
  "description": "Stores — product collections",
25740
25848
  "api": [
25849
+ {
25850
+ "name": "WixCallOptions",
25851
+ "kind": "interface",
25852
+ "jsdoc": "",
25853
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
25854
+ },
25741
25855
  {
25742
25856
  "name": "wixCall",
25743
25857
  "kind": "function",
25744
- "jsdoc": "",
25745
- "decl": "export function wixCall<T>(method: string, path: string, body?: unknown): Promise<T>;"
25858
+ "jsdoc": "/** The per-call header map for `opts`, or undefined when there is nothing to add — so\n * the no-options path calls the bridge with exactly the 3 arguments it always did. */",
25859
+ "decl": "export function wixCall<T>(method: string, path: string, body?: unknown, readOptions?: WixCallOptions): Promise<T>;"
25746
25860
  },
25747
25861
  {
25748
25862
  "name": "WixCollectionsPaging",
@@ -25808,14 +25922,14 @@
25808
25922
  "name": "getCollection",
25809
25923
  "kind": "function",
25810
25924
  "jsdoc": "/** Fetch a single collection by id — the detail screen's data source.\n * ⚠️ Catalog **V1 only**: `/stores/v1/collections/*` returns HTTP 428 on modern\n * (\"stores-v3\") sites. For the V3 visitor read use `getStoreCategory` (./display). */",
25811
- "decl": "export function getCollection(collectionId: string): Promise<WixGetCollectionResponse>;",
25925
+ "decl": "export function getCollection(collectionId: string, options?: WixCallOptions): Promise<WixGetCollectionResponse>;",
25812
25926
  "http": "GET /stores/v1/collections/{…}?includeNumberOfProducts=true"
25813
25927
  },
25814
25928
  {
25815
25929
  "name": "queryCollections",
25816
25930
  "kind": "function",
25817
25931
  "jsdoc": "/** ⚠️ Catalog **V1 only**: `/stores/v1/collections/query` returns HTTP 428 on modern\n * (\"stores-v3\") sites. For the V3 visitor read use `queryStoreCategories` (./display). */",
25818
- "decl": "export function queryCollections(req: WixQueryCollectionsRequest = {} as WixQueryCollectionsRequest): Promise<WixQueryCollectionsResponse>;",
25932
+ "decl": "export function queryCollections(req: WixQueryCollectionsRequest = {} as WixQueryCollectionsRequest, options?: WixCallOptions): Promise<WixQueryCollectionsResponse>;",
25819
25933
  "http": "POST /stores/v1/collections/query"
25820
25934
  },
25821
25935
  {
@@ -25903,14 +26017,14 @@
25903
26017
  "name": "queryStoreCategories",
25904
26018
  "kind": "function",
25905
26019
  "jsdoc": "/** V3 visitor read: list store categories (the V3 replacement for `queryCollections`).\n * POST /categories/v1/categories/query — `treeReference.appNamespace` is REQUIRED. */",
25906
- "decl": "export function queryStoreCategories(limit = 50, cursor?: string): Promise<StoreCategoriesResponse>;",
26020
+ "decl": "export function queryStoreCategories(limit = 50, cursor?: string, options?: WixCallOptions): Promise<StoreCategoriesResponse>;",
25907
26021
  "http": "POST /categories/v1/categories/query"
25908
26022
  },
25909
26023
  {
25910
26024
  "name": "getStoreCategory",
25911
26025
  "kind": "function",
25912
26026
  "jsdoc": "/** V3 visitor read: one store category by id (the V3 replacement for `getCollection`).\n * GET /categories/v1/categories/{id} — `treeReference.appNamespace` passed as a query param. */",
25913
- "decl": "export function getStoreCategory(categoryId: string): Promise<StoreGetCategoryResponse>;",
26027
+ "decl": "export function getStoreCategory(categoryId: string, options?: WixCallOptions): Promise<StoreGetCategoryResponse>;",
25914
26028
  "http": "GET /categories/v1/categories/{…}?treeReference.appNamespace={…}&fields=DESCRIPTION"
25915
26029
  },
25916
26030
  {
@@ -25932,6 +26046,12 @@
25932
26046
  "source": "stdlib/wix-sdk/table-reservations/src/index.ts",
25933
26047
  "description": "Restaurant table reservations",
25934
26048
  "api": [
26049
+ {
26050
+ "name": "WixCallOptions",
26051
+ "kind": "interface",
26052
+ "jsdoc": "",
26053
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
26054
+ },
25935
26055
  {
25936
26056
  "name": "WixReservation",
25937
26057
  "kind": "interface",
@@ -25954,7 +26074,7 @@
25954
26074
  "name": "queryReservations",
25955
26075
  "kind": "function",
25956
26076
  "jsdoc": "/** POST /table-reservations/reservations/v1/reservations/query — list reservations. */",
25957
- "decl": "export function queryReservations(query: WixReservationQuery): Promise<WixQueryReservationsResponse>;",
26077
+ "decl": "export function queryReservations(query: WixReservationQuery, readOptions?: WixCallOptions): Promise<WixQueryReservationsResponse>;",
25958
26078
  "http": "POST /table-reservations/reservations/v1/reservations/query"
25959
26079
  },
25960
26080
  {
@@ -25967,7 +26087,7 @@
25967
26087
  "name": "getReservation",
25968
26088
  "kind": "function",
25969
26089
  "jsdoc": "/** GET /table-reservations/reservations/v1/reservations/{id} — single reservation (proto GetReservation; perm RESERVATION_READ). */",
25970
- "decl": "export function getReservation(reservationId: string): Promise<WixGetReservationResponse>;",
26090
+ "decl": "export function getReservation(reservationId: string, readOptions?: WixCallOptions): Promise<WixGetReservationResponse>;",
25971
26091
  "http": "GET /table-reservations/reservations/v1/reservations/{…}"
25972
26092
  },
25973
26093
  {
@@ -26000,7 +26120,7 @@
26000
26120
  "name": "listReservationLocations",
26001
26121
  "kind": "function",
26002
26122
  "jsdoc": "/** GET /table-reservations/reservation-locations/v1/reservation-locations — up to\n * 100 locations (proto ListReservationLocations; perm RESERVATION_LOCATION_READ). */",
26003
- "decl": "export function listReservationLocations(): Promise<WixListReservationLocationsResponse>;",
26123
+ "decl": "export function listReservationLocations(readOptions?: WixCallOptions): Promise<WixListReservationLocationsResponse>;",
26004
26124
  "http": "GET /table-reservations/reservation-locations/v1/reservation-locations"
26005
26125
  },
26006
26126
  {
@@ -26030,6 +26150,12 @@
26030
26150
  "source": "stdlib/wix-sdk/users/src/index.ts",
26031
26151
  "description": "Current Wix user / account profile",
26032
26152
  "api": [
26153
+ {
26154
+ "name": "WixCallOptions",
26155
+ "kind": "interface",
26156
+ "jsdoc": "",
26157
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
26158
+ },
26033
26159
  {
26034
26160
  "name": "WixUserProfile",
26035
26161
  "kind": "interface",
@@ -26046,7 +26172,7 @@
26046
26172
  "name": "getMyData",
26047
26173
  "kind": "function",
26048
26174
  "jsdoc": "/** The signed-in Owner's account profile (account-level; member cookie auth).\n * `includeProfile=true` adds `profile.{firstName,lastName}` — the real display\n * name (e.g. \"BookingsOwner Mr Bin\"); without it only `userName` is returned.\n *\n * NATIVE-ONLY: this hits `users.wix.com` (an account/owner host off the\n * wixapis.com gateway) with the member cookie. It works on device, but on the\n * WEB serve-plane preview the visitor bridge is host-locked to wixapis.com with\n * no owner rung (RFC 0049), so this call is refused there with a typed\n * `501 webwix_owner_only` (previously a confusing `400 absolute_urls_not_allowed`,\n * #666). A visitor-token web app should treat an empty/failed result as\n * \"not signed in\" and degrade accordingly.\n *\n * VISITOR SCOPE: this is the signed-in ACCOUNT's own profile — at anonymous /\n * visitor scope it returns nothing, so a \"member profile\"/roster screen built on\n * it silently falls back to guest (#676). For a visitor-facing member directory,\n * query the Members Area instead: `@himalaya/wix-members` `queryMembers`\n * (`POST /members/v1/members/query`), which surfaces the real roster. */",
26049
- "decl": "export function getMyData(): Promise<WixMyData>;"
26175
+ "decl": "export function getMyData(options?: WixCallOptions): Promise<WixMyData>;"
26050
26176
  },
26051
26177
  {
26052
26178
  "name": "displayName",
@@ -26155,7 +26281,7 @@
26155
26281
  "name": "WixCallOptions",
26156
26282
  "kind": "interface",
26157
26283
  "jsdoc": "/** Per-call options. `site` reads a business other than the app's active one. */",
26158
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
26284
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
26159
26285
  },
26160
26286
  {
26161
26287
  "name": "WixVideoPricing",
@@ -26324,7 +26450,7 @@
26324
26450
  "name": "WixCallOptions",
26325
26451
  "kind": "interface",
26326
26452
  "jsdoc": "/** Per-call options. `site` addresses ONE call at a business other than the app's\n * active one, so a cross-site rollup can read several businesses concurrently without\n * `setActiveSite` moving the whole process between them. Omitted ⇒ the active business,\n * byte-identical to a call that never passed options.\n *\n * `site.forSite(msid)` from `@himalaya/wix-platform` returns a value of this shape, so\n * it can be passed straight through: `someMethod(req, site.forSite(msid))`. */",
26327
- "decl": "export interface WixCallOptions {\n site?: string;\n}"
26453
+ "decl": "export interface WixCallOptions {\n site?: string;\n /** Explicit cache reads never touch the network; reload waits for a server response. */\n cache?: \"default\" | \"only-if-cached\" | \"reload\";\n onCacheResult?: (metadata: {\n source: \"cache\" | \"network\";\n fetchedAt: number;\n expiresAt?: number;\n cacheable: boolean;\n }) => void;\n}"
26328
26454
  },
26329
26455
  {
26330
26456
  "name": "wixCall",