@everfur/sdk 0.12.1 → 0.14.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 (303) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/README.md +12 -10
  3. package/dist/{Chat-CgYQdfqi.d.ts → Chat.d-aycmX1CA.d.cts} +178 -8
  4. package/dist/{Chat-CbyZ1vAX.d.cts → Chat.d-puminpyi.d.ts} +178 -8
  5. package/dist/{DepthViews-CCz4ig0u.d.ts → DepthViews.d-BdvFZgPs.d.cts} +1 -1
  6. package/dist/{DepthViews-CaQUyCHK.d.ts → DepthViews.d-DIvxzLDf.d.ts} +1 -1
  7. package/dist/{DepthViews-iGZi4_WK.d.cts → DepthViews.d-Dy0Zl-s-.d.ts} +1 -1
  8. package/dist/{DepthViews-D3OiIK_x.d.cts → DepthViews.d-wLNkzk9f.d.cts} +1 -1
  9. package/dist/{ErrorPolicyPort-10s3HJCt.d.cts → ErrorPolicyPort.d-68yrE3BE.d.ts} +1 -1
  10. package/dist/{ErrorPolicyPort-C3nNSS_j.d.ts → ErrorPolicyPort.d-DirW9hgO.d.cts} +1 -1
  11. package/dist/{EverfurError-DeBqRpQV.d.cts → EverfurError.d-8NHtlgzA.d.cts} +11 -1
  12. package/dist/{EverfurError-DeBqRpQV.d.ts → EverfurError.d-8NHtlgzA.d.ts} +11 -1
  13. package/dist/{EverfurResult-ClPTS0P2.d.ts → EverfurResult.d-BFH-3s6E.d.cts} +1 -1
  14. package/dist/{EverfurResult-COlXj1wq.d.cts → EverfurResult.d-D_-254ZY.d.ts} +1 -1
  15. package/dist/{IntakeMedia-BH0fYDT2.d.cts → IntakeMedia.d-4a89XrP7.d.ts} +1 -1
  16. package/dist/{IntakeMedia-B-_vA9ZB.d.cts → IntakeMedia.d-DGxrhgIW.d.ts} +1 -1
  17. package/dist/{IntakeMedia-CIoTXAWs.d.ts → IntakeMedia.d-DUPR4lVM.d.cts} +1 -1
  18. package/dist/{IntakeMedia-Bavl7E4Z.d.ts → IntakeMedia.d-JJCUvQu7.d.cts} +1 -1
  19. package/dist/LifecyclePort.d-Cr1p33a7.d.cts +23 -0
  20. package/dist/LifecyclePort.d-Cr1p33a7.d.ts +23 -0
  21. package/dist/{PhotoController-vzY5bfY_.d.ts → PhotoController.d-BzCJOE7e.d.cts} +2 -2
  22. package/dist/{PhotoController-3l7MT9jA.d.cts → PhotoController.d-D0XiUUOl.d.ts} +2 -2
  23. package/dist/RecordsPage.d-9Ank15PT.d.ts +93 -0
  24. package/dist/RecordsPage.d-DMKU0IKc.d.cts +93 -0
  25. package/dist/animations/index.cjs +4 -1
  26. package/dist/animations/index.d.cts +24 -24
  27. package/dist/animations/index.d.ts +24 -24
  28. package/dist/animations/index.js +4 -1
  29. package/dist/{attachments-CTJK0jQ4.d.ts → attachments.d--sIsfk6e.d.ts} +4 -4
  30. package/dist/{attachments-DkMrKCIU.d.ts → attachments.d-DNUCiyy5.d.cts} +10 -32
  31. package/dist/{attachments-DXBETOrV.d.cts → attachments.d-ZEpTUeWN.d.cts} +4 -4
  32. package/dist/{attachments-BOk3hEAM.d.cts → attachments.d-rp3xs-Q3.d.ts} +10 -32
  33. package/dist/{bookingCopy-C_a45T4-.d.ts → bookingCopy.d-D0uIIFAJ.d.ts} +24 -9
  34. package/dist/{bookingCopy-CHYGYHe0.d.cts → bookingCopy.d-DUrmVcLs.d.cts} +24 -9
  35. package/dist/{branding-DJf4h12Q.d.ts → branding.d-CTXTUg_8.d.cts} +9 -2
  36. package/dist/{branding-BCfwLj0h.d.cts → branding.d-DxJSoFce.d.ts} +9 -2
  37. package/dist/{callRoom-BhIdadyV.d.cts → callRoom.d-B1DoYdJe.d.cts} +1 -1
  38. package/dist/{callRoom-B92eH_ij.d.ts → callRoom.d-Dqm1rUqT.d.ts} +1 -1
  39. package/dist/{casesRepository-C8KJmlxE.d.cts → casesRepository.d-DCnix2pT.d.cts} +3 -3
  40. package/dist/{casesRepository-iAi5qWnx.d.ts → casesRepository.d-DbirgbyH.d.ts} +3 -3
  41. package/dist/chat/index.cjs +139 -63
  42. package/dist/chat/index.d.cts +34 -19
  43. package/dist/chat/index.d.ts +34 -19
  44. package/dist/chat/index.js +139 -63
  45. package/dist/client/index.cjs +14 -10
  46. package/dist/client/index.d.cts +19 -18
  47. package/dist/client/index.d.ts +19 -18
  48. package/dist/client/index.js +14 -10
  49. package/dist/clinicBatch.d-Ccmrngcu.d.cts +71 -0
  50. package/dist/clinicBatch.d-D9Ci7IpP.d.ts +71 -0
  51. package/dist/clinicModels.d-BXgKZqDb.d.cts +68 -0
  52. package/dist/clinicModels.d-CaS64-P-.d.ts +68 -0
  53. package/dist/clinicRequestProps.d-1dCtouGA.d.cts +65 -0
  54. package/dist/clinicRequestProps.d-CjsMg_OD.d.ts +65 -0
  55. package/dist/{config-C9zhanL-.d.cts → config.d-DJ4mvf_w.d.cts} +3 -3
  56. package/dist/{config-C5iPNKDj.d.ts → config.d-MX7IKP2f.d.ts} +3 -3
  57. package/dist/consent/index.cjs +4 -1
  58. package/dist/consent/index.d.cts +10 -10
  59. package/dist/consent/index.d.ts +10 -10
  60. package/dist/consent/index.js +4 -1
  61. package/dist/{context-D_bcpHDA.d.cts → context.d-BdnBe8Oe.d.ts} +15 -15
  62. package/dist/{context-BUIrC20Z.d.ts → context.d-C6MJsMpN.d.cts} +15 -15
  63. package/dist/{copy-KbCU9fen.d.ts → copy.d-BIfQOoDB.d.ts} +6 -6
  64. package/dist/{copy-BE31T2jR.d.cts → copy.d-C_u7shha.d.cts} +6 -6
  65. package/dist/core/index.cjs +16 -13
  66. package/dist/core/index.d.cts +35 -29
  67. package/dist/core/index.d.ts +35 -29
  68. package/dist/core/index.js +16 -13
  69. package/dist/{depth-DDKGfFaB.d.ts → depth.d-COFxYWLU.d.ts} +9 -242
  70. package/dist/{depth-DNxDieoO.d.cts → depth.d-D2e5WZuE.d.cts} +9 -242
  71. package/dist/{entitlementRepository-C1_wXIE3.d.cts → entitlementRepository.d-BP15dFbe.d.cts} +10 -5
  72. package/dist/{entitlementRepository-CYtdIGfH.d.ts → entitlementRepository.d-DLuxnGi5.d.ts} +10 -5
  73. package/dist/features.d-DrQxTw3-.d.cts +108 -0
  74. package/dist/features.d-DrQxTw3-.d.ts +108 -0
  75. package/dist/focus.d-C0Tr0oVJ.d.ts +939 -0
  76. package/dist/focus.d-jQWp0hdK.d.cts +939 -0
  77. package/dist/health-plan/index.cjs +384 -0
  78. package/dist/health-plan/index.d.cts +293 -0
  79. package/dist/health-plan/index.d.ts +293 -0
  80. package/dist/health-plan/index.js +384 -0
  81. package/dist/idempotency.d-DXb1BN2A.d.ts +1055 -0
  82. package/dist/idempotency.d-HF6fyRt2.d.cts +1055 -0
  83. package/dist/{identity-gjurBi7m.d.cts → identity.d-BePPZ7Uv.d.ts} +3 -3
  84. package/dist/{identity-BqeaN8An.d.ts → identity.d-CJfnWOdH.d.cts} +3 -3
  85. package/dist/index.cjs +148 -72
  86. package/dist/index.d.cts +32 -29
  87. package/dist/index.d.ts +32 -29
  88. package/dist/index.js +148 -72
  89. package/dist/introEvents.d-BkGDT_kG.d.cts +175 -0
  90. package/dist/introEvents.d-DHlMvmC7.d.ts +175 -0
  91. package/dist/introEvents.d-dS3fJCH1.d.cts +5 -0
  92. package/dist/introEvents.d-dS3fJCH1.d.ts +5 -0
  93. package/dist/{models-CnXY5LuO.d.ts → models.d-BSqvbTE1.d.cts} +15 -3
  94. package/dist/{models-A4A5S7AG.d.cts → models.d-DOwnr8fi.d.ts} +15 -3
  95. package/dist/notifications/index.cjs +4 -1
  96. package/dist/notifications/index.d.cts +9 -9
  97. package/dist/notifications/index.d.ts +9 -9
  98. package/dist/notifications/index.js +4 -1
  99. package/dist/optInView.d-0iI5JoAf.d.cts +441 -0
  100. package/dist/optInView.d-s-w4aGN3.d.ts +441 -0
  101. package/dist/parse.d-COt1qVA6.d.ts +210 -0
  102. package/dist/parse.d-EmsgOUMQ.d.cts +210 -0
  103. package/dist/{pets-CfutxNs9.d.cts → pets.d-BFT_b53y.d.ts} +3 -3
  104. package/dist/{pets-LIGadUtr.d.ts → pets.d-nNAVnw7f.d.cts} +3 -3
  105. package/dist/{petsRepository-CoRa3C_U.d.ts → petsRepository.d-B2TpRE7r.d.cts} +4 -4
  106. package/dist/{petsRepository-Cqpd3hLU.d.cts → petsRepository.d-RGwSZcYl.d.ts} +4 -4
  107. package/dist/photo/index.cjs +5 -2
  108. package/dist/photo/index.d.cts +9 -9
  109. package/dist/photo/index.d.ts +9 -9
  110. package/dist/photo/index.js +5 -2
  111. package/dist/planSignals.d-BDbp2e-k.d.cts +126 -0
  112. package/dist/planSignals.d-DSnxKoWe.d.ts +126 -0
  113. package/dist/{ports-BN6RHF9W.d.cts → ports.d-BX4f4UsB.d.cts} +14 -1
  114. package/dist/{ports-BN6RHF9W.d.ts → ports.d-BX4f4UsB.d.ts} +14 -1
  115. package/dist/{ports-CVi3n0re.d.ts → ports.d-D2n4HRUy.d.ts} +16 -10
  116. package/dist/{ports-gJ3faaWz.d.cts → ports.d-DBA_gsq5.d.cts} +16 -10
  117. package/dist/presentation.d-vy8kTGfR.d.cts +96 -0
  118. package/dist/presentation.d-vy8kTGfR.d.ts +96 -0
  119. package/dist/quickPrompts.d-NM_81Jc1.d.cts +19 -0
  120. package/dist/quickPrompts.d-NM_81Jc1.d.ts +19 -0
  121. package/dist/records/depth/index.cjs +10 -7
  122. package/dist/records/depth/index.d.cts +18 -12
  123. package/dist/records/depth/index.d.ts +18 -12
  124. package/dist/records/depth/index.js +10 -7
  125. package/dist/records/index.cjs +350 -74
  126. package/dist/records/index.d.cts +225 -21
  127. package/dist/records/index.d.ts +225 -21
  128. package/dist/records/index.js +351 -75
  129. package/dist/recordsAsk.d-C5CGSi3j.d.cts +14 -0
  130. package/dist/recordsAsk.d-C5CGSi3j.d.ts +14 -0
  131. package/dist/{requestFunnel-BYzlyaC0.d.ts → requestFunnel.d-D9edIEjZ.d.ts} +5 -5
  132. package/dist/{requestFunnel-DLZpiFD3.d.cts → requestFunnel.d-RZex94XX.d.cts} +5 -5
  133. package/dist/{resolve-D4Ywz5OS.d.ts → resolve.d-CoQWUy1Y.d.cts} +2 -2
  134. package/dist/{resolve-D4Ywz5OS.d.cts → resolve.d-CoQWUy1Y.d.ts} +2 -2
  135. package/dist/{runtimeTypes-BxxCKMn8.d.cts → runtimeTypes.d-BYq38b17.d.ts} +20 -13
  136. package/dist/{runtimeTypes-Doa_xxSa.d.ts → runtimeTypes.d-LkwZaF7z.d.cts} +20 -13
  137. package/dist/screenProps.d-BVzRzowC.d.ts +159 -0
  138. package/dist/screenProps.d-CQ0qZJkr.d.cts +159 -0
  139. package/dist/server/events/index.cjs +6 -3
  140. package/dist/server/events/index.d.cts +51 -9
  141. package/dist/server/events/index.d.ts +51 -9
  142. package/dist/server/events/index.js +6 -3
  143. package/dist/server/index.cjs +11 -6
  144. package/dist/server/index.d.cts +152 -8
  145. package/dist/server/index.d.ts +152 -8
  146. package/dist/server/index.js +11 -6
  147. package/dist/sheetCopy.d-CAhLOxjc.d.cts +4 -0
  148. package/dist/sheetCopy.d-CAhLOxjc.d.ts +4 -0
  149. package/dist/sheetSeam.d-B09jf4YC.d.ts +49 -0
  150. package/dist/sheetSeam.d-BBuEIVsa.d.cts +49 -0
  151. package/dist/shop/index.cjs +428 -0
  152. package/dist/shop/index.d.cts +211 -0
  153. package/dist/shop/index.d.ts +211 -0
  154. package/dist/shop/index.js +428 -0
  155. package/dist/tabs/index.cjs +195 -0
  156. package/dist/tabs/index.d.cts +174 -0
  157. package/dist/tabs/index.d.ts +174 -0
  158. package/dist/tabs/index.js +195 -0
  159. package/dist/tabsModel.d-BfIQg6yS.d.cts +31 -0
  160. package/dist/tabsModel.d-BfIQg6yS.d.ts +31 -0
  161. package/dist/televet/booking/index.cjs +15 -12
  162. package/dist/televet/booking/index.d.cts +36 -22
  163. package/dist/televet/booking/index.d.ts +36 -22
  164. package/dist/televet/booking/index.js +15 -12
  165. package/dist/televet/call/index.d.cts +5 -5
  166. package/dist/televet/call/index.d.ts +5 -5
  167. package/dist/televet/index.cjs +6 -3
  168. package/dist/televet/index.d.cts +12 -12
  169. package/dist/televet/index.d.ts +12 -12
  170. package/dist/televet/index.js +6 -3
  171. package/dist/{televetGlobal-C5dTUACe.d.cts → televetGlobal.d-CC-DrqkQ.d.ts} +7 -2
  172. package/dist/{televetGlobal-CnjrfhT4.d.ts → televetGlobal.d-CKwDCbmN.d.cts} +7 -2
  173. package/dist/testing/index.cjs +6 -3
  174. package/dist/testing/index.d.cts +3 -3
  175. package/dist/testing/index.d.ts +3 -3
  176. package/dist/testing/index.js +6 -3
  177. package/dist/testing/rn/index.cjs +5 -2
  178. package/dist/testing/rn/index.d.cts +23 -22
  179. package/dist/testing/rn/index.d.ts +23 -22
  180. package/dist/testing/rn/index.js +5 -2
  181. package/dist/testing/web/index.cjs +4 -1
  182. package/dist/testing/web/index.d.cts +23 -22
  183. package/dist/testing/web/index.d.ts +23 -22
  184. package/dist/testing/web/index.js +4 -1
  185. package/dist/texting/index.cjs +193 -0
  186. package/dist/texting/index.d.cts +69 -0
  187. package/dist/texting/index.d.ts +69 -0
  188. package/dist/texting/index.js +193 -0
  189. package/dist/threadOptions.d-9r4Csa7k.d.cts +458 -0
  190. package/dist/threadOptions.d-B6GA09aM.d.ts +458 -0
  191. package/dist/{timelineRows-Beun96e2.d.cts → timelineRows.d-Bes8ip2v.d.ts} +1 -1
  192. package/dist/{timelineRows-CGOlC_Q9.d.ts → timelineRows.d-BvM2A7_G.d.cts} +1 -1
  193. package/dist/{tokens-DLj8OnLH.d.cts → tokens.d-DarDaV39.d.cts} +10 -2
  194. package/dist/{tokens-DLj8OnLH.d.ts → tokens.d-DarDaV39.d.ts} +10 -2
  195. package/dist/{typeStyle-DJedEu14.d.cts → typeStyle.d-Co5KF0up.d.ts} +2 -2
  196. package/dist/{typeStyle-BxVyF71R.d.ts → typeStyle.d-xIZj02Ru.d.cts} +2 -2
  197. package/dist/{uploadTransport-C6kGP1Kd.d.ts → uploadTransport.d-CWL7CdWP.d.cts} +1 -1
  198. package/dist/{uploadTransport-BM_pnEWj.d.cts → uploadTransport.d-EGoUl7gX.d.ts} +1 -1
  199. package/dist/useIntroSeen.d-CTWFUthO.d.cts +35 -0
  200. package/dist/useIntroSeen.d-CTWFUthO.d.ts +35 -0
  201. package/dist/usePresentation.d-BGz32Vlm.d.ts +285 -0
  202. package/dist/usePresentation.d-DYTF_ZGf.d.cts +285 -0
  203. package/dist/useRecords.d-BYNX01El.d.cts +121 -0
  204. package/dist/useRecords.d-DWk61a4c.d.ts +121 -0
  205. package/dist/useRecordsDepth.d--LLA_4ga.d.cts +32 -0
  206. package/dist/useRecordsDepth.d-BQRL0Hez.d.ts +32 -0
  207. package/dist/{useVetVisit-DmWa7lt1.d.ts → useVetVisit.d-BtdwhmgD.d.cts} +15 -4
  208. package/dist/{useVetVisit-PtBjNwZr.d.cts → useVetVisit.d-DoYQimyt.d.ts} +15 -4
  209. package/dist/video/index.cjs +5 -2
  210. package/dist/video/index.d.cts +7 -7
  211. package/dist/video/index.d.ts +7 -7
  212. package/dist/video/index.js +5 -2
  213. package/dist/{view-VvLEdXP4.d.cts → view.d-0yBjLTV3.d.cts} +12 -122
  214. package/dist/{view-C_B5U04g.d.ts → view.d-DqbCADFa.d.ts} +12 -122
  215. package/dist/web/consent/index.cjs +4 -1
  216. package/dist/web/consent/index.d.cts +10 -10
  217. package/dist/web/consent/index.d.ts +10 -10
  218. package/dist/web/consent/index.js +4 -1
  219. package/dist/web/health-plan/index.cjs +421 -0
  220. package/dist/web/health-plan/index.d.cts +189 -0
  221. package/dist/web/health-plan/index.d.ts +189 -0
  222. package/dist/web/health-plan/index.js +421 -0
  223. package/dist/web/index.cjs +170 -87
  224. package/dist/web/index.d.cts +292 -38
  225. package/dist/web/index.d.ts +292 -38
  226. package/dist/web/index.js +170 -87
  227. package/dist/web/intro/index.cjs +167 -0
  228. package/dist/web/intro/index.d.cts +79 -0
  229. package/dist/web/intro/index.d.ts +79 -0
  230. package/dist/web/intro/index.js +167 -0
  231. package/dist/web/notifications/index.cjs +15 -3
  232. package/dist/web/notifications/index.d.cts +39 -209
  233. package/dist/web/notifications/index.d.ts +39 -209
  234. package/dist/web/notifications/index.js +15 -3
  235. package/dist/web/records/depth/index.cjs +10 -7
  236. package/dist/web/records/depth/index.d.cts +18 -12
  237. package/dist/web/records/depth/index.d.ts +18 -12
  238. package/dist/web/records/depth/index.js +10 -7
  239. package/dist/web/records/index.cjs +94 -68
  240. package/dist/web/records/index.d.cts +39 -55
  241. package/dist/web/records/index.d.ts +39 -55
  242. package/dist/web/records/index.js +94 -68
  243. package/dist/web/records/upload/index.d.cts +2 -2
  244. package/dist/web/records/upload/index.d.ts +2 -2
  245. package/dist/web/records-sheet/index.cjs +332 -0
  246. package/dist/web/records-sheet/index.d.cts +104 -0
  247. package/dist/web/records-sheet/index.d.ts +104 -0
  248. package/dist/web/records-sheet/index.js +332 -0
  249. package/dist/web/shop/index.cjs +416 -0
  250. package/dist/web/shop/index.d.cts +59 -0
  251. package/dist/web/shop/index.d.ts +59 -0
  252. package/dist/web/shop/index.js +416 -0
  253. package/dist/web/televet/booking/index.cjs +15 -12
  254. package/dist/web/televet/booking/index.d.cts +37 -23
  255. package/dist/web/televet/booking/index.d.ts +37 -23
  256. package/dist/web/televet/booking/index.js +15 -12
  257. package/dist/web/televet/call/index.d.cts +4 -4
  258. package/dist/web/televet/call/index.d.ts +4 -4
  259. package/dist/web/televet/index.cjs +6 -3
  260. package/dist/web/televet/index.d.cts +12 -12
  261. package/dist/web/televet/index.d.ts +12 -12
  262. package/dist/web/televet/index.js +6 -3
  263. package/dist/web/texting/index.cjs +188 -0
  264. package/dist/web/texting/index.d.cts +69 -0
  265. package/dist/web/texting/index.d.ts +69 -0
  266. package/dist/web/texting/index.js +188 -0
  267. package/health-plan/package.json +8 -0
  268. package/package.json +138 -5
  269. package/shop/package.json +8 -0
  270. package/tabs/package.json +8 -0
  271. package/texting/package.json +8 -0
  272. package/web/health-plan/native-blocked.cjs +12 -0
  273. package/web/health-plan/package.json +8 -0
  274. package/web/intro/native-blocked.cjs +12 -0
  275. package/web/intro/package.json +8 -0
  276. package/web/records-sheet/native-blocked.cjs +12 -0
  277. package/web/records-sheet/package.json +8 -0
  278. package/web/shop/native-blocked.cjs +12 -0
  279. package/web/shop/package.json +8 -0
  280. package/web/texting/native-blocked.cjs +12 -0
  281. package/web/texting/package.json +8 -0
  282. package/dist/useRecordsDepth-DRrJntjt.d.cts +0 -257
  283. package/dist/useRecordsDepth-hR94debv.d.ts +0 -257
  284. /package/dist/{CameraPort-Cv31Pz7g.d.cts → CameraPort.d-Cv31Pz7g.d.cts} +0 -0
  285. /package/dist/{CameraPort-Cv31Pz7g.d.ts → CameraPort.d-Cv31Pz7g.d.ts} +0 -0
  286. /package/dist/{TelemetryPort-BDNr00hu.d.cts → TelemetryPort.d-BDNr00hu.d.cts} +0 -0
  287. /package/dist/{TelemetryPort-BDNr00hu.d.ts → TelemetryPort.d-BDNr00hu.d.ts} +0 -0
  288. /package/dist/{cacheEpoch-DknKn3S0.d.cts → cacheEpoch.d-DknKn3S0.d.cts} +0 -0
  289. /package/dist/{cacheEpoch-DknKn3S0.d.ts → cacheEpoch.d-DknKn3S0.d.ts} +0 -0
  290. /package/dist/{callCopy-Bw6oZT54.d.cts → callCopy.d-Bw6oZT54.d.cts} +0 -0
  291. /package/dist/{callCopy-Bw6oZT54.d.ts → callCopy.d-Bw6oZT54.d.ts} +0 -0
  292. /package/dist/{ids-B2GAAifq.d.cts → ids.d-B2GAAifq.d.cts} +0 -0
  293. /package/dist/{ids-B2GAAifq.d.ts → ids.d-B2GAAifq.d.ts} +0 -0
  294. /package/dist/{optionalModule-DbJmsq5f.d.cts → optionalModule.d-DbJmsq5f.d.cts} +0 -0
  295. /package/dist/{optionalModule-DbJmsq5f.d.ts → optionalModule.d-DbJmsq5f.d.ts} +0 -0
  296. /package/dist/{profile-CSs1wlXT.d.cts → profile.d-CSs1wlXT.d.cts} +0 -0
  297. /package/dist/{profile-CSs1wlXT.d.ts → profile.d-CSs1wlXT.d.ts} +0 -0
  298. /package/dist/{projection-CeIUsbSk.d.cts → projection.d-CeIUsbSk.d.cts} +0 -0
  299. /package/dist/{projection-CeIUsbSk.d.ts → projection.d-CeIUsbSk.d.ts} +0 -0
  300. /package/dist/{species-BXAIMh7I.d.cts → species.d-BXAIMh7I.d.cts} +0 -0
  301. /package/dist/{species-BXAIMh7I.d.ts → species.d-BXAIMh7I.d.ts} +0 -0
  302. /package/dist/{visitIntent-D7_yVp1I.d.cts → visitIntent.d-D7_yVp1I.d.cts} +0 -0
  303. /package/dist/{visitIntent-D7_yVp1I.d.ts → visitIntent.d-D7_yVp1I.d.ts} +0 -0
