@everfur/sdk 0.12.1 → 0.13.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 (268) hide show
  1. package/CHANGELOG.md +166 -0
  2. package/README.md +2 -1
  3. package/dist/{Chat-CbyZ1vAX.d.cts → Chat.d-DUNTfzqC.d.ts} +170 -8
  4. package/dist/{Chat-CgYQdfqi.d.ts → Chat.d-Dts8u_1a.d.cts} +170 -8
  5. package/dist/{DepthViews-CaQUyCHK.d.ts → DepthViews.d-BIp599lz.d.cts} +1 -1
  6. package/dist/{DepthViews-CCz4ig0u.d.ts → DepthViews.d-BMU2jFPw.d.cts} +1 -1
  7. package/dist/{DepthViews-D3OiIK_x.d.cts → DepthViews.d-Ce2Zhnrb.d.ts} +1 -1
  8. package/dist/{DepthViews-iGZi4_WK.d.cts → DepthViews.d-CubkMPbU.d.ts} +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/animations/index.cjs +4 -1
  24. package/dist/animations/index.d.cts +24 -24
  25. package/dist/animations/index.d.ts +24 -24
  26. package/dist/animations/index.js +4 -1
  27. package/dist/{attachments-DkMrKCIU.d.ts → attachments.d-Bp2qbHxn.d.cts} +22 -26
  28. package/dist/{attachments-CTJK0jQ4.d.ts → attachments.d-D1yhJjcZ.d.ts} +4 -4
  29. package/dist/{attachments-DXBETOrV.d.cts → attachments.d-DisnvB9R.d.cts} +4 -4
  30. package/dist/{attachments-BOk3hEAM.d.cts → attachments.d-Djy9z_0Z.d.ts} +22 -26
  31. package/dist/{bookingCopy-C_a45T4-.d.ts → bookingCopy.d-BJF6gd1A.d.ts} +24 -9
  32. package/dist/{bookingCopy-CHYGYHe0.d.cts → bookingCopy.d-BlBmhAJc.d.cts} +24 -9
  33. package/dist/{branding-DJf4h12Q.d.ts → branding.d-DI8S400y.d.cts} +9 -2
  34. package/dist/{branding-BCfwLj0h.d.cts → branding.d-OIGLbQeM.d.ts} +9 -2
  35. package/dist/{callRoom-BhIdadyV.d.cts → callRoom.d-B1DoYdJe.d.cts} +1 -1
  36. package/dist/{callRoom-B92eH_ij.d.ts → callRoom.d-Dqm1rUqT.d.ts} +1 -1
  37. package/dist/{casesRepository-C8KJmlxE.d.cts → casesRepository.d-CT2LTicS.d.cts} +3 -3
  38. package/dist/{casesRepository-iAi5qWnx.d.ts → casesRepository.d-UsWOz9bv.d.ts} +3 -3
  39. package/dist/chat/index.cjs +131 -57
  40. package/dist/chat/index.d.cts +18 -16
  41. package/dist/chat/index.d.ts +18 -16
  42. package/dist/chat/index.js +132 -58
  43. package/dist/client/index.cjs +14 -10
  44. package/dist/client/index.d.cts +19 -18
  45. package/dist/client/index.d.ts +19 -18
  46. package/dist/client/index.js +14 -10
  47. package/dist/{config-C9zhanL-.d.cts → config.d-BR3DT9ho.d.cts} +3 -3
  48. package/dist/{config-C5iPNKDj.d.ts → config.d-Dy6igYlH.d.ts} +3 -3
  49. package/dist/consent/index.cjs +4 -1
  50. package/dist/consent/index.d.cts +10 -10
  51. package/dist/consent/index.d.ts +10 -10
  52. package/dist/consent/index.js +4 -1
  53. package/dist/{context-BUIrC20Z.d.ts → context.d-Cwks0p3C.d.cts} +15 -15
  54. package/dist/{context-D_bcpHDA.d.cts → context.d-QcCgguzA.d.ts} +15 -15
  55. package/dist/{copy-KbCU9fen.d.ts → copy.d-CiMn2IIt.d.ts} +6 -6
  56. package/dist/{copy-BE31T2jR.d.cts → copy.d-DLJTyRfT.d.cts} +6 -6
  57. package/dist/core/index.cjs +16 -13
  58. package/dist/core/index.d.cts +33 -29
  59. package/dist/core/index.d.ts +33 -29
  60. package/dist/core/index.js +16 -13
  61. package/dist/{depth-DNxDieoO.d.cts → depth.d-CjPGVPDL.d.cts} +9 -115
  62. package/dist/{depth-DDKGfFaB.d.ts → depth.d-OSALbYM7.d.ts} +9 -115
  63. package/dist/{entitlementRepository-C1_wXIE3.d.cts → entitlementRepository.d-CVQa1DA1.d.cts} +10 -5
  64. package/dist/{entitlementRepository-CYtdIGfH.d.ts → entitlementRepository.d-Cf3LbTwD.d.ts} +10 -5
  65. package/dist/features.d-fNsGcg0R.d.cts +108 -0
  66. package/dist/features.d-fNsGcg0R.d.ts +108 -0
  67. package/dist/focus.d-DMg2ngHI.d.ts +1178 -0
  68. package/dist/focus.d-az9cqUz3.d.cts +1178 -0
  69. package/dist/health-plan/index.cjs +370 -0
  70. package/dist/health-plan/index.d.cts +251 -0
  71. package/dist/health-plan/index.d.ts +251 -0
  72. package/dist/health-plan/index.js +370 -0
  73. package/dist/idempotency.d-D461_DPD.d.cts +910 -0
  74. package/dist/idempotency.d-WpXx9zQo.d.ts +910 -0
  75. package/dist/{identity-BqeaN8An.d.ts → identity.d-60LeJt_s.d.cts} +3 -3
  76. package/dist/{identity-gjurBi7m.d.cts → identity.d-DzTijonw.d.ts} +3 -3
  77. package/dist/index.cjs +140 -66
  78. package/dist/index.d.cts +31 -29
  79. package/dist/index.d.ts +31 -29
  80. package/dist/index.js +141 -67
  81. package/dist/{models-A4A5S7AG.d.cts → models.d-BagXhafD.d.ts} +8 -3
  82. package/dist/{models-CnXY5LuO.d.ts → models.d-BnLm3VAA.d.cts} +8 -3
  83. package/dist/notifications/index.cjs +4 -1
  84. package/dist/notifications/index.d.cts +9 -9
  85. package/dist/notifications/index.d.ts +9 -9
  86. package/dist/notifications/index.js +4 -1
  87. package/dist/optInView.d-CEyHR6PK.d.cts +325 -0
  88. package/dist/optInView.d-acKpV8V2.d.ts +325 -0
  89. package/dist/parse.d-C8CXyS58.d.ts +210 -0
  90. package/dist/parse.d-tEzufgJX.d.cts +210 -0
  91. package/dist/{pets-CfutxNs9.d.cts → pets.d-C_53_fzo.d.ts} +3 -3
  92. package/dist/{pets-LIGadUtr.d.ts → pets.d-NbJvP_kh.d.cts} +3 -3
  93. package/dist/{petsRepository-Cqpd3hLU.d.cts → petsRepository.d-BuGHymNx.d.ts} +4 -4
  94. package/dist/{petsRepository-CoRa3C_U.d.ts → petsRepository.d-lp1BHRqM.d.cts} +4 -4
  95. package/dist/photo/index.cjs +5 -2
  96. package/dist/photo/index.d.cts +9 -9
  97. package/dist/photo/index.d.ts +9 -9
  98. package/dist/photo/index.js +5 -2
  99. package/dist/{ports-BN6RHF9W.d.cts → ports.d-BX4f4UsB.d.cts} +14 -1
  100. package/dist/{ports-BN6RHF9W.d.ts → ports.d-BX4f4UsB.d.ts} +14 -1
  101. package/dist/{ports-gJ3faaWz.d.cts → ports.d-CEROoqnA.d.cts} +16 -10
  102. package/dist/{ports-CVi3n0re.d.ts → ports.d-COIyN624.d.ts} +16 -10
  103. package/dist/presentation.d-DMbdad7G.d.cts +90 -0
  104. package/dist/presentation.d-DMbdad7G.d.ts +90 -0
  105. package/dist/records/depth/index.cjs +10 -7
  106. package/dist/records/depth/index.d.cts +14 -12
  107. package/dist/records/depth/index.d.ts +14 -12
  108. package/dist/records/depth/index.js +10 -7
  109. package/dist/records/index.cjs +224 -62
  110. package/dist/records/index.d.cts +159 -20
  111. package/dist/records/index.d.ts +159 -20
  112. package/dist/records/index.js +224 -62
  113. package/dist/recordsAsk.d-C5CGSi3j.d.cts +14 -0
  114. package/dist/recordsAsk.d-C5CGSi3j.d.ts +14 -0
  115. package/dist/{requestFunnel-BYzlyaC0.d.ts → requestFunnel.d-CXUMPw1K.d.ts} +5 -5
  116. package/dist/{requestFunnel-DLZpiFD3.d.cts → requestFunnel.d-DWQQpjFR.d.cts} +5 -5
  117. package/dist/{resolve-D4Ywz5OS.d.ts → resolve.d-jI8FmBj3.d.cts} +3 -3
  118. package/dist/{resolve-D4Ywz5OS.d.cts → resolve.d-jI8FmBj3.d.ts} +3 -3
  119. package/dist/{runtimeTypes-BxxCKMn8.d.cts → runtimeTypes.d-4yFNNuYR.d.ts} +20 -13
  120. package/dist/{runtimeTypes-Doa_xxSa.d.ts → runtimeTypes.d-D6N_fhxx.d.cts} +20 -13
  121. package/dist/server/events/index.cjs +6 -3
  122. package/dist/server/events/index.d.cts +51 -9
  123. package/dist/server/events/index.d.ts +51 -9
  124. package/dist/server/events/index.js +6 -3
  125. package/dist/server/index.cjs +11 -6
  126. package/dist/server/index.d.cts +152 -8
  127. package/dist/server/index.d.ts +152 -8
  128. package/dist/server/index.js +11 -6
  129. package/dist/sheetCopy.d-CAhLOxjc.d.cts +4 -0
  130. package/dist/sheetCopy.d-CAhLOxjc.d.ts +4 -0
  131. package/dist/sheetSeam.d-Cviqk89n.d.ts +45 -0
  132. package/dist/sheetSeam.d-DCS3LW8g.d.cts +45 -0
  133. package/dist/shop/index.cjs +262 -0
  134. package/dist/shop/index.d.cts +193 -0
  135. package/dist/shop/index.d.ts +193 -0
  136. package/dist/shop/index.js +262 -0
  137. package/dist/televet/booking/index.cjs +15 -12
  138. package/dist/televet/booking/index.d.cts +36 -22
  139. package/dist/televet/booking/index.d.ts +36 -22
  140. package/dist/televet/booking/index.js +15 -12
  141. package/dist/televet/call/index.d.cts +5 -5
  142. package/dist/televet/call/index.d.ts +5 -5
  143. package/dist/televet/index.cjs +6 -3
  144. package/dist/televet/index.d.cts +12 -12
  145. package/dist/televet/index.d.ts +12 -12
  146. package/dist/televet/index.js +6 -3
  147. package/dist/{televetGlobal-C5dTUACe.d.cts → televetGlobal.d-CC-DrqkQ.d.ts} +7 -2
  148. package/dist/{televetGlobal-CnjrfhT4.d.ts → televetGlobal.d-CKwDCbmN.d.cts} +7 -2
  149. package/dist/testing/index.cjs +6 -3
  150. package/dist/testing/index.d.cts +3 -3
  151. package/dist/testing/index.d.ts +3 -3
  152. package/dist/testing/index.js +6 -3
  153. package/dist/testing/rn/index.cjs +4 -1
  154. package/dist/testing/rn/index.d.cts +23 -22
  155. package/dist/testing/rn/index.d.ts +23 -22
  156. package/dist/testing/rn/index.js +4 -1
  157. package/dist/testing/web/index.cjs +4 -1
  158. package/dist/testing/web/index.d.cts +23 -22
  159. package/dist/testing/web/index.d.ts +23 -22
  160. package/dist/testing/web/index.js +4 -1
  161. package/dist/texting/index.cjs +158 -0
  162. package/dist/texting/index.d.cts +36 -0
  163. package/dist/texting/index.d.ts +36 -0
  164. package/dist/texting/index.js +158 -0
  165. package/dist/threadOptions.d-B1pTMmDF.d.cts +260 -0
  166. package/dist/threadOptions.d-B1pTMmDF.d.ts +260 -0
  167. package/dist/{timelineRows-CGOlC_Q9.d.ts → timelineRows.d-BNxgzYRW.d.cts} +1 -1
  168. package/dist/{timelineRows-Beun96e2.d.cts → timelineRows.d-CU5GvvLk.d.ts} +1 -1
  169. package/dist/{tokens-DLj8OnLH.d.cts → tokens.d-DarDaV39.d.cts} +10 -2
  170. package/dist/{tokens-DLj8OnLH.d.ts → tokens.d-DarDaV39.d.ts} +10 -2
  171. package/dist/{typeStyle-BxVyF71R.d.ts → typeStyle.d-Bl8pzbBy.d.cts} +2 -2
  172. package/dist/{typeStyle-DJedEu14.d.cts → typeStyle.d-C1HBRAI3.d.ts} +2 -2
  173. package/dist/{uploadTransport-C6kGP1Kd.d.ts → uploadTransport.d-CWL7CdWP.d.cts} +1 -1
  174. package/dist/{uploadTransport-BM_pnEWj.d.cts → uploadTransport.d-EGoUl7gX.d.ts} +1 -1
  175. package/dist/usePresentation.d-D6qsFzBz.d.cts +9 -0
  176. package/dist/usePresentation.d-DuGQe_Do.d.ts +9 -0
  177. package/dist/useRecords.d-Cb-36SF5.d.cts +121 -0
  178. package/dist/useRecords.d-aQTzQZoV.d.ts +121 -0
  179. package/dist/{useRecordsDepth-hR94debv.d.ts → useRecordsDepth.d-DFcCfiXm.d.ts} +8 -20
  180. package/dist/{useRecordsDepth-DRrJntjt.d.cts → useRecordsDepth.d-sAq2Qkhr.d.cts} +8 -20
  181. package/dist/{useVetVisit-DmWa7lt1.d.ts → useVetVisit.d-BtdwhmgD.d.cts} +15 -4
  182. package/dist/{useVetVisit-PtBjNwZr.d.cts → useVetVisit.d-DoYQimyt.d.ts} +15 -4
  183. package/dist/video/index.cjs +5 -2
  184. package/dist/video/index.d.cts +7 -7
  185. package/dist/video/index.d.ts +7 -7
  186. package/dist/video/index.js +5 -2
  187. package/dist/{view-C_B5U04g.d.ts → view.d-C-SNpDJX.d.ts} +10 -122
  188. package/dist/{view-VvLEdXP4.d.cts → view.d-Dps5C8-s.d.cts} +10 -122
  189. package/dist/web/consent/index.cjs +4 -1
  190. package/dist/web/consent/index.d.cts +10 -10
  191. package/dist/web/consent/index.d.ts +10 -10
  192. package/dist/web/consent/index.js +4 -1
  193. package/dist/web/health-plan/index.cjs +414 -0
  194. package/dist/web/health-plan/index.d.cts +335 -0
  195. package/dist/web/health-plan/index.d.ts +335 -0
  196. package/dist/web/health-plan/index.js +414 -0
  197. package/dist/web/index.cjs +149 -82
  198. package/dist/web/index.d.cts +152 -38
  199. package/dist/web/index.d.ts +152 -38
  200. package/dist/web/index.js +149 -82
  201. package/dist/web/notifications/index.cjs +15 -3
  202. package/dist/web/notifications/index.d.cts +39 -209
  203. package/dist/web/notifications/index.d.ts +39 -209
  204. package/dist/web/notifications/index.js +15 -3
  205. package/dist/web/records/depth/index.cjs +10 -7
  206. package/dist/web/records/depth/index.d.cts +14 -12
  207. package/dist/web/records/depth/index.d.ts +14 -12
  208. package/dist/web/records/depth/index.js +10 -7
  209. package/dist/web/records/index.cjs +94 -68
  210. package/dist/web/records/index.d.cts +66 -21
  211. package/dist/web/records/index.d.ts +66 -21
  212. package/dist/web/records/index.js +94 -68
  213. package/dist/web/records/upload/index.d.cts +2 -2
  214. package/dist/web/records/upload/index.d.ts +2 -2
  215. package/dist/web/records-sheet/index.cjs +278 -0
  216. package/dist/web/records-sheet/index.d.cts +102 -0
  217. package/dist/web/records-sheet/index.d.ts +102 -0
  218. package/dist/web/records-sheet/index.js +278 -0
  219. package/dist/web/shop/index.cjs +301 -0
  220. package/dist/web/shop/index.d.cts +42 -0
  221. package/dist/web/shop/index.d.ts +42 -0
  222. package/dist/web/shop/index.js +301 -0
  223. package/dist/web/televet/booking/index.cjs +15 -12
  224. package/dist/web/televet/booking/index.d.cts +37 -23
  225. package/dist/web/televet/booking/index.d.ts +37 -23
  226. package/dist/web/televet/booking/index.js +15 -12
  227. package/dist/web/televet/call/index.d.cts +4 -4
  228. package/dist/web/televet/call/index.d.ts +4 -4
  229. package/dist/web/televet/index.cjs +6 -3
  230. package/dist/web/televet/index.d.cts +12 -12
  231. package/dist/web/televet/index.d.ts +12 -12
  232. package/dist/web/televet/index.js +6 -3
  233. package/dist/web/texting/index.cjs +157 -0
  234. package/dist/web/texting/index.d.cts +36 -0
  235. package/dist/web/texting/index.d.ts +36 -0
  236. package/dist/web/texting/index.js +157 -0
  237. package/health-plan/package.json +8 -0
  238. package/package.json +106 -4
  239. package/shop/package.json +8 -0
  240. package/texting/package.json +8 -0
  241. package/web/health-plan/native-blocked.cjs +12 -0
  242. package/web/health-plan/package.json +8 -0
  243. package/web/records-sheet/native-blocked.cjs +12 -0
  244. package/web/records-sheet/package.json +8 -0
  245. package/web/shop/native-blocked.cjs +12 -0
  246. package/web/shop/package.json +8 -0
  247. package/web/texting/native-blocked.cjs +12 -0
  248. package/web/texting/package.json +8 -0
  249. /package/dist/{CameraPort-Cv31Pz7g.d.cts → CameraPort.d-Cv31Pz7g.d.cts} +0 -0
  250. /package/dist/{CameraPort-Cv31Pz7g.d.ts → CameraPort.d-Cv31Pz7g.d.ts} +0 -0
  251. /package/dist/{TelemetryPort-BDNr00hu.d.cts → TelemetryPort.d-BDNr00hu.d.cts} +0 -0
  252. /package/dist/{TelemetryPort-BDNr00hu.d.ts → TelemetryPort.d-BDNr00hu.d.ts} +0 -0
  253. /package/dist/{cacheEpoch-DknKn3S0.d.cts → cacheEpoch.d-DknKn3S0.d.cts} +0 -0
  254. /package/dist/{cacheEpoch-DknKn3S0.d.ts → cacheEpoch.d-DknKn3S0.d.ts} +0 -0
  255. /package/dist/{callCopy-Bw6oZT54.d.cts → callCopy.d-Bw6oZT54.d.cts} +0 -0
  256. /package/dist/{callCopy-Bw6oZT54.d.ts → callCopy.d-Bw6oZT54.d.ts} +0 -0
  257. /package/dist/{ids-B2GAAifq.d.cts → ids.d-B2GAAifq.d.cts} +0 -0
  258. /package/dist/{ids-B2GAAifq.d.ts → ids.d-B2GAAifq.d.ts} +0 -0
  259. /package/dist/{optionalModule-DbJmsq5f.d.cts → optionalModule.d-DbJmsq5f.d.cts} +0 -0
  260. /package/dist/{optionalModule-DbJmsq5f.d.ts → optionalModule.d-DbJmsq5f.d.ts} +0 -0
  261. /package/dist/{profile-CSs1wlXT.d.cts → profile.d-CSs1wlXT.d.cts} +0 -0
  262. /package/dist/{profile-CSs1wlXT.d.ts → profile.d-CSs1wlXT.d.ts} +0 -0
  263. /package/dist/{projection-CeIUsbSk.d.cts → projection.d-CeIUsbSk.d.cts} +0 -0
  264. /package/dist/{projection-CeIUsbSk.d.ts → projection.d-CeIUsbSk.d.ts} +0 -0
  265. /package/dist/{species-BXAIMh7I.d.cts → species.d-BXAIMh7I.d.cts} +0 -0
  266. /package/dist/{species-BXAIMh7I.d.ts → species.d-BXAIMh7I.d.ts} +0 -0
  267. /package/dist/{visitIntent-D7_yVp1I.d.cts → visitIntent.d-D7_yVp1I.d.cts} +0 -0
  268. /package/dist/{visitIntent-D7_yVp1I.d.ts → visitIntent.d-D7_yVp1I.d.ts} +0 -0
