@absolutejs/voice 0.0.22-beta.537 → 0.0.22-beta.539

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 (48) hide show
  1. package/dist/angular/index.js +118 -0
  2. package/dist/client/callDebugger.d.ts +2 -0
  3. package/dist/client/campaignDialerProof.d.ts +2 -0
  4. package/dist/client/deliveryRuntime.d.ts +2 -0
  5. package/dist/client/index.d.ts +2 -0
  6. package/dist/client/index.js +258 -36
  7. package/dist/client/opsActionCenter.d.ts +2 -0
  8. package/dist/client/opsActionHistory.d.ts +2 -0
  9. package/dist/client/opsStatus.d.ts +2 -0
  10. package/dist/client/platformCoverage.d.ts +2 -0
  11. package/dist/client/profileComparison.d.ts +2 -0
  12. package/dist/client/profileSwitchRecommendation.d.ts +2 -0
  13. package/dist/client/proofTrends.d.ts +2 -0
  14. package/dist/client/providerCapabilities.d.ts +2 -0
  15. package/dist/client/providerContracts.d.ts +2 -0
  16. package/dist/client/providerStatus.d.ts +2 -0
  17. package/dist/client/reactiveSource.d.ts +8 -0
  18. package/dist/client/readinessFailures.d.ts +2 -0
  19. package/dist/client/reconnectProfileEvidence.d.ts +2 -0
  20. package/dist/client/routingStatus.d.ts +2 -0
  21. package/dist/client/sessionObservability.d.ts +2 -0
  22. package/dist/client/sessionSnapshot.d.ts +2 -0
  23. package/dist/client/traceTimeline.d.ts +2 -0
  24. package/dist/client/turnLatency.d.ts +2 -0
  25. package/dist/client/turnQuality.d.ts +2 -0
  26. package/dist/client/workflowStatus.d.ts +2 -0
  27. package/dist/drizzle/assistantMemory.d.ts +17 -0
  28. package/dist/drizzle/index.d.ts +17 -0
  29. package/dist/drizzle/index.js +8 -13
  30. package/dist/react/index.js +252 -36
  31. package/dist/svelte/index.js +202 -24
  32. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +4 -0
  33. package/dist/vue/VoiceDeliveryRuntime.d.ts +4 -0
  34. package/dist/vue/VoiceOpsStatus.d.ts +4 -0
  35. package/dist/vue/VoicePlatformCoverage.d.ts +4 -0
  36. package/dist/vue/VoiceProofTrends.d.ts +4 -0
  37. package/dist/vue/VoiceProviderCapabilities.d.ts +4 -0
  38. package/dist/vue/VoiceProviderContracts.d.ts +4 -0
  39. package/dist/vue/VoiceProviderStatus.d.ts +4 -0
  40. package/dist/vue/VoiceReadinessFailures.d.ts +4 -0
  41. package/dist/vue/VoiceReconnectProfileEvidence.d.ts +4 -0
  42. package/dist/vue/VoiceRoutingStatus.d.ts +4 -0
  43. package/dist/vue/VoiceSessionObservability.d.ts +4 -0
  44. package/dist/vue/VoiceSessionSnapshot.d.ts +4 -0
  45. package/dist/vue/VoiceTurnLatency.d.ts +4 -0
  46. package/dist/vue/VoiceTurnQuality.d.ts +4 -0
  47. package/dist/vue/index.js +261 -30
  48. package/package.json +1 -1
@@ -86,6 +86,24 @@ var __require = import.meta.require;
86
86
  // src/angular/voice-ops-status.service.ts
87
87
  import { computed, Injectable, signal } from "@angular/core";
88
88
 
