@@ -7,7 +7,7 @@ import { SessionSummary } from "@/session/summary"
77import { Todo } from "@/session/todo"
88import { MessageID , SessionID } from "@/session/schema"
99import { Snapshot } from "@/snapshot"
10- import { Effect , Layer , Schema } from "effect"
10+ import { Effect , Layer , Schema , Struct } from "effect"
1111import { HttpServerRequest , HttpServerResponse } from "effect/unstable/http"
1212import { HttpApi , HttpApiBuilder , HttpApiEndpoint , HttpApiGroup , OpenApi } from "effect/unstable/httpapi"
1313import { Authorization } from "./auth"
@@ -20,18 +20,12 @@ const ListQuery = Schema.Struct({
2020 search : Schema . optional ( Schema . String ) ,
2121 limit : Schema . optional ( Schema . NumberFromString ) ,
2222} )
23- const DiffQuery = Schema . Struct ( {
24- messageID : Schema . optional ( MessageID ) ,
25- } )
23+ const DiffQuery = Schema . Struct ( Struct . omit ( SessionSummary . DiffInput . fields , [ "sessionID" ] ) )
2624const MessagesQuery = Schema . Struct ( {
2725 limit : Schema . optional ( Schema . NumberFromString . check ( Schema . isInt ( ) , Schema . isGreaterThanOrEqualTo ( 0 ) ) ) ,
2826 before : Schema . optional ( Schema . String ) ,
2927} )
3028const StatusMap = Schema . Record ( Schema . String , SessionStatus . Info )
31- const Message = Schema . Struct ( {
32- info : MessageV2 . Info ,
33- parts : Schema . Array ( MessageV2 . Part ) ,
34- } ) . annotate ( { identifier : "SessionMessage" } )
3529
3630export const SessionPaths = {
3731 list : root ,
@@ -121,7 +115,7 @@ export const SessionApi = HttpApi.make("session")
121115 ) ,
122116 HttpApiEndpoint . get ( "message" , SessionPaths . message , {
123117 params : { sessionID : SessionID , messageID : MessageID } ,
124- success : Message ,
118+ success : MessageV2 . WithParts ,
125119 } ) . annotateMerge (
126120 OpenApi . annotations ( {
127121 identifier : "session.message" ,
0 commit comments