Dashboard › opencode › Distillation
453c96f2-96f8-4195-95b9-75630979acc7["lore_tm_v1_kpfWtANON9yvRH1_mQL-ntQaXRYzxTWQgazqZqMKK1M","lore_tm_v1_8NcOHS-MvkoCTDCmOubF0fQ6ZTyWb-KK15qpgmDNgTk","lore_tm_v1_OVfubamjuuwMyKofNg6IXnFXM4KSDMq2OK1wO5W7LvM","lore_tm_v1_SKJHAgVOAj4-tOj1PaDiZ1sh4w7mpCZ17kbz5oL6WQc","lore_tm_v1_5huHn1Ji7sNx3vx_rSs6CuBlQswUDlS3qG1h4rg7_wI","lore_tm_v1_FxDCp2UiS_TkNa_euJ2eKWz82KYONY-vMFvAc2m1z2E","lore_tm_v1_q1JnI2_qqBq55epYT04_0rGkSsrmX1FABLuW-4PjCPI","lore_tm_v1_VDFVBxmfioQCVHmYYi0sv306KzRf_gxyisKQrtcP_CM","lore_tm_v1_hyCJbJtXFQjOMqxtmCRCFkjOolRxZiIkm7rqcBBf0yQ","lore_tm_v1_gQq_17DepiuyX57cbfEjLCLlus59yhD6GZDn6HWsWs8"]
Date: Sep 16, 2026
packages/server/src/routes.ts: applicationServices groups Database.node, EventV2.node, httpClient, ToolOutputStore.cleanupNode, SessionV2.node, SessionRecovery.node, PermissionSaved.node, PtyTicket.node, Credential.node, PtyEnvironment.node, and LocationServiceMap.node; makeRoutes(...) builds services with AppNodeBuilder.build(applicationServices, [[SessionExecution.node, SessionExecutionLocal.node]]).packages/server/src/routes.ts: createRoutes(password?) uses username "opencode" and either Option.some(password) or ServerAuth.Config.layer; createEmbeddedRoutes() uses username "opencode" with Option.none(); the API exposes OpenAPI at /openapi.json; webHandler() sets { disableLogger: true }.(session, execution, owner) claim, 4. public prompt retries reject recovery inputs, and 5. queue/steer selectors exclude every row joined to recovery state.packages/core/src/database/migration/20260914170650_session-recovery.ts with id 20260914170650_session-recovery.20260914170650_session-recovery adds session_input.wake_pending as integer DEFAULT false NOT NULL and session_input.wake_attempts as integer DEFAULT 0 NOT NULL.20260914170650_session-recovery creates session_execution with columns id, session_id, owner_id, nullable assistant_message_id, phase, time_created, expires_at, and nullable recovery_error; primary key session_execution_pk on id; phase check allowing only 'ready', 'safe', 'unknown', and 'continue'; and cascading foreign key fk_session_execution_session_id_session_id_fk from session_id to session.id.20260914170650_session-recovery creates session_recovery with columns session_id, execution_id, nullable assistant_message_id, continuation_message_id, phase, wake_pending integer DEFAULT true NOT NULL, wake_attempts integer DEFAULT 0 NOT NULL, nullable recovery_error, and time_created; primary key session_recovery_pk on execution_id.session_recovery foreign keys are: session_id → session.id with cascade delete; assistant_message_id → session_message.id with cascade delete; and continuation_message_id → session_input.id with cascade delete.20260914170650_session-recovery creates indexes: unique session_execution_session_idx on session_execution(session_id); session_execution_owner_idx on session_execution(owner_id); session_input_wake_pending_promoted_attempts_time_created_id_idx on session_input(wake_pending, promoted_seq, wake_attempts, time_created, id); unique session_recovery_continuation_message_idx on session_recovery(continuation_message_id); and session_recovery_wake_pending_error_attempts_created_execution_idx on session_recovery(wake_pending, recovery_error, wake_attempts, time_created, execution_id).packages/core/schema.json: schema version "7", dialect "sqlite", current id "539b8b9f-47d0-4d6d-b29f-4282139c71eb", and predecessor "f14a9b18-8207-487e-a3d3-227e629ba9ad"; that predecessor is also version "7" and follows "169a0f0f-d58f-479f-b024-fa1c7b9a09db".packages/core/src/database/schema.gen.ts, whose generated schema contains session_execution, the new session_input.wake_pending and session_input.wake_attempts columns, session_recovery, the session_execution_phase_check, all three recovery foreign keys, and the five recovery/wake-related indexes from migration 20260914170650_session-recovery.packages/core/src/database/migration.gen.ts, where 20260914170650_session-recovery is imported as the final entry in the generated migrations array after 20260622202450_simplify_session_input.