@everfur/sdk 0.12.0 → 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 +174 -0
  2. package/README.md +2 -1
  3. package/dist/{Chat-BOG0SXKV.d.cts → Chat.d-DUNTfzqC.d.ts} +170 -8
  4. package/dist/{Chat-CIolBgjJ.d.ts → Chat.d-Dts8u_1a.d.cts} +170 -8
  5. package/dist/{DepthViews-BR6VQ3Ta.d.cts → DepthViews.d-BIp599lz.d.cts} +1 -1
  6. package/dist/{DepthViews-280t3BcQ.d.ts → DepthViews.d-BMU2jFPw.d.cts} +1 -1
  7. package/dist/{DepthViews-DlBuFsgN.d.ts → DepthViews.d-Ce2Zhnrb.d.ts} +1 -1
  8. package/dist/{DepthViews-BTbF_DJY.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 +5 -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 +5 -1
  27. package/dist/{attachments-CGxvnYu4.d.ts → attachments.d-Bp2qbHxn.d.cts} +22 -26
  28. package/dist/{attachments-CWNj1ZkM.d.ts → attachments.d-D1yhJjcZ.d.ts} +4 -4
  29. package/dist/{attachments-waXcJWCp.d.cts → attachments.d-DisnvB9R.d.cts} +4 -4
  30. package/dist/{attachments-B6h4cJU-.d.cts → attachments.d-Djy9z_0Z.d.ts} +22 -26
  31. package/dist/{bookingCopy-CjPKeg75.d.ts → bookingCopy.d-BJF6gd1A.d.ts} +24 -9
  32. package/dist/{bookingCopy-8aEU6ZmR.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-CGdhvzTu.d.cts → casesRepository.d-CT2LTicS.d.cts} +3 -3
  38. package/dist/{casesRepository-ZG9Sg0e4.d.ts → casesRepository.d-UsWOz9bv.d.ts} +3 -3
  39. package/dist/chat/index.cjs +132 -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 +133 -58
  43. package/dist/client/index.cjs +15 -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 +15 -10
  47. package/dist/{config-B0p6Lygh.d.cts → config.d-BR3DT9ho.d.cts} +3 -3
  48. package/dist/{config-DmFAZJOx.d.ts → config.d-Dy6igYlH.d.ts} +3 -3
  49. package/dist/consent/index.cjs +5 -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 +5 -1
  53. package/dist/{context-BNreNLtL.d.ts → context.d-Cwks0p3C.d.cts} +15 -15
  54. package/dist/{context-BgS2a57J.d.cts → context.d-QcCgguzA.d.ts} +15 -15
  55. package/dist/{copy-DLJriGQS.d.ts → copy.d-CiMn2IIt.d.ts} +6 -6
  56. package/dist/{copy-lWp-Lkv5.d.cts → copy.d-DLJTyRfT.d.cts} +6 -6
  57. package/dist/core/index.cjs +17 -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 +17 -13
  61. package/dist/{depth-BYb3RXoA.d.cts → depth.d-CjPGVPDL.d.cts} +9 -115
  62. package/dist/{depth-COz-sSG5.d.ts → depth.d-OSALbYM7.d.ts} +9 -115
  63. package/dist/{entitlementRepository-D-Lse67w.d.cts → entitlementRepository.d-CVQa1DA1.d.cts} +10 -5
  64. package/dist/{entitlementRepository-CrTOP_-o.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-Cw07BKZp.d.ts → identity.d-60LeJt_s.d.cts} +3 -3
  76. package/dist/{identity-DFVGYn1o.d.cts → identity.d-DzTijonw.d.ts} +3 -3
  77. package/dist/index.cjs +141 -66
  78. package/dist/index.d.cts +31 -29
  79. package/dist/index.d.ts +31 -29
  80. package/dist/index.js +142 -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 +5 -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 +5 -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-BYALZTSu.d.ts → pets.d-C_53_fzo.d.ts} +3 -3
  92. package/dist/{pets-CcyPQS-H.d.cts → pets.d-NbJvP_kh.d.cts} +3 -3
  93. package/dist/{petsRepository-B_Q1gFkE.d.cts → petsRepository.d-BuGHymNx.d.ts} +4 -4
  94. package/dist/{petsRepository-518QkPxH.d.ts → petsRepository.d-lp1BHRqM.d.cts} +4 -4
  95. package/dist/photo/index.cjs +6 -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 +6 -2
  99. package/dist/{ports-BN6RHF9W.d.ts → ports.d-BX4f4UsB.d.cts} +14 -1
  100. package/dist/{ports-BN6RHF9W.d.cts → ports.d-BX4f4UsB.d.ts} +14 -1
  101. package/dist/{ports-RuNJmBA-.d.cts → ports.d-CEROoqnA.d.cts} +16 -10
  102. package/dist/{ports-DmQeMArX.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 +11 -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 +11 -7
  109. package/dist/records/index.cjs +225 -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 +225 -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-B9fdXMi5.d.ts → requestFunnel.d-CXUMPw1K.d.ts} +5 -5
  116. package/dist/{requestFunnel-BBjNNwc9.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-CstDBX8w.d.cts → runtimeTypes.d-4yFNNuYR.d.ts} +20 -13
  120. package/dist/{runtimeTypes-N_K4BVZB.d.ts → runtimeTypes.d-D6N_fhxx.d.cts} +20 -13
  121. package/dist/server/events/index.cjs +7 -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 +7 -3
  125. package/dist/server/index.cjs +12 -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 +12 -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 +16 -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 +16 -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 +7 -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 +7 -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 +7 -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 +7 -3
  153. package/dist/testing/rn/index.cjs +5 -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 +5 -1
  157. package/dist/testing/web/index.cjs +5 -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 +5 -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-7yjHyh8i.d.ts → timelineRows.d-BNxgzYRW.d.cts} +1 -1
  168. package/dist/{timelineRows-WvnL-Lds.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-BM_pnEWj.d.cts → uploadTransport.d-CWL7CdWP.d.cts} +1 -1
  174. package/dist/{uploadTransport-C6kGP1Kd.d.ts → 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-Bp6L4M5P.d.ts → useRecordsDepth.d-DFcCfiXm.d.ts} +8 -20
  180. package/dist/{useRecordsDepth-DPdAK_81.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 +6 -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 +6 -2
  187. package/dist/{view-C6go2uUt.d.ts → view.d-C-SNpDJX.d.ts} +10 -122
  188. package/dist/{view-CiF_HVFQ.d.cts → view.d-Dps5C8-s.d.cts} +10 -122
  189. package/dist/web/consent/index.cjs +5 -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 +5 -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 +150 -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 +150 -82
  201. package/dist/web/notifications/index.cjs +16 -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 +16 -3
  205. package/dist/web/records/depth/index.cjs +11 -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 +11 -7
  209. package/dist/web/records/index.cjs +95 -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 +95 -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 +16 -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 +16 -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 +7 -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 +7 -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
@@ -22,6 +22,8 @@ return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fiel
22
22
  /* @__PURE__ */Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),
23
23
  /* @__PURE__ */Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),
24
24
  /* @__PURE__ */Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),
25
+ /* @__PURE__ */Object.freeze({wireCode:"catalog_empty_refused",envelope:"http_envelope",httpStatus:409,retryable:false}),
26
+ /* @__PURE__ */Object.freeze({wireCode:"catalog_shrink_refused",envelope:"http_envelope",httpStatus:409,retryable:false}),
25
27
  /* @__PURE__ */Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),
26
28
  /* @__PURE__ */Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),
27
29
  /* @__PURE__ */Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),
@@ -46,6 +48,7 @@ return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fiel
46
48
  /* @__PURE__ */Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),
47
49
  /* @__PURE__ */Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),
48
50
  /* @__PURE__ */Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),
51
+ /* @__PURE__ */Object.freeze({wireCode:"linked_account_read_only",envelope:"http_envelope",httpStatus:409,retryable:false}),
49
52
  /* @__PURE__ */Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),
50
53
  /* @__PURE__ */Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),
51
54
  /* @__PURE__ */Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),
@@ -82,13 +85,14 @@ return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fiel
82
85
  /* @__PURE__ */Object.freeze({wireCode:"unrestrictedKeyRequired",envelope:"http_envelope",httpStatus:403,retryable:false}),
83
86
  /* @__PURE__ */Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),
84
87
  /* @__PURE__ */Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),
88
+ /* @__PURE__ */Object.freeze({wireCode:"user_ref_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),
85
89
  /* @__PURE__ */Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),
86
90
  /* @__PURE__ */Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),
87
91
  /* @__PURE__ */Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),
88
92
  /* @__PURE__ */Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),
89
93
  /* @__PURE__ */Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),
