@memberjunction/ai-realtime-client 6.2.0-edge.2 → 6.2.0-edge.4
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 +156 -29
- package/dist/audio/audioMeter.d.ts +71 -0
- package/dist/audio/audioMeter.d.ts.map +1 -1
- package/dist/audio/audioMeter.js +83 -0
- package/dist/audio/audioMeter.js.map +1 -1
- package/dist/audio/mediaElementAudioRouter.d.ts +41 -0
- package/dist/audio/mediaElementAudioRouter.d.ts.map +1 -0
- package/dist/audio/mediaElementAudioRouter.js +82 -0
- package/dist/audio/mediaElementAudioRouter.js.map +1 -0
- package/dist/audio/micCapture.d.ts +12 -3
- package/dist/audio/micCapture.d.ts.map +1 -1
- package/dist/audio/micCapture.js +15 -1
- package/dist/audio/micCapture.js.map +1 -1
- package/dist/audio/pcmPlayback.d.ts +72 -4
- package/dist/audio/pcmPlayback.d.ts.map +1 -1
- package/dist/audio/pcmPlayback.js +101 -1
- package/dist/audio/pcmPlayback.js.map +1 -1
- package/dist/drivers/assemblyAIRealtimeClient.d.ts +2 -0
- package/dist/drivers/assemblyAIRealtimeClient.d.ts.map +1 -1
- package/dist/drivers/assemblyAIRealtimeClient.js +14 -0
- package/dist/drivers/assemblyAIRealtimeClient.js.map +1 -1
- package/dist/drivers/elevenLabsRealtimeClient.d.ts +2 -0
- package/dist/drivers/elevenLabsRealtimeClient.d.ts.map +1 -1
- package/dist/drivers/elevenLabsRealtimeClient.js +14 -0
- package/dist/drivers/elevenLabsRealtimeClient.js.map +1 -1
- package/dist/drivers/geminiAvatarOutput.d.ts +132 -0
- package/dist/drivers/geminiAvatarOutput.d.ts.map +1 -0
- package/dist/drivers/geminiAvatarOutput.js +310 -0
- package/dist/drivers/geminiAvatarOutput.js.map +1 -0
- package/dist/drivers/geminiEnterpriseRealtimeClient.d.ts +38 -0
- package/dist/drivers/geminiEnterpriseRealtimeClient.d.ts.map +1 -0
- package/dist/drivers/geminiEnterpriseRealtimeClient.js +107 -0
- package/dist/drivers/geminiEnterpriseRealtimeClient.js.map +1 -0
- package/dist/drivers/geminiRealtimeClient.d.ts +314 -48
- package/dist/drivers/geminiRealtimeClient.d.ts.map +1 -1
- package/dist/drivers/geminiRealtimeClient.js +759 -176
- package/dist/drivers/geminiRealtimeClient.js.map +1 -1
- package/dist/drivers/openAILiveClient.d.ts +5 -8
- package/dist/drivers/openAILiveClient.d.ts.map +1 -1
- package/dist/drivers/openAILiveClient.js +19 -32
- package/dist/drivers/openAILiveClient.js.map +1 -1
- package/dist/drivers/openAIRealtimeClient.d.ts +23 -26
- package/dist/drivers/openAIRealtimeClient.d.ts.map +1 -1
- package/dist/drivers/openAIRealtimeClient.js +42 -57
- package/dist/drivers/openAIRealtimeClient.js.map +1 -1
- package/dist/generic/baseRealtimeClient.d.ts +188 -30
- package/dist/generic/baseRealtimeClient.d.ts.map +1 -1
- package/dist/generic/baseRealtimeClient.js +250 -14
- package/dist/generic/baseRealtimeClient.js.map +1 -1
- package/dist/generic/openAIProtocolClient.d.ts +57 -1
- package/dist/generic/openAIProtocolClient.d.ts.map +1 -1
- package/dist/generic/openAIProtocolClient.js +89 -4
- package/dist/generic/openAIProtocolClient.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/media/attachVideoSource.d.ts +23 -0
- package/dist/media/attachVideoSource.d.ts.map +1 -0
- package/dist/media/attachVideoSource.js +49 -0
- package/dist/media/attachVideoSource.js.map +1 -0
- package/dist/media/channelVideoSource.d.ts +110 -14
- package/dist/media/channelVideoSource.d.ts.map +1 -1
- package/dist/media/channelVideoSource.js +183 -18
- package/dist/media/channelVideoSource.js.map +1 -1
- package/dist/media/decoders/frameScheduler.d.ts +119 -0
- package/dist/media/decoders/frameScheduler.d.ts.map +1 -0
- package/dist/media/decoders/frameScheduler.js +238 -0
- package/dist/media/decoders/frameScheduler.js.map +1 -0
- package/dist/media/decoders/imageFrameDecoder.d.ts +58 -0
- package/dist/media/decoders/imageFrameDecoder.d.ts.map +1 -0
- package/dist/media/decoders/imageFrameDecoder.js +110 -0
- package/dist/media/decoders/imageFrameDecoder.js.map +1 -0
- package/dist/media/decoders/mseFmp4Decoder.d.ts +130 -0
- package/dist/media/decoders/mseFmp4Decoder.d.ts.map +1 -0
- package/dist/media/decoders/mseFmp4Decoder.js +402 -0
- package/dist/media/decoders/mseFmp4Decoder.js.map +1 -0
- package/dist/media/decoders/streamCanvas.d.ts +46 -0
- package/dist/media/decoders/streamCanvas.d.ts.map +1 -0
- package/dist/media/decoders/streamCanvas.js +163 -0
- package/dist/media/decoders/streamCanvas.js.map +1 -0
- package/dist/media/decoders/videoMimeTypes.d.ts +29 -0
- package/dist/media/decoders/videoMimeTypes.d.ts.map +1 -0
- package/dist/media/decoders/videoMimeTypes.js +50 -0
- package/dist/media/decoders/videoMimeTypes.js.map +1 -0
- package/dist/media/decoders/webCodecsChunkDecoder.d.ts +99 -0
- package/dist/media/decoders/webCodecsChunkDecoder.d.ts.map +1 -0
- package/dist/media/decoders/webCodecsChunkDecoder.js +265 -0
- package/dist/media/decoders/webCodecsChunkDecoder.js.map +1 -0
- package/dist/media/displayCapture.d.ts +128 -0
- package/dist/media/displayCapture.d.ts.map +1 -0
- package/dist/media/displayCapture.js +245 -0
- package/dist/media/displayCapture.js.map +1 -0
- package/dist/media/frameCapture.d.ts +25 -8
- package/dist/media/frameCapture.d.ts.map +1 -1
- package/dist/media/frameCapture.js +42 -72
- package/dist/media/frameCapture.js.map +1 -1
- package/dist/media/frameSampler.d.ts +94 -0
- package/dist/media/frameSampler.d.ts.map +1 -0
- package/dist/media/frameSampler.js +134 -0
- package/dist/media/frameSampler.js.map +1 -0
- package/dist/media/index.d.ts +32 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +32 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/localMediaController.d.ts +116 -0
- package/dist/media/localMediaController.d.ts.map +1 -0
- package/dist/media/localMediaController.js +281 -0
- package/dist/media/localMediaController.js.map +1 -0
- package/dist/media/mediaLayout.d.ts +93 -0
- package/dist/media/mediaLayout.d.ts.map +1 -0
- package/dist/media/mediaLayout.js +187 -0
- package/dist/media/mediaLayout.js.map +1 -0
- package/dist/media/mediaPreview.d.ts +94 -0
- package/dist/media/mediaPreview.d.ts.map +1 -0
- package/dist/media/mediaPreview.js +154 -0
- package/dist/media/mediaPreview.js.map +1 -0
- package/dist/media/mediaStage.d.ts +99 -0
- package/dist/media/mediaStage.d.ts.map +1 -0
- package/dist/media/mediaStage.js +171 -0
- package/dist/media/mediaStage.js.map +1 -0
- package/dist/media/model.d.ts +154 -0
- package/dist/media/model.d.ts.map +1 -0
- package/dist/media/model.js +9 -0
- package/dist/media/model.js.map +1 -0
- package/dist/media/playbackClock.d.ts +20 -0
- package/dist/media/playbackClock.d.ts.map +1 -0
- package/dist/media/playbackClock.js +13 -0
- package/dist/media/playbackClock.js.map +1 -0
- package/dist/media/videoFrameDecoder.d.ts +86 -0
- package/dist/media/videoFrameDecoder.d.ts.map +1 -0
- package/dist/media/videoFrameDecoder.js +2 -0
- package/dist/media/videoFrameDecoder.js.map +1 -0
- package/dist/media/videoFrameDecoderRegistry.d.ts +40 -0
- package/dist/media/videoFrameDecoderRegistry.d.ts.map +1 -0
- package/dist/media/videoFrameDecoderRegistry.js +69 -0
- package/dist/media/videoFrameDecoderRegistry.js.map +1 -0
- package/dist/media/videoPacing.d.ts +32 -0
- package/dist/media/videoPacing.d.ts.map +1 -0
- package/dist/media/videoPacing.js +37 -0
- package/dist/media/videoPacing.js.map +1 -0
- package/dist/media/videoPlayout.d.ts +168 -0
- package/dist/media/videoPlayout.d.ts.map +1 -0
- package/dist/media/videoPlayout.js +217 -0
- package/dist/media/videoPlayout.js.map +1 -0
- package/dist/media/videoSourceArbiter.d.ts +250 -0
- package/dist/media/videoSourceArbiter.d.ts.map +1 -0
- package/dist/media/videoSourceArbiter.js +423 -0
- package/dist/media/videoSourceArbiter.js.map +1 -0
- package/dist/testing/conformanceAssertions.d.ts +25 -0
- package/dist/testing/conformanceAssertions.d.ts.map +1 -0
- package/dist/testing/conformanceAssertions.js +64 -0
- package/dist/testing/conformanceAssertions.js.map +1 -0
- package/dist/testing/conformanceFixtures.d.ts +76 -0
- package/dist/testing/conformanceFixtures.d.ts.map +1 -0
- package/dist/testing/conformanceFixtures.js +169 -0
- package/dist/testing/conformanceFixtures.js.map +1 -0
- package/dist/testing/conformanceGates.d.ts +32 -0
- package/dist/testing/conformanceGates.d.ts.map +1 -0
- package/dist/testing/conformanceGates.js +35 -0
- package/dist/testing/conformanceGates.js.map +1 -0
- package/dist/testing/conformanceMicrophone.d.ts +10 -0
- package/dist/testing/conformanceMicrophone.d.ts.map +1 -0
- package/dist/testing/conformanceMicrophone.js +71 -0
- package/dist/testing/conformanceMicrophone.js.map +1 -0
- package/dist/testing/conformanceTimeline.d.ts +128 -0
- package/dist/testing/conformanceTimeline.d.ts.map +1 -0
- package/dist/testing/conformanceTimeline.js +32 -0
- package/dist/testing/conformanceTimeline.js.map +1 -0
- package/dist/testing/conformanceVideoStream.d.ts +29 -0
- package/dist/testing/conformanceVideoStream.d.ts.map +1 -0
- package/dist/testing/conformanceVideoStream.js +39 -0
- package/dist/testing/conformanceVideoStream.js.map +1 -0
- package/dist/testing/index.d.ts +29 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +28 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/realtimeVideoConformance.d.ts +23 -0
- package/dist/testing/realtimeVideoConformance.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformance.js +139 -0
- package/dist/testing/realtimeVideoConformance.js.map +1 -0
- package/dist/testing/realtimeVideoConformanceChecks.d.ts +4 -0
- package/dist/testing/realtimeVideoConformanceChecks.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformanceChecks.js +164 -0
- package/dist/testing/realtimeVideoConformanceChecks.js.map +1 -0
- package/dist/testing/realtimeVideoConformanceFrameChecks.d.ts +4 -0
- package/dist/testing/realtimeVideoConformanceFrameChecks.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformanceFrameChecks.js +63 -0
- package/dist/testing/realtimeVideoConformanceFrameChecks.js.map +1 -0
- package/dist/testing/realtimeVideoConformanceSession.d.ts +108 -0
- package/dist/testing/realtimeVideoConformanceSession.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformanceSession.js +270 -0
- package/dist/testing/realtimeVideoConformanceSession.js.map +1 -0
- package/dist/testing/realtimeVideoConformanceTurnChecks.d.ts +4 -0
- package/dist/testing/realtimeVideoConformanceTurnChecks.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformanceTurnChecks.js +248 -0
- package/dist/testing/realtimeVideoConformanceTurnChecks.js.map +1 -0
- package/dist/testing/realtimeVideoConformanceTypes.d.ts +155 -0
- package/dist/testing/realtimeVideoConformanceTypes.d.ts.map +1 -0
- package/dist/testing/realtimeVideoConformanceTypes.js +2 -0
- package/dist/testing/realtimeVideoConformanceTypes.js.map +1 -0
- package/dist/testing/recordingPlayout.d.ts +84 -0
- package/dist/testing/recordingPlayout.d.ts.map +1 -0
- package/dist/testing/recordingPlayout.js +120 -0
- package/dist/testing/recordingPlayout.js.map +1 -0
- package/package.json +29 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ResolveResponseDoneUsage } from '@memberjunction/ai';
|
|
2
|
-
import { BaseRealtimeClient } from './baseRealtimeClient.js';
|
|
2
|
+
import { BaseRealtimeClient, ToProviderSessionConfig } from './baseRealtimeClient.js';
|
|
3
3
|
import { Base64ToArrayBuffer } from '../audio/pcmUtils.js';
|
|
4
4
|
import { RealtimePcmPlayback } from '../audio/pcmPlayback.js';
|
|
5
5
|
import { RealtimeAudioMeter } from '../audio/audioMeter.js';
|
|
@@ -223,6 +223,9 @@ export class OpenAIProtocolRealtimeClient extends BaseRealtimeClient {
|
|
|
223
223
|
* provider, and narration is disposable by contract, so the update is dropped with a debug
|
|
224
224
|
* log rather than queued to come out late and stale. Hosts SHOULD still gate on
|
|
225
225
|
* {@link IsBusy} / {@link IsAudioPlaying} for timing quality.
|
|
226
|
+
*
|
|
227
|
+
* The wire frame is built by {@link buildSpokenUpdateEvent}, which is where the identity
|
|
228
|
+
* rule lives — see that method for why the caller's direction is never sent on its own.
|
|
226
229
|
*/
|
|
227
230
|
RequestSpokenUpdate(instructions) {
|
|
228
231
|
if (!this.canSendEvents()) {
|
|
@@ -235,7 +238,68 @@ export class OpenAIProtocolRealtimeClient extends BaseRealtimeClient {
|
|
|
235
238
|
this.responseActive = true;
|
|
236
239
|
this.pendingNarrationKind = true;
|
|
237
240
|
this.pendingLocalResponseCreates++;
|
|
238
|
-
this.sendEvent(
|
|
241
|
+
this.sendEvent(this.buildSpokenUpdateEvent(instructions));
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The `response.create` frame for one spoken update — **carrying the session identity, not
|
|
245
|
+
* replacing it.**
|
|
246
|
+
*
|
|
247
|
+
* ⚠️ `response.instructions` IS A FULL OVERRIDE OF THE SESSION SYSTEM PROMPT for that one
|
|
248
|
+
* response, not an addition to it. That is the whole reason this method exists. The
|
|
249
|
+
* server-side twin of this driver (`openAIRealtime.ts`) already states the rule and guards
|
|
250
|
+
* the BLANK case on it — forwarding `''` "would wipe the co-agent identity framing" — but the
|
|
251
|
+
* NON-blank case was never guarded, so every caller that supplied a real direction wiped it
|
|
252
|
+
* just as thoroughly and much less visibly.
|
|
253
|
+
*
|
|
254
|
+
* What that cost, live: the one turn that rides this method had no persona, so the model fell
|
|
255
|
+
* back to its vendor default and opened a hiring interview with *"I'm ChatGPT, your friendly
|
|
256
|
+
* voice companion"* while every other turn in the same session correctly said *"I'm Sam
|
|
257
|
+
* Rivera, Support Team Lead"* (bizapps-caliber#397 / MJ#4591). Every commentary-style caller
|
|
258
|
+
* is exposed the same way — an opening turn, a silence check-in, a delegation narration — and
|
|
259
|
+
* none of them should have to restate an identity the session already carries.
|
|
260
|
+
*
|
|
261
|
+
* Three cases, and the middle one is the fix:
|
|
262
|
+
*
|
|
263
|
+
* - **Blank direction** → a bare `response.create`. "Respond now, under the session prompt"
|
|
264
|
+
* (the meeting-mode bridge trigger passes `''`). Matches the server twin exactly.
|
|
265
|
+
* - **Direction + session instructions** → `identity, then direction`. The identity leads
|
|
266
|
+
* because it is context, and the direction is LAST because it is the thing being asked for
|
|
267
|
+
* now — the most recent line is the one a model weights hardest.
|
|
268
|
+
* - **Direction, no session instructions** → the direction alone. A session minted without
|
|
269
|
+
* instructions has no identity to lose, and prefixing a blank line would be noise.
|
|
270
|
+
*/
|
|
271
|
+
buildSpokenUpdateEvent(instructions) {
|
|
272
|
+
const direction = instructions?.trim() ?? '';
|
|
273
|
+
if (direction.length === 0) {
|
|
274
|
+
return { type: 'response.create' };
|
|
275
|
+
}
|
|
276
|
+
const identity = this.currentSessionInstructions();
|
|
277
|
+
return {
|
|
278
|
+
type: 'response.create',
|
|
279
|
+
response: { instructions: identity === null ? direction : `${identity}\n\n${direction}` },
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* The session-level instructions currently in force — the co-agent's identity, persona and
|
|
284
|
+
* standing directives, as applied by `session.update`.
|
|
285
|
+
*
|
|
286
|
+
* A SEAM, not a field read, because the pact lives in a different place per transport: the
|
|
287
|
+
* websocket subclass keeps it in `sessionObject`, the WebRTC driver in its own `sessionConfig`.
|
|
288
|
+
* The base holds no copy of either, so it answers "no identity on record" and each transport
|
|
289
|
+
* overrides with the one it actually applied. A transport that forgets to override loses only
|
|
290
|
+
* the carry — {@link buildSpokenUpdateEvent} still sends the caller's direction — which is the
|
|
291
|
+
* old behaviour rather than a new failure.
|
|
292
|
+
*
|
|
293
|
+
* Null rather than `''` for "this session carries no identity", so {@link buildSpokenUpdateEvent}
|
|
294
|
+
* can tell "nothing to preserve" from "preserve this".
|
|
295
|
+
*/
|
|
296
|
+
currentSessionInstructions() {
|
|
297
|
+
return null;
|
|
298
|
+
}
|
|
299
|
+
/** Reads a session pact's `instructions`, or null when it carries none worth preserving. */
|
|
300
|
+
static readInstructions(pact) {
|
|
301
|
+
const value = pact?.['instructions'];
|
|
302
|
+
return typeof value === 'string' && value.trim().length > 0 ? value : null;
|
|
239
303
|
}
|
|
240
304
|
/**
|
|
241
305
|
* Sends the tool result back as a `function_call_output` conversation item, then triggers
|
|
@@ -597,9 +661,12 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
597
661
|
/** Rejects the in-flight Connect (open OR created phase); null outside Connect. */
|
|
598
662
|
this.failPendingConnect = null;
|
|
599
663
|
}
|
|
600
|
-
/**
|
|
664
|
+
/**
|
|
665
|
+
* Extracts the wire-shaped `session` object from the server pact. Default: the pact minus the
|
|
666
|
+
* client-only hints ({@link ToProviderSessionConfig}).
|
|
667
|
+
*/
|
|
601
668
|
resolveSessionObject(config) {
|
|
602
|
-
return config.SessionConfig ?? {};
|
|
669
|
+
return ToProviderSessionConfig(config.SessionConfig ?? {});
|
|
603
670
|
}
|
|
604
671
|
/**
|
|
605
672
|
* Whether the readiness boundary waits for the endpoint's `session.created` frame before
|
|
@@ -625,6 +692,7 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
625
692
|
* `'listening'` only after all of that (obligation #7).
|
|
626
693
|
*/
|
|
627
694
|
async Connect(config, micStream) {
|
|
695
|
+
this.AssertTransportSupported(config);
|
|
628
696
|
this.sessionObject = this.resolveSessionObject(config);
|
|
629
697
|
this.micStream = micStream;
|
|
630
698
|
this.closedByConsumer = false;
|
|
@@ -717,6 +785,9 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
717
785
|
this.applySessionConfig();
|
|
718
786
|
const sampleRate = this.resolveSampleRate(config);
|
|
719
787
|
this.playback = this.createPlayback(sampleRate);
|
|
788
|
+
// The agent voice plays through Web Audio only; publish it so a host recorder can mix
|
|
789
|
+
// it in (issue #5153). Null for playbacks with no output stream (fakes, no WebAudio).
|
|
790
|
+
this.publishRemoteMediaStream(this.playback.GetOutputStream?.() ?? null);
|
|
720
791
|
this.micCapture = await this.createMicCapture(micStream, sampleRate, (base64Pcm16) => this.sendMicChunk(base64Pcm16));
|
|
721
792
|
// Audio-activity capability (base obligation #9): agent side taps the playout engine's
|
|
722
793
|
// master gain; user side meters the mic stream. Null-safe — test fakes / no-WebAudio
|
|
@@ -725,6 +796,15 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
725
796
|
this.attachInputAudioMeter(RealtimeAudioMeter.ForMicStream(micStream));
|
|
726
797
|
this.setState('listening');
|
|
727
798
|
}
|
|
799
|
+
/** Rebinds the PCM capture and the input meter to the stream's current track (obligation #10); the socket stays open. */
|
|
800
|
+
async ReplaceMicrophone(micStream) {
|
|
801
|
+
if (!this.micCapture) {
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
this.micCapture.Rebind(micStream);
|
|
805
|
+
this.micStream = micStream;
|
|
806
|
+
this.attachInputAudioMeter(RealtimeAudioMeter.ForMicStream(micStream));
|
|
807
|
+
}
|
|
728
808
|
/**
|
|
729
809
|
* Tears down the socket, mic capture, mic tracks, and playout engine, resets the response
|
|
730
810
|
* state machine, and emits a final `'closed'` (unless already `'error'`). Safe to call
|
|
@@ -745,6 +825,7 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
745
825
|
this.micCapture = null;
|
|
746
826
|
this.playback?.Close();
|
|
747
827
|
this.playback = null;
|
|
828
|
+
this.clearRemoteMediaStream();
|
|
748
829
|
if (this.socket) {
|
|
749
830
|
try {
|
|
750
831
|
this.socket.close();
|
|
@@ -822,6 +903,10 @@ export class OpenAIProtocolWebSocketRealtimeClient extends OpenAIProtocolRealtim
|
|
|
822
903
|
}
|
|
823
904
|
this.sendEvent({ type: 'session.update', session: this.sessionObject });
|
|
824
905
|
}
|
|
906
|
+
/** @inheritdoc — this transport's pact is {@link sessionObject}, applied over the socket. */
|
|
907
|
+
currentSessionInstructions() {
|
|
908
|
+
return OpenAIProtocolRealtimeClient.readInstructions(this.sessionObject);
|
|
909
|
+
}
|
|
825
910
|
/** Streams one base64 PCM16 mic chunk as an `input_audio_buffer.append` frame. */
|
|
826
911
|
sendMicChunk(base64Pcm16) {
|
|
827
912
|
if (this.socket) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAIProtocolClient.js","sourceRoot":"","sources":["../../src/generic/openAIProtocolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAuB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAuL1E,mFAAmF;AAEnF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,4BAA6B,SAAQ,kBAAkB;IAA7E;;QACI,8EAA8E;QAC9E,0EAA0E;QAChE,yBAAoB,GAAG,EAAE,CAAC;QACpC,+FAA+F;QACrF,mBAAc,GAAG,KAAK,CAAC;QACjC,kGAAkG;QACxF,0BAAqB,GAAG,KAAK,CAAC;QACxC;;;;;WAKG;QACO,gCAA2B,GAAG,CAAC,CAAC;QAC1C;;;;;;;;WAQG;QACO,4BAAuB,GAAG,KAAK,CAAC;QAC1C;;;;;;WAMG;QACO,yBAAoB,GAAG,KAAK,CAAC;QACvC;;;;;WAKG;QACO,uBAAkB,GAA2B,QAAQ,CAAC;QAChE;;;;;WAKG;QACO,iBAAY,GAAwB,QAAQ,CAAC;QACvD,4FAA4F;QAClF,cAAS,GAAuB,IAAI,CAAC;IA0gBnD,CAAC;IA5fG,8EAA8E;IAE9E,0DAA0D;IAC1D,IAAc,kBAAkB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACO,qBAAqB,CAAC,YAAoB;QAChD,2EAA2E;IAC/E,CAAC;IAED;;;;;OAKG;IACO,qBAAqB,CAAC,UAAkB;QAC9C,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;OAKG;IACO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,iFAAiF;YACjF,oFAAoF;YACpF,oFAAoF;YACpF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,IAAc,0BAA0B;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+FAA+F;IACrF,qBAAqB;QAC3B,kCAAkC;IACtC,CAAC;IAED,sEAAsE;IAC5D,eAAe,CAAC,MAAiC;QACvD,oDAAoD;IACxD,CAAC;IAED,wEAAwE;IAC9D,cAAc,CAAC,IAAY;QACjC,oDAAoD;IACxD,CAAC;IAED,gEAAgE;IACtD,gBAAgB,CAAC,MAAiC;QACxD,oDAAoD;IACxD,CAAC;IAED,8EAA8E;IAE9E;;;;;;;;;OASG;IACI,QAAQ,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE;SACnF,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACI,oBAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO,CAAC,qCAAqC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,IAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE;SACrF,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,mBAAmB,CAAC,YAAoB;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,4FAA4F,CAAC,CAAC;YACvI,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,MAAc,EAAE,UAAkB;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;SAC9E,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,KAAc;QAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;YACzD,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAE9E;;;OAGG;IACO,qBAAqB,CAAC,GAAW;QACvC,IAAI,KAAgC,CAAC;QACrC,IAAI,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,CAAC,sEAAsE;QAClF,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACzE,WAAW,CAAC,KAAgC;QAClD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,iBAAiB;gBAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,MAAM;YACV,KAAK,wCAAwC,CAAC;YAC9C,KAAK,iCAAiC;gBAClC,IAAI,CAAC,gBAAgB,CAAE,KAAoC,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM;YACV,KAAK,uCAAuC,CAAC;YAC7C,KAAK,gCAAgC;gBACjC,IAAI,CAAC,eAAe,CAAE,KAAmC,CAAC,UAAU,CAAC,CAAC;gBACtE,MAAM;YACV,KAAK,sBAAsB,CAAC;YAC5B,KAAK,6BAA6B;gBAC9B,IAAI,CAAC,YAAY,CAAE,KAA+B,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,uDAAuD;gBACxD,IAAI,CAAC,qBAAqB,CAAE,KAAgD,CAAC,UAAU,CAAC,CAAC;gBACzF,MAAM;YACV,KAAK,uCAAuC;gBACxC,IAAI,CAAC,eAAe,CAAC,KAA6C,CAAC,CAAC;gBACpE,MAAM;YACV,KAAK,mCAAmC;gBACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,MAAM;YACV,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,mCAAmC;gBACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,kFAAkF;gBAClF,mFAAmF;gBACnF,gFAAgF;gBAChF,oEAAoE;gBACpE,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;gBAC5D,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACvC,CAAC;gBACD,6EAA6E;gBAC7E,wFAAwF;gBACxF,IAAI,CAAC,kBAAkB,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjG,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACtC,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,6BAA6B;gBAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,MAAM;YACV,KAAK,6BAA6B,CAAC;YACnC,KAAK,6BAA6B;gBAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,MAAM;YACV,KAAK,eAAe;gBAChB,qFAAqF;gBACrF,uFAAuF;gBACvF,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,iFAAiF;gBACjF,iFAAiF;gBACjF,kFAAkF;gBAClF,mFAAmF;gBACnF,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,iBAAiB,CAAC,KAAgC,CAAC,CAAC;oBACzD,MAAM;gBACV,CAAC;gBACD,6EAA6E;gBAC7E,qEAAqE;gBACrE,uEAAuE;gBACvE,gEAAgE;gBAChE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,KAAgC,CAAC,CAAC;gBACzD,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,YAAY,CAAC,KAA8B,CAAC,CAAC;gBAClD,MAAM;YACV;gBACI,uEAAuE;gBACvE,MAAM;QACd,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,iBAAiB;QACvB,gFAAgF;IACpF,CAAC;IAED,0FAA0F;IAChF,0BAA0B;QAChC,8DAA8D;IAClE,CAAC;IACS,0BAA0B;QAChC,8DAA8D;IAClE,CAAC;IAED,6FAA6F;IACrF,YAAY,CAAC,WAAmB;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,yFAAyF;IACjF,gBAAgB,CAAC,KAAa;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,UAAkB;QACtC,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,IAA0C;QAC9D,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,KAA8B;QACpD,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC;YACX,WAAW,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACpF,YAAY,EAAE,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACvF,GAAG,EAAE,KAAK;SACb,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACK,YAAY,CAAC,KAA4B;QAC7C,IAAI,IAAI,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,iFAAiF;YACjF,0FAA0F;YAC1F,0FAA0F;YAC1F,uFAAuF;YACvF,wFAAwF;YACxF,sFAAsF;YACtF,yFAAyF;YACzF,cAAc;YACd,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,uFAAuF;YACvF,4FAA4F;YAC5F,4FAA4F;YAC5F,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC;YACX,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB;YACzD,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;IACP,CAAC;IAED,8EAA8E;IAE9E;;;;;;OAMG;IACO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,0FAA0F;IAChF,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACvD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAChE,kBAAkB;QACxB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACvC,CAAC;IAED,8EAA8E;IAE9E,4EAA4E;IAClE,QAAQ,CAAC,KAA0B;QACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,uFAAuF;IAC7E,SAAS,CAAC,KAAgC;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ;AAwBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAgB,qCAAsC,SAAQ,4BAA4B;IAAhG;;QACI,0FAA0F;QAChF,WAAM,GAAuC,IAAI,CAAC;QAC5D,2DAA2D;QACjD,aAAQ,GAAgC,IAAI,CAAC;QACvD,mEAAmE;QACzD,eAAU,GAA0B,IAAI,CAAC;QACnD;;;WAGG;QACO,kBAAa,GAAe,EAAE,CAAC;QACzC,qFAAqF;QAC3E,qBAAgB,GAAG,KAAK,CAAC;QACnC,4FAA4F;QAClF,eAAU,GAAG,KAAK,CAAC;QAC7B,8FAA8F;QACtF,2BAAsB,GAAwB,IAAI,CAAC;QAC3D,mFAAmF;QAC3E,uBAAkB,GAAoC,IAAI,CAAC;IA6SvE,CAAC;IAvSG,gGAAgG;IACtF,oBAAoB,CAAC,MAAmC;QAC9D,OAAO,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IACtC,CAAC;IAGD;;;;OAIG;IACH,IAAc,sBAAsB;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,IAAc,gBAAgB;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,+EAA+E;IAE/E;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,MAAmC,EAAE,SAAsB;QAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE5B,IAAI,UAAU,GAAwB,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACzC,UAAU,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB;YACvC,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC1B,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;YAC1C,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QACX,uFAAuF;QACvF,qFAAqF;QACrF,4EAA4E;QAC5E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,yDAAyD;QACzF,MAAM,QAAQ,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,4BAA4B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,EAC3H,IAAI,CAAC,gBAAgB,CACxB,CAAC;QACF,4FAA4F;QAC3F,QAAmC,CAAC,KAAK,EAAE,EAAE,CAAC;QAE/C,kFAAkF;QAClF,0FAA0F;QAC1F,gDAAgD;QAChD,IAAI,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,0DAA0D;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,oFAAoF;YACpF,kFAAkF;YAClF,6EAA6E;YAC7E,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACjB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,UAAU,EAAE,EAAE,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACvC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;gBAClB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,+BAA+B,CAAC,CAAC,CAAC;gBAChG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,CAAC,CAAC;YAEF,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iFAAiF;YACjF,kFAAkF;YAClF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvB,IAAI,CAAC;oBAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,sFAAsF;QACtF,sEAAsE;QACtE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QACtH,uFAAuF;QACvF,qFAAqF;QACrF,oDAAoD;QACpD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,qFAAqF;QACrF,mDAAmD;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,8BAA8B,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACL,qBAAqB;YACzB,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,8EAA8E;IAE9E,yFAAyF;IAC/E,aAAa;QACnB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;IACnD,CAAC;IAED,kBAAkB;IACR,iBAAiB,CAAC,KAAgC;QACxD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,0FAA0F;IAChF,eAAe;QACrB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,mFAAmF;IAChE,qBAAqB,CAAC,WAAmB;QACxD,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACgB,oBAAoB;QACnC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvB,gFAAgF;YAChF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,iGAAiG;IACjG,IAAuB,0BAA0B;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2EAA2E;IACxD,qBAAqB;QACpC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,+EAA+E;IAE/E;;;;;OAKG;IACO,kBAAkB;QACxB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,kFAAkF;IACxE,YAAY,CAAC,WAAmB;QACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,yFAAyF;IAC/E,oBAAoB,CAAC,OAAe;QAC1C,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,kGAAkG;IAClG,IAAc,sBAAsB;QAChC,OAAO,GAAG,IAAI,CAAC,kBAAkB,iCAAiC,CAAC;IACvE,CAAC;IAED,oFAAoF;IAC1E,iBAAiB,CAAC,OAAe;QACvC,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACO,iBAAiB;QACvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC3F,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAE9E;;;;OAIG;IACO,KAAK,CAAC,gBAAgB,CAC5B,SAAsB,EACtB,UAAkB,EAClB,UAAyC;QAEzC,OAAO,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,uGAAuG;IAC7F,cAAc,CAAC,UAAkB;QACvC,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"openAIProtocolClient.js","sourceRoot":"","sources":["../../src/generic/openAIProtocolClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
export * from './generic/baseRealtimeClient.js';
|
|
2
2
|
export * from './generic/openAIProtocolClient.js';
|
|
3
3
|
export * from './audio/pcmUtils.js';
|
|
4
|
-
export * from './audio/audioMeter.js';
|
|
5
4
|
export * from './audio/pcmPlayback.js';
|
|
6
5
|
export * from './audio/micCapture.js';
|
|
7
|
-
export * from './media/
|
|
8
|
-
export * from './media/channelVideoSource.js';
|
|
6
|
+
export * from './media/index.js';
|
|
9
7
|
export * from './drivers/openAIRealtimeClient.js';
|
|
10
8
|
export * from './drivers/geminiRealtimeClient.js';
|
|
9
|
+
export * from './drivers/geminiEnterpriseRealtimeClient.js';
|
|
11
10
|
export * from './drivers/elevenLabsRealtimeClient.js';
|
|
12
11
|
export * from './drivers/assemblyAIRealtimeClient.js';
|
|
13
12
|
export * from './drivers/xaiRealtimeClient.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export * from './generic/baseRealtimeClient.js';
|
|
2
2
|
export * from './generic/openAIProtocolClient.js';
|
|
3
3
|
export * from './audio/pcmUtils.js';
|
|
4
|
-
export * from './audio/audioMeter.js';
|
|
5
4
|
export * from './audio/pcmPlayback.js';
|
|
6
5
|
export * from './audio/micCapture.js';
|
|
7
|
-
|
|
8
|
-
export * from './media/
|
|
6
|
+
// Everything in the driver-free `/media` entry point, including the audio meter.
|
|
7
|
+
export * from './media/index.js';
|
|
9
8
|
export * from './drivers/openAIRealtimeClient.js';
|
|
10
9
|
export * from './drivers/geminiRealtimeClient.js';
|
|
10
|
+
export * from './drivers/geminiEnterpriseRealtimeClient.js';
|
|
11
11
|
export * from './drivers/elevenLabsRealtimeClient.js';
|
|
12
12
|
export * from './drivers/assemblyAIRealtimeClient.js';
|
|
13
13
|
export * from './drivers/xaiRealtimeClient.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,iFAAiF;AACjF,cAAc,eAAe,CAAC;AAC9B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview ATTACH VIDEO SOURCE: shows any {@link MediaVideoSource} in a `<video>` element and hands back
|
|
3
|
+
* a function that takes it out again. UI code calls this instead of a vendor's `track.attach(element)`, so a
|
|
4
|
+
* tile renders a camera, a shared screen, a meeting participant or an avatar the same way.
|
|
5
|
+
*
|
|
6
|
+
* - A **stream** source (a camera, a shared screen, a WebRTC track) plays muted and inline. A video surface
|
|
7
|
+
* never plays audio: the realtime client or the meeting room plays each voice exactly once.
|
|
8
|
+
* - An **element** source (a player that must own the element, such as MSE playout of an avatar's MP4) is
|
|
9
|
+
* handed the element and decides everything, including its audio: an avatar's voice is in its video.
|
|
10
|
+
*
|
|
11
|
+
* Detaching never stops the source's tracks; whoever opened them stops them.
|
|
12
|
+
*
|
|
13
|
+
* @module @memberjunction/ai-realtime-client/media
|
|
14
|
+
*/
|
|
15
|
+
import type { MediaVideoSource } from './model.js';
|
|
16
|
+
/**
|
|
17
|
+
* Shows a video source in a `<video>` element.
|
|
18
|
+
*
|
|
19
|
+
* @returns A function that takes the source out of the element. Calling it twice does nothing, and it leaves
|
|
20
|
+
* the element alone if another source has been attached to it since.
|
|
21
|
+
*/
|
|
22
|
+
export declare function AttachVideoSource(source: MediaVideoSource, element: HTMLVideoElement): () => void;
|
|
23
|
+
//# sourceMappingURL=attachVideoSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachVideoSource.d.ts","sourceRoot":"","sources":["../../src/media/attachVideoSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAiBjG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview ATTACH VIDEO SOURCE: shows any {@link MediaVideoSource} in a `<video>` element and hands back
|
|
3
|
+
* a function that takes it out again. UI code calls this instead of a vendor's `track.attach(element)`, so a
|
|
4
|
+
* tile renders a camera, a shared screen, a meeting participant or an avatar the same way.
|
|
5
|
+
*
|
|
6
|
+
* - A **stream** source (a camera, a shared screen, a WebRTC track) plays muted and inline. A video surface
|
|
7
|
+
* never plays audio: the realtime client or the meeting room plays each voice exactly once.
|
|
8
|
+
* - An **element** source (a player that must own the element, such as MSE playout of an avatar's MP4) is
|
|
9
|
+
* handed the element and decides everything, including its audio: an avatar's voice is in its video.
|
|
10
|
+
*
|
|
11
|
+
* Detaching never stops the source's tracks; whoever opened them stops them.
|
|
12
|
+
*
|
|
13
|
+
* @module @memberjunction/ai-realtime-client/media
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Shows a video source in a `<video>` element.
|
|
17
|
+
*
|
|
18
|
+
* @returns A function that takes the source out of the element. Calling it twice does nothing, and it leaves
|
|
19
|
+
* the element alone if another source has been attached to it since.
|
|
20
|
+
*/
|
|
21
|
+
export function AttachVideoSource(source, element) {
|
|
22
|
+
if (source.Kind === 'element') {
|
|
23
|
+
return once(source.Attach(element));
|
|
24
|
+
}
|
|
25
|
+
element.muted = true;
|
|
26
|
+
element.playsInline = true;
|
|
27
|
+
element.autoplay = true;
|
|
28
|
+
element.srcObject = source.Stream;
|
|
29
|
+
void element.play().catch(() => {
|
|
30
|
+
// Muted inline video may play; if the browser still waits (a hidden element), autoplay starts it later.
|
|
31
|
+
});
|
|
32
|
+
return once(() => {
|
|
33
|
+
if (element.srcObject === source.Stream) {
|
|
34
|
+
element.pause();
|
|
35
|
+
element.srcObject = null;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/** Wraps a function so that only its first call does anything. */
|
|
40
|
+
function once(action) {
|
|
41
|
+
let done = false;
|
|
42
|
+
return () => {
|
|
43
|
+
if (!done) {
|
|
44
|
+
done = true;
|
|
45
|
+
action();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=attachVideoSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachVideoSource.js","sourceRoot":"","sources":["../../src/media/attachVideoSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAwB,EAAE,OAAyB;IACjF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3B,wGAAwG;IAC5G,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kEAAkE;AAClE,SAAS,IAAI,CAAC,MAAkB;IAC5B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,EAAE;QACR,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM,EAAE,CAAC;QACb,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview SHARED CHANNEL INBOUND VIDEO BRIDGE (Phase F5).
|
|
3
3
|
*
|
|
4
|
-
* Single shared implementation used by
|
|
5
|
-
*
|
|
4
|
+
* Single shared implementation used by the Whiteboard, Remote Browser and any other channel that
|
|
5
|
+
* shows the model pixels. It no longer writes to the model directly: it REGISTERS its channel as a
|
|
6
|
+
* source with the session's {@link VideoSourceArbiter} and pushes frames to it, so the arbiter stays
|
|
7
|
+
* the single writer of inbound video and decides which source the model sees when several are live.
|
|
6
8
|
*
|
|
7
9
|
* Enforces:
|
|
8
10
|
* 1. Model capability & track gate: if the session has not established an inbound video track,
|
|
9
11
|
* falls back to tool-only behaviour — NO frames sent and NO errors raised.
|
|
10
|
-
* 2. Cadence
|
|
11
|
-
*
|
|
12
|
+
* 2. Cadence: the poller (when used) runs at the NEGOTIATED inbound rate, read from the client;
|
|
13
|
+
* there is no rate constant here. The arbiter and the driver enforce the same rate as a spacing.
|
|
14
|
+
* 3. Clean teardown on Stop(), which also unregisters the source.
|
|
15
|
+
*
|
|
16
|
+
* An owner that sends frames only when its picture changes learns from {@link ChannelInboundVideoBridge.OnSourceActivated}
|
|
17
|
+
* when the arbiter starts sending its source to the model again, so it can send the picture the model missed.
|
|
12
18
|
*
|
|
13
19
|
* @module @memberjunction/ai-realtime-client
|
|
14
20
|
* @author MemberJunction.com
|
|
15
21
|
*/
|
|
16
|
-
import type
|
|
22
|
+
import { VideoSourceArbiter, type IVideoFrameSink, type VideoSourceKind } from './videoSourceArbiter.js';
|
|
17
23
|
/**
|
|
18
24
|
* Provider implemented by a channel or surface to produce visual frames.
|
|
19
25
|
*/
|
|
@@ -28,13 +34,36 @@ export interface IChannelFrameProvider {
|
|
|
28
34
|
* Options for the inbound channel video bridge.
|
|
29
35
|
*/
|
|
30
36
|
export interface ChannelInboundVideoBridgeOptions {
|
|
31
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Target poll rate in fps for {@link ChannelInboundVideoBridge.Start}.
|
|
39
|
+
*
|
|
40
|
+
* @deprecated The poll follows the rate the inbound video track NEGOTIATED (the model's own
|
|
41
|
+
* ceiling), read from the client. When set, the poll runs at the lower of this and the negotiated
|
|
42
|
+
* rate; it is no longer clamped to a constant 1 fps.
|
|
43
|
+
*/
|
|
32
44
|
Rate?: number;
|
|
33
45
|
/** Output MIME type. Defaults to 'image/jpeg'. */
|
|
34
46
|
MimeType?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The id this source registers under. Defaults to a unique generated id. A channel passes a stable
|
|
49
|
+
* one (`<channel>#<instance>`) so the UI can address the source.
|
|
50
|
+
*/
|
|
51
|
+
SourceID?: string;
|
|
52
|
+
/** Human-readable name used in notes to the model and in the UI's "agent can see" list. Defaults to the source id. */
|
|
53
|
+
Label?: string;
|
|
54
|
+
/** What kind of source this is. Defaults to `'surface'` (a channel surface, not a user capture). */
|
|
55
|
+
Kind?: VideoSourceKind;
|
|
56
|
+
/** The channel this source belongs to, so the UI can map it to the user's persisted per-channel choice. */
|
|
57
|
+
ChannelKey?: string;
|
|
58
|
+
/**
|
|
59
|
+
* The arbiter to register with. Defaults to the one for the session's client
|
|
60
|
+
* ({@link VideoSourceArbiter.ForSink}), which is what makes it a single writer. Override for tests.
|
|
61
|
+
*/
|
|
62
|
+
Arbiter?: VideoSourceArbiter;
|
|
35
63
|
}
|
|
36
64
|
/**
|
|
37
|
-
* Shared bridge connecting a visual channel surface to the session's inbound video track
|
|
65
|
+
* Shared bridge connecting a visual channel surface to the session's inbound video track, by way of
|
|
66
|
+
* the session's {@link VideoSourceArbiter}.
|
|
38
67
|
*/
|
|
39
68
|
export declare class ChannelInboundVideoBridge {
|
|
40
69
|
private readonly clientOrGetter;
|
|
@@ -43,8 +72,63 @@ export declare class ChannelInboundVideoBridge {
|
|
|
43
72
|
private timer;
|
|
44
73
|
private active;
|
|
45
74
|
private frameErrorLogged;
|
|
46
|
-
|
|
75
|
+
private readonly sourceId;
|
|
76
|
+
/** The arbiter this bridge is currently registered with; `null` when it is not registered. */
|
|
77
|
+
private registeredWith;
|
|
78
|
+
/** Whether the owner switched this source off (exposure policy or the user). Survives re-registration. */
|
|
79
|
+
private sourceEnabled;
|
|
80
|
+
/** The owner's handlers for {@link OnSourceActivated}. They survive re-registration. */
|
|
81
|
+
private readonly activatedHandlers;
|
|
82
|
+
/** Stops following the arbiter's changes; `null` while not following (not registered, or no handler). */
|
|
83
|
+
private stopFollowingArbiter;
|
|
84
|
+
/** Whether the arbiter was sending this source to the model as of its last change. */
|
|
85
|
+
private forwarded;
|
|
86
|
+
/**
|
|
87
|
+
* @param clientOrGetter The session's client, or a getter for it (a reconnect replaces the client). Any
|
|
88
|
+
* {@link IVideoFrameSink} works; a `BaseRealtimeClient` is one.
|
|
89
|
+
* @param provider Produces the frames.
|
|
90
|
+
* @param options Source identity, MIME type and the deprecated rate cap.
|
|
91
|
+
*/
|
|
92
|
+
constructor(clientOrGetter: IVideoFrameSink | (() => IVideoFrameSink | null | undefined) | null | undefined, provider: IChannelFrameProvider, options?: ChannelInboundVideoBridgeOptions);
|
|
47
93
|
private get client();
|
|
94
|
+
/** The id this bridge's source is registered under. */
|
|
95
|
+
get SourceID(): string;
|
|
96
|
+
/** The arbiter for the current client, or `null` when there is no client yet. */
|
|
97
|
+
private resolveArbiter;
|
|
98
|
+
/**
|
|
99
|
+
* Registers this bridge's source with the session's arbiter (idempotent). A new session means a new
|
|
100
|
+
* client and so a new arbiter: the source is re-registered there and removed from the old one, so a
|
|
101
|
+
* reconnect never leaves a ghost source behind.
|
|
102
|
+
*
|
|
103
|
+
* @returns The arbiter, or `null` when there is no client to register with.
|
|
104
|
+
*/
|
|
105
|
+
private ensureRegistered;
|
|
106
|
+
/**
|
|
107
|
+
* Calls `handler` each time the arbiter starts sending this source to the model after it was not: another source
|
|
108
|
+
* that held the model's only stream stopped or was set aside, or this source was switched back on. The source's
|
|
109
|
+
* first registration does not count. A frame offered while the source was not sent never reached the model, so an
|
|
110
|
+
* owner that sends frames only when its picture changes sends its current picture here.
|
|
111
|
+
*
|
|
112
|
+
* The handler is kept across a re-registration (a reconnect's new client) and called until removed.
|
|
113
|
+
*
|
|
114
|
+
* @param handler Called synchronously from the arbiter's change event; it should not throw.
|
|
115
|
+
* @returns A function that removes the handler.
|
|
116
|
+
*/
|
|
117
|
+
OnSourceActivated(handler: () => void): () => void;
|
|
118
|
+
/** Starts following the arbiter this source is registered with, when an owner asked to hear of activations. */
|
|
119
|
+
private followArbiter;
|
|
120
|
+
/** Stops following the arbiter's changes. */
|
|
121
|
+
private unfollowArbiter;
|
|
122
|
+
/** Calls each activation handler, containing a handler that throws. */
|
|
123
|
+
private notifyActivated;
|
|
124
|
+
/**
|
|
125
|
+
* Registers this bridge's source with the session's arbiter now, without starting any poll — so the
|
|
126
|
+
* source is LISTED (and can be switched on or off) before it has pushed a frame. A source that is
|
|
127
|
+
* switched off never pushes one, so without this it could never be switched back on.
|
|
128
|
+
*
|
|
129
|
+
* @returns `true` if registered; `false` when there is no client or no inbound video track (nothing to register with).
|
|
130
|
+
*/
|
|
131
|
+
Register(): boolean;
|
|
48
132
|
/**
|
|
49
133
|
* Starts the periodic frame pump if the session has an established inbound video track.
|
|
50
134
|
*
|
|
@@ -52,21 +136,32 @@ export declare class ChannelInboundVideoBridge {
|
|
|
52
136
|
* inbound video (or track was not established), falling back to tool-only behaviour.
|
|
53
137
|
*/
|
|
54
138
|
Start(): boolean;
|
|
139
|
+
/** The poll interval: the negotiated rate, capped by the (deprecated) `Rate` option when one was given. */
|
|
140
|
+
private pollIntervalMs;
|
|
55
141
|
/**
|
|
56
|
-
*
|
|
57
|
-
* and the
|
|
142
|
+
* Offers a frame to the arbiter, which forwards it only if this source is among those the model
|
|
143
|
+
* should see (and enabled, and inside the negotiated pacing interval).
|
|
58
144
|
*
|
|
59
|
-
* @returns `true` if dispatched to the
|
|
145
|
+
* @returns `true` if dispatched to the model; `false` otherwise.
|
|
60
146
|
*/
|
|
61
147
|
private sendFrameDirect;
|
|
62
148
|
/**
|
|
63
149
|
* Pushes an event-driven frame (e.g. screencast push from RemoteBrowser or stroke completion).
|
|
64
|
-
*
|
|
150
|
+
* Registers the source on first use, so a purely event-driven channel never needs {@link Start}.
|
|
65
151
|
*
|
|
66
152
|
* @param base64Jpeg The base64-encoded image frame.
|
|
67
|
-
* @returns `true` if the frame was sent; `false` if dropped (throttled,
|
|
153
|
+
* @returns `true` if the frame was sent; `false` if dropped (throttled, not the source the model is
|
|
154
|
+
* viewing, turned off, track unestablished, or driver lacks video support).
|
|
68
155
|
*/
|
|
69
156
|
PushFrame(base64Jpeg: string): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Turns this source on or off at the arbiter (a no-op before the first registration other than
|
|
159
|
+
* remembering the choice). A disabled source is not a candidate and forwards nothing.
|
|
160
|
+
*
|
|
161
|
+
* @param enabled Whether the model may see this source.
|
|
162
|
+
* @param notify Whether the arbiter tells the model. Pass `false` when the caller sends its own note.
|
|
163
|
+
*/
|
|
164
|
+
SetSourceEnabled(enabled: boolean, notify?: boolean): void;
|
|
70
165
|
/**
|
|
71
166
|
* Periodic poll tick that fetches the latest frame from the provider and pushes it.
|
|
72
167
|
* Uses `sendFrameDirect` so periodic polling paced by `setInterval` does not fight
|
|
@@ -74,7 +169,8 @@ export declare class ChannelInboundVideoBridge {
|
|
|
74
169
|
*/
|
|
75
170
|
private pumpFrame;
|
|
76
171
|
/**
|
|
77
|
-
* Stops the bridge and
|
|
172
|
+
* Stops the bridge: clears the poll timer and removes this source from the arbiter. Activation handlers stay, and
|
|
173
|
+
* are called again if the source registers again.
|
|
78
174
|
*/
|
|
79
175
|
Stop(): void;
|
|
80
176
|
/** Whether the video bridge is currently actively pumping frames. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelVideoSource.d.ts","sourceRoot":"","sources":["../../src/media/channelVideoSource.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"channelVideoSource.d.ts","sourceRoot":"","sources":["../../src/media/channelVideoSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtG;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC7C;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sHAAsH;IACtH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAKD;;;GAGG;AACH,qBAAa,yBAAyB;IAuB9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxB5B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,8FAA8F;IAC9F,OAAO,CAAC,cAAc,CAAmC;IACzD,0GAA0G;IAC1G,OAAO,CAAC,aAAa,CAAQ;IAC7B,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,yGAAyG;IACzG,OAAO,CAAC,oBAAoB,CAA6B;IACzD,sFAAsF;IACtF,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;OAKG;gBAEkB,cAAc,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/F,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,gCAAqC;IAKnE,OAAO,KAAK,MAAM,GAEjB;IAED,uDAAuD;IACvD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,iFAAiF;IACjF,OAAO,CAAC,cAAc;IAQtB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;;;;;;OAUG;IACI,iBAAiB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAWzD,+GAA+G;IAC/G,OAAO,CAAC,aAAa;IAgBrB,6CAA6C;IAC7C,OAAO,CAAC,eAAe;IAMvB,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACI,QAAQ,IAAI,OAAO;IAQ1B;;;;;OAKG;IACI,KAAK,IAAI,OAAO;IAiBvB,2GAA2G;IAC3G,OAAO,CAAC,cAAc;IAUtB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;;OAOG;IACI,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;;;OAMG;IACI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAO,GAAG,IAAI;IAK9D;;;;OAIG;YACW,SAAS;IAkBvB;;;OAGG;IACI,IAAI,IAAI,IAAI;IAYnB,qEAAqE;IACrE,IAAW,QAAQ,IAAI,OAAO,CAE7B;CACJ"}
|