diff --git a/packages/core/session/src/index.ts b/packages/core/session/src/index.ts index 1e398effef..6875a29f6f 100644 --- a/packages/core/session/src/index.ts +++ b/packages/core/session/src/index.ts @@ -203,7 +203,7 @@ export function snapshotSessionEvent(event: T): T { return adoptSessionEvent(structuredClone(event)) } -/** Deep-freeze one acyclic object tree materialized by JSON parsing. */ +/** Deep-freeze one acyclic object tree materialized by JSON parsing. input is stackoverflow-safe */ function freezeRestoredObject(value: T): T { Object.freeze(value) for (const key in value) { diff --git a/packages/session-persistence/session-persistence-jsonl/src/index.ts b/packages/session-persistence/session-persistence-jsonl/src/index.ts index 982af6daab..bb6aacfc67 100644 --- a/packages/session-persistence/session-persistence-jsonl/src/index.ts +++ b/packages/session-persistence/session-persistence-jsonl/src/index.ts @@ -34,7 +34,8 @@ export type { JsonlCompression } from './format.ts' const DEFAULT_PACK_CHUNKS = true const DEFAULT_COMPRESSION: JsonlCompression = 'zstd' -const ZSTD_DECODE_YIELD_INTERVAL_MS = 1000 +/** internal yield interval. */ +const ZSTD_DECODE_YIELD_INTERVAL_MS = 500 /** Assert that the independently decodable first frame contains only the header record. */ function assertZstdHeaderFrame(plaintext: Buffer): void {