@@ -1,38 +1,62 @@
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-Cwks0p3C.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-Cwks0p3C.cjs';
4
+ import { a as CapabilityName, C as CapabilityDecision } from '../resolve.d-jI8FmBj3.cjs';
5
+ export { b as CapabilityDisabled, D as DisabledLevel } from '../resolve.d-jI8FmBj3.cjs';
6
+ import { U as UrgencyDisplayLevel, E as EverfurChatDraftStore, c as EverfurStarterPrompt } from '../attachments.d-Bp2qbHxn.cjs';
7
+ export { C as ChatFeedbackReason, a as ChatFeedbackReasonOption, b as ChatSentiment, d as UseChatAttachmentsOptions, e as UseChatAttachmentsState, f as UseEverfurChatState, g as UseEverfurPetsState, u as useChatAttachments, h as useEverfurChat, i as useEverfurPets } from '../attachments.d-Bp2qbHxn.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-CEROoqnA.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-CEROoqnA.cjs';
12
+ import { i as EverfurPresentationInput } from '../presentation.d-DMbdad7G.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-DMbdad7G.cjs';
14
+ import { P as PetProfileInput } from '../petsRepository.d-lp1BHRqM.cjs';
15
+ export { a as PetProfilePatch, R as RegisteredPet, W as WidgetPet, b as WidgetPetProfile } from '../petsRepository.d-lp1BHRqM.cjs';
16
+ import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.cjs';
17
+ import { a as EverfurChatEmptyHeaderContext, b as EverfurChatEmptyState, c as EverfurChatHistoryBar, d as EverfurChatOpeningCard, e as EverfurChatAnswerCards, E as EverfurChatTopCard, f as EverfurChatHistorySheet } from '../threadOptions.d-B1pTMmDF.cjs';
18
+ export { g as EverfurChatAnswerCard, h as EverfurChatAnswerContext, i as EverfurChatFollowUpAction } from '../threadOptions.d-B1pTMmDF.cjs';
19
+ 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-BR3DT9ho.cjs';
20
+ export { C as CheckinAnswer, a as CheckinOutcome, W as WatchCase } from '../casesRepository.d-CT2LTicS.cjs';
21
+ export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode, c as categoryFor, i as isRetryableCode, u as userFacingError } from '../EverfurError.d-8NHtlgzA.cjs';
22
+ export { A as AttachmentError, a as AttachmentErrorCode, b as AttachmentOutcome, c as AttachmentQueue, d as AttachmentState, e as AttachmentStatus } from '../attachments.d-DisnvB9R.cjs';
23
+ import { U as UploadTransport, F as FileHandle } from '../ports.d-BX4f4UsB.cjs';
24
+ export { b as FilePort, a as UploadPolicyWire } from '../ports.d-BX4f4UsB.cjs';
25
+ export { u as useEverfurPresentation } from '../usePresentation.d-D6qsFzBz.cjs';
26
+ import { K as KvPort } from '../cacheEpoch.d-DknKn3S0.cjs';
27
+ export { I as ImageCachePort } from '../cacheEpoch.d-DknKn3S0.cjs';
28
+ 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-D6N_fhxx.cjs';
29
+ export { T as TelemetryPort } from '../TelemetryPort.d-BDNr00hu.cjs';
30
+ export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-DirW9hgO.cjs';
31
+ export { C as CameraPort, a as CaptureOptions, M as MediaSource } from '../CameraPort.d-Cv31Pz7g.cjs';
32
+ 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';
33
+ export { M as MintedToken, T as TokenProvider } from '../identity.d-60LeJt_s.cjs';
34
+ export { E as EverfurFaceStyle, a as EverfurThemeAdjustment, f as face, h as headingFace, p as previewTheme, t as themeAdjustments } from '../typeStyle.d-Bl8pzbBy.cjs';
35
+ import { E as EverfurThemeInput } from '../branding.d-DI8S400y.cjs';
36
+ 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-DI8S400y.cjs';
37
+ import { d as EverfurFontWeight, m as EverfurTheme, a as EverfurFontFaceKey } from '../tokens.d-DarDaV39.cjs';
38
+ 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';
39
+ 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';
40
+ export { C as CanonicalPetSpecies, c as canonicalPetSpecies } from '../species.d-BXAIMh7I.cjs';
41
+ import '../requestFunnel.d-DWQQpjFR.cjs';
42
+
43
+ /**
44
+ * A host's rule for the follow-ups under a reply (`EverfurChat`'s `followUpPolicy`, opt-in). Without one the
45
+ * surface draws `visibleFollowUps` exactly as before.
46
+ */
47
+ interface ChatFollowUpPolicy {
48
+ /** How many to draw, 1 to 5. With `fill` the surface draws exactly this many whenever it can. Default 3. */
49
+ readonly count?: number;
50
+ /** Drop a backend prompt this matches (a visit or booking follow-up a host does not offer). */
51
+ readonly exclude?: RegExp | ((prompt: string) => boolean);
52
+ /**
53
+ * The host's own prompts that top the list up to `count` after the backend's (in order, de-duplicated, the
54
+ * `exclude` rule applied too). A function receives the member's last question, so the top-ups can follow it.
55
+ */
56
+ readonly fill?: readonly string[] | ((lastQuestion: string | null) => readonly string[]);
57
+ /** A visible label over the follow-ups ("Follow-up questions"). Absent, the list keeps only its accessible name. */
58
+ readonly label?: string;
59
+ }
36
60
 
