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