@@ -1,38 +1,78 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
- import { E as EverfurProviderProps } from '../context-D_bcpHDA.cjs';
3
- export { a as EverfurConfig, b as EverfurHandle, c as EverfurUser, U as UseEverfurPetProfileState, u as useCapability, d as useEverfur, e as useEverfurPetProfile, f as useEverfurTheme } from '../context-D_bcpHDA.cjs';
4
- import { C as CapabilityName, a as CapabilityDecision } from '../resolve-D4Ywz5OS.cjs';
5
- export { b as CapabilityDisabled, D as DisabledLevel } from '../resolve-D4Ywz5OS.cjs';
6
- import { U as UrgencyDisplayLevel, L as LifecyclePort, E as EverfurChatDraftStore } from '../attachments-BOk3hEAM.cjs';
7
- export { C as ChatFeedbackReason, a as ChatFeedbackReasonOption, b as ChatSentiment, c as UseChatAttachmentsOptions, d as UseChatAttachmentsState, e as UseEverfurChatState, f as UseEverfurPetsState, u as useChatAttachments, g as useEverfurChat, h as useEverfurPets } from '../attachments-BOk3hEAM.cjs';
8
- import { P as PetRef, C as ConversationId } from '../ids-B2GAAifq.cjs';
9
- export { B as Brand, a as ClientId, b as ResponseId, U as UserRef, _ as __brand, c as conversationId, p as petRef, u as userRef } from '../ids-B2GAAifq.cjs';
10
- import { a as ChatCheckinTarget } from '../ports-gJ3faaWz.cjs';
11
- export { C as ChatCheckin, b as ChatConversation, c as ChatConversationListOptions, d as ChatConversationPage, e as ChatFeedbackReceipt, f as ChatFeedbackType, g as ChatHistoryOptions, i as ChatMessage, h as ChatMessagePage, j as ChatMessageRole, k as ChatMessageSender, l as ChatStatus, m as Citation, P as PresignedPolicy, S as SendOptions, U as UploadPort } from '../ports-gJ3faaWz.cjs';
12
- import { P as PetProfileInput } from '../petsRepository-Cqpd3hLU.cjs';
13
- export { a as PetProfilePatch, R as RegisteredPet, W as WidgetPet, b as WidgetPetProfile } from '../petsRepository-Cqpd3hLU.cjs';
14
- export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config-C9zhanL-.cjs';
15
- export { C as CheckinAnswer, a as CheckinOutcome, W as WatchCase } from '../casesRepository-C8KJmlxE.cjs';
16
- export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode, c as categoryFor, i as isRetryableCode, u as userFacingError } from '../EverfurError-DeBqRpQV.cjs';
17
- export { A as AttachmentError, a as AttachmentErrorCode, b as AttachmentOutcome, c as AttachmentQueue, d as AttachmentState, e as AttachmentStatus } from '../attachments-DXBETOrV.cjs';
18
- import { U as UploadTransport, F as FileHandle } from '../ports-BN6RHF9W.cjs';
19
- export { b as FilePort, a as UploadPolicyWire } from '../ports-BN6RHF9W.cjs';
20
- import { K as KvPort } from '../cacheEpoch-DknKn3S0.cjs';
21
- export { I as ImageCachePort } from '../cacheEpoch-DknKn3S0.cjs';
22
- export { E as EverfurClientEvent, a as EverfurEventHandler, L as LogLevel, b as LogRecord, c as LogSink, P as PrepareOptions, d as PrepareResult, e as PrepareStatus, S as SecureStorePort } from '../runtimeTypes-BxxCKMn8.cjs';
23
- export { T as TelemetryPort } from '../TelemetryPort-BDNr00hu.cjs';
24
- export { E as ErrorPolicyPort } from '../ErrorPolicyPort-10s3HJCt.cjs';
25
- export { C as CameraPort, a as CaptureOptions, M as MediaSource } from '../CameraPort-Cv31Pz7g.cjs';
26
- export { a as EverfurConfigError, E as EverfurResult, b as EverfurThrownError, i as isErr, c as isOk, u as unwrap } from '../EverfurResult-COlXj1wq.cjs';
27
- export { M as MintedToken, T as TokenProvider } from '../identity-gjurBi7m.cjs';
28
- export { E as EverfurFaceStyle, a as EverfurThemeAdjustment, f as face, h as headingFace, p as previewTheme, t as themeAdjustments } from '../typeStyle-DJedEu14.cjs';
29
- import { E as EverfurThemeInput } from '../branding-BCfwLj0h.cjs';
30
- export { A as APPEARANCE_PRESETS, a as APPEARANCE_PRESET_NAMES, b as APPEARANCE_SIZE_RANGES, c as EverfurAppearance, d as EverfurAppearanceFont, e as EverfurAppearancePreset, f as EverfurAppearanceRules, g as EverfurAppearanceVariables, h as EverfurThemeFontFaceKey, i as EverfurThemeFontUrlsInput, j as EverfurThemeFontsInput, k as EverfurThemeSlotInput, l as EverfurThemeSlotsInput, m as expandAppearance } from '../branding-BCfwLj0h.cjs';
31
- import { d as EverfurFontWeight, m as EverfurTheme, a as EverfurFontFaceKey } from '../tokens-DLj8OnLH.cjs';
32
- export { E as EverfurColorTokens, b as EverfurFontFamilies, c as EverfurFontSource, e as EverfurLetterSpacingTokens, f as EverfurLineHeightTokens, g as EverfurMotionDurationTokens, h as EverfurMotionTokens, i as EverfurRadiusTokens, j as EverfurSpaceTokens, k as EverfurSpringToken, l as EverfurTextColorTokens, n as EverfurThemeMeta, o as EverfurThemeSlot, p as EverfurThemeSlotKey, q as EverfurThemeSlotName, r as EverfurThemeSlots, s as EverfurTypeSizeTokens, t as EverfurTypeTokens, u as EverfurWeightTokens, T as THEME_SLOT_KEYS, v as THEME_SLOT_NAMES } from '../tokens-DLj8OnLH.cjs';
33
- export { b as PetActivityLevel, c as PetAllergy, d as PetAllergySeverity, e as PetBirthDatePrecision, f as PetCondition, a as PetHealthProfile, P as PetHealthProfileInput, g as PetIndoorOutdoor, h as PetMedication, i as PetSex } from '../profile-CSs1wlXT.cjs';
34
- export { C as CanonicalPetSpecies, c as canonicalPetSpecies } from '../species-BXAIMh7I.cjs';
35
- import '../requestFunnel-DLZpiFD3.cjs';
2
+ import { E as EverfurProviderProps } from '../context.d-C6MJsMpN.cjs';
3
+ export { a as EverfurConfig, b as EverfurHandle, c as EverfurUser, U as UseEverfurPetProfileState, u as useCapability, d as useEverfur, e as useEverfurPetProfile, f as useEverfurTheme } from '../context.d-C6MJsMpN.cjs';
4
+ import { C as CapabilityName, a as CapabilityDecision } from '../resolve.d-CoQWUy1Y.cjs';
5
+ export { b as CapabilityDisabled, D as DisabledLevel } from '../resolve.d-CoQWUy1Y.cjs';
6
+ import { U as UrgencyDisplayLevel, E as EverfurChatDraftStore } from '../attachments.d-DNUCiyy5.cjs';
7
+ export { C as ChatFeedbackReason, a as ChatFeedbackReasonOption, b as ChatSentiment, c as UseChatAttachmentsOptions, d as UseChatAttachmentsState, e as UseEverfurChatState, f as UseEverfurPetsState, u as useChatAttachments, g as useEverfurChat, h as useEverfurPets } from '../attachments.d-DNUCiyy5.cjs';
8
+ import { P as PetRef, C as ConversationId } from '../ids.d-B2GAAifq.cjs';
9
+ export { B as Brand, a as ClientId, b as ResponseId, U as UserRef, _ as __brand, c as conversationId, p as petRef, u as userRef } from '../ids.d-B2GAAifq.cjs';
10
+ import { a as ChatCheckinTarget } from '../ports.d-DBA_gsq5.cjs';
11
+ export { C as ChatCheckin, b as ChatConversation, c as ChatConversationListOptions, d as ChatConversationPage, e as ChatFeedbackReceipt, f as ChatFeedbackType, g as ChatHistoryOptions, i as ChatMessage, h as ChatMessagePage, j as ChatMessageRole, k as ChatMessageSender, l as ChatStatus, m as Citation, P as PresignedPolicy, S as SendOptions, U as UploadPort } from '../ports.d-DBA_gsq5.cjs';
12
+ import { i as EverfurPresentationInput } from '../presentation.d-vy8kTGfR.cjs';
13
+ export { D as DEFAULT_PRESENTATION, E as EverfurChatAnswerStyle, a as EverfurChatComposerPlaceholder, b as EverfurChatComposerStyle, c as EverfurChatHistoryBarSetting, d as EverfurChatHistoryStyle, e as EverfurChatSendButtonSetting, f as EverfurChatTopCardSetting, g as EverfurHealthPlanLayout, h as EverfurPresentation, l as EverfurPresentationField, j as EverfurSafetyDisclaimerPlacement, p as parsePresentation, r as resolvePresentation } from '../presentation.d-vy8kTGfR.cjs';
14
+ import { P as PetProfileInput } from '../petsRepository.d-B2TpRE7r.cjs';
15
+ export { a as PetProfilePatch, R as RegisteredPet, W as WidgetPet, b as WidgetPetProfile } from '../petsRepository.d-B2TpRE7r.cjs';
16
+ import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.cjs';
17
+ import { E as EverfurStarterPrompt } from '../quickPrompts.d-NM_81Jc1.cjs';
18
+ import { h as EverfurChatEmptyHeaderContext, i as EverfurChatEmptyState, j as EverfurChatHistoryBar, k as EverfurChatOpeningCard, l as EverfurChatAnswerCards, E as EverfurChatTopCard, m as EverfurChatHistorySheet, b as EverfurHealthPlanProps } from '../threadOptions.d-9r4Csa7k.cjs';
19
+ export { n as EverfurChatAnswerCard, o as EverfurChatAnswerContext, p as EverfurChatFollowUpAction } from '../threadOptions.d-9r4Csa7k.cjs';
20
+ export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config.d-DJ4mvf_w.cjs';
21
+ export { C as CheckinAnswer, a as CheckinOutcome, W as WatchCase } from '../casesRepository.d-DCnix2pT.cjs';
22
+ export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode, c as categoryFor, i as isRetryableCode, u as userFacingError } from '../EverfurError.d-8NHtlgzA.cjs';
23
+ export { A as AttachmentError, a as AttachmentErrorCode, b as AttachmentOutcome, c as AttachmentQueue, d as AttachmentState, e as AttachmentStatus } from '../attachments.d-ZEpTUeWN.cjs';
24
+ import { U as UploadTransport, F as FileHandle } from '../ports.d-BX4f4UsB.cjs';
25
+ export { b as FilePort, a as UploadPolicyWire } from '../ports.d-BX4f4UsB.cjs';
26
+ import { C as CaptureRecordsSignature } from '../clinicRequestProps.d-1dCtouGA.cjs';
27
+ import { E as EverfurRecordsPageProps } from '../RecordsPage.d-DMKU0IKc.cjs';
28
+ import { E as EverfurIntroCopy, a as EverfurIntroBlank, b as EverfurRecordsRequested, d as EverfurRecordsLanded } from '../introEvents.d-BkGDT_kG.cjs';
29
+ import { a as EverfurTabId, E as EverfurTabsCopy } from '../tabsModel.d-BfIQg6yS.cjs';
30
+ export { b as EVERFUR_TABS_COPY } from '../tabsModel.d-BfIQg6yS.cjs';
31
+ export { E as EVERFUR_RECORDS_LANDED_EVENT, a as EVERFUR_RECORDS_REQUESTED_EVENT } from '../introEvents.d-dS3fJCH1.cjs';
32
+ export { L as useEverfurPresentation } from '../usePresentation.d-DYTF_ZGf.cjs';
33
+ import { K as KvPort } from '../cacheEpoch.d-DknKn3S0.cjs';
34
+ export { I as ImageCachePort } from '../cacheEpoch.d-DknKn3S0.cjs';
35
+ export { E as EverfurClientEvent, a as EverfurEventHandler, L as LogLevel, b as LogRecord, c as LogSink, P as PrepareOptions, d as PrepareResult, e as PrepareStatus, S as SecureStorePort } from '../runtimeTypes.d-LkwZaF7z.cjs';
36
+ export { T as TelemetryPort } from '../TelemetryPort.d-BDNr00hu.cjs';
37
+ export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-DirW9hgO.cjs';
38
+ export { C as CameraPort, a as CaptureOptions, M as MediaSource } from '../CameraPort.d-Cv31Pz7g.cjs';
39
+ export { a as EverfurConfigError, E as EverfurResult, b as EverfurThrownError, i as isErr, c as isOk, u as unwrap } from '../EverfurResult.d-BFH-3s6E.cjs';
40
+ export { M as MintedToken, T as TokenProvider } from '../identity.d-CJfnWOdH.cjs';
41
+ export { E as EverfurFaceStyle, a as EverfurThemeAdjustment, f as face, h as headingFace, p as previewTheme, t as themeAdjustments } from '../typeStyle.d-xIZj02Ru.cjs';
42
+ import { E as EverfurThemeInput } from '../branding.d-CTXTUg_8.cjs';
43
+ export { A as APPEARANCE_PRESETS, a as APPEARANCE_PRESET_NAMES, b as APPEARANCE_SIZE_RANGES, c as EverfurAppearance, d as EverfurAppearanceFont, e as EverfurAppearancePreset, f as EverfurAppearanceRules, g as EverfurAppearanceVariables, h as EverfurThemeFontFaceKey, i as EverfurThemeFontUrlsInput, j as EverfurThemeFontsInput, k as EverfurThemeSlotInput, l as EverfurThemeSlotsInput, m as expandAppearance } from '../branding.d-CTXTUg_8.cjs';
44
+ import { d as EverfurFontWeight, m as EverfurTheme, a as EverfurFontFaceKey } from '../tokens.d-DarDaV39.cjs';
45
+ export { E as EverfurColorTokens, b as EverfurFontFamilies, c as EverfurFontSource, e as EverfurLetterSpacingTokens, f as EverfurLineHeightTokens, g as EverfurMotionDurationTokens, h as EverfurMotionTokens, i as EverfurRadiusTokens, j as EverfurSpaceTokens, k as EverfurSpringToken, l as EverfurTextColorTokens, n as EverfurThemeMeta, o as EverfurThemeSlot, p as EverfurThemeSlotKey, q as EverfurThemeSlotName, r as EverfurThemeSlots, s as EverfurTypeSizeTokens, t as EverfurTypeTokens, u as EverfurWeightTokens, T as THEME_SLOT_KEYS, v as THEME_SLOT_KEYS_BY_SLOT, w as THEME_SLOT_NAMES, x as themeSlotKeysFor } from '../tokens.d-DarDaV39.cjs';
46
+ export { b as PetActivityLevel, c as PetAllergy, d as PetAllergySeverity, e as PetBirthDatePrecision, f as PetCondition, a as PetHealthProfile, P as PetHealthProfileInput, g as PetIndoorOutdoor, h as PetMedication, i as PetSex } from '../profile.d-CSs1wlXT.cjs';
47
+ export { C as CanonicalPetSpecies, c as canonicalPetSpecies } from '../species.d-BXAIMh7I.cjs';
48
+ import '../requestFunnel.d-RZex94XX.cjs';
49
+ import '../focus.d-jQWp0hdK.cjs';
50
+ import '../clinicModels.d-BXgKZqDb.cjs';
51
+ import '../models.d-BSqvbTE1.cjs';
52
+ import '../useRecords.d-BYNX01El.cjs';
53
+ import '../features.d-DrQxTw3-.cjs';
54
+ import '../screenProps.d-CQ0qZJkr.cjs';
55
+ import '../clinicBatch.d-Ccmrngcu.cjs';
56
+ import '../recordsAsk.d-C5CGSi3j.cjs';
57
+ import '../sheetSeam.d-BBuEIVsa.cjs';
58
+
59
+ /**
60
+ * A host's rule for the follow-ups under a reply (`EverfurChat`'s `followUpPolicy`, opt-in). Without one the
61
+ * surface draws `visibleFollowUps` exactly as before.
62
+ */
63
+ interface ChatFollowUpPolicy {
64
+ /** How many to draw, 1 to 5. With `fill` the surface draws exactly this many whenever it can. Default 3. */
65
+ readonly count?: number;
66
+ /** Drop a backend prompt this matches (a visit or booking follow-up a host does not offer). */
67
+ readonly exclude?: RegExp | ((prompt: string) => boolean);
68
+ /**
69
+ * The host's own prompts that top the list up to `count` after the backend's (in order, de-duplicated, the
70
+ * `exclude` rule applied too). A function receives the member's last question, so the top-ups can follow it.
71
+ */
72
+ readonly fill?: readonly string[] | ((lastQuestion: string | null) => readonly string[]);
73
+ /** A visible label over the follow-ups ("Follow-up questions"). Absent, the list keeps only its accessible name. */
74
+ readonly label?: string;
75
+ }
36
76
 
