Refactor DebugDrawer to store submitted session metadata and update resolved config view with merged metadata
This commit is contained in:
@@ -1389,6 +1389,7 @@ export const DebugDrawer: React.FC<{
|
|||||||
const wsReadyRef = useRef(false);
|
const wsReadyRef = useRef(false);
|
||||||
const pendingResolveRef = useRef<(() => void) | null>(null);
|
const pendingResolveRef = useRef<(() => void) | null>(null);
|
||||||
const pendingRejectRef = useRef<((e: Error) => void) | null>(null);
|
const pendingRejectRef = useRef<((e: Error) => void) | null>(null);
|
||||||
|
const submittedMetadataRef = useRef<Record<string, any> | null>(null);
|
||||||
const assistantDraftIndexRef = useRef<number | null>(null);
|
const assistantDraftIndexRef = useRef<number | null>(null);
|
||||||
const audioCtxRef = useRef<AudioContext | null>(null);
|
const audioCtxRef = useRef<AudioContext | null>(null);
|
||||||
const playbackTimeRef = useRef<number>(0);
|
const playbackTimeRef = useRef<number>(0);
|
||||||
@@ -1958,7 +1959,6 @@ export const DebugDrawer: React.FC<{
|
|||||||
|
|
||||||
const fetchRuntimeMetadata = async (): Promise<Record<string, any>> => {
|
const fetchRuntimeMetadata = async (): Promise<Record<string, any>> => {
|
||||||
const localResolved = buildLocalResolvedRuntime();
|
const localResolved = buildLocalResolvedRuntime();
|
||||||
setResolvedConfigView(JSON.stringify(localResolved, null, 2));
|
|
||||||
const mergedMetadata: Record<string, any> = {
|
const mergedMetadata: Record<string, any> = {
|
||||||
...localResolved.sessionStartMetadata,
|
...localResolved.sessionStartMetadata,
|
||||||
...(sessionMetadataExtras || {}),
|
...(sessionMetadataExtras || {}),
|
||||||
@@ -1974,6 +1974,16 @@ export const DebugDrawer: React.FC<{
|
|||||||
if (!mergedMetadata.channel) {
|
if (!mergedMetadata.channel) {
|
||||||
mergedMetadata.channel = 'web_debug';
|
mergedMetadata.channel = 'web_debug';
|
||||||
}
|
}
|
||||||
|
submittedMetadataRef.current = mergedMetadata;
|
||||||
|
setResolvedConfigView(
|
||||||
|
JSON.stringify(
|
||||||
|
{
|
||||||
|
submittedSessionStartMetadata: mergedMetadata,
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
);
|
||||||
return mergedMetadata;
|
return mergedMetadata;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2140,7 +2150,16 @@ export const DebugDrawer: React.FC<{
|
|||||||
if (type === 'config.resolved') {
|
if (type === 'config.resolved') {
|
||||||
const resolved = payload?.config || payload?.data?.config;
|
const resolved = payload?.config || payload?.data?.config;
|
||||||
if (resolved) {
|
if (resolved) {
|
||||||
setResolvedConfigView(JSON.stringify({ config: resolved }, null, 2));
|
setResolvedConfigView(
|
||||||
|
JSON.stringify(
|
||||||
|
{
|
||||||
|
submittedSessionStartMetadata: submittedMetadataRef.current,
|
||||||
|
engineResolvedConfig: resolved,
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -2333,8 +2352,7 @@ export const DebugDrawer: React.FC<{
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isOpen) return;
|
if (!isOpen) return;
|
||||||
const localResolved = buildLocalResolvedRuntime();
|
setResolvedConfigView('Connect to load submitted session.start metadata...');
|
||||||
setResolvedConfigView(JSON.stringify(localResolved, null, 2));
|
|
||||||
}, [isOpen, assistant, voices, llmModels, asrModels, tools]);
|
}, [isOpen, assistant, voices, llmModels, asrModels, tools]);
|
||||||
|
|
||||||
const renderLocalVideo = (isSmall: boolean) => (
|
const renderLocalVideo = (isSmall: boolean) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user