generated.ts 1.5 KB

12345678910111213141516171819202122232425262728
  1. /**
  2. * GENERATED by `scripts/gen-session-format-catalog.ts` — do not edit by hand.
  3. * The direct imports make historical readability independent of mounted plugins.
  4. */
  5. import { KNOWN_SESSION_EVENT_TYPES } from '@deepseek-ai/dsh-session'
  6. import { createSessionFormatCatalog } from '@deepseek-ai/dsh-session-format'
  7. import { validateInstalledCurrentSessionArtifact, validateInstalledCurrentSessionHeader } from './current.ts'
  8. import { releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, sessionFormatV0ToV1 } from '@deepseek-ai/dsh-session-format-v0-to-v1'
  9. import { assertReleasedV2Header, releasedV2SessionFormatCodec, restoreReleasedV2Artifact, sessionFormatV1ToV2 } from '@deepseek-ai/dsh-session-format-v1-to-v2'
  10. /** Physical codec dispatch and complete adjacent chain, independent of mounted plugins. */
  11. export const sessionFormatCatalog = createSessionFormatCatalog({
  12. currentVersion: 2,
  13. codecs: [releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, releasedV2SessionFormatCodec],
  14. encodeCurrentArtifact: artifact => releasedV2SessionFormatCodec.encodeArtifact(artifact),
  15. migrations: [sessionFormatV0ToV1, sessionFormatV1ToV2],
  16. restoreCurrent(artifact) {
  17. const restored = restoreReleasedV2Artifact(artifact, KNOWN_SESSION_EVENT_TYPES)
  18. validateInstalledCurrentSessionArtifact(restored)
  19. return restored
  20. },
  21. restoreCurrentHeader(header) {
  22. assertReleasedV2Header(header)
  23. validateInstalledCurrentSessionHeader(header)
  24. return header
  25. },
  26. })