89
+ // src/client/reactiveSource.ts
90
+ var bindVoiceReactiveSource = (refresh, source) => {
91
+ const cleanup = source?.(refresh);
92
+ return typeof cleanup === "function" ? cleanup : () => {};
93
+ };
94
+ var voiceSseReactiveSource = (topic, options = {}) => (refresh) => {
95
+ const Impl = options.eventSourceImpl ?? (typeof EventSource !== "undefined" ? EventSource : undefined);
96
+ if (!Impl) {
97
+ return () => {};
98
+ }
99
+ const url = `${options.path ?? "/sync"}?topics=${encodeURIComponent(topic)}`;
100
+ const source = new Impl(url, {
101
+ withCredentials: options.withCredentials ?? false
102
+ });
103
+ source.onmessage = () => refresh();
104
+ return () => source.close();
105
+ };
106
+
89
107
  // src/client/opsStatus.ts
90
108
  var createVoiceOpsStatusStore = (path = "/api/voice/ops-status", options = {}) => {
91
109
  const listeners = new Set;
@@ -130,12 +148,14 @@ var createVoiceOpsStatusStore = (path = "/api/voice/ops-status", options = {}) =
130
148
  throw error;
131
149
  }
132
150
  };
151
+ let unbindReactiveSource = () => {};
133
152
  const close = () => {
134
153
  closed = true;
135
154
  if (timer) {
136
155
  clearInterval(timer);
137
156
  timer = undefined;
138
157
  }
158
+ unbindReactiveSource();
139
159
  listeners.clear();
140
160
  };
141
161
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -143,6 +163,9 @@ var createVoiceOpsStatusStore = (path = "/api/voice/ops-status", options = {}) =
143
163
  refresh().catch(() => {});
144
164
  }, options.intervalMs);
145
165
  }
166
+ if (typeof window !== "undefined" && options.reactiveSource) {
167
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
168
+ }
146
169
  return {
147
170
  close,
148
171
  refresh,
@@ -2452,12 +2475,14 @@ var createVoicePlatformCoverageStore = (path = "/api/voice/platform-coverage", o
2452
2475
  throw error;
2453
2476
  }
2454
2477
  };
2478
+ let unbindReactiveSource = () => {};
2455
2479
  const close = () => {
2456
2480
  closed = true;
2457
2481
  if (timer) {
2458
2482
  clearInterval(timer);
2459
2483
  timer = undefined;
2460
2484
  }
2485
+ unbindReactiveSource();
2461
2486
  listeners.clear();
2462
2487
  };
2463
2488
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -2465,6 +2490,9 @@ var createVoicePlatformCoverageStore = (path = "/api/voice/platform-coverage", o
2465
2490
  refresh().catch(() => {});
2466
2491
  }, options.intervalMs);
2467
2492
  }
2493
+ if (typeof window !== "undefined" && options.reactiveSource) {
2494
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
2495
+ }
2468
2496
  return {
2469
2497
  close,
2470
2498
  refresh,
@@ -2576,12 +2604,14 @@ var createVoiceProofTrendsStore = (path = "/api/voice/proof-trends", options = {
2576
2604
  throw error;
2577
2605
  }
2578
2606
  };
2607
+ let unbindReactiveSource = () => {};
2579
2608
  const close = () => {
2580
2609
  closed = true;
2581
2610
  if (timer) {
2582
2611
  clearInterval(timer);
2583
2612
  timer = undefined;
2584
2613
  }
2614
+ unbindReactiveSource();
2585
2615
  listeners.clear();
2586
2616
  };
2587
2617
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -2589,6 +2619,9 @@ var createVoiceProofTrendsStore = (path = "/api/voice/proof-trends", options = {
2589
2619
  refresh().catch(() => {});
2590
2620
  }, options.intervalMs);
2591
2621
  }
2622
+ if (typeof window !== "undefined" && options.reactiveSource) {
2623
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
2624
+ }
2592
2625
  return {
2593
2626
  close,
2594
2627
  refresh,
@@ -2696,12 +2729,14 @@ var createVoiceReconnectProfileEvidenceStore = (path = "/api/voice/reconnect-pro
2696
2729
  throw error;
2697
2730
  }
2698
2731
  };
