share footer snapshot assembly

This commit is contained in:
Simon Klee
2026-04-18 15:14:33 +02:00
parent d0b96104a1
commit 8689afb5b3

View File

@@ -518,27 +518,28 @@ function snapshotQueues(data: SubagentData) {
}
}
export function snapshotSubagentData(data: SubagentData): FooterSubagentState {
function snapshotState(data: SubagentData, details: FooterSubagentState["details"]): FooterSubagentState {
return {
tabs: listSubagentTabs(data),
details: Object.fromEntries(
[...data.details.entries()].map(([sessionID, detail]) => [sessionID, snapshotDetail(detail)]),
),
details,
...snapshotQueues(data),
}
}
export function snapshotSubagentData(data: SubagentData): FooterSubagentState {
return snapshotState(
data,
Object.fromEntries([...data.details.entries()].map(([sessionID, detail]) => [sessionID, snapshotDetail(detail)])),
)
}
export function snapshotSelectedSubagentData(
data: SubagentData,
selectedSessionID: string | undefined,
): FooterSubagentState {
const detail = selectedSessionID ? data.details.get(selectedSessionID) : undefined
return {
tabs: listSubagentTabs(data),
details: detail ? { [detail.sessionID]: snapshotDetail(detail) } : {},
...snapshotQueues(data),
}
return snapshotState(data, detail ? { [detail.sessionID]: snapshotDetail(detail) } : {})
}
export function bootstrapSubagentData(input: BootstrapSubagentInput) {