@absolutejs/voice 0.0.22-beta.404 → 0.0.22-beta.406

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/README.md CHANGED
@@ -2193,6 +2193,124 @@ For custom elements:
2193
2193
  </script>
2194
2194
  ```
2195
2195
 
2196
+ ### Call Debugger Launch Widgets
2197
+
2198
+ Mount `createVoiceCallDebuggerRoutes(...)` on the server, then expose a small framework-native launcher anywhere operators or developers need the latest support artifact. The launcher opens the full debugger with session snapshot, operations record, failure replay, provider path, transcript, user-heard output, linked artifacts, and incident markdown.
2199
+
2200
+ React:
2201
+
2202
+ ```tsx
2203
+ import { VoiceCallDebuggerLaunch } from '@absolutejs/voice/react';
2204
+
2205
+ export function DebugLatestCall() {
2206
+ return (
2207
+ <VoiceCallDebuggerLaunch
2208
+ description="Open snapshot, replay, provider path, transcript, and incident markdown."
2209
+ intervalMs={5000}
2210
+ path="/api/voice-call-debugger/latest"
2211
+ title="Debug Latest Call"
2212
+ />
2213
+ );
2214
+ }
2215
+ ```
2216
+
2217
+ Vue:
2218
+
2219
+ ```vue
2220
+ <script setup lang="ts">
2221
+ import { VoiceCallDebuggerLaunch } from '@absolutejs/voice/vue';
2222
+ </script>
2223
+
2224
+ <template>
2225
+ <VoiceCallDebuggerLaunch
2226
+ description="Open snapshot, replay, provider path, transcript, and incident markdown."
2227
+ :interval-ms="5000"
2228
+ path="/api/voice-call-debugger/latest"
2229
+ title="Debug Latest Call"
2230
+ />
2231
+ </template>
2232
+ ```
2233
+
2234
+ Svelte:
2235
+
2236
+ ```svelte
2237
+ <script lang="ts">
2238
+ import { onDestroy, onMount } from 'svelte';
2239
+ import { createVoiceCallDebugger } from '@absolutejs/voice/svelte';
2240
+
2241
+ const debuggerLaunch = createVoiceCallDebugger('/api/voice-call-debugger/latest', {
2242
+ description: 'Open snapshot, replay, provider path, transcript, and incident markdown.',
2243
+ intervalMs: 5000,
2244
+ title: 'Debug Latest Call'
2245
+ });
2246
+ let html = debuggerLaunch.getHTML();
2247
+ let unsubscribe = () => {};
2248
+
2249
+ onMount(() => {
2250
+ unsubscribe = debuggerLaunch.subscribe(() => {
2251
+ html = debuggerLaunch.getHTML();
2252
+ });
2253
+ void debuggerLaunch.refresh().catch(() => {});
2254
+ });
2255
+ onDestroy(() => {
2256
+ unsubscribe();
2257
+ debuggerLaunch.close();
2258
+ });
2259
+ </script>
2260
+
2261
+ {@html html}
2262
+ ```
2263
+
2264
+ Angular:
2265
+
2266
+ ```ts
2267
+ import { Component, computed, inject } from '@angular/core';
2268
+ import { createVoiceCallDebuggerLaunchViewModel } from '@absolutejs/voice/client';
2269
+ import { VoiceCallDebuggerService } from '@absolutejs/voice/angular';
2270
+
2271
+ @Component({
2272
+ selector: 'app-debug-latest-call',
2273
+ template: `
2274
+ <a [href]="model().href">{{ model().label }}</a>
2275
+ <p>{{ model().description }}</p>
2276
+ `
2277
+ })
2278
+ export class DebugLatestCallComponent {
2279
+ private readonly callDebugger = inject(VoiceCallDebuggerService).connect(
2280
+ '/api/voice-call-debugger/latest',
2281
+ { intervalMs: 5000 }
2282
+ );
2283
+ readonly model = computed(() =>
2284
+ createVoiceCallDebuggerLaunchViewModel(
2285
+ '/api/voice-call-debugger/latest',
2286
+ {
2287
+ error: this.callDebugger.error(),
2288
+ isLoading: this.callDebugger.isLoading(),
2289
+ report: this.callDebugger.report(),
2290
+ updatedAt: this.callDebugger.updatedAt()
2291
+ },
2292
+ { title: 'Debug Latest Call' }
2293
+ )
2294
+ );
2295
+ }
2296
+ ```
2297
+
2298
+ HTML or HTMX:
2299
+
2300
+ ```html
2301
+ <absolute-voice-call-debugger-launch
2302
+ interval-ms="5000"
2303
+ path="/api/voice-call-debugger/latest"
2304
+ title="Debug Latest Call"
2305
+ ></absolute-voice-call-debugger-launch>
2306
+
2307
+ <script type="module">
2308
+ import { defineVoiceCallDebuggerLaunchElement } from '@absolutejs/voice/client';
2309
+
2310
+ defineVoiceCallDebuggerLaunchElement();
2311
+ </script>
2312
+ ```
2313
+
2196
2314
  ## Delivery Runtime Widgets
2197
2315
 
2198
2316
  After mounting `createVoiceDeliveryRuntimeRoutes(...)`, apps can expose audit and trace worker health through the same framework-native primitives:
@@ -1,6 +1,7 @@
1
1
  export { VoiceOpsStatusService } from './voice-ops-status.service';
2
2
  export { VoicePlatformCoverageService } from './voice-platform-coverage.service';
3
3
  export { VoiceProofTrendsService } from './voice-proof-trends.service';
4
+ export { VoiceCallDebuggerService } from './voice-call-debugger.service';
4
5
  export { VoiceSessionSnapshotService } from './voice-session-snapshot.service';
5
6
  export { VoiceProfileComparisonService } from './voice-profile-comparison.service';
6
7
  export { VoiceReadinessFailuresService } from './voice-readiness-failures.service';