90
94
  /* @__PURE__ */Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),
91
- /* @__PURE__ */Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(row=>row.wireCode));var NORMALIZED_FOLD=/* @__PURE__ */Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",session_revoked:"authExpired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",unrestrictedKeyRequired:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),CONTRACT_ERROR_ROWS=/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(generated=>/* @__PURE__ */Object.freeze({wireCode:generated.wireCode,envelope:generated.envelope,retryable:generated.retryable,normalized:NORMALIZED_FOLD[generated.wireCode]}))),BY_KEY=new Map(CONTRACT_ERROR_ROWS.map(r=>[r.envelope+r.wireCode.toUpperCase(),r])),ENVELOPE_LOOKUP_ORDER=/* @__PURE__ */Object.freeze(["http_envelope",...[...new Set(CONTRACT_ERROR_ROWS.map(r=>r.envelope))].filter(e=>e!=="http_envelope").sort()]);function contractErrorFor(wireCode,envelope){if(typeof wireCode!="string")return;let key=wireCode.trim().toUpperCase();if(key.length!==0)for(let candidate of[envelope??"http_envelope",...ENVELOPE_LOOKUP_ORDER]){let row=BY_KEY.get(candidate+key);if(row)return row}}var CATEGORY_OF=/* @__PURE__ */Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",identitySignatureRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",runtimeDisposed:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function categoryFor(code){return CATEGORY_OF[code]}function fromWire(wire){let contractRow=contractErrorFor(wire);if(contractRow)return contractRow.normalized;let upper=(wire??"").trim().toUpperCase(),canonical=upper.replace(/[^A-Z0-9]/g,"");if(canonical==="AUTHREJECTED")return"authRejected";if(upper.startsWith("AUTH"))return"authExpired";switch(canonical){case"DAILYQUOTAEXCEEDED":case"QUOTAEXCEEDED":return"quotaExceeded";case"RATELIMITED":case"TOOMANYREQUESTS":case"TELEVETRATELIMITED":return"rateLimited";case"IDEMPOTENCYKEYCONFLICT":case"IDEMPOTENCYCONFLICT":return"idempotencyConflict";case"ACCESSDENIED":case"FORBIDDEN":return"accessDenied";case"IDENTITYSIGNATUREREQUIRED":return"identitySignatureRequired";case"RUNTIMEDISPOSED":return"runtimeDisposed";case"NOTFOUND":case"CONVERSATIONNOTFOUND":return"conversationNotFound";case"PETNOTFOUND":return"petNotFound";case"TIMEOUT":case"STREAMTIMEOUT":return"streamTimeout";case"MEDIAUPLOADFAILED":case"UNRECOGNIZEDVIDEOFORMAT":case"FILETOOSMALL":return"mediaUploadFailed";case"MODERATIONBLOCKED":return"moderationBlocked";case"UPSTREAMLLMTIMEOUT":return"upstreamLlmTimeout";case"INTERNALERROR":case"INTERNALSERVERERROR":return"internalError";case"STREAMINCOMPLETE":case"CHATSTREAMINCOMPLETE":return"streamIncomplete";case"INVALIDANALYSISTYPE":case"INVALIDUPLOADPURPOSE":return"unknown";default:return"unknown"}}var AUTO_RETRYABLE_CODES=/* @__PURE__ */new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function isAutoRetryable(code){return AUTO_RETRYABLE_CODES.has(code)}var RETRYABLE_CONTRACT_CODES=/* @__PURE__ */new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function isRetryableCode(code){return isAutoRetryable(code)||RETRYABLE_CONTRACT_CODES.has(code)}var BACKOFF_BASE_MS=500,BACKOFF_CAP_MS=8e3,MAX_RETRY_ATTEMPTS=4;function backoffDelayMs(attempt,rng=Math.random){let bounded=Math.max(0,attempt),ceiling=Math.min(BACKOFF_BASE_MS*2**bounded,BACKOFF_CAP_MS);return Math.floor(rng()*ceiling)}var ACCESS_DENIED_COPY="This feature isn't available on your account right now.",VALIDATION_FAILED_COPY="Something in that request was not right. Check the details and try again.",USER_FACING_COPY=/* @__PURE__ */Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:ACCESS_DENIED_COPY,paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:VALIDATION_FAILED_COPY,sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",identitySignatureRequired:ACCESS_DENIED_COPY,runtimeDisposed:VALIDATION_FAILED_COPY,unknown:"Something went wrong. Please try again."}),SESSION_REVOKED_COPY="This session has ended. Please sign in again.";function displayFor(code,wireCode){return(code==="authRejected"||code==="authExpired")&&typeof wireCode=="string"&&wireCode.trim().toLowerCase()==="session_revoked"?SESSION_REVOKED_COPY:userFacingError(code)}function userFacingError(code){return USER_FACING_COPY[code]}function defineHidden(target,key,value){Object.defineProperty(target,key,{value:value,enumerable:false,writable:false,configurable:false})}var REASON_CODE_SHAPE=/^[a-z][a-z0-9_]{0,63}$/;function makeEverfurError(code,opts){let row=contractErrorFor(opts?.wireCode,opts?.wireEnvelope),error={code:code,category:categoryFor(code),retryable:opts?.retryable??isRetryableCode(code),displayMessage:displayFor(code,opts?.wireCode)};opts?.httpStatus!==void 0&&(error.httpStatus=opts.httpStatus),opts?.requestId&&(error.requestId=opts.requestId),typeof opts?.reasonCode=="string"&&REASON_CODE_SHAPE.test(opts.reasonCode)&&(error.reasonCode=opts.reasonCode);let wait=opts?.retryAfterSeconds;if(typeof wait=="number"&&Number.isFinite(wait)&&wait>=0&&(error.retryAfterSeconds=Math.round(wait)),row);return opts?.wireMessage&&defineHidden(error,"wireMessage",opts.wireMessage),opts?.raw!==void 0&&opts.raw!==null&&defineHidden(error,"raw",opts.raw),/* @__PURE__ */Object.freeze(error)}var REQUIRES=/* @__PURE__ */Object.freeze({chat:/* @__PURE__ */Object.freeze(["chat.message.create"]),records:/* @__PURE__ */Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:/* @__PURE__ */Object.freeze(["records.clinic.create"]),video:/* @__PURE__ */Object.freeze(["video.gait.execute"]),photo:/* @__PURE__ */Object.freeze(["photo.checkup.execute"]),animations:/* @__PURE__ */Object.freeze(["animations.state.read"]),televet:/* @__PURE__ */Object.freeze(["televet.visit.create"])});function requires(name){return REQUIRES[name]}function decideCapability(name,decisions,opts){let keys=requires(name),byResource=/* @__PURE__ */new Map;for(let decision of decisions)byResource.set(decision.resource,decision);if(opts?.isPending===true&&keys.some(key=>!byResource.has(key)))return freezeDecision({name:name,enabled:false,isPending:true,limits:{}});let limits=mergeLimits(keys,byResource);return keys.filter(key=>byResource.get(key)?.granted!==true).length===0?freezeDecision({name:name,enabled:true,isPending:false,limits:limits}):freezeDecision({name:name,enabled:false,isPending:false,limits:limits,disabled:disabledFor(keys,byResource)})}function mergeLimits(keys,byResource){let out={};for(let key of keys){let decisionLimits=byResource.get(key)?.limits;if(decisionLimits)for(let[limitKey,limitValue]of Object.entries(decisionLimits)){let existing=out[limitKey];out[limitKey]=existing===void 0?limitValue:Math.min(existing,limitValue)}}return out}function disabledFor(keys,byResource){for(let key of keys){let explicit=byResource.get(key)?.disabled;if(explicit)/* @__PURE__ */
95
+ /* @__PURE__ */Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(row=>row.wireCode));var NORMALIZED_FOLD=/* @__PURE__ */Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",session_revoked:"authExpired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",unrestrictedKeyRequired:"accessDenied",user_ref_invalid:"validationFailed",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict",linked_account_read_only:"conflict",catalog_empty_refused:"conflict",catalog_shrink_refused:"conflict"}),CONTRACT_ERROR_ROWS=/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(generated=>/* @__PURE__ */Object.freeze({wireCode:generated.wireCode,envelope:generated.envelope,retryable:generated.retryable,normalized:NORMALIZED_FOLD[generated.wireCode]}))),BY_KEY=new Map(CONTRACT_ERROR_ROWS.map(r=>[r.envelope+r.wireCode.toUpperCase(),r])),ENVELOPE_LOOKUP_ORDER=/* @__PURE__ */Object.freeze(["http_envelope",...[...new Set(CONTRACT_ERROR_ROWS.map(r=>r.envelope))].filter(e=>e!=="http_envelope").sort()]);function contractErrorFor(wireCode,envelope){if(typeof wireCode!="string")return;let key=wireCode.trim().toUpperCase();if(key.length!==0)for(let candidate of[envelope??"http_envelope",...ENVELOPE_LOOKUP_ORDER]){let row=BY_KEY.get(candidate+key);if(row)return row}}var CATEGORY_OF=/* @__PURE__ */Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",identitySignatureRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",runtimeDisposed:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function categoryFor(code){return CATEGORY_OF[code]}function fromWire(wire){let contractRow=contractErrorFor(wire);if(contractRow)return contractRow.normalized;let upper=(wire??"").trim().toUpperCase(),canonical=upper.replace(/[^A-Z0-9]/g,"");if(canonical==="AUTHREJECTED")return"authRejected";if(upper.startsWith("AUTH"))return"authExpired";switch(canonical){case"DAILYQUOTAEXCEEDED":case"QUOTAEXCEEDED":return"quotaExceeded";case"RATELIMITED":case"TOOMANYREQUESTS":case"TELEVETRATELIMITED":return"rateLimited";case"IDEMPOTENCYKEYCONFLICT":case"IDEMPOTENCYCONFLICT":return"idempotencyConflict";case"ACCESSDENIED":case"FORBIDDEN":return"accessDenied";case"IDENTITYSIGNATUREREQUIRED":return"identitySignatureRequired";case"RUNTIMEDISPOSED":return"runtimeDisposed";case"NOTFOUND":case"CONVERSATIONNOTFOUND":return"conversationNotFound";case"PETNOTFOUND":return"petNotFound";case"TIMEOUT":case"STREAMTIMEOUT":return"streamTimeout";case"MEDIAUPLOADFAILED":case"UNRECOGNIZEDVIDEOFORMAT":case"FILETOOSMALL":return"mediaUploadFailed";case"MODERATIONBLOCKED":return"moderationBlocked";case"UPSTREAMLLMTIMEOUT":return"upstreamLlmTimeout";case"INTERNALERROR":case"INTERNALSERVERERROR":return"internalError";case"STREAMINCOMPLETE":case"CHATSTREAMINCOMPLETE":return"streamIncomplete";case"INVALIDANALYSISTYPE":case"INVALIDUPLOADPURPOSE":return"unknown";default:return"unknown"}}var AUTO_RETRYABLE_CODES=/* @__PURE__ */new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function isAutoRetryable(code){return AUTO_RETRYABLE_CODES.has(code)}var RETRYABLE_CONTRACT_CODES=/* @__PURE__ */new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function isRetryableCode(code){return isAutoRetryable(code)||RETRYABLE_CONTRACT_CODES.has(code)}var BACKOFF_BASE_MS=500,BACKOFF_CAP_MS=8e3,MAX_RETRY_ATTEMPTS=4;function backoffDelayMs(attempt,rng=Math.random){let bounded=Math.max(0,attempt),ceiling=Math.min(BACKOFF_BASE_MS*2**bounded,BACKOFF_CAP_MS);return Math.floor(rng()*ceiling)}var ACCESS_DENIED_COPY="This feature isn't available on your account right now.",VALIDATION_FAILED_COPY="Something in that request was not right. Check the details and try again.",USER_FACING_COPY=/* @__PURE__ */Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:ACCESS_DENIED_COPY,paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:VALIDATION_FAILED_COPY,sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",identitySignatureRequired:ACCESS_DENIED_COPY,runtimeDisposed:VALIDATION_FAILED_COPY,unknown:"Something went wrong. Please try again."}),SESSION_REVOKED_COPY="This session has ended. Please sign in again.",LINKED_ACCOUNT_READ_ONLY="linked_account_read_only";function displayFor(code,wireCode,reasonCode){return code==="conflict"&&reasonCode===LINKED_ACCOUNT_READ_ONLY?ACCESS_DENIED_COPY:(code==="authRejected"||code==="authExpired")&&typeof wireCode=="string"&&wireCode.trim().toLowerCase()==="session_revoked"?SESSION_REVOKED_COPY:userFacingError(code)}function userFacingError(code){return USER_FACING_COPY[code]}function defineHidden(target,key,value){Object.defineProperty(target,key,{value:value,enumerable:false,writable:false,configurable:false})}var REASON_CODE_SHAPE=/^[a-z][a-z0-9_]{0,63}$/;function makeEverfurError(code,opts){let row=contractErrorFor(opts?.wireCode,opts?.wireEnvelope),linkedReadOnly=code==="conflict"&&opts?.reasonCode===LINKED_ACCOUNT_READ_ONLY,error={code:code,category:categoryFor(code),retryable:opts?.retryable??(linkedReadOnly?false:isRetryableCode(code)),displayMessage:displayFor(code,opts?.wireCode,linkedReadOnly?LINKED_ACCOUNT_READ_ONLY:null)};opts?.httpStatus!==void 0&&(error.httpStatus=opts.httpStatus),opts?.requestId&&(error.requestId=opts.requestId),typeof opts?.reasonCode=="string"&&REASON_CODE_SHAPE.test(opts.reasonCode)&&(error.reasonCode=opts.reasonCode);let wait=opts?.retryAfterSeconds;if(typeof wait=="number"&&Number.isFinite(wait)&&wait>=0&&(error.retryAfterSeconds=Math.round(wait)),row);return opts?.wireMessage&&defineHidden(error,"wireMessage",opts.wireMessage),opts?.raw!==void 0&&opts.raw!==null&&defineHidden(error,"raw",opts.raw),/* @__PURE__ */Object.freeze(error)}var REQUIRES=/* @__PURE__ */Object.freeze({chat:/* @__PURE__ */Object.freeze(["chat.message.create"]),records:/* @__PURE__ */Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:/* @__PURE__ */Object.freeze(["records.clinic.create"]),video:/* @__PURE__ */Object.freeze(["video.gait.execute"]),photo:/* @__PURE__ */Object.freeze(["photo.checkup.execute"]),animations:/* @__PURE__ */Object.freeze(["animations.state.read"]),televet:/* @__PURE__ */Object.freeze(["televet.visit.create"]),texting:/* @__PURE__ */Object.freeze(["sms.identity.read","sms.identity.update"]),healthPlan:/* @__PURE__ */Object.freeze(["shop.plan.read","shop.plan.update"])});function requires(name){return REQUIRES[name]}function decideCapability(name,decisions,opts){let keys=requires(name),byResource=/* @__PURE__ */new Map;for(let decision of decisions)byResource.set(decision.resource,decision);if(opts?.isPending===true&&keys.some(key=>!byResource.has(key)))return freezeDecision({name:name,enabled:false,isPending:true,limits:{}});let limits=mergeLimits(keys,byResource);return keys.filter(key=>byResource.get(key)?.granted!==true).length===0?freezeDecision({name:name,enabled:true,isPending:false,limits:limits}):freezeDecision({name:name,enabled:false,isPending:false,limits:limits,disabled:disabledFor(keys,byResource)})}function mergeLimits(keys,byResource){let out={};for(let key of keys){let decisionLimits=byResource.get(key)?.limits;if(decisionLimits)for(let[limitKey,limitValue]of Object.entries(decisionLimits)){let existing=out[limitKey];out[limitKey]=existing===void 0?limitValue:Math.min(existing,limitValue)}}return out}function disabledFor(keys,byResource){for(let key of keys){let explicit=byResource.get(key)?.disabled;if(explicit)/* @__PURE__ */
92
96
  return Object.freeze({reason:explicit.reason,level:explicit.level,recoverable:explicit.recoverable})}/* @__PURE__ */
