Dashboard › opencode › Distillation
73ac8ac5-9620-4b09-ae32-e58a4f47dff6["lore_tm_v1_6aPmVuLM-YqvPWO1TCFgZtm57wokFJCevLx5LgvkPyA","lore_tm_v1_ei6RH6a5NpkDtlm57aSvfHuDUZgV6zkfOcMoiMVOIa8"]
Date: Sep 15, 2026
SessionExecutionClaim from "../execution/claim", SystemContext from "../../system-context/index", and llmClient from "../../effect/app-node-platform".ownerID: string, recoveryInputID?: SessionMessage.ID, wake_pending, execution phase "safe", assistant_message_id, and promotion mode "steer".executed: tool.provider?.executed === true, manages tool fibers through FiberSet.make<void, ToolOutputStore.Error>(), and waits using Effect.raceFirst(FiberSet.join(fibers), FiberSet.awaitEmpty(fibers)).{ readonly _tag: "ContinueAfterCompaction"; readonly step: number } and continueAfterOverflowCompaction(step); context-overflow handling checks isContextOverflowFailure(overflowFailure ?? failure).if (promoted > 0) currentStep = 1; recovery suppresses steering promotion via promotion = recovering ? undefined : "steer".publisher.failUnsettledTools("Tool execution interrupted").Map<string, string[]>, tracks tools by call ID, lazily establishes assistantMessageID, flushes fragments with the current assistant message ID, and records provider-created tool state with providerExecuted: false.Effect.die(`${name} delta before start: ${id}`).SessionRunner.publishLLMEvent handles event cases including "reasoning-delta", "reasoning-end", "tool-result", "tool-error", and "step-finish"; reasoning starts through reasoning.start(event.id).Effect.die(`Tool input name changed for ${event.id}: ${tool.name} -> ${event.name}`) and a renamed tool call using Effect.die(`Tool call name changed for ${event.id}: ${tool.name} -> ${event.name}`).settledOutput(event.output, event.result); published tool records preserve callID: event.id and the toolβs assistantMessageID.failUnsettledTools; assistant lifecycle handling sets assistantActive = false when the assistant turn ends or fails and calls failAssistant(event.message) on provider failure.