fix(runtime-fallback): add session messages extractor

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-03-12 11:31:58 +09:00
parent 3caa3fcc3d
commit 6a4a3322c1
@@ -0,0 +1,38 @@
export type SessionMessagePart = {
type?: string
text?: string
}
export type SessionMessage = {
info?: Record<string, unknown>
parts?: SessionMessagePart[]
}
function isRecord(value: unknown): value is Record<string, unknown> {
return typeof value === "object" && value !== null
}
function isSessionMessage(value: unknown): value is SessionMessage {
return isRecord(value)
}
function isSessionMessageArray(value: unknown): value is SessionMessage[] {
return Array.isArray(value) && value.every(isSessionMessage)
}
export function extractSessionMessages(messagesResponse: unknown): SessionMessage[] | undefined {
if (isSessionMessageArray(messagesResponse)) {
return messagesResponse
}
if (!isRecord(messagesResponse)) {
return undefined
}
const data = messagesResponse.data
if (isSessionMessageArray(data)) {
return data
}
return undefined
}