@memberjunction/ai-agents 6.2.0-edge.3 → 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 +6 -0
- package/dist/AgentRunner.d.ts +49 -2
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +114 -21
- package/dist/AgentRunner.js.map +1 -1
- package/dist/ConversationCompactionManager.d.ts +2 -0
- package/dist/ConversationCompactionManager.d.ts.map +1 -1
- package/dist/ConversationCompactionManager.js +2 -2
- package/dist/ConversationCompactionManager.js.map +1 -1
- package/dist/ConversationToolManager.d.ts +13 -2
- package/dist/ConversationToolManager.d.ts.map +1 -1
- package/dist/ConversationToolManager.js +19 -3
- package/dist/ConversationToolManager.js.map +1 -1
- package/dist/KnowledgeAgent.d.ts.map +1 -1
- package/dist/KnowledgeAgent.js +6 -1
- package/dist/KnowledgeAgent.js.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.d.ts +6 -0
- package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.js +26 -1
- package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
- package/dist/agent-run-watchdog.d.ts +65 -5
- package/dist/agent-run-watchdog.d.ts.map +1 -1
- package/dist/agent-run-watchdog.js +143 -28
- package/dist/agent-run-watchdog.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +7 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +1 -0
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/artifact-tools/SearchResultSetToolLibrary.js +4 -4
- package/dist/artifact-tools/SearchResultSetToolLibrary.js.map +1 -1
- package/dist/base-agent.d.ts +275 -18
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +761 -216
- package/dist/base-agent.js.map +1 -1
- package/dist/client-tool-results.d.ts +45 -0
- package/dist/client-tool-results.d.ts.map +1 -0
- package/dist/client-tool-results.js +94 -0
- package/dist/client-tool-results.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/prior-turn-tool-result-cache.d.ts +31 -12
- package/dist/prior-turn-tool-result-cache.d.ts.map +1 -1
- package/dist/prior-turn-tool-result-cache.js +59 -16
- package/dist/prior-turn-tool-result-cache.js.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.d.ts +44 -2
- package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.js +68 -20
- package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
- package/dist/realtime/bridge-realtime-usage-recorder.d.ts +81 -0
- package/dist/realtime/bridge-realtime-usage-recorder.d.ts.map +1 -0
- package/dist/realtime/bridge-realtime-usage-recorder.js +194 -0
- package/dist/realtime/bridge-realtime-usage-recorder.js.map +1 -0
- package/dist/realtime/client-only-channel-server.d.ts +83 -0
- package/dist/realtime/client-only-channel-server.d.ts.map +1 -0
- package/dist/realtime/client-only-channel-server.js +107 -0
- package/dist/realtime/client-only-channel-server.js.map +1 -0
- package/dist/realtime/identity-verification-channel-server.d.ts +50 -0
- package/dist/realtime/identity-verification-channel-server.d.ts.map +1 -0
- package/dist/realtime/identity-verification-channel-server.js +66 -0
- package/dist/realtime/identity-verification-channel-server.js.map +1 -0
- package/dist/realtime/interactive-component-channel-server.d.ts +39 -0
- package/dist/realtime/interactive-component-channel-server.d.ts.map +1 -0
- package/dist/realtime/interactive-component-channel-server.js +55 -0
- package/dist/realtime/interactive-component-channel-server.js.map +1 -0
- package/dist/realtime/realtime-avatar-resolution.d.ts +194 -0
- package/dist/realtime/realtime-avatar-resolution.d.ts.map +1 -0
- package/dist/realtime/realtime-avatar-resolution.js +208 -0
- package/dist/realtime/realtime-avatar-resolution.js.map +1 -0
- package/dist/realtime/realtime-channel-policy.d.ts +81 -0
- package/dist/realtime/realtime-channel-policy.d.ts.map +1 -0
- package/dist/realtime/realtime-channel-policy.js +91 -0
- package/dist/realtime/realtime-channel-policy.js.map +1 -0
- package/dist/realtime/realtime-channel-server-host.d.ts +14 -0
- package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -1
- package/dist/realtime/realtime-channel-server-host.js +35 -0
- package/dist/realtime/realtime-channel-server-host.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +430 -30
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +766 -111
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +94 -15
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +109 -4
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-recording-store.d.ts +136 -16
- package/dist/realtime/realtime-recording-store.d.ts.map +1 -1
- package/dist/realtime/realtime-recording-store.js +505 -39
- package/dist/realtime/realtime-recording-store.js.map +1 -1
- package/dist/realtime/realtime-session-runner.js +4 -4
- package/dist/realtime/realtime-session-runner.js.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.d.ts +9 -0
- package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.js +16 -5
- package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
- package/dist/realtime/realtime-video-output-gate.d.ts +83 -0
- package/dist/realtime/realtime-video-output-gate.d.ts.map +1 -0
- package/dist/realtime/realtime-video-output-gate.js +79 -0
- package/dist/realtime/realtime-video-output-gate.js.map +1 -0
- package/dist/tool-result-format.d.ts +14 -0
- package/dist/tool-result-format.d.ts.map +1 -1
- package/dist/tool-result-format.js.map +1 -1
- package/package.json +19 -19
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
* @module @memberjunction/ai-agents
|
|
42
42
|
* @author MemberJunction.com
|
|
43
43
|
*/
|
|
44
|
+
import { AccumulateRealtimeChannelsConfig, } from '@memberjunction/ai-core-plus';
|
|
44
45
|
/**
|
|
45
46
|
* The MJ Authorization name that gates RUNTIME overrides on realtime session start:
|
|
46
47
|
* `configOverridesJson` and explicit realtime-model selection that deviates from the
|
|
@@ -217,6 +218,10 @@ export function ParseRealtimeTypeConfiguration(json) {
|
|
|
217
218
|
* (Sage, Marketing Agent, …) carry its own persisted voice/model that the shared co-agent then speaks with;
|
|
218
219
|
* it wins over the co-agent's defaults but yields to an explicit per-session runtime override.
|
|
219
220
|
*
|
|
221
|
+
* One key is the agents' alone: the runtime override can't turn `realtime.video.enabled` on (it can turn it off), so a
|
|
222
|
+
* picked avatar (`realtime.video.avatarId`) shows only when the layers below it already have video on. A picked
|
|
223
|
+
* avatar's billed video is the agent's call, not the caller's.
|
|
224
|
+
*
|
|
220
225
|
* @param typeDefaultJson The agent TYPE's `DefaultConfiguration` JSON (base layer).
|
|
221
226
|
* @param agentJson The CO-AGENT's `TypeConfiguration` JSON (shared per-co-agent layer).
|
|
222
227
|
* @param overridesJson Runtime overrides JSON (per-session layer; already authorization-gated by the caller).
|
|
@@ -236,7 +241,7 @@ export function ResolveEffectiveRealtimeConfig(typeDefaultJson, agentJson, overr
|
|
|
236
241
|
const agentLayer = ParseRealtimeTypeConfiguration(agentJson);
|
|
237
242
|
const targetLayer = ParseRealtimeTypeConfiguration(targetAgentJson);
|
|
238
243
|
const appLayer = ParseRealtimeTypeConfiguration(appSettingsJson);
|
|
239
|
-
const overrideLayer = ParseRealtimeTypeConfiguration(overridesJson);
|
|
244
|
+
const overrideLayer = withoutVideoTurnedOn(ParseRealtimeTypeConfiguration(overridesJson));
|
|
240
245
|
// Scalar fields: merge order = precedence (later wins):
|
|
241
246
|
// type-default < co-agent < target < app < runtime-override.
|
|
242
247
|
const merged = DeepMergeConfigs(typeLayer, agentLayer, targetLayer, appLayer, overrideLayer);
|
|
@@ -248,8 +253,33 @@ export function ResolveEffectiveRealtimeConfig(typeDefaultJson, agentJson, overr
|
|
|
248
253
|
config.realtime = config.realtime ?? {};
|
|
249
254
|
config.realtime.allowedAgents = allowed;
|
|
250
255
|
}
|
|
256
|
+
// channels: accumulated per channel across all layers for the same reason — each layer's
|
|
257
|
+
// include/exclude is a decision about individual channels, not a replaceable list.
|
|
258
|
+
const channels = AccumulateRealtimeChannelsConfig([typeLayer, agentLayer, targetLayer, appLayer, overrideLayer].map(layer => realtimeSectionOf(layer)?.['channels']));
|
|
259
|
+
if (channels) {
|
|
260
|
+
config.realtime = config.realtime ?? {};
|
|
261
|
+
config.realtime.channels = channels;
|
|
262
|
+
}
|
|
251
263
|
return config;
|
|
252
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* A runtime-override layer without a `realtime.video.enabled: true`, which only the layers below it may set (see
|
|
267
|
+
* {@link ResolveEffectiveRealtimeConfig}). The layer is copied, never changed; any other value of the key stays.
|
|
268
|
+
*/
|
|
269
|
+
function withoutVideoTurnedOn(layer) {
|
|
270
|
+
const realtime = realtimeSectionOf(layer);
|
|
271
|
+
const video = realtime?.['video'];
|
|
272
|
+
if (!layer || !realtime || !isPlainObject(video) || video['enabled'] !== true) {
|
|
273
|
+
return layer;
|
|
274
|
+
}
|
|
275
|
+
const { enabled: _ignored, ...rest } = video;
|
|
276
|
+
return { ...layer, realtime: { ...realtime, video: rest } };
|
|
277
|
+
}
|
|
278
|
+
/** The raw `realtime` section of a parsed layer, or `undefined` when the layer has none. */
|
|
279
|
+
function realtimeSectionOf(layer) {
|
|
280
|
+
const section = layer?.['realtime'];
|
|
281
|
+
return isPlainObject(section) ? section : undefined;
|
|
282
|
+
}
|
|
253
283
|
/**
|
|
254
284
|
* What each {@link RealtimeConfigSection} key ACCEPTS — the single source of truth behind
|
|
255
285
|
* {@link FindIgnoredRealtimeConfigKeys} for both "is this key known?" and "will this value
|
|
@@ -273,6 +303,7 @@ const REALTIME_SECTION_KEY_ACCEPTS = {
|
|
|
273
303
|
turnTaking: isPlainObject,
|
|
274
304
|
disclosure: (v) => v === 'silent' || v === 'mention' || v === 'hand-voice',
|
|
275
305
|
allowedAgents: (v) => Array.isArray(v),
|
|
306
|
+
channels: isPlainObject,
|
|
276
307
|
session: isPlainObject,
|
|
277
308
|
directActions: isPlainObject,
|
|
278
309
|
allowDirectActionInvocation: (v) => typeof v === 'boolean',
|
|
@@ -462,8 +493,31 @@ export function BuildAppRealtimeOverridesJson(appRealtime, relevantAgents) {
|
|
|
462
493
|
if (relevantAgents && relevantAgents.length > 0) {
|
|
463
494
|
realtime.allowedAgents = relevantAgents;
|
|
464
495
|
}
|
|
496
|
+
const channels = mapAppChannels(appRealtime?.Channels);
|
|
497
|
+
if (channels) {
|
|
498
|
+
realtime.channels = channels;
|
|
499
|
+
}
|
|
465
500
|
return Object.keys(realtime).length > 0 ? JSON.stringify({ realtime }) : null;
|
|
466
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Maps the app's PascalCase `AgentSettings.Realtime.Channels` block onto the cascade's lower-case
|
|
504
|
+
* `channels` section. Wrong-typed members are dropped (the shared normalizer does the checking), and
|
|
505
|
+
* a block that contributes nothing yields `undefined` so the cascade is not given an empty section.
|
|
506
|
+
*/
|
|
507
|
+
function mapAppChannels(channels) {
|
|
508
|
+
if (!channels) {
|
|
509
|
+
return undefined;
|
|
510
|
+
}
|
|
511
|
+
return AccumulateRealtimeChannelsConfig([
|
|
512
|
+
{
|
|
513
|
+
include: channels.Include ?? undefined,
|
|
514
|
+
exclude: channels.Exclude ?? undefined,
|
|
515
|
+
config: channels.Config ?? undefined,
|
|
516
|
+
displayPolicy: channels.DisplayPolicy ?? undefined,
|
|
517
|
+
requireZeroDataRetentionFor: channels.RequireZeroDataRetentionFor ?? undefined,
|
|
518
|
+
},
|
|
519
|
+
]);
|
|
520
|
+
}
|
|
467
521
|
/** Normalizes a merged raw config object into the typed, sanity-checked shape. */
|
|
468
522
|
function normalizeConfig(merged) {
|
|
469
523
|
const rawRealtime = merged['realtime'];
|
|
@@ -580,8 +634,20 @@ function normalizeSession(raw) {
|
|
|
580
634
|
if (turnDetection) {
|
|
581
635
|
tuning.turnDetection = turnDetection;
|
|
582
636
|
}
|
|
637
|
+
const unverifiedMaxSeconds = readPositiveInteger(raw['unverifiedMaxSeconds']);
|
|
638
|
+
if (unverifiedMaxSeconds !== undefined) {
|
|
639
|
+
tuning.unverifiedMaxSeconds = unverifiedMaxSeconds;
|
|
640
|
+
}
|
|
641
|
+
const verifiedMaxSeconds = readPositiveInteger(raw['verifiedMaxSeconds']);
|
|
642
|
+
if (verifiedMaxSeconds !== undefined) {
|
|
643
|
+
tuning.verifiedMaxSeconds = verifiedMaxSeconds;
|
|
644
|
+
}
|
|
583
645
|
return Object.keys(tuning).length > 0 ? tuning : undefined;
|
|
584
646
|
}
|
|
647
|
+
/** A finite, positive, whole number — or `undefined` for anything else (a limit of 0, -5 or 1.5 is a typo, not a limit). */
|
|
648
|
+
function readPositiveInteger(value) {
|
|
649
|
+
return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : undefined;
|
|
650
|
+
}
|
|
585
651
|
/**
|
|
586
652
|
* Normalizes the `session.turnDetection` block — only the recognized, correctly-typed knobs of the
|
|
587
653
|
* MJ-normalized turn-detection vocabulary survive. Returns `undefined` when nothing valid is
|
|
@@ -705,6 +771,9 @@ function normalizeVideo(raw) {
|
|
|
705
771
|
if (typeof raw['avatarId'] === 'string' && raw['avatarId'].trim().length > 0) {
|
|
706
772
|
video.avatarId = raw['avatarId'].trim();
|
|
707
773
|
}
|
|
774
|
+
if (typeof raw['watchMeetings'] === 'boolean') {
|
|
775
|
+
video.watchMeetings = raw['watchMeetings'];
|
|
776
|
+
}
|
|
708
777
|
const rawProviders = raw['providers'];
|
|
709
778
|
if (isPlainObject(rawProviders)) {
|
|
710
779
|
const providers = {};
|
|
@@ -943,21 +1012,27 @@ export function BuildVoiceMannerSection(config) {
|
|
|
943
1012
|
* two are kept in lockstep by `realtime-convergence-drift.test.ts`); the
|
|
944
1013
|
* server-bridged hosts (LiveKit, Zoom/Teams) build it here so both funnel into the one override slot.
|
|
945
1014
|
*
|
|
946
|
-
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"default":{"voice":"<v>"}}}}`.
|
|
1015
|
+
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"default":{"voice":"<v>"}},"video":{"avatarId":"<a>"}}}`.
|
|
947
1016
|
*
|
|
948
1017
|
* The voice is filed PROVIDER-AGNOSTICALLY, which is what lets a host carry a voice at all: the vendor
|
|
949
1018
|
* is not known here (and on the default-model path is not known to the caller at any point before the
|
|
950
1019
|
* session is prepared), so naming one would be a guess. {@link GetProviderVoiceSettings} files this onto
|
|
951
1020
|
* whichever driver the framework resolves. See issue #3530.
|
|
952
1021
|
*
|
|
1022
|
+
* A picked avatar leaves video to the agent: it shows only when the voiced agent's own video setting is on (a runtime
|
|
1023
|
+
* override can't turn it on), and only when it names a Video binding on the resolved vendor. With the setting off the
|
|
1024
|
+
* call says why (reason `video-off`).
|
|
1025
|
+
*
|
|
953
1026
|
* @param modelId The `MJ: AI Models` Name or ID to prefer, or null/empty for none.
|
|
954
1027
|
* @param voice The provider-native voice id (e.g. `echo`), or null/empty for none.
|
|
1028
|
+
* @param avatarId The avatar to ask for (a Video binding's `APIName`), or null/empty for none.
|
|
955
1029
|
* @returns The JSON string, or `null` when nothing was overridden (keeps the cascade at its lower layers).
|
|
956
1030
|
*/
|
|
957
|
-
export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
1031
|
+
export function BuildRealtimeOverridesJson(modelId, voice, avatarId) {
|
|
958
1032
|
const m = modelId?.trim() ?? '';
|
|
959
1033
|
const v = voice?.trim() ?? '';
|
|
960
|
-
|
|
1034
|
+
const a = avatarId?.trim() ?? '';
|
|
1035
|
+
if (m.length === 0 && v.length === 0 && a.length === 0) {
|
|
961
1036
|
return null;
|
|
962
1037
|
}
|
|
963
1038
|
const realtime = {};
|
|
@@ -967,6 +1042,9 @@ export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
|
967
1042
|
if (v.length > 0) {
|
|
968
1043
|
realtime.voice = { default: { voice: v } };
|
|
969
1044
|
}
|
|
1045
|
+
if (a.length > 0) {
|
|
1046
|
+
realtime.video = { avatarId: a };
|
|
1047
|
+
}
|
|
970
1048
|
return JSON.stringify({ realtime });
|
|
971
1049
|
}
|
|
972
1050
|
/**
|
|
@@ -979,6 +1057,33 @@ export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
|
979
1057
|
export function GetNarrationPaceMs(config) {
|
|
980
1058
|
return config?.realtime?.narration?.paceMs ?? null;
|
|
981
1059
|
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Whether the effective configuration says the agent watches LiveKit meetings (`realtime.video.watchMeetings`). Only
|
|
1062
|
+
* an explicit `true` counts; normalization already dropped any non-boolean value.
|
|
1063
|
+
*
|
|
1064
|
+
* @param config The effective configuration.
|
|
1065
|
+
* @returns `true` only when the setting is on.
|
|
1066
|
+
*/
|
|
1067
|
+
export function GetWatchesMeetingVideo(config) {
|
|
1068
|
+
return config?.realtime?.video?.watchMeetings === true;
|
|
1069
|
+
}
|
|
1070
|
+
/** The deprecated `realtime.video` keys, which still parse but which nothing reads. */
|
|
1071
|
+
const DEPRECATED_VIDEO_KEYS = ['provider', 'providers'];
|
|
1072
|
+
/**
|
|
1073
|
+
* The deprecated `realtime.video` keys a resolved configuration sets ({@link RealtimeVideoConfig.provider},
|
|
1074
|
+
* {@link RealtimeVideoConfig.providers}), as dotted paths, so a host can say they do nothing. The module stays pure:
|
|
1075
|
+
* it reports them as data and the caller logs.
|
|
1076
|
+
*
|
|
1077
|
+
* @param config The normalized effective configuration.
|
|
1078
|
+
* @returns The paths set, such as `realtime.video.provider`; empty when it sets neither.
|
|
1079
|
+
*/
|
|
1080
|
+
export function FindDeprecatedRealtimeVideoKeys(config) {
|
|
1081
|
+
const video = config?.realtime?.video;
|
|
1082
|
+
if (!video) {
|
|
1083
|
+
return [];
|
|
1084
|
+
}
|
|
1085
|
+
return DEPRECATED_VIDEO_KEYS.filter((key) => video[key] !== undefined).map((key) => `realtime.video.${key}`);
|
|
1086
|
+
}
|
|
982
1087
|
/**
|
|
983
1088
|
* PURE authorization-policy decision for runtime overrides on a realtime session start.
|
|
984
1089
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Shared MJStorage finalize for realtime session recordings — the single code path both
|
|
3
|
-
* the **server-bridged** capture (`BaseAgent.finalizeRealtimeRecording`) and the **client-direct**
|
|
4
|
-
* browser upload (`RealtimeClientSessionResolver.UploadRealtimeRecording`) use to: resolve the agent's
|
|
5
|
-
* recording storage account, upload the audio, link it to the `AIAgentSession`, and stamp the session's
|
|
6
|
-
* recording fields. Keeps the storage policy in one place rather than duplicated per topology.
|
|
7
|
-
*
|
|
8
|
-
* @module @memberjunction/ai-agents
|
|
9
|
-
*/
|
|
10
1
|
import { IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
11
2
|
import { MJAIAgentEntity } from '@memberjunction/core-entities';
|
|
12
3
|
import { RealtimeRecordingMedia } from './realtime-recording-capture.js';
|
|
@@ -44,6 +35,20 @@ export interface StoreRealtimeRecordingInput {
|
|
|
44
35
|
* waveform without re-decoding the audio. Best-effort — a sidecar failure never fails the recording.
|
|
45
36
|
*/
|
|
46
37
|
Peaks?: number[];
|
|
38
|
+
/** Name of the uploaded file. Defaults to `recording.<ext>`. */
|
|
39
|
+
FileName?: string;
|
|
40
|
+
/** Description stored on the `MJ: Files` row (e.g. how a recovered recording was assembled). */
|
|
41
|
+
Description?: string;
|
|
42
|
+
/**
|
|
43
|
+
* When true, the order becomes re-check -> stamp -> link: the session is re-read immediately before
|
|
44
|
+
* the stamp and, if it already has a `RecordingFileID`, that recording is left alone (nothing is
|
|
45
|
+
* linked or stamped; the result is `Superseded`). The link is written only after the stamp saved, so
|
|
46
|
+
* a superseded or failed store never leaves a link row. Best effort, not a guarantee: without a
|
|
47
|
+
* compare-and-set, a recording stamped inside the one load -> save window is still overwritten.
|
|
48
|
+
* Recovery sets this. Left false (the default) for the end-of-call upload, which links and then
|
|
49
|
+
* stamps unconditionally.
|
|
50
|
+
*/
|
|
51
|
+
PreserveExistingRecording?: boolean;
|
|
47
52
|
}
|
|
48
53
|
/**
|
|
49
54
|
* Reads a stored recording's bytes back through **authenticated** MJStorage (server-side `GetObject` on
|
|
@@ -73,12 +78,13 @@ export interface WriteRecordingSegmentInput {
|
|
|
73
78
|
ContextUser: UserInfo;
|
|
74
79
|
}
|
|
75
80
|
/**
|
|
76
|
-
* Writes ONE crash-recovery segment shard (`seg-NNNN.<ext>`) into the session's folder as a RAW
|
|
81
|
+
* Writes ONE crash-recovery segment shard (`seg-NNNN[.r<rate>].<ext>`) into the session's folder as a RAW
|
|
77
82
|
* storage object — no `MJ: Files` row, no session stamping. Shards are durability insurance during a
|
|
78
83
|
* live call (so a browser/tab death loses at most the last window); they are byte-slices of one
|
|
79
84
|
* continuous stream (only the first carries the container header), so they are NOT individually
|
|
80
|
-
* playable — recovery
|
|
81
|
-
* canonical consolidated file lands
|
|
85
|
+
* playable — recovery (see {@link RecoverRealtimeRecordingFromSegments}) concatenates them in index order,
|
|
86
|
+
* filling absent indexes with silence. They are deleted once the canonical consolidated file lands
|
|
87
|
+
* ({@link DeleteRealtimeRecordingSegments}), or by the recovery path once it has stamped its own file. Never throws.
|
|
82
88
|
*
|
|
83
89
|
* @returns `true` on success.
|
|
84
90
|
*/
|
|
@@ -97,8 +103,10 @@ export declare function WriteRecordingPeaksSidecar(sessionID: string, storageAcc
|
|
|
97
103
|
/** @deprecated Use {@link WriteRecordingPeaksSidecar}. */
|
|
98
104
|
export declare function writeRecordingPeaksSidecar(sessionID: string, storageAccountID: string, peaks: number[] | undefined, contextUser: UserInfo): Promise<boolean>;
|
|
99
105
|
/**
|
|
100
|
-
* Deletes
|
|
101
|
-
* after {@link
|
|
106
|
+
* Deletes every `seg-*` shard in a session's folder, leaving the consolidated `recording.*` file. Called
|
|
107
|
+
* after {@link StoreRealtimeRecording} writes the canonical file at end of call. The recovery path
|
|
108
|
+
* ({@link RecoverRealtimeRecordingFromSegments}) does not use this: it deletes only the shards it listed
|
|
109
|
+
* and assembled, so a shard written after its listing is not lost. Never throws.
|
|
102
110
|
*
|
|
103
111
|
* @returns The number of shards deleted.
|
|
104
112
|
*/
|
|
@@ -107,10 +115,20 @@ export declare function DeleteRealtimeRecordingSegments(sessionID: string, stora
|
|
|
107
115
|
export declare function deleteRealtimeRecordingSegments(sessionID: string, storageAccountID: string, contextUser: UserInfo): Promise<number>;
|
|
108
116
|
/** Outcome of {@link storeRealtimeRecording}. */
|
|
109
117
|
export interface StoreRealtimeRecordingResult {
|
|
110
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* The uploaded `MJ: Files` id; null when the upload itself failed. With `PreserveExistingRecording`
|
|
120
|
+
* it is also set alongside an `ErrorMessage` when the file was uploaded but the session could not be
|
|
121
|
+
* re-read or stamped: that file is an orphan, neither linked nor stamped.
|
|
122
|
+
*/
|
|
111
123
|
readonly FileID: string | null;
|
|
112
|
-
/** Why it failed, verbatim from the layer that knew. Null on success
|
|
124
|
+
/** Why it failed, verbatim from the layer that knew. Null on success and on `Superseded`. */
|
|
113
125
|
readonly ErrorMessage: string | null;
|
|
126
|
+
/**
|
|
127
|
+
* True only when `PreserveExistingRecording` was set and the re-check right before the stamp found
|
|
128
|
+
* the session already had a recording: the file was uploaded but deliberately not linked or stamped,
|
|
129
|
+
* so it is an orphan. False on every other path.
|
|
130
|
+
*/
|
|
131
|
+
readonly Superseded: boolean;
|
|
114
132
|
}
|
|
115
133
|
/**
|
|
116
134
|
* Uploads a session recording to MJStorage, links it to the `AIAgentSession` (via
|
|
@@ -125,4 +143,106 @@ export interface StoreRealtimeRecordingResult {
|
|
|
125
143
|
export declare function StoreRealtimeRecording(input: StoreRealtimeRecordingInput): Promise<StoreRealtimeRecordingResult>;
|
|
126
144
|
/** @deprecated Use {@link StoreRealtimeRecording}. */
|
|
127
145
|
export declare function storeRealtimeRecording(input: StoreRealtimeRecordingInput): Promise<StoreRealtimeRecordingResult>;
|
|
146
|
+
/** One recovered shard: its zero-based position in the recording and its raw mono PCM16-LE bytes. */
|
|
147
|
+
export interface RecordingSegmentBytes {
|
|
148
|
+
readonly Index: number;
|
|
149
|
+
readonly Bytes: Buffer;
|
|
150
|
+
}
|
|
151
|
+
/** A WAV assembled from shards, plus what had to be invented to keep it aligned. */
|
|
152
|
+
export interface AssembledRecording {
|
|
153
|
+
/** Canonical 44-byte-header mono 16-bit PCM WAV. */
|
|
154
|
+
readonly Wav: Buffer;
|
|
155
|
+
/** Shard indexes (ascending) that were absent and filled with silence. */
|
|
156
|
+
readonly MissingIndexes: number[];
|
|
157
|
+
/** Byte length used for each silent gap; reported even when nothing was missing. */
|
|
158
|
+
readonly GapBytes: number;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Assembles recovered recording shards into one WAV, in index order, filling every absent index with
|
|
162
|
+
* silence. Silence (rather than skipping the gap) keeps all later audio at its true time offset, so it
|
|
163
|
+
* stays aligned with transcript cues, which are offsets from the session's `RecordingStartedAt`.
|
|
164
|
+
*
|
|
165
|
+
* The gap length is the median length of the present shards excluding the highest present index (that
|
|
166
|
+
* one is normally a partial window); with a single shard, that shard's length. It is rounded down to
|
|
167
|
+
* an even byte count (whole 16-bit samples), minimum 2.
|
|
168
|
+
*
|
|
169
|
+
* The byte ceiling does not bound the index range on its own: under the default ceiling a single shard
|
|
170
|
+
* at index ~10^9 still fits, and the missing-index list grows with the highest index. Callers handling
|
|
171
|
+
* untrusted shards must cap the shard count and highest index themselves (recovery does, via
|
|
172
|
+
* {@link MAX_RECOVERY_SEGMENTS}) and pass a smaller `maxDataBytes`.
|
|
173
|
+
*
|
|
174
|
+
* @param segments Recovered shards; any order, unique non-negative integer indexes starting from 0.
|
|
175
|
+
* @param sampleRate Sample rate of the PCM data, in Hz.
|
|
176
|
+
* @param maxDataBytes Ceiling on the PCM data size (shards plus gap fill), checked before anything is
|
|
177
|
+
* allocated. Defaults to the WAV format's own limit; callers handling untrusted shards pass less.
|
|
178
|
+
* @throws Error on no segments, an invalid sample rate or index, a duplicate index, an empty or
|
|
179
|
+
* odd-length shard, or a result too large for a WAV.
|
|
180
|
+
*/
|
|
181
|
+
export declare function BuildRecordingFromSegments(segments: RecordingSegmentBytes[], sampleRate: number, maxDataBytes?: number): AssembledRecording;
|
|
182
|
+
/**
|
|
183
|
+
* Most shards recovery will assemble. At ~15 s per shard this is an hour of audio, far past any real
|
|
184
|
+
* call; a listing at or beyond it (by count or by highest index) is treated as corrupt or hostile and
|
|
185
|
+
* fails closed rather than allocating a huge WAV.
|
|
186
|
+
*/
|
|
187
|
+
export declare const MAX_RECOVERY_SEGMENTS = 240;
|
|
188
|
+
/**
|
|
189
|
+
* Ceiling on the PCM data a recovery will assemble: 384 MiB covers an hour of 48 kHz mono PCM16
|
|
190
|
+
* (345.6 MB) with headroom. Shard sizes are client-controlled (the GraphQL body limit is 50 MB, so one
|
|
191
|
+
* shard can be ~37 MB) and gaps are filled with silence, so without this a session owner could make the
|
|
192
|
+
* janitor allocate gigabytes. Checked against listed sizes, running actual bytes, and the assembled size.
|
|
193
|
+
*
|
|
194
|
+
* It caps the data, not the process's memory: the shard buffers are still held while the WAV is
|
|
195
|
+
* assembled (2x), and storage drivers can copy on read (the S3 driver copies each shard once more), so
|
|
196
|
+
* peak memory for one recovery is up to about three times this: two 288 MB recoveries raised the API
|
|
197
|
+
* process's RSS by 730 MB and 920 MB.
|
|
198
|
+
*/
|
|
199
|
+
export declare const MAX_RECOVERY_BYTES: number;
|
|
200
|
+
/** Input to {@link RecoverRealtimeRecordingFromSegments}. */
|
|
201
|
+
export interface RecoverRealtimeRecordingInput {
|
|
202
|
+
SessionID: string;
|
|
203
|
+
/** Storage account the shards were written to. */
|
|
204
|
+
StorageAccountID: string;
|
|
205
|
+
/** The recording `t0`, stamped on the session (recovery cannot derive it from the shards). */
|
|
206
|
+
StartedAt: Date;
|
|
207
|
+
ContextUser: UserInfo;
|
|
208
|
+
Provider: IMetadataProvider;
|
|
209
|
+
}
|
|
210
|
+
/** What {@link RecoverRealtimeRecordingFromSegments} did. */
|
|
211
|
+
export type RecoverRealtimeRecordingOutcome = 'Recovered' | 'NoSegments' | 'Superseded' | 'Failed';
|
|
212
|
+
/** Result of {@link RecoverRealtimeRecordingFromSegments}. */
|
|
213
|
+
export interface RecoverRealtimeRecordingResult {
|
|
214
|
+
readonly Outcome: RecoverRealtimeRecordingOutcome;
|
|
215
|
+
/** The recovered `MJ: Files` id; set for `Recovered`, and for `Superseded` when an orphan was uploaded. */
|
|
216
|
+
readonly FileID: string | null;
|
|
217
|
+
/** Number of shards found in the session folder. */
|
|
218
|
+
readonly SegmentCount: number;
|
|
219
|
+
/** Shard indexes that were absent and filled with estimated silence. */
|
|
220
|
+
readonly MissingIndexes: number[];
|
|
221
|
+
/** Why recovery failed; null otherwise. */
|
|
222
|
+
readonly ErrorMessage: string | null;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Rebuilds a session's recording from the `seg-*` crash-recovery shards left in its storage folder —
|
|
226
|
+
* for a call whose browser died or whose end-of-call upload never ran, so no `recording.*` exists.
|
|
227
|
+
* Shards are concatenated in order (silence for absent ones), uploaded under a per-attempt
|
|
228
|
+
* `recording-recovered-<epoch ms>-<random hex>.wav`, stamped on the session, linked, and only then
|
|
229
|
+
* deleted. Deletion happens only after a reload confirms the session points at the recovered file, so a
|
|
230
|
+
* failure at any step leaves the shards for the next try. If the session has (or gains) another
|
|
231
|
+
* recording, the outcome is `Superseded` and the shards are kept. Deferring to that recording is best
|
|
232
|
+
* effort: the session is re-checked immediately before the stamp, but a recording stamped inside that
|
|
233
|
+
* one load -> save window is overwritten (there is no compare-and-set).
|
|
234
|
+
*
|
|
235
|
+
* The sample rate comes from the shard keys (`seg-NNNN.r<rate>.pcm`) or, for legacy `seg-NNNN.pcm`
|
|
236
|
+
* shards, from each object's stored content type. When no shard declares a rate (a legacy shard on a
|
|
237
|
+
* driver that keeps no content type, such as Box), it is inferred from the size of the full shards; see
|
|
238
|
+
* {@link LEGACY_SHARD_SECONDS}.
|
|
239
|
+
*
|
|
240
|
+
* Once the stamp has saved, the outcome is `Recovered` even if the confirming reload or a shard delete
|
|
241
|
+
* fails; the shards it could not remove are named in a `LogError` (nothing revisits a stamped session).
|
|
242
|
+
*
|
|
243
|
+
* Never throws: every failure is logged with the session id and returned as `Failed`.
|
|
244
|
+
*
|
|
245
|
+
* @param input Session, storage account, recording `t0`, and server context.
|
|
246
|
+
*/
|
|
247
|
+
export declare function RecoverRealtimeRecordingFromSegments(input: RecoverRealtimeRecordingInput): Promise<RecoverRealtimeRecordingResult>;
|
|
128
248
|
//# sourceMappingURL=realtime-recording-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-recording-store.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-recording-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"realtime-recording-store.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-recording-store.ts"],"names":[],"mappings":"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"}
|