@absolutejs/voice 0.0.22-beta.412 → 0.0.22-beta.413

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.
@@ -5396,6 +5396,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
5396
5396
  remove: (id) => store.remove(id)
5397
5397
  };
5398
5398
  };
5399
+ var createVoiceProofTraceStore = (options = {}) => {
5400
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
5401
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
5402
+ return {
5403
+ append: async (event) => {
5404
+ const stored = await proofStore.append(event);
5405
+ await options.mirrorStore?.append(stored);
5406
+ return stored;
5407
+ },
5408
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
5409
+ list: (filter) => scopedProofStore.list(filter),
5410
+ remove: async (id) => {
5411
+ await Promise.all([
5412
+ proofStore.remove(id),
5413
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
5414
+ ]);
5415
+ }
5416
+ };
5417
+ };
5399
5418
  var isPruneTimeMatch = (event, options) => {
5400
5419
  if (typeof options.before === "number" && event.at >= options.before) {
5401
5420
  return false;
package/dist/index.d.ts CHANGED
@@ -96,7 +96,7 @@ export { createVoiceOpsStatusRoutes, renderVoiceOpsStatusHTML } from './opsStatu
96
96
  export { createVoiceQualityRoutes, evaluateVoiceQuality, renderVoiceQualityHTML } from './qualityRoutes';
97
97
  export { createVoiceResilienceRoutes, createVoiceRoutingDecisionSummary, listVoiceRoutingEvents, renderVoiceResilienceHTML, summarizeVoiceRoutingDecision, summarizeVoiceRoutingSessions } from './resilienceRoutes';
98
98
  export { createVoiceSTTProviderRouter, createVoiceTTSProviderRouter } from './providerAdapters';
99
- export { buildVoiceTraceReplay, createVoiceMemoryTraceSinkDeliveryStore, createVoiceProfileTraceTagger, createVoiceTraceHTTPSink, createVoiceTraceS3Sink, createVoiceMemoryTraceEventStore, createVoiceScopedTraceEventStore, createVoiceTraceSinkDeliveryId, createVoiceTraceSinkDeliveryRecord, createVoiceTraceSinkStore, createVoiceTraceEvent, createVoiceTraceEventId, deliverVoiceTraceEventsToSinks, evaluateVoiceTrace, exportVoiceTrace, filterVoiceTraceEvents, pruneVoiceTraceEvents, redactVoiceTraceEvent, redactVoiceTraceEvents, redactVoiceTraceText, renderVoiceTraceHTML, renderVoiceTraceMarkdown, resolveVoiceTraceRedactionOptions, selectVoiceTraceEventsForPrune, summarizeVoiceTrace } from './trace';
99
+ export { buildVoiceTraceReplay, createVoiceMemoryTraceSinkDeliveryStore, createVoiceProfileTraceTagger, createVoiceTraceHTTPSink, createVoiceTraceS3Sink, createVoiceMemoryTraceEventStore, createVoiceProofTraceStore, createVoiceScopedTraceEventStore, createVoiceTraceSinkDeliveryId, createVoiceTraceSinkDeliveryRecord, createVoiceTraceSinkStore, createVoiceTraceEvent, createVoiceTraceEventId, deliverVoiceTraceEventsToSinks, evaluateVoiceTrace, exportVoiceTrace, filterVoiceTraceEvents, pruneVoiceTraceEvents, redactVoiceTraceEvent, redactVoiceTraceEvents, redactVoiceTraceText, renderVoiceTraceHTML, renderVoiceTraceMarkdown, resolveVoiceTraceRedactionOptions, selectVoiceTraceEventsForPrune, summarizeVoiceTrace } from './trace';
100
100
  export { buildVoiceTraceDeliveryReport, createVoiceTraceDeliveryHTMLHandler, createVoiceTraceDeliveryJSONHandler, createVoiceTraceDeliveryRoutes, renderVoiceTraceDeliveryHTML, resolveVoiceTraceDeliveryFilter } from './traceDeliveryRoutes';
101
101
  export { createVoiceTraceTimelineRoutes, renderVoiceTraceTimelineHTML, renderVoiceTraceTimelineSessionHTML, summarizeVoiceTraceTimeline } from './traceTimeline';
102
102
  export { createVoiceSQLiteAuditEventStore, createVoiceSQLiteAuditSinkDeliveryStore, createVoiceSQLiteCampaignStore, createVoiceSQLiteExternalObjectMapStore, createVoiceSQLiteIntegrationEventStore, createVoiceSQLiteReviewStore, createVoiceSQLiteRuntimeStorage, createVoiceSQLiteSessionStore, createVoiceSQLiteTaskStore, createVoiceSQLiteTelephonyWebhookIdempotencyStore, createVoiceSQLiteTraceSinkDeliveryStore, createVoiceSQLiteTraceEventStore } from './sqliteStore';
package/dist/index.js CHANGED
@@ -9929,6 +9929,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
9929
9929
  remove: (id) => store.remove(id)
9930
9930
  };
9931
9931
  };