37
61
  /**
38
62
  * Wrap the tree ONCE, high. Mounting constructs the runtime (transport, identity, registry,
@@ -130,6 +154,12 @@ interface EverfurChatProps {
130
154
  * conversation. Pass `composerSeed` instead when the user should decide whether to send it.
131
155
  */
132
156
  readonly initialAsk?: string;
157
+ /**
158
+ * The identity of this `initialAsk`, when the same words can be asked again: your own id for each tap of an
159
+ * "Ask Everfur" pill or each push opened. A new key asks again even with the same words. Absent, the
160
+ * question's own words are the key, so the same question twice in a row is asked once.
161
+ */
162
+ readonly initialAskKey?: string | number;
133
163
  /**
134
164
  * Text to put in the composer on arrival. It is never sent for the user: they edit it, send it or clear
135
165
  * it. Only an empty composer is seeded, so nothing they typed is ever replaced.
@@ -139,10 +169,12 @@ interface EverfurChatProps {
139
169
  * Your app's lifecycle signals. Everfur has no socket and no polling here, so a message the platform
140
170
  * writes into the thread (a follow-up check-in, a reminder) is not visible until something re-reads it.
141
171
  * 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.
172
+ * change, and the thread and the unread dot catch up on that signal alone. Absent, Everfur uses the browser's
173
+ * own signals (the page becoming visible again, the window `online` event, `navigator.onLine`; see
174
+ * `createBrowserLifecycle`). Pass your own port to add a push announcement, or `null` to turn the re-read off,
175
+ * in which case chat refreshes only when the user does something.
144
176
  */
