markstream-octane 2.0.18 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -152,6 +152,8 @@ interface LinkNodeProps {
152
152
  }[];
153
153
  raw: string;
154
154
  loading?: boolean;
155
+ /** `'linkify'` marks links auto-detected from bare text. */
156
+ markup?: string;
155
157
  };
156
158
  indexKey: number | string;
157
159
  customId?: string;
@@ -592,6 +594,8 @@ declare function LinkNode(props: NodeComponentProps<{
592
594
  text: string;
593
595
  children?: ParsedNode[];
594
596
  loading?: boolean;
597
+ /** `'linkify'` marks links auto-detected from bare text. */
598
+ markup?: string;
595
599
  }> & LinkNodeStyleProps): octane_jsx_runtime.Octane.JSX.Element;
596
600
 
597
601
  interface ListItemNodeData {
package/dist/server.d.ts CHANGED
@@ -173,6 +173,8 @@ interface LinkNodeProps {
173
173
  }[];
174
174
  raw: string;
175
175
  loading?: boolean;
176
+ /** `'linkify'` marks links auto-detected from bare text. */
177
+ markup?: string;
176
178
  };
177
179
  indexKey: number | string;
178
180
  customId?: string;
package/dist/tailwind.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const safeList = `octane class=\"checkbox-node\"><input error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix class=\"admonition-header\"><!><span data-index-key id typeof note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated string en utf-8 viewport content="width=device-width initial-scale=1 event.key html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr font-semibold p-[calc(4/7*1em)] table-node__resize-handle aria-label rowIdx bodyRows.length auto aria-busy clsx text-left pointermove pointerup pointercancel my-8 text-sm isLoading table-node__loading status aria-live polite table-node__spinner sr-only dependency is not install it to enable heading-node object html-block-node ref className stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 class=\"inline-code inline text-[85%] px-1 py-0.5 rounded font-mono bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b markstream-core mermaid none loose strict hidden viewBox gantt top open-modal keydown fullscreen [data-mermaid-wrapper] mermaid-action-btn p-2 text-xs text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 toggle-mode preview touch relative absolute top-2 right-2 z-10 rounded-lg flex items-center gap-2 backdrop-blur transition-colors common.zoomIn common.zoomOut −\n common.resetZoom min-h-[360px] overflow-hidden block transition-[height] duration-150 data-mermaid-wrapper inset-0 w-full text-center justify-center min-h-full mermaid-loading mermaid-spinner diagram… mermaid-block-header justify-between px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 space-x-2 icon-slot h-4 w-4 flex-shrink-0 font-medium space-x-1 rounded-md px-2.5 py-1 bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 common.preview aria-hidden w-3 h-3 currentColor round source common.source m16 aria-pressed m9 opacity-50 common.export m7 m14 p-4 bg-gray-900 text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid showSource hasRenderedOnce my-4 border markstream-octane mermaid-modal-overlay dialog aria-modal mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort name markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing render returned empty d2-block text-gray-100 text-gray-900 d2-block-header border-gray-400/5 gap-x-2 gap-x-1 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 token.type child value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading class=\"unknown-node italic\">\n node type:\n class=\"list-item pl-1.5 list-item node.type next.maxHeight infographic language boolean code_block html_inline paragraph text_special heading list list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak image inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close ?? paragraph-node child.type renderNode ctx cannot delete global clearGlobalCustomComponents was provided in streamingComponents entry will be used parser-backed primary fallback failed async placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] click class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n $$click href smooth mouseenter mouseleave class=\"reference-node cursor-pointer bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div library rendered text-red-500 transform ease center data-markstream-infographic data-markstream-mode hasPreview cursor-not-allowed infographic-preview transition-all duration-100 overflow-auto isDragging fixed z-50 bg-black/70 dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"footnote-reference\"><span>\n footnote-link animationend $$animationend text-node node.center zoom class=\"hr-node dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 is-dark tooltip [katexWorkerClient] init cache-hit timeout waiting slot javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql class=\"math-block overflow-x-auto math-rendering thinking document class children key module did expected normalizedType viteEnv.MODE development process markstream-octane-d2 role aria-describedby globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code $$ math-inline__loading math-inline__spinner indexKey prototype constructor °C target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] markdown-renderer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
1
+ const safeList = `octane typeof clsx name markstream-d2-root-svg string number window.requestAnimationFrame d2InstanceRef.current is not instance.render throw new instance missing object render returned empty to top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md mode-btn px-2 py-1 text-xs !showSource showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden w-3 h-3 none currentColor round aria-pressed m9 d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 error [mermaidWorkerClient] messageerror cleared worker inject via busy call timed out canParse findPrefix class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition data-index-key mb-4 dt definition-term font-semibold dd definition-desc ml-4 click class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n $$click href smooth class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div id class=\"footnote-reference\"><span>\n footnote-link cursor-pointer className ref auto heading-node html-block-node stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 token.type block child value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading inline primary fallback failed image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load markstream-core w-4 h-4 flex-shrink-0 library in rendered text-red-500 p-4 hidden keydown transform ease center fullscreen touch rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic data-markstream-mode source hasPreview bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 overflow-auto text-left isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b class=\"list-item pl-1.5 list-item list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list mermaid loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-2 icon-slot space-x-1 common.preview common.source common.export text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort paragraph paragraph-node child.type renderNode ctx class=\"unknown-node italic\">\n node type:\n mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length aria-busy pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only animationend $$animationend text-node node.center class=\"hr-node boolean dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 is-dark tooltip cannot delete global clearGlobalCustomComponents was provided both streamingComponents and entry will be used parser-backed zoom javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql [katexWorkerClient] init cache-hit timeout waiting slot dependency install it enable class=\"admonition-header\"><!><span note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby node.type next.maxHeight infographic language code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close [markstream-octane] htmlPreviewSandbox contains allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"checkbox-node\"><input thinking markstream-octane-d2 normalizedType module did expected data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code class children key viteEnv.MODE development process indexKey prototype constructor °C class=\"math-block overflow-x-auto math-rendering document role aria-describedby globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph $$ math-inline__loading math-inline__spinner target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] markdown-renderer cite value?.useMonaco stream-diffs/markstream stream-diffs runtime`;
2
2
  module.exports = safeList;