2732
+ let unbindReactiveSource = () => {};
2699
2733
  const close = () => {
2700
2734
  closed = true;
2701
2735
  if (timer) {
2702
2736
  clearInterval(timer);
2703
2737
  timer = undefined;
2704
2738
  }
2739
+ unbindReactiveSource();
2705
2740
  listeners.clear();
2706
2741
  };
2707
2742
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -2709,6 +2744,9 @@ var createVoiceReconnectProfileEvidenceStore = (path = "/api/voice/reconnect-pro
2709
2744
  refresh().catch(() => {});
2710
2745
  }, options.intervalMs);
2711
2746
  }
2747
+ if (typeof window !== "undefined" && options.reactiveSource) {
2748
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
2749
+ }
2712
2750
  return {
2713
2751
  close,
2714
2752
  refresh,
@@ -2816,12 +2854,14 @@ var createVoiceCallDebuggerStore = (path, options = {}) => {
2816
2854
  throw error;
2817
2855
  }
2818
2856
  };
2857
+ let unbindReactiveSource = () => {};
2819
2858
  const close = () => {
2820
2859
  closed = true;
2821
2860
  if (timer) {
2822
2861
  clearInterval(timer);
2823
2862
  timer = undefined;
2824
2863
  }
2864
+ unbindReactiveSource();
2825
2865
  listeners.clear();
2826
2866
  };
2827
2867
  if (options.intervalMs && options.intervalMs > 0) {
@@ -2829,6 +2869,9 @@ var createVoiceCallDebuggerStore = (path, options = {}) => {
2829
2869
  refresh().catch(() => {});
2830
2870
  }, options.intervalMs);
2831
2871
  }
2872
+ if (typeof window !== "undefined" && options.reactiveSource) {
2873
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
2874
+ }
2832
2875
  return {
2833
2876
  close,
2834
2877
  refresh,
@@ -2951,12 +2994,14 @@ var createVoiceSessionSnapshotStore = (path, options = {}) => {
2951
2994
  type: "application/json"
2952
2995
  });
2953
2996
  };
2997
+ let unbindReactiveSource = () => {};
2954
2998
  const close = () => {
2955
2999
  closed = true;
2956
3000
  if (timer) {
2957
3001
  clearInterval(timer);
2958
3002
  timer = undefined;
2959
3003
  }
3004
+ unbindReactiveSource();
2960
3005
  listeners.clear();
2961
3006
  };
2962
3007
  if (options.intervalMs && options.intervalMs > 0) {
@@ -2964,6 +3009,9 @@ var createVoiceSessionSnapshotStore = (path, options = {}) => {
2964
3009
  refresh().catch(() => {});
2965
3010
  }, options.intervalMs);
2966
3011
  }
3012
+ if (typeof window !== "undefined" && options.reactiveSource) {
3013
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
3014
+ }
2967
3015
  return {
2968
3016
  close,
2969
3017
  download,
@@ -3076,12 +3124,14 @@ var createVoiceSessionObservabilityStore = (path, options = {}) => {
3076
3124
  throw error;
3077
3125
  }
3078
3126
  };
3127
+ let unbindReactiveSource = () => {};
3079
3128
  const close = () => {
3080
3129
  closed = true;
3081
3130
  if (timer) {
3082
3131
  clearInterval(timer);
3083
3132
  timer = undefined;
3084
3133
  }
3134
+ unbindReactiveSource();
3085
3135
  listeners.clear();
3086
3136
  };
3087
3137
  if (options.intervalMs && options.intervalMs > 0) {
@@ -3089,6 +3139,9 @@ var createVoiceSessionObservabilityStore = (path, options = {}) => {
3089
3139
  refresh().catch(() => {});
3090
3140
  }, options.intervalMs);
3091
3141
  }
3142
+ if (typeof window !== "undefined" && options.reactiveSource) {
3143
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
3144
+ }
3092
3145
  return {
3093
3146
  close,
3094
3147
  refresh,
@@ -3194,12 +3247,14 @@ var createVoiceProfileComparisonStore = (path = "/api/voice/real-call-profile-hi
3194
3247
  throw error;
3195
3248
  }
3196
3249
  };