145
- readonly lifecycle?: LifecyclePort;
177
+ readonly lifecycle?: LifecyclePort | null;
146
178
  /**
147
179
  * Your own storage for an unsent draft. Given, what the user typed and did not send survives leaving this
148
180
  * screen; absent, the draft lives in memory for as long as the surface is mounted and nowhere else.
@@ -180,6 +212,71 @@ interface EverfurChatProps {
180
212
  * 1 to 6. Default 2: a drop-in widget does not claim your page's `<h1>`. Pass 1 when chat IS the page.
181
213
  */
182
214
  readonly headingLevel?: number;
215
+ /**
216
+ * Whether the surface draws its own header bar (the history control, your logo, the pet and its switcher, a new
217
+ * chat and the vet entry). Default `true`. Pass `false` when your own screen already has a header over chat: the
218
+ * thread, the urgency banner and the composer are unchanged, and on a wide box the history rail still shows.
219
+ * Without the header there is no control that opens the history drawer on a narrow box.
220
+ */
221
+ readonly header?: boolean;
222
+ /**
223
+ * Your own starter chips for the empty thread, in place of Everfur's four (the vet-prep chip included). Each chip
224
+ * shows its `label`, sends its `prompt` (the label when absent) as the member's next message, and is filled with
225
+ * its `tint` (any CSS colour) under its `ink`; without a `tint` it takes your theme's highlight. A chip with a blank
226
+ * label is dropped and at most 8 are drawn. Absent or empty, Everfur's own chips. The words are yours.
227
+ */
228
+ readonly starterPrompts?: readonly EverfurStarterPrompt[];
229
+ /**
230
+ * Your own content for the top of the empty thread, above its title and starter chips (for example a card of the
231
+ * pet's top findings). Rendered only while the thread is empty; if it throws, the empty state draws as usual.
232
+ * Absent, the empty state is Everfur's own. It receives `{ ask }`: a row of your card can ask its question in
233
+ * this thread directly, with no screen in between.
234
+ */
235
+ readonly renderEmptyHeader?: (context: EverfurChatEmptyHeaderContext) => ReactNode;
236
+ /**
237
+ * The empty thread's title and layout your way: your title words in place of Everfur's, and classes for the
238
+ * block, the title, the chip list and each chip (a class drops that element's inline layout). Absent, as before.
239
+ */
240
+ readonly emptyState?: EverfurChatEmptyState;
241
+ /**
242
+ * Your rule for the follow-ups under a reply: how many (exactly, with `fill`), which backend prompts to drop
243
+ * (`exclude`, for example visit or booking prompts you do not offer) and your own prompts to top up with.
244
+ * Absent, at most three of the backend's, as before.
245
+ */
246
+ readonly followUpPolicy?: ChatFollowUpPolicy;
247
+ /**
248
+ * A history bar over the thread ("Chats" with the thread count, and "New chat"), for a surface with
249
+ * `header={false}`. The words are yours. Absent, no bar.
250
+ */
251
+ readonly historyBar?: EverfurChatHistoryBar;
252
+ /**
253
+ * The card a notification-opened thread starts with: drawn in place of the first bubble while that bubble is
254
+ * `initialAsk`. Pair it with `initialAsk` (the notification's question). Absent, the bubble draws as usual.
255
+ */
256
+ readonly initialAskCard?: EverfurChatOpeningCard;
257
+ /**
258
+ * Opens the pet's Health Plan (your tab or screen), called with the pet. The focus card the chat draws from the pet's
259
+ * Health Plan page (when you pass no `topCard`) uses it for its "See her Health Plan" button; without it that card
260
+ * has no plan button. Also RESERVED for a Health Plan card in an answer, which the chat stream does not carry yet.
261
+ */
262
+ readonly onOpenHealthPlan?: (petRef: PetRef | null) => void;
263
+ /**
264
+ * The layout settings (PRESENTATION-CONTRACT): answer style, history style, top card, follow-ups, composer mic and
265
+ * upload, disclaimer placement. Each also comes from your console (render_hints.branding.presentation); a field you
266
+ * set here wins over the console unless the console locks it. Absent everywhere, the chat draws exactly as before.
267
+ * `dictation`, `attachments` and `followUpPolicy` count as your explicit values for their fields; `topCard`,
268
+ * `answerCards` and `historySheet` are content only and never switch a layout on by themselves.
269
+ */
270
+ readonly presentation?: EverfurPresentationInput;
271
+ /** The cards answer style's content and classes (used while `chatAnswerStyle` resolves to `cards`). */
272
+ readonly answerCards?: EverfurChatAnswerCards;
273
+ /**
274
+ * The top card of the empty thread's content (drawn while `chatTopCard` resolves to `focus`, the default). Absent,
275
+ * the chat reads the pet's Health Plan page and draws its focus when there is one; yours always wins.
276
+ */
277
+ readonly topCard?: EverfurChatTopCard;
278
+ /** The history bottom sheet's words and classes (used while `chatHistoryStyle` resolves to `sheet`). */
279
+ readonly historySheet?: EverfurChatHistorySheet;
183
280
  }