3
3
  module.exports.safeList = safeList;
4
4
  module.exports.default = safeList;
package/dist/tailwind.js CHANGED
@@ -1,2 +1,2 @@
1
- export const safeList = `octane class=\"checkbox-node\"><input error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix class=\"admonition-header\"><!><span data-index-key id typeof note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated string en utf-8 viewport content="width=device-width initial-scale=1 event.key html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr font-semibold p-[calc(4/7*1em)] table-node__resize-handle aria-label rowIdx bodyRows.length auto aria-busy clsx text-left pointermove pointerup pointercancel my-8 text-sm isLoading table-node__loading status aria-live polite table-node__spinner sr-only dependency is not install it to enable heading-node object html-block-node ref className stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 class=\"inline-code inline text-[85%] px-1 py-0.5 rounded font-mono bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b markstream-core mermaid none loose strict hidden viewBox gantt top open-modal keydown fullscreen [data-mermaid-wrapper] mermaid-action-btn p-2 text-xs text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 toggle-mode preview touch relative absolute top-2 right-2 z-10 rounded-lg flex items-center gap-2 backdrop-blur transition-colors common.zoomIn common.zoomOut −\n common.resetZoom min-h-[360px] overflow-hidden block transition-[height] duration-150 data-mermaid-wrapper inset-0 w-full text-center justify-center min-h-full mermaid-loading mermaid-spinner diagram… mermaid-block-header justify-between px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 space-x-2 icon-slot h-4 w-4 flex-shrink-0 font-medium space-x-1 rounded-md px-2.5 py-1 bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 common.preview aria-hidden w-3 h-3 currentColor round source common.source m16 aria-pressed m9 opacity-50 common.export m7 m14 p-4 bg-gray-900 text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid showSource hasRenderedOnce my-4 border markstream-octane mermaid-modal-overlay dialog aria-modal mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort name markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing render returned empty d2-block text-gray-100 text-gray-900 d2-block-header border-gray-400/5 gap-x-2 gap-x-1 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 token.type child value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading class=\"unknown-node italic\">\n node type:\n class=\"list-item pl-1.5 list-item node.type next.maxHeight infographic language boolean code_block html_inline paragraph text_special heading list list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak image inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close ?? paragraph-node child.type renderNode ctx cannot delete global clearGlobalCustomComponents was provided in streamingComponents entry will be used parser-backed primary fallback failed async placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] click class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n $$click href smooth mouseenter mouseleave class=\"reference-node cursor-pointer bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div library rendered text-red-500 transform ease center data-markstream-infographic data-markstream-mode hasPreview cursor-not-allowed infographic-preview transition-all duration-100 overflow-auto isDragging fixed z-50 bg-black/70 dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"footnote-reference\"><span>\n footnote-link animationend $$animationend text-node node.center zoom class=\"hr-node dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 is-dark tooltip [katexWorkerClient] init cache-hit timeout waiting slot javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql class=\"math-block overflow-x-auto math-rendering thinking document class children key module did expected normalizedType viteEnv.MODE development process markstream-octane-d2 role aria-describedby globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code $$ math-inline__loading math-inline__spinner indexKey prototype constructor °C target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] markdown-renderer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
1
+ export const safeList = `octane typeof clsx name markstream-d2-root-svg string number window.requestAnimationFrame d2InstanceRef.current is not instance.render throw new instance missing object render returned empty to top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md mode-btn px-2 py-1 text-xs !showSource showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden w-3 h-3 none currentColor round aria-pressed m9 d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 error [mermaidWorkerClient] messageerror cleared worker inject via busy call timed out canParse findPrefix class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition data-index-key mb-4 dt definition-term font-semibold dd definition-desc ml-4 click class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n $$click href smooth class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div id class=\"footnote-reference\"><span>\n footnote-link cursor-pointer className ref auto heading-node html-block-node stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 token.type block child value ms-html text self_closing tag_open tag_close parse html-inline dynamic template html-inline-node html-inline-node--loading inline primary fallback failed image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error load markstream-core w-4 h-4 flex-shrink-0 library in rendered text-red-500 p-4 hidden keydown transform ease center fullscreen touch rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic data-markstream-mode source hasPreview bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 overflow-auto text-left isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b class=\"list-item pl-1.5 list-item list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list mermaid loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-2 icon-slot space-x-1 common.preview common.source common.export text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort paragraph paragraph-node child.type renderNode ctx class=\"unknown-node italic\">\n node type:\n mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length aria-busy pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only animationend $$animationend text-node node.center class=\"hr-node boolean dark window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 is-dark tooltip cannot delete global clearGlobalCustomComponents was provided both streamingComponents and entry will be used parser-backed zoom javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql [katexWorkerClient] init cache-hit timeout waiting slot dependency install it enable class=\"admonition-header\"><!><span note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby node.type next.maxHeight infographic language code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close [markstream-octane] htmlPreviewSandbox contains allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"checkbox-node\"><input thinking markstream-octane-d2 normalizedType module did expected data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code class children key viteEnv.MODE development process indexKey prototype constructor °C class=\"math-block overflow-x-auto math-rendering document role aria-describedby globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph $$ math-inline__loading math-inline__spinner target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-octane][perf] markdown-renderer cite value?.useMonaco stream-diffs/markstream stream-diffs runtime`;
2
2
  export default safeList;
