share footer snapshot assembly

This commit is contained in:
Simon Klee 2026-04-18 15:14:33 +02:00
parent b306d2af7d
commit ee65fbc84e
No known key found for this signature in database
GPG key ID: B91696044D47BEA3

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) {