93
97
  return Object.freeze({reason:userFacingError("accessDenied"),level:"user_entitlement",recoverable:false})}function freezeDecision(d){let base={name:d.name,enabled:d.enabled,isPending:d.isPending,limits:/* @__PURE__ */Object.freeze({...d.limits})};return d.disabled!==void 0&&(base.disabled=d.disabled),/* @__PURE__ */Object.freeze(base)}function ok(value,warning){/* @__PURE__ */
94
98
  return Object.freeze({ok:true,value:value})}function err(error){/* @__PURE__ */
@@ -1,12 +1,12 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.js';
2
- import { E as EverfurResult } from './EverfurResult-ClPTS0P2.js';
3
- import { C as ConversationId, P as PetRef, b as ResponseId } from './ids-B2GAAifq.js';
4
- import { f as ChatFeedbackType, l as ChatStatus, i as ChatMessage, c as ChatConversationListOptions, d as ChatConversationPage, g as ChatHistoryOptions, h as ChatMessagePage, a as ChatCheckinTarget, e as ChatFeedbackReceipt } from './ports-DmQeMArX.js';
5
- import { C as CheckinAnswer, a as CheckinOutcome } from './casesRepository-ZG9Sg0e4.js';
6
- import { i as UrgencyLevel } from './config-DmFAZJOx.js';
7
- import { W as WidgetPet } from './petsRepository-518QkPxH.js';
8
- import { U as UploadTransport, F as FileHandle } from './ports-BN6RHF9W.js';
9
- import { c as AttachmentQueue, d as AttachmentState, A as AttachmentError, b as AttachmentOutcome } from './attachments-CWNj1ZkM.js';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
2
+ import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
3
+ import { C as ConversationId, P as PetRef, b as ResponseId } from './ids.d-B2GAAifq.cjs';
4
+ import { f as ChatFeedbackType, l as ChatStatus, i as ChatMessage, c as ChatConversationListOptions, d as ChatConversationPage, g as ChatHistoryOptions, h as ChatMessagePage, a as ChatCheckinTarget, e as ChatFeedbackReceipt } from './ports.d-CEROoqnA.cjs';
5
+ import { C as CheckinAnswer, a as CheckinOutcome } from './casesRepository.d-CT2LTicS.cjs';
6
+ import { i as UrgencyLevel } from './config.d-BR3DT9ho.cjs';
7
+ import { W as WidgetPet } from './petsRepository.d-lp1BHRqM.cjs';
8
+ import { U as UploadTransport, F as FileHandle } from './ports.d-BX4f4UsB.cjs';
9
+ import { c as AttachmentQueue, d as AttachmentState, A as AttachmentError, b as AttachmentOutcome } from './attachments.d-DisnvB9R.cjs';
10
10
 
11
11
  /** The three thumbs. `'neutral'` is the app's rotated thumbs-down glyph. */
12
12
  type ChatSentiment = 'up' | 'neutral' | 'down';
@@ -147,25 +147,21 @@ declare function useEverfurChat(opts?: {
147
147
  }): UseEverfurChatState;
148
148
 
149
149
  /**
150
- * The host's lifecycle and connectivity signals. Each subscribe returns its own unsubscribe, which the SDK
151
- * calls on unmount; a listener that throws is contained by the caller, never by the host.
150
+ * One partner-supplied starter chip for the empty thread (`EverfurChat`'s `starterPrompts`). The words are the
151
+ * partner's own: Everfur shows `label` and sends `prompt` (the label when absent) as the member's next message.
152
152
  */
153
- interface LifecyclePort {
154
- /**
155
- * The host came back to the foreground. Only the real blur-to-focus edge, please: a platform that flips
156
- * through an inactive state constantly (iOS control centre, a call banner) would otherwise turn a
157
- * notification-shade pull into a request.
158
- */
159
- onForeground(listener: () => void): () => void;
160
- /** Connectivity returned. Omit it and a deferred refresh waits for the next foreground instead. */
161
- onOnline?(listener: () => void): () => void;
153
+ interface EverfurStarterPrompt {
154
+ /** What the chip reads. A blank label drops the chip. */
155
+ readonly label: string;
156
+ /** The text sent when the chip is tapped. Defaults to `label`. */
157
+ readonly prompt?: string;
162
158
  /**
163
- * Something told the host THIS member's thread changed: the push that carried the message. Announced
164
- * triggers are never coalesced, because that is the one case where the reader is waiting on new content.
159
+ * The chip's own fill, any CSS colour (for example `'#FFE7A1'`). Absent, the chip takes the theme's
160
+ * `highlight` under `onHighlight`, as the built-in chips do on a partner theme.
165
161
  */
166
- onAnnounced?(listener: () => void): () => void;
167
- /** Is the host unambiguously offline? Absent reads as online, which is exactly today's behaviour. */
168
- isOffline?(): boolean;
162
+ readonly tint?: string;
163
+ /** The chip's text colour on its `tint`. Absent, the theme's primary text colour. Ignored without `tint`. */
164
+ readonly ink?: string;
169
165
  }
170
166
 
171
167
  /**
@@ -255,4 +251,4 @@ interface UseChatAttachmentsOptions {
255
251
  */
256
252
  declare function useChatAttachments(options?: UseChatAttachmentsOptions): UseChatAttachmentsState;
257
253
 
258
- export { type ChatFeedbackReason as C, type EverfurChatDraftStore as E, type LifecyclePort as L, type UrgencyDisplayLevel as U, type ChatFeedbackReasonOption as a, type ChatSentiment as b, type UseChatAttachmentsOptions as c, type UseChatAttachmentsState as d, type UseEverfurChatState as e, type UseEverfurPetsState as f, useEverfurChat as g, useEverfurPets as h, useChatAttachments as u };
254
+ export { type ChatFeedbackReason as C, type EverfurChatDraftStore as E, type UrgencyDisplayLevel as U, type ChatFeedbackReasonOption as a, type ChatSentiment as b, type EverfurStarterPrompt as c, type UseChatAttachmentsOptions as d, type UseChatAttachmentsState as e, type UseEverfurChatState as f, type UseEverfurPetsState as g, useEverfurChat as h, useEverfurPets as i, useChatAttachments as u };
@@ -1,7 +1,7 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.js';
2
- import { R as RequestFunnel } from './requestFunnel-B9fdXMi5.js';
3
- import { F as FileHandle, U as UploadTransport, a as UploadPolicyWire } from './ports-BN6RHF9W.js';
4
- import { R as ReadableStore, T as Timers } from './ports-DmQeMArX.js';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
2
+ import { R as RequestFunnel } from './requestFunnel.d-CXUMPw1K.js';
3
+ import { F as FileHandle, U as UploadTransport, a as UploadPolicyWire } from './ports.d-BX4f4UsB.js';
4
+ import { R as ReadableStore, T as Timers } from './ports.d-COIyN624.js';
5
5
 
6
6
  /** The image MIME types the chat accepts (the server's `CHAT_ATTACHMENT` rule, plus the `image/jpg` alias). */
7
7
  declare const ATTACHMENT_MIME_TYPES: readonly string[];
@@ -1,7 +1,7 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.cjs';
2
- import { R as RequestFunnel } from './requestFunnel-BBjNNwc9.cjs';
3
- import { F as FileHandle, U as UploadTransport, a as UploadPolicyWire } from './ports-BN6RHF9W.cjs';
4
- import { R as ReadableStore, T as Timers } from './ports-RuNJmBA-.cjs';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
2
+ import { R as RequestFunnel } from './requestFunnel.d-DWQQpjFR.cjs';
3
+ import { F as FileHandle, U as UploadTransport, a as UploadPolicyWire } from './ports.d-BX4f4UsB.cjs';
4
+ import { R as ReadableStore, T as Timers } from './ports.d-CEROoqnA.cjs';
5
5
 
6
6
  /** The image MIME types the chat accepts (the server's `CHAT_ATTACHMENT` rule, plus the `image/jpg` alias). */
7
7
  declare const ATTACHMENT_MIME_TYPES: readonly string[];
@@ -1,12 +1,12 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.cjs';
2
- import { E as EverfurResult } from './EverfurResult-COlXj1wq.cjs';
3
- import { C as ConversationId, P as PetRef, b as ResponseId } from './ids-B2GAAifq.cjs';
4
- import { f as ChatFeedbackType, l as ChatStatus, i as ChatMessage, c as ChatConversationListOptions, d as ChatConversationPage, g as ChatHistoryOptions, h as ChatMessagePage, a as ChatCheckinTarget, e as ChatFeedbackReceipt } from './ports-RuNJmBA-.cjs';
5
- import { C as CheckinAnswer, a as CheckinOutcome } from './casesRepository-CGdhvzTu.cjs';
6
- import { i as UrgencyLevel } from './config-B0p6Lygh.cjs';
7
- import { W as WidgetPet } from './petsRepository-B_Q1gFkE.cjs';
8
- import { U as UploadTransport, F as FileHandle } from './ports-BN6RHF9W.cjs';
9
- import { c as AttachmentQueue, d as AttachmentState, A as AttachmentError, b as AttachmentOutcome } from './attachments-waXcJWCp.cjs';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
2
+ import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
3
+ import { C as ConversationId, P as PetRef, b as ResponseId } from './ids.d-B2GAAifq.js';
4
+ import { f as ChatFeedbackType, l as ChatStatus, i as ChatMessage, c as ChatConversationListOptions, d as ChatConversationPage, g as ChatHistoryOptions, h as ChatMessagePage, a as ChatCheckinTarget, e as ChatFeedbackReceipt } from './ports.d-COIyN624.js';
5
+ import { C as CheckinAnswer, a as CheckinOutcome } from './casesRepository.d-UsWOz9bv.js';
6
+ import { i as UrgencyLevel } from './config.d-Dy6igYlH.js';
7
+ import { W as WidgetPet } from './petsRepository.d-BuGHymNx.js';
8
+ import { U as UploadTransport, F as FileHandle } from './ports.d-BX4f4UsB.js';
9
+ import { c as AttachmentQueue, d as AttachmentState, A as AttachmentError, b as AttachmentOutcome } from './attachments.d-D1yhJjcZ.js';
10
10
 
11
11
  /** The three thumbs. `'neutral'` is the app's rotated thumbs-down glyph. */
12
12
  type ChatSentiment = 'up' | 'neutral' | 'down';
@@ -147,25 +147,21 @@ declare function useEverfurChat(opts?: {
147
147
  }): UseEverfurChatState;
148
148
 
149
149
  /**
150
- * The host's lifecycle and connectivity signals. Each subscribe returns its own unsubscribe, which the SDK
151
- * calls on unmount; a listener that throws is contained by the caller, never by the host.
150
+ * One partner-supplied starter chip for the empty thread (`EverfurChat`'s `starterPrompts`). The words are the
151
+ * partner's own: Everfur shows `label` and sends `prompt` (the label when absent) as the member's next message.
152
152
  */
153
- interface LifecyclePort {
154
- /**
155
- * The host came back to the foreground. Only the real blur-to-focus edge, please: a platform that flips
156
- * through an inactive state constantly (iOS control centre, a call banner) would otherwise turn a
157
- * notification-shade pull into a request.
158
- */
159
- onForeground(listener: () => void): () => void;
160
- /** Connectivity returned. Omit it and a deferred refresh waits for the next foreground instead. */
161
- onOnline?(listener: () => void): () => void;
153
+ interface EverfurStarterPrompt {
154
+ /** What the chip reads. A blank label drops the chip. */
155
+ readonly label: string;
156
+ /** The text sent when the chip is tapped. Defaults to `label`. */
157
+ readonly prompt?: string;
162
158
  /**
163
- * Something told the host THIS member's thread changed: the push that carried the message. Announced
164
- * triggers are never coalesced, because that is the one case where the reader is waiting on new content.
159
+ * The chip's own fill, any CSS colour (for example `'#FFE7A1'`). Absent, the chip takes the theme's
160
+ * `highlight` under `onHighlight`, as the built-in chips do on a partner theme.
165
161
  */
166
- onAnnounced?(listener: () => void): () => void;
167
- /** Is the host unambiguously offline? Absent reads as online, which is exactly today's behaviour. */
168
- isOffline?(): boolean;
162
+ readonly tint?: string;
163
+ /** The chip's text colour on its `tint`. Absent, the theme's primary text colour. Ignored without `tint`. */
164
+ readonly ink?: string;
169
165
  }
170
166
 
171
167
  /**
@@ -255,4 +251,4 @@ interface UseChatAttachmentsOptions {
255
251
  */
256
252
  declare function useChatAttachments(options?: UseChatAttachmentsOptions): UseChatAttachmentsState;
257
253
 
258
- export { type ChatFeedbackReason as C, type EverfurChatDraftStore as E, type LifecyclePort as L, type UrgencyDisplayLevel as U, type ChatFeedbackReasonOption as a, type ChatSentiment as b, type UseChatAttachmentsOptions as c, type UseChatAttachmentsState as d, type UseEverfurChatState as e, type UseEverfurPetsState as f, useEverfurChat as g, useEverfurPets as h, useChatAttachments as u };
254
+ export { type ChatFeedbackReason as C, type EverfurChatDraftStore as E, type UrgencyDisplayLevel as U, type ChatFeedbackReasonOption as a, type ChatSentiment as b, type EverfurStarterPrompt as c, type UseChatAttachmentsOptions as d, type UseChatAttachmentsState as e, type UseEverfurChatState as f, type UseEverfurPetsState as g, useEverfurChat as h, useEverfurPets as i, useChatAttachments as u };
@@ -1,11 +1,11 @@
1
- import { o as TelevetStatePolicy, k as TelevetBookingEntitlement, l as TelevetCancellationPolicy, m as TelevetClinician, c as TelevetSlot, n as TelevetSlotHold, j as TelevetBookingBody, T as TelevetConsult, b as TelevetCancelReceipt, p as TelevetTriageVerdict, h as ConsultStatus } from './televetGlobal-CnjrfhT4.js';
2
- import { E as EverfurError } from './EverfurError-DeBqRpQV.js';
3
- import { E as EverfurResult } from './EverfurResult-ClPTS0P2.js';
4
- import { R as RequestFunnel } from './requestFunnel-B9fdXMi5.js';
5
- import { A as AuthContext } from './identity-Cw07BKZp.js';
6
- import { E as ErrorPolicyPort } from './ErrorPolicyPort-C3nNSS_j.js';
7
- import { T as TelemetryPort } from './TelemetryPort-BDNr00hu.js';
8
- import { b as VetCallCredential, c as VetCallJoinRefusal } from './callRoom-B92eH_ij.js';
1
+ import { o as TelevetStatePolicy, k as TelevetBookingEntitlement, l as TelevetCancellationPolicy, m as TelevetClinician, c as TelevetSlot, n as TelevetSlotHold, j as TelevetBookingBody, T as TelevetConsult, b as TelevetCancelReceipt, p as TelevetTriageVerdict, h as ConsultStatus } from './televetGlobal.d-CC-DrqkQ.js';
2
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
3
+ import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
4
+ import { R as RequestFunnel } from './requestFunnel.d-CXUMPw1K.js';
5
+ import { A as AuthContext } from './identity.d-DzTijonw.js';
6
+ import { E as ErrorPolicyPort } from './ErrorPolicyPort.d-68yrE3BE.js';
7
+ import { T as TelemetryPort } from './TelemetryPort.d-BDNr00hu.js';
8
+ import { b as VetCallCredential, c as VetCallJoinRefusal } from './callRoom.d-Dqm1rUqT.js';
9
9
 
10
10
  /** What the presign is asked for. The route refuses any other field. */
11
11
  interface TelevetAttachmentMeta {
@@ -899,6 +899,21 @@ declare function useTelevetBookConsult(controller: TelevetBookingController | nu
899
899
  /** Move an existing consult to an already-held slot. */
900
900
  declare function useTelevetRescheduleConsult(consultId: string | null, controller: TelevetBookingController | null): TelevetWrite<[slotId: string], TelevetConsult>;
901
901
 
902
+ /** What `useUpcomingTelevetVisit` returns. */
903
+ interface UpcomingTelevetVisitState {
904
+ /** The next visit that can still be joined, or null when there is none, the read is pending or it failed. */
905
+ readonly upcoming: TelevetConsult | null;
906
+ /** True while the visits read is in flight. False when signed out or disabled (no read is made). */
907
+ readonly isPending: boolean;
908
+ }
909
+ /**
910
+ * The member's next booked visit. Signed out, or with `enabled: false`, no read is made and `upcoming` is null.
911
+ * Join it with `useVetVisit().joinVisit(upcoming.consultId)`.
912
+ */
913
+ declare function useUpcomingTelevetVisit(options?: {
914
+ readonly enabled?: boolean;
915
+ }): UpcomingTelevetVisitState;
916
+
902
917
  /** Where a join is. `reason` is the server's own refusal reason, for a surface that words each one. */
903
918
  type TelevetJoinState = {
904
919
  readonly status: 'joining';
@@ -1380,4 +1395,4 @@ type TelevetBookingCopy = typeof TELEVET_BOOKING_COPY;
1380
1395
  */
1381
1396
  declare function isTelevetBookingCopyReady(): boolean;
1382
1397
 
1383
- export { canConfirm as $, type TelevetEmptyRosterView as A, type TelevetJoinReadiness as B, CONSULT_MINUTES as C, type TelevetJoinState as D, type TelevetMediaRefusal as E, type TelevetRead as F, type TelevetStateInterestReason as G, type TelevetWrite as H, VET_MESSAGE_CONTENT_MAX as I, VET_MESSAGE_PAGE_DEFAULT as J, VET_MESSAGE_PAGE_MAX as K, type VetMessage as L, type VetMessagePage as M, NO_MEDIA_SHORTFALL as N, type VetMessageRole as O, type VetMessagesAvailability as P, type VetSendFailure as Q, type VetThread as R, type VetThreadState as S, type TelevetEmptyRosterCause as T, type UseVetThreadOptions as U, VET_MESSAGES_COPY as V, type VetThreadsState as W, type VisitSummary as X, type VisitSummaryMedication as Y, type VisitSummaryState as Z, attestation as _, type TelevetStateInterestAction as a, canManageTelevetVisit as a0, createTelevetBookingController as a1, currentStep as a2, emptyTelevetDraft as a3, formatVisitRange as a4, formatWhen as a5, formatWhenWithDay as a6, hasPreviousStep as a7, initialTelevetBookingState as a8, isHoldExpired as a9, useTelevetBookingAvailable as aA, useTelevetBookingController as aB, useTelevetBookingEntitlement as aC, useTelevetCancellationPolicy as aD, useTelevetClinicians as aE, useTelevetHoldSlot as aF, useTelevetJoin as aG, useTelevetNextSlot as aH, useTelevetRescheduleConsult as aI, useTelevetSlots as aJ, useTelevetStatePolicy as aK, useVetThread as aL, useVetThreads as aM, useVisitSummary as aN, validateBookingBody as aO, vetThreadPetRef as aP, withUnsentPicks as aQ, type TelevetJoinBlock as aR, type TelevetJoinDecision as aS, televetJoinDecision as aT, isMediaShortfallEmpty as aa, isSkipped as ab, isTelevetBookingCopyReady as ac, isVetMessagesDark as ad, isVetThreadVetFirst as ae, mediaShortfallFromUnsentPicks as af, splitTelevetVisits as ag, televetBookingKey as ah, televetBookingReducer as ai, televetBookingRefusal as aj, televetCancelCall as ak, televetConsultCall as al, televetEmptyRosterCause as am, televetEmptyRosterView as an, televetHoldCall as ao, televetJoinCall as ap, televetJoinOpensAtMs as aq, televetJoinReadiness as ar, televetMediaShortfallLines as as, televetRescheduleCall as at, televetThreadMessagesCall as au, televetThreadReadCall as av, televetVisitSummaryCall as aw, useEarlyTriage as ax, useStateInterest as ay, useTelevetBookConsult as az, type TelevetMediaShortfall as b, type TelevetBookingStep as c, type TelevetBookingContext as d, type TelevetBookingController as e, type TelevetTriageRead as f, type TelevetStateInterestWrite as g, type TelevetVetThreadTarget as h, type TelevetDayPeriod as i, TELEVET_BOOKING_BASE as j, TELEVET_BOOKING_COPY as k, TELEVET_BOOKING_STEPS as l, TELEVET_CONSULT_PAGE_LIMIT as m, TELEVET_JOIN_CLOSES_MINUTES_AFTER as n, TELEVET_JOIN_OPENS_MINUTES_BEFORE as o, TELEVET_MESSAGE_THREADS_PATH as p, type TelevetAttachmentMeta as q, type TelevetAttachmentPolicy as r, type TelevetBookingAction as s, type TelevetBookingControllerDeps as t, type TelevetBookingCopy as u, type TelevetBookingDraft as v, type TelevetBookingFailure as w, type TelevetBookingRefusal as x, type TelevetBookingState as y, type TelevetEarlyTriage as z };
1398
+ export { attestation as $, type TelevetEmptyRosterView as A, type TelevetJoinReadiness as B, CONSULT_MINUTES as C, type TelevetJoinState as D, type TelevetMediaRefusal as E, type TelevetRead as F, type TelevetStateInterestReason as G, type TelevetWrite as H, type UseVetThreadOptions as I, VET_MESSAGE_CONTENT_MAX as J, VET_MESSAGE_PAGE_DEFAULT as K, VET_MESSAGE_PAGE_MAX as L, type VetMessage as M, NO_MEDIA_SHORTFALL as N, type VetMessagePage as O, type VetMessageRole as P, type VetMessagesAvailability as Q, type VetSendFailure as R, type VetThread as S, type TelevetEmptyRosterCause as T, type UpcomingTelevetVisitState as U, VET_MESSAGES_COPY as V, type VetThreadState as W, type VetThreadsState as X, type VisitSummary as Y, type VisitSummaryMedication as Z, type VisitSummaryState as _, type TelevetStateInterestAction as a, canConfirm as a0, canManageTelevetVisit as a1, createTelevetBookingController as a2, currentStep as a3, emptyTelevetDraft as a4, formatVisitRange as a5, formatWhen as a6, formatWhenWithDay as a7, hasPreviousStep as a8, initialTelevetBookingState as a9, useTelevetBookConsult as aA, useTelevetBookingAvailable as aB, useTelevetBookingController as aC, useTelevetBookingEntitlement as aD, useTelevetCancellationPolicy as aE, useTelevetClinicians as aF, useTelevetHoldSlot as aG, useTelevetJoin as aH, useTelevetNextSlot as aI, useTelevetRescheduleConsult as aJ, useTelevetSlots as aK, useTelevetStatePolicy as aL, useUpcomingTelevetVisit as aM, useVetThread as aN, useVetThreads as aO, useVisitSummary as aP, validateBookingBody as aQ, vetThreadPetRef as aR, withUnsentPicks as aS, type TelevetJoinBlock as aT, type TelevetJoinDecision as aU, televetJoinDecision as aV, isHoldExpired as aa, isMediaShortfallEmpty as ab, isSkipped as ac, isTelevetBookingCopyReady as ad, isVetMessagesDark as ae, isVetThreadVetFirst as af, mediaShortfallFromUnsentPicks as ag, splitTelevetVisits as ah, televetBookingKey as ai, televetBookingReducer as aj, televetBookingRefusal as ak, televetCancelCall as al, televetConsultCall as am, televetEmptyRosterCause as an, televetEmptyRosterView as ao, televetHoldCall as ap, televetJoinCall as aq, televetJoinOpensAtMs as ar, televetJoinReadiness as as, televetMediaShortfallLines as at, televetRescheduleCall as au, televetThreadMessagesCall as av, televetThreadReadCall as aw, televetVisitSummaryCall as ax, useEarlyTriage as ay, useStateInterest as az, type TelevetMediaShortfall as b, type TelevetBookingStep as c, type TelevetBookingContext as d, type TelevetBookingController as e, type TelevetTriageRead as f, type TelevetStateInterestWrite as g, type TelevetVetThreadTarget as h, type TelevetDayPeriod as i, TELEVET_BOOKING_BASE as j, TELEVET_BOOKING_COPY as k, TELEVET_BOOKING_STEPS as l, TELEVET_CONSULT_PAGE_LIMIT as m, TELEVET_JOIN_CLOSES_MINUTES_AFTER as n, TELEVET_JOIN_OPENS_MINUTES_BEFORE as o, TELEVET_MESSAGE_THREADS_PATH as p, type TelevetAttachmentMeta as q, type TelevetAttachmentPolicy as r, type TelevetBookingAction as s, type TelevetBookingControllerDeps as t, type TelevetBookingCopy as u, type TelevetBookingDraft as v, type TelevetBookingFailure as w, type TelevetBookingRefusal as x, type TelevetBookingState as y, type TelevetEarlyTriage as z };
@@ -1,11 +1,11 @@
1
- import { o as TelevetStatePolicy, k as TelevetBookingEntitlement, l as TelevetCancellationPolicy, m as TelevetClinician, c as TelevetSlot, n as TelevetSlotHold, j as TelevetBookingBody, T as TelevetConsult, b as TelevetCancelReceipt, p as TelevetTriageVerdict, h as ConsultStatus } from './televetGlobal-C5dTUACe.cjs';
2
- import { E as EverfurError } from './EverfurError-DeBqRpQV.cjs';
3
- import { E as EverfurResult } from './EverfurResult-COlXj1wq.cjs';
4
- import { R as RequestFunnel } from './requestFunnel-BBjNNwc9.cjs';
5
- import { A as AuthContext } from './identity-DFVGYn1o.cjs';
6
- import { E as ErrorPolicyPort } from './ErrorPolicyPort-10s3HJCt.cjs';
7
- import { T as TelemetryPort } from './TelemetryPort-BDNr00hu.cjs';
8
- import { b as VetCallCredential, c as VetCallJoinRefusal } from './callRoom-BhIdadyV.cjs';
1
+ import { o as TelevetStatePolicy, k as TelevetBookingEntitlement, l as TelevetCancellationPolicy, m as TelevetClinician, c as TelevetSlot, n as TelevetSlotHold, j as TelevetBookingBody, T as TelevetConsult, b as TelevetCancelReceipt, p as TelevetTriageVerdict, h as ConsultStatus } from './televetGlobal.d-CKwDCbmN.cjs';
2
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
3
+ import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
4
+ import { R as RequestFunnel } from './requestFunnel.d-DWQQpjFR.cjs';
5
+ import { A as AuthContext } from './identity.d-60LeJt_s.cjs';
6
+ import { E as ErrorPolicyPort } from './ErrorPolicyPort.d-DirW9hgO.cjs';
7
+ import { T as TelemetryPort } from './TelemetryPort.d-BDNr00hu.cjs';
8
+ import { b as VetCallCredential, c as VetCallJoinRefusal } from './callRoom.d-B1DoYdJe.cjs';
9
9
 
10
10
  /** What the presign is asked for. The route refuses any other field. */
11
11
  interface TelevetAttachmentMeta {
@@ -899,6 +899,21 @@ declare function useTelevetBookConsult(controller: TelevetBookingController | nu
899
899
  /** Move an existing consult to an already-held slot. */
900
900
  declare function useTelevetRescheduleConsult(consultId: string | null, controller: TelevetBookingController | null): TelevetWrite<[slotId: string], TelevetConsult>;
901
901
 
902
+ /** What `useUpcomingTelevetVisit` returns. */
903
+ interface UpcomingTelevetVisitState {
904
+ /** The next visit that can still be joined, or null when there is none, the read is pending or it failed. */
905
+ readonly upcoming: TelevetConsult | null;
906
+ /** True while the visits read is in flight. False when signed out or disabled (no read is made). */
907
+ readonly isPending: boolean;
908
+ }
909
+ /**
910
+ * The member's next booked visit. Signed out, or with `enabled: false`, no read is made and `upcoming` is null.
911
+ * Join it with `useVetVisit().joinVisit(upcoming.consultId)`.
912
+ */
913
+ declare function useUpcomingTelevetVisit(options?: {
914
+ readonly enabled?: boolean;
915
+ }): UpcomingTelevetVisitState;
916
+
902
917
  /** Where a join is. `reason` is the server's own refusal reason, for a surface that words each one. */
903
918
  type TelevetJoinState = {
904
919
  readonly status: 'joining';
@@ -1380,4 +1395,4 @@ type TelevetBookingCopy = typeof TELEVET_BOOKING_COPY;
1380
1395
  */
1381
1396
  declare function isTelevetBookingCopyReady(): boolean;
1382
1397
 
1383
- export { canConfirm as $, type TelevetEmptyRosterView as A, type TelevetJoinReadiness as B, CONSULT_MINUTES as C, type TelevetJoinState as D, type TelevetMediaRefusal as E, type TelevetRead as F, type TelevetStateInterestReason as G, type TelevetWrite as H, VET_MESSAGE_CONTENT_MAX as I, VET_MESSAGE_PAGE_DEFAULT as J, VET_MESSAGE_PAGE_MAX as K, type VetMessage as L, type VetMessagePage as M, NO_MEDIA_SHORTFALL as N, type VetMessageRole as O, type VetMessagesAvailability as P, type VetSendFailure as Q, type VetThread as R, type VetThreadState as S, type TelevetEmptyRosterCause as T, type UseVetThreadOptions as U, VET_MESSAGES_COPY as V, type VetThreadsState as W, type VisitSummary as X, type VisitSummaryMedication as Y, type VisitSummaryState as Z, attestation as _, type TelevetStateInterestAction as a, canManageTelevetVisit as a0, createTelevetBookingController as a1, currentStep as a2, emptyTelevetDraft as a3, formatVisitRange as a4, formatWhen as a5, formatWhenWithDay as a6, hasPreviousStep as a7, initialTelevetBookingState as a8, isHoldExpired as a9, useTelevetBookingAvailable as aA, useTelevetBookingController as aB, useTelevetBookingEntitlement as aC, useTelevetCancellationPolicy as aD, useTelevetClinicians as aE, useTelevetHoldSlot as aF, useTelevetJoin as aG, useTelevetNextSlot as aH, useTelevetRescheduleConsult as aI, useTelevetSlots as aJ, useTelevetStatePolicy as aK, useVetThread as aL, useVetThreads as aM, useVisitSummary as aN, validateBookingBody as aO, vetThreadPetRef as aP, withUnsentPicks as aQ, type TelevetJoinBlock as aR, type TelevetJoinDecision as aS, televetJoinDecision as aT, isMediaShortfallEmpty as aa, isSkipped as ab, isTelevetBookingCopyReady as ac, isVetMessagesDark as ad, isVetThreadVetFirst as ae, mediaShortfallFromUnsentPicks as af, splitTelevetVisits as ag, televetBookingKey as ah, televetBookingReducer as ai, televetBookingRefusal as aj, televetCancelCall as ak, televetConsultCall as al, televetEmptyRosterCause as am, televetEmptyRosterView as an, televetHoldCall as ao, televetJoinCall as ap, televetJoinOpensAtMs as aq, televetJoinReadiness as ar, televetMediaShortfallLines as as, televetRescheduleCall as at, televetThreadMessagesCall as au, televetThreadReadCall as av, televetVisitSummaryCall as aw, useEarlyTriage as ax, useStateInterest as ay, useTelevetBookConsult as az, type TelevetMediaShortfall as b, type TelevetBookingStep as c, type TelevetBookingContext as d, type TelevetBookingController as e, type TelevetTriageRead as f, type TelevetStateInterestWrite as g, type TelevetVetThreadTarget as h, type TelevetDayPeriod as i, TELEVET_BOOKING_BASE as j, TELEVET_BOOKING_COPY as k, TELEVET_BOOKING_STEPS as l, TELEVET_CONSULT_PAGE_LIMIT as m, TELEVET_JOIN_CLOSES_MINUTES_AFTER as n, TELEVET_JOIN_OPENS_MINUTES_BEFORE as o, TELEVET_MESSAGE_THREADS_PATH as p, type TelevetAttachmentMeta as q, type TelevetAttachmentPolicy as r, type TelevetBookingAction as s, type TelevetBookingControllerDeps as t, type TelevetBookingCopy as u, type TelevetBookingDraft as v, type TelevetBookingFailure as w, type TelevetBookingRefusal as x, type TelevetBookingState as y, type TelevetEarlyTriage as z };
1398
+ export { attestation as $, type TelevetEmptyRosterView as A, type TelevetJoinReadiness as B, CONSULT_MINUTES as C, type TelevetJoinState as D, type TelevetMediaRefusal as E, type TelevetRead as F, type TelevetStateInterestReason as G, type TelevetWrite as H, type UseVetThreadOptions as I, VET_MESSAGE_CONTENT_MAX as J, VET_MESSAGE_PAGE_DEFAULT as K, VET_MESSAGE_PAGE_MAX as L, type VetMessage as M, NO_MEDIA_SHORTFALL as N, type VetMessagePage as O, type VetMessageRole as P, type VetMessagesAvailability as Q, type VetSendFailure as R, type VetThread as S, type TelevetEmptyRosterCause as T, type UpcomingTelevetVisitState as U, VET_MESSAGES_COPY as V, type VetThreadState as W, type VetThreadsState as X, type VisitSummary as Y, type VisitSummaryMedication as Z, type VisitSummaryState as _, type TelevetStateInterestAction as a, canConfirm as a0, canManageTelevetVisit as a1, createTelevetBookingController as a2, currentStep as a3, emptyTelevetDraft as a4, formatVisitRange as a5, formatWhen as a6, formatWhenWithDay as a7, hasPreviousStep as a8, initialTelevetBookingState as a9, useTelevetBookConsult as aA, useTelevetBookingAvailable as aB, useTelevetBookingController as aC, useTelevetBookingEntitlement as aD, useTelevetCancellationPolicy as aE, useTelevetClinicians as aF, useTelevetHoldSlot as aG, useTelevetJoin as aH, useTelevetNextSlot as aI, useTelevetRescheduleConsult as aJ, useTelevetSlots as aK, useTelevetStatePolicy as aL, useUpcomingTelevetVisit as aM, useVetThread as aN, useVetThreads as aO, useVisitSummary as aP, validateBookingBody as aQ, vetThreadPetRef as aR, withUnsentPicks as aS, type TelevetJoinBlock as aT, type TelevetJoinDecision as aU, televetJoinDecision as aV, isHoldExpired as aa, isMediaShortfallEmpty as ab, isSkipped as ac, isTelevetBookingCopyReady as ad, isVetMessagesDark as ae, isVetThreadVetFirst as af, mediaShortfallFromUnsentPicks as ag, splitTelevetVisits as ah, televetBookingKey as ai, televetBookingReducer as aj, televetBookingRefusal as ak, televetCancelCall as al, televetConsultCall as am, televetEmptyRosterCause as an, televetEmptyRosterView as ao, televetHoldCall as ap, televetJoinCall as aq, televetJoinOpensAtMs as ar, televetJoinReadiness as as, televetMediaShortfallLines as at, televetRescheduleCall as au, televetThreadMessagesCall as av, televetThreadReadCall as aw, televetVisitSummaryCall as ax, useEarlyTriage as ay, useStateInterest as az, type TelevetMediaShortfall as b, type TelevetBookingStep as c, type TelevetBookingContext as d, type TelevetBookingController as e, type TelevetTriageRead as f, type TelevetStateInterestWrite as g, type TelevetVetThreadTarget as h, type TelevetDayPeriod as i, TELEVET_BOOKING_BASE as j, TELEVET_BOOKING_COPY as k, TELEVET_BOOKING_STEPS as l, TELEVET_CONSULT_PAGE_LIMIT as m, TELEVET_JOIN_CLOSES_MINUTES_AFTER as n, TELEVET_JOIN_OPENS_MINUTES_BEFORE as o, TELEVET_MESSAGE_THREADS_PATH as p, type TelevetAttachmentMeta as q, type TelevetAttachmentPolicy as r, type TelevetBookingAction as s, type TelevetBookingControllerDeps as t, type TelevetBookingCopy as u, type TelevetBookingDraft as v, type TelevetBookingFailure as w, type TelevetBookingRefusal as x, type TelevetBookingState as y, type TelevetEarlyTriage as z };
@@ -1,4 +1,5 @@
1
- import { d as EverfurFontWeight, q as EverfurThemeSlotName, a as EverfurFontFaceKey, r as EverfurThemeSlots, c as EverfurFontSource } from './tokens-DLj8OnLH.js';
1
+ import { d as EverfurFontWeight, q as EverfurThemeSlotName, a as EverfurFontFaceKey, r as EverfurThemeSlots, c as EverfurFontSource } from './tokens.d-DarDaV39.cjs';
2
+ import { P as PRESENTATION_LOCK, k as PRESENTATION_LOCK_PREFIX, i as EverfurPresentationInput } from './presentation.d-DMbdad7G.cjs';
2
3
 
3
4
  /** The presets an appearance may start from. `everfur` is the compiled default. */
4
5
  declare const APPEARANCE_PRESET_NAMES: readonly ["everfur", "minimal", "night"];
@@ -333,6 +334,12 @@ interface ClientBranding {
333
334
  * attribution.
334
335
  */
335
336
  readonly lockedFields?: readonly ThemeLockName[] | null;
337
+ /**
338
+ * presentation: the tenant's layout settings (chat answer style, history style, composer toggles, disclaimer
339
+ * placement, Health Plan layout, records options), only the fields the tenant set. Read through
340
+ * `resolvePresentation` (presentation.ts), never by the theme. Absent/null = every default.
341
+ */
342
+ readonly presentation?: EverfurPresentationInput | null;
336
343
  /**
337
344
  * background_color: the ground of the LIGHT palette (the surface, the chat ground, the page, the assistant reply),
338
345
  * with the cream, subtle and ring grounds derived from it. Absent/null keeps Everfur's own grounds.
@@ -404,7 +411,7 @@ type LockableThemeField = (typeof LOCKABLE_THEME_FIELDS)[number];
404
411
  declare const SLOT_LOCK_PREFIX = "slots.";
405
412
  type SlotLockName = `${typeof SLOT_LOCK_PREFIX}${EverfurThemeSlotName}`;
406
413
  /** Everything `locked_fields` may name: a cosmetic field, one slot, or the (always locked) attribution. */
407
- type ThemeLockName = LockableThemeField | SlotLockName | 'hide_powered_by';
414
+ type ThemeLockName = LockableThemeField | SlotLockName | 'hide_powered_by' | typeof PRESENTATION_LOCK | `${typeof PRESENTATION_LOCK_PREFIX}${string}`;
408
415
  /** The branding wire versions this SDK reads: 1 (absent on the wire) and 2 (the 18 Sep 2026 fields). */
409
416
  declare const THEME_SCHEMA_VERSIONS: readonly number[];
410
417
  /**
@@ -1,4 +1,5 @@
1
- import { d as EverfurFontWeight, q as EverfurThemeSlotName, a as EverfurFontFaceKey, r as EverfurThemeSlots, c as EverfurFontSource } from './tokens-DLj8OnLH.cjs';
1
+ import { d as EverfurFontWeight, q as EverfurThemeSlotName, a as EverfurFontFaceKey, r as EverfurThemeSlots, c as EverfurFontSource } from './tokens.d-DarDaV39.js';
2
+ import { P as PRESENTATION_LOCK, k as PRESENTATION_LOCK_PREFIX, i as EverfurPresentationInput } from './presentation.d-DMbdad7G.js';
2
3
 
3
4
  /** The presets an appearance may start from. `everfur` is the compiled default. */
4
5
  declare const APPEARANCE_PRESET_NAMES: readonly ["everfur", "minimal", "night"];
@@ -333,6 +334,12 @@ interface ClientBranding {
333
334
  * attribution.
334
335
  */
335
336
  readonly lockedFields?: readonly ThemeLockName[] | null;
337
+ /**
338
+ * presentation: the tenant's layout settings (chat answer style, history style, composer toggles, disclaimer
339
+ * placement, Health Plan layout, records options), only the fields the tenant set. Read through
340
+ * `resolvePresentation` (presentation.ts), never by the theme. Absent/null = every default.
341
+ */
342
+ readonly presentation?: EverfurPresentationInput | null;
336
343
  /**
337
344
  * background_color: the ground of the LIGHT palette (the surface, the chat ground, the page, the assistant reply),
338
345
  * with the cream, subtle and ring grounds derived from it. Absent/null keeps Everfur's own grounds.
@@ -404,7 +411,7 @@ type LockableThemeField = (typeof LOCKABLE_THEME_FIELDS)[number];
404
411
  declare const SLOT_LOCK_PREFIX = "slots.";
405
412
  type SlotLockName = `${typeof SLOT_LOCK_PREFIX}${EverfurThemeSlotName}`;
406
413
  /** Everything `locked_fields` may name: a cosmetic field, one slot, or the (always locked) attribution. */
407
- type ThemeLockName = LockableThemeField | SlotLockName | 'hide_powered_by';
414
+ type ThemeLockName = LockableThemeField | SlotLockName | 'hide_powered_by' | typeof PRESENTATION_LOCK | `${typeof PRESENTATION_LOCK_PREFIX}${string}`;
408
415
  /** The branding wire versions this SDK reads: 1 (absent on the wire) and 2 (the 18 Sep 2026 fields). */
409
416
  declare const THEME_SCHEMA_VERSIONS: readonly number[];
410
417
  /**
@@ -1,4 +1,4 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.cjs';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
2
2
 
3
3
  /** The phases the in-app call surface moves through. The consumer app's `CallPhase`, verbatim. */
4
4
  type VetCallPhase = 'joining' | 'joined' | 'left' | 'error';
@@ -1,4 +1,4 @@
1
- import { E as EverfurError } from './EverfurError-DeBqRpQV.js';
1
+ import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
2
2
 
3
3
  /** The phases the in-app call surface moves through. The consumer app's `CallPhase`, verbatim. */
4
4
  type VetCallPhase = 'joining' | 'joined' | 'left' | 'error';
@@ -1,6 +1,6 @@
1
- import { E as EverfurResult } from './EverfurResult-COlXj1wq.cjs';
2
- import { A as AuthContext } from './identity-DFVGYn1o.cjs';
3
- import { P as PetRef } from './ids-B2GAAifq.cjs';
1
+ import { E as EverfurResult } from './EverfurResult.d-BFH-3s6E.cjs';
2
+ import { A as AuthContext } from './identity.d-60LeJt_s.cjs';
3
+ import { P as PetRef } from './ids.d-B2GAAifq.cjs';
4
4
 
5
5
  /** The owner's answer to a check-in, the wire values of the consumer `CheckinResponse` enum. */
6
6
  type CheckinAnswer = 'better' | 'same' | 'worse';
@@ -1,6 +1,6 @@
1
- import { E as EverfurResult } from './EverfurResult-ClPTS0P2.js';
2
- import { A as AuthContext } from './identity-Cw07BKZp.js';
3
- import { P as PetRef } from './ids-B2GAAifq.js';
1
+ import { E as EverfurResult } from './EverfurResult.d-D_-254ZY.js';
2
+ import { A as AuthContext } from './identity.d-DzTijonw.js';
3
+ import { P as PetRef } from './ids.d-B2GAAifq.js';
4
4
 
5
5
  /** The owner's answer to a check-in, the wire values of the consumer `CheckinResponse` enum. */
6
6
  type CheckinAnswer = 'better' | 'same' | 'worse';