fix: preserve interaction replies across chat recovery
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import { registerInteractionRequestRoutes } from "./interaction-request-routes.js";
|
||||
import type { InteractionRequestStore } from "../sessions/interaction-request-store.js";
|
||||
import { Router, type NextFunction, type Request, type Response } from "express";
|
||||
|
||||
import { agentModelOptions, resolveDefaultModel } from "../chat/models.js";
|
||||
@@ -31,6 +33,7 @@ import { registerArtifactRoutes } from "./artifact-routes.js";
|
||||
import type { AgentMessageCoordinator } from "../chat/agent-message-coordinator.js";
|
||||
|
||||
export type BuildChatRouterOptions = {
|
||||
interactionRequestStore?: InteractionRequestStore;
|
||||
agentMessages?: AgentMessageCoordinator;
|
||||
frontendActionCoordinator: FrontendActionCoordinator;
|
||||
learningOrchestrator: LearningOrchestrator;
|
||||
@@ -77,6 +80,8 @@ export const buildChatRouter = (options: BuildChatRouterOptions) => {
|
||||
models: agentModelOptions,
|
||||
});
|
||||
});
|
||||
if (options.interactionRequestStore) registerInteractionRequestRoutes(chatRouter, { sessions: sessionMetadataStore, interactions: options.interactionRequestStore,
|
||||
runtime, isRunning: (sessionId) => activeRuns.get(sessionId)?.status === "running" });
|
||||
registerArtifactRoutes(chatRouter, { sessionMetadataStore, runtime });
|
||||
|
||||
chatRouter.get("/ui-registry", (_req, res) => {
|
||||
@@ -131,6 +136,7 @@ export const buildChatRouter = (options: BuildChatRouterOptions) => {
|
||||
});
|
||||
|
||||
registerChatSessionRoutes(chatRouter, {
|
||||
interactionRequestStore: options.interactionRequestStore,
|
||||
learningOrchestrator,
|
||||
frontendActionCoordinator,
|
||||
runState,
|
||||
@@ -145,6 +151,8 @@ export const buildChatRouter = (options: BuildChatRouterOptions) => {
|
||||
if (agentMessages) registerAgentMessageRoutes(chatRouter, { sessions: sessionMetadataStore, messages: agentMessages });
|
||||
|
||||
registerChatAuxiliaryRoutes(chatRouter, {
|
||||
interactionRequestStore: options.interactionRequestStore,
|
||||
runtime,
|
||||
activeRuns,
|
||||
lastRunStatuses,
|
||||
sessionBridge,
|
||||
@@ -162,6 +170,7 @@ export const buildChatRouter = (options: BuildChatRouterOptions) => {
|
||||
|
||||
registerResponseInputRoutes(chatRouter, { runtime, sessionMetadataStore, runState });
|
||||
registerChatStreamRoute(chatRouter, {
|
||||
interactionRequestStore: options.interactionRequestStore,
|
||||
agentMessages,
|
||||
frontendActionCoordinator,
|
||||
learningOrchestrator,
|
||||
|
||||
Reference in New Issue
Block a user