@absolutejs/voice 0.0.22-beta.241 → 0.0.22-beta.243

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.
@@ -0,0 +1,8 @@
1
+ import { type VoiceProofTrendsClientOptions } from '../client/proofTrends';
2
+ export declare const useVoiceProofTrends: (path?: string, options?: VoiceProofTrendsClientOptions) => {
3
+ refresh: () => Promise<import("..").VoiceProofTrendReport | undefined>;
4
+ error: string | null;
5
+ isLoading: boolean;
6
+ report?: import("..").VoiceProofTrendReport;
7
+ updatedAt?: number;
8
+ };
@@ -0,0 +1,7 @@
1
+ import type { VoiceProofTrendsClientOptions } from '../client/proofTrends';
2
+ export declare const createVoiceProofTrends: (path?: string, options?: VoiceProofTrendsClientOptions) => {
3
+ close: () => void;
4
+ getSnapshot: () => import("../client/proofTrends").VoiceProofTrendsSnapshot;
5
+ refresh: () => Promise<import("..").VoiceProofTrendReport | undefined>;
6
+ subscribe: (listener: () => void) => () => void;
7
+ };
@@ -4,6 +4,7 @@ export { createVoiceOpsActionCenter } from './createVoiceOpsActionCenter';
4
4
  export { createVoiceLiveOps } from './createVoiceLiveOps';
5
5
  export { createVoiceOpsStatus } from './createVoiceOpsStatus';
6
6
  export { createVoicePlatformCoverage } from './createVoicePlatformCoverage';
7
+ export { createVoiceProofTrends } from './createVoiceProofTrends';
7
8
  export { createVoiceProviderSimulationControls } from './createVoiceProviderSimulationControls';
8
9
  export { createVoiceProviderCapabilities } from './createVoiceProviderCapabilities';
9
10
  export { createVoiceProviderContracts } from './createVoiceProviderContracts';
@@ -2354,6 +2354,95 @@ var createVoicePlatformCoverage = (path = "/api/voice/platform-coverage", option
2354
2354
  subscribe: store.subscribe
2355
2355
  };
2356
2356
  };
2357
+ // src/client/proofTrends.ts
2358
+ var fetchVoiceProofTrends = async (path = "/api/voice/proof-trends", options = {}) => {
2359
+ const fetchImpl = options.fetch ?? globalThis.fetch;
2360
+ const response = await fetchImpl(path);
2361
+ if (!response.ok) {
2362
+ throw new Error(`Voice proof trends failed: HTTP ${response.status}`);
2363
+ }
2364
+ return await response.json();
2365
+ };
2366
+ var createVoiceProofTrendsStore = (path = "/api/voice/proof-trends", options = {}) => {
2367
+ const listeners = new Set;
2368
+ let closed = false;
2369
+ let timer;
2370
+ let snapshot = {
2371
+ error: null,
2372
+ isLoading: false
2373
+ };
2374
+ const emit = () => {
2375
+ for (const listener of listeners) {
2376
+ listener();
2377
+ }
2378
+ };
2379
+ const refresh = async () => {
2380
+ if (closed) {
2381
+ return snapshot.report;
2382
+ }
2383
+ snapshot = {
2384
+ ...snapshot,
2385
+ error: null,
2386
+ isLoading: true
2387
+ };
2388
+ emit();
2389
+ try {
2390
+ const report = await fetchVoiceProofTrends(path, options);
2391
+ snapshot = {
2392
+ error: null,
2393
+ isLoading: false,
2394
+ report,
2395
+ updatedAt: Date.now()
2396
+ };
2397
+ emit();
2398
+ return report;
2399
+ } catch (error) {
2400
+ snapshot = {
2401
+ ...snapshot,
2402
+ error: error instanceof Error ? error.message : String(error),
2403
+ isLoading: false
2404
+ };
2405
+ emit();
2406
+ throw error;
2407
+ }
2408
+ };
2409
+ const close = () => {
2410
+ closed = true;
2411
+ if (timer) {
2412
+ clearInterval(timer);
2413
+ timer = undefined;
2414
+ }
2415
+ listeners.clear();
2416
+ };
2417
+ if (typeof window !== "undefined" && options.intervalMs && options.intervalMs > 0) {
2418
+ timer = setInterval(() => {
2419
+ refresh().catch(() => {});
2420
+ }, options.intervalMs);
2421
+ }
2422
+ return {
2423
+ close,
2424
+ getServerSnapshot: () => snapshot,
2425
+ getSnapshot: () => snapshot,
2426
+ refresh,
2427
+ subscribe: (listener) => {
2428
+ listeners.add(listener);
2429
+ return () => {
2430
+ listeners.delete(listener);
2431
+ };
2432
+ }
2433
+ };
2434
+ };
2435
+
2436
+ // src/svelte/createVoiceProofTrends.ts
2437
+ var createVoiceProofTrends = (path = "/api/voice/proof-trends", options = {}) => {
2438
+ const store = createVoiceProofTrendsStore(path, options);
2439
+ return {
2440
+ close: store.close,
2441
+ getSnapshot: store.getSnapshot,
2442
+ refresh: store.refresh,
2443
+ subscribe: store.subscribe
2444
+ };
2445
+ };
2357
2446
  // src/client/providerSimulationControls.ts