184
281
  /**
185
282
  * Entitlement-gated, four-state chat surface. Entitlement-OFF renders the CapabilityGate OffState; otherwise
@@ -188,6 +285,23 @@ interface EverfurChatProps {
188
285
  */
189
286
  declare function EverfurChat(props: EverfurChatProps): ReactNode;
190
287
 
288
+ /** True while the host shows Everfur's attribution itself (an `EverfurPoweredBy` is mounted). */
289
+ declare function useHostPoweredBy(): boolean;
290
+ interface EverfurPoweredByProps {
291
+ /** Your lockup (for example a mark, "powered by" and the everfur wordmark). Absent, Everfur's own words. */
292
+ readonly children?: ReactNode;
293
+ readonly className?: string;
294
+ readonly style?: CSSProperties;
295
+ }
296
+ /** Everfur's attribution where your design puts it; the chat then leaves out its own line. */
297
+ declare function EverfurPoweredBy({ children, className, style }: EverfurPoweredByProps): ReactNode;
298
+
299
+ /**
300
+ * The browser's lifecycle signals for EverfurChat: `visibilitychange` from hidden to visible is the foreground
301
+ * edge, the window `online` event is connectivity returning, and `navigator.onLine === false` reads as offline.
302
+ */
303
+ declare function createBrowserLifecycle(): LifecyclePort;
304
+
191
305
  interface WebAttachmentTransportOptions {
192
306
  /** Test seam: the `fetch` to use. Defaults to the global one. A host has no reason to set it. */
193
307
  readonly fetch?: typeof fetch;
@@ -246,4 +360,4 @@ declare function headingFaceCss(theme: EverfurTheme, fallback?: EverfurFontFaceK
246
360
  */
247
361
  declare function createLocalStorageKv(): KvPort;
248
362
 
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 };
363
+ 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, EverfurStarterPrompt, EverfurTheme, EverfurThemeInput, EverfurThemeProvider, type EverfurThemeProviderProps, FileHandle, KvPort, LifecyclePort, PetProfileInput, PetRef, UploadTransport, UrgencyDisplayLevel, type WebAttachmentTransportOptions, createBrowserLifecycle, createLocalStorageKv, createWebAttachmentTransport, faceCss, fileToAttachmentHandle, headingFaceCss, useHostPoweredBy };
@@ -1,38 +1,62 @@
1
1
  import { ReactNode, CSSProperties } from 'react';
