session-message.test.ts 725 B

123456789101112131415161718192021
  1. import { describe, expect, test } from "bun:test"
  2. import { Schema } from "effect"
  3. import { SessionMessage } from "../src/session-message.js"
  4. describe("session message", () => {
  5. test("decodes completed compactions recorded before model attribution", () => {
  6. const encoded = {
  7. type: "compaction" as const,
  8. id: "msg_compaction",
  9. time: { created: 0 },
  10. status: "completed" as const,
  11. reason: "manual" as const,
  12. summary: "summary",
  13. recent: "",
  14. }
  15. const message = Schema.decodeUnknownSync(SessionMessage.CompactionCompleted)(encoded)
  16. expect(message.model).toBeUndefined()
  17. expect(Schema.encodeSync(SessionMessage.CompactionCompleted)(message)).toEqual(encoded)
  18. })
  19. })