@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.
Files changed (67) hide show
  1. package/cjs/AiLiveAssist.d.ts +588 -6
  2. package/cjs/AiLiveAssist.js +14892 -1240
  3. package/cjs/client.d.ts +71 -10
  4. package/cjs/client.js +316 -58
  5. package/cjs/context.d.ts +15 -5
  6. package/cjs/context.js +568 -73
  7. package/cjs/control.d.ts +72 -7
  8. package/cjs/control.js +594 -71
  9. package/cjs/dialogFocusScope.d.ts +37 -0
  10. package/cjs/dialogFocusScope.js +227 -0
  11. package/cjs/experienceState.js +1 -1
  12. package/cjs/index.d.ts +1 -1
  13. package/cjs/index.js +2 -2
  14. package/cjs/media.d.ts +14 -3
  15. package/cjs/media.js +128 -19
  16. package/cjs/messages.js +26 -3
  17. package/cjs/messengerLoader.d.ts +3 -0
  18. package/cjs/messengerLoader.js +156 -0
  19. package/cjs/pageAssistancePreference.d.ts +78 -0
  20. package/cjs/pageAssistancePreference.js +488 -0
  21. package/cjs/preview.d.ts +33 -0
  22. package/cjs/preview.js +567 -0
  23. package/cjs/tabLock.d.ts +54 -3
  24. package/cjs/tabLock.js +752 -72
  25. package/cjs/types.d.ts +152 -4
  26. package/cjs/ui.d.ts +200 -10
  27. package/cjs/ui.js +6946 -523
  28. package/cjs/version.d.ts +1 -1
  29. package/cjs/version.js +1 -1
  30. package/cjs/voicePresenceUi.d.ts +48 -9
  31. package/cjs/voicePresenceUi.js +863 -125
  32. package/lib/AiLiveAssist.d.ts +588 -6
  33. package/lib/AiLiveAssist.js +14897 -1248
  34. package/lib/client.d.ts +71 -10
  35. package/lib/client.js +313 -57
  36. package/lib/context.d.ts +15 -5
  37. package/lib/context.js +566 -72
  38. package/lib/control.d.ts +72 -7
  39. package/lib/control.js +594 -71
  40. package/lib/dialogFocusScope.d.ts +37 -0
  41. package/lib/dialogFocusScope.js +223 -0
  42. package/lib/experienceState.js +1 -1
  43. package/lib/index.d.ts +1 -1
  44. package/lib/index.js +2 -2
  45. package/lib/media.d.ts +14 -3
  46. package/lib/media.js +128 -19
  47. package/lib/messages.js +26 -3
  48. package/lib/messengerLoader.d.ts +3 -0
  49. package/lib/messengerLoader.js +151 -0
  50. package/lib/pageAssistancePreference.d.ts +78 -0
  51. package/lib/pageAssistancePreference.js +482 -0
  52. package/lib/preview.d.ts +33 -0
  53. package/lib/preview.js +561 -0
  54. package/lib/tabLock.d.ts +54 -3
  55. package/lib/tabLock.js +752 -72
  56. package/lib/types.d.ts +152 -4
  57. package/lib/ui.d.ts +200 -10
  58. package/lib/ui.js +6947 -524
  59. package/lib/version.d.ts +1 -1
  60. package/lib/version.js +1 -1
  61. package/lib/voicePresenceUi.d.ts +48 -9
  62. package/lib/voicePresenceUi.js +863 -125
  63. package/package.json +8 -3
  64. package/cjs/recordingPolicy.d.ts +0 -2
  65. package/cjs/recordingPolicy.js +0 -12
  66. package/lib/recordingPolicy.d.ts +0 -2
  67. package/lib/recordingPolicy.js +0 -8
