@everfur/sdk 0.13.0 → 0.15.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 (206) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +11 -10
  3. package/dist/{Chat.d-Dts8u_1a.d.cts → Chat.d-CtfANk3A.d.cts} +12 -4
  4. package/dist/{Chat.d-DUNTfzqC.d.ts → Chat.d-a7Ksz7NZ.d.ts} +12 -4
  5. package/dist/{DepthViews.d-CubkMPbU.d.ts → DepthViews.d-BqMnWSMu.d.cts} +1 -1
  6. package/dist/{DepthViews.d-BMU2jFPw.d.cts → DepthViews.d-CuBElgEc.d.ts} +1 -1
  7. package/dist/{DepthViews.d-Ce2Zhnrb.d.ts → DepthViews.d-DbJejGm3.d.ts} +1 -1
  8. package/dist/{DepthViews.d-BIp599lz.d.cts → DepthViews.d-dXWL6ToG.d.cts} +1 -1
  9. package/dist/RecordsPage.d-DKrZ9rHX.d.ts +93 -0
  10. package/dist/RecordsPage.d-DRPdUAo4.d.cts +93 -0
  11. package/dist/animations/index.cjs +1 -1
  12. package/dist/animations/index.d.cts +7 -5
  13. package/dist/animations/index.d.ts +7 -5
  14. package/dist/animations/index.js +1 -1
  15. package/dist/{attachments.d-Djy9z_0Z.d.ts → attachments.d-BGn2_knv.d.ts} +6 -24
  16. package/dist/{attachments.d-D1yhJjcZ.d.ts → attachments.d-CoQhXrP9.d.ts} +2 -2
  17. package/dist/{attachments.d-Bp2qbHxn.d.cts → attachments.d-CpaOfi2g.d.cts} +6 -24
  18. package/dist/{attachments.d-DisnvB9R.d.cts → attachments.d-CqHMGoER.d.cts} +2 -2
  19. package/dist/{bookingCopy.d-BlBmhAJc.d.cts → bookingCopy.d-Bnq2zk0F.d.cts} +2 -2
  20. package/dist/{bookingCopy.d-BJF6gd1A.d.ts → bookingCopy.d-BwCOCZUj.d.ts} +2 -2
  21. package/dist/{branding.d-DI8S400y.d.cts → branding.d-Bbc6p1XY.d.cts} +2 -2
  22. package/dist/{branding.d-OIGLbQeM.d.ts → branding.d-y6c0UwhE.d.ts} +2 -2
  23. package/dist/{casesRepository.d-CT2LTicS.d.cts → casesRepository.d-CsUJ2Oyb.d.cts} +1 -1
  24. package/dist/{casesRepository.d-UsWOz9bv.d.ts → casesRepository.d-DG83Ggbq.d.ts} +1 -1
  25. package/dist/chat/index.cjs +45 -43
  26. package/dist/chat/index.d.cts +26 -13
  27. package/dist/chat/index.d.ts +26 -13
  28. package/dist/chat/index.js +45 -43
  29. package/dist/client/index.cjs +3 -3
  30. package/dist/client/index.d.cts +12 -12
  31. package/dist/client/index.d.ts +12 -12
  32. package/dist/client/index.js +3 -3
  33. package/dist/clinicBatch.d-BLpbpS51.d.cts +71 -0
  34. package/dist/clinicBatch.d-Byjx4y_W.d.ts +71 -0
  35. package/dist/clinicModels.d-BXgKZqDb.d.cts +68 -0
  36. package/dist/clinicModels.d-CaS64-P-.d.ts +68 -0
  37. package/dist/clinicRequestProps.d-1dCtouGA.d.cts +65 -0
  38. package/dist/clinicRequestProps.d-CjsMg_OD.d.ts +65 -0
  39. package/dist/{config.d-BR3DT9ho.d.cts → config.d-C0WgjutL.d.cts} +1 -1
  40. package/dist/{config.d-Dy6igYlH.d.ts → config.d-zd2eTb2L.d.ts} +1 -1
  41. package/dist/consent/index.d.cts +5 -5
  42. package/dist/consent/index.d.ts +5 -5
  43. package/dist/{context.d-QcCgguzA.d.ts → context.d-BBjmV0rz.d.ts} +8 -8
  44. package/dist/{context.d-Cwks0p3C.d.cts → context.d-Du_UPxa1.d.cts} +8 -8
  45. package/dist/{copy.d-CiMn2IIt.d.ts → copy.d-D_VVj01o.d.ts} +2 -2
  46. package/dist/{copy.d-DLJTyRfT.d.cts → copy.d-Da_PP2K3.d.cts} +2 -2
  47. package/dist/core/index.cjs +3 -3
  48. package/dist/core/index.d.cts +21 -19
  49. package/dist/core/index.d.ts +21 -19
  50. package/dist/core/index.js +3 -3
  51. package/dist/{depth.d-OSALbYM7.d.ts → depth.d-BEedifOR.d.ts} +6 -133
  52. package/dist/{depth.d-CjPGVPDL.d.cts → depth.d-RTV61QNf.d.cts} +6 -133
  53. package/dist/{entitlementRepository.d-Cf3LbTwD.d.ts → entitlementRepository.d-BwThmh3V.d.ts} +4 -4
  54. package/dist/{entitlementRepository.d-CVQa1DA1.d.cts → entitlementRepository.d-C-stdRyA.d.cts} +4 -4
  55. package/dist/{features.d-fNsGcg0R.d.ts → features.d-DrQxTw3-.d.cts} +1 -1
  56. package/dist/{features.d-fNsGcg0R.d.cts → features.d-DrQxTw3-.d.ts} +1 -1
  57. package/dist/{focus.d-DMg2ngHI.d.ts → focus.d-CtotIyEt.d.ts} +127 -350
  58. package/dist/{focus.d-az9cqUz3.d.cts → focus.d-Dsm39DjO.d.cts} +127 -350
  59. package/dist/health-plan/index.cjs +182 -163
  60. package/dist/health-plan/index.d.cts +53 -11
  61. package/dist/health-plan/index.d.ts +53 -11
  62. package/dist/health-plan/index.js +185 -166
  63. package/dist/{idempotency.d-WpXx9zQo.d.ts → idempotency.d-Bfm7oIxS.d.cts} +158 -6
  64. package/dist/{idempotency.d-D461_DPD.d.cts → idempotency.d-Cv-B7SfC.d.ts} +158 -6
  65. package/dist/{identity.d-DzTijonw.d.ts → identity.d-BksOEa6m.d.ts} +1 -1
  66. package/dist/{identity.d-60LeJt_s.d.cts → identity.d-CioQhZrq.d.cts} +1 -1
  67. package/dist/index.cjs +48 -46
  68. package/dist/index.d.cts +20 -19
  69. package/dist/index.d.ts +20 -19
  70. package/dist/index.js +48 -46
  71. package/dist/introEvents.d-dS3fJCH1.d.cts +5 -0
  72. package/dist/introEvents.d-dS3fJCH1.d.ts +5 -0
  73. package/dist/introEvents.d-fAZitxMA.d.cts +175 -0
  74. package/dist/introEvents.d-tOi4o3F4.d.ts +175 -0
  75. package/dist/{models.d-BnLm3VAA.d.cts → models.d-BSqvbTE1.d.cts} +8 -1
  76. package/dist/{models.d-BagXhafD.d.ts → models.d-DOwnr8fi.d.ts} +8 -1
  77. package/dist/notifications/index.d.cts +4 -4
  78. package/dist/notifications/index.d.ts +4 -4
  79. package/dist/{optInView.d-acKpV8V2.d.ts → optInView.d-B8zTORO2.d.ts} +119 -3
  80. package/dist/{optInView.d-CEyHR6PK.d.cts → optInView.d-BkNSv4Gk.d.cts} +119 -3
  81. package/dist/{parse.d-C8CXyS58.d.ts → parse.d-B5JHS6Pr.d.ts} +1 -1
  82. package/dist/{parse.d-tEzufgJX.d.cts → parse.d-BgjO82mY.d.cts} +1 -1
  83. package/dist/{pets.d-NbJvP_kh.d.cts → pets.d-B_LoizOv.d.cts} +1 -1
  84. package/dist/{pets.d-C_53_fzo.d.ts → pets.d-OWxskXCP.d.ts} +1 -1
  85. package/dist/{petsRepository.d-lp1BHRqM.d.cts → petsRepository.d-B5DWzU7C.d.cts} +1 -1
  86. package/dist/{petsRepository.d-BuGHymNx.d.ts → petsRepository.d-Ba3xhJcj.d.ts} +1 -1
  87. package/dist/planSignals.d-Cl6n5QpS.d.cts +126 -0
  88. package/dist/planSignals.d-DtxZoWGM.d.ts +126 -0
  89. package/dist/{ports.d-COIyN624.d.ts → ports.d-BDtwHxmW.d.ts} +4 -4
  90. package/dist/{ports.d-CEROoqnA.d.cts → ports.d-gZNTn8Qf.d.cts} +4 -4
  91. package/dist/{presentation.d-DMbdad7G.d.cts → presentation.d-vy8kTGfR.d.cts} +6 -0
  92. package/dist/{presentation.d-DMbdad7G.d.ts → presentation.d-vy8kTGfR.d.ts} +6 -0
  93. package/dist/quickPrompts.d-NM_81Jc1.d.cts +19 -0
  94. package/dist/quickPrompts.d-NM_81Jc1.d.ts +19 -0
  95. package/dist/records/depth/index.d.cts +13 -9
  96. package/dist/records/depth/index.d.ts +13 -9
  97. package/dist/records/index.cjs +264 -140
  98. package/dist/records/index.d.cts +95 -24
  99. package/dist/records/index.d.ts +95 -24
  100. package/dist/records/index.js +265 -141
  101. package/dist/{requestFunnel.d-DWQQpjFR.d.cts → requestFunnel.d-CR4akGCY.d.cts} +2 -2
  102. package/dist/{requestFunnel.d-CXUMPw1K.d.ts → requestFunnel.d-DFf9C__p.d.ts} +2 -2
  103. package/dist/{resolve.d-jI8FmBj3.d.cts → resolve.d-CoQWUy1Y.d.cts} +1 -1
  104. package/dist/{resolve.d-jI8FmBj3.d.ts → resolve.d-CoQWUy1Y.d.ts} +1 -1
  105. package/dist/{runtimeTypes.d-4yFNNuYR.d.ts → runtimeTypes.d-BqBOrZxa.d.ts} +6 -6
  106. package/dist/{runtimeTypes.d-D6N_fhxx.d.cts → runtimeTypes.d-CHdH-y2c.d.cts} +6 -6
  107. package/dist/{useRecordsDepth.d-sAq2Qkhr.d.cts → screenProps.d-B1dIANI0.d.cts} +5 -91
  108. package/dist/{useRecordsDepth.d-DFcCfiXm.d.ts → screenProps.d-CVqFJw-J.d.ts} +5 -91
  109. package/dist/server/events/index.cjs +1 -1
  110. package/dist/server/events/index.d.cts +2 -2
  111. package/dist/server/events/index.d.ts +2 -2
  112. package/dist/server/events/index.js +1 -1
  113. package/dist/server/index.cjs +1 -1
  114. package/dist/server/index.d.cts +3 -3
  115. package/dist/server/index.d.ts +3 -3
  116. package/dist/server/index.js +1 -1
  117. package/dist/{sheetSeam.d-Cviqk89n.d.ts → sheetSeam.d-B09jf4YC.d.ts} +8 -4
  118. package/dist/{sheetSeam.d-DCS3LW8g.d.cts → sheetSeam.d-BBuEIVsa.d.cts} +8 -4
  119. package/dist/shop/index.cjs +227 -60
  120. package/dist/shop/index.d.cts +35 -5
  121. package/dist/shop/index.d.ts +35 -5
  122. package/dist/shop/index.js +228 -61
  123. package/dist/tabs/index.cjs +195 -0
  124. package/dist/tabs/index.d.cts +175 -0
  125. package/dist/tabs/index.d.ts +175 -0
  126. package/dist/tabs/index.js +195 -0
  127. package/dist/tabsModel.d-BfIQg6yS.d.cts +31 -0
  128. package/dist/tabsModel.d-BfIQg6yS.d.ts +31 -0
  129. package/dist/televet/booking/index.d.cts +6 -6
  130. package/dist/televet/booking/index.d.ts +6 -6
  131. package/dist/testing/index.cjs +1 -1
  132. package/dist/testing/index.d.cts +1 -1
  133. package/dist/testing/index.d.ts +1 -1
  134. package/dist/testing/index.js +1 -1
  135. package/dist/testing/rn/index.cjs +1 -1
  136. package/dist/testing/rn/index.d.cts +12 -12
  137. package/dist/testing/rn/index.d.ts +12 -12
  138. package/dist/testing/rn/index.js +1 -1
  139. package/dist/testing/web/index.d.cts +13 -13
  140. package/dist/testing/web/index.d.ts +13 -13
  141. package/dist/texting/index.cjs +40 -5
  142. package/dist/texting/index.d.cts +40 -7
  143. package/dist/texting/index.d.ts +40 -7
  144. package/dist/texting/index.js +40 -5
  145. package/dist/threadOptions.d-CnSfFVMr.d.cts +458 -0
  146. package/dist/threadOptions.d-DZ0AoQGk.d.ts +458 -0
  147. package/dist/{timelineRows.d-BNxgzYRW.d.cts → timelineRows.d-CF1KvLcQ.d.cts} +1 -1
  148. package/dist/{timelineRows.d-CU5GvvLk.d.ts → timelineRows.d-CtL0y7y1.d.ts} +1 -1
  149. package/dist/{tokens.d-DarDaV39.d.cts → tokens.d-BUVqme2D.d.cts} +1 -1
  150. package/dist/{tokens.d-DarDaV39.d.ts → tokens.d-BUVqme2D.d.ts} +1 -1
  151. package/dist/{typeStyle.d-C1HBRAI3.d.ts → typeStyle.d-B3Kdtjie.d.ts} +2 -2
  152. package/dist/{typeStyle.d-Bl8pzbBy.d.cts → typeStyle.d-DmlwyJq-.d.cts} +2 -2
  153. package/dist/useIntroSeen.d-CTWFUthO.d.cts +35 -0
  154. package/dist/useIntroSeen.d-CTWFUthO.d.ts +35 -0
  155. package/dist/usePresentation.d-BsR08Wxt.d.ts +285 -0
  156. package/dist/usePresentation.d-CZS0qlLI.d.cts +285 -0
  157. package/dist/{useRecords.d-Cb-36SF5.d.cts → useRecords.d-BYNX01El.d.cts} +2 -2
  158. package/dist/{useRecords.d-aQTzQZoV.d.ts → useRecords.d-DWk61a4c.d.ts} +2 -2
  159. package/dist/useRecordsDepth.d-DTAxFf5s.d.ts +32 -0
  160. package/dist/useRecordsDepth.d-k-zYIHTe.d.cts +32 -0
  161. package/dist/{view.d-C-SNpDJX.d.ts → view.d-BE7VOlsB.d.ts} +6 -4
  162. package/dist/{view.d-Dps5C8-s.d.cts → view.d-CAWQjcY_.d.cts} +6 -4
  163. package/dist/web/consent/index.d.cts +5 -5
  164. package/dist/web/consent/index.d.ts +5 -5
  165. package/dist/web/health-plan/index.cjs +65 -53
  166. package/dist/web/health-plan/index.d.cts +46 -192
  167. package/dist/web/health-plan/index.d.ts +46 -192
  168. package/dist/web/health-plan/index.js +79 -67
  169. package/dist/web/index.cjs +62 -46
  170. package/dist/web/index.d.cts +168 -27
  171. package/dist/web/index.d.ts +168 -27
  172. package/dist/web/index.js +63 -47
  173. package/dist/web/intro/index.cjs +167 -0
  174. package/dist/web/intro/index.d.cts +79 -0
  175. package/dist/web/intro/index.d.ts +79 -0
  176. package/dist/web/intro/index.js +167 -0
  177. package/dist/web/notifications/index.d.cts +3 -3
  178. package/dist/web/notifications/index.d.ts +3 -3
  179. package/dist/web/records/depth/index.d.cts +13 -9
  180. package/dist/web/records/depth/index.d.ts +13 -9
  181. package/dist/web/records/index.cjs +7 -7
  182. package/dist/web/records/index.d.cts +21 -82
  183. package/dist/web/records/index.d.ts +21 -82
  184. package/dist/web/records/index.js +7 -7
  185. package/dist/web/records-sheet/index.cjs +207 -128
  186. package/dist/web/records-sheet/index.d.cts +25 -16
  187. package/dist/web/records-sheet/index.d.ts +25 -16
  188. package/dist/web/records-sheet/index.js +207 -128
  189. package/dist/web/shop/index.cjs +194 -78
  190. package/dist/web/shop/index.d.cts +21 -4
  191. package/dist/web/shop/index.d.ts +21 -4
  192. package/dist/web/shop/index.js +194 -78
  193. package/dist/web/televet/booking/index.d.cts +7 -7
  194. package/dist/web/televet/booking/index.d.ts +7 -7
  195. package/dist/web/texting/index.cjs +36 -5
  196. package/dist/web/texting/index.d.cts +40 -7
  197. package/dist/web/texting/index.d.ts +40 -7
  198. package/dist/web/texting/index.js +36 -5
  199. package/package.json +36 -4
  200. package/tabs/package.json +8 -0
  201. package/web/intro/native-blocked.cjs +12 -0
  202. package/web/intro/package.json +8 -0
  203. package/dist/threadOptions.d-B1pTMmDF.d.cts +0 -260
  204. package/dist/threadOptions.d-B1pTMmDF.d.ts +0 -260
  205. package/dist/usePresentation.d-D6qsFzBz.d.cts +0 -9
  206. package/dist/usePresentation.d-DuGQe_Do.d.ts +0 -9
