@flamingo-stack/openframe-frontend-core 0.0.508 → 0.0.509
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 +216 -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 +506 -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 +490 -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-3SQ5KXHQ.cjs → chunk-2T4GTV25.cjs} +9 -9
- package/dist/{chunk-3SQ5KXHQ.cjs.map → chunk-2T4GTV25.cjs.map} +1 -1
- package/dist/{chunk-CWAOV2FK.cjs → chunk-3CGZPAGR.cjs} +3 -3
- package/dist/{chunk-CWAOV2FK.cjs.map → chunk-3CGZPAGR.cjs.map} +1 -1
- package/dist/{chunk-TLMJHMXJ.js → chunk-3QSR22IC.js} +12 -12
- package/dist/chunk-3QSR22IC.js.map +1 -0
- package/dist/{chunk-TWYNR4TZ.cjs → chunk-4G5TLHJD.cjs} +7141 -4799
- package/dist/chunk-4G5TLHJD.cjs.map +1 -0
- package/dist/{chunk-ADPMHWOE.js → chunk-72XAID7Y.js} +4 -4
- package/dist/{chunk-PAGKRNWK.js → chunk-7WZHBQ4J.js} +2 -2
- package/dist/{chunk-OCEKO5CW.js → chunk-AEELJC4N.js} +12106 -9764
- package/dist/chunk-AEELJC4N.js.map +1 -0
- package/dist/{chunk-Z42BGM6Q.cjs → chunk-BT2WWDFP.cjs} +5 -5
- package/dist/{chunk-Z42BGM6Q.cjs.map → chunk-BT2WWDFP.cjs.map} +1 -1
- package/dist/{chunk-7LEL3RIX.cjs → chunk-C7OY3PQP.cjs} +11 -11
- package/dist/{chunk-7LEL3RIX.cjs.map → chunk-C7OY3PQP.cjs.map} +1 -1
- package/dist/{chunk-RHGGEKPQ.cjs → chunk-CIOLOQKQ.cjs} +4 -4
- package/dist/{chunk-RHGGEKPQ.cjs.map → chunk-CIOLOQKQ.cjs.map} +1 -1
- package/dist/{chunk-TSZHM74B.js → chunk-DC2TKS7C.js} +2 -2
- package/dist/{chunk-M2GOR3XQ.cjs → chunk-DYPYR7FR.cjs} +87 -87
- package/dist/{chunk-M2GOR3XQ.cjs.map → chunk-DYPYR7FR.cjs.map} +1 -1
- package/dist/{chunk-I64ABCDX.js → chunk-I2B6X77L.js} +2 -2
- package/dist/{chunk-NIZDKTGL.cjs → chunk-K5MSCMDK.cjs} +37 -37
- package/dist/{chunk-NIZDKTGL.cjs.map → chunk-K5MSCMDK.cjs.map} +1 -1
- package/dist/{chunk-DTYRYB2N.js → chunk-K6QTZ7CZ.js} +2 -2
- package/dist/{chunk-4LTMXDUS.js → chunk-KBN7PMFT.js} +2 -2
- package/dist/{chunk-TBMV7I5N.js → chunk-KXZO2WZX.js} +2 -2
- package/dist/{chunk-QTYZMP6D.cjs → chunk-LBAKLT6T.cjs} +62 -62
- package/dist/chunk-LBAKLT6T.cjs.map +1 -0
- package/dist/{chunk-KEBYLU3U.js → chunk-LFUPI7VX.js} +2 -2
- package/dist/{chunk-LDTR4IVZ.cjs → chunk-M37PBG4N.cjs} +31 -31
- package/dist/{chunk-LDTR4IVZ.cjs.map → chunk-M37PBG4N.cjs.map} +1 -1
- package/dist/{chunk-WA7RR64F.js → chunk-PO5O654H.js} +6 -5
- package/dist/chunk-PO5O654H.js.map +1 -0
- package/dist/{chunk-WK4N5VBX.cjs → chunk-QJJISLPA.cjs} +28 -27
- package/dist/chunk-QJJISLPA.cjs.map +1 -0
- package/dist/{chunk-2F44PLTV.cjs → chunk-T7MCSA55.cjs} +26 -26
- package/dist/{chunk-2F44PLTV.cjs.map → chunk-T7MCSA55.cjs.map} +1 -1
- package/dist/{chunk-WJQHJD7J.js → chunk-TWSKTJHW.js} +2 -2
- package/dist/{chunk-ZSQHZYCO.cjs → chunk-UQDMJ6DH.cjs} +13 -13
- package/dist/{chunk-ZSQHZYCO.cjs.map → chunk-UQDMJ6DH.cjs.map} +1 -1
- package/dist/{chunk-TZRUCD56.js → chunk-V3ZAAFE3.js} +5 -5
- package/dist/{chunk-LRGHJPET.js → chunk-XGIFOHKE.js} +2 -2
- package/dist/{chunk-POOMO3PA.cjs → chunk-YQEPRYT5.cjs} +7 -7
- package/dist/{chunk-POOMO3PA.cjs.map → chunk-YQEPRYT5.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-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 +380 -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/types/unified-chat-state.types.d.ts +15 -0
- package/dist/components/chat/types/unified-chat-state.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/history-merge.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 +22 -22
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +174 -132
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +65 -23
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +34 -34
- package/dist/components/meeting-scheduler/index.js +3 -3
- 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 +6 -6
- package/dist/components/tickets/index.js +5 -5
- 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 +319 -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 +237 -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 +254 -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 +264 -0
- package/src/components/chat/.chat-message-list.md +10 -6
- package/src/components/chat/__tests__/chat-message-list.test.tsx +450 -9
- 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 +515 -133
- 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 +944 -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 +1330 -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 +1928 -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/.unified-chat-state.types.md +2 -2
- package/src/components/chat/types/api.types.ts +6 -73
- package/src/components/chat/types/processing.types.ts +11 -53
- package/src/components/chat/types/unified-chat-state.types.ts +16 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +21 -3
- package/src/components/chat/utils/.history-merge.md +44 -3
- 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__/extract-incomplete-message-state.test.ts +106 -0
- package/src/components/chat/utils/__tests__/history-merge.test.ts +160 -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 +93 -6
- package/src/components/chat/utils/history-merge.ts +85 -5
- package/src/components/chat/utils/index.ts +5 -8
- package/src/components/chat/utils/process-historical-messages.ts +361 -385
- 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-OCEKO5CW.js.map +0 -1
- package/dist/chunk-QTYZMP6D.cjs.map +0 -1
- package/dist/chunk-TLMJHMXJ.js.map +0 -1
- package/dist/chunk-TWYNR4TZ.cjs.map +0 -1
- package/dist/chunk-WA7RR64F.js.map +0 -1
- package/dist/chunk-WK4N5VBX.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-ADPMHWOE.js.map → chunk-72XAID7Y.js.map} +0 -0
- /package/dist/{chunk-PAGKRNWK.js.map → chunk-7WZHBQ4J.js.map} +0 -0
- /package/dist/{chunk-TSZHM74B.js.map → chunk-DC2TKS7C.js.map} +0 -0
- /package/dist/{chunk-I64ABCDX.js.map → chunk-I2B6X77L.js.map} +0 -0
- /package/dist/{chunk-DTYRYB2N.js.map → chunk-K6QTZ7CZ.js.map} +0 -0
- /package/dist/{chunk-4LTMXDUS.js.map → chunk-KBN7PMFT.js.map} +0 -0
- /package/dist/{chunk-TBMV7I5N.js.map → chunk-KXZO2WZX.js.map} +0 -0
- /package/dist/{chunk-KEBYLU3U.js.map → chunk-LFUPI7VX.js.map} +0 -0
- /package/dist/{chunk-WJQHJD7J.js.map → chunk-TWSKTJHW.js.map} +0 -0
- /package/dist/{chunk-TZRUCD56.js.map → chunk-V3ZAAFE3.js.map} +0 -0
- /package/dist/{chunk-LRGHJPET.js.map → chunk-XGIFOHKE.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ChunkData, NatsMessageType, FetchChunksFunction } from './network.types';
|
|
6
6
|
import type { ChatType, ChatApprovalStatus } from './chat.types';
|
|
7
|
-
import type { MessageSegment,
|
|
7
|
+
import type { MessageSegment, TokenUsageData, ToolExecutionSegment } from './message.types';
|
|
8
8
|
export interface UseChunkCatchupOptions {
|
|
9
9
|
dialogId: string | null;
|
|
10
10
|
onChunkReceived: (chunk: ChunkData, messageType: NatsMessageType) => void;
|
|
@@ -229,86 +229,6 @@ export interface RealtimeChunkCallbacks {
|
|
|
229
229
|
/** Called when a DIALOG_CLOSED chunk is received */
|
|
230
230
|
onDialogClosed?: () => void;
|
|
231
231
|
}
|
|
232
|
-
export interface UseRealtimeChunkProcessorOptions {
|
|
233
|
-
callbacks: RealtimeChunkCallbacks;
|
|
234
|
-
/**
|
|
235
|
-
* Filter approval types that should be displayed directly
|
|
236
|
-
* Others will trigger onEscalatedApproval
|
|
237
|
-
* Default: ['CLIENT']
|
|
238
|
-
*/
|
|
239
|
-
displayApprovalTypes?: string[];
|
|
240
|
-
/**
|
|
241
|
-
* Map of existing approval statuses
|
|
242
|
-
*/
|
|
243
|
-
approvalStatuses?: Record<string, ChatApprovalStatus>;
|
|
244
|
-
/**
|
|
245
|
-
* Initialize accumulator with existing state from incomplete historical message
|
|
246
|
-
* Used to continue building messages across page refreshes or reconnections
|
|
247
|
-
*/
|
|
248
|
-
initialState?: {
|
|
249
|
-
/** Existing segments to continue building upon */
|
|
250
|
-
existingSegments?: MessageSegment[];
|
|
251
|
-
/** Pending approvals that haven't been resolved */
|
|
252
|
-
pendingApprovals?: Map<string, {
|
|
253
|
-
command: string;
|
|
254
|
-
explanation?: string;
|
|
255
|
-
approvalType: string;
|
|
256
|
-
}>;
|
|
257
|
-
/** Executing tools waiting for completion */
|
|
258
|
-
executingTools?: Map<string, ExecutingToolState>;
|
|
259
|
-
/** Escalated approvals */
|
|
260
|
-
escalatedApprovals?: Map<string, {
|
|
261
|
-
command: string;
|
|
262
|
-
explanation?: string;
|
|
263
|
-
approvalType: string;
|
|
264
|
-
toolCalls?: PendingToolCallData[];
|
|
265
|
-
}>;
|
|
266
|
-
};
|
|
267
|
-
/**
|
|
268
|
-
* Consumer-owned (e.g. set in `openframe-oss-tenant` chat client via the
|
|
269
|
-
* `'batch-approvals'` feature flag and forwarded here). The lib does NOT
|
|
270
|
-
* default this to a batch-on behavior — when omitted it falls back to the
|
|
271
|
-
* legacy single-card rendering.
|
|
272
|
-
*
|
|
273
|
-
* When true: `APPROVAL_REQUEST` chunks containing `toolCalls[]` are rendered
|
|
274
|
-
* as a single batch card. When false / omitted: the batch is split into N
|
|
275
|
-
* legacy approval cards (one per tool that requires approval), all sharing
|
|
276
|
-
* the same `approvalRequestId`. Tools with `requiresApproval=false` are
|
|
277
|
-
* dropped from the UI in the unfolded mode.
|
|
278
|
-
*/
|
|
279
|
-
batchApprovalsEnabled?: boolean;
|
|
280
|
-
/**
|
|
281
|
-
* Engages the direct-mode barrier optimistically: once true, all AI-assistant
|
|
282
|
-
* chunks (text, thinking, tool executions, approvals, metadata, errors, etc.)
|
|
283
|
-
* are dropped and any open stream is torn down, leaving only human/control
|
|
284
|
-
* messages. A `DIRECT_MESSAGE` chunk engages the same barrier automatically
|
|
285
|
-
* regardless of this flag. Pass this from a host that already knows the dialog
|
|
286
|
-
* switched to direct mode (e.g. an optimistic mode toggle) to close the race
|
|
287
|
-
* window before the server emits the first `DIRECT_MESSAGE`.
|
|
288
|
-
*
|
|
289
|
-
* Do NOT set this when the host reconstructs history by replaying chunks
|
|
290
|
-
* through `processChunk` — a static flag would drop legitimate pre-switch AI
|
|
291
|
-
* history. Rely on the in-order `DIRECT_MESSAGE` detection instead.
|
|
292
|
-
*/
|
|
293
|
-
isDirectMode?: boolean;
|
|
294
|
-
}
|
|
295
|
-
export interface UseRealtimeChunkProcessorReturn {
|
|
296
|
-
/** Process a single chunk */
|
|
297
|
-
processChunk: (chunk: unknown) => void;
|
|
298
|
-
/** Get current segments */
|
|
299
|
-
getSegments: () => MessageSegment[];
|
|
300
|
-
/** Reset the accumulator */
|
|
301
|
-
reset: () => void;
|
|
302
|
-
/** Update approval status for a request */
|
|
303
|
-
updateApprovalStatus: (requestId: string, status: ChatApprovalStatus, resolvedByName?: string | null) => MessageSegment[];
|
|
304
|
-
/** Get pending approval requests */
|
|
305
|
-
getPendingApprovals: () => Map<string, {
|
|
306
|
-
command: string;
|
|
307
|
-
explanation?: string;
|
|
308
|
-
approvalType: string;
|
|
309
|
-
toolCalls?: PendingToolCallData[];
|
|
310
|
-
}>;
|
|
311
|
-
}
|
|
312
232
|
export interface ChatAPIRequest {
|
|
313
233
|
dialogId: string;
|
|
314
234
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/api.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,KAAK,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/api.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,82 +2,9 @@
|
|
|
2
2
|
* Message processing and transformation types
|
|
3
3
|
* Contains types for message parsing, accumulation, and processing
|
|
4
4
|
*/
|
|
5
|
-
import type { MessageSegment,
|
|
5
|
+
import type { MessageSegment, PendingToolCallData, ExecutingToolState } from './message.types';
|
|
6
6
|
import type { ChatApprovalStatus, AssistantType } from './chat.types';
|
|
7
|
-
import type { ChunkData
|
|
8
|
-
export type ParsedChunkAction = {
|
|
9
|
-
action: 'message_start';
|
|
10
|
-
} | {
|
|
11
|
-
action: 'message_end';
|
|
12
|
-
} | {
|
|
13
|
-
action: 'error';
|
|
14
|
-
error: string;
|
|
15
|
-
details?: string;
|
|
16
|
-
} | {
|
|
17
|
-
action: 'metadata';
|
|
18
|
-
modelDisplayName: string;
|
|
19
|
-
modelName: string;
|
|
20
|
-
providerName: string;
|
|
21
|
-
contextWindow: number;
|
|
22
|
-
} | {
|
|
23
|
-
action: 'text';
|
|
24
|
-
text: string;
|
|
25
|
-
} | {
|
|
26
|
-
action: 'thinking';
|
|
27
|
-
text: string;
|
|
28
|
-
} | {
|
|
29
|
-
action: 'guide';
|
|
30
|
-
text: string;
|
|
31
|
-
} | {
|
|
32
|
-
action: 'tool_execution';
|
|
33
|
-
segment: ToolExecutionSegment;
|
|
34
|
-
} | {
|
|
35
|
-
action: 'approval_request';
|
|
36
|
-
requestId: string;
|
|
37
|
-
command: string;
|
|
38
|
-
explanation?: string;
|
|
39
|
-
approvalType: string;
|
|
40
|
-
} | {
|
|
41
|
-
action: 'approval_batch';
|
|
42
|
-
requestId: string;
|
|
43
|
-
approvalType: string;
|
|
44
|
-
toolCalls: PendingToolCallData[];
|
|
45
|
-
} | {
|
|
46
|
-
action: 'approval_result';
|
|
47
|
-
requestId: string;
|
|
48
|
-
approved: boolean;
|
|
49
|
-
approvalType: string;
|
|
50
|
-
resolvedByName?: string | null;
|
|
51
|
-
} | {
|
|
52
|
-
action: 'message_request';
|
|
53
|
-
text: string;
|
|
54
|
-
ownerType?: string;
|
|
55
|
-
displayName?: string;
|
|
56
|
-
userId?: string;
|
|
57
|
-
contextItems?: Array<{
|
|
58
|
-
type: string;
|
|
59
|
-
id: string;
|
|
60
|
-
}>;
|
|
61
|
-
} | {
|
|
62
|
-
action: 'token_usage';
|
|
63
|
-
data: TokenUsageData;
|
|
64
|
-
} | {
|
|
65
|
-
action: 'direct_message';
|
|
66
|
-
text: string;
|
|
67
|
-
ownerType?: string;
|
|
68
|
-
displayName?: string;
|
|
69
|
-
userId?: string;
|
|
70
|
-
} | {
|
|
71
|
-
action: 'system';
|
|
72
|
-
text: string;
|
|
73
|
-
} | {
|
|
74
|
-
action: 'context_compaction_start';
|
|
75
|
-
} | {
|
|
76
|
-
action: 'context_compaction_end';
|
|
77
|
-
summary?: string;
|
|
78
|
-
} | {
|
|
79
|
-
action: 'dialog_closed';
|
|
80
|
-
};
|
|
7
|
+
import type { ChunkData } from './network.types';
|
|
81
8
|
export interface PendingApproval {
|
|
82
9
|
command: string;
|
|
83
10
|
explanation?: string;
|
|
@@ -119,24 +46,6 @@ export interface MessageProcessingOptions {
|
|
|
119
46
|
*/
|
|
120
47
|
batchApprovalsEnabled?: boolean;
|
|
121
48
|
}
|
|
122
|
-
export interface ChunkProcessor {
|
|
123
|
-
processChunk: (chunk: ChunkData, messageType: NatsMessageType) => ParsedChunkAction | null;
|
|
124
|
-
reset: () => void;
|
|
125
|
-
}
|
|
126
|
-
export interface ChunkProcessorOptions {
|
|
127
|
-
onMessageStart?: () => void;
|
|
128
|
-
onMessageEnd?: () => void;
|
|
129
|
-
onError?: (error: string, details?: string) => void;
|
|
130
|
-
onText?: (text: string) => void;
|
|
131
|
-
onToolExecution?: (segment: MessageSegment) => void;
|
|
132
|
-
onApprovalRequest?: (data: any) => void;
|
|
133
|
-
onApprovalResult?: (data: any) => void;
|
|
134
|
-
onMetadata?: (data: any) => void;
|
|
135
|
-
}
|
|
136
|
-
export interface MessageTransformer {
|
|
137
|
-
transform: (input: any) => ProcessedMessage | null;
|
|
138
|
-
batch: (inputs: any[]) => ProcessedMessage[];
|
|
139
|
-
}
|
|
140
49
|
export interface TransformationOptions {
|
|
141
50
|
preserveOriginal?: boolean;
|
|
142
51
|
mergeSegments?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/processing.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"processing.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/processing.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,6 +134,21 @@ export interface UnifiedChatMessage {
|
|
|
134
134
|
*/
|
|
135
135
|
content: string;
|
|
136
136
|
segments?: MessageSegment[];
|
|
137
|
+
/**
|
|
138
|
+
* Highest chunk `streamSeq` consumed into THIS row. Not render input — it is
|
|
139
|
+
* the per-message coverage signal `mergeHistoryWithRealtime` decides with:
|
|
140
|
+
* a live synthetic is a twin of a persisted row only once history reaches
|
|
141
|
+
* its seq.
|
|
142
|
+
*
|
|
143
|
+
* Load-bearing, not bookkeeping. Without it the merge falls through to its
|
|
144
|
+
* wall-clock fallback ("created before the fetch instant ⇒ history has it"),
|
|
145
|
+
* which is wrong for every turn the backend has not finished persisting: a
|
|
146
|
+
* history refetch mid-stream then drops every live bubble except the single
|
|
147
|
+
* `streamingMessageId`, collapsing the thread to the persisted user prompt.
|
|
148
|
+
* The reducer stamps it on the rows it owns; hosts stamp the persisted value
|
|
149
|
+
* on history rows.
|
|
150
|
+
*/
|
|
151
|
+
streamSeq?: number;
|
|
137
152
|
/**
|
|
138
153
|
* Optional host-supplied message timestamp (creation/send time). Rendered
|
|
139
154
|
* as the message-row time and, critically, fed into the memoized message's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-chat-state.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/unified-chat-state.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-chat-state.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/unified-chat-state.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,42 @@
|
|
|
2
2
|
* Utility for extracting incomplete message state from historical messages
|
|
3
3
|
* Used to continue building messages across realtime connections
|
|
4
4
|
*/
|
|
5
|
-
import type { ProcessedMessage
|
|
5
|
+
import type { ProcessedMessage } from '../types';
|
|
6
|
+
import type { InitializeExtras } from '../stream/chat-stream-reducer';
|
|
7
|
+
/**
|
|
8
|
+
* What the realtime accumulator needs to RESUME an unfinished turn.
|
|
9
|
+
*
|
|
10
|
+
* DERIVED, not restated: this is exactly the reducer's `InitializeExtras`
|
|
11
|
+
* minus `escalatedApprovals` (which only the live stream can produce — it has
|
|
12
|
+
* no historical representation to extract). Hosts pass the result straight
|
|
13
|
+
* into `reducer.initializeWithState(messages, extras)`, so the two must not
|
|
14
|
+
* drift; a structural coincidence is not a contract.
|
|
15
|
+
*/
|
|
16
|
+
export type IncompleteMessageState = Omit<InitializeExtras, 'escalatedApprovals'>;
|
|
6
17
|
/**
|
|
7
18
|
* Extract incomplete message state from the last historical assistant message
|
|
8
19
|
* Used to initialize realtime chunk processor when continuing an incomplete message
|
|
9
20
|
*/
|
|
10
|
-
export declare function extractIncompleteMessageState(lastMessage: ProcessedMessage | undefined):
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
export declare function extractIncompleteMessageState(lastMessage: ProcessedMessage | undefined): IncompleteMessageState | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* THREAD-level generalization of `extractIncompleteMessageState`: given a
|
|
24
|
+
* processed thread, look at the TRAILING RUN of consecutive assistant
|
|
25
|
+
* messages (not just the very last row), flatten it to one segment list, and
|
|
26
|
+
* ask the single-message extractor whether that tail is unfinished.
|
|
27
|
+
*
|
|
28
|
+
* Why the run and not the last row: the backend can split one logical turn
|
|
29
|
+
* across several assistant messages (a preamble bubble, then the approval
|
|
30
|
+
* card, then the continuation). The unfinished artifact — a pending approval,
|
|
31
|
+
* an EXECUTING_TOOL with no result, an open compaction — can therefore sit in
|
|
32
|
+
* an EARLIER bubble of the same trailing run, and a last-row-only check
|
|
33
|
+
* reports "complete" while the turn is very much still in flight.
|
|
34
|
+
*
|
|
35
|
+
* SSOT for every "is the tail incomplete?" question — the NATS adapter (which
|
|
36
|
+
* used to inline the single-row check) and hosts replaying a stored thread
|
|
37
|
+
* both call this instead of re-deriving the walk.
|
|
38
|
+
*
|
|
39
|
+
* A trailing non-assistant row (user / error) means the last turn closed →
|
|
40
|
+
* `undefined`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function extractIncompleteTailState(messages: readonly ProcessedMessage[] | undefined): IncompleteMessageState | undefined;
|
|
15
43
|
//# sourceMappingURL=extract-incomplete-message-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-incomplete-message-state.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/extract-incomplete-message-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"extract-incomplete-message-state.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/extract-incomplete-message-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAErE;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;AAEjF;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,gBAAgB,GAAG,SAAS,GACxC,sBAAsB,GAAG,SAAS,CAqGpC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GAChD,sBAAsB,GAAG,SAAS,CA0BpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-merge.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/history-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"history-merge.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/history-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;;;;GAeG;AAEH;4BAC4B;AAC5B,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB;;;;;;;;;;;;;;;;8CAgB0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;gCAYgC;AAChC,eAAO,MAAM,8BAA8B,kEAAmE,CAAA;AAgE9G;wDACwD;AACxD,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,CAGjH;AAED;;8EAE8E;AAC9E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS;IAAE,QAAQ,EAAE,SAAS;QAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GAC5F,MAAM,CAUR;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,oBAAoB;IAC/D,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,EAAE,CAAA;IACrB;;2DAEuD;IACvD,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,sFAAsF;IACtF,gBAAgB,EAAE,CAAC,EAAE,CAAA;IACrB;;;kFAG8E;IAC9E,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC;;;;;6DAKyD;IACzD,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;6CAGyC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;4BACwB;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,oBAAoB,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAySzG;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,oBAAoB;IAClE,WAAW,EAAE,CAAC,EAAE,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAA;CAC9C;AAED;;;2CAG2C;AAC3C,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,EAClE,gBAAgB,EAAE,CAAC,EAAE,EACrB,gBAAgB,EAAE,CAAC,EAAE,GACpB,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAiChC"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Message processing utilities
|
|
3
3
|
* Export all utilities for processing chat messages
|
|
4
4
|
*/
|
|
5
|
-
export { parseChunkToAction, isControlChunk, isErrorChunk, isMetadataChunk, extractTextFromChunk, } from './chunk-parser';
|
|
6
5
|
export { MessageSegmentAccumulator, createMessageSegmentAccumulator, type AccumulatorCallbacks, } from './message-segment-accumulator';
|
|
7
|
-
export { processHistoricalMessages, extractErrorMessages, processHistoricalMessagesWithErrors, } from './process-historical-messages';
|
|
8
|
-
export { extractIncompleteMessageState, } from './extract-incomplete-message-state';
|
|
6
|
+
export { processHistoricalMessages, extractErrorMessages, processHistoricalMessagesWithErrors, decodeHistoricalMessageData, } from './process-historical-messages';
|
|
7
|
+
export { extractIncompleteMessageState, extractIncompleteTailState, } from './extract-incomplete-message-state';
|
|
9
8
|
export { mergeHistoryWithRealtime, computeHistoryPrepend, flattenMessagePagesChronological, maxPersistedStreamSeq, SYNTHETIC_REALTIME_ID_PREFIXES, type MergeableChatMessage, type HistoryMergeInput, type HistoryPrependResult, } from './history-merge';
|
|
10
9
|
export { getCommandText } from './tool-call-helpers';
|
|
11
10
|
export { CHIP_ACTION_BUTTON_CLASS } from './chip-action-class';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Utility for processing historical messages from GraphQL/API
|
|
3
|
-
*
|
|
2
|
+
* Utility for processing historical messages from GraphQL/API into
|
|
3
|
+
* display-ready format.
|
|
4
|
+
*
|
|
5
|
+
* Phase 3 of the chat unification reduced this file to DECODE + ENVELOPE:
|
|
6
|
+
*
|
|
7
|
+
* - `decodeHistoricalMessageData` maps one persisted `MessageData` item
|
|
8
|
+
* into the shared `ChatStreamEvent` vocabulary (historical items share
|
|
9
|
+
* the MESSAGE_TYPE vocabulary with NATS chunks but are NOT full chunk
|
|
10
|
+
* envelopes — e.g. compaction summaries ride in `summary`, not `text`,
|
|
11
|
+
* and APPROVAL_RESULT rows carry `resolvedByName` directly);
|
|
12
|
+
* - `applyHistoryEvent` replays each decoded event into the shared
|
|
13
|
+
* per-turn kernel (`MessageSegmentAccumulator` — the same kernel the
|
|
14
|
+
* master `createChatStreamReducer` instantiates) with the
|
|
15
|
+
* history-specific approval semantics (display-all default, pending
|
|
16
|
+
* tracking + `flushPendingApprovals`, `approvalStatuses` overrides);
|
|
17
|
+
* - the ENVELOPE (user/assistant flush-grouping, OWNER_TYPE author /
|
|
18
|
+
* display-name / avatar resolution, standalone SYSTEM handling,
|
|
19
|
+
* per-message contextItems mapping, per-turn streamSeq MAX) lives ONCE
|
|
20
|
+
* in `processHistory` — the previous near-duplicate second copy was
|
|
21
|
+
* deleted (`processHistoricalMessagesWithErrors` is an alias; the two
|
|
22
|
+
* snapshots were byte-identical).
|
|
23
|
+
*
|
|
24
|
+
* Adapters then feed the processed rows into the reducer via
|
|
25
|
+
* `initializeWithState` (see `useNatsChatAdapter.loadDialogHistory`).
|
|
4
26
|
*/
|
|
5
|
-
import { type HistoricalMessage, type PendingToolCallData, type ProcessedMessage, type MessageProcessingOptions } from '../types';
|
|
27
|
+
import { type HistoricalMessage, type PendingToolCallData, type ProcessedMessage, type MessageProcessingOptions, type MessageData } from '../types';
|
|
28
|
+
import type { ChatStreamEvent } from '../../../chat-protocol/events';
|
|
29
|
+
/**
|
|
30
|
+
* Map one persisted `MessageData` item to a normalized `ChatStreamEvent`.
|
|
31
|
+
* Thin shim over the NATS chunk decoder's core mapping — the differences
|
|
32
|
+
* are exactly the persisted-row divergences from the realtime envelope:
|
|
33
|
+
*
|
|
34
|
+
* - compaction summaries arrive in `summary` (realtime: `text`);
|
|
35
|
+
* - APPROVAL_RESULT rows carry `resolvedByName` (realtime chunks carry
|
|
36
|
+
* the resolver's name as `displayName`);
|
|
37
|
+
* - `approvalType` defaults to 'CLIENT' (legacy history parity;
|
|
38
|
+
* realtime defaults APPROVAL_REQUEST to 'USER');
|
|
39
|
+
* - batch `toolCalls` pass through verbatim (already the persisted
|
|
40
|
+
* `PendingToolCallData` shape — no normalization pass).
|
|
41
|
+
*
|
|
42
|
+
* Returns `null` for rows the assistant-turn path doesn't decode (SYSTEM
|
|
43
|
+
* is handled by the envelope's standalone path; user TEXT rows are handled
|
|
44
|
+
* by the envelope's user path).
|
|
45
|
+
*/
|
|
46
|
+
export declare function decodeHistoricalMessageData(data: MessageData): ChatStreamEvent | null;
|
|
47
|
+
type EscalatedApprovals = Map<string, {
|
|
48
|
+
command: string;
|
|
49
|
+
explanation?: string;
|
|
50
|
+
approvalType: string;
|
|
51
|
+
toolCalls?: PendingToolCallData[];
|
|
52
|
+
}>;
|
|
6
53
|
/**
|
|
7
54
|
* Result type for historical message processing
|
|
8
55
|
*/
|
|
9
56
|
export interface ProcessHistoricalMessagesResult {
|
|
10
57
|
messages: ProcessedMessage[];
|
|
11
|
-
escalatedApprovals:
|
|
12
|
-
command: string;
|
|
13
|
-
explanation?: string;
|
|
14
|
-
approvalType: string;
|
|
15
|
-
toolCalls?: PendingToolCallData[];
|
|
16
|
-
}>;
|
|
58
|
+
escalatedApprovals: EscalatedApprovals;
|
|
17
59
|
}
|
|
18
60
|
/**
|
|
19
61
|
* Process an array of historical messages into display-ready format
|
|
@@ -25,7 +67,13 @@ export declare function processHistoricalMessages(messages: HistoricalMessage[],
|
|
|
25
67
|
*/
|
|
26
68
|
export declare function extractErrorMessages(messages: HistoricalMessage[], options?: MessageProcessingOptions): ProcessedMessage[];
|
|
27
69
|
/**
|
|
28
|
-
* Process messages and include error messages in the correct order
|
|
70
|
+
* Process messages and include error messages in the correct order.
|
|
71
|
+
*
|
|
72
|
+
* HISTORICAL ALIAS: this was a byte-identical second copy of
|
|
73
|
+
* `processHistoricalMessages` (both goldens snapshot identical output on the
|
|
74
|
+
* same corpus). The duplicate envelope was deleted in Phase 3 — kept as an
|
|
75
|
+
* alias for the established import sites.
|
|
29
76
|
*/
|
|
30
|
-
export declare
|
|
77
|
+
export declare const processHistoricalMessagesWithErrors: typeof processHistoricalMessages;
|
|
78
|
+
export {};
|
|
31
79
|
//# sourceMappingURL=process-historical-messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-historical-messages.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/process-historical-messages.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"process-historical-messages.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/process-historical-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AA2CpE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,CAiHrF;AAMD,KAAK,kBAAkB,GAAG,GAAG,CAC3B,MAAM,EACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAAE,CACnG,CAAA;AA2LD;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,+BAA+B,CA4KjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,gBAAgB,EAAE,CA8BpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mCAAmC,kCAA4B,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../chunk-
|
|
4
|
+
var _chunkT7MCSA55cjs = require('../../chunk-T7MCSA55.cjs');
|
|
5
|
+
require('../../chunk-4G5TLHJD.cjs');
|
|
6
6
|
require('../../chunk-C5RS3QLV.cjs');
|
|
7
7
|
require('../../chunk-XL4V2PYG.cjs');
|
|
8
8
|
require('../../chunk-BZFW3FOF.cjs');
|
|
@@ -21,5 +21,5 @@ require('../../chunk-KQKU4VXB.cjs');
|
|
|
21
21
|
require('../../chunk-VRHGVLSL.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
exports.ContactForm =
|
|
24
|
+
exports.ContactForm = _chunkT7MCSA55cjs.ContactForm;
|
|
25
25
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ContactForm
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-7WZHBQ4J.js";
|
|
5
|
+
import "../../chunk-AEELJC4N.js";
|
|
6
6
|
import "../../chunk-7EUIW46X.js";
|
|
7
7
|
import "../../chunk-LXC6P2EO.js";
|
|
8
8
|
import "../../chunk-EL5YVPD5.js";
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
require('../../chunk-
|
|
14
|
-
require('../../chunk-
|
|
15
|
-
require('../../chunk-
|
|
12
|
+
var _chunkM37PBG4Ncjs = require('../../chunk-M37PBG4N.cjs');
|
|
13
|
+
require('../../chunk-YQEPRYT5.cjs');
|
|
14
|
+
require('../../chunk-2T4GTV25.cjs');
|
|
15
|
+
require('../../chunk-4G5TLHJD.cjs');
|
|
16
16
|
require('../../chunk-C5RS3QLV.cjs');
|
|
17
17
|
require('../../chunk-XL4V2PYG.cjs');
|
|
18
18
|
require('../../chunk-BZFW3FOF.cjs');
|
|
@@ -38,5 +38,5 @@ require('../../chunk-VRHGVLSL.cjs');
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
exports.DocNavigationProvider =
|
|
41
|
+
exports.DocNavigationProvider = _chunkM37PBG4Ncjs.DocNavigationProvider; exports.DocViewer = _chunkM37PBG4Ncjs.DocViewer; exports.DocsHubPage = _chunkM37PBG4Ncjs.DocsHubPage; exports.EmbedSkeleton = _chunkM37PBG4Ncjs.EmbedSkeleton; exports.MarkdownSkeleton = _chunkM37PBG4Ncjs.MarkdownSkeleton; exports.useDocNavigation = _chunkM37PBG4Ncjs.useDocNavigation; exports.useDocumentTree = _chunkM37PBG4Ncjs.useDocumentTree; exports.useScrollSpy = _chunkM37PBG4Ncjs.useScrollSpy;
|
|
42
42
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
useDocNavigation,
|
|
10
10
|
useDocumentTree,
|
|
11
11
|
useScrollSpy
|
|
12
|
-
} from "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
12
|
+
} from "../../chunk-72XAID7Y.js";
|
|
13
|
+
import "../../chunk-KBN7PMFT.js";
|
|
14
|
+
import "../../chunk-XGIFOHKE.js";
|
|
15
|
+
import "../../chunk-AEELJC4N.js";
|
|
16
16
|
import "../../chunk-7EUIW46X.js";
|
|
17
17
|
import "../../chunk-LXC6P2EO.js";
|
|
18
18
|
import "../../chunk-EL5YVPD5.js";
|
|
@@ -4,7 +4,7 @@ require('../../chunk-ZTM35Q76.cjs');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkYQEPRYT5cjs = require('../../chunk-YQEPRYT5.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -24,7 +24,7 @@ var _chunkPOOMO3PAcjs = require('../../chunk-POOMO3PA.cjs');
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunk4G5TLHJDcjs = require('../../chunk-4G5TLHJD.cjs');
|
|
28
28
|
require('../../chunk-C5RS3QLV.cjs');
|
|
29
29
|
require('../../chunk-XL4V2PYG.cjs');
|
|
30
30
|
require('../../chunk-BZFW3FOF.cjs');
|
|
@@ -63,5 +63,5 @@ require('../../chunk-VRHGVLSL.cjs');
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
exports.EMBED_SIZES =
|
|
66
|
+
exports.EMBED_SIZES = _chunk4G5TLHJDcjs.EMBED_SIZES; exports.EmbedContainer = _chunk4G5TLHJDcjs.EmbedContainer; exports.EmbedIframe = _chunk4G5TLHJDcjs.EmbedIframe; exports.EmbedViewerFrame = _chunk4G5TLHJDcjs.EmbedViewerFrame; exports.FigmaEmbed = _chunk4G5TLHJDcjs.FigmaEmbed; exports.FileDownloadCard = _chunkYQEPRYT5cjs.FileDownloadCard; exports.GoogleSheetsViewer = _chunkYQEPRYT5cjs.GoogleSheetsViewer; exports.LinkPreviewContainer = _chunk4G5TLHJDcjs.LinkPreviewContainer; exports.LinkedInContainer = _chunk4G5TLHJDcjs.LinkedInContainer; exports.LinkedInEmbedClient = _chunk4G5TLHJDcjs.LinkedInEmbedClient; exports.MarkdownImage = _chunk4G5TLHJDcjs.MarkdownImage; exports.OGLinkErrorBoundary = _chunk4G5TLHJDcjs.OGLinkErrorBoundary; exports.OGLinkPreview = _chunk4G5TLHJDcjs.OGLinkPreview; exports.PdfViewer = _chunkYQEPRYT5cjs.PdfViewer; exports.RedditContainer = _chunk4G5TLHJDcjs.RedditContainer; exports.RedditEmbedClient = _chunk4G5TLHJDcjs.RedditEmbedClient; exports.RichMarkdownRuntimeProvider = _chunk4G5TLHJDcjs.RichMarkdownRuntimeProvider; exports.TwitterContainer = _chunk4G5TLHJDcjs.TwitterContainer; exports.TwitterEmbedClient = _chunk4G5TLHJDcjs.TwitterEmbedClient; exports.YouTubeContainer = _chunk4G5TLHJDcjs.YouTubeContainer; exports.useRichMarkdownRuntime = _chunk4G5TLHJDcjs.useRichMarkdownRuntime;
|
|
67
67
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
FileDownloadCard,
|
|
5
5
|
GoogleSheetsViewer,
|
|
6
6
|
PdfViewer
|
|
7
|
-
} from "../../chunk-
|
|
7
|
+
} from "../../chunk-KBN7PMFT.js";
|
|
8
8
|
import {
|
|
9
9
|
EMBED_SIZES,
|
|
10
10
|
EmbedContainer,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
TwitterEmbedClient,
|
|
25
25
|
YouTubeContainer,
|
|
26
26
|
useRichMarkdownRuntime
|
|
27
|
-
} from "../../chunk-
|
|
27
|
+
} from "../../chunk-AEELJC4N.js";
|
|
28
28
|
import "../../chunk-7EUIW46X.js";
|
|
29
29
|
import "../../chunk-LXC6P2EO.js";
|
|
30
30
|
import "../../chunk-EL5YVPD5.js";
|