@alexkroman1/aai-ui 5.13.2 → 6.1.0

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.
Files changed (57) hide show
  1. package/README.md +2 -1
  2. package/dist/_repeat-until.d.ts +30 -0
  3. package/dist/_sse.d.ts +56 -0
  4. package/dist/_workflow-api-ref.d.ts +37 -0
  5. package/dist/audio.js +26 -26
  6. package/dist/{chat-view-DadZOvJO.js → chat-view-CK61bWWx.js} +4 -3
  7. package/dist/components/_form-values.d.ts +19 -0
  8. package/dist/components/auto-scroll.d.ts +63 -0
  9. package/dist/components/chat-view.js +1 -1
  10. package/dist/components/controls.js +1 -1
  11. package/dist/components/form-types.d.ts +67 -0
  12. package/dist/components/form.d.ts +138 -0
  13. package/dist/components/message-list.js +1 -1
  14. package/dist/components/start-screen.js +1 -1
  15. package/dist/components/tool-call-block.js +1 -1
  16. package/dist/components/workflow-fields.d.ts +57 -0
  17. package/dist/components/workflow-progress.d.ts +55 -0
  18. package/dist/default-client/assets/audio-fO7SVU64.js +1 -0
  19. package/dist/default-client/assets/{capture-processor-CWRLCPS3.js → capture-processor-Dmc-KEpb.js} +4 -4
  20. package/dist/default-client/assets/client-audio-constants-Ck0IJO4c.js +1 -0
  21. package/dist/default-client/assets/index-4u908fff.js +293 -0
  22. package/dist/default-client/assets/index-CDugAuLK.css +2 -0
  23. package/dist/default-client/assets/{playback-processor-SKKE9qu2.js → playback-processor-DUsmALNH.js} +10 -3
  24. package/dist/default-client/index.html +3 -2
  25. package/dist/define-client.d.ts +40 -1
  26. package/dist/define-client.js +61 -19
  27. package/dist/hooks.d.ts +30 -0
  28. package/dist/hooks.js +4 -26
  29. package/dist/index.d.ts +11 -0
  30. package/dist/index.js +1597 -7
  31. package/dist/{message-list-YdLocGoT.js → message-list-BwA3rdPi.js} +105 -27
  32. package/dist/page.d.ts +88 -0
  33. package/dist/{session-core-BA8H3qtF.js → session-core-ClKdVgRU.js} +245 -112
  34. package/dist/session-core-dial.d.ts +38 -0
  35. package/dist/session-core-handshake.d.ts +16 -1
  36. package/dist/session-core-messages.d.ts +2 -2
  37. package/dist/session-core-reconnect.d.ts +2 -7
  38. package/dist/session-core.js +1 -1
  39. package/dist/session-resume-store.d.ts +43 -0
  40. package/dist/types.d.ts +1 -1
  41. package/dist/types.js +1 -1
  42. package/dist/use-user-transcript.d.ts +70 -0
  43. package/dist/use-workflow-form.d.ts +136 -0
  44. package/dist/use-workflow-progress.d.ts +100 -0
  45. package/dist/use-workflow-run.d.ts +56 -0
  46. package/dist/use-workflow-runs.d.ts +71 -0
  47. package/dist/workflow-client.d.ts +97 -0
  48. package/dist/workflow-events.d.ts +39 -0
  49. package/dist/worklets/playback-processor.d.ts +1 -1
  50. package/dist/worklets/playback-processor.js +8 -1
  51. package/package.json +9 -8
  52. package/dist/default-client/assets/audio-BqyrSHNq.js +0 -1
  53. package/dist/default-client/assets/index-Ctjrde3-.css +0 -2
  54. package/dist/default-client/assets/index-DfVI-qZ8.js +0 -293
  55. package/dist/{aai-logo-B8lDmsut.js → aai-logo-9xRBGVFl.js} +1 -1
  56. package/dist/{controls-DzQEKq9c.js → controls-Cy_YVfsa.js} +1 -1
  57. package/dist/{tool-call-block-CAscLGFy.js → tool-call-block-CrLN7xlI.js} +1 -1
