@voxevolv/client 0.3.3 → 0.3.5

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.
@@ -1 +1 @@
1
- sha384-PewpzPwvekVvKZhoey5uSqOKk7w9GZB54u2RoDFWb6gph0DQUrSo7DjKgVgbMIl0
1
+ sha384-dhXJWgVAbUEWiULaYiaGXhqHYNZjF0rxrBiOf3TOxomvddgkIsvdpVtdK/egO5WT
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "file": "index.js",
3
- "integrity": "sha384-PewpzPwvekVvKZhoey5uSqOKk7w9GZB54u2RoDFWb6gph0DQUrSo7DjKgVgbMIl0"
3
+ "integrity": "sha384-dhXJWgVAbUEWiULaYiaGXhqHYNZjF0rxrBiOf3TOxomvddgkIsvdpVtdK/egO5WT"
4
4
  }
@@ -0,0 +1,61 @@
1
+ /** Bounded, content-free diagnostics for realtime connection investigations. */
2
+ declare const OPERATIONS: Set<"command_result" | "command_send" | "connection_recovery" | "context_transfer">;
3
+ declare const STATUSES: Set<"acknowledged" | "failed" | "rejected" | "retrying" | "started" | "succeeded" | "timed_out">;
4
+ declare const CONNECTION_STATES: Set<"connected" | "connected_not_ready" | "connecting" | "disconnected" | "failed" | "idle" | "reconnecting" | "resuming">;
5
+ declare const EVENT_TYPES: Set<"client.hello" | "command.ack" | "command.error" | "context.rejected" | "context.update" | "context.updated">;
6
+ export type DiagnosticOperation = typeof OPERATIONS extends Set<infer T> ? T : never;
7
+ export type DiagnosticStatus = typeof STATUSES extends Set<infer T> ? T : never;
8
+ export type DiagnosticConnectionState = typeof CONNECTION_STATES extends Set<infer T> ? T : never;
9
+ export type DiagnosticEventType = typeof EVENT_TYPES extends Set<infer T> ? T : never;
10
+ export interface ClientDiagnosticEntry {
11
+ at_ms: number;
12
+ operation: DiagnosticOperation;
13
+ status: DiagnosticStatus;
14
+ reason?: string;
15
+ message_id?: string;
16
+ connection_id?: string;
17
+ client_seq?: number;
18
+ context_key?: string;
19
+ payload_bytes?: number;
20
+ duration_ms?: number;
21
+ retry_count?: number;
22
+ timeout_ms?: number;
23
+ connection_state?: DiagnosticConnectionState;
24
+ buffered_bytes?: number;
25
+ event_type?: DiagnosticEventType;
26
+ }
27
+ export type ClientDiagnosticInput = Omit<ClientDiagnosticEntry, "at_ms">;
28
+ export interface ClientDiagnosticReport {
29
+ source: "sdk";
30
+ sdk_version: string;
31
+ trigger: string;
32
+ entries: ClientDiagnosticEntry[];
33
+ }
34
+ type DiagnosticBufferOptions = {
35
+ sdkVersion: string;
36
+ limit?: number;
37
+ throttleMs?: number;
38
+ now?: () => number;
39
+ schedule?: (callback: () => void, delayMs: number) => unknown;
40
+ };
41
+ export declare class ClientDiagnosticBuffer {
42
+ private readonly entries;
43
+ private readonly sdkVersion;
44
+ private readonly limit;
45
+ private readonly throttleMs;
46
+ private readonly now;
47
+ private readonly schedule;
48
+ private readonly startedAt;
49
+ private lastReportAt;
50
+ private reporting;
51
+ private pendingReport;
52
+ private pendingReportScheduled;
53
+ constructor(options: DiagnosticBufferOptions);
54
+ record(input: ClientDiagnosticInput): void;
55
+ snapshot(): ClientDiagnosticEntry[];
56
+ flush(trigger: string, send: (report: ClientDiagnosticReport) => Promise<void>): Promise<boolean>;
57
+ private isThrottled;
58
+ private schedulePendingReport;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /** Bounded, content-free diagnostics for realtime connection investigations. */
2
+ const DEFAULT_LIMIT = 128;
3
+ const DEFAULT_THROTTLE_MS = 10_000;
4
+ const OPERATIONS = new Set([
5
+ "context_transfer",
6
+ "command_send",
7
+ "command_result",
8
+ "connection_recovery",
9
+ ]);
10
+ const STATUSES = new Set([
11
+ "started",
12
+ "succeeded",
13
+ "failed",
14
+ "retrying",
15
+ "acknowledged",
16
+ "rejected",
17
+ "timed_out",
18
+ ]);
19
+ const CONNECTION_STATES = new Set([
20
+ "idle",
21
+ "connecting",
22
+ "connected_not_ready",
23
+ "connected",
24
+ "reconnecting",
25
+ "resuming",
26
+ "disconnected",
27
+ "failed",
28
+ ]);
29
+ const EVENT_TYPES = new Set([
30
+ "client.hello",
31
+ "context.update",
32
+ "command.ack",
33
+ "command.error",
34
+ "context.updated",
35
+ "context.rejected",
36
+ ]);
37
+ const SAFE_CODE = /^[a-z0-9_.:-]+$/;
38
+ const SAFE_CONTEXT_KEY = /^[A-Za-z0-9][A-Za-z0-9._:-]*$/;
39
+ export class ClientDiagnosticBuffer {
40
+ entries = [];
41
+ sdkVersion;
42
+ limit;
43
+ throttleMs;
44
+ now;
45
+ schedule;
46
+ startedAt;
47
+ lastReportAt = null;
48
+ reporting = false;
49
+ pendingReport = null;
50
+ pendingReportScheduled = false;
51
+ constructor(options) {
52
+ this.sdkVersion = options.sdkVersion;
53
+ this.limit = Math.max(1, Math.min(Math.trunc(options.limit ?? DEFAULT_LIMIT), DEFAULT_LIMIT));
54
+ this.throttleMs = Math.max(0, options.throttleMs ?? DEFAULT_THROTTLE_MS);
55
+ this.now = options.now ?? (() => Date.now());
56
+ this.schedule = options.schedule
57
+ ?? ((callback, delayMs) => globalThis.setTimeout(callback, delayMs));
58
+ this.startedAt = this.now();
59
+ }
60
+ record(input) {
61
+ const entry = sanitizeEntry(input, Math.max(this.now() - this.startedAt, 0));
62
+ if (!entry)
63
+ return;
64
+ this.entries.push(entry);
65
+ while (this.entries.length > this.limit)
66
+ this.entries.shift();
67
+ }
68
+ snapshot() {
69
+ return this.entries.map((entry) => ({ ...entry }));
70
+ }
71
+ async flush(trigger, send) {
72
+ const now = this.now();
73
+ if (!SAFE_CODE.test(trigger) || trigger.length > 100)
74
+ return false;
75
+ if (this.entries.length === 0)
76
+ return false;
77
+ if (this.reporting || this.pendingReportScheduled || this.isThrottled(now)) {
78
+ this.pendingReport = { trigger, send };
79
+ this.schedulePendingReport();
80
+ return false;
81
+ }
82
+ this.reporting = true;
83
+ try {
84
+ await send({
85
+ source: "sdk",
86
+ sdk_version: this.sdkVersion,
87
+ trigger,
88
+ entries: this.snapshot(),
89
+ });
90
+ return true;
91
+ }
92
+ catch {
93
+ // Diagnostics are always best effort and must never affect the call.
94
+ return false;
95
+ }
96
+ finally {
97
+ // Anchor throttling after the request settles. The server received the
98
+ // preceding report before this point, so its own throttle has time to expire.
99
+ this.lastReportAt = this.now();
100
+ this.reporting = false;
101
+ this.schedulePendingReport();
102
+ }
103
+ }
104
+ isThrottled(now) {
105
+ return this.lastReportAt !== null && now - this.lastReportAt < this.throttleMs;
106
+ }
107
+ schedulePendingReport() {
108
+ if (this.reporting || this.pendingReport === null || this.pendingReportScheduled)
109
+ return;
110
+ const elapsedMs = this.lastReportAt === null ? this.throttleMs : this.now() - this.lastReportAt;
111
+ const delayMs = Math.max(this.throttleMs - elapsedMs, 0);
112
+ this.pendingReportScheduled = true;
113
+ this.schedule(() => {
114
+ this.pendingReportScheduled = false;
115
+ const pending = this.pendingReport;
116
+ this.pendingReport = null;
117
+ if (pending)
118
+ void this.flush(pending.trigger, pending.send);
119
+ }, delayMs);
120
+ }
121
+ }
122
+ function sanitizeEntry(input, atMs) {
123
+ if (!OPERATIONS.has(input.operation) || !STATUSES.has(input.status))
124
+ return null;
125
+ const entry = {
126
+ at_ms: boundedNumber(atMs, 0, 86_400_000) ?? 0,
127
+ operation: input.operation,
128
+ status: input.status,
129
+ };
130
+ const reason = safeString(input.reason, 100, SAFE_CODE);
131
+ const messageId = safeString(input.message_id, 120);
132
+ const connectionId = safeString(input.connection_id, 120);
133
+ const contextKey = safeString(input.context_key, 120, SAFE_CONTEXT_KEY);
134
+ if (reason !== undefined)
135
+ entry.reason = reason;
136
+ if (messageId !== undefined)
137
+ entry.message_id = messageId;
138
+ if (connectionId !== undefined)
139
+ entry.connection_id = connectionId;
140
+ if (contextKey !== undefined)
141
+ entry.context_key = contextKey;
142
+ assignNumber(entry, "client_seq", input.client_seq, 1, Number.MAX_SAFE_INTEGER, true);
143
+ assignNumber(entry, "payload_bytes", input.payload_bytes, 0, 5_242_880, true);
144
+ assignNumber(entry, "duration_ms", input.duration_ms, 0, 3_600_000);
145
+ assignNumber(entry, "retry_count", input.retry_count, 0, 1_000, true);
146
+ assignNumber(entry, "timeout_ms", input.timeout_ms, 1, 3_600_000, true);
147
+ assignNumber(entry, "buffered_bytes", input.buffered_bytes, 0, 1_073_741_824, true);
148
+ if (input.connection_state && CONNECTION_STATES.has(input.connection_state)) {
149
+ entry.connection_state = input.connection_state;
150
+ }
151
+ if (input.event_type && EVENT_TYPES.has(input.event_type)) {
152
+ entry.event_type = input.event_type;
153
+ }
154
+ return entry;
155
+ }
156
+ function safeString(value, maxLength, pattern) {
157
+ if (typeof value !== "string" || value.length === 0 || value.length > maxLength)
158
+ return undefined;
159
+ if (pattern && !pattern.test(value))
160
+ return undefined;
161
+ return value;
162
+ }
163
+ function boundedNumber(value, minimum, maximum, integer = false) {
164
+ if (typeof value !== "number" || !Number.isFinite(value))
165
+ return undefined;
166
+ if (value < minimum || value > maximum)
167
+ return undefined;
168
+ return integer ? Math.trunc(value) : Math.round(value * 10) / 10;
169
+ }
170
+ function assignNumber(entry, key, value, minimum, maximum, integer = false) {
171
+ const normalized = boundedNumber(value, minimum, maximum, integer);
172
+ if (normalized !== undefined) {
173
+ entry[key] = normalized;
174
+ }
175
+ }
176
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Room } from "livekit-client";
2
2
  import { type CommandAckPayload, type ContextUpdate, type ContextUpdatedPayload, type EventGap, type RealtimeEvent } from "./protocol.js";
