markstream-core
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/resolve-streaming-text-state.ts","../src/smooth-stream-controller.ts"],"sourcesContent":[],"mappings":";UAAiB,2BAAA;EAAA,iBAAA,CAAA,EAAA,MAAA;EAYA,iBAAA,CAAA,EAAA,MAAA;EAUL,eAAA,CAAA,EAAA,MAAkB;EAEb,gBAAA,CAAA,EAAA,MAAA;EAaA,gBAAA,CAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EAAA,MAAA;EAKA,iBAAA,CAAA,EAAA,MAAA;;;UA1CA,4BAAA;ECDD,MAAA,EAAA,MAAA;EACd,OAAA,EAAA,MAAA;EACA,IAAA,EAAA,OAAA;EACA,MAAA,EAAA,OAAA;EACC,YAAA,EAAA,MAAA;EAAmC,QAAA,EAAA,OAAA;EAAwB,KAAA,EAAA,OAAA;AAyC9D;AACE,KDnCU,kBAAA,GCmCV,GAAA,GAAA,IAAA;AACA,UDlCe,8BAAA,CCkCf;EACA,WAAA,EAAA,GAAA,GDlCmB,4BCkCnB;EACA,SAAA,EAAA,CAAA,QAAA,EDlCsB,kBCkCtB,EAAA,GAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EACC,MAAA,EAAA,CAAA,OAA4D,CAA5D,EAAA;IAAoC,KAAA,CAAA,EAAA,OAAA;EAAwB,CAAA,EAAA,GAAA,IAAA;;;;ECgR/C,MAAA,EAAA,GAAA,GAAA,IAAA;EACL,OAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,GAAA,GAAA,IAAA;;AACsB,UF5ShB,gCAAA,CE4SgB;;;;;UFtShB,wBAAA;;;;;UAMA,oBAAA;;;;UAKA,iCAAA;;;gBAGD;;;;;;AAzDhB;AAYA;AAUA;AAEA;AAaA;AAMiB,iBChCD,yBAAA,CDgCyB;EAAA,WAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EC5BtC,gCD4BsC,CAAA,EC5BH,wBD4BG;AAMzC;AAKA;;;;AC3CA;;;;AAIG,iBAyCa,0BAAA,CAzCb;EAAA,WAAA;EAAA,gBAAA;EAAA,YAAA;EAAA,iBAAA;EAAA;AAAA,CAAA,EA+CA,iCA/CA,CAAA,EA+CoC,wBA/CpC;;;ADfc,iBE8UD,0BAAA,CF9U4B,OAAA,CAAA,EE+UjC,2BF/UiC,EAAA,MAAA,CAAA,EEgVjC,kBFhViC,CAAA,EEiVzC,8BFjVyC"} | ||
| {"version":3,"file":"index.d.cts","names":["SmoothMarkdownStreamOptions","SmoothMarkdownStreamSnapshot","SmoothStreamNotify","SmoothMarkdownStreamController","ResolveStreamingTextStateOptions","StreamingTextStateResult","StreamingRenderState","ResolveStreamingTextUpdateOptions","ResolveStreamingTextStateOptions","ResolveStreamingTextUpdateOptions","StreamingTextStateResult","resolveStreamingTextState","nextContent","previousContent","typewriterEnabled","resolveStreamingTextUpdate","persistedContent","currentState","streamRenderVersionChanged","SmoothMarkdownStreamController","SmoothMarkdownStreamOptions","SmoothStreamNotify","createSmoothMarkdownStream"],"sources":["../src/types.d.ts","../src/resolve-streaming-text-state.d.ts","../src/smooth-stream-controller.d.ts"],"sourcesContent":["export interface SmoothMarkdownStreamOptions {\n minCharsPerSecond?: number;\n maxCharsPerSecond?: number;\n targetLatencyMs?: number;\n catchUpLatencyMs?: number;\n catchUpThreshold?: number;\n maxCommitFps?: number;\n startDelayMs?: number;\n maxCharsPerCommit?: number;\n flushOnFinish?: boolean;\n}\nexport interface SmoothMarkdownStreamSnapshot {\n source: string;\n visible: string;\n done: boolean;\n paused: boolean;\n pendingChars: number;\n caughtUp: boolean;\n final: boolean;\n}\nexport type SmoothStreamNotify = () => void;\nexport interface SmoothMarkdownStreamController {\n getSnapshot: () => SmoothMarkdownStreamSnapshot;\n subscribe: (listener: SmoothStreamNotify) => () => void;\n enqueue: (chunk: string) => void;\n finish: (options?: {\n flush?: boolean;\n }) => void;\n flush: () => void;\n reset: (initialMarkdown?: string) => void;\n pause: () => void;\n resume: () => void;\n destroy: () => void;\n dispose: () => void;\n}\nexport interface ResolveStreamingTextStateOptions {\n nextContent: string;\n previousContent: string;\n typewriterEnabled: boolean;\n}\nexport interface StreamingTextStateResult {\n settledContent: string;\n streamedDelta: string;\n appended: boolean;\n}\nexport interface StreamingRenderState {\n settledContent: string;\n streamedDelta: string;\n}\nexport interface ResolveStreamingTextUpdateOptions {\n nextContent: string;\n persistedContent?: string;\n currentState: StreamingRenderState;\n typewriterEnabled: boolean;\n streamRenderVersionChanged?: boolean;\n}\n","import type { ResolveStreamingTextStateOptions, ResolveStreamingTextUpdateOptions, StreamingTextStateResult } from './types';\n/**\n * Resolve the next streaming text state given previous content.\n * This is the basic variant used by all frameworks for simple\n * append-detection during streaming updates.\n */\nexport declare function resolveStreamingTextState({ nextContent, previousContent, typewriterEnabled, }: ResolveStreamingTextStateOptions): StreamingTextStateResult;\n/**\n * Resolve the next streaming text state given the current render state\n * and an optional persisted content snapshot (e.g. from a shared stream\n * state map). This variant handles:\n * - React StrictMode replay (preserves active delta when rendered content\n * matches but the stream render version has not changed)\n * - Stream version resets (settles the delta when the version changes)\n * - Fallback to the basic resolver for all other cases\n */\nexport declare function resolveStreamingTextUpdate({ nextContent, persistedContent, currentState, typewriterEnabled, streamRenderVersionChanged, }: ResolveStreamingTextUpdateOptions): StreamingTextStateResult;\n","import type { SmoothMarkdownStreamController, SmoothMarkdownStreamOptions, SmoothStreamNotify } from './types';\nexport declare function createSmoothMarkdownStream(options?: SmoothMarkdownStreamOptions, notify?: SmoothStreamNotify): SmoothMarkdownStreamController;\n"],"mappings":";UAAiBA,2BAAAA;EAAAA,iBAAAA,CAAAA,EAAAA,MAAAA;EAWAC,iBAAAA,CAAAA,EAAAA,MAAAA;EASLC,eAAAA,CAAAA,EAAAA,MAAkB;EACbC,gBAAAA,CAAAA,EAAAA,MAAAA;EAcAC,gBAAAA,CAAAA,EAAAA,MAAAA;EAKAC,YAAAA,CAAAA,EAAAA,MAAAA;EAKAC,YAAAA,CAAAA,EAAAA,MAAAA;EAIAC,iBAAAA,CAAAA,EAAAA,MAAAA;;;UAtCAN,4BAAAA;ECLOU,MAAAA,EAAAA,MAAAA;EAA4BC,OAAAA,EAAAA,MAAAA;EAAaC,IAAAA,EAAAA,OAAAA;EAAiBC,MAAAA,EAAAA,OAAAA;EAAsBN,YAAAA,EAAAA,MAAAA;EAAmCE,QAAAA,EAAAA,OAAAA;EAAwB,KAAA,EAAA,OAAA;AAUnK;AAAqDE,KDIzCV,kBAAAA,GCJyCU,GAAAA,GAAAA,IAAAA;AAAaI,UDKjDb,8BAAAA,CCLiDa;EAAkBC,WAAAA,EAAAA,GAAAA,GDM7DhB,4BCN6DgB;EAAcH,SAAAA,EAAAA,CAAAA,QAAAA,EDOxEZ,kBCPwEY,EAAAA,GAAAA,GAAAA,GAAAA,IAAAA;EAAmBI,OAAAA,EAAAA,CAAAA,KAAAA,EAAAA,MAAAA,EAAAA,GAAAA,IAAAA;EAA+BT,MAAAA,EAAAA,CAAAA,OAA4D,CAA5DA,EAAAA;IAAoCC,KAAAA,CAAAA,EAAAA,OAAAA;EAAwB,CAAA,EAAA,GAAA,IAAA;;;;ECfxLY,MAAAA,EAAAA,GAAAA,GAAAA,IAAAA;EAAqCF,OAAAA,EAAAA,GAAAA,GAAAA,IAAAA;EAAsCC,OAAAA,EAAAA,GAAAA,GAAAA,IAAAA;;AAAmD,UFkCrIjB,gCAAAA,CElCqI;;;;;UFuCrIC,wBAAAA;;;;;UAKAC,oBAAAA;;;;UAIAC,iCAAAA;;;gBAGCD;;;;;;AApDlB;AAWA;AASA;AACA;AAcA;AAKiBD,iBClCOM,yBAAAA,CDkCiB;EAAA,WAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EClC+DH,gCDkC/D,CAAA,EClCkGE,wBDkClG;AAKzC;AAIA;;;;AC3CA;;;;AAAwGF,iBAUhFO,0BAAAA,CAVgFP;EAAAA,WAAAA;EAAAA,gBAAAA;EAAAA,YAAAA;EAAAA,iBAAAA;EAAAA;AAAAA,CAAAA,EAU4CC,iCAV5CD,CAAAA,EAUgFE,wBAVhFF;;;ADNvFR,iBECOsB,0BAAAA,CFDoB,OAAA,CAAA,EECiBF,2BFDjB,EAAA,MAAA,CAAA,EECuDC,kBFDvD,CAAA,EEC4EF,8BFD5E"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/resolve-streaming-text-state.ts","../src/smooth-stream-controller.ts"],"sourcesContent":[],"mappings":";UAAiB,2BAAA;EAAA,iBAAA,CAAA,EAAA,MAAA;EAYA,iBAAA,CAAA,EAAA,MAAA;EAUL,eAAA,CAAA,EAAA,MAAkB;EAEb,gBAAA,CAAA,EAAA,MAAA;EAaA,gBAAA,CAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EAAA,MAAA;EAKA,iBAAA,CAAA,EAAA,MAAA;;;UA1CA,4BAAA;ECDD,MAAA,EAAA,MAAA;EACd,OAAA,EAAA,MAAA;EACA,IAAA,EAAA,OAAA;EACA,MAAA,EAAA,OAAA;EACC,YAAA,EAAA,MAAA;EAAmC,QAAA,EAAA,OAAA;EAAwB,KAAA,EAAA,OAAA;AAyC9D;AACE,KDnCU,kBAAA,GCmCV,GAAA,GAAA,IAAA;AACA,UDlCe,8BAAA,CCkCf;EACA,WAAA,EAAA,GAAA,GDlCmB,4BCkCnB;EACA,SAAA,EAAA,CAAA,QAAA,EDlCsB,kBCkCtB,EAAA,GAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EACC,MAAA,EAAA,CAAA,OAA4D,CAA5D,EAAA;IAAoC,KAAA,CAAA,EAAA,OAAA;EAAwB,CAAA,EAAA,GAAA,IAAA;;;;ECgR/C,MAAA,EAAA,GAAA,GAAA,IAAA;EACL,OAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,GAAA,GAAA,IAAA;;AACsB,UF5ShB,gCAAA,CE4SgB;;;;;UFtShB,wBAAA;;;;;UAMA,oBAAA;;;;UAKA,iCAAA;;;gBAGD;;;;;;AAzDhB;AAYA;AAUA;AAEA;AAaA;AAMiB,iBChCD,yBAAA,CDgCyB;EAAA,WAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EC5BtC,gCD4BsC,CAAA,EC5BH,wBD4BG;AAMzC;AAKA;;;;AC3CA;;;;AAIG,iBAyCa,0BAAA,CAzCb;EAAA,WAAA;EAAA,gBAAA;EAAA,YAAA;EAAA,iBAAA;EAAA;AAAA,CAAA,EA+CA,iCA/CA,CAAA,EA+CoC,wBA/CpC;;;ADfc,iBE8UD,0BAAA,CF9U4B,OAAA,CAAA,EE+UjC,2BF/UiC,EAAA,MAAA,CAAA,EEgVjC,kBFhViC,CAAA,EEiVzC,8BFjVyC"} | ||
| {"version":3,"file":"index.d.ts","names":["SmoothMarkdownStreamOptions","SmoothMarkdownStreamSnapshot","SmoothStreamNotify","SmoothMarkdownStreamController","ResolveStreamingTextStateOptions","StreamingTextStateResult","StreamingRenderState","ResolveStreamingTextUpdateOptions"],"sources":["../src/types.d.ts","../src/resolve-streaming-text-state.ts","../src/smooth-stream-controller.ts"],"sourcesContent":["export interface SmoothMarkdownStreamOptions {\n minCharsPerSecond?: number;\n maxCharsPerSecond?: number;\n targetLatencyMs?: number;\n catchUpLatencyMs?: number;\n catchUpThreshold?: number;\n maxCommitFps?: number;\n startDelayMs?: number;\n maxCharsPerCommit?: number;\n flushOnFinish?: boolean;\n}\nexport interface SmoothMarkdownStreamSnapshot {\n source: string;\n visible: string;\n done: boolean;\n paused: boolean;\n pendingChars: number;\n caughtUp: boolean;\n final: boolean;\n}\nexport type SmoothStreamNotify = () => void;\nexport interface SmoothMarkdownStreamController {\n getSnapshot: () => SmoothMarkdownStreamSnapshot;\n subscribe: (listener: SmoothStreamNotify) => () => void;\n enqueue: (chunk: string) => void;\n finish: (options?: {\n flush?: boolean;\n }) => void;\n flush: () => void;\n reset: (initialMarkdown?: string) => void;\n pause: () => void;\n resume: () => void;\n destroy: () => void;\n dispose: () => void;\n}\nexport interface ResolveStreamingTextStateOptions {\n nextContent: string;\n previousContent: string;\n typewriterEnabled: boolean;\n}\nexport interface StreamingTextStateResult {\n settledContent: string;\n streamedDelta: string;\n appended: boolean;\n}\nexport interface StreamingRenderState {\n settledContent: string;\n streamedDelta: string;\n}\nexport interface ResolveStreamingTextUpdateOptions {\n nextContent: string;\n persistedContent?: string;\n currentState: StreamingRenderState;\n typewriterEnabled: boolean;\n streamRenderVersionChanged?: boolean;\n}\n"],"mappings":";UAAiBA,2BAAAA;EAAAA,iBAAAA,CAAAA,EAAAA,MAAAA;EAWAC,iBAAAA,CAAAA,EAAAA,MAAAA;EASLC,eAAAA,CAAAA,EAAAA,MAAkB;EACbC,gBAAAA,CAAAA,EAAAA,MAAAA;EAcAC,gBAAAA,CAAAA,EAAAA,MAAAA;EAKAC,YAAAA,CAAAA,EAAAA,MAAAA;EAKAC,YAAAA,CAAAA,EAAAA,MAAAA;EAIAC,iBAAAA,CAAAA,EAAAA,MAAAA;;;UAtCAN,4BAAAA;ECAD,MAAA,EAAA,MAAA;EACd,OAAA,EAAA,MAAA;EACA,IAAA,EAAA,OAAA;EACA,MAAA,EAAA,OAAA;EACC,YAAA,EAAA,MAAA;EAAmC,QAAA,EAAA,OAAA;EAAwB,KAAA,EAAA,OAAA;AAyC9D;AACE,KDrCUC,kBAAAA,GCqCV,GAAA,GAAA,IAAA;AACA,UDrCeC,8BAAAA,CCqCf;EACA,WAAA,EAAA,GAAA,GDrCqBF,4BCqCrB;EACA,SAAA,EAAA,CAAA,QAAA,EDrCwBC,kBCqCxB,EAAA,GAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EACC,MAAA,EAAA,CAAA,OAA4D,CAA5D,EAAA;IAAoC,KAAA,CAAA,EAAA,OAAA;EAAwB,CAAA,EAAA,GAAA,IAAA;;;;ECgR/C,MAAA,EAAA,GAAA,GAAA,IAAA;EACL,OAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAA,EAAA,GAAA,GAAA,IAAA;;AACsB,UF9ShBE,gCAAAA,CE8SgB;;;;;UFzShBC,wBAAAA;;;;;UAKAC,oBAAAA;;;;UAIAC,iCAAAA;;;gBAGCD;;;;;;AApDlB;AAWA;AASA;AACA;AAcA;AAKiBD,iBC7BD,yBAAA,CD6ByB;EAAA,WAAA;EAAA,eAAA;EAAA;AAAA,CAAA,ECzBtC,gCDyBsC,CAAA,ECzBH,wBDyBG;AAKzC;AAIA;;;;ACtCA;;;;AAIG,iBAyCa,0BAAA,CAzCb;EAAA,WAAA;EAAA,gBAAA;EAAA,YAAA;EAAA,iBAAA;EAAA;AAAA,CAAA,EA+CA,iCA/CA,CAAA,EA+CoC,wBA/CpC;;;ADfcL,iBE8UD,0BAAA,CF9U4B,OAAA,CAAA,EE+UjC,2BF/UiC,EAAA,MAAA,CAAA,EEgVjC,kBFhViC,CAAA,EEiVzC,8BFjVyC"} |
+2
-2
| { | ||
| "name": "markstream-core", | ||
| "type": "module", | ||
| "version": "0.0.1", | ||
| "version": "1.0.0-rc.0", | ||
| "description": "Framework-agnostic smooth streaming controller and streaming text state utilities for Markstream", | ||
@@ -43,3 +43,3 @@ "author": "Simon He", | ||
| "typescript": "^5.9.3", | ||
| "vitest": "^4.1.2" | ||
| "vitest": "^4.1.6" | ||
| }, | ||
@@ -46,0 +46,0 @@ "scripts": { |
58529
11.04%