@absolutejs/voice 0.0.22-beta.16 → 0.0.22-beta.18
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.
- package/dist/assistantHealth.d.ts +79 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +299 -192
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.js +878 -0
- package/dist/testing/providerSimulator.d.ts +36 -0
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { VoiceAgentModelInput, VoiceAgentModelOutput } from '../agent';
|
|
2
|
+
import type { VoiceSessionRecord } from '../types';
|
|
3
|
+
import type { VoiceProviderRouterEvent, VoiceProviderRouterHealthOptions } from '../modelAdapters';
|
|
4
|
+
export type VoiceProviderFailureSimulationMode = 'failure' | 'recovery';
|
|
5
|
+
export type VoiceProviderFailureSimulationContext<TProvider extends string = string> = {
|
|
6
|
+
query: {
|
|
7
|
+
provider: TProvider;
|
|
8
|
+
recoverProvider?: TProvider;
|
|
9
|
+
simulateFailureProvider?: TProvider;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export type VoiceProviderFailureSimulationResult<TProvider extends string = string, TResult = unknown> = {
|
|
13
|
+
mode: VoiceProviderFailureSimulationMode;
|
|
14
|
+
provider: TProvider;
|
|
15
|
+
result: VoiceAgentModelOutput<TResult>;
|
|
16
|
+
status: 'simulated';
|
|
17
|
+
};
|
|
18
|
+
type ProviderListResolver<TContext, TSession extends VoiceSessionRecord, TProvider extends string> = readonly TProvider[] | ((input: VoiceAgentModelInput<TContext, TSession>) => readonly TProvider[] | Promise<readonly TProvider[]>);
|
|
19
|
+
export type VoiceProviderFailureSimulatorOptions<TContext extends VoiceProviderFailureSimulationContext<TProvider>, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown, TProvider extends string = string> = {
|
|
20
|
+
allowProviders?: ProviderListResolver<TContext, TSession, TProvider>;
|
|
21
|
+
fallback?: readonly TProvider[] | ((provider: TProvider, input: VoiceAgentModelInput<TContext, TSession>) => readonly TProvider[] | Promise<readonly TProvider[]>);
|
|
22
|
+
isProviderError?: (error: unknown, provider: TProvider) => boolean;
|
|
23
|
+
isRateLimitError?: (error: unknown, provider: TProvider) => boolean;
|
|
24
|
+
onProviderEvent?: (event: VoiceProviderRouterEvent<TProvider>, input: VoiceAgentModelInput<TContext, TSession>) => Promise<void> | void;
|
|
25
|
+
providerHealth?: boolean | VoiceProviderRouterHealthOptions;
|
|
26
|
+
providerLabel?: (provider: TProvider) => string;
|
|
27
|
+
providers: readonly TProvider[];
|
|
28
|
+
response?: (input: {
|
|
29
|
+
mode: VoiceProviderFailureSimulationMode;
|
|
30
|
+
provider: TProvider;
|
|
31
|
+
} & VoiceAgentModelInput<TContext, TSession>) => VoiceAgentModelOutput<TResult> | Promise<VoiceAgentModelOutput<TResult>>;
|
|
32
|
+
};
|
|
33
|
+
export declare const createVoiceProviderFailureSimulator: <TProvider extends string, TResult = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TContext extends VoiceProviderFailureSimulationContext<TProvider> = VoiceProviderFailureSimulationContext<TProvider>>(options: VoiceProviderFailureSimulatorOptions<TContext, TSession, TResult, TProvider>) => {
|
|
34
|
+
run: (provider: TProvider, mode: VoiceProviderFailureSimulationMode) => Promise<VoiceProviderFailureSimulationResult<TProvider, TResult>>;
|
|
35
|
+
};
|
|
36
|
+
export {};
|