3250
+ let unbindReactiveSource = () => {};
3197
3251
  const close = () => {
3198
3252
  closed = true;
3199
3253
  if (timer) {
3200
3254
  clearInterval(timer);
3201
3255
  timer = undefined;
3202
3256
  }
3257
+ unbindReactiveSource();
3203
3258
  listeners.clear();
3204
3259
  };
3205
3260
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -3207,6 +3262,9 @@ var createVoiceProfileComparisonStore = (path = "/api/voice/real-call-profile-hi
3207
3262
  refresh().catch(() => {});
3208
3263
  }, options.intervalMs);
3209
3264
  }
3265
+ if (typeof window !== "undefined" && options.reactiveSource) {
3266
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
3267
+ }
3210
3268
  return {
3211
3269
  close,
3212
3270
  refresh,
@@ -3314,12 +3372,14 @@ var createVoiceReadinessFailuresStore = (path = "/api/production-readiness", opt
3314
3372
  throw error;
3315
3373
  }
3316
3374
  };
3375
+ let unbindReactiveSource = () => {};
3317
3376
  const close = () => {
3318
3377
  closed = true;
3319
3378
  if (timer) {
3320
3379
  clearInterval(timer);
3321
3380
  timer = undefined;
3322
3381
  }
3382
+ unbindReactiveSource();
3323
3383
  listeners.clear();
3324
3384
  };
3325
3385
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -3327,6 +3387,9 @@ var createVoiceReadinessFailuresStore = (path = "/api/production-readiness", opt
3327
3387
  refresh().catch(() => {});
3328
3388
  }, options.intervalMs);
3329
3389
  }
3390
+ if (typeof window !== "undefined" && options.reactiveSource) {
3391
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
3392
+ }
3330
3393
  return {
3331
3394
  close,
3332
3395
  refresh,
@@ -3540,12 +3603,14 @@ var createVoiceOpsActionCenterStore = (options = {}) => {
3540
3603
  throw error;
3541
3604
  }
3542
3605
  };
3606
+ let unbindReactiveSource = () => {};
3543
3607
  const close = () => {
3544
3608
  closed = true;
3545
3609
  if (timer) {
3546
3610
  clearInterval(timer);
3547
3611
  timer = undefined;
3548
3612
  }
3613
+ unbindReactiveSource();
3549
3614
  listeners.clear();
3550
3615
  };
3551
3616
  if (options.intervalMs && options.intervalMs > 0) {
@@ -3553,6 +3618,9 @@ var createVoiceOpsActionCenterStore = (options = {}) => {
3553
3618
  emit();
3554
3619
  }, options.intervalMs);
3555
3620
  }
3621
+ if (typeof window !== "undefined" && options.reactiveSource) {
3622
+ unbindReactiveSource = bindVoiceReactiveSource(() => emit(), options.reactiveSource);
3623
+ }
3556
3624
  return {
3557
3625
  close,
3558
3626
  run,
@@ -3844,12 +3912,14 @@ var createVoiceDeliveryRuntimeStore = (path = "/api/voice-delivery-runtime", opt
3844
3912
  throw error;
3845
3913
  }
3846
3914
  };
3915
+ let unbindReactiveSource = () => {};
3847
3916
  const close = () => {
3848
3917
  closed = true;
3849
3918
  if (timer) {
3850
3919
  clearInterval(timer);
3851
3920
  timer = undefined;
3852
3921
  }
3922
+ unbindReactiveSource();
3853
3923
  listeners.clear();
3854
3924
  };
3855
3925
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -3857,6 +3927,9 @@ var createVoiceDeliveryRuntimeStore = (path = "/api/voice-delivery-runtime", opt
3857
3927
  refresh().catch(() => {});
3858
3928
  }, options.intervalMs);
