@oxvo/ai-live-assist 7.3.4 → 7.4.23
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/cjs/AiLiveAssist.d.ts +588 -6
- package/cjs/AiLiveAssist.js +14892 -1240
- package/cjs/client.d.ts +71 -10
- package/cjs/client.js +316 -58
- package/cjs/context.d.ts +15 -5
- package/cjs/context.js +568 -73
- package/cjs/control.d.ts +72 -7
- package/cjs/control.js +594 -71
- package/cjs/dialogFocusScope.d.ts +37 -0
- package/cjs/dialogFocusScope.js +227 -0
- package/cjs/experienceState.js +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +2 -2
- package/cjs/media.d.ts +14 -3
- package/cjs/media.js +128 -19
- package/cjs/messages.js +26 -3
- package/cjs/messengerLoader.d.ts +3 -0
- package/cjs/messengerLoader.js +156 -0
- package/cjs/pageAssistancePreference.d.ts +78 -0
- package/cjs/pageAssistancePreference.js +488 -0
- package/cjs/preview.d.ts +33 -0
- package/cjs/preview.js +567 -0
- package/cjs/tabLock.d.ts +54 -3
- package/cjs/tabLock.js +752 -72
- package/cjs/types.d.ts +152 -4
- package/cjs/ui.d.ts +200 -10
- package/cjs/ui.js +6946 -523
- package/cjs/version.d.ts +1 -1
- package/cjs/version.js +1 -1
- package/cjs/voicePresenceUi.d.ts +48 -9
- package/cjs/voicePresenceUi.js +863 -125
- package/lib/AiLiveAssist.d.ts +588 -6
- package/lib/AiLiveAssist.js +14897 -1248
- package/lib/client.d.ts +71 -10
- package/lib/client.js +313 -57
- package/lib/context.d.ts +15 -5
- package/lib/context.js +566 -72
- package/lib/control.d.ts +72 -7
- package/lib/control.js +594 -71
- package/lib/dialogFocusScope.d.ts +37 -0
- package/lib/dialogFocusScope.js +223 -0
- package/lib/experienceState.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/media.d.ts +14 -3
- package/lib/media.js +128 -19
- package/lib/messages.js +26 -3
- package/lib/messengerLoader.d.ts +3 -0
- package/lib/messengerLoader.js +151 -0
- package/lib/pageAssistancePreference.d.ts +78 -0
- package/lib/pageAssistancePreference.js +482 -0
- package/lib/preview.d.ts +33 -0
- package/lib/preview.js +561 -0
- package/lib/tabLock.d.ts +54 -3
- package/lib/tabLock.js +752 -72
- package/lib/types.d.ts +152 -4
- package/lib/ui.d.ts +200 -10
- package/lib/ui.js +6947 -524
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/voicePresenceUi.d.ts +48 -9
- package/lib/voicePresenceUi.js +863 -125
- package/package.json +8 -3
- package/cjs/recordingPolicy.d.ts +0 -2
- package/cjs/recordingPolicy.js +0 -12
- package/lib/recordingPolicy.d.ts +0 -2
- package/lib/recordingPolicy.js +0 -8
package/lib/types.d.ts
CHANGED
|
@@ -48,7 +48,86 @@ export type VoicePresenceConfig = {
|
|
|
48
48
|
maxCuesPerMinute: number;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
|
+
export type MessengerCompanionConfig = {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
title: string;
|
|
54
|
+
greeting: string;
|
|
55
|
+
voiceLabel: string;
|
|
56
|
+
inputPlaceholder: string;
|
|
57
|
+
suggestedQuestions: string[];
|
|
58
|
+
webWidget?: MessengerWebWidgetDescriptor;
|
|
59
|
+
};
|
|
60
|
+
export type MessengerWebWidgetDescriptor = {
|
|
61
|
+
inboxId: string;
|
|
62
|
+
baseUrl: string;
|
|
63
|
+
sdkUrl: string;
|
|
64
|
+
websiteToken: string;
|
|
65
|
+
};
|
|
66
|
+
export type MessengerConversationState = {
|
|
67
|
+
state: "connected";
|
|
68
|
+
conversationDisplayId: string;
|
|
69
|
+
inboxId: string;
|
|
70
|
+
};
|
|
71
|
+
export type MessengerSupportAgent = {
|
|
72
|
+
id: string | null;
|
|
73
|
+
name: string | null;
|
|
74
|
+
type: "agent";
|
|
75
|
+
};
|
|
76
|
+
export type MessengerSupportState = {
|
|
77
|
+
conversationId: string;
|
|
78
|
+
latestAgentMessageAt: number | null;
|
|
79
|
+
latestAgentMessageAuthor: MessengerSupportAgent | null;
|
|
80
|
+
latestAgentMessageId: string | null;
|
|
81
|
+
latestAgentMessageSeen: boolean | null;
|
|
82
|
+
messengerOpen: boolean;
|
|
83
|
+
unreadCount: number;
|
|
84
|
+
};
|
|
85
|
+
export type AiGuideCompanionState = {
|
|
86
|
+
schemaVersion: 1;
|
|
87
|
+
linkId: string;
|
|
88
|
+
activeSurface: "ai" | "messenger";
|
|
89
|
+
lastAiMode: AssistMode;
|
|
90
|
+
ownerEpoch: number;
|
|
91
|
+
currentAiSessionId: string | null;
|
|
92
|
+
expiresAt: string;
|
|
93
|
+
switchGrant: string;
|
|
94
|
+
};
|
|
51
95
|
export type AssistMode = "text" | "voice";
|
|
96
|
+
export type WidgetActivity = "idle" | "ready" | "connecting" | "listening" | "thinking" | "speaking" | "acting" | "error" | "ending";
|
|
97
|
+
export type AiGuideOpenInput = {
|
|
98
|
+
mode?: AssistMode;
|
|
99
|
+
question?: string;
|
|
100
|
+
requestId?: string;
|
|
101
|
+
};
|
|
102
|
+
export type AiGuideControllerState = {
|
|
103
|
+
ready: boolean;
|
|
104
|
+
available: boolean;
|
|
105
|
+
open: boolean;
|
|
106
|
+
active: boolean;
|
|
107
|
+
mode: AssistMode | null;
|
|
108
|
+
phase: string;
|
|
109
|
+
companion: boolean;
|
|
110
|
+
pendingQuestion: boolean;
|
|
111
|
+
};
|
|
112
|
+
export type AiGuidePreviewDisplay = "launcher" | "expanded";
|
|
113
|
+
export type AiGuidePreviewInput = {
|
|
114
|
+
config: unknown;
|
|
115
|
+
display?: AiGuidePreviewDisplay;
|
|
116
|
+
mode?: AssistMode;
|
|
117
|
+
};
|
|
118
|
+
export type AiGuidePreviewControllerState = {
|
|
119
|
+
ready: true;
|
|
120
|
+
display: AiGuidePreviewDisplay;
|
|
121
|
+
mode: AssistMode;
|
|
122
|
+
};
|
|
123
|
+
export type AiGuidePreviewController = {
|
|
124
|
+
update: (input: AiGuidePreviewInput) => void;
|
|
125
|
+
getState: () => AiGuidePreviewControllerState;
|
|
126
|
+
destroy: () => void;
|
|
127
|
+
};
|
|
128
|
+
export type AiGuidePreviewBridge = {
|
|
129
|
+
destroy: () => void;
|
|
130
|
+
};
|
|
52
131
|
export type BrowserAction = "scroll" | "highlight" | "focus" | "click" | "type" | "select" | "submit";
|
|
53
132
|
export type Sensitivity = "none" | "private" | "password" | "otp" | "payment" | "banking" | "recovery" | "authentication_secret" | "api_secret";
|
|
54
133
|
export type BootstrapConfig = {
|
|
@@ -71,6 +150,8 @@ export type BootstrapConfig = {
|
|
|
71
150
|
captions: boolean;
|
|
72
151
|
pageContext: boolean;
|
|
73
152
|
browserControl: boolean;
|
|
153
|
+
pageAssistance?: boolean;
|
|
154
|
+
statefulButtonActionProof?: boolean;
|
|
74
155
|
visualContext: boolean;
|
|
75
156
|
voicePresence: boolean;
|
|
76
157
|
presentation: boolean;
|
|
@@ -89,19 +170,30 @@ export type BootstrapConfig = {
|
|
|
89
170
|
brandName: string;
|
|
90
171
|
launcherLabel: string;
|
|
91
172
|
accent: string;
|
|
92
|
-
position: "left" | "right";
|
|
173
|
+
position: "left" | "center" | "right";
|
|
93
174
|
panelWidth: number;
|
|
94
175
|
glassEffect: boolean;
|
|
176
|
+
inputGlowEnabled?: boolean;
|
|
177
|
+
widgetCornerGlowEnabled?: boolean;
|
|
95
178
|
hideLauncherWhenVisitorLimited: boolean;
|
|
96
179
|
attribution?: {
|
|
97
180
|
enabled: boolean;
|
|
98
181
|
};
|
|
99
182
|
welcomeMessage: string | null;
|
|
183
|
+
suggestedPrompts?: string[];
|
|
100
184
|
voicePresence?: VoicePresenceConfig;
|
|
185
|
+
messengerCompanion?: MessengerCompanionConfig;
|
|
101
186
|
};
|
|
102
187
|
visitorEligibility?: {
|
|
103
188
|
status: "eligible" | "visitor_active" | "visitor_limited" | "cooldown_limited";
|
|
104
189
|
};
|
|
190
|
+
humanHandoffRecovery?: {
|
|
191
|
+
state: "human_connected";
|
|
192
|
+
conversationDisplayId: string;
|
|
193
|
+
inboxId: string;
|
|
194
|
+
};
|
|
195
|
+
messengerConversation?: MessengerConversationState;
|
|
196
|
+
companion?: AiGuideCompanionState;
|
|
105
197
|
consent?: {
|
|
106
198
|
disclosure: string;
|
|
107
199
|
disclosureChecksum: string;
|
|
@@ -125,6 +217,21 @@ export type BootstrapConfig = {
|
|
|
125
217
|
maxAgeSeconds: number;
|
|
126
218
|
};
|
|
127
219
|
};
|
|
220
|
+
export type PageAssistanceDecision = "allow_session" | "allow_persistent" | "decline";
|
|
221
|
+
export type PageAssistanceActionCategory = "guidance" | "navigation" | "form_fill" | "page_interaction" | "submission" | "consequential";
|
|
222
|
+
export type PageAssistanceRequest = {
|
|
223
|
+
requestId: string;
|
|
224
|
+
actionCategory: PageAssistanceActionCategory;
|
|
225
|
+
action: string;
|
|
226
|
+
safeActionDescription: string;
|
|
227
|
+
safeTargetLabel: string;
|
|
228
|
+
configRevision: number;
|
|
229
|
+
policyVersion: number;
|
|
230
|
+
proposalChecksum: string;
|
|
231
|
+
authorityEpoch: number;
|
|
232
|
+
expiresAt: string;
|
|
233
|
+
persistenceEligible: boolean;
|
|
234
|
+
};
|
|
128
235
|
export type LaunchResult = {
|
|
129
236
|
schemaVersion: 1 | 2;
|
|
130
237
|
protocolVersion: 1 | 2;
|
|
@@ -136,6 +243,7 @@ export type LaunchResult = {
|
|
|
136
243
|
resumeCredential: string;
|
|
137
244
|
feedbackCredential: string;
|
|
138
245
|
expiresAt: string;
|
|
246
|
+
resumeExpiresAt?: string;
|
|
139
247
|
feedbackExpiresAt: string;
|
|
140
248
|
controlUrl: string;
|
|
141
249
|
realtimeOfferUrl: string;
|
|
@@ -145,9 +253,24 @@ export type LaunchResult = {
|
|
|
145
253
|
voice: string | null;
|
|
146
254
|
welcomeMessage: string | null;
|
|
147
255
|
};
|
|
148
|
-
state?: "reconnecting";
|
|
256
|
+
state?: "reconnecting" | "paused";
|
|
257
|
+
mode?: AssistMode;
|
|
149
258
|
correlationId?: string;
|
|
150
259
|
};
|
|
260
|
+
export type HandoffRecoveryResult = {
|
|
261
|
+
schemaVersion: 1 | 2;
|
|
262
|
+
protocolVersion: 1 | 2;
|
|
263
|
+
recoveryKind: "messenger_handoff_control";
|
|
264
|
+
sessionId: string;
|
|
265
|
+
state: "handoff_pending" | "human_controlled";
|
|
266
|
+
messengerBindingChallengeId: string;
|
|
267
|
+
controlCredential: string;
|
|
268
|
+
controlExpiresAt: string;
|
|
269
|
+
controlUrl: string;
|
|
270
|
+
fencingToken: number;
|
|
271
|
+
clientSequence: number;
|
|
272
|
+
};
|
|
273
|
+
export type RuntimeAuthorization = LaunchResult | HandoffRecoveryResult;
|
|
151
274
|
export type ControlServerEnvelope = {
|
|
152
275
|
v: 1 | 2;
|
|
153
276
|
id: string;
|
|
@@ -185,6 +308,8 @@ export type SanitizedTarget = {
|
|
|
185
308
|
enabled: boolean;
|
|
186
309
|
covered?: boolean;
|
|
187
310
|
checked?: boolean;
|
|
311
|
+
expanded?: boolean;
|
|
312
|
+
pressed?: boolean;
|
|
188
313
|
};
|
|
189
314
|
options?: SanitizedOption[];
|
|
190
315
|
};
|
|
@@ -234,21 +359,42 @@ export type VisualContextRequest = {
|
|
|
234
359
|
expiresAt: string;
|
|
235
360
|
approvalMode: "manual" | "automatic";
|
|
236
361
|
};
|
|
362
|
+
export type HandoffContextRequest = {
|
|
363
|
+
requestId: string;
|
|
364
|
+
requestChecksum: string;
|
|
365
|
+
title: string;
|
|
366
|
+
description: string;
|
|
367
|
+
configRevision: number;
|
|
368
|
+
expiresAt: string;
|
|
369
|
+
};
|
|
370
|
+
export type HandoffContextStatus = "granted" | "declined" | "expired" | "unavailable";
|
|
237
371
|
export type ActionGrant = {
|
|
238
372
|
grant: string;
|
|
239
373
|
actionId: string;
|
|
374
|
+
proposalChecksum: string;
|
|
240
375
|
action: BrowserAction;
|
|
241
376
|
targetId: string;
|
|
242
377
|
domRevision: number;
|
|
378
|
+
pageId: string;
|
|
379
|
+
pageUrl: string;
|
|
380
|
+
targetFingerprint: string;
|
|
381
|
+
destinationPath?: string;
|
|
382
|
+
configRevision: number;
|
|
383
|
+
configChecksum: string;
|
|
384
|
+
policyVersion: number;
|
|
385
|
+
authorityEpoch: number;
|
|
243
386
|
fencingToken: number;
|
|
244
387
|
expiresAt: string;
|
|
245
388
|
value?: string;
|
|
246
389
|
optionValueId?: string;
|
|
247
390
|
desiredChecked?: boolean;
|
|
391
|
+
desiredExpanded?: boolean;
|
|
392
|
+
desiredPressed?: boolean;
|
|
248
393
|
};
|
|
249
394
|
export type ActionExecutionResult = {
|
|
250
|
-
grant
|
|
395
|
+
grant?: string;
|
|
251
396
|
actionId: string;
|
|
397
|
+
executionId?: string;
|
|
252
398
|
status: "executed" | "blocked" | "stale" | "failed";
|
|
253
399
|
observed: {
|
|
254
400
|
url?: string;
|
|
@@ -256,6 +402,8 @@ export type ActionExecutionResult = {
|
|
|
256
402
|
targetState: "unchanged" | "changed" | "detached" | "unknown";
|
|
257
403
|
safeSummary: string;
|
|
258
404
|
checked?: boolean;
|
|
405
|
+
expanded?: boolean;
|
|
406
|
+
pressed?: boolean;
|
|
259
407
|
};
|
|
260
408
|
};
|
|
261
409
|
export type PresentationKind = "pointer" | "spotlight" | "underline" | "circle" | "arrow" | "connector" | "sequence_marker" | "callout" | "clear";
|
|
@@ -286,7 +434,7 @@ export type PresentationTarget = {
|
|
|
286
434
|
rect: DOMRectReadOnly;
|
|
287
435
|
safe: boolean;
|
|
288
436
|
};
|
|
289
|
-
export type WidgetMessageKey = "launcher" | "introTitle" | "disclosure" | "requiredConsent" | "consentAgreement" | "legalDetails" | "legalTitle" | "legalClose" | "termsOfService" | "microphoneConsent" | "pageConsent" | "controlConsent" | "visualConsent" | "visualRequest" | "shareVisual" | "declineVisual" | "visualShared" | "visualUnavailable" | "pauseVisual" | "resumeVisual" | "handoffConsent" | "retentionConsent" | "startText" | "startVoice" | "connecting" | "listening" | "thinking" | "speaking" | "ready" | "paused" | "reconnecting" | "end" | "restart" | "close" | "minimize" | "maximize" | "activeCall" | "movePanel" | "mute" | "unmute" | "interrupt" | "usePushToTalk" | "useAutomaticTurns" | "automaticTurnsUnavailable" | "startSpeaking" | "sendVoiceTurn" | "microphoneUnavailable" | "pauseActions" | "resumeActions" | "captionsOn" | "captionsOff" | "textOnly" | "send" | "messagePlaceholder" | "requestHuman" | "continueWithFullAssist" | "requestHumanFallback" | "approve" | "decline" | "actionRequest" | "actionRunning" | "actionVerified" | "actionFailed" | "limitReached" | "ended" | "idleEnded" | "feedbackQuestion" | "resolved" | "partiallyResolved" | "notResolved" | "submitFeedback" | "error" | "retry" | "activeElsewhere" | "visitorLimitReached" | "visitorCooldown" | "visitorAlreadyActive" | "safetyBoundary" | "privacyPolicy" | "moreControls" | "emptyConversation" | "audioPaused" | "humanConnected" | "humanConnecting" | "humanUnavailable" | "textMode" | "reconnectFailed" | "connectedTool" | "approvedService" | "approvedToolEffect";
|
|
437
|
+
export type WidgetMessageKey = "launcher" | "introTitle" | "disclosure" | "requiredConsent" | "consentAgreement" | "pageAssistanceTitle" | "pageAssistanceAlways" | "pageAssistanceAgreement" | "pageAssistanceAgreementConnector" | "pageAssistanceAgreementTerminator" | "pageAssistanceAppliesTo" | "pageAssistanceAllow" | "pageAssistanceNotNow" | "pageAssistanceRevoke" | "legalDetails" | "legalTitle" | "legalClose" | "termsOfService" | "microphoneConsent" | "pageConsent" | "controlConsent" | "visualConsent" | "visualRequest" | "shareVisual" | "declineVisual" | "visualShared" | "visualUnavailable" | "pauseVisual" | "resumeVisual" | "handoffConsent" | "handoffContextShare" | "handoffContextNotNow" | "retentionConsent" | "startText" | "startVoice" | "connecting" | "listening" | "thinking" | "speaking" | "ready" | "paused" | "reconnecting" | "ending" | "handoffEnding" | "endRetry" | "end" | "restart" | "close" | "minimize" | "maximize" | "activeCall" | "movePanel" | "mute" | "muted" | "unmute" | "interrupt" | "usePushToTalk" | "useAutomaticTurns" | "automaticTurnsUnavailable" | "startSpeaking" | "sendVoiceTurn" | "microphoneUnavailable" | "pauseActions" | "resumeActions" | "captionsOn" | "captionsOff" | "textOnly" | "modeSwitch" | "chatMode" | "voiceMode" | "stopVoice" | "send" | "messagePlaceholder" | "requestHuman" | "support" | "supportReply" | "viewSupport" | "continueWithFullAssist" | "requestHumanFallback" | "approve" | "decline" | "actionRequest" | "actionRunning" | "actionVerified" | "actionFailed" | "actionVerificationExpired" | "limitReached" | "ended" | "idleEnded" | "feedbackQuestion" | "resolved" | "partiallyResolved" | "notResolved" | "submitFeedback" | "error" | "retry" | "activeElsewhere" | "visitorLimitReached" | "visitorCooldown" | "visitorAlreadyActive" | "safetyBoundary" | "privacyPolicy" | "moreControls" | "emptyConversation" | "audioPaused" | "humanConnected" | "humanConnecting" | "humanUnavailable" | "textMode" | "reconnectFailed" | "connectedTool" | "approvedService" | "approvedToolEffect";
|
|
290
438
|
export type PluginOptions = {
|
|
291
439
|
enabled?: boolean;
|
|
292
440
|
recordReplay?: boolean;
|
package/lib/ui.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssistMode, BootstrapConfig, ConsentScope, VisualContextRequest, WidgetMessageKey } from "./types.js";
|
|
1
|
+
import type { AssistMode, BootstrapConfig, CapabilityTier, ConsentScope, HandoffContextRequest, HandoffContextStatus, PageAssistanceDecision, PageAssistanceRequest, VisualContextRequest, WidgetActivity, WidgetMessageKey } from "./types.js";
|
|
2
2
|
type Confirmation = {
|
|
3
3
|
actionId: string;
|
|
4
4
|
proposalChecksum: string;
|
|
@@ -9,7 +9,8 @@ type Confirmation = {
|
|
|
9
9
|
expiresAt: string;
|
|
10
10
|
};
|
|
11
11
|
export type WidgetCallbacks = {
|
|
12
|
-
onStart: (mode: AssistMode, scopes: ConsentScope[]) =>
|
|
12
|
+
onStart: (mode: AssistMode, scopes: ConsentScope[], initialQuestion?: string) => boolean;
|
|
13
|
+
onRestart?: () => boolean;
|
|
13
14
|
onEnd: () => void;
|
|
14
15
|
onMute: (muted: boolean) => void;
|
|
15
16
|
onInterrupt: () => void;
|
|
@@ -18,11 +19,15 @@ export type WidgetCallbacks = {
|
|
|
18
19
|
onPause: (paused: boolean) => void;
|
|
19
20
|
onCaptions: (enabled: boolean) => void;
|
|
20
21
|
onTextOnly: () => void;
|
|
21
|
-
|
|
22
|
+
onModeChange?: (mode: AssistMode) => void;
|
|
23
|
+
onText: (text: string) => boolean;
|
|
22
24
|
onHuman: () => void;
|
|
23
25
|
onConfirmation: (actionId: string, checksum: string, approved: boolean) => void;
|
|
24
26
|
onVisualContext: (request: VisualContextRequest, approved: boolean) => void;
|
|
27
|
+
onHandoffContext?: (request: HandoffContextRequest, approved: boolean) => void;
|
|
25
28
|
onVisualPause: (paused: boolean) => void;
|
|
29
|
+
onPageAssistance?: (request: PageAssistanceRequest, decision: PageAssistanceDecision) => void;
|
|
30
|
+
onPageAssistanceRevoke?: () => void;
|
|
26
31
|
onFeedback: (outcome: "resolved" | "partially_resolved" | "not_resolved") => void;
|
|
27
32
|
onRetry: () => void;
|
|
28
33
|
onPlaybackState: (value: {
|
|
@@ -31,12 +36,16 @@ export type WidgetCallbacks = {
|
|
|
31
36
|
utteranceId: string | null;
|
|
32
37
|
sampledAt: string;
|
|
33
38
|
}) => void;
|
|
39
|
+
onOpenChange?: (open: boolean) => void;
|
|
40
|
+
};
|
|
41
|
+
export type WidgetViewOptions = {
|
|
42
|
+
persistentState?: boolean;
|
|
43
|
+
initialPanelView?: "compact" | "expanded";
|
|
34
44
|
};
|
|
35
45
|
export declare class WidgetView {
|
|
36
46
|
private readonly callbacks;
|
|
37
47
|
private host;
|
|
38
48
|
private shadow;
|
|
39
|
-
private launcher;
|
|
40
49
|
private panel;
|
|
41
50
|
private body;
|
|
42
51
|
private status;
|
|
@@ -51,70 +60,183 @@ export declare class WidgetView {
|
|
|
51
60
|
private feedback;
|
|
52
61
|
private attribution;
|
|
53
62
|
private ambient;
|
|
63
|
+
private widgetCornerGlow;
|
|
54
64
|
private highlight;
|
|
55
65
|
private tooltip;
|
|
56
66
|
private audio;
|
|
57
67
|
private muted;
|
|
68
|
+
private statusBeforeMute;
|
|
58
69
|
private manualTurn;
|
|
59
70
|
private pushActive;
|
|
60
71
|
private voiceActive;
|
|
72
|
+
private modeTransitionPending;
|
|
73
|
+
private startingVoicePresentation;
|
|
74
|
+
private modeTransitionOrigin;
|
|
75
|
+
private preferredFocusAfterTransition;
|
|
61
76
|
private automaticTurnsAvailable;
|
|
62
77
|
private paused;
|
|
63
78
|
private captionsEnabled;
|
|
64
79
|
private visualPaused;
|
|
65
80
|
private active;
|
|
81
|
+
private endRequested;
|
|
82
|
+
private launcherSuppressed;
|
|
83
|
+
private introMinimized;
|
|
84
|
+
private introTransitionTarget;
|
|
66
85
|
private compact;
|
|
86
|
+
private compactBeforeError;
|
|
87
|
+
private errorRetryable;
|
|
67
88
|
private panelViewInitialized;
|
|
68
89
|
private launchUnavailable;
|
|
69
90
|
private activeElsewhere;
|
|
70
91
|
private currentConfirmation;
|
|
71
92
|
private currentVisualRequest;
|
|
93
|
+
private currentHandoffContextRequest;
|
|
94
|
+
private handoffRequestPreparing;
|
|
95
|
+
private currentPageAssistanceRequest;
|
|
96
|
+
private safetyInteractionIdentity;
|
|
97
|
+
private introComposing;
|
|
98
|
+
private legalOpenedPanel;
|
|
72
99
|
private highlightedElement;
|
|
73
100
|
private dragState;
|
|
101
|
+
private suggestionDragState;
|
|
102
|
+
private suppressSuggestionClick;
|
|
74
103
|
private tooltipTarget;
|
|
75
104
|
private tooltipTimer;
|
|
76
105
|
private ambientHideTimer;
|
|
77
106
|
private attributionTimer;
|
|
107
|
+
private feedbackExitTimer;
|
|
108
|
+
private assistantReadyVisualTimer;
|
|
78
109
|
private sessionStartedAt;
|
|
79
110
|
private durationInterval;
|
|
80
111
|
private compactCaptionTimers;
|
|
112
|
+
private compactCaptionContentTimers;
|
|
113
|
+
private captionHeightGlides;
|
|
114
|
+
private captionResizeObserver;
|
|
115
|
+
private introTransitionTimers;
|
|
116
|
+
private panelTransitionTimers;
|
|
117
|
+
private panelTransitionSettlers;
|
|
118
|
+
private companionTransferRestoreExpanded;
|
|
119
|
+
private panelViewTransition;
|
|
120
|
+
private pendingPanelViewCommit;
|
|
121
|
+
private panelTransitionClone;
|
|
122
|
+
private panelTransitionInnerClone;
|
|
123
|
+
private primaryMorphFinalize;
|
|
124
|
+
private capabilityTier;
|
|
125
|
+
private reducedMotionQuery;
|
|
126
|
+
private welcomePresented;
|
|
127
|
+
private pendingWelcomeBubble;
|
|
128
|
+
private advancedSessionControlsVisible;
|
|
129
|
+
private initialQuestionStaged;
|
|
130
|
+
private stagedLaunchMode;
|
|
131
|
+
private activity;
|
|
132
|
+
private semanticActivity;
|
|
133
|
+
private semanticStatus;
|
|
81
134
|
private assistantState;
|
|
135
|
+
private assistantCaptionPhase;
|
|
136
|
+
private actionStateRunning;
|
|
137
|
+
private supportCompanion;
|
|
82
138
|
private messages;
|
|
83
139
|
private config;
|
|
84
|
-
|
|
140
|
+
private readonly dialogFocus;
|
|
141
|
+
private readonly persistentState;
|
|
142
|
+
private readonly initialPanelView;
|
|
143
|
+
constructor(config: BootstrapConfig, overrides: Partial<Record<WidgetMessageKey, string>>, callbacks: WidgetCallbacks, options?: WidgetViewOptions);
|
|
85
144
|
setRemoteStream(stream: MediaStream): void;
|
|
86
145
|
private bindPlaybackState;
|
|
87
146
|
private emitPlaybackState;
|
|
88
147
|
setStatus(value: string): void;
|
|
148
|
+
private applyStatus;
|
|
149
|
+
setActivity(value: WidgetActivity): void;
|
|
150
|
+
setCapabilityTier(tier: CapabilityTier): void;
|
|
151
|
+
updatePreviewConfig(config: BootstrapConfig): boolean;
|
|
152
|
+
private disablePreviewNavigation;
|
|
153
|
+
private applyActivity;
|
|
154
|
+
private effectsCanRun;
|
|
155
|
+
private isReducedMotionRequested;
|
|
156
|
+
private syncEffectMotion;
|
|
157
|
+
private onEffectVisibilityChange;
|
|
158
|
+
private onReducedMotionChange;
|
|
89
159
|
message(key: WidgetMessageKey): string;
|
|
160
|
+
setAdvancedSessionControlsVisible(visible: boolean): void;
|
|
161
|
+
open(mode?: AssistMode): void;
|
|
162
|
+
restartSession(): boolean;
|
|
163
|
+
startPreparedSession(mode: AssistMode): boolean;
|
|
164
|
+
close(): void;
|
|
165
|
+
minimizeForCompanionTransfer(): Promise<void> | null;
|
|
166
|
+
companionTransferMorphBudgetMs(): number;
|
|
167
|
+
restoreAfterCompanionTransferFailure(restoreFocus: boolean): void;
|
|
168
|
+
get isOpen(): boolean;
|
|
169
|
+
rootElement(): HTMLElement;
|
|
170
|
+
get hasFocus(): boolean;
|
|
171
|
+
setLauncherSuppressed(value: boolean): void;
|
|
90
172
|
setAssistantState(state: "listening" | "thinking" | "speaking" | "ready"): void;
|
|
91
|
-
|
|
173
|
+
private applyAssistantState;
|
|
174
|
+
private shouldHoldAssistantBusyIndicator;
|
|
175
|
+
private clearAssistantReadyVisualTimer;
|
|
176
|
+
showConnecting(resume?: boolean, mode?: AssistMode, staged?: boolean): void;
|
|
92
177
|
showActive(welcomeMessage?: string | null): void;
|
|
93
|
-
|
|
178
|
+
private presentWelcome;
|
|
179
|
+
private defaultWelcomeMessage;
|
|
180
|
+
private ensureWelcomeSkeleton;
|
|
181
|
+
private clearPendingWelcomeSkeleton;
|
|
182
|
+
private scrollCaptionsToBottom;
|
|
183
|
+
addCaption(role: "assistant" | "user", text: string, final: boolean, options?: {
|
|
184
|
+
restored?: boolean;
|
|
185
|
+
}): void;
|
|
94
186
|
private ensurePendingCaption;
|
|
95
187
|
private renderPendingDots;
|
|
188
|
+
private renderLiveCaption;
|
|
189
|
+
private commitCaptionHeightGlide;
|
|
190
|
+
private cancelCaptionHeightGlide;
|
|
191
|
+
private captionRenderedHeight;
|
|
192
|
+
private beginCompactCaptionContentTransition;
|
|
193
|
+
private clearCompactCaptionContentTransition;
|
|
96
194
|
private clearPendingCaptions;
|
|
97
195
|
private suspendPendingCaption;
|
|
98
196
|
private addCompactCaption;
|
|
197
|
+
private flipCompactCaptionStack;
|
|
99
198
|
private scheduleCompactCaptionRemoval;
|
|
100
|
-
private
|
|
199
|
+
private startCompactCaptionExit;
|
|
101
200
|
private removeCompactCaption;
|
|
102
201
|
private layoutCompactCaptions;
|
|
103
202
|
private clearCompactCaptions;
|
|
203
|
+
private settleCompactCaptionMotion;
|
|
104
204
|
showConfirmation(value: Confirmation): void;
|
|
105
|
-
showActionState(status: "running" | "verified" | "failed"): void;
|
|
205
|
+
showActionState(status: "running" | "verified" | "failed" | "unconfirmed"): void;
|
|
106
206
|
dismissActionState(): void;
|
|
107
207
|
showVisualRequest(value: VisualContextRequest): void;
|
|
108
208
|
showVisualResult(shared: boolean): void;
|
|
209
|
+
showHandoffRequestPreparing(title: string, description: string): void;
|
|
210
|
+
dismissHandoffRequestPreparing(): void;
|
|
211
|
+
showHandoffContextRequest(value: HandoffContextRequest): boolean;
|
|
212
|
+
dismissHandoffContextRequest(): void;
|
|
213
|
+
showHandoffContextResult(status: HandoffContextStatus): void;
|
|
214
|
+
showPageAssistanceRequest(value: PageAssistanceRequest): void;
|
|
215
|
+
private syncPageAssistanceFooter;
|
|
216
|
+
dismissPageAssistanceRequest(): void;
|
|
217
|
+
setPageAssistancePersistentAllowed(value: boolean): void;
|
|
218
|
+
setSupportCompanion(linked: boolean): void;
|
|
219
|
+
showSupportReplyNotice(visible: boolean): void;
|
|
109
220
|
setVisualAvailable(available: boolean, paused?: boolean): void;
|
|
110
221
|
setVisualPaused(paused: boolean): void;
|
|
111
222
|
setPaused(value: boolean): void;
|
|
112
223
|
setMuted(value: boolean): void;
|
|
113
224
|
configureVoiceControls(voiceActive: boolean, manualTurn: boolean, automaticTurnsAvailable: boolean): void;
|
|
225
|
+
setModeTransitionPending(mode: AssistMode | null): void;
|
|
226
|
+
private beginStartingVoicePresentation;
|
|
227
|
+
private cancelStartingVoicePresentation;
|
|
228
|
+
private discardStartingVoicePresentation;
|
|
229
|
+
private requestSessionMode;
|
|
230
|
+
private syncSessionModeUi;
|
|
114
231
|
setManualTurn(value: boolean): void;
|
|
115
232
|
setPushActive(value: boolean): void;
|
|
116
233
|
interruptPlayback(): void;
|
|
234
|
+
private clearErrorPresentation;
|
|
235
|
+
private clearEndingPresentation;
|
|
117
236
|
showError(message?: string, retryable?: boolean, sessionActive?: boolean): void;
|
|
237
|
+
showEndingDetached(message?: string): void;
|
|
238
|
+
showEndRetry(message?: string): void;
|
|
239
|
+
showResumeStopped(): void;
|
|
118
240
|
showEnded(message?: string): void;
|
|
119
241
|
showLimit(message?: string): void;
|
|
120
242
|
showActiveElsewhere(active: boolean): void;
|
|
@@ -127,14 +249,67 @@ export declare class WidgetView {
|
|
|
127
249
|
private applyConfig;
|
|
128
250
|
private renderLegalScopes;
|
|
129
251
|
private start;
|
|
252
|
+
private submitIntroQuestion;
|
|
253
|
+
private setIntroMinimized;
|
|
254
|
+
private scheduleIntroTransition;
|
|
255
|
+
private clearIntroTransition;
|
|
256
|
+
private settleIntroTransitionForStaticMotion;
|
|
257
|
+
private focusIntroView;
|
|
258
|
+
private syncIntroMinimizedState;
|
|
259
|
+
private syncIntroSendState;
|
|
260
|
+
private focusIntroControl;
|
|
261
|
+
private resolvePageAssistance;
|
|
130
262
|
private resolveConfirmation;
|
|
263
|
+
private restoreVoicePresenceAfterPrompt;
|
|
264
|
+
private requestEnd;
|
|
265
|
+
private syncEndControls;
|
|
266
|
+
private syncComposerDraftState;
|
|
267
|
+
private renderSuggestedPrompts;
|
|
268
|
+
private onSuggestionClick;
|
|
269
|
+
private onSuggestionWheel;
|
|
270
|
+
private onSuggestionPointerDown;
|
|
271
|
+
private onSuggestionPointerMove;
|
|
272
|
+
private onSuggestionPointerEnd;
|
|
131
273
|
private setComposerEnabled;
|
|
132
274
|
private syncStartAvailability;
|
|
133
275
|
private resolveVisualContext;
|
|
276
|
+
private resolveHandoffContext;
|
|
277
|
+
private resolveContextPermission;
|
|
278
|
+
private presentContextPermissionDialog;
|
|
279
|
+
private restoreContextPermissionDialogAttributes;
|
|
280
|
+
private bindSafetyInteraction;
|
|
281
|
+
private consumeSafetyInteraction;
|
|
282
|
+
private currentSafetyIdentity;
|
|
283
|
+
private dialogFallbackFocus;
|
|
284
|
+
private openPanelFromSource;
|
|
285
|
+
private transitionCompactPanelFromSource;
|
|
286
|
+
private focusCompactPresenceSurface;
|
|
287
|
+
private focusVoicePresenceSurface;
|
|
288
|
+
private clearPanelEntryAnimation;
|
|
289
|
+
private settlePanelTransitionWaiters;
|
|
290
|
+
private settlePanelTransitionForStaticMotion;
|
|
291
|
+
private schedulePanelTransition;
|
|
292
|
+
private syncSurfaceEffectOwner;
|
|
293
|
+
private prefersReducedMotion;
|
|
134
294
|
private openPanel;
|
|
135
295
|
private closePanel;
|
|
136
296
|
private initializePanelView;
|
|
137
297
|
private setCompact;
|
|
298
|
+
private commitCompact;
|
|
299
|
+
private settleExpandedBubbleMotion;
|
|
300
|
+
private transitionPanelView;
|
|
301
|
+
private capturePanelTransitionSnapshot;
|
|
302
|
+
private createCompactTransitionClone;
|
|
303
|
+
private refreshCompactTransitionClone;
|
|
304
|
+
private createIntroTransitionClone;
|
|
305
|
+
private createComposerTransitionClone;
|
|
306
|
+
private createPrimarySurfaceTransitionClone;
|
|
307
|
+
private prepareSessionTransitionClone;
|
|
308
|
+
private runPrimarySurfaceMorph;
|
|
309
|
+
private revealPanelDestinationSurface;
|
|
310
|
+
private clearPanelDestinationSurface;
|
|
311
|
+
private setTransitionRect;
|
|
312
|
+
private focusPanelView;
|
|
138
313
|
private readPanelView;
|
|
139
314
|
private readPanelVisibility;
|
|
140
315
|
private writePanelVisibility;
|
|
@@ -142,18 +317,27 @@ export declare class WidgetView {
|
|
|
142
317
|
private clearPanelSessionState;
|
|
143
318
|
private syncLauncherState;
|
|
144
319
|
cancelPendingConfirmation(): boolean;
|
|
145
|
-
resolvePendingConfirmation(approved: boolean
|
|
320
|
+
resolvePendingConfirmation(approved: boolean, expected?: {
|
|
321
|
+
actionId: string;
|
|
322
|
+
proposalChecksum: string;
|
|
323
|
+
}): boolean;
|
|
146
324
|
private ensureAmbient;
|
|
325
|
+
private syncWidgetCornerGlow;
|
|
326
|
+
private setActionStateRunning;
|
|
327
|
+
private syncWidgetCornerGlowVisibility;
|
|
147
328
|
private setAmbientActive;
|
|
148
329
|
private clearAmbientHideTimer;
|
|
149
330
|
private startDuration;
|
|
150
331
|
private renderDuration;
|
|
151
332
|
private stopDuration;
|
|
333
|
+
private leaveFeedback;
|
|
334
|
+
private clearFeedbackExitFade;
|
|
152
335
|
private resetForNextSession;
|
|
153
336
|
private showAttribution;
|
|
154
337
|
private hideAttribution;
|
|
155
338
|
private openLegalDetails;
|
|
156
339
|
private closeLegalDetails;
|
|
340
|
+
private syncAdvancedSessionControlsVisibility;
|
|
157
341
|
private setControlLabel;
|
|
158
342
|
private setControlIcon;
|
|
159
343
|
private setTooltip;
|
|
@@ -176,9 +360,15 @@ export declare class WidgetView {
|
|
|
176
360
|
private savePanelPosition;
|
|
177
361
|
private hasActiveSessionMarker;
|
|
178
362
|
private resetPanelPosition;
|
|
363
|
+
private clearPanelInlinePosition;
|
|
179
364
|
private restorePanelPosition;
|
|
180
365
|
private clampPanelPosition;
|
|
366
|
+
private canDragPanel;
|
|
367
|
+
private cancelPanelDrag;
|
|
368
|
+
private syncPanelDragState;
|
|
181
369
|
private syncHeaderActions;
|
|
370
|
+
private focusFallbackIfUnavailable;
|
|
371
|
+
private isVisibleFocusTarget;
|
|
182
372
|
private require;
|
|
183
373
|
}
|
|
184
374
|
export {};
|