37
77
  /**
38
78
  * Wrap the tree ONCE, high. Mounting constructs the runtime (transport, identity, registry,
@@ -130,6 +170,12 @@ interface EverfurChatProps {
130
170
  * conversation. Pass `composerSeed` instead when the user should decide whether to send it.
131
171
  */
132
172
  readonly initialAsk?: string;
173
+ /**
174
+ * The identity of this `initialAsk`, when the same words can be asked again: your own id for each tap of an
175
+ * "Ask Everfur" pill or each push opened. A new key asks again even with the same words. Absent, the
176
+ * question's own words are the key, so the same question twice in a row is asked once.
177
+ */
178
+ readonly initialAskKey?: string | number;
133
179
  /**
134
180
  * Text to put in the composer on arrival. It is never sent for the user: they edit it, send it or clear
135
181
  * it. Only an empty composer is seeded, so nothing they typed is ever replaced.
@@ -139,10 +185,12 @@ interface EverfurChatProps {
139
185
  * Your app's lifecycle signals. Everfur has no socket and no polling here, so a message the platform
140
186
  * writes into the thread (a follow-up check-in, a reminder) is not visible until something re-reads it.
141
187
  * Tell Everfur when your page becomes visible again, when connectivity returns and when a push announced a
142
- * change, and the thread and the unread dot catch up on that signal alone. Without this, chat refreshes
143
- * only when the user does something.
188
+ * change, and the thread and the unread dot catch up on that signal alone. Absent, Everfur uses the browser's
189
+ * own signals (the page becoming visible again, the window `online` event, `navigator.onLine`; see
190
+ * `createBrowserLifecycle`). Pass your own port to add a push announcement, or `null` to turn the re-read off,
191
+ * in which case chat refreshes only when the user does something.
144
192
  */