3859
3929
  }
3930
+ if (typeof window !== "undefined" && options.reactiveSource) {
3931
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
3932
+ }
3860
3933
  return {
3861
3934
  close,
3862
3935
  refresh,
@@ -4024,12 +4097,14 @@ var createVoiceCampaignDialerProofStore = (path = "/api/voice/campaigns/dialer-p
4024
4097
  throw error;
4025
4098
  }
4026
4099
  };
4100
+ let unbindReactiveSource = () => {};
4027
4101
  const close = () => {
4028
4102
  closed = true;
4029
4103
  if (timer) {
4030
4104
  clearInterval(timer);
4031
4105
  timer = undefined;
4032
4106
  }
4107
+ unbindReactiveSource();
4033
4108
  listeners.clear();
4034
4109
  };
4035
4110
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4037,6 +4112,9 @@ var createVoiceCampaignDialerProofStore = (path = "/api/voice/campaigns/dialer-p
4037
4112
  refresh().catch(() => {});
4038
4113
  }, options.intervalMs);
4039
4114
  }
4115
+ if (typeof window !== "undefined" && options.reactiveSource) {
4116
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4117
+ }
4040
4118
  return {
4041
4119
  close,
4042
4120
  refresh,
@@ -4288,12 +4366,14 @@ var createVoiceProviderCapabilitiesStore = (path = "/api/provider-capabilities",
4288
4366
  throw error;
4289
4367
  }
4290
4368
  };
4369
+ let unbindReactiveSource = () => {};
4291
4370
  const close = () => {
4292
4371
  closed = true;
4293
4372
  if (timer) {
4294
4373
  clearInterval(timer);
4295
4374
  timer = undefined;
4296
4375
  }
4376
+ unbindReactiveSource();
4297
4377
  listeners.clear();
4298
4378
  };
4299
4379
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4301,6 +4381,9 @@ var createVoiceProviderCapabilitiesStore = (path = "/api/provider-capabilities",
4301
4381
  refresh().catch(() => {});
4302
4382
  }, options.intervalMs);
4303
4383
  }
4384
+ if (typeof window !== "undefined" && options.reactiveSource) {
4385
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4386
+ }
4304
4387
  return {
4305
4388
  close,
4306
4389
  refresh,
@@ -4406,12 +4489,14 @@ var createVoiceProviderContractsStore = (path = "/api/provider-contracts", optio
4406
4489
  throw error;
4407
4490
  }
4408
4491
  };
4492
+ let unbindReactiveSource = () => {};
4409
4493
  const close = () => {
4410
4494
  closed = true;
4411
4495
  if (timer) {
4412
4496
  clearInterval(timer);
4413
4497
  timer = undefined;
4414
4498
  }
4499
+ unbindReactiveSource();
4415
4500
  listeners.clear();
4416
4501
  };
4417
4502
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4419,6 +4504,9 @@ var createVoiceProviderContractsStore = (path = "/api/provider-contracts", optio
4419
4504
  refresh().catch(() => {});
4420
4505
  }, options.intervalMs);
4421
4506
  }
4507
+ if (typeof window !== "undefined" && options.reactiveSource) {
4508
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4509
+ }
4422
4510
  return {
4423
4511
  close,
4424
4512
  refresh,
@@ -4529,12 +4617,14 @@ var createVoiceProviderStatusStore = (path = "/api/provider-status", options = {
4529
4617
  throw error;
4530
4618
  }
4531
4619
  };
4620
+ let unbindReactiveSource = () => {};
4532
4621
  const close = () => {
4533
4622
  closed = true;
4534
4623
  if (timer) {
4535
4624
  clearInterval(timer);
4536
4625
  timer = undefined;
4537
4626
  }
4627
+ unbindReactiveSource();
4538
4628
  listeners.clear();
4539
4629
  };
4540
4630
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4542,6 +4632,9 @@ var createVoiceProviderStatusStore = (path = "/api/provider-status", options = {
4542
4632
  refresh().catch(() => {});
4543
4633
  }, options.intervalMs);
4544
4634
  }