2358
2447
  var postSimulation = async (pathPrefix, mode, provider, fetchImpl) => {
2359
2448
  const response = await fetchImpl(`${pathPrefix}/${mode}?provider=${encodeURIComponent(provider)}`, { method: "POST" });
@@ -5474,6 +5563,7 @@ export {
5474
5563
  createVoiceProviderSimulationControls,
5475
5564
  createVoiceProviderContracts,
5476
5565
  createVoiceProviderCapabilities,
5566
+ createVoiceProofTrends,
5477
5567
  createVoicePlatformCoverage,
5478
5568
  createVoiceOpsStatus,
5479
5569
  createVoiceOpsActionCenter,
@@ -0,0 +1,21 @@
1
+ export declare const VoiceProofTrends: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ description: StringConstructor;
3
+ intervalMs: NumberConstructor;
4
+ path: {
5
+ default: string;
6
+ type: StringConstructor;
7
+ };
8
+ title: StringConstructor;
9
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
10
+ [key: string]: any;
11
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ description: StringConstructor;
13
+ intervalMs: NumberConstructor;
14
+ path: {
15
+ default: string;
16
+ type: StringConstructor;
17
+ };
18
+ title: StringConstructor;
19
+ }>> & Readonly<{}>, {
20
+ path: string;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -2,6 +2,7 @@ export { VoiceOpsStatus } from './VoiceOpsStatus';
2
2
  export { VoiceOpsActionCenter } from './VoiceOpsActionCenter';
3
3
  export { VoiceDeliveryRuntime } from './VoiceDeliveryRuntime';
4
4
  export { VoicePlatformCoverage } from './VoicePlatformCoverage';
5
+ export { VoiceProofTrends } from './VoiceProofTrends';
5
6
  export { VoiceProviderSimulationControls } from './VoiceProviderSimulationControls';
6
7
  export { VoiceProviderCapabilities } from './VoiceProviderCapabilities';
7
8
  export { VoiceProviderContracts } from './VoiceProviderContracts';
@@ -12,6 +13,7 @@ export { VoiceTurnLatency } from './VoiceTurnLatency';
12
13
  export { VoiceTurnQuality } from './VoiceTurnQuality';
13
14
  export { useVoiceOpsStatus } from './useVoiceOpsStatus';
14
15
  export { useVoicePlatformCoverage } from './useVoicePlatformCoverage';
16
+ export { useVoiceProofTrends } from './useVoiceProofTrends';
15
17
  export { useVoiceOpsActionCenter } from './useVoiceOpsActionCenter';
16
18
  export { useVoiceLiveOps } from './useVoiceLiveOps';
17
19
  export { useVoiceDeliveryRuntime } from './useVoiceDeliveryRuntime';