2
- import { E as EverfurProviderProps } from '../context-BUIrC20Z.js';
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-BUIrC20Z.js';
4
- import { C as CapabilityName, a as CapabilityDecision } from '../resolve-D4Ywz5OS.js';
5
- export { b as CapabilityDisabled, D as DisabledLevel } from '../resolve-D4Ywz5OS.js';
6
- import { U as UrgencyDisplayLevel, L as LifecyclePort, E as EverfurChatDraftStore } from '../attachments-DkMrKCIU.js';
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-DkMrKCIU.js';
8
- import { P as PetRef, C as ConversationId } from '../ids-B2GAAifq.js';
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.js';
10
- import { a as ChatCheckinTarget } from '../ports-CVi3n0re.js';
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-CVi3n0re.js';
12
- import { P as PetProfileInput } from '../petsRepository-CoRa3C_U.js';
13
- export { a as PetProfilePatch, R as RegisteredPet, W as WidgetPet, b as WidgetPetProfile } from '../petsRepository-CoRa3C_U.js';
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-C5iPNKDj.js';
15
- export { C as CheckinAnswer, a as CheckinOutcome, W as WatchCase } from '../casesRepository-iAi5qWnx.js';
16
- export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode, c as categoryFor, i as isRetryableCode, u as userFacingError } from '../EverfurError-DeBqRpQV.js';
17
- export { A as AttachmentError, a as AttachmentErrorCode, b as AttachmentOutcome, c as AttachmentQueue, d as AttachmentState, e as AttachmentStatus } from '../attachments-CTJK0jQ4.js';
18
- import { U as UploadTransport, F as FileHandle } from '../ports-BN6RHF9W.js';
19
- export { b as FilePort, a as UploadPolicyWire } from '../ports-BN6RHF9W.js';
20
- import { K as KvPort } from '../cacheEpoch-DknKn3S0.js';
21
- export { I as ImageCachePort } from '../cacheEpoch-DknKn3S0.js';
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-Doa_xxSa.js';
23
- export { T as TelemetryPort } from '../TelemetryPort-BDNr00hu.js';
24
- export { E as ErrorPolicyPort } from '../ErrorPolicyPort-C3nNSS_j.js';
25
- export { C as CameraPort, a as CaptureOptions, M as MediaSource } from '../CameraPort-Cv31Pz7g.js';
26
- export { a as EverfurConfigError, E as EverfurResult, b as EverfurThrownError, i as isErr, c as isOk, u as unwrap } from '../EverfurResult-ClPTS0P2.js';
27
- export { M as MintedToken, T as TokenProvider } from '../identity-BqeaN8An.js';
28
- export { E as EverfurFaceStyle, a as EverfurThemeAdjustment, f as face, h as headingFace, p as previewTheme, t as themeAdjustments } from '../typeStyle-BxVyF71R.js';
29
- import { E as EverfurThemeInput } from '../branding-DJf4h12Q.js';
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-DJf4h12Q.js';
31
- import { d as EverfurFontWeight, m as EverfurTheme, a as EverfurFontFaceKey } from '../tokens-DLj8OnLH.js';
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.js';
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.js';
34
- export { C as CanonicalPetSpecies, c as canonicalPetSpecies } from '../species-BXAIMh7I.js';
35
- import '../requestFunnel-BYzlyaC0.js';
2
+ import { E as EverfurProviderProps } from '../context.d-QcCgguzA.js';
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-QcCgguzA.js';
4
+ import { a as CapabilityName, C as CapabilityDecision } from '../resolve.d-jI8FmBj3.js';
5
+ export { b as CapabilityDisabled, D as DisabledLevel } from '../resolve.d-jI8FmBj3.js';
6
+ import { U as UrgencyDisplayLevel, E as EverfurChatDraftStore, c as EverfurStarterPrompt } from '../attachments.d-Djy9z_0Z.js';
7
+ export { C as ChatFeedbackReason, a as ChatFeedbackReasonOption, b as ChatSentiment, d as UseChatAttachmentsOptions, e as UseChatAttachmentsState, f as UseEverfurChatState, g as UseEverfurPetsState, u as useChatAttachments, h as useEverfurChat, i as useEverfurPets } from '../attachments.d-Djy9z_0Z.js';
8
+ import { P as PetRef, C as ConversationId } from '../ids.d-B2GAAifq.js';
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.js';
10
+ import { a as ChatCheckinTarget } from '../ports.d-COIyN624.js';
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-COIyN624.js';
12
+ import { i as EverfurPresentationInput } from '../presentation.d-DMbdad7G.js';
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-DMbdad7G.js';
14
+ import { P as PetProfileInput } from '../petsRepository.d-BuGHymNx.js';
15
+ export { a as PetProfilePatch, R as RegisteredPet, W as WidgetPet, b as WidgetPetProfile } from '../petsRepository.d-BuGHymNx.js';
16
+ import { L as LifecyclePort } from '../LifecyclePort.d-Cr1p33a7.js';
17
+ import { a as EverfurChatEmptyHeaderContext, b as EverfurChatEmptyState, c as EverfurChatHistoryBar, d as EverfurChatOpeningCard, e as EverfurChatAnswerCards, E as EverfurChatTopCard, f as EverfurChatHistorySheet } from '../threadOptions.d-B1pTMmDF.js';
18
+ export { g as EverfurChatAnswerCard, h as EverfurChatAnswerContext, i as EverfurChatFollowUpAction } from '../threadOptions.d-B1pTMmDF.js';
19
+ 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-Dy6igYlH.js';
20
+ export { C as CheckinAnswer, a as CheckinOutcome, W as WatchCase } from '../casesRepository.d-UsWOz9bv.js';
21
+ export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode, c as categoryFor, i as isRetryableCode, u as userFacingError } from '../EverfurError.d-8NHtlgzA.js';
22
+ export { A as AttachmentError, a as AttachmentErrorCode, b as AttachmentOutcome, c as AttachmentQueue, d as AttachmentState, e as AttachmentStatus } from '../attachments.d-D1yhJjcZ.js';
23
+ import { U as UploadTransport, F as FileHandle } from '../ports.d-BX4f4UsB.js';
24
+ export { b as FilePort, a as UploadPolicyWire } from '../ports.d-BX4f4UsB.js';
25
+ export { u as useEverfurPresentation } from '../usePresentation.d-DuGQe_Do.js';
26
+ import { K as KvPort } from '../cacheEpoch.d-DknKn3S0.js';
27
+ export { I as ImageCachePort } from '../cacheEpoch.d-DknKn3S0.js';
28
+ 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-4yFNNuYR.js';
29
+ export { T as TelemetryPort } from '../TelemetryPort.d-BDNr00hu.js';
30
+ export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-68yrE3BE.js';
31
+ export { C as CameraPort, a as CaptureOptions, M as MediaSource } from '../CameraPort.d-Cv31Pz7g.js';
32
+ export { a as EverfurConfigError, E as EverfurResult, b as EverfurThrownError, i as isErr, c as isOk, u as unwrap } from '../EverfurResult.d-D_-254ZY.js';
33
+ export { M as MintedToken, T as TokenProvider } from '../identity.d-DzTijonw.js';
34
+ export { E as EverfurFaceStyle, a as EverfurThemeAdjustment, f as face, h as headingFace, p as previewTheme, t as themeAdjustments } from '../typeStyle.d-C1HBRAI3.js';
35
+ import { E as EverfurThemeInput } from '../branding.d-OIGLbQeM.js';
36
+ 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-OIGLbQeM.js';
37
+ import { d as EverfurFontWeight, m as EverfurTheme, a as EverfurFontFaceKey } from '../tokens.d-DarDaV39.js';
38
+ 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.js';
39
+ 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.js';
40
+ export { C as CanonicalPetSpecies, c as canonicalPetSpecies } from '../species.d-BXAIMh7I.js';
41
+ import '../requestFunnel.d-CXUMPw1K.js';
42
+
43
+ /**
44
+ * A host's rule for the follow-ups under a reply (`EverfurChat`'s `followUpPolicy`, opt-in). Without one the
45
+ * surface draws `visibleFollowUps` exactly as before.
46
+ */
47
+ interface ChatFollowUpPolicy {
48
+ /** How many to draw, 1 to 5. With `fill` the surface draws exactly this many whenever it can. Default 3. */
49
+ readonly count?: number;
50
+ /** Drop a backend prompt this matches (a visit or booking follow-up a host does not offer). */
51
+ readonly exclude?: RegExp | ((prompt: string) => boolean);
52
+ /**
53
+ * The host's own prompts that top the list up to `count` after the backend's (in order, de-duplicated, the
54
+ * `exclude` rule applied too). A function receives the member's last question, so the top-ups can follow it.
55
+ */
56
+ readonly fill?: readonly string[] | ((lastQuestion: string | null) => readonly string[]);
57
+ /** A visible label over the follow-ups ("Follow-up questions"). Absent, the list keeps only its accessible name. */
58
+ readonly label?: string;
59
+ }
36
60
 
