@absolutejs/voice 0.0.22-beta.166 → 0.0.22-beta.168

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.
@@ -5,6 +5,7 @@ export { VoiceCampaignDialerProofService } from './voice-campaign-dialer-proof.s
5
5
  export { VoiceStreamService } from './voice-stream.service';
6
6
  export { VoiceControllerService } from './voice-controller.service';
7
7
  export { VoiceProviderCapabilitiesService } from './voice-provider-capabilities.service';
8
+ export { VoiceProviderContractsService } from './voice-provider-contracts.service';
8
9
  export { VoiceProviderStatusService } from './voice-provider-status.service';
9
10
  export { VoiceRoutingStatusService } from './voice-routing-status.service';
10
11
  export { VoiceTraceTimelineService } from './voice-trace-timeline.service';
@@ -2316,9 +2316,127 @@ VoiceProviderCapabilitiesService = __decorateElement(_init, 0, "VoiceProviderCap
2316
2316
  __runInitializers(_init, 1, VoiceProviderCapabilitiesService);
2317
2317
  __decoratorMetadata(_init, VoiceProviderCapabilitiesService);
2318
2318
  let _VoiceProviderCapabilitiesService = VoiceProviderCapabilitiesService;
2319
- // src/angular/voice-provider-status.service.ts
2319
+ // src/angular/voice-provider-contracts.service.ts
2320
2320
  import { computed as computed8, Injectable as Injectable8, signal as signal8 } from "@angular/core";
2321
2321
 
2322
+ // src/client/providerContracts.ts
2323
+ var fetchVoiceProviderContracts = async (path = "/api/provider-contracts", options = {}) => {
2324
+ const fetchImpl = options.fetch ?? globalThis.fetch;
2325
+ const response = await fetchImpl(path);
2326
+ if (!response.ok) {
2327
+ throw new Error(`Voice provider contracts failed: HTTP ${response.status}`);
2328
+ }
2329
+ return await response.json();
2330
+ };
2331
+ var createVoiceProviderContractsStore = (path = "/api/provider-contracts", options = {}) => {
2332
+ const listeners = new Set;
2333
+ let closed = false;
2334
+ let timer;
2335
+ let snapshot = {
2336
+ error: null,
2337
+ isLoading: false
2338
+ };
2339
+ const emit = () => {
2340
+ for (const listener of listeners) {
2341
+ listener();
2342
+ }
2343
+ };
2344
+ const refresh = async () => {
2345
+ if (closed) {
2346
+ return snapshot.report;
2347
+ }
2348
+ snapshot = { ...snapshot, error: null, isLoading: true };
2349
+ emit();
2350
+ try {
2351
+ const report = await fetchVoiceProviderContracts(path, options);
2352
+ snapshot = {
2353
+ error: null,
2354
+ isLoading: false,
2355
+ report,
2356
+ updatedAt: Date.now()
2357
+ };
2358
+ emit();
2359
+ return report;
2360
+ } catch (error) {
2361
+ snapshot = {
2362
+ ...snapshot,
2363
+ error: error instanceof Error ? error.message : String(error),
2364
+ isLoading: false
2365
+ };
2366
+ emit();
2367
+ throw error;
2368
+ }
2369
+ };
2370
+ const close = () => {
2371
+ closed = true;
2372
+ if (timer) {
2373
+ clearInterval(timer);
2374
+ timer = undefined;
2375
+ }
2376
+ listeners.clear();
2377
+ };
2378
+ if (options.intervalMs && options.intervalMs > 0) {
2379
+ timer = setInterval(() => {
2380
+ refresh().catch(() => {});
2381
+ }, options.intervalMs);
2382
+ }
2383
+ return {
2384
+ close,
2385
+ getServerSnapshot: () => snapshot,
2386
+ getSnapshot: () => snapshot,
2387
+ refresh,
2388
+ subscribe: (listener) => {
2389
+ listeners.add(listener);
2390
+ return () => {
2391
+ listeners.delete(listener);
2392
+ };
2393
+ }
2394
+ };
2395
+ };
2396
+
2397
+ // src/angular/voice-provider-contracts.service.ts
2398
+ var _dec = [
2399
+ Injectable8({ providedIn: "root" })
2400
+ ];
2401
+ var _init = __decoratorStart(undefined);
2402
+
2403
+ class VoiceProviderContractsService {
2404
+ connect(path = "/api/provider-contracts", options = {}) {
2405
+ const store = createVoiceProviderContractsStore(path, options);
2406
+ const errorSignal = signal8(null);
2407
+ const isLoadingSignal = signal8(false);
2408
+ const reportSignal = signal8(undefined);
2409
+ const updatedAtSignal = signal8(undefined);
2410
+ const sync = () => {
2411
+ const snapshot = store.getSnapshot();
2412
+ errorSignal.set(snapshot.error);
2413
+ isLoadingSignal.set(snapshot.isLoading);
2414
+ reportSignal.set(snapshot.report);
2415
+ updatedAtSignal.set(snapshot.updatedAt);
2416
+ };
2417
+ const unsubscribe = store.subscribe(sync);
2418
+ sync();
2419
+ store.refresh().catch(() => {});
2420
+ return {
2421
+ close: () => {
2422
+ unsubscribe();
2423
+ store.close();
2424
+ },
2425
+ error: computed8(() => errorSignal()),
2426
+ isLoading: computed8(() => isLoadingSignal()),
2427
+ refresh: store.refresh,
2428
+ report: computed8(() => reportSignal()),
2429
+ updatedAt: computed8(() => updatedAtSignal())
2430
+ };
2431
+ }
2432
+ }
2433
+ VoiceProviderContractsService = __decorateElement(_init, 0, "VoiceProviderContractsService", _dec, VoiceProviderContractsService);
2434
+ __runInitializers(_init, 1, VoiceProviderContractsService);
2435
+ __decoratorMetadata(_init, VoiceProviderContractsService);
2436
+ let _VoiceProviderContractsService = VoiceProviderContractsService;
2437
+ // src/angular/voice-provider-status.service.ts
2438
+ import { computed as computed9, Injectable as Injectable9, signal as signal9 } from "@angular/core";
2439
+
2322
2440
  // src/client/providerStatus.ts
2323
2441
  var fetchVoiceProviderStatus = async (path = "/api/provider-status", options = {}) => {
2324
2442
  const fetchImpl = options.fetch ?? globalThis.fetch;
@@ -2401,17 +2519,17 @@ var createVoiceProviderStatusStore = (path = "/api/provider-status", options = {
2401
2519
 
2402
2520
  // src/angular/voice-provider-status.service.ts
2403
2521
  var _dec = [
2404
- Injectable8({ providedIn: "root" })
2522
+ Injectable9({ providedIn: "root" })
2405
2523
  ];
2406
2524
  var _init = __decoratorStart(undefined);
2407
2525
 
2408
2526
  class VoiceProviderStatusService {
2409
2527
  connect(path = "/api/provider-status", options = {}) {
2410
2528
  const store = createVoiceProviderStatusStore(path, options);
2411
- const errorSignal = signal8(null);
2412
- const isLoadingSignal = signal8(false);
2413
- const providersSignal = signal8([]);
2414
- const updatedAtSignal = signal8(undefined);
2529
+ const errorSignal = signal9(null);
2530
+ const isLoadingSignal = signal9(false);
2531
+ const providersSignal = signal9([]);
2532
+ const updatedAtSignal = signal9(undefined);
2415
2533
  const sync = () => {
2416
2534
  const snapshot = store.getSnapshot();
2417
2535
  errorSignal.set(snapshot.error);
@@ -2427,11 +2545,11 @@ class VoiceProviderStatusService {
2427
2545
  unsubscribe();
2428
2546
  store.close();
2429
2547
  },
2430
- error: computed8(() => errorSignal()),
2431
- isLoading: computed8(() => isLoadingSignal()),
2432
- providers: computed8(() => providersSignal()),
2548
+ error: computed9(() => errorSignal()),
2549
+ isLoading: computed9(() => isLoadingSignal()),
2550
+ providers: computed9(() => providersSignal()),
2433
2551
  refresh: store.refresh,
2434
- updatedAt: computed8(() => updatedAtSignal())
2552
+ updatedAt: computed9(() => updatedAtSignal())
2435
2553
  };
2436
2554
  }
2437
2555
  }
@@ -2440,7 +2558,7 @@ __runInitializers(_init, 1, VoiceProviderStatusService);
2440
2558
  __decoratorMetadata(_init, VoiceProviderStatusService);
2441
2559
  let _VoiceProviderStatusService = VoiceProviderStatusService;
2442
2560
  // src/angular/voice-routing-status.service.ts
2443
- import { Injectable as Injectable9, signal as signal9 } from "@angular/core";
2561
+ import { Injectable as Injectable10, signal as signal10 } from "@angular/core";
2444
2562
 
2445
2563
  // src/client/routingStatus.ts
2446
2564
  var fetchVoiceRoutingStatus = async (path = "/api/routing/latest", options = {}) => {
@@ -2524,17 +2642,17 @@ var createVoiceRoutingStatusStore = (path = "/api/routing/latest", options = {})
2524
2642
 
2525
2643
  // src/angular/voice-routing-status.service.ts
2526
2644
  var _dec = [
2527
- Injectable9({ providedIn: "root" })
2645
+ Injectable10({ providedIn: "root" })
2528
2646
  ];
2529
2647
  var _init = __decoratorStart(undefined);
2530
2648
 
2531
2649
  class VoiceRoutingStatusService {
2532
2650
  connect(path = "/api/routing/latest", options = {}) {
2533
2651
  const store = createVoiceRoutingStatusStore(path, options);
2534
- const decisionSignal = signal9(null);
2535
- const errorSignal = signal9(null);
2536
- const isLoadingSignal = signal9(false);
2537
- const updatedAtSignal = signal9(undefined);
2652
+ const decisionSignal = signal10(null);
2653
+ const errorSignal = signal10(null);
2654
+ const isLoadingSignal = signal10(false);
2655
+ const updatedAtSignal = signal10(undefined);
2538
2656
  const sync = () => {
2539
2657
  const snapshot = store.getSnapshot();
2540
2658
  decisionSignal.set(snapshot.decision);
@@ -2563,7 +2681,7 @@ __runInitializers(_init, 1, VoiceRoutingStatusService);
2563
2681
  __decoratorMetadata(_init, VoiceRoutingStatusService);
2564
2682
  let _VoiceRoutingStatusService = VoiceRoutingStatusService;
2565
2683
  // src/angular/voice-trace-timeline.service.ts
2566
- import { computed as computed9, Injectable as Injectable10, signal as signal10 } from "@angular/core";
2684
+ import { computed as computed10, Injectable as Injectable11, signal as signal11 } from "@angular/core";
2567
2685
 
2568
2686
  // src/client/traceTimeline.ts
2569
2687
  var fetchVoiceTraceTimeline = async (path = "/api/voice-traces", options = {}) => {
@@ -2647,17 +2765,17 @@ var createVoiceTraceTimelineStore = (path = "/api/voice-traces", options = {}) =
2647
2765
 
2648
2766
  // src/angular/voice-trace-timeline.service.ts
2649
2767
  var _dec = [
2650
- Injectable10({ providedIn: "root" })
2768
+ Injectable11({ providedIn: "root" })
2651
2769
  ];
2652
2770
  var _init = __decoratorStart(undefined);
2653
2771
 
2654
2772
  class VoiceTraceTimelineService {
2655
2773
  connect(path = "/api/voice-traces", options = {}) {
2656
2774
  const store = createVoiceTraceTimelineStore(path, options);
2657
- const errorSignal = signal10(null);
2658
- const isLoadingSignal = signal10(false);
2659
- const reportSignal = signal10(null);
2660
- const updatedAtSignal = signal10(undefined);
2775
+ const errorSignal = signal11(null);
2776
+ const isLoadingSignal = signal11(false);
2777
+ const reportSignal = signal11(null);
2778
+ const updatedAtSignal = signal11(undefined);
2661
2779
  const sync = () => {
2662
2780
  const snapshot = store.getSnapshot();
2663
2781
  errorSignal.set(snapshot.error);
@@ -2673,11 +2791,11 @@ class VoiceTraceTimelineService {
2673
2791
  unsubscribe();
2674
2792
  store.close();
2675
2793
  },
2676
- error: computed9(() => errorSignal()),
2677
- isLoading: computed9(() => isLoadingSignal()),
2794
+ error: computed10(() => errorSignal()),
2795
+ isLoading: computed10(() => isLoadingSignal()),
2678
2796
  refresh: store.refresh,
2679
- report: computed9(() => reportSignal()),
2680
- updatedAt: computed9(() => updatedAtSignal())
2797
+ report: computed10(() => reportSignal()),
2798
+ updatedAt: computed10(() => updatedAtSignal())
2681
2799
  };
2682
2800
  }
2683
2801
  }
@@ -2686,7 +2804,7 @@ __runInitializers(_init, 1, VoiceTraceTimelineService);
2686
2804
  __decoratorMetadata(_init, VoiceTraceTimelineService);
2687
2805
  let _VoiceTraceTimelineService = VoiceTraceTimelineService;
2688
2806
  // src/angular/voice-turn-latency.service.ts
2689
- import { computed as computed10, Injectable as Injectable11, signal as signal11 } from "@angular/core";
2807
+ import { computed as computed11, Injectable as Injectable12, signal as signal12 } from "@angular/core";
2690
2808
 
2691
2809
  // src/client/turnLatency.ts
2692
2810
  var fetchVoiceTurnLatency = async (path = "/api/turn-latency", options = {}) => {
@@ -2793,17 +2911,17 @@ var createVoiceTurnLatencyStore = (path = "/api/turn-latency", options = {}) =>
2793
2911
 
2794
2912
  // src/angular/voice-turn-latency.service.ts
2795
2913
  var _dec = [
2796
- Injectable11({ providedIn: "root" })
2914
+ Injectable12({ providedIn: "root" })
2797
2915
  ];
2798
2916
  var _init = __decoratorStart(undefined);
2799
2917
 
2800
2918
  class VoiceTurnLatencyService {
2801
2919
  connect(path = "/api/turn-latency", options = {}) {
2802
2920
  const store = createVoiceTurnLatencyStore(path, options);
2803
- const errorSignal = signal11(null);
2804
- const isLoadingSignal = signal11(false);
2805
- const reportSignal = signal11(undefined);
2806
- const updatedAtSignal = signal11(undefined);
2921
+ const errorSignal = signal12(null);
2922
+ const isLoadingSignal = signal12(false);
2923
+ const reportSignal = signal12(undefined);
2924
+ const updatedAtSignal = signal12(undefined);
2807
2925
  const sync = () => {
2808
2926
  const snapshot = store.getSnapshot();
2809
2927
  errorSignal.set(snapshot.error);
@@ -2819,12 +2937,12 @@ class VoiceTurnLatencyService {
2819
2937
  unsubscribe();
2820
2938
  store.close();
2821
2939
  },
2822
- error: computed10(() => errorSignal()),
2823
- isLoading: computed10(() => isLoadingSignal()),
2940
+ error: computed11(() => errorSignal()),
2941
+ isLoading: computed11(() => isLoadingSignal()),
2824
2942
  refresh: store.refresh,
2825
- report: computed10(() => reportSignal()),
2943
+ report: computed11(() => reportSignal()),
2826
2944
  runProof: store.runProof,
2827
- updatedAt: computed10(() => updatedAtSignal())
2945
+ updatedAt: computed11(() => updatedAtSignal())
2828
2946
  };
2829
2947
  }
2830
2948
  }
@@ -2833,7 +2951,7 @@ __runInitializers(_init, 1, VoiceTurnLatencyService);
2833
2951
  __decoratorMetadata(_init, VoiceTurnLatencyService);
2834
2952
  let _VoiceTurnLatencyService = VoiceTurnLatencyService;
2835
2953
  // src/angular/voice-turn-quality.service.ts
2836
- import { computed as computed11, Injectable as Injectable12, signal as signal12 } from "@angular/core";
2954
+ import { computed as computed12, Injectable as Injectable13, signal as signal13 } from "@angular/core";
2837
2955
 
2838
2956
  // src/client/turnQuality.ts
2839
2957
  var fetchVoiceTurnQuality = async (path = "/api/turn-quality", options = {}) => {
@@ -2916,17 +3034,17 @@ var createVoiceTurnQualityStore = (path = "/api/turn-quality", options = {}) =>
2916
3034
 
2917
3035
  // src/angular/voice-turn-quality.service.ts
2918
3036
  var _dec = [
2919
- Injectable12({ providedIn: "root" })
3037
+ Injectable13({ providedIn: "root" })
2920
3038
  ];
2921
3039
  var _init = __decoratorStart(undefined);
2922
3040
 
2923
3041
  class VoiceTurnQualityService {
2924
3042
  connect(path = "/api/turn-quality", options = {}) {
2925
3043
  const store = createVoiceTurnQualityStore(path, options);
2926
- const errorSignal = signal12(null);
2927
- const isLoadingSignal = signal12(false);
2928
- const reportSignal = signal12(undefined);
2929
- const updatedAtSignal = signal12(undefined);
3044
+ const errorSignal = signal13(null);
3045
+ const isLoadingSignal = signal13(false);
3046
+ const reportSignal = signal13(undefined);
3047
+ const updatedAtSignal = signal13(undefined);
2930
3048
  const sync = () => {
2931
3049
  const snapshot = store.getSnapshot();
2932
3050
  errorSignal.set(snapshot.error);
@@ -2942,11 +3060,11 @@ class VoiceTurnQualityService {
2942
3060
  unsubscribe();
2943
3061
  store.close();
2944
3062
  },
2945
- error: computed11(() => errorSignal()),
2946
- isLoading: computed11(() => isLoadingSignal()),
3063
+ error: computed12(() => errorSignal()),
3064
+ isLoading: computed12(() => isLoadingSignal()),
2947
3065
  refresh: store.refresh,
2948
- report: computed11(() => reportSignal()),
2949
- updatedAt: computed11(() => updatedAtSignal())
3066
+ report: computed12(() => reportSignal()),
3067
+ updatedAt: computed12(() => updatedAtSignal())
2950
3068
  };
2951
3069
  }
2952
3070
  }
@@ -2955,7 +3073,7 @@ __runInitializers(_init, 1, VoiceTurnQualityService);
2955
3073
  __decoratorMetadata(_init, VoiceTurnQualityService);
2956
3074
  let _VoiceTurnQualityService = VoiceTurnQualityService;
2957
3075
  // src/angular/voice-workflow-status.service.ts
2958
- import { computed as computed12, Injectable as Injectable13, signal as signal13 } from "@angular/core";
3076
+ import { computed as computed13, Injectable as Injectable14, signal as signal14 } from "@angular/core";
2959
3077
 
2960
3078
  // src/client/workflowStatus.ts
2961
3079
  var fetchVoiceWorkflowStatus = async (path = "/evals/scenarios/json", options = {}) => {
@@ -3038,17 +3156,17 @@ var createVoiceWorkflowStatusStore = (path = "/evals/scenarios/json", options =
3038
3156
 
3039
3157
  // src/angular/voice-workflow-status.service.ts
3040
3158
  var _dec = [
3041
- Injectable13({ providedIn: "root" })
3159
+ Injectable14({ providedIn: "root" })
3042
3160
  ];
3043
3161
  var _init = __decoratorStart(undefined);
3044
3162
 
3045
3163
  class VoiceWorkflowStatusService {
3046
3164
  connect(path = "/evals/scenarios/json", options = {}) {
3047
3165
  const store = createVoiceWorkflowStatusStore(path, options);
3048
- const errorSignal = signal13(null);
3049
- const isLoadingSignal = signal13(false);
3050
- const reportSignal = signal13(undefined);
3051
- const updatedAtSignal = signal13(undefined);
3166
+ const errorSignal = signal14(null);
3167
+ const isLoadingSignal = signal14(false);
3168
+ const reportSignal = signal14(undefined);
3169
+ const updatedAtSignal = signal14(undefined);
3052
3170
  const sync = () => {
3053
3171
  const snapshot = store.getSnapshot();
3054
3172
  errorSignal.set(snapshot.error);
@@ -3066,11 +3184,11 @@ class VoiceWorkflowStatusService {
3066
3184
  unsubscribe();
3067
3185
  store.close();
3068
3186
  },
3069
- error: computed12(() => errorSignal()),
3070
- isLoading: computed12(() => isLoadingSignal()),
3187
+ error: computed13(() => errorSignal()),
3188
+ isLoading: computed13(() => isLoadingSignal()),
3071
3189
  refresh: store.refresh,
3072
- report: computed12(() => reportSignal()),
3073
- updatedAt: computed12(() => updatedAtSignal())
3190
+ report: computed13(() => reportSignal()),
3191
+ updatedAt: computed13(() => updatedAtSignal())
3074
3192
  };
3075
3193
  }
3076
3194
  }
@@ -3079,7 +3197,7 @@ __runInitializers(_init, 1, VoiceWorkflowStatusService);
3079
3197
  __decoratorMetadata(_init, VoiceWorkflowStatusService);
3080
3198
  let _VoiceWorkflowStatusService = VoiceWorkflowStatusService;
3081
3199
  // src/angular/voice-delivery-runtime.component.ts
3082
- import { Component, Input, signal as signal14 } from "@angular/core";
3200
+ import { Component, Input, signal as signal15 } from "@angular/core";
3083
3201
 
3084
3202
  // src/client/deliveryRuntimeWidget.ts
3085
3203
  var DEFAULT_TITLE = "Voice Delivery Runtime";
@@ -3319,7 +3437,7 @@ class VoiceDeliveryRuntimeComponent {
3319
3437
  }
3320
3438
  cleanup = () => {};
3321
3439
  store;
3322
- model = signal14(createVoiceDeliveryRuntimeViewModel({
3440
+ model = signal15(createVoiceDeliveryRuntimeViewModel({
3323
3441
  actionError: null,
3324
3442
  actionStatus: "idle",
3325
3443
  error: null,
@@ -3374,6 +3492,7 @@ export {
3374
3492
  VoiceStreamService,
3375
3493
  VoiceRoutingStatusService,
3376
3494
  VoiceProviderStatusService,
3495
+ VoiceProviderContractsService,
3377
3496
  VoiceProviderCapabilitiesService,
3378
3497
  VoiceOpsStatusService,
3379
3498
  VoiceOpsActionCenterService,
@@ -0,0 +1,12 @@
1
+ import { type VoiceProviderContractsClientOptions } from '../client/providerContracts';
2
+ import type { VoiceProviderContractMatrixReport } from '../providerStackRecommendations';
3
+ export declare class VoiceProviderContractsService {
4
+ connect<TProvider extends string = string>(path?: string, options?: VoiceProviderContractsClientOptions): {
5
+ close: () => void;
6
+ error: import("@angular/core").Signal<string | null>;
7
+ isLoading: import("@angular/core").Signal<boolean>;
8
+ refresh: () => Promise<VoiceProviderContractMatrixReport<TProvider> | undefined>;
9
+ report: import("@angular/core").Signal<VoiceProviderContractMatrixReport<TProvider> | undefined>;
10
+ updatedAt: import("@angular/core").Signal<number | undefined>;
11
+ };
12
+ }
@@ -19,6 +19,7 @@ export { createVoiceRoutingStatusStore, fetchVoiceRoutingStatus } from './routin
19
19
  export { createVoiceRoutingStatusViewModel, defineVoiceRoutingStatusElement, getVoiceRoutingStatusCSS, mountVoiceRoutingStatus, renderVoiceRoutingStatusHTML } from './routingStatusWidget';
20
20
  export { createVoiceProviderStatusStore, fetchVoiceProviderStatus } from './providerStatus';
21
21
  export { createVoiceProviderCapabilitiesStore, fetchVoiceProviderCapabilities } from './providerCapabilities';
22
+ export { createVoiceProviderContractsStore, fetchVoiceProviderContracts } from './providerContracts';
22
23
  export { createVoiceTurnQualityStore, fetchVoiceTurnQuality } from './turnQuality';
23
24
  export { createVoiceTurnLatencyStore, fetchVoiceTurnLatency, runVoiceTurnLatencyProof } from './turnLatency';
24
25
  export { createVoiceCampaignDialerProofStore, fetchVoiceCampaignDialerProofStatus, runVoiceCampaignDialerProofAction } from './campaignDialerProof';
@@ -27,6 +28,7 @@ export { createVoiceProviderSimulationControlsStore } from './providerSimulation
27
28
  export { bindVoiceProviderSimulationControls, createVoiceProviderSimulationControlsViewModel, defineVoiceProviderSimulationControlsElement, mountVoiceProviderSimulationControls, renderVoiceProviderSimulationControlsHTML } from './providerSimulationControlsWidget';
28
29
  export { createVoiceProviderStatusViewModel, defineVoiceProviderStatusElement, getVoiceProviderStatusCSS, mountVoiceProviderStatus, renderVoiceProviderStatusHTML } from './providerStatusWidget';
29
30
  export { createVoiceProviderCapabilitiesViewModel, defineVoiceProviderCapabilitiesElement, getVoiceProviderCapabilitiesCSS, mountVoiceProviderCapabilities, renderVoiceProviderCapabilitiesHTML } from './providerCapabilitiesWidget';
31
+ export { createVoiceProviderContractsViewModel, defineVoiceProviderContractsElement, getVoiceProviderContractsCSS, mountVoiceProviderContracts, renderVoiceProviderContractsHTML } from './providerContractsWidget';
30
32
  export { createVoiceTurnQualityViewModel, defineVoiceTurnQualityElement, getVoiceTurnQualityCSS, mountVoiceTurnQuality, renderVoiceTurnQualityHTML } from './turnQualityWidget';
31
33
  export { createVoiceTurnLatencyViewModel, defineVoiceTurnLatencyElement, mountVoiceTurnLatency, renderVoiceTurnLatencyHTML } from './turnLatencyWidget';
32
34
  export { createVoiceTraceTimelineViewModel, defineVoiceTraceTimelineElement, getVoiceTraceTimelineCSS, mountVoiceTraceTimeline, renderVoiceTraceTimelineWidgetHTML } from './traceTimelineWidget';
@@ -45,6 +47,7 @@ export type { VoiceRoutingStatusClientOptions, VoiceRoutingStatusSnapshot } from
45
47
  export type { VoiceRoutingStatusViewModel, VoiceRoutingStatusWidgetOptions } from './routingStatusWidget';
46
48
  export type { VoiceProviderStatusClientOptions, VoiceProviderStatusSnapshot } from './providerStatus';
47
49
  export type { VoiceProviderCapabilitiesClientOptions, VoiceProviderCapabilitiesSnapshot } from './providerCapabilities';
50
+ export type { VoiceProviderContractsClientOptions, VoiceProviderContractsSnapshot } from './providerContracts';
48
51
  export type { VoiceTurnQualityClientOptions, VoiceTurnQualitySnapshot } from './turnQuality';
49
52
  export type { VoiceTurnLatencyClientOptions, VoiceTurnLatencySnapshot } from './turnLatency';
50
53
  export type { VoiceCampaignDialerProofClientOptions, VoiceCampaignDialerProofSnapshot } from './campaignDialerProof';
@@ -53,6 +56,7 @@ export type { VoiceProviderSimulationControlsOptions, VoiceProviderSimulationCon
53
56
  export type { VoiceProviderSimulationControlsViewModel } from './providerSimulationControlsWidget';
54
57
  export type { VoiceProviderStatusCardView, VoiceProviderStatusViewModel, VoiceProviderStatusWidgetOptions } from './providerStatusWidget';
55
58
  export type { VoiceProviderCapabilitiesViewModel, VoiceProviderCapabilitiesWidgetOptions, VoiceProviderCapabilityCardView } from './providerCapabilitiesWidget';
59
+ export type { VoiceProviderContractRowView, VoiceProviderContractsViewModel, VoiceProviderContractsWidgetOptions } from './providerContractsWidget';
56
60
  export type { VoiceTurnQualityCardView, VoiceTurnQualityViewModel, VoiceTurnQualityWidgetOptions } from './turnQualityWidget';
57
61
  export type { VoiceTurnLatencyCardView, VoiceTurnLatencyViewModel, VoiceTurnLatencyWidgetOptions } from './turnLatencyWidget';
58
62
  export type { VoiceTraceTimelineSessionView, VoiceTraceTimelineViewModel, VoiceTraceTimelineWidgetOptions } from './traceTimelineWidget';