4635
+ if (typeof window !== "undefined" && options.reactiveSource) {
4636
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4637
+ }
4545
4638
  return {
4546
4639
  close,
4547
4640
  refresh,
@@ -4652,12 +4745,14 @@ var createVoiceRoutingStatusStore = (path = "/api/routing/latest", options = {})
4652
4745
  throw error;
4653
4746
  }
4654
4747
  };
4748
+ let unbindReactiveSource = () => {};
4655
4749
  const close = () => {
4656
4750
  closed = true;
4657
4751
  if (timer) {
4658
4752
  clearInterval(timer);
4659
4753
  timer = undefined;
4660
4754
  }
4755
+ unbindReactiveSource();
4661
4756
  listeners.clear();
4662
4757
  };
4663
4758
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4665,6 +4760,9 @@ var createVoiceRoutingStatusStore = (path = "/api/routing/latest", options = {})
4665
4760
  refresh().catch(() => {});
4666
4761
  }, options.intervalMs);
4667
4762
  }
4763
+ if (typeof window !== "undefined" && options.reactiveSource) {
4764
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4765
+ }
4668
4766
  return {
4669
4767
  close,
4670
4768
  refresh,
@@ -4775,12 +4873,14 @@ var createVoiceTraceTimelineStore = (path = "/api/voice-traces", options = {}) =
4775
4873
  throw error;
4776
4874
  }
4777
4875
  };
4876
+ let unbindReactiveSource = () => {};
4778
4877
  const close = () => {
4779
4878
  closed = true;
4780
4879
  if (timer) {
4781
4880
  clearInterval(timer);
4782
4881
  timer = undefined;
4783
4882
  }
4883
+ unbindReactiveSource();
4784
4884
  listeners.clear();
4785
4885
  };
4786
4886
  if (options.intervalMs && options.intervalMs > 0) {
@@ -4788,6 +4888,9 @@ var createVoiceTraceTimelineStore = (path = "/api/voice-traces", options = {}) =
4788
4888
  refresh().catch(() => {});
4789
4889
  }, options.intervalMs);
4790
4890
  }
4891
+ if (typeof window !== "undefined" && options.reactiveSource) {
4892
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
4893
+ }
4791
4894
  return {
4792
4895
  close,
4793
4896
  refresh,
@@ -5030,12 +5133,14 @@ var createVoiceTurnLatencyStore = (path = "/api/turn-latency", options = {}) =>
5030
5133
  throw error;
5031
5134
  }
5032
5135
  };
5136
+ let unbindReactiveSource = () => {};
5033
5137
  const close = () => {
5034
5138
  closed = true;
5035
5139
  if (timer) {
5036
5140
  clearInterval(timer);
5037
5141
  timer = undefined;
5038
5142
  }
5143
+ unbindReactiveSource();
5039
5144
  listeners.clear();
5040
5145
  };
5041
5146
  if (options.intervalMs && options.intervalMs > 0) {
@@ -5043,6 +5148,9 @@ var createVoiceTurnLatencyStore = (path = "/api/turn-latency", options = {}) =>
5043
5148
  refresh().catch(() => {});
5044
5149
  }, options.intervalMs);
5045
5150
  }
5151
+ if (typeof window !== "undefined" && options.reactiveSource) {
5152
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
5153
+ }
5046
5154
  return {
5047
5155
  close,
5048
5156
  refresh,
@@ -5162,12 +5270,14 @@ var createVoiceTurnQualityStore = (path = "/api/turn-quality", options = {}) =>
5162
5270
  throw error;
5163
5271
  }
5164
5272
  };
5273
+ let unbindReactiveSource = () => {};
5165
5274
  const close = () => {
5166
5275
  closed = true;
5167
5276
  if (timer) {
5168
5277
  clearInterval(timer);
5169
5278
  timer = undefined;
5170
5279
  }
5280
+ unbindReactiveSource();
5171
5281
  listeners.clear();
5172
5282
  };
