Skip to content

Commit 42c0dfd

Browse files
committed
refactor(httpapi): derive session read schemas
1 parent ddcf1fd commit 42c0dfd

1 file changed

Lines changed: 3 additions & 9 deletions

File tree

  • packages/opencode/src/server/routes/instance/httpapi

packages/opencode/src/server/routes/instance/httpapi/session.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { SessionSummary } from "@/session/summary"
77
import { Todo } from "@/session/todo"
88
import { MessageID, SessionID } from "@/session/schema"
99
import { Snapshot } from "@/snapshot"
10-
import { Effect, Layer, Schema } from "effect"
10+
import { Effect, Layer, Schema, Struct } from "effect"
1111
import { HttpServerRequest, HttpServerResponse } from "effect/unstable/http"
1212
import { HttpApi, HttpApiBuilder, HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi"
1313
import { 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"]))
2624
const MessagesQuery = Schema.Struct({
2725
limit: Schema.optional(Schema.NumberFromString.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0))),
2826
before: Schema.optional(Schema.String),
2927
})
3028
const 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

3630
export 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

Comments
 (0)