@@ -18,5 +18,7 @@ export declare function LinkNode(props: NodeComponentProps<{
18
18
  text: string;
19
19
  children?: ParsedNode[];
20
20
  loading?: boolean;
21
+ /** `'linkify'` marks links auto-detected from bare text. */
22
+ markup?: string;
21
23
  }> & LinkNodeStyleProps): import("octane/jsx-runtime").Octane.JSX.Element;
22
24
  export default LinkNode;
@@ -116,6 +116,8 @@ export interface LinkNodeProps {
116
116
  }[];
117
117
  raw: string;
118
118
  loading?: boolean;
119
+ /** `'linkify'` marks links auto-detected from bare text. */
120
+ markup?: string;
119
121
  };
120
122
  indexKey: number | string;
121
123
  customId?: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-octane",
3
3
  "type": "module",
4
- "version": "2.0.18",
4
+ "version": "2.0.19",
5
5
  "description": "Octane streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long documents, Mermaid, KaTeX, stream-diffs powered code blocks, and custom Octane components.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -104,8 +104,8 @@
104
104
  "dependencies": {
105
105
  "@floating-ui/dom": "^1.8.0",
106
106
  "clsx": "^2.1.1",
107
- "markstream-core": "2.0.18",
108
- "stream-markdown-parser": "1.2.19"
107
+ "markstream-core": "2.0.19",
108
+ "stream-markdown-parser": "1.2.20"
109
109
  },
110
110
  "devDependencies": {
111
111
  "@octanejs/testing-library": "^0.1.18",