145
- readonly lifecycle?: LifecyclePort;
193
+ readonly lifecycle?: LifecyclePort | null;
146
194
  /**
147
195
  * Your own storage for an unsent draft. Given, what the user typed and did not send survives leaving this
148
196
  * screen; absent, the draft lives in memory for as long as the surface is mounted and nowhere else.
@@ -180,6 +228,71 @@ interface EverfurChatProps {
180
228
  * 1 to 6. Default 2: a drop-in widget does not claim your page's `<h1>`. Pass 1 when chat IS the page.
181
229
  */
182
230
  readonly headingLevel?: number;
231
+ /**
232
+ * Whether the surface draws its own header bar (the history control, your logo, the pet and its switcher, a new
233
+ * chat and the vet entry). Default `true`. Pass `false` when your own screen already has a header over chat: the
234
+ * thread, the urgency banner and the composer are unchanged, and on a wide box the history rail still shows.
235
+ * Without the header there is no control that opens the history drawer on a narrow box.
236
+ */
237
+ readonly header?: boolean;
238
+ /**
239
+ * Your own starter chips for the empty thread, in place of Everfur's four (the vet-prep chip included). Each chip
240
+ * shows its `label`, sends its `prompt` (the label when absent) as the member's next message, and is filled with
241
+ * its `tint` (any CSS colour) under its `ink`; without a `tint` it takes your theme's highlight. A chip with a blank
242
+ * label is dropped and at most 8 are drawn. Absent or empty, Everfur's own chips. The words are yours.
243
+ */
244
+ readonly starterPrompts?: readonly EverfurStarterPrompt[];
245
+ /**
246
+ * Your own content for the top of the empty thread, above its title and starter chips (for example a card of the
247
+ * pet's top findings). Rendered only while the thread is empty; if it throws, the empty state draws as usual.
248
+ * Absent, the empty state is Everfur's own. It receives `{ ask }`: a row of your card can ask its question in
249
+ * this thread directly, with no screen in between.
250
+ */
251
+ readonly renderEmptyHeader?: (context: EverfurChatEmptyHeaderContext) => ReactNode;
252
+ /**
253
+ * The empty thread's title and layout your way: your title words in place of Everfur's, and classes for the
254
+ * block, the title, the chip list and each chip (a class drops that element's inline layout). Absent, as before.
255
+ */
256
+ readonly emptyState?: EverfurChatEmptyState;
257
+ /**
258
+ * Your rule for the follow-ups under a reply: how many (exactly, with `fill`), which backend prompts to drop
259
+ * (`exclude`, for example visit or booking prompts you do not offer) and your own prompts to top up with.
260
+ * Absent, at most three of the backend's, as before.
261
+ */
262
+ readonly followUpPolicy?: ChatFollowUpPolicy;
263
+ /**
264
+ * A history bar over the thread ("Chats" with the thread count, and "New chat"), for a surface with
265
+ * `header={false}`. The words are yours. Absent, no bar.
266
+ */
267
+ readonly historyBar?: EverfurChatHistoryBar;
268
+ /**
269
+ * The card a notification-opened thread starts with: drawn in place of the first bubble while that bubble is
270
+ * `initialAsk`. Pair it with `initialAsk` (the notification's question). Absent, the bubble draws as usual.
271
+ */
272
+ readonly initialAskCard?: EverfurChatOpeningCard;
273
+ /**
274
+ * Opens the pet's Health Plan (your tab or screen), called with the pet. The focus card the chat draws from the pet's
275
+ * Health Plan page (when you pass no `topCard`) uses it for its "See her Health Plan" button; without it that card
276
+ * has no plan button. Also RESERVED for a Health Plan card in an answer, which the chat stream does not carry yet.
277
+ */
278
+ readonly onOpenHealthPlan?: (petRef: PetRef | null) => void;
279
+ /**
280
+ * The layout settings (PRESENTATION-CONTRACT): answer style, history style, top card, follow-ups, composer mic and
281
+ * upload, disclaimer placement. Each also comes from your console (render_hints.branding.presentation); a field you
282
+ * set here wins over the console unless the console locks it. Absent everywhere, the chat draws exactly as before.
283
+ * `dictation`, `attachments` and `followUpPolicy` count as your explicit values for their fields; `topCard`,
284
+ * `answerCards` and `historySheet` are content only and never switch a layout on by themselves.
285
+ */
286
+ readonly presentation?: EverfurPresentationInput;
287
+ /** The cards answer style's content and classes (used while `chatAnswerStyle` resolves to `cards`). */
288
+ readonly answerCards?: EverfurChatAnswerCards;
289
+ /**
290
+ * The top card of the empty thread's content (drawn while `chatTopCard` resolves to `focus`, the default). Absent,
291
+ * the chat reads the pet's Health Plan page and draws its focus when there is one; yours always wins.
292
+ */
293
+ readonly topCard?: EverfurChatTopCard;
294
+ /** The history bottom sheet's words and classes (used while `chatHistoryStyle` resolves to `sheet`). */
295
+ readonly historySheet?: EverfurChatHistorySheet;
183
296
  }