3
+ import { type DiagnosticOperation } from "./diagnostics.js";
3
4
  import { type TranscriptMessage } from "./transcripts.js";
4
5
  export { TranscriptStore, type TranscriptMessage } from "./transcripts.js";
5
6
  export { CommandError, EventCursor, createClientMessage, isCommandAckPayload, isCommandErrorPayload, isContextRejectedPayload, isContextUpdatePayload, isContextUpdatedPayload, isRealtimeEvent, } from "./protocol.js";
@@ -18,12 +19,13 @@ export interface SessionCredentials {
18
19
  access_token: string;
19
20
  access_token_expires_at: string;
20
21
  }
21
- export declare const SDK_VERSION = "0.3.3";
22
+ export declare const SDK_VERSION = "0.3.5";
22
23
  type Listener = (event: RealtimeEvent) => void;
23
24
  type StateListener = (state: ConnectionState) => void;
24
25
  type GapListener = (gap: EventGap) => void;
25
26
  type ConnectionQualityListener = (quality: ConnectionQuality) => void;
26
27
  type RecoveryListener = (event: RecoveryEvent) => void;
28
+ type StartupAttemptListener = (event: StartupAttemptEvent) => void;
27
29
  export type FetchLike = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
28
30
  export type RemoteAudioTrackListener = (track: MediaStreamTrack, stream: MediaStream) => void;
