|
|
@@ -14,7 +14,6 @@ import { SessionStatus } from "@/session/status"
|
|
|
import { SessionSummary } from "@/session/summary"
|
|
|
import { Todo } from "@/session/todo"
|
|
|
import { MessageID, PartID, SessionID } from "@/session/schema"
|
|
|
-import { NotFoundError } from "@/storage/storage"
|
|
|
import { NamedError } from "@opencode-ai/core/util/error"
|
|
|
import { Cause, Effect, Option, Schema, Scope } from "effect"
|
|
|
import * as Stream from "effect/Stream"
|
|
|
@@ -105,11 +104,13 @@ export const sessionHandlers = HttpApiBuilder.group(InstanceHttpApi, "session",
|
|
|
return yield* session.messages({ sessionID: ctx.params.sessionID })
|
|
|
}
|
|
|
|
|
|
- const page = MessageV2.page({
|
|
|
- sessionID: ctx.params.sessionID,
|
|
|
- limit: ctx.query.limit,
|
|
|
- before: ctx.query.before,
|
|
|
- })
|
|
|
+ const page = yield* SessionError.mapStorageNotFound(
|
|
|
+ MessageV2.pageEffect({
|
|
|
+ sessionID: ctx.params.sessionID,
|
|
|
+ limit: ctx.query.limit,
|
|
|
+ before: ctx.query.before,
|
|
|
+ }),
|
|
|
+ )
|
|
|
if (!page.cursor) return page.items
|
|
|
|
|
|
const request = yield* HttpServerRequest.HttpServerRequest
|
|
|
@@ -131,10 +132,7 @@ export const sessionHandlers = HttpApiBuilder.group(InstanceHttpApi, "session",
|
|
|
params: { sessionID: SessionID; messageID: MessageID }
|
|
|
}) {
|
|
|
return yield* SessionError.mapStorageNotFound(
|
|
|
- Effect.try({
|
|
|
- try: () => MessageV2.get({ sessionID: ctx.params.sessionID, messageID: ctx.params.messageID }),
|
|
|
- catch: (error) => error,
|
|
|
- }).pipe(Effect.catch((error) => (NotFoundError.isInstance(error) ? Effect.fail(error) : Effect.die(error)))),
|
|
|
+ MessageV2.getEffect({ sessionID: ctx.params.sessionID, messageID: ctx.params.messageID }),
|
|
|
)
|
|
|
})
|
|
|
|