9932
+ var createVoiceProofTraceStore = (options = {}) => {
9933
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
9934
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
9935
+ return {
9936
+ append: async (event) => {
9937
+ const stored = await proofStore.append(event);
9938
+ await options.mirrorStore?.append(stored);
9939
+ return stored;
9940
+ },
9941
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
9942
+ list: (filter) => scopedProofStore.list(filter),
9943
+ remove: async (id) => {
9944
+ await Promise.all([
9945
+ proofStore.remove(id),
9946
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
9947
+ ]);
9948
+ }
9949
+ };
9950
+ };
9932
9951
  var isPruneTimeMatch = (event, options) => {
9933
9952
  if (typeof options.before === "number" && event.at >= options.before) {
9934
9953
  return false;
@@ -40703,6 +40722,7 @@ export {
40703
40722
  createVoiceProviderCapabilityHTMLHandler,
40704
40723
  createVoiceProofTrendRoutes,
40705
40724
  createVoiceProofTrendRecommendationRoutes,
40725
+ createVoiceProofTraceStore,
40706
40726
  createVoiceProofPackSupportBundleSection,
40707
40727
  createVoiceProofPackRoutes,
40708
40728
  createVoiceProofPackProviderSloSection,
@@ -2588,6 +2588,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
2588
2588
  remove: (id) => store.remove(id)
2589
2589
  };
2590
2590
  };
2591
+ var createVoiceProofTraceStore = (options = {}) => {
2592
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
2593
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
2594
+ return {
2595
+ append: async (event) => {
2596
+ const stored = await proofStore.append(event);
2597
+ await options.mirrorStore?.append(stored);
2598
+ return stored;
2599
+ },
2600
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
2601
+ list: (filter) => scopedProofStore.list(filter),
2602
+ remove: async (id) => {
2603
+ await Promise.all([
2604
+ proofStore.remove(id),
2605
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
2606
+ ]);
2607
+ }
2608
+ };
2609
+ };
2591
2610
  var isPruneTimeMatch = (event, options) => {
2592
2611
  if (typeof options.before === "number" && event.at >= options.before) {
2593
2612
  return false;
@@ -1149,6 +1149,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
1149
1149
  remove: (id) => store.remove(id)
1150
1150
  };
1151
1151
  };
1152
+ var createVoiceProofTraceStore = (options = {}) => {
1153
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
1154
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
1155
+ return {
1156
+ append: async (event) => {
1157
+ const stored = await proofStore.append(event);
1158
+ await options.mirrorStore?.append(stored);
1159
+ return stored;
1160
+ },
1161
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
1162
+ list: (filter) => scopedProofStore.list(filter),
1163
+ remove: async (id) => {
1164
+ await Promise.all([
1165
+ proofStore.remove(id),
1166
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
1167
+ ]);
1168
+ }
1169
+ };
1170
+ };
1152
1171
  var isPruneTimeMatch = (event, options) => {
1153
1172
  if (typeof options.before === "number" && event.at >= options.before) {
1154
1173
  return false;
@@ -9314,6 +9314,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
9314
9314
  remove: (id) => store.remove(id)
9315
9315
  };
9316
9316
  };
9317
+ var createVoiceProofTraceStore = (options = {}) => {
9318
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
9319
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
9320
+ return {
9321
+ append: async (event) => {
9322
+ const stored = await proofStore.append(event);
9323
+ await options.mirrorStore?.append(stored);
9324
+ return stored;
9325
+ },
9326
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
9327
+ list: (filter) => scopedProofStore.list(filter),
9328
+ remove: async (id) => {
9329
+ await Promise.all([
9330
+ proofStore.remove(id),
9331
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
9332
+ ]);
9333
+ }
9334
+ };
9335
+ };
9317
9336
  var isPruneTimeMatch = (event, options) => {
9318
9337
  if (typeof options.before === "number" && event.at >= options.before) {
9319
9338
  return false;
package/dist/trace.d.ts CHANGED
@@ -29,6 +29,11 @@ export type VoiceTraceEventStore<TEvent extends StoredVoiceTraceEvent = StoredVo
29
29
  remove: (id: string) => Promise<void>;
30
30
  };
31
31
  export type VoiceScopedTraceEventStoreOptions = VoiceTraceEventFilter;
32
+ export type VoiceProofTraceStoreOptions<TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent> = {
33
+ mirrorStore?: VoiceTraceEventStore<TEvent>;
34
+ proofStore?: VoiceTraceEventStore<TEvent>;
35
+ scope?: VoiceScopedTraceEventStoreOptions;
36
+ };
32
37
  export type VoiceTracePruneFilter = Omit<VoiceTraceEventFilter, 'limit'>;
33
38
  export type VoiceTracePruneOptions = {
34
39
  before?: number;
@@ -214,6 +219,7 @@ export declare const createVoiceTraceSinkDeliveryRecord: (input: {
214
219
  } & Partial<Omit<VoiceTraceSinkDeliveryRecord, "createdAt" | "events" | "id">>) => VoiceTraceSinkDeliveryRecord;
215
220
  export declare const filterVoiceTraceEvents: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(events: TEvent[], filter?: VoiceTraceEventFilter) => TEvent[];
216
221
  export declare const createVoiceScopedTraceEventStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(store: VoiceTraceEventStore<TEvent>, scope: VoiceScopedTraceEventStoreOptions) => VoiceTraceEventStore<TEvent>;
222
+ export declare const createVoiceProofTraceStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options?: VoiceProofTraceStoreOptions<TEvent>) => VoiceTraceEventStore<TEvent>;
217
223
  export declare const selectVoiceTraceEventsForPrune: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(events: TEvent[], options?: Omit<VoiceTracePruneOptions, "store">) => TEvent[];
218
224
  export declare const pruneVoiceTraceEvents: (options: VoiceTracePruneOptions) => Promise<VoiceTracePruneResult>;
219
225
  export declare const createVoiceTraceHTTPSink: <TBody extends Record<string, unknown> = Record<string, unknown>>(options: VoiceTraceHTTPSinkOptions<TBody>) => VoiceTraceSink;
package/dist/vue/index.js CHANGED
@@ -2509,6 +2509,25 @@ var createVoiceScopedTraceEventStore = (store, scope) => {
2509
2509
  remove: (id) => store.remove(id)
2510
2510
  };
2511
2511
  };
2512
+ var createVoiceProofTraceStore = (options = {}) => {
2513
+ const proofStore = options.proofStore ?? createVoiceMemoryTraceEventStore();
2514
+ const scopedProofStore = options.scope ? createVoiceScopedTraceEventStore(proofStore, options.scope) : proofStore;
2515
+ return {
2516
+ append: async (event) => {
2517
+ const stored = await proofStore.append(event);
2518
+ await options.mirrorStore?.append(stored);
2519
+ return stored;
2520
+ },
2521
+ get: async (id) => await proofStore.get(id) ?? await options.mirrorStore?.get(id),
2522
+ list: (filter) => scopedProofStore.list(filter),
2523
+ remove: async (id) => {
2524
+ await Promise.all([
2525
+ proofStore.remove(id),
2526
+ options.mirrorStore?.remove(id) ?? Promise.resolve()
2527
+ ]);
2528
+ }
2529
+ };
2530
+ };
2512
2531
  var isPruneTimeMatch = (event, options) => {
2513
2532
  if (typeof options.before === "number" && event.at >= options.before) {
2514
2533
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.22-beta.412",
3
+ "version": "0.0.22-beta.413",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",