@flamingo-stack/openframe-frontend-core 0.0.490 → 0.0.492-1506.3956.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-WLM3F3WU.js → chunk-34TDA22K.js} +3 -3
- package/dist/{chunk-EGXCWZYP.js → chunk-3LKB722U.js} +3 -3
- package/dist/{chunk-RW2LPL72.js → chunk-6WTCJI5R.js} +2 -2
- package/dist/{chunk-VUXNXWOQ.cjs → chunk-7N7YZCHR.cjs} +7503 -5167
- package/dist/chunk-7N7YZCHR.cjs.map +1 -0
- package/dist/{chunk-AW63ET2A.cjs → chunk-A6FPYAUD.cjs} +19 -19
- package/dist/{chunk-AW63ET2A.cjs.map → chunk-A6FPYAUD.cjs.map} +1 -1
- package/dist/{chunk-BZMOEWWS.js → chunk-BEEPU44B.js} +12 -12
- package/dist/chunk-BEEPU44B.js.map +1 -0
- package/dist/{chunk-EJQUYZXF.cjs → chunk-C65NCIMV.cjs} +12 -12
- package/dist/{chunk-EJQUYZXF.cjs.map → chunk-C65NCIMV.cjs.map} +1 -1
- package/dist/{chunk-VL2YMDPH.js → chunk-J3VBVR4W.js} +6 -6
- package/dist/{chunk-AIRNG27G.js → chunk-JHEIOXXZ.js} +8 -7
- package/dist/chunk-JHEIOXXZ.js.map +1 -0
- package/dist/{chunk-D5LQMRPU.cjs → chunk-JSEJ5MH5.cjs} +5 -5
- package/dist/{chunk-D5LQMRPU.cjs.map → chunk-JSEJ5MH5.cjs.map} +1 -1
- package/dist/{chunk-FY5XAW3H.cjs → chunk-KX3K2EH4.cjs} +18 -18
- package/dist/{chunk-FY5XAW3H.cjs.map → chunk-KX3K2EH4.cjs.map} +1 -1
- package/dist/{chunk-3IEVA5AO.cjs → chunk-M6FEGPQJ.cjs} +93 -93
- package/dist/{chunk-3IEVA5AO.cjs.map → chunk-M6FEGPQJ.cjs.map} +1 -1
- package/dist/{chunk-7I42V2OD.cjs → chunk-MEIGDK7M.cjs} +74 -74
- package/dist/chunk-MEIGDK7M.cjs.map +1 -0
- package/dist/{chunk-OQIMH2WQ.js → chunk-MEMRQTOI.js} +12263 -9927
- package/dist/chunk-MEMRQTOI.js.map +1 -0
- package/dist/{chunk-GUTYUMGV.cjs → chunk-MPUQFRJG.cjs} +12 -12
- package/dist/{chunk-GUTYUMGV.cjs.map → chunk-MPUQFRJG.cjs.map} +1 -1
- package/dist/{chunk-UZZT65PQ.cjs → chunk-MSL5NE3N.cjs} +40 -40
- package/dist/{chunk-UZZT65PQ.cjs.map → chunk-MSL5NE3N.cjs.map} +1 -1
- package/dist/{chunk-6CJ2K7BD.js → chunk-MZRIRQYV.js} +3 -3
- package/dist/{chunk-NGEFYPY7.js → chunk-NCAN6VUF.js} +4 -4
- package/dist/{chunk-6QK3ONDD.js → chunk-OL3MJKUI.js} +2 -2
- package/dist/{chunk-MPYDX5WX.js → chunk-PLB6CQSO.js} +4 -4
- package/dist/{chunk-6CFFISUC.js → chunk-PTXZB2KW.js} +3 -3
- package/dist/{chunk-GMPYR3MX.cjs → chunk-QDGB2DKY.cjs} +33 -33
- package/dist/{chunk-GMPYR3MX.cjs.map → chunk-QDGB2DKY.cjs.map} +1 -1
- package/dist/{chunk-2MKUHJ3O.cjs → chunk-QG2EBIH5.cjs} +40 -40
- package/dist/{chunk-2MKUHJ3O.cjs.map → chunk-QG2EBIH5.cjs.map} +1 -1
- package/dist/{chunk-GZK7FWJJ.js → chunk-QKWOBV55.js} +12 -12
- package/dist/chunk-QKWOBV55.js.map +1 -0
- package/dist/{chunk-STYA77PH.cjs → chunk-SGL6URIJ.cjs} +12 -12
- package/dist/chunk-SGL6URIJ.cjs.map +1 -0
- package/dist/{chunk-KP5KRRD6.cjs → chunk-THC3K262.cjs} +3 -3
- package/dist/{chunk-KP5KRRD6.cjs.map → chunk-THC3K262.cjs.map} +1 -1
- package/dist/{chunk-BIKOJ4FH.cjs → chunk-TTYJAZ7P.cjs} +58 -32
- package/dist/chunk-TTYJAZ7P.cjs.map +1 -0
- package/dist/{chunk-IEZ3YBAP.cjs → chunk-W56JYDSC.cjs} +34 -33
- package/dist/chunk-W56JYDSC.cjs.map +1 -0
- package/dist/{chunk-PB3BTZDU.js → chunk-WEUNPE3S.js} +139 -113
- package/dist/chunk-WEUNPE3S.js.map +1 -0
- package/dist/{chunk-VDZO6IDR.js → chunk-XOFE2RT4.js} +5 -5
- package/dist/components/case-studies/index.cjs +10 -10
- package/dist/components/case-studies/index.js +4 -4
- 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-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 +12 -4
- 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 +23 -15
- 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 +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/features/select-button.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +203 -161
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +66 -24
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/page-layout.d.ts +7 -1
- package/dist/components/layout/page-layout.d.ts.map +1 -1
- package/dist/components/layout/title-block.d.ts +23 -1
- package/dist/components/layout/title-block.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/autocomplete.d.ts.map +1 -1
- package/dist/components/ui/checkbox-block.d.ts.map +1 -1
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/field-wrapper.d.ts +10 -1
- package/dist/components/ui/field-wrapper.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +50 -50
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/floating-tooltip.d.ts +8 -1
- package/dist/components/ui/floating-tooltip.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +46 -4
- 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 +57 -15
- package/dist/components/ui/input-trigger.d.ts.map +1 -1
- package/dist/components/ui/input.d.ts.map +1 -1
- 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/components/ui/page-actions.d.ts +7 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/search-input.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.d.ts +10 -1
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/components/ui/tag-search-input.d.ts.map +1 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/truncate-text.d.ts +2 -2
- package/dist/components/ui/truncate-text.d.ts.map +1 -1
- package/dist/hooks/index.cjs +4 -2
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/use-is-truncated.d.ts +33 -0
- package/dist/hooks/ui/use-is-truncated.d.ts.map +1 -0
- package/dist/index.cjs +64 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +75 -15
- 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 +293 -5
- package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +207 -0
- package/src/components/chat/__tests__/chat-pending-turn.test.tsx +230 -0
- package/src/components/chat/chat-message-enhanced.tsx +122 -20
- package/src/components/chat/chat-message-list.tsx +358 -109
- 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__/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-nats-chat-adapter.ts +243 -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 +756 -0
- package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +460 -0
- package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +973 -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 +98 -0
- package/src/components/chat/stream/chat-dialog-store.ts +536 -0
- package/src/components/chat/stream/chat-stream-reducer.ts +1808 -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-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/features/select-button.tsx +4 -1
- package/src/components/layout/page-layout.tsx +16 -0
- package/src/components/layout/title-block.tsx +106 -7
- 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/.field-wrapper.md +5 -4
- package/src/components/ui/.tab-navigation.md +14 -1
- package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +2420 -0
- package/src/components/ui/__tests__/markdown-parity.test.tsx +2528 -0
- package/src/components/ui/autocomplete.tsx +13 -1
- package/src/components/ui/button/button.tsx +1 -1
- package/src/components/ui/checkbox-block.tsx +27 -3
- package/src/components/ui/date-picker.tsx +15 -1
- package/src/components/ui/field-wrapper.tsx +12 -6
- package/src/components/ui/floating-tooltip.tsx +9 -1
- package/src/components/ui/index.ts +1 -2
- package/src/components/ui/input-trigger.tsx +8 -1
- package/src/components/ui/input.tsx +8 -1
- package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +115 -0
- package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +95 -0
- package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +309 -0
- package/src/components/ui/markdown/__tests__/streaming.test.tsx +388 -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 +291 -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 +3499 -0
- package/src/components/ui/markdown/simple-markdown-renderer.tsx +28 -0
- package/src/components/ui/markdown/streaming.ts +362 -0
- package/src/components/ui/markdown/text-size.ts +106 -0
- package/src/components/ui/page-actions.tsx +142 -30
- package/src/components/ui/radio-group.tsx +28 -3
- package/src/components/ui/release-changelog-section.tsx +1 -1
- package/src/components/ui/search-input.tsx +2 -1
- package/src/components/ui/select.tsx +7 -0
- package/src/components/ui/tab-navigation.tsx +26 -4
- package/src/components/ui/tag-search-input.tsx +9 -2
- package/src/components/ui/textarea.tsx +8 -1
- package/src/components/ui/ticket-info-section.tsx +1 -1
- package/src/components/ui/truncate-text.tsx +3 -18
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-is-truncated.ts +66 -0
- 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-7I42V2OD.cjs.map +0 -1
- package/dist/chunk-AIRNG27G.js.map +0 -1
- package/dist/chunk-BIKOJ4FH.cjs.map +0 -1
- package/dist/chunk-BZMOEWWS.js.map +0 -1
- package/dist/chunk-GZK7FWJJ.js.map +0 -1
- package/dist/chunk-IEZ3YBAP.cjs.map +0 -1
- package/dist/chunk-OQIMH2WQ.js.map +0 -1
- package/dist/chunk-PB3BTZDU.js.map +0 -1
- package/dist/chunk-STYA77PH.cjs.map +0 -1
- package/dist/chunk-VUXNXWOQ.cjs.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-WLM3F3WU.js.map → chunk-34TDA22K.js.map} +0 -0
- /package/dist/{chunk-EGXCWZYP.js.map → chunk-3LKB722U.js.map} +0 -0
- /package/dist/{chunk-RW2LPL72.js.map → chunk-6WTCJI5R.js.map} +0 -0
- /package/dist/{chunk-VL2YMDPH.js.map → chunk-J3VBVR4W.js.map} +0 -0
- /package/dist/{chunk-6CJ2K7BD.js.map → chunk-MZRIRQYV.js.map} +0 -0
- /package/dist/{chunk-NGEFYPY7.js.map → chunk-NCAN6VUF.js.map} +0 -0
- /package/dist/{chunk-6QK3ONDD.js.map → chunk-OL3MJKUI.js.map} +0 -0
- /package/dist/{chunk-MPYDX5WX.js.map → chunk-PLB6CQSO.js.map} +0 -0
- /package/dist/{chunk-6CFFISUC.js.map → chunk-PTXZB2KW.js.map} +0 -0
- /package/dist/{chunk-VDZO6IDR.js.map → chunk-XOFE2RT4.js.map} +0 -0
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;
|