Files
deepseek-harness/packages/session/session-format-catalog/src/generated.ts
T

32 lines
1.5 KiB
TypeScript

/**
* 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 { validateInstalledCurrentSessionArtifact, validateInstalledCurrentSessionHeader } from './current.ts'
import { releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, sessionFormatV0ToV1 } from '@deepseek-ai/dsh-session-format-v0-to-v1'
import { assertReleasedV2Header, releasedV2SessionFormatCodec, restoreReleasedV2Artifact, sessionFormatV1ToV2 } from '@deepseek-ai/dsh-session-format-v1-to-v2'
/** Physical codec dispatch and complete adjacent chain, independent of mounted plugins. */
export const sessionFormatCatalog = createSessionFormatCatalog({
currentVersion: 2,
codecs: [releasedV0SessionFormatCodec, releasedV1SessionFormatCodec, releasedV2SessionFormatCodec],
currentEncoder: releasedV2SessionFormatCodec,
migrations: [sessionFormatV0ToV1, sessionFormatV1ToV2],
restoreCurrent(artifact) {
const restored = restoreReleasedV2Artifact(artifact, KNOWN_SESSION_EVENT_TYPES)
validateInstalledCurrentSessionArtifact(restored)
return restored
},
restoreTransformedCurrent(artifact) {
return restoreReleasedV2Artifact(artifact, KNOWN_SESSION_EVENT_TYPES)
},
restoreCurrentHeader(header) {
assertReleasedV2Header(header)
validateInstalledCurrentSessionHeader(header)
return header
},
})