@absolutejs/voice 0.0.11 → 0.0.12

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.
@@ -422,6 +422,12 @@ var createVoiceStream = (path, options = {}) => {
422
422
  get error() {
423
423
  return store.getSnapshot().error;
424
424
  },
425
+ getServerSnapshot() {
426
+ return store.getServerSnapshot();
427
+ },
428
+ getSnapshot() {
429
+ return store.getSnapshot();
430
+ },
425
431
  get isConnected() {
426
432
  return store.getSnapshot().isConnected;
427
433
  },
@@ -418,6 +418,12 @@ var createVoiceStream = (path, options = {}) => {
418
418
  get error() {
419
419
  return store.getSnapshot().error;
420
420
  },
421
+ getServerSnapshot() {
422
+ return store.getServerSnapshot();
423
+ },
424
+ getSnapshot() {
425
+ return store.getSnapshot();
426
+ },
421
427
  get isConnected() {
422
428
  return store.getSnapshot().isConnected;
423
429
  },
@@ -422,6 +422,12 @@ var createVoiceStream = (path, options = {}) => {
422
422
  get error() {
423
423
  return store.getSnapshot().error;
424
424
  },
425
+ getServerSnapshot() {
426
+ return store.getServerSnapshot();
427
+ },
428
+ getSnapshot() {
429
+ return store.getSnapshot();
430
+ },
425
431
  get isConnected() {
426
432
  return store.getSnapshot().isConnected;
427
433
  },
@@ -453,6 +459,15 @@ var createVoiceStream = (path, options = {}) => {
453
459
  };
454
460
 
455
461
  // src/react/useVoiceStream.tsx
462
+ var EMPTY_SNAPSHOT = {
463
+ assistantTexts: [],
464
+ error: null,
465
+ isConnected: false,
466
+ partial: "",
467
+ sessionId: "",
468
+ status: "idle",
469
+ turns: []
470
+ };
456
471
  var useVoiceStream = (path, options = {}) => {
457
472
  const streamRef = useRef(null);
458
473
  if (!streamRef.current) {
@@ -460,23 +475,7 @@ var useVoiceStream = (path, options = {}) => {
460
475
  }
461
476
  const stream = streamRef.current;
462
477
  useEffect(() => () => stream.close(), [stream]);
463
- const snapshot = useSyncExternalStore(stream.subscribe, () => ({
464
- assistantTexts: stream.assistantTexts,
465
- error: stream.error,
466
- isConnected: stream.isConnected,
467
- partial: stream.partial,
468
- sessionId: stream.sessionId,
469
- status: stream.status,
470
- turns: stream.turns
471
- }), () => ({
472
- assistantTexts: [],
473
- error: null,
474
- isConnected: false,
475
- partial: "",
476
- sessionId: "",
477
- status: "idle",
478
- turns: []
479
- }));
478
+ const snapshot = useSyncExternalStore(stream.subscribe, stream.getSnapshot, stream.getServerSnapshot) ?? EMPTY_SNAPSHOT;
480
479
  return {
481
480
  ...snapshot,
482
481
  close: () => stream.close(),
@@ -3,11 +3,11 @@ export declare const useVoiceStream: <TResult = unknown>(path: string, options?:
3
3
  close: () => void;
4
4
  endTurn: () => void;
5
5
  sendAudio: (audio: Uint8Array | ArrayBuffer) => void;
6
- assistantTexts: string[];
7
- error: string | null;
8
- isConnected: boolean;
9
- partial: string;
10
6
  sessionId: string | null;
11
7
  status: import("..").VoiceSessionStatus | "idle";
8
+ partial: string;
12
9
  turns: import("..").VoiceTurnRecord<TResult>[];
10
+ assistantTexts: string[];
11
+ error: string | null;
12
+ isConnected: boolean;
13
13
  };
@@ -419,6 +419,12 @@ var createVoiceStream = (path, options = {}) => {
419
419
  get error() {
420
420
  return store.getSnapshot().error;
421
421
  },
422
+ getServerSnapshot() {
423
+ return store.getServerSnapshot();
424
+ },
425
+ getSnapshot() {
426
+ return store.getSnapshot();
427
+ },
422
428
  get isConnected() {
423
429
  return store.getSnapshot().isConnected;
424
430
  },
package/dist/types.d.ts CHANGED
@@ -330,6 +330,8 @@ export type VoiceStream<TResult = unknown> = {
330
330
  close: () => void;
331
331
  endTurn: () => void;
332
332
  error: string | null;
333
+ getServerSnapshot: () => VoiceStreamState<TResult>;
334
+ getSnapshot: () => VoiceStreamState<TResult>;
333
335
  isConnected: boolean;
334
336
  partial: string;
335
337
  sendAudio: (audio: Uint8Array | ArrayBuffer) => void;
package/dist/vue/index.js CHANGED
@@ -422,6 +422,12 @@ var createVoiceStream = (path, options = {}) => {
422
422
  get error() {
423
423
  return store.getSnapshot().error;
424
424
  },
425
+ getServerSnapshot() {
426
+ return store.getServerSnapshot();
427
+ },
428
+ getSnapshot() {
429
+ return store.getSnapshot();
430
+ },
425
431
  get isConnected() {
426
432
  return store.getSnapshot().isConnected;
427
433
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",