37
61
  /**
38
62
  * Wrap the tree ONCE, high. Mounting constructs the runtime (transport, identity, registry,
@@ -130,6 +154,12 @@ interface EverfurChatProps {
130
154
  * conversation. Pass `composerSeed` instead when the user should decide whether to send it.
131
155
  */
132
156
  readonly initialAsk?: string;
157
+ /**
158
+ * The identity of this `initialAsk`, when the same words can be asked again: your own id for each tap of an
159
+ * "Ask Everfur" pill or each push opened. A new key asks again even with the same words. Absent, the
160
+ * question's own words are the key, so the same question twice in a row is asked once.
161
+ */
162
+ readonly initialAskKey?: string | number;
133
163
  /**
134
164
  * Text to put in the composer on arrival. It is never sent for the user: they edit it, send it or clear
135
165
  * it. Only an empty composer is seeded, so nothing they typed is ever replaced.
@@ -139,10 +169,12 @@ interface EverfurChatProps {
139
169
  * Your app's lifecycle signals. Everfur has no socket and no polling here, so a message the platform
140
170
  * writes into the thread (a follow-up check-in, a reminder) is not visible until something re-reads it.
141
171
  * 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.
172
+ * change, and the thread and the unread dot catch up on that signal alone. Absent, Everfur uses the browser's
173
+ * own signals (the page becoming visible again, the window `online` event, `navigator.onLine`; see
174
+ * `createBrowserLifecycle`). Pass your own port to add a push announcement, or `null` to turn the re-read off,
175
+ * in which case chat refreshes only when the user does something.
144
176
  */
145
- readonly lifecycle?: LifecyclePort;
177
+ readonly lifecycle?: LifecyclePort | null;
146
178
  /**
147
179
  * Your own storage for an unsent draft. Given, what the user typed and did not send survives leaving this
148
180
  * screen; absent, the draft lives in memory for as long as the surface is mounted and nowhere else.
@@ -180,6 +212,71 @@ interface EverfurChatProps {
180
212
  * 1 to 6. Default 2: a drop-in widget does not claim your page's `<h1>`. Pass 1 when chat IS the page.
181
213
  */
