✨ feat(sessions): include session messages in session retrieval response
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Request, Response } from 'express'
|
||||
|
||||
import { sessionService } from '../../../../services/agents'
|
||||
import { sessionMessageService, sessionService } from '../../../../services/agents'
|
||||
import { loggerService } from '../../../../services/LoggerService'
|
||||
|
||||
const logger = loggerService.withContext('ApiServerSessionsHandlers')
|
||||
@@ -89,8 +89,18 @@ export const getSession = async (req: Request, res: Response): Promise<Response>
|
||||
})
|
||||
}
|
||||
|
||||
logger.info(`Session retrieved successfully: ${sessionId}`)
|
||||
return res.json(session)
|
||||
// Fetch session messages
|
||||
logger.info(`Fetching messages for session: ${sessionId}`)
|
||||
const { messages } = await sessionMessageService.listSessionMessages(sessionId)
|
||||
|
||||
// Add messages to session
|
||||
const sessionWithMessages = {
|
||||
...session,
|
||||
messages: messages
|
||||
}
|
||||
|
||||
logger.info(`Session retrieved successfully: ${sessionId} with ${messages.length} messages`)
|
||||
return res.json(sessionWithMessages)
|
||||
} catch (error: any) {
|
||||
logger.error('Error getting session:', error)
|
||||
return res.status(500).json({
|
||||
|
||||
@@ -61,6 +61,7 @@ export interface AgentSessionEntity extends AgentConfiguration {
|
||||
user_goal?: string // Initial user goal for the session
|
||||
status: SessionStatus
|
||||
external_session_id?: string // Agent session for external agent management/tracking
|
||||
messages?: SessionMessageEntity[] // Hierarchical session messages
|
||||
created_at: string
|
||||
updated_at: string
|
||||
}
|
||||
@@ -72,7 +73,7 @@ export interface SessionMessageEntity {
|
||||
parent_id?: number // For tree structure (e.g., tool calls under an action)
|
||||
role: SessionMessageRole // 'user', 'agent', 'system', 'tool'
|
||||
type: SessionMessageType // Type of log entry
|
||||
content: Record<string, any> // JSON structured data
|
||||
content: string | Record<string, any> // JSON structured data
|
||||
metadata?: Record<string, any> // Additional metadata (optional)
|
||||
created_at: string // ISO timestamp
|
||||
updated_at: string // ISO timestamp
|
||||
|
||||
Reference in New Issue
Block a user