@@ -1,4 +1,4 @@
1
- import { j as FetchLike } from './config.d-Dy6igYlH.js';
1
+ import { j as FetchLike } from './config.d-C0WgjutL.cjs';
2
2
 
3
3
  type OmsError =
4
4
  /** 404: hidden. The shop, the gate, the record, or the account is not available to this viewer. */
@@ -83,6 +83,11 @@ interface OmsShopConfig {
83
83
  readonly firstFill: OmsDeliverySpeed | null;
84
84
  readonly refill: OmsDeliverySpeed | null;
85
85
  } | null;
86
+ /**
87
+ * The parts of the member's own profile a prescription order needs and lacks (`first_name`, `last_name`, `email`,
88
+ * `phone`); empty when nothing is missing. Optional: older servers do not send it (CONTRACT-NOTES section 2).
89
+ */
90
+ readonly rxContactMissing?: readonly string[] | null;
86
91
  }
87
92
  type OmsPackUnit = 'each' | 'gram' | 'milliliter';
88
93
  /** One active offer (contract 4.1). */
@@ -98,6 +103,11 @@ interface OmsOffer {
98
103
  readonly packUnit: OmsPackUnit | null;
99
104
  /** One unit before any discount; null until the shop's commercial terms are written (contract 8.1). */
100
105
  readonly price: OmsCents | null;
106
+ /**
107
+ * The product's photo, an https URL, when the catalog sends one (`image_url`; not in the contract yet, the pharmacy
108
+ * feed sends none today). Absent or null: the shop draws the drug-form tile.
109
+ */
110
+ readonly imageUrl?: string | null;
101
111
  }
