@ikonai/sdk 1.8.0 → 1.11.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/app-messaging.d.ts +13 -2
- package/app-messaging.d.ts.map +1 -0
- package/assets/audio-playback-worker-BA5LbdyM.js +1 -0
- package/assets/protocol-worker-Byc-OmNW.js +3 -0
- package/assets/video-capture-worker-DRYxkwR0.js +1 -0
- package/assets/video-playback-worker-v179IJ-C.js +1 -0
- package/assets/viseme-worker-CmvzHAbf.js +1 -0
- package/audio-constants-0i9B4zLJ.js +4 -0
- package/backend/account-functions.d.ts +22 -0
- package/backend/account-functions.d.ts.map +1 -0
- package/backend/user-account.d.ts +58 -0
- package/backend/user-account.d.ts.map +1 -0
- package/capabilities-ljRyAKpA.js +248 -0
- package/capture/capture-functions.d.ts +34 -0
- package/capture/capture-functions.d.ts.map +1 -0
- package/capture/view-capture.d.ts +35 -0
- package/capture/view-capture.d.ts.map +1 -0
- package/channel/channel-manager.d.ts +3 -2
- package/channel/channel-manager.d.ts.map +1 -0
- package/channel/channel.d.ts +6 -2
- package/channel/channel.d.ts.map +1 -0
- package/channel/index.d.ts +1 -0
- package/channel/index.d.ts.map +1 -0
- package/channel-manager-ehgy3BJp.js +878 -0
- package/client/connection-state.d.ts +1 -0
- package/client/connection-state.d.ts.map +1 -0
- package/client/endpoint-selector.d.ts +2 -1
- package/client/endpoint-selector.d.ts.map +1 -0
- package/client/ikon-client-config.d.ts +14 -1
- package/client/ikon-client-config.d.ts.map +1 -0
- package/client/ikon-client.d.ts +146 -5
- package/client/ikon-client.d.ts.map +1 -0
- package/connection/authenticator.d.ts +6 -1
- package/connection/authenticator.d.ts.map +1 -0
- package/connection/urls.d.ts +1 -0
- package/connection/urls.d.ts.map +1 -0
- package/consent/consent-api.d.ts +61 -0
- package/consent/consent-api.d.ts.map +1 -0
- package/dist-BrkppKKs.js +801 -0
- package/errors/index.d.ts +11 -0
- package/errors/index.d.ts.map +1 -0
- package/feedback/feedback-api.d.ts +63 -0
- package/feedback/feedback-api.d.ts.map +1 -0
- package/functions/browser-functions.d.ts +2 -1
- package/functions/browser-functions.d.ts.map +1 -0
- package/functions/download-functions.d.ts +20 -0
- package/functions/download-functions.d.ts.map +1 -0
- package/functions/function-registry.d.ts +2 -1
- package/functions/function-registry.d.ts.map +1 -0
- package/functions/index.d.ts +2 -0
- package/functions/index.d.ts.map +1 -0
- package/functions/media-capture-functions.d.ts +1 -0
- package/functions/media-capture-functions.d.ts.map +1 -0
- package/functions/sound-functions.d.ts +3 -1
- package/functions/sound-functions.d.ts.map +1 -0
- package/functions/type-conversion.d.ts +1 -0
- package/functions/type-conversion.d.ts.map +1 -0
- package/functions/types.d.ts +2 -1
- package/functions/types.d.ts.map +1 -0
- package/ikon-media-BQjL59S_.js +2074 -0
- package/ikon-media-capture-BiGydwdg.js +1422 -0
- package/index.d.ts +24 -11
- package/index.d.ts.map +1 -0
- package/index.js +6707 -10749
- package/log-type-DewKVFaU.js +832 -0
- package/logger-gjegmH6K.js +80 -0
- package/login/index.d.ts +1 -0
- package/login/index.d.ts.map +1 -0
- package/login/login-error-interceptor.d.ts +1 -0
- package/login/login-error-interceptor.d.ts.map +1 -0
- package/login/login-store.d.ts +1 -0
- package/login/login-store.d.ts.map +1 -0
- package/login/reprovision.d.ts +1 -0
- package/login/reprovision.d.ts.map +1 -0
- package/media/audio-constants.d.ts +1 -0
- package/media/audio-constants.d.ts.map +1 -0
- package/media/capabilities.d.ts +1 -0
- package/media/capabilities.d.ts.map +1 -0
- package/media/device-detection.d.ts +1 -0
- package/media/device-detection.d.ts.map +1 -0
- package/media/ikon-audio-capture.d.ts +23 -0
- package/media/ikon-audio-capture.d.ts.map +1 -0
- package/media/ikon-audio-playback.d.ts +3 -1
- package/media/ikon-audio-playback.d.ts.map +1 -0
- package/media/ikon-image-capture.d.ts +1 -0
- package/media/ikon-image-capture.d.ts.map +1 -0
- package/media/ikon-media-capture.d.ts +1 -0
- package/media/ikon-media-capture.d.ts.map +1 -0
- package/media/ikon-media.d.ts +1 -0
- package/media/ikon-media.d.ts.map +1 -0
- package/media/ikon-video-capture.d.ts +9 -0
- package/media/ikon-video-capture.d.ts.map +1 -0
- package/media/ikon-video-playback.d.ts +2 -1
- package/media/ikon-video-playback.d.ts.map +1 -0
- package/media/index.d.ts +1 -0
- package/media/index.d.ts.map +1 -0
- package/media/media-permission.d.ts +1 -0
- package/media/media-permission.d.ts.map +1 -0
- package/media/media-session-helper.d.ts +1 -0
- package/media/media-session-helper.d.ts.map +1 -0
- package/media/ring-buffer.d.ts +1 -0
- package/media/ring-buffer.d.ts.map +1 -0
- package/media/video-constants.d.ts +1 -0
- package/media/video-constants.d.ts.map +1 -0
- package/media/viseme-tracker.d.ts +2 -1
- package/media/viseme-tracker.d.ts.map +1 -0
- package/media-session-helper-Do-OxyU6.js +51 -0
- package/package.json +1 -1
- package/reactive/reactive-registry.d.ts +1 -0
- package/reactive/reactive-registry.d.ts.map +1 -0
- package/sha2-DPTGfEM2.js +261 -0
- package/storage.d.ts +2 -1
- package/storage.d.ts.map +1 -0
- package/transport/http-stream-transport.d.ts +17 -1
- package/transport/http-stream-transport.d.ts.map +1 -0
- package/transport/keepalive-watchdog.d.ts +32 -0
- package/transport/keepalive-watchdog.d.ts.map +1 -0
- package/transport/message-framer.d.ts +1 -0
- package/transport/message-framer.d.ts.map +1 -0
- package/transport/transport-probe.d.ts +2 -1
- package/transport/transport-probe.d.ts.map +1 -0
- package/transport/transport.d.ts +16 -1
- package/transport/transport.d.ts.map +1 -0
- package/transport/web-socket-transport.d.ts +4 -1
- package/transport/web-socket-transport.d.ts.map +1 -0
- package/transport/web-transport-support.d.ts +5 -0
- package/transport/web-transport-support.d.ts.map +1 -0
- package/transport/web-transport-transport.d.ts +4 -8
- package/transport/web-transport-transport.d.ts.map +1 -0
- package/upload/file-upload.d.ts +62 -0
- package/upload/file-upload.d.ts.map +1 -0
- package/utils/abort-signal.d.ts +1 -0
- package/utils/abort-signal.d.ts.map +1 -0
- package/utils/app-routes.d.ts +1 -0
- package/utils/app-routes.d.ts.map +1 -0
- package/utils/boot-signal.d.ts +1 -0
- package/utils/boot-signal.d.ts.map +1 -0
- package/utils/browser-compat.d.ts +1 -0
- package/utils/browser-compat.d.ts.map +1 -0
- package/utils/browser-support.d.ts +1 -0
- package/utils/browser-support.d.ts.map +1 -0
- package/utils/client-identity.d.ts +14 -0
- package/utils/client-identity.d.ts.map +1 -0
- package/utils/connect-timeline.d.ts +1 -0
- package/utils/connect-timeline.d.ts.map +1 -0
- package/utils/debug-mode.d.ts +1 -0
- package/utils/debug-mode.d.ts.map +1 -0
- package/utils/deferred.d.ts +1 -0
- package/utils/deferred.d.ts.map +1 -0
- package/utils/delay.d.ts +1 -0
- package/utils/delay.d.ts.map +1 -0
- package/utils/embedded-oauth.d.ts +1 -0
- package/utils/embedded-oauth.d.ts.map +1 -0
- package/utils/external-link.d.ts +1 -0
- package/utils/external-link.d.ts.map +1 -0
- package/utils/inspect-mode.d.ts +1 -0
- package/utils/inspect-mode.d.ts.map +1 -0
- package/utils/log-sender.d.ts +1 -0
- package/utils/log-sender.d.ts.map +1 -0
- package/utils/log-sink.d.ts +1 -0
- package/utils/log-sink.d.ts.map +1 -0
- package/utils/logger.d.ts +1 -0
- package/utils/logger.d.ts.map +1 -0
- package/utils/oauth-start-url.d.ts +22 -0
- package/utils/oauth-start-url.d.ts.map +1 -0
- package/utils/opcode-names.d.ts +1 -0
- package/utils/opcode-names.d.ts.map +1 -0
- package/utils/parent-log-forward.d.ts +23 -0
- package/utils/parent-log-forward.d.ts.map +1 -0
- package/utils/pkce.d.ts +1 -0
- package/utils/pkce.d.ts.map +1 -0
- package/utils/platform.d.ts +1 -0
- package/utils/platform.d.ts.map +1 -0
- package/utils/query-params.d.ts +21 -0
- package/utils/query-params.d.ts.map +1 -0
- package/utils/user-gesture.d.ts +1 -0
- package/utils/user-gesture.d.ts.map +1 -0
- package/utils/uuid.d.ts +1 -0
- package/utils/uuid.d.ts.map +1 -0
- package/viseme-tracker-CAtczW00.js +183 -0
- package/web-transport-support-Cdyk4mQe.js +229 -0
- package/webrtc/index.d.ts +1 -0
- package/webrtc/index.d.ts.map +1 -0
- package/webrtc/webrtc-config.d.ts +1 -0
- package/webrtc/webrtc-config.d.ts.map +1 -0
- package/webrtc/webrtc-connection.d.ts +10 -0
- package/webrtc/webrtc-connection.d.ts.map +1 -0
- package/webrtc/webrtc-reachability.d.ts +1 -0
- package/webrtc/webrtc-reachability.d.ts.map +1 -0
- package/webrtc/webrtc-signaling.d.ts +19 -1
- package/webrtc/webrtc-signaling.d.ts.map +1 -0
- package/worker/audio-capture-worker.d.ts +1 -0
- package/worker/audio-capture-worker.d.ts.map +1 -0
- package/worker/audio-playback-worker.d.ts +2 -1
- package/worker/audio-playback-worker.d.ts.map +1 -0
- package/worker/protocol-worker.d.ts +1 -0
- package/worker/protocol-worker.d.ts.map +1 -0
- package/worker/video-capture-worker.d.ts +1 -0
- package/worker/video-capture-worker.d.ts.map +1 -0
- package/worker/video-playback-worker.d.ts +2 -1
- package/worker/video-playback-worker.d.ts.map +1 -0
- package/worker/viseme-worker.d.ts +2 -1
- package/worker/viseme-worker.d.ts.map +1 -0
- package/assets/audio-playback-worker-BXZR_9iK.js +0 -1
- package/assets/protocol-worker-PNQ9dfGq.js +0 -3
- package/assets/video-capture-worker-mvwKyjOn.js +0 -1
- package/assets/video-playback-worker-DqNjooZJ.js +0 -1
- package/assets/viseme-worker-D0AKWUTO.js +0 -1
- package/capabilities-xDnE0vqq.js +0 -105
- package/vite.config.d.ts +0 -2
|
@@ -35,3 +35,4 @@ export declare function isOffline(state: ConnectionState): boolean;
|
|
|
35
35
|
* @deprecated The runtime no longer emits `offlineError`. Read `useIkonApp().error` to detect offline-with-error.
|
|
36
36
|
*/
|
|
37
37
|
export declare function isError(state: ConnectionState): boolean;
|
|
38
|
+
//# sourceMappingURL=connection-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-state.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/client/connection-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe;AACzB,wEAAwE;AACtE,MAAM,GACN,8BAA8B,GAC9B,YAAY;AACd,4FAA4F;GAC1F,gBAAgB,GAChB,WAAW,GACX,cAAc,GACd,SAAS;AACX,mHAAmH;GACjH,cAAc,CAAC;AAEnB;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEvD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entrypoint, EntrypointType } from '
|
|
1
|
+
import { Entrypoint, EntrypointType } from '@ikonai/protocol';
|
|
2
2
|
import { HttpStreamMode } from '../transport/transport';
|
|
3
3
|
import { LocalConfig } from './ikon-client-config';
|
|
4
4
|
/**
|
|
@@ -172,3 +172,4 @@ export declare class EndpointSelector {
|
|
|
172
172
|
private loadConnectTier;
|
|
173
173
|
private setConnectTier;
|
|
174
174
|
}
|
|
175
|
+
//# sourceMappingURL=endpoint-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-selector.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/client/endpoint-selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProtocolMessage } from '
|
|
1
|
+
import { ProtocolMessage } from '@ikonai/protocol';
|
|
2
2
|
import { BackendType } from '../connection/urls';
|
|
3
3
|
import { ConnectionState } from './connection-state';
|
|
4
4
|
import { IkonAudioPlaybackConfig } from '../media/ikon-audio-playback';
|
|
@@ -341,6 +341,14 @@ export interface IkonClientConfig {
|
|
|
341
341
|
* Default: false
|
|
342
342
|
*/
|
|
343
343
|
disableBrowserFunctions?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Disable the sound-effect functions (`ikon.client.playSound` / `stopSound`) and
|
|
346
|
+
* the gesture-driven audio unlock they install on the first sound. For an app
|
|
347
|
+
* that plays its own audio, or one that never wants a media element touched
|
|
348
|
+
* inside its touch handlers. The other browser functions stay registered.
|
|
349
|
+
* Default: false
|
|
350
|
+
*/
|
|
351
|
+
disableSoundFunctions?: boolean;
|
|
344
352
|
/**
|
|
345
353
|
* Force WebSocket transport only. When true, only WebSocket (and WebSocketProxy)
|
|
346
354
|
* endpoint types are used. When false, WebSocket types are excluded.
|
|
@@ -410,3 +418,8 @@ export declare const DEFAULT_PROVISIONING_TIMEOUT_MS = 60000;
|
|
|
410
418
|
export declare const OFFLINE_SOFT_RETRY_THRESHOLD_MS: number;
|
|
411
419
|
export declare const RECONNECT_RETRY_INTERVAL_MS: number;
|
|
412
420
|
export declare const JOIN_COMPLETION_TIMEOUT_MS = 10000;
|
|
421
|
+
export declare const LIVENESS_BUDGET_DIVISOR = 3;
|
|
422
|
+
export declare const MIN_LIVENESS_BUDGET_MS = 15000;
|
|
423
|
+
export declare const CORROBORATED_LIVENESS_BUDGET_MS = 5000;
|
|
424
|
+
export declare const OFFLINE_PROBE_TIMEOUT_MS = 3000;
|
|
425
|
+
//# sourceMappingURL=ikon-client-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ikon-client-config.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/client/ikon-client-config.ts"],"names":[],"mappings":"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"}
|
package/client/ikon-client.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { EntrypointType, GlobalState, ProtocolMessage } from '
|
|
1
|
+
import { EntrypointType, GlobalState, ProtocolMessage } from '@ikonai/protocol';
|
|
2
2
|
import { WebRTCSignaling } from '../webrtc';
|
|
3
3
|
import { FunctionRegistry } from '../functions/function-registry';
|
|
4
4
|
import { ReactiveRegistry } from '../reactive/reactive-registry';
|
|
5
|
+
import { BackendAccess, FeedbackClientConfiguration } from '../feedback/feedback-api';
|
|
5
6
|
import { IkonMedia } from '../media/ikon-media';
|
|
6
7
|
import { IkonMediaCapture } from '../media/ikon-media-capture';
|
|
7
8
|
import { VisemeTracker } from '../media/viseme-tracker';
|
|
@@ -62,9 +63,20 @@ export interface ProtocolMessageSubscriptionOptions {
|
|
|
62
63
|
* State handler callback type for state subscribers.
|
|
63
64
|
*/
|
|
64
65
|
export type StateHandler = (state: ConnectionState) => void;
|
|
66
|
+
/** How a dispatched UI action should be treated when the server refuses it. */
|
|
67
|
+
export interface SendActionCallOptions {
|
|
68
|
+
/**
|
|
69
|
+
* The dispatch is a component's own bookkeeping rather than something a person did, so a refusal
|
|
70
|
+
* is not worth a person's attention: a controlled overlay reports itself closed as it unmounts,
|
|
71
|
+
* and when the whole subtree is going away the server has already retired that action. Such a
|
|
72
|
+
* failure is logged at debug instead of error.
|
|
73
|
+
*/
|
|
74
|
+
bestEffort?: boolean;
|
|
75
|
+
}
|
|
65
76
|
/** The server-side outcome of a dispatched UI action (see {@link IkonClient.sendActionCallWithResult}). */
|
|
66
77
|
export interface ActionOutcome {
|
|
67
78
|
success: boolean;
|
|
79
|
+
/** Empty: the server keeps the exception in its own log, so a failure carries no reason here. */
|
|
68
80
|
errorMessage: string;
|
|
69
81
|
}
|
|
70
82
|
export declare class IkonClient {
|
|
@@ -76,6 +88,13 @@ export declare class IkonClient {
|
|
|
76
88
|
private _resumedSession;
|
|
77
89
|
private _connectUrl;
|
|
78
90
|
private _brandingRequired;
|
|
91
|
+
private _feedback;
|
|
92
|
+
private feedbackRequestHandler;
|
|
93
|
+
private feedbackButtonChoice;
|
|
94
|
+
private _feedbackSource;
|
|
95
|
+
private readonly feedbackSubscribers;
|
|
96
|
+
private _backendUrl;
|
|
97
|
+
private _backendToken;
|
|
79
98
|
private currentState;
|
|
80
99
|
private _activeEndpointType;
|
|
81
100
|
private _fallbackTransportWarned;
|
|
@@ -102,6 +121,7 @@ export declare class IkonClient {
|
|
|
102
121
|
private readonly _pendingActionAcks;
|
|
103
122
|
private _ackRttMs;
|
|
104
123
|
private readonly _actionIdByCallId;
|
|
124
|
+
private readonly _bestEffortCallIds;
|
|
105
125
|
private readonly _pendingActionResults;
|
|
106
126
|
private readonly endpointSelector;
|
|
107
127
|
private readonly _webRtcReachability;
|
|
@@ -115,6 +135,7 @@ export declare class IkonClient {
|
|
|
115
135
|
private boundOnline;
|
|
116
136
|
private boundOffline;
|
|
117
137
|
private boundAnchorClick;
|
|
138
|
+
private boundNotificationClick;
|
|
118
139
|
private _globalState;
|
|
119
140
|
private _globalStateReceived;
|
|
120
141
|
private _channelsConnected;
|
|
@@ -129,8 +150,14 @@ export declare class IkonClient {
|
|
|
129
150
|
private unregisterBrowserFunctions;
|
|
130
151
|
private unregisterMediaCaptureFunctions;
|
|
131
152
|
private unregisterSoundFunctions;
|
|
153
|
+
private unregisterDownloadFunctions;
|
|
154
|
+
private unregisterFeedbackFunctions;
|
|
155
|
+
private unregisterAccountFunctions;
|
|
156
|
+
private unregisterOfferedFeedbackFunctions;
|
|
157
|
+
private readonly captureFunctionsSupported;
|
|
132
158
|
private unregisterLoginInterceptor;
|
|
133
159
|
private nextProtocolPortId;
|
|
160
|
+
private _deliveringViaDataChannel;
|
|
134
161
|
private nextProtocolSendPortId;
|
|
135
162
|
private readonly _audioEnabled;
|
|
136
163
|
private readonly _videoEnabled;
|
|
@@ -141,17 +168,24 @@ export declare class IkonClient {
|
|
|
141
168
|
private _mediaCapture;
|
|
142
169
|
private _mediaCapturePromise;
|
|
143
170
|
private _visemeTracker;
|
|
171
|
+
private _visemeTrackerLoading;
|
|
172
|
+
private _visemeAvailable;
|
|
173
|
+
private _visemeLoadFailed;
|
|
144
174
|
private _webRtcSignaling;
|
|
145
175
|
private _webRtcConnectWatchdog;
|
|
146
176
|
private _webRtcFallbackActive;
|
|
147
177
|
private _webRtcRetryCount;
|
|
148
178
|
private _webRtcRetryTimer;
|
|
179
|
+
private _webRtcIceRestartCount;
|
|
180
|
+
private _webRtcIceRestartTimer;
|
|
149
181
|
private _webRtcAudioElements;
|
|
150
182
|
private _webRtcAudioStreams;
|
|
151
183
|
private _webRtcVideoStreams;
|
|
152
184
|
private _webRtcTrackMap;
|
|
153
185
|
private readonly _webRtcTrackMapListeners;
|
|
154
186
|
private _pendingActiveAudioTracks;
|
|
187
|
+
private _offlineReportedAt;
|
|
188
|
+
private _offlineProbeInFlight;
|
|
155
189
|
private _keepaliveLockAbort;
|
|
156
190
|
private _fullReauthAttempted;
|
|
157
191
|
private _softReconnectAttempted;
|
|
@@ -161,6 +195,7 @@ export declare class IkonClient {
|
|
|
161
195
|
private _reconnectTimer;
|
|
162
196
|
private _joinWatchdogTimer;
|
|
163
197
|
private _serverStopped;
|
|
198
|
+
private _credentialRejected;
|
|
164
199
|
private _hasBeenConnected;
|
|
165
200
|
private _waitForExternalConnectUrl;
|
|
166
201
|
private _externalConnectUrlCleanup;
|
|
@@ -188,7 +223,10 @@ export declare class IkonClient {
|
|
|
188
223
|
* Viseme and other analyzer shape data ride the audio stream but carry no PCM,
|
|
189
224
|
* so this is built independently of {@link media} and works the same over WebRTC
|
|
190
225
|
* or the SDK playback pipeline. Poll {@link VisemeTracker.getCurrentVisemeValues}
|
|
191
|
-
* for interpolated mouth values. Returns `null` before audio is
|
|
226
|
+
* for interpolated mouth values. Returns `null` before audio is connected, and on
|
|
227
|
+
* the first reads after it: the tracker and its worker are built on first read, so
|
|
228
|
+
* apps that never read it never pay for them. A stream already playing by then is
|
|
229
|
+
* picked up from the global state.
|
|
192
230
|
*/
|
|
193
231
|
get viseme(): VisemeTracker | null;
|
|
194
232
|
/**
|
|
@@ -313,6 +351,24 @@ export declare class IkonClient {
|
|
|
313
351
|
* branding banner (set for low-tier app creators). Defaults to false.
|
|
314
352
|
*/
|
|
315
353
|
get brandingRequired(): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* The feedback overlay settings for this user, or null when the overlay is not offered. `/init`
|
|
356
|
+
* sets them on authentication; the app server's `ikon.client.setFeedback` call replaces them,
|
|
357
|
+
* which is also how a local run, which has no `/init`, learns them.
|
|
358
|
+
*/
|
|
359
|
+
get feedback(): FeedbackClientConfiguration | null;
|
|
360
|
+
/**
|
|
361
|
+
* The app server's decision on the feedback overlay (`ikon.client.setFeedback`). It replaces what
|
|
362
|
+
* `/init` said, and a later authentication whose `/init` names no feedback leaves it in place.
|
|
363
|
+
*/
|
|
364
|
+
setFeedback(feedback: FeedbackClientConfiguration | null): void;
|
|
365
|
+
subscribeToFeedback(listener: (feedback: FeedbackClientConfiguration | null) => void): () => void;
|
|
366
|
+
/**
|
|
367
|
+
* Where the page reaches the backend on this user's behalf — the backend URL, the space and the
|
|
368
|
+
* current bearer token — or null when the connection has no space or no user token (an API-key
|
|
369
|
+
* client, a local run without a space).
|
|
370
|
+
*/
|
|
371
|
+
get backendAccess(): BackendAccess | null;
|
|
316
372
|
/**
|
|
317
373
|
* Get the current GlobalState from the server.
|
|
318
374
|
* Returns null if not yet received.
|
|
@@ -403,7 +459,7 @@ export declare class IkonClient {
|
|
|
403
459
|
* Disconnect from the server.
|
|
404
460
|
*/
|
|
405
461
|
disconnect(): void;
|
|
406
|
-
sendActionCall(actionId: string, payload?: string): void;
|
|
462
|
+
sendActionCall(actionId: string, payload?: string, options?: SendActionCallOptions): void;
|
|
407
463
|
/**
|
|
408
464
|
* Dispatch a UI action and resolve with the server handler's actual outcome — the
|
|
409
465
|
* ActionResult the server emits when the handler finishes (the ActionCallAck is only a
|
|
@@ -446,6 +502,14 @@ export declare class IkonClient {
|
|
|
446
502
|
* Routes to appropriate channel based on the message's opcode group.
|
|
447
503
|
*/
|
|
448
504
|
sendProtocolMessage(message: ProtocolMessage): void;
|
|
505
|
+
/**
|
|
506
|
+
* Hand an error to the app's onError callback.
|
|
507
|
+
*
|
|
508
|
+
* For SDK subsystems (media playback, capture) whose failure leaves the connection itself
|
|
509
|
+
* intact: the client stays connected, so this callback is the only place the app can learn
|
|
510
|
+
* that a session went silent or blind.
|
|
511
|
+
*/
|
|
512
|
+
reportError(error: Error): void;
|
|
449
513
|
/**
|
|
450
514
|
* Send a client context update to the server.
|
|
451
515
|
* This notifies the server of changes to viewport size, theme, or timezone.
|
|
@@ -493,6 +557,27 @@ export declare class IkonClient {
|
|
|
493
557
|
* Returns an unsubscribe function.
|
|
494
558
|
*/
|
|
495
559
|
subscribeToState(handler: StateHandler): () => void;
|
|
560
|
+
/**
|
|
561
|
+
* Shows or hides the floating feedback button, and saves the choice as the person's preference for
|
|
562
|
+
* this app so it holds on their next visit. False, changing nothing, when feedback is not offered.
|
|
563
|
+
* Without a backend to save to, as on a local run, the choice lasts for this page.
|
|
564
|
+
*/
|
|
565
|
+
setFeedbackButtonShown(shown: boolean): boolean;
|
|
566
|
+
/**
|
|
567
|
+
* Opens the feedback sheet exactly as the platform's feedback button does, with the screenshot
|
|
568
|
+
* taken now. For an app's own "Send feedback" control. False, and nothing opens, when feedback is
|
|
569
|
+
* not offered to this person or no `IkonApp` is on the page to show it.
|
|
570
|
+
*/
|
|
571
|
+
requestFeedback(): boolean;
|
|
572
|
+
/**
|
|
573
|
+
* Installs what {@link requestFeedback} opens; the SDK's feedback controls do this while mounted.
|
|
574
|
+
* Returns a function that removes it again.
|
|
575
|
+
*/
|
|
576
|
+
setFeedbackRequestHandler(handler: () => void): () => void;
|
|
577
|
+
private applyFeedback;
|
|
578
|
+
private syncOfferedFeedbackFunctions;
|
|
579
|
+
private configuredBackendUrl;
|
|
580
|
+
private recordBackendConfiguration;
|
|
496
581
|
/**
|
|
497
582
|
* Authenticate with the server.
|
|
498
583
|
*/
|
|
@@ -546,7 +631,7 @@ export declare class IkonClient {
|
|
|
546
631
|
* worker path's tail, so the two no-Worker fallbacks connected without audio, video or WebRTC —
|
|
547
632
|
* a silent client on exactly the browsers that already lack workers. */
|
|
548
633
|
private finishMediaSetup;
|
|
549
|
-
private
|
|
634
|
+
private loadVisemeTracker;
|
|
550
635
|
/**
|
|
551
636
|
* Builds and enables the custom (non-WebRTC) playback pipeline. This is the
|
|
552
637
|
* backup path used when WebRTC is disabled or its signaling fails; the pipeline
|
|
@@ -557,6 +642,17 @@ export declare class IkonClient {
|
|
|
557
642
|
private rememberWebRtcReachability;
|
|
558
643
|
private clearWebRtcConnectWatchdog;
|
|
559
644
|
private clearWebRtcRetry;
|
|
645
|
+
private clearWebRtcIceRestartTimer;
|
|
646
|
+
/**
|
|
647
|
+
* A route that died under a peer connection that is otherwise fine — the case a laptop changing
|
|
648
|
+
* interface produces, where every candidate pair is gone but the session is not. ICE often
|
|
649
|
+
* repairs this on its own, so wait out a grace period before spending a renegotiation; a restart
|
|
650
|
+
* that is not needed costs an offer/answer round trip and a fresh gather.
|
|
651
|
+
*
|
|
652
|
+
* Bounded, because a path that is genuinely gone must still reach the fallback rather than
|
|
653
|
+
* re-offering forever.
|
|
654
|
+
*/
|
|
655
|
+
private scheduleWebRtcIceRestart;
|
|
560
656
|
/**
|
|
561
657
|
* A WebRTC-only failure (protocol channel still healthy) used to latch the session onto
|
|
562
658
|
* custom playback forever, even when the network recovered seconds later. Retry a bounded
|
|
@@ -662,7 +758,18 @@ export declare class IkonClient {
|
|
|
662
758
|
private requestExternalConnectUrl;
|
|
663
759
|
private attemptReconnectOnVisible;
|
|
664
760
|
private handleBrowserOffline;
|
|
665
|
-
|
|
761
|
+
/**
|
|
762
|
+
* Corroborate an offline report from a socket that has nothing to do with the live one, because
|
|
763
|
+
* the budget above must clear the server's worst-case cadence and that is not prompt. A fresh
|
|
764
|
+
* connect over a vanished interface fails or times out; on a device that merely lies about being
|
|
765
|
+
* offline it succeeds.
|
|
766
|
+
*
|
|
767
|
+
* The result can only ever shorten the budget — nothing here tears a connection down — so a
|
|
768
|
+
* device whose platform also blocks new sockets still keeps its connection on the strength of
|
|
769
|
+
* the traffic still arriving.
|
|
770
|
+
*/
|
|
771
|
+
private confirmOfflineReport;
|
|
772
|
+
private handleBrowserOnline;
|
|
666
773
|
/**
|
|
667
774
|
* Clear all timers.
|
|
668
775
|
*/
|
|
@@ -695,6 +802,16 @@ export declare class IkonClient {
|
|
|
695
802
|
* every click made while we have no connection to tell.
|
|
696
803
|
*/
|
|
697
804
|
private handleAnchorClick;
|
|
805
|
+
/**
|
|
806
|
+
* Move to a tapped notification's launch path, the way an in-app link click does. The SDK raises
|
|
807
|
+
* `ikon.notification-click` for a tap on a page notification and for every tap the push service
|
|
808
|
+
* worker hands back, action buttons included; the detail's `launchUrl` is already the tapped
|
|
809
|
+
* action's own path when it has one. Only same-origin, non-reserved paths are routed; anything
|
|
810
|
+
* else is left to a host listener. With no live connection the path is loaded as a new document,
|
|
811
|
+
* which reconnects on the way.
|
|
812
|
+
*/
|
|
813
|
+
private handleNotificationClick;
|
|
814
|
+
private navigateInPlace;
|
|
698
815
|
/**
|
|
699
816
|
* Put the new route at the top, the way a document load would.
|
|
700
817
|
*
|
|
@@ -754,6 +871,29 @@ export declare class IkonClient {
|
|
|
754
871
|
* event.
|
|
755
872
|
*/
|
|
756
873
|
private sendUrlChanged;
|
|
874
|
+
/**
|
|
875
|
+
* Put the liveness question to the wire instead of to our own state.
|
|
876
|
+
*
|
|
877
|
+
* `currentState` is this client's belief, and on a black-holed socket — a laptop moving between
|
|
878
|
+
* LAN and WiFi gets no FIN and no RST, so neither onclose nor onerror ever fires — that belief
|
|
879
|
+
* stays 'connected' for the whole watchdog window. The keepalive is the only thing here that has
|
|
880
|
+
* seen the wire.
|
|
881
|
+
*
|
|
882
|
+
* Every lifecycle signal goes through this one routine so the two topologies cannot drift apart:
|
|
883
|
+
* a check wired only to the main thread would silently do nothing for a client running its
|
|
884
|
+
* protocol in a worker.
|
|
885
|
+
*
|
|
886
|
+
* @param maxSilenceMs - Tightens the transport's watchdog for one deadline. Any inbound message
|
|
887
|
+
* restores the negotiated budget, so a live link is never disturbed by being asked. Omitted,
|
|
888
|
+
* this is the plain wall-clock verification a waking tab does.
|
|
889
|
+
*/
|
|
890
|
+
private verifyLinkLiveness;
|
|
891
|
+
/**
|
|
892
|
+
* The longest silence a healthy link may show before a browser hint is worth acting on. The
|
|
893
|
+
* server owns the cadence, so this tracks it rather than pinning a constant that would
|
|
894
|
+
* false-positive on a large session — where a 60s gap between keepalives is entirely normal.
|
|
895
|
+
*/
|
|
896
|
+
private getLivenessBudgetMs;
|
|
757
897
|
/**
|
|
758
898
|
* Check if the connection is still healthy after page was backgrounded.
|
|
759
899
|
* If connection died while backgrounded, trigger reconnection.
|
|
@@ -791,3 +931,4 @@ export declare class IkonClient {
|
|
|
791
931
|
*/
|
|
792
932
|
private handleExternalConnectUrl;
|
|
793
933
|
}
|
|
934
|
+
//# sourceMappingURL=ikon-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ikon-client.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/client/ikon-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { AuthResponse, ClientEnvironment } from '
|
|
1
|
+
import { AuthResponse, ClientEnvironment } from '@ikonai/protocol';
|
|
2
2
|
import { ApiKeyConfig, LocalConfig, SessionTokenConfig } from '../client/ikon-client-config';
|
|
3
3
|
import { ConnectTier, ProxyMode } from '../client/endpoint-selector';
|
|
4
|
+
import { FeedbackClientConfiguration } from '../feedback/feedback-api';
|
|
4
5
|
/**
|
|
5
6
|
* Result of authentication - contains the AuthResponse from the server.
|
|
6
7
|
*/
|
|
@@ -15,7 +16,10 @@ export interface AuthResult {
|
|
|
15
16
|
backendUrl?: string;
|
|
16
17
|
authToken?: string;
|
|
17
18
|
brandingRequired?: boolean;
|
|
19
|
+
/** Present when the active bundle enables feedback and the backend admitted this user. */
|
|
20
|
+
feedback?: FeedbackClientConfiguration;
|
|
18
21
|
}
|
|
22
|
+
export declare function readFeedbackConfiguration(value: unknown): FeedbackClientConfiguration | undefined;
|
|
19
23
|
/**
|
|
20
24
|
* Common authentication logic - fetch the connect URL and decode the AuthResponse.
|
|
21
25
|
*
|
|
@@ -58,3 +62,4 @@ export declare function authenticateApiKey(config: ApiKeyConfig, signal?: AbortS
|
|
|
58
62
|
* 3. Connect to the returned Ikon server URL
|
|
59
63
|
*/
|
|
60
64
|
export declare function authenticateSessionToken(config: SessionTokenConfig, signal?: AbortSignal, proxyMode?: ProxyMode, learnedTier?: ConnectTier): Promise<AuthResult>;
|
|
65
|
+
//# sourceMappingURL=authenticator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/connection/authenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,YAAY,EAA+C,KAAK,iBAAiB,EAAmI,MAAM,kBAAkB,CAAC;AACjS,OAAO,EAAE,KAAK,YAAY,EAAmC,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7I,OAAO,EAA0C,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAIvH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AA8C5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,2BAA2B,CAAC;CACxC;AA8FD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAMjG;AAmMD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsC5J;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAWlG;AAkMD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA2FtG;AAwGD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,GAAE,SAAkB,EAAE,WAAW,GAAE,WAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiC5K;AAMD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,GAAE,SAAkB,EAAE,WAAW,GAAE,WAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAOxL"}
|
package/connection/urls.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/connection/urls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;AAGvD,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAClE,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAGhE,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAC5D,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AA6E5D,6FAA6F;AAC7F,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIxE;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,CAI/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB1D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAqB/C;AAeD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBtE;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzD;AASD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAkBD;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAgB1C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CA8B5C;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IkonClient } from '../client/ikon-client';
|
|
2
|
+
/** Server function that returns the signed-in user's own consent answers. */
|
|
3
|
+
export declare const CONSENT_LIST_FUNCTION_NAME = "ikon.platform.consent.list";
|
|
4
|
+
/** Server function that records a yes for the signed-in user. */
|
|
5
|
+
export declare const CONSENT_GRANT_FUNCTION_NAME = "ikon.platform.consent.grant";
|
|
6
|
+
/** Server function that withdraws the signed-in user's yes. */
|
|
7
|
+
export declare const CONSENT_REVOKE_FUNCTION_NAME = "ikon.platform.consent.revoke";
|
|
8
|
+
/**
|
|
9
|
+
* Recording which features the user uses, whether actions succeed and how long they take. The App
|
|
10
|
+
* Privacy Template offers consent as the only basis for it, so measurement must not run until this
|
|
11
|
+
* is granted and must stop when it is withdrawn.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CONSENT_USAGE_MEASUREMENT = "usage-measurement";
|
|
14
|
+
/**
|
|
15
|
+
* Sending the user's personal data to an AI model provider. Apple requires the app to ask before
|
|
16
|
+
* personal data leaves for an AI provider; nothing about the purpose is iPhone-specific.
|
|
17
|
+
*/
|
|
18
|
+
export declare const CONSENT_AI_PROVIDER_PERSONAL_DATA = "ai-provider-personal-data";
|
|
19
|
+
/**
|
|
20
|
+
* Where an answer stands. `not-asked` is the default for every purpose and is not a yes — it is kept
|
|
21
|
+
* apart from `denied` only so a screen can tell "ask them" from "they said no".
|
|
22
|
+
*/
|
|
23
|
+
export type ConsentState = 'not-asked' | 'granted' | 'denied';
|
|
24
|
+
/** One user's answer to one consent question. */
|
|
25
|
+
export interface ConsentRecord {
|
|
26
|
+
purpose: string;
|
|
27
|
+
state: ConsentState;
|
|
28
|
+
/** True only for an answer that is a yes today. */
|
|
29
|
+
granted: boolean;
|
|
30
|
+
/** ISO 8601 instant the user last answered, or null while they never have. */
|
|
31
|
+
decidedAt: string | null;
|
|
32
|
+
}
|
|
33
|
+
/** Every answer the signed-in user has given, keyed by purpose. */
|
|
34
|
+
export type ConsentAnswers = Readonly<Record<string, ConsentRecord>>;
|
|
35
|
+
/** The answer a purpose nobody has been asked about has. Never a yes. */
|
|
36
|
+
export declare function notAskedConsent(purpose: string): ConsentRecord;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the user has consented to `purpose`. A purpose the answers do not mention is not granted —
|
|
39
|
+
* absence is never a yes, which is why this exists instead of reading `answers[purpose].granted`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isConsentGranted(answers: ConsentAnswers | null | undefined, purpose: string): boolean;
|
|
42
|
+
/** The answer for `purpose`, or the not-asked default when there is none. */
|
|
43
|
+
export declare function consentFor(answers: ConsentAnswers | null | undefined, purpose: string): ConsentRecord;
|
|
44
|
+
/**
|
|
45
|
+
* Reads the signed-in user's own consent answers from the app.
|
|
46
|
+
*
|
|
47
|
+
* The app decides nothing here — the calling session is what identifies the user, so a client can
|
|
48
|
+
* only ever read its own answers, and a visitor the app cannot name gets an empty set.
|
|
49
|
+
*/
|
|
50
|
+
export declare function readConsent(client: IkonClient): Promise<ConsentAnswers>;
|
|
51
|
+
/**
|
|
52
|
+
* Records the signed-in user's consent to `purpose`. Call it only for an answer the user actually
|
|
53
|
+
* gave. Rejects when there is no signed-in user to record it against.
|
|
54
|
+
*/
|
|
55
|
+
export declare function grantConsent(client: IkonClient, purpose: string): Promise<ConsentRecord>;
|
|
56
|
+
/**
|
|
57
|
+
* Withdraws the signed-in user's consent to `purpose`. Recorded as an explicit no rather than
|
|
58
|
+
* erased, so the app knows not to ask again on the next screen.
|
|
59
|
+
*/
|
|
60
|
+
export declare function revokeConsent(client: IkonClient, purpose: string): Promise<ConsentRecord>;
|
|
61
|
+
//# sourceMappingURL=consent-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-api.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/consent/consent-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE,+DAA+D;AAC/D,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAErE,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAE9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAErG;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAErG;AA0DD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAE7E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ9F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ/F"}
|