/** * GENERATED by `scripts/gen-session-format-catalog.ts` — do not edit by hand. * The direct imports make historical readability independent of mounted plugins. */ import { KNOWN_SESSION_EVENT_TYPES } from '@deepseek-ai/dsh-session' import { createSessionFormatCatalog } from '@deepseek-ai/dsh-session-format' import type { SessionFormatCatalogOptions } from '@deepseek-ai/dsh-session-format' import { validateInstalledCurrentSessionArtifact, validateInstalledCurrentSessionHeader } from './current.ts' import { releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, sessionFormatV0ToV1 } from '@deepseek-ai/dsh-session-format-v0-to-v1' import { releasedV2SessionFormatCodec, sessionFormatV1ToV2 } from '@deepseek-ai/dsh-session-format-v1-to-v2' import { releasedV3SessionFormatCodec, sessionFormatV2ToV3 } from '@deepseek-ai/dsh-session-format-v2-to-v3' import { assertReleasedV4Header, releasedV4SessionFormatCodec, restoreReleasedV4Artifact, sessionFormatV3ToV4 } from '@deepseek-ai/dsh-session-format-v3-to-v4' /** Static assembly shared by current reads and parent-specific historical restoration. */ export const sessionFormatCatalogOptions: SessionFormatCatalogOptions = { currentVersion: 4, codecs: [ releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, releasedV2SessionFormatCodec, releasedV3SessionFormatCodec, releasedV4SessionFormatCodec, ], currentEncoder: releasedV4SessionFormatCodec, migrations: [ sessionFormatV0ToV1, sessionFormatV1ToV2, sessionFormatV2ToV3, sessionFormatV3ToV4, ], restoreCurrent(artifact) { const restored = restoreReleasedV4Artifact(artifact, KNOWN_SESSION_EVENT_TYPES) validateInstalledCurrentSessionArtifact(restored) return restored }, restoreTransformedCurrent(artifact) { return restoreReleasedV4Artifact(artifact, KNOWN_SESSION_EVENT_TYPES) }, restoreCurrentHeader(header) { assertReleasedV4Header(header) validateInstalledCurrentSessionHeader(header) return header }, } /** Physical codec dispatch and complete adjacent chain, independent of mounted plugins. */ export const sessionFormatCatalog = createSessionFormatCatalog(sessionFormatCatalogOptions)