Dashboard › opencode › Distillation
a068fdb8-1d49-421d-b52f-9f1035b5fdd6["lore_tm_v1_OqAJ260trJ5c5AFZEnYBA6Q7gpS1mJLVvvicpTnwCW8","lore_tm_v1_9YJskpVZOb835uQXZIPGStetChM2uXJDaJ0k5CkIAc0","lore_tm_v1_1m7O_mgcvXmgo2sfwTUkCl9DFpyMF-08nVXRTtZxjTw"]
Date: Sep 15, 2026
/home/byk/Code/opencode/packages/schema/src/session-event.ts:423-456 defines Compaction.Started, Compaction.Delta, and Compaction.Ended. Started uses type "session.next.compaction.started" with ...options, ...Base, messageID: SessionMessage.ID, and reason: Schema.Union([Schema.Literal("auto"), Schema.Literal("manual")]); Delta uses type "session.next.compaction.delta" with ...Base, messageID: SessionMessage.ID, and text: Schema.String but no ...options; Ended uses type "session.next.compaction.ended" with ...options, ...Base, messageID: SessionMessage.ID, reason: Started.data.fields.reason, text: Schema.String, and recent: Schema.String./home/byk/Code/opencode/packages/schema/src/session-event.ts:473-504 includes Compaction.Started and Compaction.Ended in DurableDefinitions but excludes Compaction.Delta; the durable inventory also includes AgentSwitched, ModelSwitched, Moved, Prompted, PromptAdmitted, ContextUpdated, Synthetic, Shell.Started, Shell.Ended, Step.Started, Step.Ended, Step.Failed, Step.Interrupted, Step.Recovered, Text.Started, Text.Ended, Tool.Input.Started, Tool.Input.Ended, Tool.Called, Tool.Progress, Tool.Success, Tool.Failed, Reasoning.Started, Reasoning.Ended, Retried, RevertEvent.Staged, RevertEvent.Cleared, and RevertEvent.Committed./home/byk/Code/opencode/packages/schema/src/session-event.ts:459-470 defines revert events: RevertEvent.Staged as "session.next.revert.staged" with revert: Revert.State; RevertEvent.Cleared as "session.next.revert.cleared" with Base; and RevertEvent.Committed as "session.next.revert.committed" with messageID: SessionMessage.ID./home/byk/Code/opencode/packages/opencode/src/server/routes/instance/httpapi/server.ts:285-312 provides errorLayer, compressionLayer, corsVaryFix, fenceLayer, cors(corsOptions), AppNodeBuilderV1.build(MoveSession.node, [[LocationServiceMap.node, locationServiceMapV2]]), and HttpServer.layerServices, then provides CorsConfig, sessionLocationLayer, locationLayer, PtyEnvironment.layer, the grouped SessionV2.node and SessionRecovery.node graph mapped to locationServiceMapV2 and SessionExecutionLocal.node, locationServiceMapV2, and AppNodeBuilderV1.build(app)./home/byk/Code/opencode/packages/opencode/src/server/routes/instance/httpapi/server.ts:307-312 requires Layer.provideMerge(Observability.layer) to remain last because layers provided later build beneath earlier layers; otherwise eagerly forked fibers such as the ModelsDev background refresh capture Effect’s default stdout logger and corrupt the TUI, tracked as issue #34730./home/byk/Code/opencode/packages/server/src/routes.ts:27-39 defines applicationServices as a LayerNode.group of 12 nodes: 1. Database.node, 2. EventV2.node, 3. httpClient, 4. ToolOutputStore.cleanupNode, 5. SessionV2.node, 6. SessionRecovery.node, 7. PermissionSaved.node, 8. PtyTicket.node, 9. Credential.node, 10. PtyEnvironment.node, 11. LocationServiceMap.node./home/byk/Code/opencode/packages/server/src/routes.ts:41-51 defines createRoutes(password?: string) to use ServerAuth.Config.configLayer({ username: "opencode", password: Option.some(password) }) when a password is supplied and ServerAuth.Config.layer otherwise; createEmbeddedRoutes() uses ServerAuth.Config.configLayer({ username: "opencode", password: Option.none() })./home/byk/Code/opencode/packages/server/src/routes.ts:53-55 defines generic makeRoutes<AuthError, AuthServices>(auth: Layer.Layer<ServerAuth.Config, AuthError, AuthServices>); its serviceLayer is AppNodeBuilder.build(applicationServices, [[SessionExecution.node, SessionExecutionLocal.node]]).