@flamingo-stack/openframe-frontend-core 0.0.497 → 0.0.498-1506.4000.1
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/chat-protocol/decode.d.ts +58 -0
- package/dist/chat-protocol/decode.d.ts.map +1 -0
- package/dist/chat-protocol/encode.d.ts +44 -0
- package/dist/chat-protocol/encode.d.ts.map +1 -0
- package/dist/chat-protocol/env-flag.d.ts +35 -0
- package/dist/chat-protocol/env-flag.d.ts.map +1 -0
- package/dist/chat-protocol/events.d.ts +207 -0
- package/dist/chat-protocol/events.d.ts.map +1 -0
- package/dist/chat-protocol/frames.d.ts +213 -0
- package/dist/chat-protocol/frames.d.ts.map +1 -0
- package/dist/chat-protocol/index.cjs +500 -0
- package/dist/chat-protocol/index.cjs.map +1 -0
- package/dist/chat-protocol/index.d.ts +18 -0
- package/dist/chat-protocol/index.d.ts.map +1 -0
- package/dist/chat-protocol/index.js +484 -0
- package/dist/chat-protocol/index.js.map +1 -0
- package/dist/chat-protocol/ip-normalize.d.ts +44 -0
- package/dist/chat-protocol/ip-normalize.d.ts.map +1 -0
- package/dist/chat-protocol/nats-decoder.d.ts +26 -0
- package/dist/chat-protocol/nats-decoder.d.ts.map +1 -0
- package/dist/{chunk-2DER2JSI.cjs → chunk-242K7LZY.cjs} +11 -11
- package/dist/{chunk-2DER2JSI.cjs.map → chunk-242K7LZY.cjs.map} +1 -1
- package/dist/{chunk-VBSS4TPV.cjs → chunk-2LYA3RBT.cjs} +37 -37
- package/dist/{chunk-VBSS4TPV.cjs.map → chunk-2LYA3RBT.cjs.map} +1 -1
- package/dist/{chunk-ZPUCCSYA.js → chunk-34C2JV2C.js} +2 -2
- package/dist/{chunk-GWVNRXJU.js → chunk-3VGRZ62V.js} +2 -2
- package/dist/{chunk-AAHAVML2.js → chunk-42NYDEHH.js} +2 -2
- package/dist/{chunk-ZEHA4IC7.js → chunk-42SMPKGY.js} +2 -2
- package/dist/{chunk-RTG5DJWM.cjs → chunk-44C23SSC.cjs} +5 -5
- package/dist/{chunk-RTG5DJWM.cjs.map → chunk-44C23SSC.cjs.map} +1 -1
- package/dist/{chunk-SL62IZ3I.cjs → chunk-4KKGHPNE.cjs} +9 -9
- package/dist/{chunk-SL62IZ3I.cjs.map → chunk-4KKGHPNE.cjs.map} +1 -1
- package/dist/{chunk-X2CYUCGL.cjs → chunk-5BQWVNRS.cjs} +62 -62
- package/dist/{chunk-X2CYUCGL.cjs.map → chunk-5BQWVNRS.cjs.map} +1 -1
- package/dist/{chunk-HRUXC3YN.js → chunk-5QWYIPMH.js} +2 -2
- package/dist/{chunk-NT3BKPEC.js → chunk-5ZY5JM4Z.js} +10 -10
- package/dist/chunk-5ZY5JM4Z.js.map +1 -0
- package/dist/{chunk-4C764VBX.cjs → chunk-62TM2RVZ.cjs} +26 -26
- package/dist/{chunk-4C764VBX.cjs.map → chunk-62TM2RVZ.cjs.map} +1 -1
- package/dist/{chunk-YBTYHIXA.js → chunk-632XJ2ZT.js} +6 -5
- package/dist/chunk-632XJ2ZT.js.map +1 -0
- package/dist/{chunk-DGDUOFNY.js → chunk-BUBQEZ5J.js} +2 -2
- package/dist/{chunk-ZAAIVSX6.js → chunk-D3LUKR2Y.js} +11964 -9714
- package/dist/chunk-D3LUKR2Y.js.map +1 -0
- package/dist/{chunk-5KSXMJXF.cjs → chunk-EO35UHFT.cjs} +60 -60
- package/dist/chunk-EO35UHFT.cjs.map +1 -0
- package/dist/{chunk-5YKUEZIA.cjs → chunk-EORFD5WB.cjs} +15 -15
- package/dist/{chunk-5YKUEZIA.cjs.map → chunk-EORFD5WB.cjs.map} +1 -1
- package/dist/{chunk-MEIMDHQ2.cjs → chunk-F7XPMG25.cjs} +28 -27
- package/dist/chunk-F7XPMG25.cjs.map +1 -0
- package/dist/{chunk-I74ADMZS.cjs → chunk-H6GFQ4AO.cjs} +7 -7
- package/dist/{chunk-I74ADMZS.cjs.map → chunk-H6GFQ4AO.cjs.map} +1 -1
- package/dist/{chunk-EOYFMWDT.cjs → chunk-J3NHQ4JB.cjs} +31 -31
- package/dist/{chunk-EOYFMWDT.cjs.map → chunk-J3NHQ4JB.cjs.map} +1 -1
- package/dist/{chunk-23QJPSZJ.cjs → chunk-SS3D3DHL.cjs} +7049 -4799
- package/dist/chunk-SS3D3DHL.cjs.map +1 -0
- package/dist/{chunk-6XQGPFIR.js → chunk-WNXIG6YY.js} +2 -2
- package/dist/{chunk-5INZDVGI.js → chunk-WZCQW4MW.js} +4 -4
- package/dist/{chunk-B3MRHZNZ.js → chunk-ZHC2BCXK.js} +4 -4
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +0 -1
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chunk-catchup.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +15 -48
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +10 -57
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +10 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +21 -13
- package/dist/components/chat/stream/chat-dialog-store.d.ts +184 -0
- package/dist/components/chat/stream/chat-dialog-store.d.ts.map +1 -0
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +367 -0
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -0
- package/dist/components/chat/stream/delta-batcher.d.ts +51 -0
- package/dist/components/chat/stream/delta-batcher.d.ts.map +1 -0
- package/dist/components/chat/stream/index.d.ts +17 -0
- package/dist/components/chat/stream/index.d.ts.map +1 -0
- package/dist/components/chat/stream/message-mutations.d.ts +77 -0
- package/dist/components/chat/stream/message-mutations.d.ts.map +1 -0
- package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +22 -0
- package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +1 -0
- package/dist/components/chat/types/api.types.d.ts +1 -81
- package/dist/components/chat/types/api.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +2 -93
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +34 -6
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +2 -3
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts +59 -11
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +172 -130
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +63 -21
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +44 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +1 -2
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +55 -13
- package/dist/components/ui/markdown/base-components.d.ts +51 -0
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -0
- package/dist/components/ui/markdown/engine.d.ts +99 -0
- package/dist/components/ui/markdown/engine.d.ts.map +1 -0
- package/dist/components/ui/markdown/heading-ids.d.ts +65 -0
- package/dist/components/ui/markdown/heading-ids.d.ts.map +1 -0
- package/dist/components/ui/markdown/index.d.ts +18 -0
- package/dist/components/ui/markdown/index.d.ts.map +1 -0
- package/dist/components/ui/markdown/mermaid-diagram.d.ts +79 -0
- package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -0
- package/dist/components/ui/markdown/rich/embed-overrides.d.ts +14 -0
- package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -0
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +40 -0
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -0
- package/dist/components/ui/markdown/rich/shortcodes.d.ts +8 -0
- package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +1 -0
- package/dist/components/ui/markdown/sanitize.d.ts +153 -0
- package/dist/components/ui/markdown/sanitize.d.ts.map +1 -0
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +23 -0
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -0
- package/dist/components/ui/markdown/streaming.d.ts +78 -0
- package/dist/components/ui/markdown/streaming.d.ts.map +1 -0
- package/dist/components/ui/markdown/text-size.d.ts +34 -0
- package/dist/components/ui/markdown/text-size.d.ts.map +1 -0
- package/dist/index.cjs +60 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +71 -13
- package/dist/utils/index.cjs +169 -40
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +162 -41
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/markdown-fences.d.ts +42 -0
- package/dist/utils/markdown-fences.d.ts.map +1 -0
- package/dist/utils/markdown-heading-id.d.ts +85 -0
- package/dist/utils/markdown-heading-id.d.ts.map +1 -0
- package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +317 -0
- package/src/chat-protocol/__tests__/chat-protocol.test.ts +516 -0
- package/src/chat-protocol/__tests__/env-flag.test.ts +52 -0
- package/src/chat-protocol/__tests__/ip-normalize.test.ts +136 -0
- package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +232 -0
- package/src/chat-protocol/decode.ts +278 -0
- package/src/chat-protocol/encode.ts +71 -0
- package/src/chat-protocol/env-flag.ts +39 -0
- package/src/chat-protocol/events.ts +245 -0
- package/src/chat-protocol/frames.ts +245 -0
- package/src/chat-protocol/index.ts +21 -0
- package/src/chat-protocol/ip-normalize.ts +146 -0
- package/src/chat-protocol/nats-decoder.ts +258 -0
- package/src/components/chat/__tests__/chat-message-list.test.tsx +381 -6
- package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +207 -0
- package/src/components/chat/__tests__/chat-pending-turn.test.tsx +250 -0
- package/src/components/chat/chat-message-enhanced.tsx +122 -20
- package/src/components/chat/chat-message-list.tsx +409 -132
- package/src/components/chat/embeddable-chat.tsx +6 -0
- package/src/components/chat/hooks/.index.md +30 -33
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +36 -55
- package/src/components/chat/hooks/__tests__/__snapshots__/conversation-id-persistence-golden.test.ts.snap +37 -0
- package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
- package/src/components/chat/hooks/__tests__/chunk-catchup-dialog-staleness.test.ts +92 -0
- package/src/components/chat/hooks/__tests__/conversation-id-persistence-golden.test.ts +438 -0
- package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +318 -0
- package/src/components/chat/hooks/index.ts +0 -1
- package/src/components/chat/hooks/use-chat.ts +8 -0
- package/src/components/chat/hooks/use-chunk-catchup.ts +26 -1
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +254 -825
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +380 -684
- package/src/components/chat/index.ts +5 -0
- package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +940 -0
- package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +806 -0
- package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +467 -0
- package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +1248 -0
- package/src/components/chat/stream/__tests__/delta-batcher.test.ts +255 -0
- package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +105 -0
- package/src/components/chat/stream/chat-dialog-store.ts +536 -0
- package/src/components/chat/stream/chat-stream-reducer.ts +1876 -0
- package/src/components/chat/stream/delta-batcher.ts +168 -0
- package/src/components/chat/stream/index.ts +55 -0
- package/src/components/chat/stream/message-mutations.ts +340 -0
- package/src/components/chat/stream/use-chat-stream-reducer.ts +126 -0
- package/src/components/chat/thinking-display.tsx +1 -1
- package/src/components/chat/types/.api.types.md +39 -49
- package/src/components/chat/types/.processing.types.md +29 -58
- package/src/components/chat/types/api.types.ts +6 -73
- package/src/components/chat/types/processing.types.ts +11 -53
- package/src/components/chat/utils/.index.md +31 -40
- package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +420 -0
- package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +605 -0
- package/src/components/chat/utils/__tests__/process-historical-messages-approvals.test.ts +61 -0
- package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +394 -0
- package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +270 -0
- package/src/components/chat/utils/extract-incomplete-message-state.ts +63 -5
- package/src/components/chat/utils/index.ts +5 -8
- package/src/components/chat/utils/process-historical-messages.ts +358 -386
- package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +22 -4
- package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
- package/src/components/shared/product-release/release-detail-page.tsx +19 -4
- package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +2420 -0
- package/src/components/ui/__tests__/markdown-parity.test.tsx +2540 -0
- package/src/components/ui/index.ts +1 -2
- package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +176 -0
- package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +151 -0
- package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +354 -0
- package/src/components/ui/markdown/__tests__/sanitize-render.test.tsx +118 -0
- package/src/components/ui/markdown/__tests__/streaming.test.tsx +436 -0
- package/src/components/ui/markdown/base-components.tsx +360 -0
- package/src/components/ui/markdown/engine.tsx +315 -0
- package/src/components/ui/markdown/heading-ids.ts +239 -0
- package/src/components/ui/markdown/index.ts +49 -0
- package/src/components/ui/markdown/mermaid-diagram.tsx +323 -0
- package/src/components/ui/markdown/rich/embed-overrides.tsx +199 -0
- package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +184 -0
- package/src/components/ui/markdown/rich/shortcodes.ts +170 -0
- package/src/components/ui/markdown/sanitize.ts +3584 -0
- package/src/components/ui/markdown/simple-markdown-renderer.tsx +28 -0
- package/src/components/ui/markdown/streaming.ts +390 -0
- package/src/components/ui/markdown/text-size.ts +106 -0
- package/src/components/ui/release-changelog-section.tsx +1 -1
- package/src/components/ui/ticket-info-section.tsx +1 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/markdown-fences.ts +127 -0
- package/src/utils/markdown-heading-id.ts +348 -0
- package/src/utils/markdown-section-extractor.ts +41 -56
- package/dist/chunk-23QJPSZJ.cjs.map +0 -1
- package/dist/chunk-5KSXMJXF.cjs.map +0 -1
- package/dist/chunk-MEIMDHQ2.cjs.map +0 -1
- package/dist/chunk-NT3BKPEC.js.map +0 -1
- package/dist/chunk-YBTYHIXA.js.map +0 -1
- package/dist/chunk-ZAAIVSX6.js.map +0 -1
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts +0 -6
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +0 -1
- package/dist/components/chat/utils/chunk-parser.d.ts +0 -25
- package/dist/components/chat/utils/chunk-parser.d.ts.map +0 -1
- package/dist/components/ui/rich-markdown-renderer.d.ts +0 -34
- package/dist/components/ui/rich-markdown-renderer.d.ts.map +0 -1
- package/dist/components/ui/simple-markdown-renderer.d.ts +0 -73
- package/dist/components/ui/simple-markdown-renderer.d.ts.map +0 -1
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +0 -77
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +0 -489
- package/src/components/chat/utils/.chunk-parser.md +0 -62
- package/src/components/chat/utils/chunk-parser.ts +0 -262
- package/src/components/ui/.simple-markdown-renderer.md +0 -52
- package/src/components/ui/rich-markdown-renderer.tsx +0 -1223
- package/src/components/ui/simple-markdown-renderer.tsx +0 -964
- /package/dist/{chunk-ZPUCCSYA.js.map → chunk-34C2JV2C.js.map} +0 -0
- /package/dist/{chunk-GWVNRXJU.js.map → chunk-3VGRZ62V.js.map} +0 -0
- /package/dist/{chunk-AAHAVML2.js.map → chunk-42NYDEHH.js.map} +0 -0
- /package/dist/{chunk-ZEHA4IC7.js.map → chunk-42SMPKGY.js.map} +0 -0
- /package/dist/{chunk-HRUXC3YN.js.map → chunk-5QWYIPMH.js.map} +0 -0
- /package/dist/{chunk-DGDUOFNY.js.map → chunk-BUBQEZ5J.js.map} +0 -0
- /package/dist/{chunk-6XQGPFIR.js.map → chunk-WNXIG6YY.js.map} +0 -0
- /package/dist/{chunk-5INZDVGI.js.map → chunk-WZCQW4MW.js.map} +0 -0
- /package/dist/{chunk-B3MRHZNZ.js.map → chunk-ZHC2BCXK.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -196,8 +196,10 @@ import {
|
|
|
196
196
|
CveLink,
|
|
197
197
|
DEFAULT_CONTENT_SUFFIXES,
|
|
198
198
|
DEFAULT_CUSTOM_STATUS_COLOR,
|
|
199
|
+
DEFAULT_DIALOG_SIDE,
|
|
199
200
|
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
200
201
|
DEFAULT_FOLDER_INDEX_FILE,
|
|
202
|
+
DEFAULT_MAX_REDUCERS,
|
|
201
203
|
DEFAULT_OS_PLATFORM,
|
|
202
204
|
DEFAULT_THEME,
|
|
203
205
|
DEFAULT_VIDEO_BITES_TITLE,
|
|
@@ -291,6 +293,7 @@ import {
|
|
|
291
293
|
GuideDisplay,
|
|
292
294
|
GuideModeBanner,
|
|
293
295
|
GuideWelcome,
|
|
296
|
+
HEADING_EMOJI_RE,
|
|
294
297
|
HEX_PATTERN,
|
|
295
298
|
Header,
|
|
296
299
|
HeaderButton,
|
|
@@ -337,12 +340,14 @@ import {
|
|
|
337
340
|
LogSeverityDot,
|
|
338
341
|
LoginForm,
|
|
339
342
|
LogsList,
|
|
343
|
+
MAX_PENDING_RETAIN_KEYS,
|
|
340
344
|
MESSAGE_ROLE,
|
|
341
345
|
MESSAGE_TYPE,
|
|
342
346
|
MOBILE_NAV_PANEL_ID,
|
|
343
347
|
MUX_IMAGE_ORIGIN,
|
|
344
348
|
MUX_STREAM_ORIGIN,
|
|
345
349
|
MarkdownEditor,
|
|
350
|
+
MarkdownEngine,
|
|
346
351
|
MarqueeWall,
|
|
347
352
|
MarqueeWallFades,
|
|
348
353
|
MediaGalleryManager,
|
|
@@ -364,6 +369,7 @@ import {
|
|
|
364
369
|
MenubarSubContent,
|
|
365
370
|
MenubarSubTrigger,
|
|
366
371
|
MenubarTrigger,
|
|
372
|
+
MermaidDiagram,
|
|
367
373
|
MessageSegmentAccumulator,
|
|
368
374
|
MingoAiButton,
|
|
369
375
|
MingoChatHistory,
|
|
@@ -487,6 +493,7 @@ import {
|
|
|
487
493
|
RoadmapCard,
|
|
488
494
|
RoadmapCardSkeleton,
|
|
489
495
|
RoadmapVoteButton,
|
|
496
|
+
SAFE_HTML_TAGS,
|
|
490
497
|
SCROLL_ANCHOR,
|
|
491
498
|
SCROLL_ANCHOR_WIRE_KEY,
|
|
492
499
|
SECTION_HEADING_CLASS,
|
|
@@ -499,6 +506,7 @@ import {
|
|
|
499
506
|
SOURCE_ICON_NAMES,
|
|
500
507
|
SOURCE_LABELS_BY_TABLE,
|
|
501
508
|
STRIP_CELL_MAX_WIDTH,
|
|
509
|
+
SVG_TAGS,
|
|
502
510
|
SYNTHETIC_REALTIME_ID_PREFIXES,
|
|
503
511
|
ScriptArguments,
|
|
504
512
|
ScriptInfoSection,
|
|
@@ -556,6 +564,7 @@ import {
|
|
|
556
564
|
TAG_BADGE_CLASS,
|
|
557
565
|
TASK_TYPE_LABELS,
|
|
558
566
|
TASK_TYPE_TEXT_COLORS,
|
|
567
|
+
TEXT_SIZE_PRESETS,
|
|
559
568
|
THEME_ATTRIBUTE,
|
|
560
569
|
THEME_STORAGE_KEY,
|
|
561
570
|
TICKET_STATUS_COLOR_PRESETS,
|
|
@@ -662,13 +671,17 @@ import {
|
|
|
662
671
|
buildDefaultHref,
|
|
663
672
|
buildDiscussAddendum,
|
|
664
673
|
buildDocumentTree,
|
|
674
|
+
buildEffectiveTagSet,
|
|
675
|
+
buildHeadingIdMap,
|
|
665
676
|
buildListUrl,
|
|
666
677
|
buildNatsWsUrl,
|
|
667
678
|
buildProductReleaseCardProps,
|
|
679
|
+
buildSanitizeSchema,
|
|
668
680
|
buildStreamFrames,
|
|
669
681
|
buildSuggestionUrl,
|
|
670
682
|
canonicalContentRefType,
|
|
671
683
|
captureFirstTouchAttribution,
|
|
684
|
+
cardAwareUrlTransform,
|
|
672
685
|
changelogLabels,
|
|
673
686
|
chatChipClass,
|
|
674
687
|
cleanEmailDomain,
|
|
@@ -679,12 +692,20 @@ import {
|
|
|
679
692
|
clearWalkthroughDismissal,
|
|
680
693
|
clickupTaskUrl,
|
|
681
694
|
columnFromTicketStatus,
|
|
695
|
+
completeStreamingTail,
|
|
682
696
|
computeHistoryPrepend,
|
|
683
697
|
computeIsNewTab,
|
|
698
|
+
createChatDialogStore,
|
|
699
|
+
createChatStreamReducer,
|
|
684
700
|
createColumnHelper,
|
|
701
|
+
createDeltaBatcher,
|
|
702
|
+
createEmptyTurnMeta,
|
|
703
|
+
createFenceTracker,
|
|
704
|
+
createHeadingIdDeduper,
|
|
685
705
|
createMessageSegmentAccumulator,
|
|
686
706
|
createUTCTimestamp,
|
|
687
707
|
decideNewTab,
|
|
708
|
+
decodeHistoricalMessageData,
|
|
688
709
|
deepClone,
|
|
689
710
|
defaultBuildProductReleaseCardProps,
|
|
690
711
|
defaultTableIdForDocumentType,
|
|
@@ -698,6 +719,7 @@ import {
|
|
|
698
719
|
dismissWalkthrough,
|
|
699
720
|
ensureBiteIds,
|
|
700
721
|
escapeMarkdownInline,
|
|
722
|
+
escapeUnknownHtmlTags,
|
|
701
723
|
executeNavigation,
|
|
702
724
|
executeNavigationImperative,
|
|
703
725
|
exportToCSV,
|
|
@@ -707,10 +729,11 @@ import {
|
|
|
707
729
|
extractErrorMessages,
|
|
708
730
|
extractImageEdgeColorAsync,
|
|
709
731
|
extractIncompleteMessageState,
|
|
732
|
+
extractIncompleteTailState,
|
|
710
733
|
extractItemId,
|
|
711
734
|
extractItems,
|
|
712
735
|
extractSections,
|
|
713
|
-
|
|
736
|
+
extractText,
|
|
714
737
|
extractYouTubeId,
|
|
715
738
|
faqItemAnchor,
|
|
716
739
|
faqSectionSlug,
|
|
@@ -837,15 +860,13 @@ import {
|
|
|
837
860
|
interleave,
|
|
838
861
|
isAnnouncementDismissed,
|
|
839
862
|
isApprovalNotification,
|
|
840
|
-
|
|
863
|
+
isBlankLine,
|
|
841
864
|
isCrossOriginUrl,
|
|
842
865
|
isDismissedCookieValue,
|
|
843
|
-
isErrorChunk,
|
|
844
866
|
isFigmaSlidesUrl,
|
|
845
867
|
isGenericDomain,
|
|
846
868
|
isGenericWebsiteDomain,
|
|
847
869
|
isHistoricalUserTurn,
|
|
848
|
-
isMetadataChunk,
|
|
849
870
|
isModifierClick,
|
|
850
871
|
isOSPlatform,
|
|
851
872
|
isQuickActionIconSpec,
|
|
@@ -879,7 +900,6 @@ import {
|
|
|
879
900
|
orderContentRefTypes,
|
|
880
901
|
osLabels,
|
|
881
902
|
parseAttributionFromUrl,
|
|
882
|
-
parseChunkToAction,
|
|
883
903
|
parseFaqHash,
|
|
884
904
|
parseScrollAnchor,
|
|
885
905
|
parseWireCommandOverride,
|
|
@@ -887,10 +907,12 @@ import {
|
|
|
887
907
|
pickReadableTextColor,
|
|
888
908
|
processHistoricalMessages,
|
|
889
909
|
processHistoricalMessagesWithErrors,
|
|
910
|
+
processShortcodes,
|
|
890
911
|
programItemToStripProfile,
|
|
891
912
|
ratioToCategory,
|
|
892
913
|
readDismissCookie,
|
|
893
914
|
readLeadingDecisionFrame,
|
|
915
|
+
rehypeStripUnsafe,
|
|
894
916
|
releaseStatusOptions,
|
|
895
917
|
releaseTypeOptions,
|
|
896
918
|
releaseTypeToBadgeColor,
|
|
@@ -906,20 +928,26 @@ import {
|
|
|
906
928
|
resolveSourceIcon,
|
|
907
929
|
resolveSourceRowCTA,
|
|
908
930
|
resolveStatusTagProps,
|
|
931
|
+
resolveTextSizeConfig,
|
|
909
932
|
resolveTicketStatus,
|
|
910
933
|
rgbToHex,
|
|
911
934
|
safeHref,
|
|
912
935
|
sanitizeLandingUrl,
|
|
913
936
|
sanitizeTitleForChat,
|
|
914
937
|
saveDataEnabled,
|
|
938
|
+
scanHeadings,
|
|
915
939
|
serializeJsonLd,
|
|
916
940
|
shellLabels,
|
|
917
941
|
shouldProxyImage,
|
|
942
|
+
slugifyHeadingBase,
|
|
943
|
+
slugifyHeadingText,
|
|
918
944
|
sortBitesByCreatedAtDesc,
|
|
919
945
|
sortTreeChildren,
|
|
946
|
+
splitStreamingBlocks,
|
|
920
947
|
statusBadgeVariants,
|
|
921
948
|
stripChatAttachmentMarkdown,
|
|
922
949
|
stripFolderIndexFromPath,
|
|
950
|
+
stripHeadingEmojis,
|
|
923
951
|
stripHtml,
|
|
924
952
|
stripInlineMarkdown,
|
|
925
953
|
stripSameOriginToPath,
|
|
@@ -946,6 +974,7 @@ import {
|
|
|
946
974
|
useChatAttachments,
|
|
947
975
|
useChatCardItem,
|
|
948
976
|
useChatIdentity,
|
|
977
|
+
useChatStreamReducer,
|
|
949
978
|
useChunkCatchup,
|
|
950
979
|
useCloseOnNavigation,
|
|
951
980
|
useCollapsible,
|
|
@@ -955,6 +984,7 @@ import {
|
|
|
955
984
|
useDynamicTheme,
|
|
956
985
|
useEmptyStateConfig,
|
|
957
986
|
useFiltersDropdown,
|
|
987
|
+
useHeadingIdMap,
|
|
958
988
|
useJetStreamDialogSubscription,
|
|
959
989
|
useLoading,
|
|
960
990
|
useMarqueeSync,
|
|
@@ -965,7 +995,6 @@ import {
|
|
|
965
995
|
useOptionalTimeTracker,
|
|
966
996
|
usePageActionsBottomPadding,
|
|
967
997
|
useProxiedImageUrl,
|
|
968
|
-
useRealtimeChunkProcessor,
|
|
969
998
|
useSSE,
|
|
970
999
|
useScriptedStream,
|
|
971
1000
|
useScrollFade,
|
|
@@ -989,7 +1018,7 @@ import {
|
|
|
989
1018
|
walkthroughDismissCookieName,
|
|
990
1019
|
withFirstTouchAttribution,
|
|
991
1020
|
writeDismissCookie
|
|
992
|
-
} from "./chunk-
|
|
1021
|
+
} from "./chunk-D3LUKR2Y.js";
|
|
993
1022
|
import {
|
|
994
1023
|
CommandApprovalToast,
|
|
995
1024
|
DEFAULT_MIN_FILL_MS,
|
|
@@ -1543,8 +1572,10 @@ export {
|
|
|
1543
1572
|
CveLink,
|
|
1544
1573
|
DEFAULT_CONTENT_SUFFIXES,
|
|
1545
1574
|
DEFAULT_CUSTOM_STATUS_COLOR,
|
|
1575
|
+
DEFAULT_DIALOG_SIDE,
|
|
1546
1576
|
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
1547
1577
|
DEFAULT_FOLDER_INDEX_FILE,
|
|
1578
|
+
DEFAULT_MAX_REDUCERS,
|
|
1548
1579
|
DEFAULT_MIN_FILL_MS,
|
|
1549
1580
|
DEFAULT_OS_PLATFORM,
|
|
1550
1581
|
DEFAULT_THEME,
|
|
@@ -1686,6 +1717,7 @@ export {
|
|
|
1686
1717
|
GuideDisplay,
|
|
1687
1718
|
GuideModeBanner,
|
|
1688
1719
|
GuideWelcome,
|
|
1720
|
+
HEADING_EMOJI_RE,
|
|
1689
1721
|
HEX_PATTERN,
|
|
1690
1722
|
HONEYPOT_FIELD,
|
|
1691
1723
|
HUB_HEADER_OFFSET_PX,
|
|
@@ -1755,6 +1787,7 @@ export {
|
|
|
1755
1787
|
CheckCircleIcon2 as LucideCheckCircleIcon,
|
|
1756
1788
|
XIcon2 as LucideXIcon,
|
|
1757
1789
|
LumaIcon,
|
|
1790
|
+
MAX_PENDING_RETAIN_KEYS,
|
|
1758
1791
|
MESSAGE_ROLE,
|
|
1759
1792
|
MESSAGE_TYPE,
|
|
1760
1793
|
MOBILE_NAV_PANEL_ID,
|
|
@@ -1763,6 +1796,7 @@ export {
|
|
|
1763
1796
|
MacOSIcon,
|
|
1764
1797
|
MarginCrisisIcon,
|
|
1765
1798
|
MarkdownEditor,
|
|
1799
|
+
MarkdownEngine,
|
|
1766
1800
|
MarqueeWall,
|
|
1767
1801
|
MarqueeWallFades,
|
|
1768
1802
|
MediaGalleryManager,
|
|
@@ -1784,6 +1818,7 @@ export {
|
|
|
1784
1818
|
MenubarSubContent,
|
|
1785
1819
|
MenubarSubTrigger,
|
|
1786
1820
|
MenubarTrigger,
|
|
1821
|
+
MermaidDiagram,
|
|
1787
1822
|
MessageCircleIcon,
|
|
1788
1823
|
MessageSegmentAccumulator,
|
|
1789
1824
|
MiamiCyberGangLogo,
|
|
@@ -1943,6 +1978,7 @@ export {
|
|
|
1943
1978
|
RoadmapCard,
|
|
1944
1979
|
RoadmapCardSkeleton,
|
|
1945
1980
|
RoadmapVoteButton,
|
|
1981
|
+
SAFE_HTML_TAGS,
|
|
1946
1982
|
SCROLL_ANCHOR,
|
|
1947
1983
|
SCROLL_ANCHOR_WIRE_KEY,
|
|
1948
1984
|
SECTION_HEADING_CLASS,
|
|
@@ -1958,6 +1994,7 @@ export {
|
|
|
1958
1994
|
SSOConfigurationIcon,
|
|
1959
1995
|
STICKY_HEADER_OFFSET_PX,
|
|
1960
1996
|
STRIP_CELL_MAX_WIDTH,
|
|
1997
|
+
SVG_TAGS,
|
|
1961
1998
|
SYNTHETIC_REALTIME_ID_PREFIXES,
|
|
1962
1999
|
ScriptArguments,
|
|
1963
2000
|
ScriptGenerationIcon,
|
|
@@ -2042,6 +2079,7 @@ export {
|
|
|
2042
2079
|
TAG_BADGE_CLASS,
|
|
2043
2080
|
TASK_TYPE_LABELS,
|
|
2044
2081
|
TASK_TYPE_TEXT_COLORS,
|
|
2082
|
+
TEXT_SIZE_PRESETS,
|
|
2045
2083
|
THEME_ATTRIBUTE,
|
|
2046
2084
|
THEME_STORAGE_KEY,
|
|
2047
2085
|
TICKET_STATUS_COLOR_PRESETS,
|
|
@@ -2171,15 +2209,19 @@ export {
|
|
|
2171
2209
|
buildDefaultHref,
|
|
2172
2210
|
buildDiscussAddendum,
|
|
2173
2211
|
buildDocumentTree,
|
|
2212
|
+
buildEffectiveTagSet,
|
|
2213
|
+
buildHeadingIdMap,
|
|
2174
2214
|
buildListUrl,
|
|
2175
2215
|
buildNatsWsUrl,
|
|
2176
2216
|
buildOgPlaceholderUrl,
|
|
2177
2217
|
buildProductReleaseCardProps,
|
|
2218
|
+
buildSanitizeSchema,
|
|
2178
2219
|
buildStreamFrames,
|
|
2179
2220
|
buildSuggestionUrl,
|
|
2180
2221
|
buttonVariants,
|
|
2181
2222
|
canonicalContentRefType,
|
|
2182
2223
|
captureFirstTouchAttribution,
|
|
2224
|
+
cardAwareUrlTransform,
|
|
2183
2225
|
changelogLabels,
|
|
2184
2226
|
embedAuthedFetch as chatAuthedFetch,
|
|
2185
2227
|
chatChipClass,
|
|
@@ -2197,16 +2239,24 @@ export {
|
|
|
2197
2239
|
cn,
|
|
2198
2240
|
coerceValue,
|
|
2199
2241
|
columnFromTicketStatus,
|
|
2242
|
+
completeStreamingTail,
|
|
2200
2243
|
computeHistoryPrepend,
|
|
2201
2244
|
computeIsNewTab,
|
|
2202
2245
|
configureAuthenticatedImage,
|
|
2203
2246
|
configureBatchImageFetch,
|
|
2204
2247
|
consumeAccessCode,
|
|
2248
|
+
createChatDialogStore,
|
|
2249
|
+
createChatStreamReducer,
|
|
2205
2250
|
createColumnHelper,
|
|
2251
|
+
createDeltaBatcher,
|
|
2252
|
+
createEmptyTurnMeta,
|
|
2253
|
+
createFenceTracker,
|
|
2254
|
+
createHeadingIdDeduper,
|
|
2206
2255
|
createMessageSegmentAccumulator,
|
|
2207
2256
|
createSearchParams,
|
|
2208
2257
|
createUTCTimestamp,
|
|
2209
2258
|
decideNewTab,
|
|
2259
|
+
decodeHistoricalMessageData,
|
|
2210
2260
|
deepClone,
|
|
2211
2261
|
defaultBuildProductReleaseCardProps,
|
|
2212
2262
|
defaultTableIdForDocumentType,
|
|
@@ -2222,6 +2272,7 @@ export {
|
|
|
2222
2272
|
embedAuthedFetch,
|
|
2223
2273
|
ensureBiteIds,
|
|
2224
2274
|
escapeMarkdownInline,
|
|
2275
|
+
escapeUnknownHtmlTags,
|
|
2225
2276
|
evaluateHumanitySignals,
|
|
2226
2277
|
executeNavigation,
|
|
2227
2278
|
executeNavigationImperative,
|
|
@@ -2233,10 +2284,11 @@ export {
|
|
|
2233
2284
|
extractHumanitySignals,
|
|
2234
2285
|
extractImageEdgeColorAsync,
|
|
2235
2286
|
extractIncompleteMessageState,
|
|
2287
|
+
extractIncompleteTailState,
|
|
2236
2288
|
extractItemId,
|
|
2237
2289
|
extractItems,
|
|
2238
2290
|
extractSections,
|
|
2239
|
-
|
|
2291
|
+
extractText,
|
|
2240
2292
|
extractVariablesFromQuery,
|
|
2241
2293
|
extractYouTubeId,
|
|
2242
2294
|
faqItemAnchor,
|
|
@@ -2386,16 +2438,14 @@ export {
|
|
|
2386
2438
|
introspector,
|
|
2387
2439
|
isAnnouncementDismissed,
|
|
2388
2440
|
isApprovalNotification,
|
|
2389
|
-
|
|
2441
|
+
isBlankLine,
|
|
2390
2442
|
isCrossOriginUrl,
|
|
2391
2443
|
isDismissedCookieValue,
|
|
2392
|
-
isErrorChunk,
|
|
2393
2444
|
isFigmaSlidesUrl,
|
|
2394
2445
|
isGenericDomain,
|
|
2395
2446
|
isGenericWebsiteDomain,
|
|
2396
2447
|
isHistoricalUserTurn,
|
|
2397
2448
|
isInputObjectType,
|
|
2398
|
-
isMetadataChunk,
|
|
2399
2449
|
isModifierClick,
|
|
2400
2450
|
isOSPlatform,
|
|
2401
2451
|
isQuickActionIconSpec,
|
|
@@ -2434,7 +2484,6 @@ export {
|
|
|
2434
2484
|
orderContentRefTypes,
|
|
2435
2485
|
osLabels,
|
|
2436
2486
|
parseAttributionFromUrl,
|
|
2437
|
-
parseChunkToAction,
|
|
2438
2487
|
parseFaqHash,
|
|
2439
2488
|
parseScrollAnchor,
|
|
2440
2489
|
parseWireCommandOverride,
|
|
@@ -2449,11 +2498,13 @@ export {
|
|
|
2449
2498
|
platformSlogans,
|
|
2450
2499
|
processHistoricalMessages,
|
|
2451
2500
|
processHistoricalMessagesWithErrors,
|
|
2501
|
+
processShortcodes,
|
|
2452
2502
|
programItemToStripProfile,
|
|
2453
2503
|
progressColorByVariant,
|
|
2454
2504
|
ratioToCategory,
|
|
2455
2505
|
readDismissCookie,
|
|
2456
2506
|
readLeadingDecisionFrame,
|
|
2507
|
+
rehypeStripUnsafe,
|
|
2457
2508
|
releaseStatusOptions,
|
|
2458
2509
|
releaseTypeOptions,
|
|
2459
2510
|
releaseTypeToBadgeColor,
|
|
@@ -2470,12 +2521,14 @@ export {
|
|
|
2470
2521
|
resolveSourceIcon,
|
|
2471
2522
|
resolveSourceRowCTA,
|
|
2472
2523
|
resolveStatusTagProps,
|
|
2524
|
+
resolveTextSizeConfig,
|
|
2473
2525
|
resolveTicketStatus,
|
|
2474
2526
|
rgbToHex,
|
|
2475
2527
|
safeHref,
|
|
2476
2528
|
sanitizeLandingUrl,
|
|
2477
2529
|
sanitizeTitleForChat,
|
|
2478
2530
|
saveDataEnabled,
|
|
2531
|
+
scanHeadings,
|
|
2479
2532
|
scrollElementIntoView,
|
|
2480
2533
|
serializeJsonLd,
|
|
2481
2534
|
setEmbedProxyAuth as setChatProxyAuth,
|
|
@@ -2487,12 +2540,16 @@ export {
|
|
|
2487
2540
|
shouldProxyImage,
|
|
2488
2541
|
showCommandApprovalToast,
|
|
2489
2542
|
showToast,
|
|
2543
|
+
slugifyHeadingBase,
|
|
2544
|
+
slugifyHeadingText,
|
|
2490
2545
|
sortBitesByCreatedAtDesc,
|
|
2491
2546
|
sortTreeChildren,
|
|
2492
2547
|
splitCsvEnv,
|
|
2548
|
+
splitStreamingBlocks,
|
|
2493
2549
|
statusBadgeVariants,
|
|
2494
2550
|
stripChatAttachmentMarkdown,
|
|
2495
2551
|
stripFolderIndexFromPath,
|
|
2552
|
+
stripHeadingEmojis,
|
|
2496
2553
|
stripHtml,
|
|
2497
2554
|
stripInlineMarkdown,
|
|
2498
2555
|
stripSameOriginToPath,
|
|
@@ -2529,6 +2586,7 @@ export {
|
|
|
2529
2586
|
useChatAttachments,
|
|
2530
2587
|
useChatCardItem,
|
|
2531
2588
|
useChatIdentity,
|
|
2589
|
+
useChatStreamReducer,
|
|
2532
2590
|
useChunkCatchup,
|
|
2533
2591
|
useCloseOnNavigation,
|
|
2534
2592
|
useCollapsible,
|
|
@@ -2546,6 +2604,7 @@ export {
|
|
|
2546
2604
|
useFiltersDropdown,
|
|
2547
2605
|
useFocusTrap,
|
|
2548
2606
|
useHeaderHeight,
|
|
2607
|
+
useHeadingIdMap,
|
|
2549
2608
|
useHorizontalScrollbar,
|
|
2550
2609
|
useHumanitySignals,
|
|
2551
2610
|
useImageEdgeColor,
|
|
@@ -2575,7 +2634,6 @@ export {
|
|
|
2575
2634
|
usePreventScroll,
|
|
2576
2635
|
useProxiedImageUrl,
|
|
2577
2636
|
useQueryParams,
|
|
2578
|
-
useRealtimeChunkProcessor,
|
|
2579
2637
|
useResetOnPageHidden,
|
|
2580
2638
|
useSSE,
|
|
2581
2639
|
useScriptedStream,
|
package/dist/utils/index.cjs
CHANGED
|
@@ -3996,6 +3996,151 @@ function buildDocumentTree(docs, mapFn, getParentPath, getPath) {
|
|
|
3996
3996
|
return sortTreeChildren(rootNodes);
|
|
3997
3997
|
}
|
|
3998
3998
|
|
|
3999
|
+
// src/utils/markdown-fences.ts
|
|
4000
|
+
var FENCE_RE = /^ {0,3}(`{3,}|~{3,})([^\n]*?)\r?$/;
|
|
4001
|
+
var BLANK_LINE_RE = /^[ \t\r]*$/;
|
|
4002
|
+
function isBlankLine(line) {
|
|
4003
|
+
return BLANK_LINE_RE.test(line);
|
|
4004
|
+
}
|
|
4005
|
+
function createFenceTracker() {
|
|
4006
|
+
let fenceChar = null;
|
|
4007
|
+
let fenceLength = 0;
|
|
4008
|
+
return {
|
|
4009
|
+
push(line) {
|
|
4010
|
+
const fence = FENCE_RE.exec(line);
|
|
4011
|
+
if (fence) {
|
|
4012
|
+
const run = fence[1];
|
|
4013
|
+
if (fenceChar === null) {
|
|
4014
|
+
fenceChar = run[0];
|
|
4015
|
+
fenceLength = run.length;
|
|
4016
|
+
return "open";
|
|
4017
|
+
}
|
|
4018
|
+
if (run[0] === fenceChar && run.length >= fenceLength && isBlankLine(fence[2])) {
|
|
4019
|
+
fenceChar = null;
|
|
4020
|
+
fenceLength = 0;
|
|
4021
|
+
return "close";
|
|
4022
|
+
}
|
|
4023
|
+
return "inside";
|
|
4024
|
+
}
|
|
4025
|
+
return fenceChar === null ? "text" : "inside";
|
|
4026
|
+
},
|
|
4027
|
+
openChar: () => fenceChar,
|
|
4028
|
+
openLength: () => fenceLength
|
|
4029
|
+
};
|
|
4030
|
+
}
|
|
4031
|
+
|
|
4032
|
+
// src/utils/markdown-heading-id.ts
|
|
4033
|
+
var HEADING_EMOJI_RE = /[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]/gu;
|
|
4034
|
+
function stripHeadingEmojis(text) {
|
|
4035
|
+
return text.replace(HEADING_EMOJI_RE, "").trim();
|
|
4036
|
+
}
|
|
4037
|
+
function slugifyHeadingBase(text) {
|
|
4038
|
+
return text.trim().toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/^-+|-+$/g, "");
|
|
4039
|
+
}
|
|
4040
|
+
function slugifyHeadingText(text) {
|
|
4041
|
+
return slugifyHeadingBase(stripHeadingEmojis(text));
|
|
4042
|
+
}
|
|
4043
|
+
var ATX_HEADING_RE = /^ {0,3}(#{1,6})[ \t]+(.*?)(?:[ \t]+#+)?[ \t]*\r?$/;
|
|
4044
|
+
var ATX_EMPTY_RE = /^ {0,3}(#{1,6})[ \t]*#*[ \t]*\r?$/;
|
|
4045
|
+
var RAW_HEADING_RE = /<h([1-6])\b[^>]*>([\s\S]*?)(?:<\/h\1>|$)/gi;
|
|
4046
|
+
var CONTAINER_PREFIX_RE = /^ {0,3}(?:(?:>[ \t]?)+|(?:[-+*]|\d{1,9}[.)])[ \t]+)+/;
|
|
4047
|
+
var SETEXT_UNDERLINE_RE = /^ {0,3}(=+|-+)[ \t]*\r?$/;
|
|
4048
|
+
var THEMATIC_BREAK_RE = /^ {0,3}(\*|_){3,}[ \t]*\r?$/;
|
|
4049
|
+
var HTML_BLOCK_TAGS = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
|
|
4050
|
+
var HTML_BLOCK_OPENER_RE = new RegExp(
|
|
4051
|
+
`^ {0,3}(?:<(?:script|pre|style|textarea)(?:[\\s>]|$)|<!--|<\\?|<![a-zA-Z]|<!\\[CDATA\\[|</?(?:${HTML_BLOCK_TAGS})(?:[\\s/>]|$)|<[a-zA-Z][a-zA-Z0-9-]*(?:\\s[^>]*)?/?>[ \\t]*\\r?$|</[a-zA-Z][a-zA-Z0-9-]*[ \\t]*>[ \\t]*\\r?$)`,
|
|
4052
|
+
"i"
|
|
4053
|
+
);
|
|
4054
|
+
function scanHeadings(content, options = {}) {
|
|
4055
|
+
const { skipFrontmatter = true, includeRawHtml = true, skipFences = true } = options;
|
|
4056
|
+
const out = [];
|
|
4057
|
+
const lines = content.split("\n");
|
|
4058
|
+
const fences = skipFences ? createFenceTracker() : null;
|
|
4059
|
+
let start = 0;
|
|
4060
|
+
if (skipFrontmatter && lines[0]?.trim() === "---") {
|
|
4061
|
+
for (let i = 1; i < lines.length; i++) {
|
|
4062
|
+
if (lines[i].trim() === "---" || lines[i].trim() === "...") {
|
|
4063
|
+
start = i + 1;
|
|
4064
|
+
break;
|
|
4065
|
+
}
|
|
4066
|
+
}
|
|
4067
|
+
}
|
|
4068
|
+
let setextRun = null;
|
|
4069
|
+
for (let i = start; i < lines.length; i++) {
|
|
4070
|
+
const line = lines[i];
|
|
4071
|
+
if (fences) {
|
|
4072
|
+
const role = fences.push(line);
|
|
4073
|
+
if (role !== "text") {
|
|
4074
|
+
setextRun = null;
|
|
4075
|
+
continue;
|
|
4076
|
+
}
|
|
4077
|
+
}
|
|
4078
|
+
const prefix = CONTAINER_PREFIX_RE.exec(line)?.[0] ?? "";
|
|
4079
|
+
const body = prefix ? line.slice(prefix.length) : line;
|
|
4080
|
+
const setext = SETEXT_UNDERLINE_RE.exec(body);
|
|
4081
|
+
if (setext) {
|
|
4082
|
+
if (setextRun && !setextRun.disqualified && setextRun.prefix === prefix) {
|
|
4083
|
+
out.push({
|
|
4084
|
+
line: setextRun.line,
|
|
4085
|
+
level: setext[1][0] === "=" ? 1 : 2,
|
|
4086
|
+
text: setextRun.lines.join("\n")
|
|
4087
|
+
});
|
|
4088
|
+
}
|
|
4089
|
+
setextRun = null;
|
|
4090
|
+
continue;
|
|
4091
|
+
}
|
|
4092
|
+
const atx = ATX_HEADING_RE.exec(body) ?? ATX_EMPTY_RE.exec(body);
|
|
4093
|
+
if (atx) {
|
|
4094
|
+
out.push({ line: i + 1, level: atx[1].length, text: (atx[2] ?? "").trim() });
|
|
4095
|
+
setextRun = null;
|
|
4096
|
+
continue;
|
|
4097
|
+
}
|
|
4098
|
+
if (includeRawHtml && line.indexOf("<") !== -1) {
|
|
4099
|
+
RAW_HEADING_RE.lastIndex = 0;
|
|
4100
|
+
let raw;
|
|
4101
|
+
let matched = false;
|
|
4102
|
+
while ((raw = RAW_HEADING_RE.exec(line)) !== null) {
|
|
4103
|
+
matched = true;
|
|
4104
|
+
out.push({
|
|
4105
|
+
line: i + 1,
|
|
4106
|
+
level: Number(raw[1]),
|
|
4107
|
+
text: raw[2].replace(/<[^>]*>/g, "").trim()
|
|
4108
|
+
});
|
|
4109
|
+
}
|
|
4110
|
+
if (matched) {
|
|
4111
|
+
setextRun = null;
|
|
4112
|
+
continue;
|
|
4113
|
+
}
|
|
4114
|
+
}
|
|
4115
|
+
if (isBlankLine(body) || THEMATIC_BREAK_RE.test(body)) {
|
|
4116
|
+
setextRun = null;
|
|
4117
|
+
continue;
|
|
4118
|
+
}
|
|
4119
|
+
if (setextRun && setextRun.prefix === prefix) {
|
|
4120
|
+
setextRun.lines.push(body.trim());
|
|
4121
|
+
} else {
|
|
4122
|
+
setextRun = {
|
|
4123
|
+
line: i + 1,
|
|
4124
|
+
prefix,
|
|
4125
|
+
lines: [body.trim()],
|
|
4126
|
+
disqualified: HTML_BLOCK_OPENER_RE.test(body)
|
|
4127
|
+
};
|
|
4128
|
+
}
|
|
4129
|
+
}
|
|
4130
|
+
return out;
|
|
4131
|
+
}
|
|
4132
|
+
function createHeadingIdDeduper() {
|
|
4133
|
+
const counts = {};
|
|
4134
|
+
return (cleanId) => {
|
|
4135
|
+
if (counts[cleanId]) {
|
|
4136
|
+
counts[cleanId]++;
|
|
4137
|
+
return `${cleanId}-${counts[cleanId]}`;
|
|
4138
|
+
}
|
|
4139
|
+
counts[cleanId] = 1;
|
|
4140
|
+
return cleanId;
|
|
4141
|
+
};
|
|
4142
|
+
}
|
|
4143
|
+
|
|
3999
4144
|
// src/utils/markdown-to-plain.ts
|
|
4000
4145
|
function stripInlineMarkdown(s) {
|
|
4001
4146
|
return s.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/\*\*([^*]+)\*\*/g, "$1").replace(/\*([^*]+)\*/g, "$1").replace(/`([^`]+)`/g, "$1");
|
|
@@ -4026,50 +4171,26 @@ var DEFAULT_OPTIONS = {
|
|
|
4026
4171
|
function extractSections(markdown, options = {}) {
|
|
4027
4172
|
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
4028
4173
|
const sections = [];
|
|
4029
|
-
const
|
|
4030
|
-
const
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
continue;
|
|
4038
|
-
}
|
|
4039
|
-
if (line === "---") {
|
|
4040
|
-
inYamlBlock = !inYamlBlock;
|
|
4041
|
-
continue;
|
|
4042
|
-
}
|
|
4043
|
-
if (inCodeBlock || inYamlBlock) continue;
|
|
4044
|
-
}
|
|
4045
|
-
const pattern = new RegExp(`^(#{1,${opts.maxLevel}})\\s+(.+)`);
|
|
4046
|
-
const match = line.match(pattern);
|
|
4047
|
-
if (!match) continue;
|
|
4048
|
-
const level = match[1].length;
|
|
4049
|
-
if (level > opts.maxLevel) continue;
|
|
4050
|
-
let title = match[2].trim();
|
|
4174
|
+
const dedupe = createHeadingIdDeduper();
|
|
4175
|
+
const scanned = scanHeadings(markdown, {
|
|
4176
|
+
skipFrontmatter: opts.skipCodeAndYamlBlocks,
|
|
4177
|
+
skipFences: opts.skipCodeAndYamlBlocks
|
|
4178
|
+
});
|
|
4179
|
+
for (const heading of scanned) {
|
|
4180
|
+
if (heading.level > opts.maxLevel) continue;
|
|
4181
|
+
let title = heading.text;
|
|
4051
4182
|
if (opts.stripFormattingMarkers) {
|
|
4052
4183
|
title = stripInlineMarkdown(title).trim();
|
|
4053
4184
|
}
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
/[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]/gu,
|
|
4058
|
-
""
|
|
4059
|
-
).trim();
|
|
4060
|
-
}
|
|
4061
|
-
baseId = baseId.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/^-+|-+$/g, "");
|
|
4185
|
+
const baseId = slugifyHeadingBase(
|
|
4186
|
+
opts.removeEmojis ? stripHeadingEmojis(title) : title
|
|
4187
|
+
);
|
|
4062
4188
|
const cleanId = baseId || `section-${sections.length + 1}`;
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
} else {
|
|
4069
|
-
idCounts[cleanId] = 1;
|
|
4070
|
-
}
|
|
4071
|
-
}
|
|
4072
|
-
sections.push({ id, title, level });
|
|
4189
|
+
sections.push({
|
|
4190
|
+
id: opts.handleDuplicateIds ? dedupe(cleanId) : cleanId,
|
|
4191
|
+
title,
|
|
4192
|
+
level: heading.level
|
|
4193
|
+
});
|
|
4073
4194
|
}
|
|
4074
4195
|
return sections;
|
|
4075
4196
|
}
|
|
@@ -4235,6 +4356,7 @@ exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS;
|
|
|
4235
4356
|
exports.ELAPSED_MS_FIELD = ELAPSED_MS_FIELD;
|
|
4236
4357
|
exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY;
|
|
4237
4358
|
exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS;
|
|
4359
|
+
exports.HEADING_EMOJI_RE = HEADING_EMOJI_RE;
|
|
4238
4360
|
exports.HEX_PATTERN = HEX_PATTERN;
|
|
4239
4361
|
exports.HONEYPOT_FIELD = HONEYPOT_FIELD;
|
|
4240
4362
|
exports.HUB_HEADER_OFFSET_PX = HUB_HEADER_OFFSET_PX;
|
|
@@ -4277,6 +4399,8 @@ exports.clearWalkthroughDismissal = clearWalkthroughDismissal;
|
|
|
4277
4399
|
exports.clickupTaskUrl = clickupTaskUrl;
|
|
4278
4400
|
exports.cn = cn;
|
|
4279
4401
|
exports.consumeAccessCode = consumeAccessCode;
|
|
4402
|
+
exports.createFenceTracker = createFenceTracker;
|
|
4403
|
+
exports.createHeadingIdDeduper = createHeadingIdDeduper;
|
|
4280
4404
|
exports.createUTCTimestamp = createUTCTimestamp;
|
|
4281
4405
|
exports.deepClone = deepClone;
|
|
4282
4406
|
exports.delay = delay;
|
|
@@ -4400,6 +4524,7 @@ exports.getTrendColors = getTrendColors;
|
|
|
4400
4524
|
exports.hasGenericEmailDomain = hasGenericEmailDomain;
|
|
4401
4525
|
exports.hexToRgb = hexToRgb2;
|
|
4402
4526
|
exports.isAnnouncementDismissed = isAnnouncementDismissed;
|
|
4527
|
+
exports.isBlankLine = isBlankLine;
|
|
4403
4528
|
exports.isCrossOriginUrl = isCrossOriginUrl;
|
|
4404
4529
|
exports.isDismissedCookieValue = isDismissedCookieValue;
|
|
4405
4530
|
exports.isFigmaSlidesUrl = isFigmaSlidesUrl;
|
|
@@ -4445,15 +4570,19 @@ exports.resolveReleaseCover = resolveReleaseCover;
|
|
|
4445
4570
|
exports.rgbToHex = rgbToHex;
|
|
4446
4571
|
exports.sanitizeLandingUrl = sanitizeLandingUrl;
|
|
4447
4572
|
exports.sanitizeTitleForChat = sanitizeTitleForChat;
|
|
4573
|
+
exports.scanHeadings = scanHeadings;
|
|
4448
4574
|
exports.scrollElementIntoView = scrollElementIntoView;
|
|
4449
4575
|
exports.serializeJsonLd = serializeJsonLd;
|
|
4450
4576
|
exports.setEmbedAuthAdapter = setEmbedAuthAdapter;
|
|
4451
4577
|
exports.setEmbedProxyAuth = setEmbedProxyAuth;
|
|
4452
4578
|
exports.shouldProxyImage = shouldProxyImage;
|
|
4579
|
+
exports.slugifyHeadingBase = slugifyHeadingBase;
|
|
4580
|
+
exports.slugifyHeadingText = slugifyHeadingText;
|
|
4453
4581
|
exports.sortTreeChildren = sortTreeChildren;
|
|
4454
4582
|
exports.splitCsvEnv = splitCsvEnv;
|
|
4455
4583
|
exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown;
|
|
4456
4584
|
exports.stripFolderIndexFromPath = stripFolderIndexFromPath;
|
|
4585
|
+
exports.stripHeadingEmojis = stripHeadingEmojis;
|
|
4457
4586
|
exports.stripHtml = stripHtml;
|
|
4458
4587
|
exports.stripInlineMarkdown = stripInlineMarkdown;
|
|
4459
4588
|
exports.toDocSlug = toDocSlug;
|