5173
5283
  if (options.intervalMs && options.intervalMs > 0) {
@@ -5175,6 +5285,9 @@ var createVoiceTurnQualityStore = (path = "/api/turn-quality", options = {}) =>
5175
5285
  refresh().catch(() => {});
5176
5286
  }, options.intervalMs);
5177
5287
  }
5288
+ if (typeof window !== "undefined" && options.reactiveSource) {
5289
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
5290
+ }
5178
5291
  return {
5179
5292
  close,
5180
5293
  refresh,
@@ -5284,12 +5397,14 @@ var createVoiceWorkflowStatusStore = (path = "/evals/scenarios/json", options =
5284
5397
  throw error;
5285
5398
  }
5286
5399
  };
5400
+ let unbindReactiveSource = () => {};
5287
5401
  const close = () => {
5288
5402
  closed = true;
5289
5403
  if (timer) {
5290
5404
  clearInterval(timer);
5291
5405
  timer = undefined;
5292
5406
  }
5407
+ unbindReactiveSource();
5293
5408
  listeners.clear();
5294
5409
  };
5295
5410
  if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
@@ -5297,6 +5412,9 @@ var createVoiceWorkflowStatusStore = (path = "/evals/scenarios/json", options =
5297
5412
  refresh().catch(() => {});
5298
5413
  }, options.intervalMs);
5299
5414
  }
5415
+ if (typeof window !== "undefined" && options.reactiveSource) {
5416
+ unbindReactiveSource = bindVoiceReactiveSource(() => void refresh().catch(() => {}), options.reactiveSource);
5417
+ }
5300
5418
  return {
5301
5419
  close,
5302
5420
  refresh,
@@ -1,7 +1,9 @@
1
1
  import type { VoiceCallDebuggerReport } from "../core/callDebugger";
2
+ import { type VoiceReactiveSource } from "./reactiveSource";
2
3
  export type VoiceCallDebuggerClientOptions = {
3
4
  fetch?: typeof fetch;
4
5
  intervalMs?: number;
6
+ reactiveSource?: VoiceReactiveSource;
5
7
  };
6
8
  export type VoiceCallDebuggerClientState = {
7
9
  error: string | null;
@@ -1,7 +1,9 @@
1
1
  import type { VoiceCampaignDialerProofReport, VoiceCampaignDialerProofStatus } from "../core/campaignDialers";
2
+ import { type VoiceReactiveSource } from "./reactiveSource";
2
3
  export type VoiceCampaignDialerProofClientOptions = {
3
4
  fetch?: typeof fetch;
4
5
  intervalMs?: number;
6
+ reactiveSource?: VoiceReactiveSource;
5
7
  runPath?: string;
6
8
  };
7
9
  export type VoiceCampaignDialerProofSnapshot = {
@@ -1,7 +1,9 @@
1
1
  import type { VoiceDeliveryRuntimeReport } from "../core/deliveryRuntime";
2
+ import { type VoiceReactiveSource } from "./reactiveSource";
2
3
  export type VoiceDeliveryRuntimeClientOptions = {
3
4
  fetch?: typeof fetch;
4
5
  intervalMs?: number;
6
+ reactiveSource?: VoiceReactiveSource;
5
7
  requeueDeadLettersPath?: string;
6
8
  tickPath?: string;
7
9
  };
@@ -1,3 +1,5 @@
1
+ export { bindVoiceReactiveSource, voiceSseReactiveSource, } from "./reactiveSource";
2
+ export type { VoiceReactiveSource, VoiceSseReactiveSourceOptions, } from "./reactiveSource";
1
3
  export { createVoiceConnection } from "./connection";
2
4
  export { createVoiceAudioPlayer, decodeVoiceAudioChunk } from "./audioPlayer";
3
5
  export { createVoiceStream } from "./createVoiceStream";