102
112
  interface OmsOfferPage {
103
113
  readonly offers: readonly OmsOffer[];
@@ -159,6 +169,24 @@ interface OmsOrderSummary {
159
169
  readonly status: OmsOrderStatus | string;
160
170
  readonly total: OmsCents;
161
171
  readonly placedAt: string | null;
172
+ /** Sum of the line quantities. Optional: older servers do not send it (CONTRACT-NOTES section 2). */
173
+ readonly itemCount?: number | null;
174
+ /** The first lines (at most 3, line order), so a list row can name what is in the order. Optional, as above. */
175
+ readonly items?: readonly OmsOrderItem[] | null;
176
+ }
177
+ /** One line named on an order summary (`items[]`). */
178
+ interface OmsOrderItem {
179
+ readonly offerId: string;
180
+ readonly title: string;
181
+ readonly quantity: number;
182
+ }
183
+ /** The order's four customer steps (`steps[]` on the order detail). */
184
+ type OmsOrderStepKey = 'ordered' | 'shipped' | 'out_for_delivery' | 'delivered';
185
+ interface OmsOrderStep {
186
+ readonly key: OmsOrderStepKey | string;
187
+ readonly done: boolean;
188
+ /** When the step happened, when known. */
189
+ readonly at: string | null;
162
190
  }
163
191
  interface OmsOrderPage {
164
192
  readonly orders: readonly OmsOrderSummary[];
@@ -219,6 +247,20 @@ interface OmsOrder {
219
247
  readonly paymentStatus: OmsPaymentStatus | string | null;
220
248
  readonly refunds: readonly OmsRefund[];
221
249
  readonly returnIds: readonly string[];
250
+ /** Sum of unit price x quantity. Optional: older servers do not send it (CONTRACT-NOTES section 2). */
251
+ readonly subtotal?: OmsCents | null;
252
+ /** Sum of the line discounts. Optional, as above. */
253
+ readonly discount?: OmsCents | null;
254
+ /** Line tax plus shipping tax. Optional, as above. */
255
+ readonly tax?: OmsCents | null;
256
+ /** The partner's latest promised delivery day (a date), when it gave one. Optional, as above. */
257
+ readonly arrivesBy?: string | null;
258
+ /** The newest tracking event, when any. Optional, as above. */
259
+ readonly tracking?: OmsTrackingEvent | null;
260
+ /** The four customer steps in order. Optional, as above: empty or missing on older servers. */
261
+ readonly steps?: readonly OmsOrderStep[] | null;
262
+ /** The card the order is held or charged on (match it against the saved cards). Optional, as above. */
263
+ readonly paymentMethodId?: string | null;
222
264
  }
223
265
  interface OmsCancelOutcome {
224
266
  readonly outcome: 'cancelled' | 'requested' | 'not_cancellable' | string;
@@ -258,6 +300,7 @@ type OmsPrescriptionStatus = 'ready' | 'being_prepared' | 'too_soon' | 'refills_
258
300
  interface OmsPrescription {
259
301
  readonly rxId: string;
260
302
  readonly petId: string;
303
+ /** The drug's name. The server allows null; the SDK then carries an empty string. */
261
304
  readonly drug: string;
262
305
  readonly strength: string | null;
263
306
  readonly form: string | null;
@@ -284,6 +327,7 @@ interface OmsAddress {
284
327
  readonly line1: string;
285
328
  readonly line2: string | null;
286
329
  readonly city: string;
330
+ /** The state or region. The server allows null; the SDK then carries an empty string. */
287
331
  readonly region: string;
288
332
  readonly postalCode: string;
289
333
  /** Two capital letters. */
@@ -720,6 +764,8 @@ declare const SHOP_COPY: {
720
764
  filtersLabel: string;
721
765
  filterAll: string;
722
766
  refillSoon: string;
767
+ /** The shelf of ready prescriptions never filled yet, above "Refill soon". DRAFT (pending Raph). */
768
+ prescribedFor: (names: readonly string[]) => string;
723
769
  inMonthsPackage: (month: string) => string;
724
770
  forPets: (names: readonly string[]) => string;
725
771
  /** A shelf with no pet names to put in "For Evie and Toast". */
@@ -835,6 +881,14 @@ declare const SHOP_COPY: {
835
881
  cardUnavailable: string;
836
882
  confirmTitle: string;
837
883
  confirmPay: string;
884
+ /** Confirm refused for the owner's missing first and last name (`isNameRequired`): the line, and its step. */
885
+ nameMissing: string;
886
+ /** Opens the host's own name editor (`onProfileNameRequired`). */
887
+ addName: string;
888
+ firstName: string;
889
+ lastName: string;
890
+ /** Saves the name through the host (`saveProfileName`); the shop then places the order again. */
891
+ saveName: string;
838
892
  /** Contract 2.1 "Show" lines. */
839
893
  refusal: Readonly<Record<string, string>>;
840
894
  rateLimited: string;
@@ -845,10 +899,93 @@ declare const SHOP_COPY_PLACEHOLDERS: readonly string[];
845
899
  /** The host's words over the defaults. */
846
900
  declare function shopCopy(overrides?: Partial<ShopCopy>): ShopCopy;
847
901
 
848
- interface ShopPet {
849
- readonly petId: string;
850
- readonly name: string;
851
- }
902
+ declare const SHOP_V3_COPY: {
903
+ cartTitle: string;
904
+ cartLabel: (n: number) => string;
905
+ cartEmptyTitle: string;
906
+ /** No approved line yet (COPY-ASKS `shop.cart.empty_body`): not drawn until the host gives one. */
907
+ cartEmptyBody: string | null;
908
+ addToCart: string;
909
+ viewCart: string;
910
+ addedToCart: (name: string) => string;
911
+ removedFromCart: (name: string) => string;
912
+ quantityLabel: (name: string) => string;
913
+ fewer: string;
914
+ more: string;
915
+ remove: string;
916
+ subtotal: string;
917
+ shipping: string;
918
+ tax: string;
919
+ free: string;
920
+ total: string;
921
+ checkoutCart: (total: string) => string;
922
+ checkoutKicker: string;
923
+ itemQuantity: (n: number) => string;
924
+ shipsTo: string;
925
+ payWith: string;
926
+ placeOrder: (total: string) => string;
927
+ /** The ship-to and pay-with choices have no Raph design: the rows open plain lists. */
928
+ chooseAddress: string;
929
+ chooseCard: string;
930
+ addAddress: string;
931
+ addCard: string;
932
+ makeDefault: string;
933
+ editAddress: string;
934
+ noAddressYet: string;
935
+ noCardYet: string;
936
+ placedHeader: string;
937
+ placedTitle: string;
938
+ placedSteps: string;
939
+ placedShips: string;
940
+ placedArrives: string;
941
+ viewOrder: string;
942
+ ordersTitle: string;
943
+ ordersEmptyTitle: string;
944
+ /** No approved line yet (COPY-ASKS `shop.orders.empty_body`): not drawn until the host gives one. */
945
+ ordersEmptyBody: string | null;
946
+ moreOrders: string;
947
+ subscriptionBox: string;
948
+ orderTitle: (n: string | null) => string;
949
+ arrivesBy: (day: string) => string;
950
+ deliveredOn: (day: string) => string;
951
+ expected: (day: string) => string;
952
+ orderSteps: readonly ["Ordered", "Shipped", "Out for delivery", "Delivered"];
953
+ tracking: string;
954
+ trackOn: (carrier: string) => string;
955
+ inThisOrder: string;
956
+ orderItemLine: (n: number) => string;
957
+ buyAgain: string;
958
+ orderHelp: string;
959
+ /** focus.ts paidWith: the order's card row. */
960
+ paidWith: string;
961
+ refund: string;
962
+ discount: string;
963
+ cancelAsk: string;
964
+ /** No approved line yet (COPY-ASKS `shop.order.cancel_body`): not drawn until the host gives one. */
965
+ cancelBody: string | null;
966
+ cancelRequested: string;
967
+ close: string;
968
+ manageKicker: string;
969
+ manageTitle: (name: string) => string;
970
+ manage: string;
971
+ shipsEvery: string;
972
+ daysChip: (n: number) => string;
973
+ skipNext: string;
974
+ cancelSubscription: string;
975
+ nextBox: (day: string) => string;
976
+ everyDays: (n: number) => string;
977
+ /** The manage sheet's line under the product (focus.ts subscribedLine; plan.src.html:3843). */
978
+ subscribedLine: (n: number, next: string | null) => string;
979
+ /** After Skip the next box (focus.ts skipped, the line it has with no date, so no pet pronoun). */
980
+ skipped: string;
981
+ cancelSubscriptionAsk: string;
982
+ cancelSubscriptionBody: string;
983
+ };
984
+ type ShopV3Copy = typeof SHOP_V3_COPY;
985
+ /** Every placeholder the v3 screens can show, for the host's copy pass and the report. */
986
+ declare const SHOP_V3_COPY_PLACEHOLDERS: readonly string[];
987
+ /** The v3 words with the host's overrides (only keys of `SHOP_V3_COPY` are taken). */
988
+ declare function shopV3Copy(overrides?: Partial<ShopV3Copy> | null): ShopV3Copy;
852
989
 
853
990
  type ShopRoute = {
854
991
  readonly name: 'package';
@@ -884,8 +1021,23 @@ type ShopRoute = {
884
1021
  readonly quantity: number;
885
1022
  readonly petId?: string;
886
1023
  readonly rxId?: string;
1024
+ } | {
1025
+ readonly name: 'cart';
1026
+ } | {
1027
+ readonly name: 'placed';
1028
+ readonly orderIds: readonly string[];
887
1029
  };
888
1030
  type ShopTabName = 'package' | 'shop' | 'orders' | 'plan';
1031
+ /** The owner's name as the host's `saveProfileName` saves it on their Everfur account. */
1032
+ interface ShopProfileName {
1033
+ readonly firstName: string;
1034
+ readonly lastName: string;
1035
+ }
1036
+
1037
+ interface ShopPet {
1038
+ readonly petId: string;
1039
+ readonly name: string;
1040
+ }
889
1041
 
890
1042
  /**
891
1043
  * How a card step that left the page came back, for a host whose card steps are full-page redirects (the web): the
@@ -907,4 +1059,4 @@ type ShopCardHandoff = () => Promise<ShopPaymentStepResult>;
907
1059
 
908
1060
  declare function newIdempotencyKey(): string;
909
1061
 
910
- export { isOmsUnavailable as A, newIdempotencyKey as B, shopCopy as C, type OmsCardActionLink as D, type OmsCardSetupLink as E, type ShopPayerActionContext as F, type OmsClient as O, type ShopPet as S, UNAVAILABLE_PACKAGE_SOURCE as U, type ShopPaymentsPort as a, type ShopPackageSource as b, type ShopCopy as c, type ShopRoute as d, type ShopCardHandoff as e, type ShopCardReturn as f, type OmsCartLine as g, type OmsClientConfig as h, type OmsConsumerAuth as i, type OmsError as j, type OmsGetToken as k, type OmsPlanOperation as l, type OmsResult as m, SHOP_COPY as n, SHOP_COPY_PLACEHOLDERS as o, type ShopPackage as p, type ShopPackageLine as q, type ShopPaymentStepResult as r, type ShopTabName as s, type StripeJsLike as t, type StripeJsPaymentsOptions as u, createOmsClient as v, createOmsPackageSource as w, createStripeJsPayments as x, isOmsRefusal as y, isOmsRetryable as z };
1062
+ export { createOmsPackageSource as A, createStripeJsPayments as B, isOmsRefusal as C, isOmsRetryable as D, isOmsUnavailable as E, newIdempotencyKey as F, shopCopy as G, shopV3Copy as H, type OmsCardActionLink as I, type OmsCardSetupLink as J, type ShopPayerActionContext as K, type OmsClient as O, type ShopPet as S, UNAVAILABLE_PACKAGE_SOURCE as U, type ShopPaymentsPort as a, type ShopPackageSource as b, type ShopCopy as c, type ShopV3Copy as d, type ShopRoute as e, type ShopCardHandoff as f, type ShopCardReturn as g, type ShopProfileName as h, type OmsCartLine as i, type OmsClientConfig as j, type OmsConsumerAuth as k, type OmsError as l, type OmsGetToken as m, type OmsPlanOperation as n, type OmsResult as o, SHOP_COPY as p, SHOP_COPY_PLACEHOLDERS as q, SHOP_V3_COPY as r, SHOP_V3_COPY_PLACEHOLDERS as s, type ShopPackage as t, type ShopPackageLine as u, type ShopPaymentStepResult as v, type ShopTabName as w, type StripeJsLike as x, type StripeJsPaymentsOptions as y, createOmsClient as z };
@@ -1,4 +1,4 @@
1
- import { j as FetchLike } from './config.d-BR3DT9ho.cjs';
1
+ import { j as FetchLike } from './config.d-zd2eTb2L.js';
2
2
 
3
3
  type OmsError =
4
4
  /** 404: hidden. The shop, the gate, the record, or the account is not available to this viewer. */
@@ -83,6 +83,11 @@ interface OmsShopConfig {
83
83
  readonly firstFill: OmsDeliverySpeed | null;
84
84
  readonly refill: OmsDeliverySpeed | null;
85
85
  } | null;
86
+ /**
87
+ * The parts of the member's own profile a prescription order needs and lacks (`first_name`, `last_name`, `email`,
88
+ * `phone`); empty when nothing is missing. Optional: older servers do not send it (CONTRACT-NOTES section 2).
89
+ */
90
+ readonly rxContactMissing?: readonly string[] | null;
86
91
  }
87
92
  type OmsPackUnit = 'each' | 'gram' | 'milliliter';
88
93
  /** One active offer (contract 4.1). */
@@ -98,6 +103,11 @@ interface OmsOffer {
98
103
  readonly packUnit: OmsPackUnit | null;
99
104
  /** One unit before any discount; null until the shop's commercial terms are written (contract 8.1). */
100
105
  readonly price: OmsCents | null;
106
+ /**
107
+ * The product's photo, an https URL, when the catalog sends one (`image_url`; not in the contract yet, the pharmacy
108
+ * feed sends none today). Absent or null: the shop draws the drug-form tile.
109
+ */
110
+ readonly imageUrl?: string | null;
101
111
  }
102
112
  interface OmsOfferPage {
103
113
  readonly offers: readonly OmsOffer[];
@@ -159,6 +169,24 @@ interface OmsOrderSummary {
159
169
  readonly status: OmsOrderStatus | string;
160
170
  readonly total: OmsCents;
161
171
  readonly placedAt: string | null;
172
+ /** Sum of the line quantities. Optional: older servers do not send it (CONTRACT-NOTES section 2). */
173
+ readonly itemCount?: number | null;
174
+ /** The first lines (at most 3, line order), so a list row can name what is in the order. Optional, as above. */
175
+ readonly items?: readonly OmsOrderItem[] | null;
176
+ }
177
+ /** One line named on an order summary (`items[]`). */
178
+ interface OmsOrderItem {
179
+ readonly offerId: string;
180
+ readonly title: string;
181
+ readonly quantity: number;
182
+ }
183
+ /** The order's four customer steps (`steps[]` on the order detail). */
184
+ type OmsOrderStepKey = 'ordered' | 'shipped' | 'out_for_delivery' | 'delivered';
185
+ interface OmsOrderStep {
186
+ readonly key: OmsOrderStepKey | string;
187
+ readonly done: boolean;
188
+ /** When the step happened, when known. */
189
+ readonly at: string | null;
162
190
  }
163
191
  interface OmsOrderPage {
164
192
  readonly orders: readonly OmsOrderSummary[];
@@ -219,6 +247,20 @@ interface OmsOrder {
219
247
  readonly paymentStatus: OmsPaymentStatus | string | null;
220
248
  readonly refunds: readonly OmsRefund[];
221
249
  readonly returnIds: readonly string[];
250
+ /** Sum of unit price x quantity. Optional: older servers do not send it (CONTRACT-NOTES section 2). */
251
+ readonly subtotal?: OmsCents | null;
252
+ /** Sum of the line discounts. Optional, as above. */
253
+ readonly discount?: OmsCents | null;
254
+ /** Line tax plus shipping tax. Optional, as above. */
255
+ readonly tax?: OmsCents | null;
256
+ /** The partner's latest promised delivery day (a date), when it gave one. Optional, as above. */
257
+ readonly arrivesBy?: string | null;
258
+ /** The newest tracking event, when any. Optional, as above. */
259
+ readonly tracking?: OmsTrackingEvent | null;
260
+ /** The four customer steps in order. Optional, as above: empty or missing on older servers. */
261
+ readonly steps?: readonly OmsOrderStep[] | null;
262
+ /** The card the order is held or charged on (match it against the saved cards). Optional, as above. */
263
+ readonly paymentMethodId?: string | null;
222
264
  }
223
265
  interface OmsCancelOutcome {
224
266
  readonly outcome: 'cancelled' | 'requested' | 'not_cancellable' | string;
@@ -258,6 +300,7 @@ type OmsPrescriptionStatus = 'ready' | 'being_prepared' | 'too_soon' | 'refills_
258
300
  interface OmsPrescription {
259
301
  readonly rxId: string;
260
302
  readonly petId: string;
303
+ /** The drug's name. The server allows null; the SDK then carries an empty string. */
261
304
  readonly drug: string;
262
305
  readonly strength: string | null;
263
306
  readonly form: string | null;
@@ -284,6 +327,7 @@ interface OmsAddress {
284
327
  readonly line1: string;
285
328
  readonly line2: string | null;
286
329
  readonly city: string;
330
+ /** The state or region. The server allows null; the SDK then carries an empty string. */
287
331
  readonly region: string;
288
332
  readonly postalCode: string;
289
333
  /** Two capital letters. */
@@ -720,6 +764,8 @@ declare const SHOP_COPY: {
720
764
  filtersLabel: string;
721
765
  filterAll: string;
722
766
  refillSoon: string;
767
+ /** The shelf of ready prescriptions never filled yet, above "Refill soon". DRAFT (pending Raph). */
768
+ prescribedFor: (names: readonly string[]) => string;
723
769
  inMonthsPackage: (month: string) => string;
724
770
  forPets: (names: readonly string[]) => string;
725
771
  /** A shelf with no pet names to put in "For Evie and Toast". */
@@ -835,6 +881,14 @@ declare const SHOP_COPY: {
835
881
  cardUnavailable: string;
836
882
  confirmTitle: string;
837
883
  confirmPay: string;
884
+ /** Confirm refused for the owner's missing first and last name (`isNameRequired`): the line, and its step. */
885
+ nameMissing: string;
886
+ /** Opens the host's own name editor (`onProfileNameRequired`). */
887
+ addName: string;
888
+ firstName: string;
889
+ lastName: string;
890
+ /** Saves the name through the host (`saveProfileName`); the shop then places the order again. */
891
+ saveName: string;
838
892
  /** Contract 2.1 "Show" lines. */
839
893
  refusal: Readonly<Record<string, string>>;
840
894
  rateLimited: string;
@@ -845,10 +899,93 @@ declare const SHOP_COPY_PLACEHOLDERS: readonly string[];
845
899
  /** The host's words over the defaults. */
846
900
  declare function shopCopy(overrides?: Partial<ShopCopy>): ShopCopy;
847
901
 
848
- interface ShopPet {
849
- readonly petId: string;
850
- readonly name: string;
851
- }
902
+ declare const SHOP_V3_COPY: {
903
+ cartTitle: string;
904
+ cartLabel: (n: number) => string;
905
+ cartEmptyTitle: string;
906
+ /** No approved line yet (COPY-ASKS `shop.cart.empty_body`): not drawn until the host gives one. */
907
+ cartEmptyBody: string | null;
908
+ addToCart: string;
909
+ viewCart: string;
910
+ addedToCart: (name: string) => string;
911
+ removedFromCart: (name: string) => string;
912
+ quantityLabel: (name: string) => string;
913
+ fewer: string;
914
+ more: string;
915
+ remove: string;
916
+ subtotal: string;
917
+ shipping: string;
918
+ tax: string;
919
+ free: string;
920
+ total: string;
921
+ checkoutCart: (total: string) => string;
922
+ checkoutKicker: string;
923
+ itemQuantity: (n: number) => string;
924
+ shipsTo: string;
925
+ payWith: string;
926
+ placeOrder: (total: string) => string;
927
+ /** The ship-to and pay-with choices have no Raph design: the rows open plain lists. */
928
+ chooseAddress: string;
929
+ chooseCard: string;
930
+ addAddress: string;
931
+ addCard: string;
932
+ makeDefault: string;
933
+ editAddress: string;
934
+ noAddressYet: string;
935
+ noCardYet: string;
936
+ placedHeader: string;
937
+ placedTitle: string;
938
+ placedSteps: string;
939
+ placedShips: string;
940
+ placedArrives: string;
941
+ viewOrder: string;
942
+ ordersTitle: string;
943
+ ordersEmptyTitle: string;
944
+ /** No approved line yet (COPY-ASKS `shop.orders.empty_body`): not drawn until the host gives one. */
945
+ ordersEmptyBody: string | null;
946
+ moreOrders: string;
947
+ subscriptionBox: string;
948
+ orderTitle: (n: string | null) => string;
949
+ arrivesBy: (day: string) => string;
950
+ deliveredOn: (day: string) => string;
951
+ expected: (day: string) => string;
952
+ orderSteps: readonly ["Ordered", "Shipped", "Out for delivery", "Delivered"];
953
+ tracking: string;
954
+ trackOn: (carrier: string) => string;
955
+ inThisOrder: string;
956
+ orderItemLine: (n: number) => string;
957
+ buyAgain: string;
958
+ orderHelp: string;
959
+ /** focus.ts paidWith: the order's card row. */
960
+ paidWith: string;
961
+ refund: string;
962
+ discount: string;
963
+ cancelAsk: string;
964
+ /** No approved line yet (COPY-ASKS `shop.order.cancel_body`): not drawn until the host gives one. */
965
+ cancelBody: string | null;
966
+ cancelRequested: string;
967
+ close: string;
968
+ manageKicker: string;
969
+ manageTitle: (name: string) => string;
970
+ manage: string;
971
+ shipsEvery: string;
972
+ daysChip: (n: number) => string;
973
+ skipNext: string;
974
+ cancelSubscription: string;
975
+ nextBox: (day: string) => string;
976
+ everyDays: (n: number) => string;
977
+ /** The manage sheet's line under the product (focus.ts subscribedLine; plan.src.html:3843). */
978
+ subscribedLine: (n: number, next: string | null) => string;
979
+ /** After Skip the next box (focus.ts skipped, the line it has with no date, so no pet pronoun). */
980
+ skipped: string;
981
+ cancelSubscriptionAsk: string;
982
+ cancelSubscriptionBody: string;
983
+ };
984
+ type ShopV3Copy = typeof SHOP_V3_COPY;
985
+ /** Every placeholder the v3 screens can show, for the host's copy pass and the report. */
986
+ declare const SHOP_V3_COPY_PLACEHOLDERS: readonly string[];
987
+ /** The v3 words with the host's overrides (only keys of `SHOP_V3_COPY` are taken). */
988
+ declare function shopV3Copy(overrides?: Partial<ShopV3Copy> | null): ShopV3Copy;
852
989
 
853
990
  type ShopRoute = {
854
991
  readonly name: 'package';
@@ -884,8 +1021,23 @@ type ShopRoute = {
884
1021
  readonly quantity: number;
885
1022
  readonly petId?: string;
886
1023
  readonly rxId?: string;
1024
+ } | {
1025
+ readonly name: 'cart';
1026
+ } | {
1027
+ readonly name: 'placed';
1028
+ readonly orderIds: readonly string[];
887
1029
  };
888
1030
  type ShopTabName = 'package' | 'shop' | 'orders' | 'plan';
1031
+ /** The owner's name as the host's `saveProfileName` saves it on their Everfur account. */
1032
+ interface ShopProfileName {
1033
+ readonly firstName: string;
1034
+ readonly lastName: string;
1035
+ }
1036
+
1037
+ interface ShopPet {
1038
+ readonly petId: string;
1039
+ readonly name: string;
1040
+ }
889
1041
 
890
1042
  /**
891
1043
  * How a card step that left the page came back, for a host whose card steps are full-page redirects (the web): the
@@ -907,4 +1059,4 @@ type ShopCardHandoff = () => Promise<ShopPaymentStepResult>;
907
1059
 
908
1060
  declare function newIdempotencyKey(): string;
909
1061
 
910
- export { isOmsUnavailable as A, newIdempotencyKey as B, shopCopy as C, type OmsCardActionLink as D, type OmsCardSetupLink as E, type ShopPayerActionContext as F, type OmsClient as O, type ShopPet as S, UNAVAILABLE_PACKAGE_SOURCE as U, type ShopPaymentsPort as a, type ShopPackageSource as b, type ShopCopy as c, type ShopRoute as d, type ShopCardHandoff as e, type ShopCardReturn as f, type OmsCartLine as g, type OmsClientConfig as h, type OmsConsumerAuth as i, type OmsError as j, type OmsGetToken as k, type OmsPlanOperation as l, type OmsResult as m, SHOP_COPY as n, SHOP_COPY_PLACEHOLDERS as o, type ShopPackage as p, type ShopPackageLine as q, type ShopPaymentStepResult as r, type ShopTabName as s, type StripeJsLike as t, type StripeJsPaymentsOptions as u, createOmsClient as v, createOmsPackageSource as w, createStripeJsPayments as x, isOmsRefusal as y, isOmsRetryable as z };
1062
+ export { createOmsPackageSource as A, createStripeJsPayments as B, isOmsRefusal as C, isOmsRetryable as D, isOmsUnavailable as E, newIdempotencyKey as F, shopCopy as G, shopV3Copy as H, type OmsCardActionLink as I, type OmsCardSetupLink as J, type ShopPayerActionContext as K, type OmsClient as O, type ShopPet as S, UNAVAILABLE_PACKAGE_SOURCE as U, type ShopPaymentsPort as a, type ShopPackageSource as b, type ShopCopy as c, type ShopV3Copy as d, type ShopRoute as e, type ShopCardHandoff as f, type ShopCardReturn as g, type ShopProfileName as h, type OmsCartLine as i, type OmsClientConfig as j, type OmsConsumerAuth as k, type OmsError as l, type OmsGetToken as m, type OmsPlanOperation as n, type OmsResult as o, SHOP_COPY as p, SHOP_COPY_PLACEHOLDERS as q, SHOP_V3_COPY as r, SHOP_V3_COPY_PLACEHOLDERS as s, type ShopPackage as t, type ShopPackageLine as u, type ShopPaymentStepResult as v, type ShopTabName as w, type StripeJsLike as x, type StripeJsPaymentsOptions as y, createOmsClient as z };
@@ -1,6 +1,6 @@
1
1
  import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
2
2
  import { U as UserRef } from './ids.d-B2GAAifq.js';
3
- import { T as TransportPort, d as EverfurRequest } from './config.d-Dy6igYlH.js';
3
+ import { T as TransportPort, d as EverfurRequest } from './config.d-zd2eTb2L.js';
4
4
 
5
5
  /**
6
6
  * A minted session token with the expiry the minter knows. `expiresAt` is what `mintPartnerSession` returns
@@ -1,6 +1,6 @@
1
1
  import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
2
2
  import { U as UserRef } from './ids.d-B2GAAifq.cjs';
3
- import { T as TransportPort, d as EverfurRequest } from './config.d-BR3DT9ho.cjs';
3
+ import { T as TransportPort, d as EverfurRequest } from './config.d-C0WgjutL.cjs';
4
4
 
5
5
  /**
6
6
  * A minted session token with the expiry the minter knows. `expiresAt` is what `mintPartnerSession` returns