182
214
  readonly headingLevel?: number;
215
+ /**
216
+ * Whether the surface draws its own header bar (the history control, your logo, the pet and its switcher, a new
217
+ * chat and the vet entry). Default `true`. Pass `false` when your own screen already has a header over chat: the
218
+ * thread, the urgency banner and the composer are unchanged, and on a wide box the history rail still shows.
219
+ * Without the header there is no control that opens the history drawer on a narrow box.
220
+ */
221
+ readonly header?: boolean;
222
+ /**
223
+ * Your own starter chips for the empty thread, in place of Everfur's four (the vet-prep chip included). Each chip
224
+ * shows its `label`, sends its `prompt` (the label when absent) as the member's next message, and is filled with
225
+ * its `tint` (any CSS colour) under its `ink`; without a `tint` it takes your theme's highlight. A chip with a blank
226
+ * label is dropped and at most 8 are drawn. Absent or empty, Everfur's own chips. The words are yours.
227
+ */
228
+ readonly starterPrompts?: readonly EverfurStarterPrompt[];
229
+ /**
230
+ * Your own content for the top of the empty thread, above its title and starter chips (for example a card of the
231
+ * pet's top findings). Rendered only while the thread is empty; if it throws, the empty state draws as usual.
232
+ * Absent, the empty state is Everfur's own. It receives `{ ask }`: a row of your card can ask its question in
233
+ * this thread directly, with no screen in between.
234
+ */
235
+ readonly renderEmptyHeader?: (context: EverfurChatEmptyHeaderContext) => ReactNode;
236
+ /**
237
+ * The empty thread's title and layout your way: your title words in place of Everfur's, and classes for the
238
+ * block, the title, the chip list and each chip (a class drops that element's inline layout). Absent, as before.
239
+ */
240
+ readonly emptyState?: EverfurChatEmptyState;
241
+ /**
242
+ * Your rule for the follow-ups under a reply: how many (exactly, with `fill`), which backend prompts to drop
243
+ * (`exclude`, for example visit or booking prompts you do not offer) and your own prompts to top up with.
244
+ * Absent, at most three of the backend's, as before.
245
+ */
246
+ readonly followUpPolicy?: ChatFollowUpPolicy;
247
+ /**
248
+ * A history bar over the thread ("Chats" with the thread count, and "New chat"), for a surface with
249
+ * `header={false}`. The words are yours. Absent, no bar.
250
+ */
251
+ readonly historyBar?: EverfurChatHistoryBar;
252
+ /**
253
+ * The card a notification-opened thread starts with: drawn in place of the first bubble while that bubble is
254
+ * `initialAsk`. Pair it with `initialAsk` (the notification's question). Absent, the bubble draws as usual.
255
+ */
256
+ readonly initialAskCard?: EverfurChatOpeningCard;
257
+ /**
258
+ * Opens the pet's Health Plan (your tab or screen), called with the pet. The focus card the chat draws from the pet's
259
+ * Health Plan page (when you pass no `topCard`) uses it for its "See her Health Plan" button; without it that card
260
+ * has no plan button. Also RESERVED for a Health Plan card in an answer, which the chat stream does not carry yet.
261
+ */
262
+ readonly onOpenHealthPlan?: (petRef: PetRef | null) => void;
263
+ /**
264
+ * The layout settings (PRESENTATION-CONTRACT): answer style, history style, top card, follow-ups, composer mic and
265
+ * upload, disclaimer placement. Each also comes from your console (render_hints.branding.presentation); a field you
266
+ * set here wins over the console unless the console locks it. Absent everywhere, the chat draws exactly as before.
267
+ * `dictation`, `attachments` and `followUpPolicy` count as your explicit values for their fields; `topCard`,
268
+ * `answerCards` and `historySheet` are content only and never switch a layout on by themselves.
269
+ */
270
+ readonly presentation?: EverfurPresentationInput;
271
+ /** The cards answer style's content and classes (used while `chatAnswerStyle` resolves to `cards`). */
272
+ readonly answerCards?: EverfurChatAnswerCards;
273
+ /**
274
+ * The top card of the empty thread's content (drawn while `chatTopCard` resolves to `focus`, the default). Absent,
275
+ * the chat reads the pet's Health Plan page and draws its focus when there is one; yours always wins.
276
+ */
277
+ readonly topCard?: EverfurChatTopCard;
278
+ /** The history bottom sheet's words and classes (used while `chatHistoryStyle` resolves to `sheet`). */
279
+ readonly historySheet?: EverfurChatHistorySheet;
183
280
  }
184
281
  /**
185
282
  * Entitlement-gated, four-state chat surface. Entitlement-OFF renders the CapabilityGate OffState; otherwise
@@ -188,6 +285,23 @@ interface EverfurChatProps {
188
285
  */
189
286
  declare function EverfurChat(props: EverfurChatProps): ReactNode;
190
287
 
288
+ /** True while the host shows Everfur's attribution itself (an `EverfurPoweredBy` is mounted). */
289
+ declare function useHostPoweredBy(): boolean;
290
+ interface EverfurPoweredByProps {
291
+ /** Your lockup (for example a mark, "powered by" and the everfur wordmark). Absent, Everfur's own words. */
292
+ readonly children?: ReactNode;
293
+ readonly className?: string;
294
+ readonly style?: CSSProperties;
295
+ }
296
+ /** Everfur's attribution where your design puts it; the chat then leaves out its own line. */
297
+ declare function EverfurPoweredBy({ children, className, style }: EverfurPoweredByProps): ReactNode;
298
+
299
+ /**
300
+ * The browser's lifecycle signals for EverfurChat: `visibilitychange` from hidden to visible is the foreground
301
+ * edge, the window `online` event is connectivity returning, and `navigator.onLine === false` reads as offline.
302
+ */
303
+ declare function createBrowserLifecycle(): LifecyclePort;
304
+
191
305
  interface WebAttachmentTransportOptions {
192
306
  /** Test seam: the `fetch` to use. Defaults to the global one. A host has no reason to set it. */
193
307
  readonly fetch?: typeof fetch;
@@ -246,4 +360,4 @@ declare function headingFaceCss(theme: EverfurTheme, fallback?: EverfurFontFaceK
246
360
  */
247
361
  declare function createLocalStorageKv(): KvPort;
248
362
 
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 };
363
+ 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, EverfurStarterPrompt, EverfurTheme, EverfurThemeInput, EverfurThemeProvider, type EverfurThemeProviderProps, FileHandle, KvPort, LifecyclePort, PetProfileInput, PetRef, UploadTransport, UrgencyDisplayLevel, type WebAttachmentTransportOptions, createBrowserLifecycle, createLocalStorageKv, createWebAttachmentTransport, faceCss, fileToAttachmentHandle, headingFaceCss, useHostPoweredBy };