package/cjs/control.d.ts CHANGED
@@ -1,31 +1,96 @@
1
- import type { ControlServerEnvelope, LaunchResult } from './types.js';
2
- type Handler = (message: ControlServerEnvelope) => void | Promise<void>;
1
+ import type { ControlServerEnvelope, RuntimeAuthorization } from "./types.js";
2
+ type Handler = (message: ControlServerEnvelope, isCurrent: () => boolean) => void | Promise<void>;
3
+ type IngressHandler = (message: ControlServerEnvelope, isCurrent: () => boolean) => void;
4
+ export type ControlDeliveryOutcome = {
5
+ status: "ack";
6
+ messageId: string;
7
+ sequence: number;
8
+ } | {
9
+ status: "explicit_error";
10
+ messageId: string;
11
+ sequence: number;
12
+ code: string;
13
+ message: string;
14
+ retryable: boolean;
15
+ retryAfterMs: number | null;
16
+ } | {
17
+ status: "timeout" | "invalidated";
18
+ messageId: string;
19
+ sequence: number;
20
+ };
21
+ export type ControlOutboundOperation = {
22
+ messageId: string;
23
+ sequence: number;
24
+ type: string;
25
+ };
26
+ export type ReservedControlOperation = Readonly<ControlOutboundOperation>;
3
27
  export declare class ControlChannel {
4
28
  private readonly result;
5
29
  private readonly tabId;
6
30
  private readonly clientVersion;
7
31
  private readonly onDisconnect;
8
32
  private readonly onClientSequence;
33
+ private readonly onUnsafeDisconnect;
9
34
  private socket;
10
35
  private clientSequence;
11
36
  private serverSequence;
37
+ private serverBaselineEstablished;
38
+ private sequenceGapDetected;
39
+ private recoveryDisconnectNotified;
12
40
  private fencingToken;
13
41
  private heartbeat;
14
42
  private handlers;
43
+ private ingressHandlers;
15
44
  private intentionallyClosed;
16
- private pendingAcks;
17
- private recentAcks;
18
- constructor(result: LaunchResult, tabId: string, clientVersion: string, onDisconnect: () => void, initialClientSequence?: number, onClientSequence?: (sequence: number) => void);
45
+ private pendingOutcomes;
46
+ private recentOutcomes;
47
+ private outboundOperations;
48
+ private latestOutboundSequence;
49
+ private unsettledStatefulOperations;
50
+ private socketGeneration;
51
+ private handlerTail;
52
+ private pendingHandlerMessages;
53
+ private pendingConnection;
54
+ private helloOperation;
55
+ private fencedAuthorityConfirmed;
56
+ constructor(result: RuntimeAuthorization, tabId: string, clientVersion: string, onDisconnect: () => void, initialClientSequence?: number, onClientSequence?: (sequence: number) => void, onUnsafeDisconnect?: () => void);
19
57
  get leaseToken(): number;
58
+ get lastClientSequence(): number;
20
59
  get isOpen(): boolean;
60
+ get connectionHelloOperation(): ReservedControlOperation | null;
61
+ get hasFencedAuthority(): boolean;
21
62
  setFencingToken(value: number): void;
22
63
  subscribe(handler: Handler): () => void;
64
+ subscribeIngress(handler: IngressHandler): () => void;
23
65
  connect(signal: AbortSignal, resume: boolean): Promise<void>;
24
- send(type: string, payload: Record<string, unknown>): string;
66
+ send(type: string, payload: Record<string, unknown>, stableMessageId?: string): string;
67
+ reserveOperationIdentity(type: string, stableMessageId?: string): ReservedControlOperation;
68
+ sendReserved(operation: ReservedControlOperation, payload: Record<string, unknown>): string;
69
+ outboundOperation(messageId: string, sequence?: number): ControlOutboundOperation | null;
70
+ waitForOutcome(messageId: string, timeoutMs?: number, expectedSequence?: number): Promise<ControlDeliveryOutcome>;
25
71
  waitForAck(messageId: string, timeoutMs?: number): Promise<boolean>;
72
+ waitForHelloOutcome(timeoutMs?: number): Promise<ControlDeliveryOutcome>;
73
+ proveFencedAuthority(timeoutMs?: number): Promise<ControlDeliveryOutcome>;
26
74
  startHeartbeat(seconds: number): void;
27
75
  close(code?: number, reason?: string): void;
28
76
  private handleMessage;
29
- private stopHeartbeat;
77
+ private recoverFromSequenceGap;
78
+ private notifyUnsafeDisconnect;
79
+ private enqueueHandlers;
80
+ private dispatchHandlers;
81
+ private handleHandlerFailure;
82
+ private dispatchIngressHandlers;
83
+ private failCurrentGeneration;
84
+ private isMessageSourceCurrent;
85
+ private isCurrentSocket;
86
+ private retireSocket;
87
+ private sendHeartbeat;
88
+ private withHandlerDeadline;
89
+ private clearPendingConnection;
90
+ private rejectPendingConnection;
91
+ private settleOutcome;
92
+ private invalidatePendingOutcomes;
93
+ private pruneSettledOperationHistory;
94
+ stopHeartbeat(): void;
30
95
  }
31
96
  export {};