Dashboard › opencode › Distillation
5fa97ef9-4747-4db5-a533-8e9fc3999b9d["lore_tm_v1_Qq67StEwX6OcGIx53nWpPLWQ2rM8_JdIA44RPCHlveA","lore_tm_v1_N0W82eV5t-CLew0NyclMENMLpBxtDyPUZfDJQ8Gjzz4","lore_tm_v1_6BaFZew8mxYFfKMtzTAcc1SRY15tfDm3fP_nfkAmsB4","lore_tm_v1_YGMyah5iMeEPhrJJHxJMS9-fM72bczYdw4v7cWO-udk"]
Date: Sep 16, 2026
/tmp/opencode/session-recovery-v10-review/packages/schema/test/event-manifest.test.ts test "owns the complete public event surface" asserts EventManifest.ServerDefinitions.length === 61, EventManifest.Definitions.length === 91, EventManifest.Latest.size === 91, and EventManifest.Durable.size === 38.SessionV1.Event.Definitions order: 1. SessionV1.Event.Created, 2. Updated, 3. Deleted, 4. MessageUpdated, 5. MessageRemoved, 6. PartUpdated, 7. PartRemoved, 8. PartDelta, 9. Diff, 10. Error./tmp/opencode/session-recovery-v10-review/packages/schema/test/event-manifest.test.ts test "uses canonical definitions for current public events" verifies Session.Event === SessionEvent, Session.Event.Definitions === SessionEvent.Definitions, Workspace.Event === WorkspaceEvent, and Workspace.Event.Definitions === WorkspaceEvent.Definitions.event-manifest.test.ts: "session.next.step.ended" → SessionEvent.Step.Ended, "todo.updated" → SessionTodo.Event.Updated, and "project.updated" → Project.Event.Updated. It also verifies Project.Event.Definitions is [Project.Event.Updated], FileSystem.Event.Definitions is [FileSystem.Event.Edited], Integration.Event.Definitions is [Integration.Event.Updated, Integration.Event.ConnectionUpdated], Permission.Event.Definitions is [Permission.Event.Asked, Permission.Event.Replied], and Reference.Event.Definitions is [Reference.Event.Updated].EventManifest.Latest.has("ide.installed") === false while IdeEvent.Definitions remains [IdeEvent.Installed].EventManifest.Definitions.slice(46, 49) equals [SessionV1.Event.PartDelta, SessionV1.Event.Diff, SessionV1.Event.Error]; EventManifest.Durable excludes "session.next.step.ended.1", maps "session.next.step.ended.2" to SessionEvent.Step.Ended, and maps "session.next.prompt.execution_requested.1" to SessionEvent.PromptExecutionRequested./tmp/opencode/session-recovery-v10-review/packages/schema/src/session-event.ts defines Retried as event type "session.next.retried" with Base, finite numeric attempt: Schema.Finite, and error: RetryError.SessionEvent.Compaction defines: Started ("session.next.compaction.started", durable options, messageID, reason "auto" | "manual"); Delta ("session.next.compaction.delta", messageID, string text, no durable options); and Ended ("session.next.compaction.ended", durable options, messageID, the same reason schema, string text, and string recent).SessionEvent.RevertEvent defines 3 durable events: Staged ("session.next.revert.staged" with revert: Revert.State), Cleared ("session.next.revert.cleared" with Base), and Committed ("session.next.revert.committed" with messageID: SessionMessage.ID).SessionEvent.DurableDefinitions contains exactly this ordered inventory: 1. AgentSwitched, 2. ModelSwitched, 3. Moved, 4. Prompted, 5. PromptAdmitted, 6. PromptExecutionRequested, 7. ContextUpdated, 8. Synthetic, 9. Shell.Started, 10. Shell.Ended, 11. Step.Started, 12. Step.Ended, 13. Step.Failed, 14. Step.Interrupted, 15. Step.Recovered, 16. Text.Started, 17. Text.Ended, 18. Tool.Input.Started, 19. Tool.Input.Ended, 20. Tool.Called, 21. Tool.Progress, 22. Tool.Success, 23. Tool.Failed, 24. Reasoning.Started, 25. Reasoning.Ended, 26. Retried, 27. Compaction.Started, 28. Compaction.Ended, 29. RevertEvent.Staged, 30. RevertEvent.Cleared, 31. RevertEvent.Committed.SessionEvent.Definitions contains the same durable events plus non-durable deltas in this exact ordered inventory: 1. AgentSwitched, 2. ModelSwitched, 3. Moved, 4. Prompted, 5. PromptAdmitted, 6. PromptExecutionRequested, 7. ContextUpdated, 8. Synthetic, 9. Shell.Started, 10. Shell.Ended, 11. Step.Started, 12. Step.Ended, 13. Step.Failed, 14. Step.Interrupted, 15. Step.Recovered, 16. Text.Started, 17. Text.Delta, 18. Text.Ended, 19. Reasoning.Started, 20. Reasoning.Delta, 21. Reasoning.Ended, 22. Tool.Input.Started, 23. Tool.Input.Delta, 24. Tool.Input.Ended, 25. Tool.Called, 26. Tool.Progress, 27. Tool.Success, 28. Tool.Failed, 29. Retried, 30. Compaction.Started, 31. Compaction.Delta, 32. Compaction.Ended, 33. RevertEvent.Staged, 34. RevertEvent.Cleared, 35. RevertEvent.Committed.SessionEvent.Durable is Schema.Union(DurableDefinitions, { mode: "oneOf" }).pipe(Schema.toTaggedUnion("type")).annotate({ identifier: "SessionDurableEvent" }); SessionEvent.All is Schema.Union(Definitions, { mode: "oneOf" }).pipe(Schema.toTaggedUnion("type")), and Type is derived as Event["type"].