11import type { Argv } from "yargs"
22import type { Session as SDKSession , Message , Part } from "@opencode-ai/sdk/v2"
33import { Session } from "../../session"
4- import { SessionID } from "../../session/schema"
4+ import { SessionID , MessageID } from "../../session/schema"
5+ import { WorkspaceID } from "../../control-plane/schema"
56import { cmd } from "./cmd"
67import { bootstrap } from "../bootstrap"
78import { Database } from "../../storage/db"
@@ -157,7 +158,11 @@ export const ImportCommand = cmd({
157158 ...exportData . info ,
158159 id : SessionID . make ( exportData . info . id ) ,
159160 parentID : exportData . info . parentID ? SessionID . make ( exportData . info . parentID ) : undefined ,
161+ workspaceID : exportData . info . workspaceID ? WorkspaceID . make ( exportData . info . workspaceID ) : undefined ,
160162 projectID : Instance . project . id ,
163+ revert : exportData . info . revert
164+ ? { ...exportData . info . revert , messageID : MessageID . make ( exportData . info . revert . messageID ) }
165+ : undefined ,
161166 } )
162167 Database . use ( ( db ) =>
163168 db
@@ -168,28 +173,30 @@ export const ImportCommand = cmd({
168173 )
169174
170175 for ( const msg of exportData . messages ) {
176+ const { id : _mid , sessionID : _msid , ...msgData } = msg . info
171177 Database . use ( ( db ) =>
172178 db
173179 . insert ( MessageTable )
174180 . values ( {
175- id : msg . info . id ,
181+ id : MessageID . make ( msg . info . id ) ,
176182 session_id : row . id ,
177183 time_created : msg . info . time ?. created ?? Date . now ( ) ,
178- data : msg . info ,
184+ data : msgData ,
179185 } )
180186 . onConflictDoNothing ( )
181187 . run ( ) ,
182188 )
183189
184190 for ( const part of msg . parts ) {
191+ const { id : _pid , sessionID : _psid , messageID : _pmid , ...partData } = part
185192 Database . use ( ( db ) =>
186193 db
187194 . insert ( PartTable )
188195 . values ( {
189196 id : part . id ,
190- message_id : msg . info . id ,
197+ message_id : MessageID . make ( msg . info . id ) ,
191198 session_id : row . id ,
192- data : part ,
199+ data : partData ,
193200 } )
194201 . onConflictDoNothing ( )
195202 . run ( ) ,
0 commit comments