29
31
  export interface TranscriptEvent {
@@ -50,6 +52,14 @@ export interface AutoRejoinOptions {
50
52
  maxDelayMs?: number;
51
53
  timeoutMs?: number;
52
54
  }
55
+ export interface StartupAttempt {
56
+ readyTimeoutMs: number;
57
+ delayBeforeMs?: number;
58
+ }
59
+ export interface StartupRetryOptions {
60
+ attempts?: readonly StartupAttempt[];
61
+ timeoutMs?: number;
62
+ }
53
63
  export interface RealtimeSessionOptions {
54
64
  connect?: ConnectOptions;
55
65
  tools?: Record<string, ToolHandler>;
@@ -57,6 +67,7 @@ export interface RealtimeSessionOptions {
57
67
  endEndpoint?: string;
58
68
  refreshCredentials?: () => Promise<SessionCredentials>;
59
69
  autoRejoin?: boolean | AutoRejoinOptions;
70
+ startupRetry?: boolean | StartupRetryOptions;
60
71
  lifecycleCredentials?: RequestCredentials;
61
72
  }
62
73
  export interface RealtimeSessionCreateOptions extends Omit<RealtimeSessionOptions, "connect"> {
@@ -85,8 +96,21 @@ export interface RecoveryEvent {
85
96
  status: "started" | "succeeded" | "failed";
86
97
  strategy: "livekit" | "rejoin";
87
98
  attempt: number;
99
+ trigger: RecoveryTrigger;
100
+ operation?: DiagnosticOperation;
101
+ messageId?: string;
102
+ contextKey?: string;
103
+ timeoutMs?: number;
104
+ error?: Error;
105
+ }
106
+ export interface StartupAttemptEvent {
107
+ status: "started" | "succeeded" | "failed";
108
+ attempt: number;
109
+ maxAttempts: number;
110
+ readyTimeoutMs: number;
88
111
  error?: Error;
89
112
  }
113
+ export type RecoveryTrigger = "manual_rejoin" | "livekit_reconnecting" | "livekit_resume_failed" | "livekit_disconnected" | "agent_disconnected" | "worker_replaced" | "context_transfer_timeout" | "context_command_timeout";
90
114
  export declare class RealtimeSessionHttpError extends Error {
91
115
  readonly status: number;
92
116
  readonly code: string | null;
@@ -113,6 +137,7 @@ export declare class RealtimeSession {
113
137
  private gapListeners;
114
138
  private connectionQualityListeners;
115
139
  private recoveryListeners;
140
+ private startupAttemptListeners;
116
141
  private remoteAudioTrackListeners;
117
142
  private remoteAudioTrackUnsubscribedListeners;
118
143
  private readyListeners;
@@ -140,6 +165,7 @@ export declare class RealtimeSession {
140
165
  private readyResolve;
141
166
  private replayPromise;
142
167
  private pendingCommands;
168
+ private commandPublishTail;
143
169
  private toolHandlers;
144
170
  private apiBase;
145
171
  private hasConnectedValue;
@@ -150,6 +176,8 @@ export declare class RealtimeSession {
150
176
  private activeRecovery;
151
177
  private autoRejoinPromise;
152
178
  private autoRejoinController;
179
+ private startupConnectController;
180
+ private startupAttemptController;
153
181
  private useManagedMicrophone;
154
182
  private managedMicrophoneEnabled;
155
183
  private applicationAudioTrack;
@@ -158,7 +186,10 @@ export declare class RealtimeSession {
158
186
  private readonly endEndpoint;
159
187
  private readonly refreshCredentialsCallback;
160
188
  private readonly autoRejoinOptions;
189
+ private readonly startupRetryOptions;
161
190
  private readonly lifecycleCredentials;
191
+ private readonly diagnostics;
192
+ private readonly diagnosticReportTimeoutMs;
162
193
  constructor(credentials: SessionCredentials, options?: RealtimeSessionOptions);
163
194
  static create(options: RealtimeSessionCreateOptions): Promise<RealtimeSession>;
164
195
  get state(): ConnectionState;
@@ -174,6 +205,7 @@ export declare class RealtimeSession {
174
205
  onProtocolGap(listener: GapListener): () => void;
175
206
  onConnectionQuality(listener: ConnectionQualityListener): () => void;
176
207
  onRecovery(listener: RecoveryListener): () => void;
208
+ onStartupAttempt(listener: StartupAttemptListener): () => void;
177
209
  waitForState(states: readonly ConnectionState[], timeoutMs: number, options?: WaitForStateOptions): Promise<ConnectionState>;
178
210
  onRemoteAudioTrack(listener: RemoteAudioTrackListener): () => void;
179
211
  onRemoteAudioTrackUnsubscribed(listener: RemoteAudioTrackListener): () => void;
@@ -189,7 +221,10 @@ export declare class RealtimeSession {
189
221
  onAudioPlaybackBlocked(listener: (event: AudioPlaybackBlockedEvent) => void): () => void;
190
222
  registerTool(name: string, handler: ToolHandler): () => void;
191
223
  connect(options?: ConnectOptions): Promise<void>;
224
+ private connectWithStartupRetry;
225
+ private notifyStartupAttempt;
192
226
  private connectWithMode;
227
+ private connectRoom;
193
228
  rejoin(apiBase?: string): Promise<void>;
194
229
  private performRejoin;
195
230
  setMicrophoneEnabled(enabled: boolean): Promise<void>;
@@ -221,15 +256,23 @@ export declare class RealtimeSession {
221
256
  private fetchRoomToken;
222
257
  private refreshCredentials;
223
258
  private observeConvenienceEvents;
259
+ private abortStartupConnect;
224
260
  private publishApplicationAudioTrack;
225
261
  private sendHello;
226
262
  private sendTrackedCommand;
263
+ private publishCommandAttempt;
264
+ private publishCommandAttemptNow;
227
265
  private publishCommand;
266
+ private recordDiagnostic;
267
+ private reliableDataChannelBufferedBytes;
268
+ private flushDiagnostics;
269
+ private postDiagnostics;
228
270
  private waitForRemoteAudioTrack;
229
271
  private waitForAgentReady;
230
272
  private observeReadiness;
231
273
  private observeCommandResult;
232
274
  private rejectPendingCommands;
275
+ private recordCommandResult;
233
276
  private fetchReplay;
234
277
  }
235
278
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}