@flamingo-stack/openframe-frontend-core 0.0.467 → 0.0.468-snapshot.20260723140929
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 +192 -0
- package/dist/chat-protocol/events.d.ts.map +1 -0
- package/dist/chat-protocol/frames.d.ts +206 -0
- package/dist/chat-protocol/frames.d.ts.map +1 -0
- package/dist/chat-protocol/index.cjs +493 -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 +477 -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-BIDOIPIT.js → chunk-2BJSRTKU.js} +2 -2
- package/dist/{chunk-4DFPQKKJ.js → chunk-33FDAZDB.js} +2 -2
- package/dist/{chunk-LOWJWKM5.js → chunk-4QDFNDVW.js} +4 -4
- package/dist/{chunk-72NEN4G4.cjs → chunk-4UFRQT7Z.cjs} +15 -15
- package/dist/{chunk-72NEN4G4.cjs.map → chunk-4UFRQT7Z.cjs.map} +1 -1
- package/dist/{chunk-WWC75D3J.cjs → chunk-4W54HUP7.cjs} +6853 -4609
- package/dist/chunk-4W54HUP7.cjs.map +1 -0
- package/dist/{chunk-6DZ5QOUM.cjs → chunk-5HUTT3FD.cjs} +11 -11
- package/dist/{chunk-6DZ5QOUM.cjs.map → chunk-5HUTT3FD.cjs.map} +1 -1
- package/dist/{chunk-GXXLJHQX.js → chunk-7I2QMUEZ.js} +2 -2
- package/dist/{chunk-QJ7NIL6A.js → chunk-AJSNF5YF.js} +6 -5
- package/dist/chunk-AJSNF5YF.js.map +1 -0
- package/dist/{chunk-NYOQNYSI.js → chunk-AW3LVWVV.js} +2 -2
- package/dist/{chunk-25YYEVSE.js → chunk-DG7TX763.js} +2 -2
- package/dist/{chunk-CZFPPNYV.js → chunk-E6O6XATC.js} +11899 -9655
- package/dist/chunk-E6O6XATC.js.map +1 -0
- package/dist/{chunk-ZYPHZ3R3.cjs → chunk-GLKULDQN.cjs} +9 -9
- package/dist/{chunk-ZYPHZ3R3.cjs.map → chunk-GLKULDQN.cjs.map} +1 -1
- package/dist/{chunk-TZSPLSDU.js → chunk-GYEZV4GK.js} +2 -2
- package/dist/{chunk-G5D7NRH5.cjs → chunk-LRESZO4L.cjs} +26 -26
- package/dist/{chunk-G5D7NRH5.cjs.map → chunk-LRESZO4L.cjs.map} +1 -1
- package/dist/{chunk-ABU37QSG.js → chunk-MMF6HJB7.js} +4 -4
- package/dist/{chunk-O7LQYYUA.cjs → chunk-MTLBBSLP.cjs} +5 -5
- package/dist/{chunk-O7LQYYUA.cjs.map → chunk-MTLBBSLP.cjs.map} +1 -1
- package/dist/{chunk-UWW4PQQS.cjs → chunk-OVIUQJ2H.cjs} +28 -27
- package/dist/chunk-OVIUQJ2H.cjs.map +1 -0
- package/dist/{chunk-3L44PPMF.js → chunk-RPAOSHBN.js} +2 -2
- package/dist/{chunk-VERK32MO.cjs → chunk-TOFOK7G5.cjs} +37 -37
- package/dist/{chunk-VERK32MO.cjs.map → chunk-TOFOK7G5.cjs.map} +1 -1
- package/dist/{chunk-QITN43HN.cjs → chunk-U2KPMWO6.cjs} +7 -7
- package/dist/{chunk-QITN43HN.cjs.map → chunk-U2KPMWO6.cjs.map} +1 -1
- package/dist/{chunk-YGW7T57C.cjs → chunk-V5YWOQBP.cjs} +31 -31
- package/dist/{chunk-YGW7T57C.cjs.map → chunk-V5YWOQBP.cjs.map} +1 -1
- package/dist/{chunk-ILZ66CS6.js → chunk-VUCYS36H.js} +10 -10
- package/dist/chunk-VUCYS36H.js.map +1 -0
- package/dist/{chunk-SGDXS7VT.cjs → chunk-WHWDGCQV.cjs} +60 -60
- package/dist/chunk-WHWDGCQV.cjs.map +1 -0
- package/dist/{chunk-G2H4AKL3.cjs → chunk-YXNWEVER.cjs} +62 -62
- package/dist/{chunk-G2H4AKL3.cjs.map → chunk-YXNWEVER.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-composer.d.ts +8 -1
- package/dist/components/chat/chat-composer.d.ts.map +1 -1
- package/dist/components/chat/chat-context-memory-bar.d.ts +37 -0
- package/dist/components/chat/chat-context-memory-bar.d.ts.map +1 -0
- 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/embeddable-chat.d.ts +14 -6
- package/dist/components/chat/embeddable-chat.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 +3 -47
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +12 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +2 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +23 -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 -90
- 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 +174 -130
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +65 -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 +46 -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 +57 -13
- package/dist/components/ui/markdown/base-components.d.ts +56 -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 +62 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +73 -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 +307 -0
- package/src/chat-protocol/__tests__/chat-protocol.test.ts +515 -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 +228 -0
- package/src/chat-protocol/decode.ts +277 -0
- package/src/chat-protocol/encode.ts +71 -0
- package/src/chat-protocol/env-flag.ts +39 -0
- package/src/chat-protocol/events.ts +228 -0
- package/src/chat-protocol/frames.ts +238 -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 +252 -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 +209 -0
- package/src/components/chat/chat-composer.tsx +32 -5
- package/src/components/chat/chat-context-memory-bar.tsx +159 -0
- package/src/components/chat/chat-message-enhanced.tsx +111 -17
- package/src/components/chat/chat-message-list.tsx +358 -109
- package/src/components/chat/embeddable-chat.tsx +23 -15
- package/src/components/chat/hooks/.index.md +1 -1
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +1 -1
- package/src/components/chat/hooks/__tests__/__snapshots__/persisted-state-v1-golden.test.ts.snap +297 -0
- package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
- package/src/components/chat/hooks/__tests__/persisted-state-v1-golden.test.ts +272 -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 -822
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +318 -666
- package/src/components/chat/index.ts +6 -0
- package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +937 -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 +894 -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 +1796 -0
- package/src/components/chat/stream/delta-batcher.ts +159 -0
- package/src/components/chat/stream/index.ts +55 -0
- package/src/components/chat/stream/message-mutations.ts +338 -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 +1 -3
- package/src/components/chat/types/.processing.types.md +6 -23
- package/src/components/chat/types/api.types.ts +6 -73
- package/src/components/chat/types/processing.types.ts +11 -52
- package/src/components/chat/utils/.index.md +0 -5
- package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +418 -0
- package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +599 -0
- package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +317 -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 +352 -383
- 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 +2528 -0
- package/src/components/ui/index.ts +1 -2
- 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 +341 -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/release-changelog-section.tsx +1 -1
- package/src/components/ui/tab-selector.tsx +8 -8
- 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-CZFPPNYV.js.map +0 -1
- package/dist/chunk-ILZ66CS6.js.map +0 -1
- package/dist/chunk-QJ7NIL6A.js.map +0 -1
- package/dist/chunk-SGDXS7VT.cjs.map +0 -1
- package/dist/chunk-UWW4PQQS.cjs.map +0 -1
- package/dist/chunk-WWC75D3J.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 -50
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +0 -479
- package/src/components/chat/utils/.chunk-parser.md +0 -51
- package/src/components/chat/utils/chunk-parser.ts +0 -255
- package/src/components/ui/.simple-markdown-renderer.md +0 -40
- package/src/components/ui/rich-markdown-renderer.tsx +0 -1223
- package/src/components/ui/simple-markdown-renderer.tsx +0 -965
- /package/dist/{chunk-BIDOIPIT.js.map → chunk-2BJSRTKU.js.map} +0 -0
- /package/dist/{chunk-4DFPQKKJ.js.map → chunk-33FDAZDB.js.map} +0 -0
- /package/dist/{chunk-LOWJWKM5.js.map → chunk-4QDFNDVW.js.map} +0 -0
- /package/dist/{chunk-GXXLJHQX.js.map → chunk-7I2QMUEZ.js.map} +0 -0
- /package/dist/{chunk-NYOQNYSI.js.map → chunk-AW3LVWVV.js.map} +0 -0
- /package/dist/{chunk-25YYEVSE.js.map → chunk-DG7TX763.js.map} +0 -0
- /package/dist/{chunk-TZSPLSDU.js.map → chunk-GYEZV4GK.js.map} +0 -0
- /package/dist/{chunk-ABU37QSG.js.map → chunk-MMF6HJB7.js.map} +0 -0
- /package/dist/{chunk-3L44PPMF.js.map → chunk-RPAOSHBN.js.map} +0 -0
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { UseRealtimeChunkProcessorReturn, UseRealtimeChunkProcessorOptions } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Hook for processing real-time NATS chunks into message segments
|
|
4
|
-
*/
|
|
5
|
-
export declare function useRealtimeChunkProcessor(options: UseRealtimeChunkProcessorOptions): UseRealtimeChunkProcessorReturn;
|
|
6
|
-
//# sourceMappingURL=use-realtime-chunk-processor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-realtime-chunk-processor.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-realtime-chunk-processor.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,+BAA+B,EAAE,gCAAgC,EAAmF,MAAM,UAAU,CAAA;AAQlL;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,+BAA+B,CAocjC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities for parsing NATS chunks into structured actions
|
|
3
|
-
*/
|
|
4
|
-
import { type ParsedChunkAction } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* Parse a raw NATS chunk into a structured action
|
|
7
|
-
*/
|
|
8
|
-
export declare function parseChunkToAction(chunk: unknown): ParsedChunkAction | null;
|
|
9
|
-
/**
|
|
10
|
-
* Check if a chunk represents a control message (start/end)
|
|
11
|
-
*/
|
|
12
|
-
export declare function isControlChunk(chunk: unknown): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Check if a chunk represents an error
|
|
15
|
-
*/
|
|
16
|
-
export declare function isErrorChunk(chunk: unknown): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Check if a chunk represents metadata
|
|
19
|
-
*/
|
|
20
|
-
export declare function isMetadataChunk(chunk: unknown): boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Extract text content from a chunk if it's a text chunk
|
|
23
|
-
*/
|
|
24
|
-
export declare function extractTextFromChunk(chunk: unknown): string | null;
|
|
25
|
-
//# sourceMappingURL=chunk-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-parser.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chunk-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgC,KAAK,iBAAiB,EAAuD,MAAM,UAAU,CAAA;AAqBpI;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CA0L3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOlE"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type RichMarkdownRuntime } from '../embeds/rich-markdown-runtime';
|
|
3
|
-
/**
|
|
4
|
-
* Props for `<RichMarkdownRenderer>`. Aside from the four runtime knobs
|
|
5
|
-
* lifted from {@link RichMarkdownRuntime}, this is the same shape the hub's
|
|
6
|
-
* `SimpleMarkdownRenderer` ever had — every legacy call site can be moved
|
|
7
|
-
* over without other changes.
|
|
8
|
-
*/
|
|
9
|
-
export interface RichMarkdownRendererProps extends Partial<RichMarkdownRuntime> {
|
|
10
|
-
content: string;
|
|
11
|
-
className?: string;
|
|
12
|
-
sectionIds?: Array<{
|
|
13
|
-
id: string;
|
|
14
|
-
title: string;
|
|
15
|
-
level: number;
|
|
16
|
-
}>;
|
|
17
|
-
/** Callback for internal navigation (called after the resolver returns) */
|
|
18
|
-
onInternalLinkClick?: (path: string, options?: {
|
|
19
|
-
expandFolder?: boolean;
|
|
20
|
-
fromInternalLink?: boolean;
|
|
21
|
-
}) => void;
|
|
22
|
-
/** List of broken links detected server-side */
|
|
23
|
-
brokenLinks?: string[];
|
|
24
|
-
/** Current documentation path for resolving relative links */
|
|
25
|
-
currentPath?: string;
|
|
26
|
-
/** Source for resolving internal links (default: 'openframe-docs'). Registry id from DOC_SOURCES. */
|
|
27
|
-
resolveSource?: string;
|
|
28
|
-
/** Path of the internal link-resolver endpoint. Default '/api/docs/resolve-link'. */
|
|
29
|
-
resolveLinkEndpointUrl?: string;
|
|
30
|
-
/** When the page already has an H1, render markdown `#` as `h2` (e.g. legal pages). */
|
|
31
|
-
demoteMarkdownH1ToH2?: boolean;
|
|
32
|
-
}
|
|
33
|
-
export declare const RichMarkdownRenderer: React.FC<RichMarkdownRendererProps>;
|
|
34
|
-
//# sourceMappingURL=rich-markdown-renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/rich-markdown-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AA4czC;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAoCpE,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type Components } from 'react-markdown';
|
|
3
|
-
import type { PluggableList } from 'unified';
|
|
4
|
-
import type { ResolveLinkResult } from '../../types/doc-source';
|
|
5
|
-
export type { ResolveLinkResult };
|
|
6
|
-
export type TextSizeElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'li' | 'blockquote' | 'code' | 'th' | 'td';
|
|
7
|
-
export type TextSizeClassMap = Partial<Record<TextSizeElement, string>>;
|
|
8
|
-
export type TextSizePreset = 'default' | 'compact' | 'large';
|
|
9
|
-
export type TextSizeConfig = TextSizePreset | TextSizeClassMap | {
|
|
10
|
-
preset: TextSizePreset;
|
|
11
|
-
overrides: TextSizeClassMap;
|
|
12
|
-
};
|
|
13
|
-
export interface SimpleMarkdownRendererProps {
|
|
14
|
-
content: string;
|
|
15
|
-
className?: string;
|
|
16
|
-
/** Backend-provided heading IDs for deep-link anchors */
|
|
17
|
-
sectionIds?: Array<{
|
|
18
|
-
id: string;
|
|
19
|
-
title: string;
|
|
20
|
-
level: number;
|
|
21
|
-
}>;
|
|
22
|
-
/** When the page already has an H1, render markdown `#` as `<h2>` */
|
|
23
|
-
demoteMarkdownH1ToH2?: boolean;
|
|
24
|
-
/** List of broken link hrefs detected server-side (shown with [BROKEN] badge) */
|
|
25
|
-
brokenLinks?: string[];
|
|
26
|
-
/** Callback for internal (non-http, non-anchor) link clicks */
|
|
27
|
-
onInternalLinkClick?: (path: string, options?: {
|
|
28
|
-
expandFolder?: boolean;
|
|
29
|
-
fromInternalLink?: boolean;
|
|
30
|
-
}) => void;
|
|
31
|
-
/** Current documentation path — enables internal-link mode when set */
|
|
32
|
-
currentPath?: string;
|
|
33
|
-
/**
|
|
34
|
-
* Resolve an internal link href to a navigation path.
|
|
35
|
-
* Called when a user clicks an internal doc link.
|
|
36
|
-
*/
|
|
37
|
-
onResolveLink?: (href: string, currentPath: string) => Promise<ResolveLinkResult>;
|
|
38
|
-
/** Pre-process the raw markdown string before rendering (e.g. shortcode expansion) */
|
|
39
|
-
preprocessContent?: (content: string) => string;
|
|
40
|
-
/** Merge additional or override react-markdown component renderers */
|
|
41
|
-
componentOverrides?: Partial<Components>;
|
|
42
|
-
/**
|
|
43
|
-
* Extra remark plugins appended after the built-in `remarkGfm` and
|
|
44
|
-
* `remarkBreaks`. Used by chat consumers to inject `remarkCardLinks`,
|
|
45
|
-
* which converts `[card://<type>:<id>]` markers into synthetic `link`
|
|
46
|
-
* nodes; the host's `componentOverrides.a` then swaps those for whatever
|
|
47
|
-
* inline entity-card component it provides.
|
|
48
|
-
*
|
|
49
|
-
* Each entry is either a Plugin reference or a [Plugin, options] tuple
|
|
50
|
-
* — same shape as react-markdown's own `remarkPlugins` prop. Pass an
|
|
51
|
-
* empty array (or omit) to keep the default plugin set.
|
|
52
|
-
*/
|
|
53
|
-
additionalRemarkPlugins?: PluggableList;
|
|
54
|
-
/**
|
|
55
|
-
* Configure text sizing for all rendered elements.
|
|
56
|
-
* - `"default"` — current behavior (large article-style typography)
|
|
57
|
-
* - `"compact"` — smaller sizes for sidebars, cards, changelogs
|
|
58
|
-
* - `"large"` — extra-large sizes for hero/landing content
|
|
59
|
-
* - `{ p: "text-sm", h1: "text-2xl" }` — per-element overrides (merged onto default)
|
|
60
|
-
* - `{ preset: "compact", overrides: { h1: "text-heading-1" } }` — preset + tweaks
|
|
61
|
-
*/
|
|
62
|
-
textSize?: TextSizeConfig;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Memoized so a parent re-render with UNCHANGED props (same `content` string,
|
|
66
|
-
* same memoized `componentOverrides`/plugins) does NOT re-parse the markdown.
|
|
67
|
-
* Re-parsing rebuilds the entire react-markdown subtree, which RE-MOUNTS any
|
|
68
|
-
* embedded inline entity cards — closing their open menus and re-triggering
|
|
69
|
-
* their fetch on every chat re-render (streaming chunk AND scroll). With
|
|
70
|
-
* stable props the renderer bails, so completed messages' cards stay mounted.
|
|
71
|
-
*/
|
|
72
|
-
export declare const SimpleMarkdownRenderer: React.NamedExoticComponent<SimpleMarkdownRendererProps>;
|
|
73
|
-
//# sourceMappingURL=simple-markdown-renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-markdown-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAsB,EAAE,KAAK,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAqclC,MAAM,MAAM,eAAe,GACvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GACvC,GAAG,GAAG,IAAI,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,gBAAgB,GAChB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC;AA+D5D,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAqXD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,yDAAmC,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: e37a3772ece6c09122bfe5d89ce800e0 -->
|
|
2
|
-
Real-time NATS streaming chunk processor hook that converts raw streaming messages into typed message segments, managing stream state, tool execution, and approval workflows.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
| Export | Type | Description |
|
|
7
|
-
|--------|------|-------------|
|
|
8
|
-
| `useRealtimeChunkProcessor` | Hook | Primary hook for processing NATS stream chunks into UI-ready message segments |
|
|
9
|
-
| `accumulatorRef` | Internal Ref | Holds a `MessageSegmentAccumulator` instance that tracks and builds segments across chunk events |
|
|
10
|
-
| `isInStreamRef` | Internal Ref | Tracks whether a `MESSAGE_START`/`MESSAGE_END` boundary is active |
|
|
11
|
-
| `hasEverStreamedRef` | Internal Ref | Distinguishes cold-start vs. resumed-dialog continuation mode |
|
|
12
|
-
| `pendingEscalatedRef` | Internal Ref | Tracks escalated (non-display) approval requests awaiting results |
|
|
13
|
-
|
|
14
|
-
### Handled Chunk Actions
|
|
15
|
-
|
|
16
|
-
| Action | Behavior |
|
|
17
|
-
|--------|----------|
|
|
18
|
-
| `message_start` / `message_end` | Opens/closes stream window, resets segment accumulator |
|
|
19
|
-
| `text` / `thinking` | Appends to accumulator; uses append mode post-stream |
|
|
20
|
-
| `tool_execution` | Routes to accumulator in-stream, or `onToolExecuted` post-stream |
|
|
21
|
-
| `approval_request` | Renders inline or escalates based on `displayApprovalTypes` |
|
|
22
|
-
| `approval_batch` | Renders batch card or unfolds into legacy cards if `batchApprovalsEnabled = false` |
|
|
23
|
-
| `approval_result` | Resolves escalated or inline approvals, updates accumulator status |
|
|
24
|
-
| `error` | Parses error detail and emits error segment |
|
|
25
|
-
|
|
26
|
-
## Usage Example
|
|
27
|
-
|
|
28
|
-
```typescript
|
|
29
|
-
const { processChunk } = useRealtimeChunkProcessor({
|
|
30
|
-
callbacks: {
|
|
31
|
-
onSegmentsUpdate: (segments, opts) => updateMessage(segments, opts),
|
|
32
|
-
onStreamStart: () => setStreaming(true),
|
|
33
|
-
onStreamEnd: () => setStreaming(false),
|
|
34
|
-
onApprove: (requestId) => approveToolCall(requestId),
|
|
35
|
-
onReject: (requestId) => rejectToolCall(requestId),
|
|
36
|
-
onEscalatedApproval: (requestId, data) => notifyTechnician(requestId, data),
|
|
37
|
-
onApprovalResolved: (requestId, status) => syncStatus(requestId, status),
|
|
38
|
-
onError: (error) => console.error(error),
|
|
39
|
-
},
|
|
40
|
-
displayApprovalTypes: ['CLIENT'],
|
|
41
|
-
approvalStatuses: { 'req-123': 'pending' },
|
|
42
|
-
enableThinking: false,
|
|
43
|
-
batchApprovalsEnabled: true,
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
// Feed raw NATS chunks directly
|
|
47
|
-
natsSubscription.on('message', (msg) => processChunk(msg.data))
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
> **Note:** `batchApprovalsEnabled` defaults to `true`. Pass `false` to fall back to legacy per-call approval cards. Consumers using `onApprovalResolved` should omit `onSegmentsUpdate` handling for approval results to avoid bubble overwrites during status flips.
|