refactor: centralize gateway module and address review fixes

Move the gateway runtime files into a dedicated core/gateway module and fix follow-up issues in session deletion, history import batching, message IDs, and legacy thread parsing.

Fixes #253

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Harivansh Rathi 2026-03-07 16:53:36 -08:00
parent 753cb935f1
commit c0bba5c38f
10 changed files with 47 additions and 29 deletions

View file

@ -0,0 +1,29 @@
import type { AgentSession } from "../agent-session.js";
export function extractMessageText(message: { content: unknown }): string {
if (!Array.isArray(message.content)) {
return "";
}
return message.content
.filter((part): part is { type: "text"; text: string } => {
return (
typeof part === "object" &&
part !== null &&
"type" in part &&
"text" in part &&
part.type === "text"
);
})
.map((part) => part.text)
.join("");
}
export function getLastAssistantText(session: AgentSession): string {
for (let index = session.messages.length - 1; index >= 0; index--) {
const message = session.messages[index];
if (message.role === "assistant") {
return extractMessageText(message);
}
}
return "";
}