@@ -22,7 +22,6 @@ import * as HttpSessionError from "../../src/server/routes/instance/httpapi/hand
2222import { SessionPaths } from "../../src/server/routes/instance/httpapi/groups/session"
2323import { Session } from "@/session/session"
2424import { MessageID , PartID , SessionID , type SessionID as SessionIDType } from "../../src/session/schema"
25- import { MessageV2 } from "../../src/session/message-v2"
2625import { Database } from "@opencode-ai/core/database/database"
2726import { MessageTable , SessionMessageTable , SessionTable } from "@opencode-ai/core/session/sql"
2827import { SessionMessage } from "@opencode-ai/core/session/message"
@@ -183,55 +182,55 @@ const insertCorruptV2Message = (sessionID: SessionIDType, time = 1) =>
183182 } )
184183
185184const insertLegacyMessageV2Assistant = ( sessionID : SessionIDType , parentID : MessageID ) =>
186- Effect . sync ( ( ) => {
187- Database . use ( ( db ) =>
188- db
189- . insert ( MessageTable )
190- . values ( {
191- id : MessageID . ascending ( ) ,
192- session_id : sessionID ,
193- time_created : 1 ,
194- time_updated : 1 ,
195- data : {
196- role : "assistant" ,
197- time : { created : 1 , completed : 1 } ,
198- parentID,
199- modelID : ModelID . make ( "test" ) ,
200- providerID : ProviderID . make ( "test" ) ,
201- mode : "build" ,
202- path : { cwd : "/tmp" , root : "/tmp" } ,
203- cost : 0 ,
204- tokens : {
205- input : 0 ,
206- output : 0 ,
207- reasoning : 0 ,
208- cache : { read : 0 , write : 0 } ,
209- } ,
210- } as NonNullable < ( typeof MessageTable . $inferInsert ) [ "data" ] > ,
211- } )
212- . run ( ) ,
213- )
185+ Effect . gen ( function * ( ) {
186+ const { db } = yield * Database . Service
187+ yield * db
188+ . insert ( MessageTable )
189+ . values ( {
190+ id : MessageID . ascending ( ) ,
191+ session_id : sessionID ,
192+ time_created : 1 ,
193+ time_updated : 1 ,
194+ data : {
195+ role : "assistant" ,
196+ time : { created : 1 , completed : 1 } ,
197+ parentID,
198+ modelID : ProviderV2 . ModelID . make ( "test" ) ,
199+ providerID : ProviderV2 . ID . make ( "test" ) ,
200+ mode : "build" ,
201+ path : { cwd : "/tmp" , root : "/tmp" } ,
202+ cost : 0 ,
203+ tokens : {
204+ input : 0 ,
205+ output : 0 ,
206+ reasoning : 0 ,
207+ cache : { read : 0 , write : 0 } ,
208+ } ,
209+ } as unknown as NonNullable < ( typeof MessageTable . $inferInsert ) [ "data" ] > ,
210+ } )
211+ . run ( )
212+ . pipe ( Effect . orDie )
214213 } )
215214
216215const insertLegacyMessageV2User = ( sessionID : SessionIDType ) =>
217- Effect . sync ( ( ) => {
216+ Effect . gen ( function * ( ) {
218217 const id = MessageID . ascending ( )
219- Database . use ( ( db ) =>
220- db
221- . insert ( MessageTable )
222- . values ( {
223- id,
224- session_id : sessionID ,
225- time_created : 1 ,
226- time_updated : 1 ,
227- data : {
228- role : "user" ,
229- time : { created : 1 } ,
230- model : { providerID : ProviderID . make ( "test" ) , modelID : ModelID . make ( "test" ) } ,
231- } as NonNullable < ( typeof MessageTable . $inferInsert ) [ "data" ] > ,
232- } )
233- . run ( ) ,
234- )
218+ const { db } = yield * Database . Service
219+ yield * db
220+ . insert ( MessageTable )
221+ . values ( {
222+ id,
223+ session_id : sessionID ,
224+ time_created : 1 ,
225+ time_updated : 1 ,
226+ data : {
227+ role : "user" ,
228+ time : { created : 1 } ,
229+ model : { providerID : ProviderV2 . ID . make ( "test" ) , modelID : ProviderV2 . ModelID . make ( "test" ) } ,
230+ } as unknown as NonNullable < ( typeof MessageTable . $inferInsert ) [ "data" ] > ,
231+ } )
232+ . run ( )
233+ . pipe ( Effect . orDie )
235234 return id
236235 } )
237236
@@ -701,7 +700,7 @@ describe("session HttpApi", () => {
701700 const response = yield * request ( `${ pathFor ( SessionPaths . messages , { sessionID : session . id } ) } ?limit=80` , {
702701 headers,
703702 } )
704- const messages = yield * json < MessageV2 . WithParts [ ] > ( response )
703+ const messages = yield * json < SessionLegacy . WithParts [ ] > ( response )
705704
706705 expect ( response . status ) . toBe ( 200 )
707706 expect ( messages . find ( ( item ) => item . info . role === "user" ) ?. info ) . toMatchObject ( {
0 commit comments