@@ -0,0 +1 @@
1
+ import{o as e,s as t}from"./client-audio-constants-Ck0IJO4c.js";var n={echoCancellation:!0,noiseSuppression:!1,autoGainControl:!1,voiceIsolation:!1};function r(e,t,n){if(e!==t)throw Error(`Browser refused the ${n} sample rate: asked for ${t} Hz, got ${e} Hz`)}function i(e){e.then(e=>{for(let t of e.getTracks())t.stop()}).catch(()=>{})}function a(e,t,n){let r=new AudioWorkletNode(e,`capture-processor`,{channelCount:1,channelCountMode:`explicit`}),i=null;return r.port.onmessage=e=>{let r=e.data;r.event===`chunk`&&r.buffer?t(r.buffer):r.event===`silent`?n?.():r.event===`stopped`&&(i?.(),i=null)},{node:r,start(){r.port.postMessage({event:`start`})},stop(){let{promise:e,resolve:t}=Promise.withResolvers(),n=setTimeout(t,250);return i=()=>{clearTimeout(n),t()},r.port.postMessage({event:`stop`}),e}}}async function o(o){let{sttSampleRate:s,ttsSampleRate:c,captureWorkletSrc:l,playbackWorkletSrc:u,onMicData:d,onError:f,onPlaybackStats:p,onPlaybackProgress:m,onMicSilent:h}=o,g=new AudioContext({sampleRate:c,latencyHint:`playback`}),_=s===c,v=_?g:new AudioContext({sampleRate:s,latencyHint:`interactive`});async function y(){let e=_?[g]:[g,v];await Promise.all(e.map(e=>e.close().catch(e=>{console.warn(`AudioContext close failed:`,e)})))}let b=navigator.mediaDevices.getUserMedia({audio:{deviceId:{ideal:`default`},...n}}),x;try{[x]=await Promise.all([b,g.resume(),v.resume(),v.audioWorklet.addModule(l),g.audioWorklet.addModule(u)]),r(v.sampleRate,s,`capture`),r(g.sampleRate,c,`playback`)}catch(e){throw i(b),await y(),e}let S=v.createMediaStreamSource(x),C=a(v,d,h);S.connect(C.node),C.node.onprocessorerror=()=>{let e=Error(`Audio capture worklet crashed`);console.error(`[aai-ui]`,e.message),f?.(e)},C.start();let w=null,T=null,E=0,D=null,O=new AbortController;function k(){T?.(),T=null,D=null}function A(e){e.stats&&e.stats.concealedSamples>0&&p?.(e.stats),e.reason!==`interrupt`&&(D===null||e.turn===D)&&k()}function j(){if(w)return w;let e=new AudioWorkletNode(g,`playback-processor`);return e.connect(g.destination),e.port.onmessage=e=>{e.data.event===`stop`?A(e.data):e.data.event===`progress`&&m?.(e.data.bufferedMs)},e.onprocessorerror=()=>{let e=Error(`Audio playback worklet crashed`);console.error(`[aai-ui]`,e.message),k(),f?.(e)},w=e,e}let M={enqueue(e){O.signal.aborted||e.byteLength!==0&&j().port.postMessage({event:`write`,buffer:new Uint8Array(e)},[e])},done(){if(!w)return Promise.resolve();let n=++E;if(w.port.postMessage({event:`done`,turn:n}),g.state!==`running`)return D=null,Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers();T?.();let a=()=>{clearInterval(o),clearTimeout(s),T===a&&(T=null,D=null),i()},o=setInterval(()=>{g.state!==`running`&&a()},t),s=setTimeout(a,e);return T=a,D=n,r},flush(){w&&(k(),w.port.postMessage({event:`interrupt`}))},async close(){if(!O.signal.aborted){O.abort(),await C.stop(),S.disconnect(),C.node.disconnect(),w&&w.disconnect();for(let e of x.getTracks())e.stop();await y()}},async[Symbol.asyncDispose](){await M.close()}};return M}export{o as createVoiceIO};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./index-DfVI-qZ8.js";import{t as n}from"./_module-url-BX0RuRU2.js";var r=n(`
1
+ import{i as e,n as t}from"./client-audio-constants-Ck0IJO4c.js";import{t as n}from"./_module-url-BX0RuRU2.js";var r=`
2
2
  class CaptureProcessor extends AudioWorkletProcessor {
3
3
  constructor(options) {
4
4
  super();
@@ -10,14 +10,14 @@ class CaptureProcessor extends AudioWorkletProcessor {
10
10
  // Int16 accumulation buffer: flushed to the main thread as one transferred
11
11
  // ArrayBuffer once ~bufferSeconds of samples are batched. Sized 2x the
12
12
  // flush target so a whole render quantum always fits before flushing.
13
- this.targetSamples = Math.max(1, Math.round(this.rate * (opts.bufferSeconds || ${e})));
13
+ this.targetSamples = Math.max(1, Math.round(this.rate * (opts.bufferSeconds || ${t})));
14
14
  this.pending = new Int16Array(this.targetSamples * 2);
15
15
  this.pendingLen = 0;
16
16
  // Dead-mic probe: samples left to inspect before concluding the device
17
17
  // delivers nothing but digital silence. Only consumed while recording, so
18
18
  // the cost disappears after the window (or after the first real sample).
19
19
  this.probeSamplesLeft = Math.round(
20
- (this.rate * (opts.silenceProbeMs ?? ${t})) / 1000,
20
+ (this.rate * (opts.silenceProbeMs ?? ${e})) / 1000,
21
21
  );
22
22
  this.port.onmessage = (e) => {
23
23
  if (e.data.event === 'start') this.recording = true;
@@ -87,4 +87,4 @@ class CaptureProcessor extends AudioWorkletProcessor {
87
87
  }
88
88
 
89
89
  registerProcessor('capture-processor', CaptureProcessor);
90
- `);export{r as default};
90
+ `,i=n(r);export{i as default};
@@ -0,0 +1 @@
1
+ var e=.1,t=1500,n=.001,r=1e3,i=65e3,a=65536,o=6e5;export{n as a,t as i,e as n,i as o,a as r,r as s,o as t};