@everfur/sdk 0.1.1 → 0.3.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.
- package/CHANGELOG.md +634 -0
- package/README.md +58 -23
- package/consent/package.json +8 -0
- package/dist/Chat-DPUD6dnc.d.cts +128 -0
- package/dist/Chat-DwAC2vhB.d.ts +128 -0
- package/dist/DepthViews-DNEM96Se.d.ts +16 -0
- package/dist/DepthViews-DP0R-DhB.d.cts +19 -0
- package/dist/DepthViews-D_3hl4xk.d.ts +19 -0
- package/dist/DepthViews-DbFhR4Du.d.cts +16 -0
- package/dist/ErrorPolicyPort-CNf4uQZP.d.cts +22 -0
- package/dist/ErrorPolicyPort-CwbfmxzJ.d.ts +22 -0
- package/dist/{EverfurResult-D92-uL82.d.cts → EverfurResult-DN9pL2Ab.d.cts} +11 -10
- package/dist/{EverfurResult-D92-uL82.d.ts → EverfurResult-DN9pL2Ab.d.ts} +11 -10
- package/dist/{PhotoController-BItt5M7u.d.cts → PhotoController-3l7MT9jA.d.cts} +1 -1
- package/dist/{PhotoController-D8zMTdcW.d.ts → PhotoController-vzY5bfY_.d.ts} +1 -1
- package/dist/animations/index.cjs +1 -1997
- package/dist/animations/index.d.cts +35 -35
- package/dist/animations/index.d.ts +35 -35
- package/dist/animations/index.js +1 -1972
- package/dist/attachments-5NeobOCd.d.ts +256 -0
- package/dist/attachments-Bw3iMQgu.d.ts +146 -0
- package/dist/attachments-CQgFrEQ7.d.cts +146 -0
- package/dist/attachments-D8T5re7e.d.cts +256 -0
- package/dist/casesRepository-ClLv6qMl.d.ts +188 -0
- package/dist/casesRepository-DHwtGRYY.d.cts +188 -0
- package/dist/chat/index.cjs +1 -1170
- package/dist/chat/index.d.cts +31 -53
- package/dist/chat/index.d.ts +31 -53
- package/dist/chat/index.js +1 -1167
- package/dist/client/index.cjs +9 -2315
- package/dist/client/index.d.cts +77 -15
- package/dist/client/index.d.ts +77 -15
- package/dist/client/index.js +9 -2215
- package/dist/{config-CiJ0PVBB.d.ts → config-CzTZGlfF.d.cts} +63 -25
- package/dist/{config-BSjBdxrZ.d.cts → config-DW60uRb9.d.ts} +63 -25
- package/dist/consent/index.cjs +1 -0
- package/dist/consent/index.d.cts +33 -0
- package/dist/consent/index.d.ts +33 -0
- package/dist/consent/index.js +1 -0
- package/dist/context-DXhqHlPU.d.ts +159 -0
- package/dist/context-XvTzq1tE.d.cts +159 -0
- package/dist/copy-Mjoo91aS.d.ts +198 -0
- package/dist/copy-bKDNigLb.d.cts +198 -0
- package/dist/core/index.cjs +13 -3178
- package/dist/core/index.d.cts +58 -12
- package/dist/core/index.d.ts +58 -12
- package/dist/core/index.js +13 -3166
- package/dist/depth-CErXCU8J.d.cts +502 -0
- package/dist/depth-DjDcJ6kH.d.ts +502 -0
- package/dist/entitlementRepository-DKdXFgTo.d.cts +698 -0
- package/dist/entitlementRepository-DSbzuyAW.d.ts +698 -0
- package/dist/{identity-DK9zORrG.d.ts → identity-BMx2SUOM.d.ts} +19 -6
- package/dist/{identity-Brl-lDd6.d.cts → identity-DI4eVx9S.d.cts} +19 -6
- package/dist/{ids-CJ1S6adf.d.cts → ids-B2GAAifq.d.cts} +1 -1
- package/dist/{ids-CJ1S6adf.d.ts → ids-B2GAAifq.d.ts} +1 -1
- package/dist/index.cjs +12 -4494
- package/dist/index.d.cts +29 -121
- package/dist/index.d.ts +29 -121
- package/dist/index.js +12 -4470
- package/dist/models-B-Uh2LTf.d.ts +214 -0
- package/dist/models-D2EUxPZY.d.cts +214 -0
- package/dist/notifications/index.cjs +2 -0
- package/dist/notifications/index.d.cts +17 -0
- package/dist/notifications/index.d.ts +17 -0
- package/dist/notifications/index.js +2 -0
- package/dist/pets-CtQdRpWo.d.ts +92 -0
- package/dist/pets-aB8q0JyX.d.cts +92 -0
- package/dist/photo/index.cjs +1 -2189
- package/dist/photo/index.d.cts +6 -6
- package/dist/photo/index.d.ts +6 -6
- package/dist/photo/index.js +1 -2186
- package/dist/ports-BN6RHF9W.d.cts +48 -0
- package/dist/ports-BN6RHF9W.d.ts +48 -0
- package/dist/ports-DEBzEhbp.d.cts +386 -0
- package/dist/ports-DMolTRzU.d.ts +386 -0
- package/dist/profile-CSs1wlXT.d.cts +93 -0
- package/dist/profile-CSs1wlXT.d.ts +93 -0
- package/dist/records/depth/index.cjs +2 -0
- package/dist/records/depth/index.d.cts +13 -0
- package/dist/records/depth/index.d.ts +13 -0
- package/dist/records/depth/index.js +2 -0
- package/dist/records/index.cjs +3 -2839
- package/dist/records/index.d.cts +137 -203
- package/dist/records/index.d.ts +137 -203
- package/dist/records/index.js +3 -2833
- package/dist/requestFunnel-CjW7uDuA.d.ts +87 -0
- package/dist/requestFunnel-L-BQfi0z.d.cts +87 -0
- package/dist/{resolve-Dq_4_agU.d.ts → resolve-D4Ywz5OS.d.cts} +10 -4
- package/dist/{resolve-Dq_4_agU.d.cts → resolve-D4Ywz5OS.d.ts} +10 -4
- package/dist/{runtime-Bvr8yqXm.d.cts → runtime-B8s-_hv8.d.cts} +121 -59
- package/dist/{runtime-BIYzf9cK.d.ts → runtime-BR9ysG0J.d.ts} +121 -59
- package/dist/server/events/index.cjs +2 -0
- package/dist/server/events/index.d.cts +550 -0
- package/dist/server/events/index.d.ts +550 -0
- package/dist/server/events/index.js +2 -0
- package/dist/server/index.cjs +2 -533
- package/dist/server/index.d.cts +73 -18
- package/dist/server/index.d.ts +73 -18
- package/dist/server/index.js +2 -530
- package/dist/species-BXAIMh7I.d.cts +9 -0
- package/dist/species-BXAIMh7I.d.ts +9 -0
- package/dist/televet/index.cjs +1 -0
- package/dist/televet/index.d.cts +60 -0
- package/dist/televet/index.d.ts +60 -0
- package/dist/televet/index.js +1 -0
- package/dist/testing/index.cjs +5 -823
- package/dist/testing/index.d.cts +17 -3
- package/dist/testing/index.d.ts +17 -3
- package/dist/testing/index.js +5 -820
- package/dist/testing/rn/index.cjs +1 -449
- package/dist/testing/rn/index.d.cts +17 -29
- package/dist/testing/rn/index.d.ts +17 -29
- package/dist/testing/rn/index.js +1 -444
- package/dist/testing/web/index.cjs +1 -0
- package/dist/testing/web/index.d.cts +131 -0
- package/dist/testing/web/index.d.ts +131 -0
- package/dist/testing/web/index.js +1 -0
- package/dist/timelineRows-CaohZzXS.d.cts +19 -0
- package/dist/timelineRows-DZed6dAM.d.ts +19 -0
- package/dist/typeStyle-0TydiZ1w.d.cts +19 -0
- package/dist/typeStyle-CWMsoe6b.d.ts +19 -0
- package/dist/uploadTransport-D0M0T4hN.d.ts +38 -0
- package/dist/uploadTransport-DKJHs3Yj.d.cts +38 -0
- package/dist/useRecordsDepth-BHBzJ76R.d.cts +237 -0
- package/dist/useRecordsDepth-BU-OhzH6.d.ts +237 -0
- package/dist/useVetVisit-Bc84hWUU.d.cts +187 -0
- package/dist/useVetVisit-CjmMa896.d.ts +187 -0
- package/dist/video/index.cjs +1 -1941
- package/dist/video/index.d.cts +4 -4
- package/dist/video/index.d.ts +4 -4
- package/dist/video/index.js +1 -1938
- package/dist/view-C3qPIXGX.d.cts +310 -0
- package/dist/view-DtSPYpKa.d.ts +310 -0
- package/dist/visitIntent-D7_yVp1I.d.cts +8 -0
- package/dist/visitIntent-D7_yVp1I.d.ts +8 -0
- package/dist/web/consent/index.cjs +1 -0
- package/dist/web/consent/index.d.cts +34 -0
- package/dist/web/consent/index.d.ts +34 -0
- package/dist/web/consent/index.js +1 -0
- package/dist/web/index.cjs +14 -0
- package/dist/web/index.d.cts +217 -0
- package/dist/web/index.d.ts +217 -0
- package/dist/web/index.js +14 -0
- package/dist/web/notifications/index.cjs +2 -0
- package/dist/web/notifications/index.d.cts +213 -0
- package/dist/web/notifications/index.d.ts +213 -0
- package/dist/web/notifications/index.js +2 -0
- package/dist/web/records/depth/index.cjs +2 -0
- package/dist/web/records/depth/index.d.cts +12 -0
- package/dist/web/records/depth/index.d.ts +12 -0
- package/dist/web/records/depth/index.js +2 -0
- package/dist/web/records/index.cjs +4 -0
- package/dist/web/records/index.d.cts +194 -0
- package/dist/web/records/index.d.ts +194 -0
- package/dist/web/records/index.js +4 -0
- package/dist/web/televet/index.cjs +1 -0
- package/dist/web/televet/index.d.cts +50 -0
- package/dist/web/televet/index.d.ts +50 -0
- package/dist/web/televet/index.js +1 -0
- package/notifications/package.json +8 -0
- package/package.json +197 -9
- package/records/depth/package.json +8 -0
- package/server/events/device-blocked.cjs +15 -0
- package/server/events/package.json +9 -0
- package/televet/package.json +8 -0
- package/testing/web/native-blocked.cjs +12 -0
- package/testing/web/package.json +8 -0
- package/web/consent/native-blocked.cjs +12 -0
- package/web/consent/package.json +8 -0
- package/web/native-blocked.cjs +12 -0
- package/web/notifications/native-blocked.cjs +12 -0
- package/web/notifications/package.json +8 -0
- package/web/package.json +8 -0
- package/web/records/depth/native-blocked.cjs +12 -0
- package/web/records/depth/package.json +8 -0
- package/web/records/native-blocked.cjs +12 -0
- package/web/records/package.json +8 -0
- package/web/televet/native-blocked.cjs +12 -0
- package/web/televet/package.json +8 -0
- package/dist/ChatController-CKdBvPj2.d.ts +0 -146
- package/dist/ChatController-CpUMvvZf.d.cts +0 -146
- package/dist/FilePort-BabWrv7I.d.cts +0 -22
- package/dist/FilePort-BabWrv7I.d.ts +0 -22
- package/dist/petsRepository-BEGb97M9.d.cts +0 -326
- package/dist/petsRepository-Bu18r2kK.d.ts +0 -326
- package/dist/requestFunnel-DuUH-kAe.d.cts +0 -28
- package/dist/requestFunnel-dio5OmR9.d.ts +0 -28
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { c as EverfurResult, E as EverfurError } from './EverfurResult-DN9pL2Ab.js';
|
|
2
|
+
import { P as PetRef } from './ids-B2GAAifq.js';
|
|
3
|
+
import { V as VetVisitIntent } from './visitIntent-D7_yVp1I.js';
|
|
4
|
+
|
|
5
|
+
/** What the hosted page will open for a handoff minted with `visitRef`: the platform's own echo. */
|
|
6
|
+
interface VetVisitHandoffVisit {
|
|
7
|
+
/** The visit reference the handoff was minted for, as you sent it. */
|
|
8
|
+
readonly visitRef: string;
|
|
9
|
+
/** What the hosted page opens for it. `visit` when you named no intent. */
|
|
10
|
+
readonly intent: VetVisitIntent;
|
|
11
|
+
}
|
|
12
|
+
/** A minted handoff. Open `url` once, promptly; it expires at `expiresAt` and is spent by the first use. */
|
|
13
|
+
interface VetVisitHandoff {
|
|
14
|
+
/** The hosted Everfur page with the single-use token in its fragment. Never log or persist it. */
|
|
15
|
+
readonly url: string;
|
|
16
|
+
/** ISO-8601 timestamp from the server; about 120 seconds after the mint. */
|
|
17
|
+
readonly expiresAt: string;
|
|
18
|
+
/**
|
|
19
|
+
* Present only when the handoff was minted with `returnTo`: the opaque id the user comes back with on your
|
|
20
|
+
* registered return destination. Keep it to match the return (`parseVetVisitReturn`). It says nothing about
|
|
21
|
+
* the visit.
|
|
22
|
+
*/
|
|
23
|
+
readonly flowId?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Present only when the handoff was minted with `visitRef`: what the hosted page will open, echoed by the
|
|
26
|
+
* platform from what it stored with the handoff. The reference never rides the URL, so this is the only
|
|
27
|
+
* place to read it back. Absent on an ordinary booking handoff.
|
|
28
|
+
*/
|
|
29
|
+
readonly visit?: VetVisitHandoffVisit;
|
|
30
|
+
}
|
|
31
|
+
/** Where a vet visit was opened from. `'chat'`: the user chose it inside partner Chat, for the chat's pet. */
|
|
32
|
+
type VetVisitEntry = 'chat';
|
|
33
|
+
/** Optional handoff settings. */
|
|
34
|
+
interface VetVisitHandoffOptions {
|
|
35
|
+
/**
|
|
36
|
+
* The KEY of a return destination your tenant registered with Everfur. After the hosted visit flow the user
|
|
37
|
+
* can go back to that destination, and only that one. Never a URL.
|
|
38
|
+
*/
|
|
39
|
+
readonly returnTo?: string | null;
|
|
40
|
+
/** `'chat'` when the user opened the visit from Chat. Requires the pet the chat is about. */
|
|
41
|
+
readonly entry?: VetVisitEntry | null;
|
|
42
|
+
/**
|
|
43
|
+
* TV-01. The reference of a visit this member ALREADY has (the `visit_ref` the `visit.*` events carry, and
|
|
44
|
+
* the one `parseEverfurNotification` reads off a tapped push). The handoff then opens that visit instead of
|
|
45
|
+
* the booking funnel. Everfur resolves it at the mint against this member's own live link, so a reference
|
|
46
|
+
* that is not theirs is refused with the same words a malformed one gets: a `validationFailed` you cannot
|
|
47
|
+
* probe for visits with. At most 64 characters.
|
|
48
|
+
*/
|
|
49
|
+
readonly visitRef?: string | null;
|
|
50
|
+
/**
|
|
51
|
+
* What to open for `visitRef`: the visit itself, its call, its summary or its messages. Absent means
|
|
52
|
+
* `visit`. An intent with no `visitRef` is refused locally, because it names a route with nothing to route
|
|
53
|
+
* to. A tapped push already carries the right one on `target.intent`.
|
|
54
|
+
*/
|
|
55
|
+
readonly intent?: VetVisitIntent | null;
|
|
56
|
+
}
|
|
57
|
+
/** The state preflight's whole answer. Nothing about the account, the plan or the price. */
|
|
58
|
+
interface VetVisitAvailability {
|
|
59
|
+
/** True when a vet visit can be booked for the state asked about. False for every other reason, alike. */
|
|
60
|
+
readonly available: boolean;
|
|
61
|
+
}
|
|
62
|
+
/** A partner app's return from the hosted visit flow, read by `parseVetVisitReturn`. Only the flow id. */
|
|
63
|
+
interface VetVisitReturn {
|
|
64
|
+
/** The opaque flow id from the handoff that led to this return. */
|
|
65
|
+
readonly flowId: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The closed set a partner branches on, derived from the route's documented outcomes.
|
|
69
|
+
*
|
|
70
|
+
* - `sessionRequired`: the integration sent no signed session. Mint one on your backend
|
|
71
|
+
* (`@everfur/sdk/server` mintPartnerSession) and hand the token to `EverfurUser.getToken`.
|
|
72
|
+
* - `authRejected`: the session token was refused after the one refresh the SDK performs.
|
|
73
|
+
* - `accessDenied`: a signed session whose key or plan does not include vet visits.
|
|
74
|
+
* - `unavailable`: vet visits are off for this partner or for Everfur right now (the route answers 404).
|
|
75
|
+
* - `rateLimited`: this user or this partner has opened too many visits recently. Do not retry in a loop.
|
|
76
|
+
* - `sdkUpdateRequired`: the API refused this SDK version.
|
|
77
|
+
* - `invalidRequest`: the pet reference was refused (empty, or longer than 128 characters).
|
|
78
|
+
* - `network`: no response arrived (offline, DNS, timeout).
|
|
79
|
+
* - `serverError`: the API failed, or answered with something that is not a usable Everfur visit URL.
|
|
80
|
+
* - `popupBlocked`: web only. The browser refused to open the new tab.
|
|
81
|
+
* - `openFailed`: React Native only. The host could not open the URL.
|
|
82
|
+
* - `cancelled`: nothing to show. The visit tab was closed before it loaded, or the signed-in user changed
|
|
83
|
+
* while the handoff was being minted, so it was dropped rather than opened for the previous user.
|
|
84
|
+
* - `unknown`: anything else.
|
|
85
|
+
*/
|
|
86
|
+
type VetVisitErrorReason = 'sessionRequired' | 'authRejected' | 'accessDenied' | 'unavailable' | 'rateLimited' | 'sdkUpdateRequired' | 'invalidRequest' | 'network' | 'serverError' | 'popupBlocked' | 'openFailed' | 'cancelled' | 'unknown';
|
|
87
|
+
/** Map a settled handoff failure to its closed reason. Total and pure. */
|
|
88
|
+
declare function vetVisitErrorReasonOf(error: EverfurError): VetVisitErrorReason;
|
|
89
|
+
/** Mints handoffs for the current session. Built by `useVetVisit`; injectable for tests. */
|
|
90
|
+
interface VetVisitController {
|
|
91
|
+
/**
|
|
92
|
+
* Mint one handoff. Optional `petRef` scopes the visit to the partner's pet, shown to the user after
|
|
93
|
+
* sign-in. `options` names a registered return destination and where the visit was opened from. Settles;
|
|
94
|
+
* never throws; never retries.
|
|
95
|
+
*/
|
|
96
|
+
createHandoff(petRef?: PetRef | null, options?: VetVisitHandoffOptions): Promise<EverfurResult<VetVisitHandoff>>;
|
|
97
|
+
/**
|
|
98
|
+
* Ask whether a vet visit is available for a US state (for example `'CA'`). Settles. An injected controller
|
|
99
|
+
* without it is treated as unavailable wherever the hook needs the answer.
|
|
100
|
+
*/
|
|
101
|
+
checkAvailability?(state: string): Promise<EverfurResult<VetVisitAvailability>>;
|
|
102
|
+
/** True only while Everfur has the vet entry inside Chat switched on. Never throws; any failure is false. */
|
|
103
|
+
chatEntryOpen?(): Promise<boolean>;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Read an Everfur return off the URL your registered return destination was opened with. Returns the opaque
|
|
107
|
+
* flow id you received from the handoff, or null for any URL that does not carry exactly one well-formed
|
|
108
|
+
* Everfur flow id in its query. It carries nothing about the visit, the pet or the account.
|
|
109
|
+
*/
|
|
110
|
+
declare function parseVetVisitReturn(url: string): VetVisitReturn | null;
|
|
111
|
+
|
|
112
|
+
/** `idle` before a tap and after a successful open; `opening` while the handoff is minted; `error` after a failure. */
|
|
113
|
+
type VetVisitStatus = 'idle' | 'opening' | 'error';
|
|
114
|
+
/** What one `open()` call settled to. The URL is deliberately absent. */
|
|
115
|
+
type VetVisitOpenResult = {
|
|
116
|
+
readonly opened: true;
|
|
117
|
+
readonly flowId?: string;
|
|
118
|
+
} | {
|
|
119
|
+
readonly opened: false;
|
|
120
|
+
readonly reason: VetVisitErrorReason;
|
|
121
|
+
readonly error: EverfurError | null;
|
|
122
|
+
};
|
|
123
|
+
/** Options for `useVetVisit`. */
|
|
124
|
+
interface UseVetVisitOptions {
|
|
125
|
+
/** The partner's pet reference to scope the visit to. `open(petRef)` overrides it per call. */
|
|
126
|
+
readonly petRef?: PetRef | null;
|
|
127
|
+
/** Host/test seam: inject a controller instead of building one from the provider's session. */
|
|
128
|
+
readonly controller?: VetVisitController;
|
|
129
|
+
/**
|
|
130
|
+
* The KEY of a return destination your tenant registered with Everfur. The visit can then send the user back
|
|
131
|
+
* to it, and `open()` settles with the `flowId` that return will carry.
|
|
132
|
+
*/
|
|
133
|
+
readonly returnTo?: string | null;
|
|
134
|
+
/**
|
|
135
|
+
* The user's US state (for example `'CA'`). When set, `available` stays false until Everfur confirms a visit
|
|
136
|
+
* is available there, so the entry is never shown to a user who could not book.
|
|
137
|
+
*/
|
|
138
|
+
readonly usState?: string | null;
|
|
139
|
+
/**
|
|
140
|
+
* `'chat'` for the entry inside Chat. `available` then also needs Everfur's chat entry switch and a pet (the
|
|
141
|
+
* one the chat is about); the visit itself is the same hosted visit.
|
|
142
|
+
*/
|
|
143
|
+
readonly entry?: VetVisitEntry | null;
|
|
144
|
+
}
|
|
145
|
+
/** What `useVetVisit` returns. The handoff URL is never part of it. */
|
|
146
|
+
interface UseVetVisitState {
|
|
147
|
+
/**
|
|
148
|
+
* True only when the server grants the `televet` capability AND the provider is scoped to a user. A handoff
|
|
149
|
+
* is minted from the user's session, so a publishable-key-only context could only ever spend a blank tab on
|
|
150
|
+
* a `sessionRequired` failure. A surface renders nothing otherwise.
|
|
151
|
+
*/
|
|
152
|
+
readonly available: boolean;
|
|
153
|
+
/** True while the capability verdict is still resolving. */
|
|
154
|
+
readonly isPending: boolean;
|
|
155
|
+
/** Where the last `open()` is: idle, opening, or failed. */
|
|
156
|
+
readonly status: VetVisitStatus;
|
|
157
|
+
/** The settled failure of the last `open()`, or null. `error.displayMessage` is safe to show. */
|
|
158
|
+
readonly error: EverfurError | null;
|
|
159
|
+
/** The closed reason for the last failure, or null. */
|
|
160
|
+
readonly errorReason: VetVisitErrorReason | null;
|
|
161
|
+
/**
|
|
162
|
+
* Mint a handoff and open the hosted Everfur visit. Call it directly from a press or click handler. A second
|
|
163
|
+
* call while one is in flight returns the same promise rather than minting a second handoff.
|
|
164
|
+
*/
|
|
165
|
+
open(petRef?: PetRef | null): Promise<VetVisitOpenResult>;
|
|
166
|
+
/**
|
|
167
|
+
* TV-01. Open a visit this member ALREADY has, instead of the booking funnel: the recap of a finished
|
|
168
|
+
* visit, the thread the vet wrote in, the call a reminder is for. `visitRef` is the reference the
|
|
169
|
+
* `visit.*` events carry, and `intent` is what to open for it (`visit` when omitted).
|
|
170
|
+
*
|
|
171
|
+
* Hand it what a tapped push gave you, unchanged:
|
|
172
|
+
* ```ts
|
|
173
|
+
* const n = parseEverfurNotification(response);
|
|
174
|
+
* if (n?.target.kind === 'visit' && n.target.intent !== null) {
|
|
175
|
+
* await visit.openVisit(n.target.visitRef, n.target.intent);
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
* A `null` intent on a target means the visit is over without happening (cancelled, missed): there is
|
|
179
|
+
* nothing left to open, so call `open()` to book a new one instead.
|
|
180
|
+
*
|
|
181
|
+
* Everfur resolves the reference at the mint against this member's own visits, so one that is not theirs
|
|
182
|
+
* settles `invalidRequest` and opens nothing. Shares the single-flight rule with `open`.
|
|
183
|
+
*/
|
|
184
|
+
openVisit(visitRef: string, intent?: VetVisitIntent | null): Promise<VetVisitOpenResult>;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export { type UseVetVisitOptions as U, type VetVisitEntry as V, type UseVetVisitState as a, type VetVisitErrorReason as b, type VetVisitController as c, type VetVisitAvailability as d, type VetVisitHandoff as e, type VetVisitHandoffOptions as f, type VetVisitHandoffVisit as g, type VetVisitOpenResult as h, type VetVisitReturn as i, type VetVisitStatus as j, parseVetVisitReturn as p, vetVisitErrorReasonOf as v };
|