@absolutejs/voice 0.0.22-beta.391 → 0.0.22-beta.393
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/campaign.d.ts +26 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +46 -2
- package/dist/providerRouterTraces.d.ts +2 -2
- package/package.json +1 -1
package/dist/campaign.d.ts
CHANGED
|
@@ -390,6 +390,31 @@ export type VoiceCampaignTelephonyOutcomeResult = {
|
|
|
390
390
|
status?: 'failed' | 'succeeded';
|
|
391
391
|
attemptId?: string;
|
|
392
392
|
};
|
|
393
|
+
export type VoiceCampaignTelephonyOutcomeSnapshot<TResult = unknown> = {
|
|
394
|
+
action: VoiceTelephonyOutcomeDecision['action'];
|
|
395
|
+
at: number;
|
|
396
|
+
campaignOutcome: VoiceCampaignTelephonyOutcomeResult;
|
|
397
|
+
disposition?: VoiceTelephonyOutcomeDecision['disposition'];
|
|
398
|
+
duplicate?: boolean;
|
|
399
|
+
idempotencyKey?: string;
|
|
400
|
+
provider?: string;
|
|
401
|
+
routeResult?: TResult;
|
|
402
|
+
sessionId?: string;
|
|
403
|
+
source?: VoiceTelephonyOutcomeDecision['source'];
|
|
404
|
+
};
|
|
405
|
+
export type VoiceCampaignTelephonyOutcomeRecorderOptions<TResult = unknown> = VoiceCampaignTelephonyOutcomeOptions<TResult> & {
|
|
406
|
+
maxSnapshots?: number;
|
|
407
|
+
now?: () => number;
|
|
408
|
+
};
|
|
409
|
+
export type VoiceCampaignTelephonyOutcomeRecorderRecordInput<TResult = unknown> = VoiceTelephonyWebhookDecision<TResult> & {
|
|
410
|
+
provider?: string;
|
|
411
|
+
};
|
|
412
|
+
export type VoiceCampaignTelephonyOutcomeRecorder<TResult = unknown> = {
|
|
413
|
+
clear: () => void;
|
|
414
|
+
handler: (provider?: string) => (input: VoiceTelephonyWebhookDecision<TResult>) => Promise<void>;
|
|
415
|
+
list: () => VoiceCampaignTelephonyOutcomeSnapshot<TResult>[];
|
|
416
|
+
record: (input: VoiceCampaignTelephonyOutcomeRecorderRecordInput<TResult>) => Promise<VoiceCampaignTelephonyOutcomeSnapshot<TResult>>;
|
|
417
|
+
};
|
|
393
418
|
export declare const importVoiceCampaignRecipients: (options: VoiceCampaignRecipientImportOptions) => VoiceCampaignRecipientImportResult;
|
|
394
419
|
export declare const createVoiceMemoryCampaignStore: () => VoiceCampaignStore;
|
|
395
420
|
export declare const summarizeVoiceCampaigns: (records: VoiceCampaignRecord[]) => VoiceCampaignSummary;
|
|
@@ -399,6 +424,7 @@ export declare const createVoiceCampaignWorker: (options: VoiceCampaignWorkerOpt
|
|
|
399
424
|
export declare const createVoiceCampaignWorkerLoop: (options: VoiceCampaignWorkerLoopOptions) => VoiceCampaignWorkerLoop;
|
|
400
425
|
export declare const applyVoiceCampaignTelephonyOutcome: <TResult = unknown>(input: VoiceCampaignTelephonyOutcomeInput<TResult>, options?: VoiceCampaignTelephonyOutcomeOptions<TResult>) => Promise<VoiceCampaignTelephonyOutcomeResult>;
|
|
401
426
|
export declare const createVoiceCampaignTelephonyOutcomeHandler: <TResult = unknown>(options: VoiceCampaignTelephonyOutcomeOptions<TResult>) => (input: VoiceTelephonyWebhookDecision<TResult>) => Promise<VoiceCampaignTelephonyOutcomeResult>;
|
|
427
|
+
export declare const createVoiceCampaignTelephonyOutcomeRecorder: <TResult = unknown>(options?: VoiceCampaignTelephonyOutcomeRecorderOptions<TResult>) => VoiceCampaignTelephonyOutcomeRecorder<TResult>;
|
|
402
428
|
export declare const runVoiceCampaignProof: (options?: VoiceCampaignProofOptions) => Promise<VoiceCampaignProofReport>;
|
|
403
429
|
export declare const runVoiceCampaignReadinessProof: (options?: VoiceCampaignReadinessProofOptions) => Promise<VoiceCampaignReadinessProofReport>;
|
|
404
430
|
export declare const evaluateVoiceCampaignReadinessEvidence: (report: VoiceCampaignReadinessProofReport, input?: VoiceCampaignReadinessAssertionInput) => VoiceCampaignReadinessAssertionReport;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { voice } from './plugin';
|
|
2
|
-
export { applyVoiceCampaignTelephonyOutcome, assertVoiceCampaignReadinessEvidence, buildVoiceCampaignObservabilityReport, createVoiceCampaignTelephonyOutcomeHandler, createVoiceCampaign, createVoiceCampaignRoutes, createVoiceCampaignWorker, createVoiceCampaignWorkerLoop, createVoiceMemoryCampaignStore, evaluateVoiceCampaignReadinessEvidence, importVoiceCampaignRecipients, renderVoiceCampaignObservabilityHTML, renderVoiceCampaignsHTML, runVoiceCampaignProof, runVoiceCampaignReadinessProof, summarizeVoiceCampaigns } from './campaign';
|
|
2
|
+
export { applyVoiceCampaignTelephonyOutcome, assertVoiceCampaignReadinessEvidence, buildVoiceCampaignObservabilityReport, createVoiceCampaignTelephonyOutcomeHandler, createVoiceCampaignTelephonyOutcomeRecorder, createVoiceCampaign, createVoiceCampaignRoutes, createVoiceCampaignWorker, createVoiceCampaignWorkerLoop, createVoiceMemoryCampaignStore, evaluateVoiceCampaignReadinessEvidence, importVoiceCampaignRecipients, renderVoiceCampaignObservabilityHTML, renderVoiceCampaignsHTML, runVoiceCampaignProof, runVoiceCampaignReadinessProof, summarizeVoiceCampaigns } from './campaign';
|
|
3
3
|
export { assertVoiceCampaignDialerProofEvidence, createVoicePlivoCampaignDialer, createVoiceTelnyxCampaignDialer, createVoiceTwilioCampaignDialer, evaluateVoiceCampaignDialerProofEvidence, getVoiceCampaignDialerProofStatus, runVoiceCampaignDialerProof } from './campaignDialers';
|
|
4
4
|
export { createVoiceAssistant, createVoiceExperiment, summarizeVoiceAssistantRuns } from './assistant';
|
|
5
5
|
export { createVoiceAssistantHealthHTMLHandler, createVoiceAssistantHealthJSONHandler, createVoiceAssistantHealthRoutes, renderVoiceAssistantHealthHTML, summarizeVoiceAssistantHealth } from './assistantHealth';
|
|
@@ -116,7 +116,7 @@ export { resolveVoiceRuntimePreset } from './presets';
|
|
|
116
116
|
export { resolveTurnDetectionConfig, TURN_PROFILE_DEFAULTS } from './turnProfiles';
|
|
117
117
|
export { createVoiceCallReviewFromLiveTelephonyReport, createVoiceCallReviewRecorder, renderVoiceCallReviewHTML, renderVoiceCallReviewMarkdown } from './testing/review';
|
|
118
118
|
export { getDefaultVoiceTelephonyBenchmarkScenarios, runVoiceTelephonyBenchmark, runVoiceTelephonyBenchmarkScenario, runVoiceTelephonyMediaOperationsSmoke, summarizeVoiceTelephonyBenchmark } from './testing/telephony';
|
|
119
|
-
export type { VoiceCampaign, VoiceCampaignAttempt, VoiceCampaignAttemptResultInput, VoiceCampaignAttemptStatus, VoiceCampaignCreateInput, VoiceCampaignDialer, VoiceCampaignDialerInput, VoiceCampaignDialerResult, VoiceCampaignProofOptions, VoiceCampaignProofReport, VoiceCampaignReadinessAssertionInput, VoiceCampaignReadinessAssertionReport, VoiceCampaignReadinessCheck, VoiceCampaignReadinessProofOptions, VoiceCampaignReadinessProofReport, VoiceCampaignRecipient, VoiceCampaignRecipientImportIssue, VoiceCampaignRecipientImportIssueCode, VoiceCampaignRecipientImportOptions, VoiceCampaignRecipientImportResult, VoiceCampaignRecipientImportRow, VoiceCampaignRecipientInput, VoiceCampaignRecipientStatus, VoiceCampaignRecord, VoiceCampaignRoutesOptions, VoiceCampaignRuntime, VoiceCampaignRuntimeOptions, VoiceCampaignRateLimit, VoiceCampaignRetryPolicy, VoiceCampaignSchedule, VoiceCampaignStatus, VoiceCampaignStore, VoiceCampaignSummary, VoiceCampaignTimeWindow, VoiceCampaignTickResult } from './campaign';
|
|
119
|
+
export type { VoiceCampaign, VoiceCampaignAttempt, VoiceCampaignAttemptResultInput, VoiceCampaignAttemptStatus, VoiceCampaignCreateInput, VoiceCampaignDialer, VoiceCampaignDialerInput, VoiceCampaignDialerResult, VoiceCampaignProofOptions, VoiceCampaignProofReport, VoiceCampaignReadinessAssertionInput, VoiceCampaignReadinessAssertionReport, VoiceCampaignReadinessCheck, VoiceCampaignReadinessProofOptions, VoiceCampaignReadinessProofReport, VoiceCampaignRecipient, VoiceCampaignRecipientImportIssue, VoiceCampaignRecipientImportIssueCode, VoiceCampaignRecipientImportOptions, VoiceCampaignRecipientImportResult, VoiceCampaignRecipientImportRow, VoiceCampaignRecipientInput, VoiceCampaignRecipientStatus, VoiceCampaignRecord, VoiceCampaignRoutesOptions, VoiceCampaignRuntime, VoiceCampaignRuntimeOptions, VoiceCampaignRateLimit, VoiceCampaignRetryPolicy, VoiceCampaignSchedule, VoiceCampaignStatus, VoiceCampaignStore, VoiceCampaignSummary, VoiceCampaignTelephonyOutcomeInput, VoiceCampaignTelephonyOutcomeOptions, VoiceCampaignTelephonyOutcomeRecorder, VoiceCampaignTelephonyOutcomeRecorderOptions, VoiceCampaignTelephonyOutcomeRecorderRecordInput, VoiceCampaignTelephonyOutcomeResult, VoiceCampaignTelephonyOutcomeSnapshot, VoiceCampaignTelephonyOutcomeStatus, VoiceCampaignTimeWindow, VoiceCampaignTickResult } from './campaign';
|
|
120
120
|
export type { VoiceCampaignDialerProofAssertionInput, VoiceCampaignDialerProofAssertionReport, VoiceCampaignDialerProofCarrierRequest, VoiceCampaignDialerProofOptions, VoiceCampaignDialerProofProvider, VoiceCampaignDialerProofProviderResult, VoiceCampaignDialerProofReport, VoiceCampaignDialerProofStatus, VoicePlivoCampaignDialerOptions, VoiceTelnyxCampaignDialerOptions, VoiceTwilioCampaignDialerOptions } from './campaignDialers';
|
|
121
121
|
export type { VoiceBargeInReport, VoiceBargeInRoutesOptions } from './bargeInRoutes';
|
|
122
122
|
export type { VoiceAssistant, VoiceAssistantArtifactPlan, VoiceAssistantExperiment, VoiceAssistantExperimentOptions, VoiceAssistantGuardrailInput, VoiceAssistantGuardrails, VoiceAssistantMemoryLifecycle, VoiceAssistantMemoryLifecycleInput, VoiceAssistantOptions, VoiceAssistantOutputGuardrailInput, VoiceAssistantPreset, VoiceAssistantRunsSummary, VoiceAssistantRunSummary, VoiceAssistantVariant } from './assistant';
|
package/dist/index.js
CHANGED
|
@@ -7310,6 +7310,49 @@ var createVoiceCampaignTelephonyOutcomeHandler = (options) => (input) => applyVo
|
|
|
7310
7310
|
routeResult: input.routeResult,
|
|
7311
7311
|
sessionId: input.sessionId
|
|
7312
7312
|
}, options);
|
|
7313
|
+
var createVoiceCampaignTelephonyOutcomeRecorder = (options = {}) => {
|
|
7314
|
+
const snapshots = [];
|
|
7315
|
+
const maxSnapshots = Math.max(0, options.maxSnapshots ?? 20);
|
|
7316
|
+
const now = options.now ?? Date.now;
|
|
7317
|
+
const record = async (input) => {
|
|
7318
|
+
const campaignOutcome = await applyVoiceCampaignTelephonyOutcome({
|
|
7319
|
+
decision: input.decision,
|
|
7320
|
+
event: input.event,
|
|
7321
|
+
routeResult: input.routeResult,
|
|
7322
|
+
sessionId: input.sessionId
|
|
7323
|
+
}, options);
|
|
7324
|
+
const snapshot = {
|
|
7325
|
+
action: input.decision.action,
|
|
7326
|
+
at: now(),
|
|
7327
|
+
campaignOutcome,
|
|
7328
|
+
disposition: input.decision.disposition,
|
|
7329
|
+
duplicate: input.duplicate,
|
|
7330
|
+
idempotencyKey: input.idempotencyKey,
|
|
7331
|
+
provider: input.provider ?? input.event.provider,
|
|
7332
|
+
routeResult: input.routeResult,
|
|
7333
|
+
sessionId: input.sessionId,
|
|
7334
|
+
source: input.decision.source
|
|
7335
|
+
};
|
|
7336
|
+
if (maxSnapshots > 0) {
|
|
7337
|
+
snapshots.unshift(snapshot);
|
|
7338
|
+
snapshots.splice(maxSnapshots);
|
|
7339
|
+
}
|
|
7340
|
+
return snapshot;
|
|
7341
|
+
};
|
|
7342
|
+
return {
|
|
7343
|
+
clear: () => {
|
|
7344
|
+
snapshots.splice(0);
|
|
7345
|
+
},
|
|
7346
|
+
handler: (provider) => async (input) => {
|
|
7347
|
+
await record({
|
|
7348
|
+
...input,
|
|
7349
|
+
provider: provider ?? input.event.provider
|
|
7350
|
+
});
|
|
7351
|
+
},
|
|
7352
|
+
list: () => snapshots.map((snapshot) => ({ ...snapshot })),
|
|
7353
|
+
record
|
|
7354
|
+
};
|
|
7355
|
+
};
|
|
7313
7356
|
var defaultProofRecipients = () => [
|
|
7314
7357
|
{
|
|
7315
7358
|
id: "campaign-proof-recipient-1",
|
|
@@ -18307,7 +18350,7 @@ var formatVoiceProofTrendAge = (ageMs) => {
|
|
|
18307
18350
|
// src/providerRouterTraces.ts
|
|
18308
18351
|
var buildVoiceProviderRouterTraceEvent = (options) => ({
|
|
18309
18352
|
at: options.at ?? options.event.at,
|
|
18310
|
-
id: options.id
|
|
18353
|
+
id: options.id ?? `${options.sessionId}:${options.turnId ?? "session"}:${options.event.provider}:${options.event.status}:${String(options.at ?? options.event.at)}`,
|
|
18311
18354
|
metadata: options.metadata,
|
|
18312
18355
|
payload: {
|
|
18313
18356
|
...options.event,
|
|
@@ -18322,7 +18365,7 @@ var buildVoiceProviderRouterTraceEvent = (options) => ({
|
|
|
18322
18365
|
var appendVoiceProviderRouterTraceEvent = async (options) => options.store.append(buildVoiceProviderRouterTraceEvent(options));
|
|
18323
18366
|
var buildVoiceIOProviderRouterTraceEvent = (options) => ({
|
|
18324
18367
|
at: options.at ?? options.event.at,
|
|
18325
|
-
id: options.id
|
|
18368
|
+
id: options.id ?? `${options.sessionId}:${options.event.kind}:${options.event.operation}:${options.event.provider}:${options.event.status}:${String(options.at ?? options.event.at)}`,
|
|
18326
18369
|
metadata: options.metadata,
|
|
18327
18370
|
payload: {
|
|
18328
18371
|
...options.event,
|
|
@@ -39750,6 +39793,7 @@ export {
|
|
|
39750
39793
|
createVoiceCompetitiveCoverageRoutes,
|
|
39751
39794
|
createVoiceCampaignWorkerLoop,
|
|
39752
39795
|
createVoiceCampaignWorker,
|
|
39796
|
+
createVoiceCampaignTelephonyOutcomeRecorder,
|
|
39753
39797
|
createVoiceCampaignTelephonyOutcomeHandler,
|
|
39754
39798
|
createVoiceCampaignRoutes,
|
|
39755
39799
|
createVoiceCampaign,
|
|
@@ -29,7 +29,7 @@ export type VoiceProviderRouterTraceAppendOptions<TEvent extends StoredVoiceTrac
|
|
|
29
29
|
export type VoiceIOProviderRouterTraceAppendOptions<TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TProvider extends string = string> = VoiceIOProviderRouterTraceEventOptions<TProvider> & {
|
|
30
30
|
store: Pick<VoiceTraceEventStore<TEvent>, 'append'>;
|
|
31
31
|
};
|
|
32
|
-
export declare const buildVoiceProviderRouterTraceEvent: <TProvider extends string = string>(options: VoiceProviderRouterTraceEventOptions<TProvider>) =>
|
|
32
|
+
export declare const buildVoiceProviderRouterTraceEvent: <TProvider extends string = string>(options: VoiceProviderRouterTraceEventOptions<TProvider>) => StoredVoiceTraceEvent;
|
|
33
33
|
export declare const appendVoiceProviderRouterTraceEvent: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TProvider extends string = string>(options: VoiceProviderRouterTraceAppendOptions<TEvent, TProvider>) => Promise<TEvent>;
|
|
34
|
-
export declare const buildVoiceIOProviderRouterTraceEvent: <TProvider extends string = string>(options: VoiceIOProviderRouterTraceEventOptions<TProvider>) =>
|
|
34
|
+
export declare const buildVoiceIOProviderRouterTraceEvent: <TProvider extends string = string>(options: VoiceIOProviderRouterTraceEventOptions<TProvider>) => StoredVoiceTraceEvent;
|
|
35
35
|
export declare const appendVoiceIOProviderRouterTraceEvent: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TProvider extends string = string>(options: VoiceIOProviderRouterTraceAppendOptions<TEvent, TProvider>) => Promise<TEvent>;
|