184
297
  /**
185
298
  * Entitlement-gated, four-state chat surface. Entitlement-OFF renders the CapabilityGate OffState; otherwise
@@ -188,6 +301,23 @@ interface EverfurChatProps {
188
301
  */
189
302
  declare function EverfurChat(props: EverfurChatProps): ReactNode;
190
303
 
304
+ /** True while the host shows Everfur's attribution itself (an `EverfurPoweredBy` is mounted). */
305
+ declare function useHostPoweredBy(): boolean;
306
+ interface EverfurPoweredByProps {
307
+ /** Your lockup (for example a mark, "powered by" and the everfur wordmark). Absent, Everfur's own words. */
308
+ readonly children?: ReactNode;
309
+ readonly className?: string;
310
+ readonly style?: CSSProperties;
311
+ }
312
+ /** Everfur's attribution where your design puts it; the chat then leaves out its own line. */
313
+ declare function EverfurPoweredBy({ children, className, style }: EverfurPoweredByProps): ReactNode;
314
+
315
+ /**
316
+ * The browser's lifecycle signals for EverfurChat: `visibilitychange` from hidden to visible is the foreground
317
+ * edge, the window `online` event is connectivity returning, and `navigator.onLine === false` reads as offline.
318
+ */
319
+ declare function createBrowserLifecycle(): LifecyclePort;
320
+
191
321
  interface WebAttachmentTransportOptions {
192
322
  /** Test seam: the `fetch` to use. Defaults to the global one. A host has no reason to set it. */
193
323
  readonly fetch?: typeof fetch;
@@ -204,6 +334,130 @@ declare function createWebAttachmentTransport(options?: WebAttachmentTransportOp
204
334
  */
205
335
  declare function fileToAttachmentHandle(file: File): FileHandle;
206
336
 
337
+ /**
338
+ * How the member got here, said by the host (explicit, owner decision (a)): a plain open from the app's own tab
339
+ * bar, or a deep link (a push, a text, a web card, a "See her plan" button) that names a tab and maybe a question.
340
+ * Change `key` for each new open, so the same link twice is two opens.
341
+ */
342
+ type EverfurTabsOpened = {
343
+ readonly via: 'plain';
344
+ readonly key?: string | number;
345
+ } | {
346
+ readonly via: 'link';
347
+ readonly tab: EverfurTabId;
348
+ /** A question to start a chat with (the tab is then Ask), and the card the chat opens under (a push's own). */
349
+ readonly ask?: {
350
+ readonly prompt: string;
351
+ readonly card?: EverfurChatOpeningCard;
352
+ };
353
+ readonly key?: string | number;
354
+ };
355
+
356
+ /** EverfurChat's own props, passed through; the shell sets the pet, the question a link carries and the plan door. */
357
+ type EverfurTabsChatProps = Omit<EverfurChatProps, 'petRef' | 'initialAsk' | 'initialAskKey' | 'initialAskCard' | 'onOpenHealthPlan'>;
358
+ /** EverfurHealthPlan's own props, passed through; the shell sets the pet and remounts it on a changed plan. */
359
+ type EverfurTabsPlanProps = Omit<EverfurHealthPlanProps, 'petRef'>;
360
+ /** EverfurRecordsPage's own props, passed through; the shell sets the pet, its name, Ask and the plan door. */
361
+ type EverfurTabsRecordsProps = Omit<EverfurRecordsPageProps, 'petRef' | 'petName'>;
362
+ /** The intro's options (`EverfurTabs intro=`). Every one is optional; `intro={false}` never plays it. */
363
+ interface EverfurTabsIntro {
364
+ /** Your own words in the intro (each defaults to empty, and an empty line is not drawn). */
365
+ readonly copy?: Partial<EverfurIntroCopy>;
366
+ /** The plan's blanks the records ask shows. Absent: the pet's weight and next shots. */
367
+ readonly blanks?: readonly EverfurIntroBlank[];
368
+ /** Sent's "Turn on notifications": your app's permission ask; resolve true once on. Absent: Everfur's preferences. */
369
+ readonly onEnableNotifications?: () => boolean | Promise<boolean>;
370
+ /** The clinic frame's "Upload a PDF or a photo instead", run once the intro closes. Absent: the Records tab opens. */
371
+ readonly onUpload?: () => void;
372
+ /** The consent step's owner name, and your own signature capture. */
373
+ readonly ownerName?: string;
374
+ readonly onCaptureSignature?: CaptureRecordsSignature;
375
+ /** The records-landed banner's app tile (your app's mark). */
376
+ readonly bannerIcon?: ReactNode;
377
+ /**
378
+ * The intro plays only while the page is narrower than this (Raph's intro is the phone's; his web view has none, and
379
+ * a shell in a desktop column can be phone-narrow). Default 600.
380
+ */
381
+ readonly maxWidth?: number;
382
+ }
383
+ /** Class names for a host that keeps its own CSS hooks on the shell's parts (the look itself is inline). */
384
+ interface EverfurTabsClassNames {
385
+ readonly root?: string;
386
+ readonly bar?: string;
387
+ readonly tab?: string;
388
+ readonly panes?: string;
389
+ readonly pane?: string;
390
+ /** The box the chat fills in the Ask pane. */
391
+ readonly ask?: string;
392
+ /** The scroller of the Health Plan and Records panes. */
393
+ readonly scroll?: string;
394
+ }
395
+ interface EverfurTabsProps {
396
+ /** The pet the three tabs are about. Null: no pet yet (the chat starts unscoped, the plan and records wait). */
397
+ readonly petRef: PetRef | null;
398
+ /** The pet's name, for Records and the intro until the plan page names it. */
399
+ readonly petName?: string | null;
400
+ /**
401
+ * How the member got here (explicit): `{ via: 'plain' }` from your app's own tab bar, `{ via: 'link', tab }` from a
402
+ * push, a text, a web card or a "See her plan" button. A new `key` is a new open. A plain open lands on Health Plan
403
+ * and may play the intro; a link opens where it points, and the intro waits for the next plain open.
404
+ */
405
+ readonly opened: EverfurTabsOpened;
406
+ /** Whether the shell is on screen (your app's own tab is this one). Default true. */
407
+ readonly visible?: boolean;
408
+ readonly copy?: Partial<EverfurTabsCopy>;
409
+ readonly chat?: EverfurTabsChatProps;
410
+ readonly plan?: EverfurTabsPlanProps;
411
+ readonly records?: EverfurTabsRecordsProps;
412
+ /** Your content around the records page (your own top section over it). Absent: the page alone. */
413
+ readonly renderRecords?: (page: ReactNode) => ReactNode;
414
+ /** Your content under a pane (a composer), drawn inside the pane after the SDK's surface. */
415
+ readonly paneFooter?: Partial<Record<EverfurTabId, ReactNode>>;
416
+ /**
417
+ * The pet's results are not back yet (your data): Ask draws no focus card and no pill and offers
418
+ * `pendingStarterPrompts`, and the intro uses its waiting lines.
419
+ */
420
+ readonly resultsPending?: boolean;
421
+ /** Ask's starters while the results are not back (your words). */
422
+ readonly pendingStarterPrompts?: readonly EverfurStarterPrompt[];
423
+ /** The first-open intro. Default on (it plays once per member); false never plays it. */
424
+ readonly intro?: EverfurTabsIntro | false;
425
+ /**
426
+ * The element the intro, the toast and the banner cover (your phone screen, positioned). Absent: the shell itself,
427
+ * which is then positioned.
428
+ */
429
+ readonly overlayContainer?: HTMLElement | null;
430
+ /** Names the page after the open tab while `visible` (Raph's titles are the tab labels). Default false. */
431
+ readonly documentTitle?: boolean;
432
+ readonly onTabChange?: (tab: EverfurTabId) => void;
433
+ readonly onRecordsRequested?: (event: EverfurRecordsRequested) => void;
434
+ readonly onRecordsLanded?: (event: EverfurRecordsLanded) => void;
435
+ /** Your own toast. Absent: Raph's, drawn over the tab bar. */
436
+ readonly onToast?: (message: string) => void;
437
+ /**
438
+ * A ref the shell fills with its handle (open a tab, ask, request records), for your callbacks that live outside its
439
+ * content, such as a button on a card you pass in `chat`. Content inside the shell reads it with useEverfurTabs().
440
+ */
441
+ readonly tabsRef?: {
442
+ current: EverfurTabsHandle | null;
443
+ };
444
+ readonly className?: string;
445
+ readonly style?: CSSProperties;
446
+ readonly classNames?: EverfurTabsClassNames;
447
+ }
448
+ /** What the content inside the shell can do: open a tab, ask in the chat, open the records request sheet. */
449
+ interface EverfurTabsHandle {
450
+ readonly tab: EverfurTabId;
451
+ open(tab: EverfurTabId): void;
452
+ /** Opens Ask with a question in a fresh chat. An empty question only opens Ask. */
453
+ ask(prompt: string, card?: EverfurChatOpeningCard): void;
454
+ /** Raph's records request sheet (his 2a and 2b): her clinic, the consent, Sent. Backing out stays where you are. */
455
+ requestRecords(): void;
456
+ }
457
+ /** The shell around you, inside EverfurTabs (a pane footer, your records section); null outside it. */
458
+ declare function useEverfurTabs(): EverfurTabsHandle | null;
459
+ declare function EverfurTabs(props: EverfurTabsProps): ReactNode;
460
+
207
461
  interface EverfurThemeProviderProps {
208
462
  /**
209
463
  * The clamped client `theme` prop. It wins over the console's branding field by field, except for a field
@@ -246,4 +500,4 @@ declare function headingFaceCss(theme: EverfurTheme, fallback?: EverfurFontFaceK
246
500
  */
247
501
  declare function createLocalStorageKv(): KvPort;
248
502
 
249
- export { CapabilityDecision, CapabilityGate, type CapabilityGateProps, CapabilityName, ChatCheckinTarget, ConversationId, EverfurChat, EverfurChatDraftStore, type EverfurChatProps, type EverfurFaceCss, EverfurFontFaceKey, EverfurFontWeight, EverfurProvider, EverfurProviderProps, EverfurTheme, EverfurThemeInput, EverfurThemeProvider, type EverfurThemeProviderProps, FileHandle, KvPort, LifecyclePort, PetProfileInput, PetRef, UploadTransport, UrgencyDisplayLevel, type WebAttachmentTransportOptions, createLocalStorageKv, createWebAttachmentTransport, faceCss, fileToAttachmentHandle, headingFaceCss };
503
+ export { CapabilityDecision, CapabilityGate, type CapabilityGateProps, CapabilityName, ChatCheckinTarget, type ChatFollowUpPolicy, ConversationId, EverfurChat, EverfurChatAnswerCards, EverfurChatDraftStore, EverfurChatEmptyHeaderContext, EverfurChatEmptyState, EverfurChatHistoryBar, EverfurChatHistorySheet, EverfurChatOpeningCard, type EverfurChatProps, EverfurChatTopCard, type EverfurFaceCss, EverfurFontFaceKey, EverfurFontWeight, EverfurPoweredBy, type EverfurPoweredByProps, EverfurPresentationInput, EverfurProvider, EverfurProviderProps, EverfurRecordsLanded, EverfurRecordsRequested, EverfurStarterPrompt, EverfurTabId, EverfurTabs, type EverfurTabsChatProps, type EverfurTabsClassNames, EverfurTabsCopy, type EverfurTabsHandle, type EverfurTabsIntro, type EverfurTabsOpened, type EverfurTabsPlanProps, type EverfurTabsProps, type EverfurTabsRecordsProps, EverfurTheme, EverfurThemeInput, EverfurThemeProvider, type EverfurThemeProviderProps, FileHandle, KvPort, LifecyclePort, PetProfileInput, PetRef, UploadTransport, UrgencyDisplayLevel, type WebAttachmentTransportOptions, createBrowserLifecycle, createLocalStorageKv, createWebAttachmentTransport, faceCss, fileToAttachmentHandle, headingFaceCss, useEverfurTabs, useHostPoweredBy };