@flamingo-stack/openframe-frontend-core 0.0.458-snapshot.20260720215024 → 0.0.458
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/{chunk-BLZZXZNM.cjs → chunk-5USSSRAL.cjs} +26 -26
- package/dist/{chunk-BLZZXZNM.cjs.map → chunk-5USSSRAL.cjs.map} +1 -1
- package/dist/{chunk-CGNDAJ7V.js → chunk-6B27O3ZB.js} +4 -4
- package/dist/{chunk-P5JQDFRM.cjs → chunk-7IRPMNRL.cjs} +60 -60
- package/dist/chunk-7IRPMNRL.cjs.map +1 -0
- package/dist/{chunk-4XDWNAZW.cjs → chunk-DQ3EHM6G.cjs} +9 -9
- package/dist/{chunk-4XDWNAZW.cjs.map → chunk-DQ3EHM6G.cjs.map} +1 -1
- package/dist/{chunk-7KSEINAE.cjs → chunk-FTXDIDNX.cjs} +15 -15
- package/dist/{chunk-7KSEINAE.cjs.map → chunk-FTXDIDNX.cjs.map} +1 -1
- package/dist/{chunk-4R6H2U77.js → chunk-H7ETLG65.js} +4 -4
- package/dist/{chunk-LAOO7XHO.js → chunk-HWTUVLYB.js} +2 -2
- package/dist/{chunk-F2NMWV44.js → chunk-IDKDOQZL.js} +2 -2
- package/dist/{chunk-BQ7PMWLM.cjs → chunk-KIIOBK7G.cjs} +27 -28
- package/dist/chunk-KIIOBK7G.cjs.map +1 -0
- package/dist/{chunk-QO2XD3FR.js → chunk-KQGFKG6Y.js} +2 -2
- package/dist/{chunk-3N3TMZ62.cjs → chunk-L676XVP4.cjs} +7 -7
- package/dist/{chunk-3N3TMZ62.cjs.map → chunk-L676XVP4.cjs.map} +1 -1
- package/dist/{chunk-F7F43U7Q.cjs → chunk-LDAOPWXZ.cjs} +11 -11
- package/dist/{chunk-F7F43U7Q.cjs.map → chunk-LDAOPWXZ.cjs.map} +1 -1
- package/dist/{chunk-ADD3FPDG.cjs → chunk-MKLP2SOZ.cjs} +4886 -7004
- package/dist/chunk-MKLP2SOZ.cjs.map +1 -0
- package/dist/{chunk-VXJH5TDN.js → chunk-QL7ODLJA.js} +10 -10
- package/dist/chunk-QL7ODLJA.js.map +1 -0
- package/dist/{chunk-OR5AMXYN.js → chunk-R5QYMUKN.js} +2 -2
- package/dist/{chunk-REWRUV3K.js → chunk-TNLFAJPA.js} +9673 -11791
- package/dist/chunk-TNLFAJPA.js.map +1 -0
- package/dist/{chunk-XF5ROTMQ.js → chunk-U2YDR5DT.js} +2 -2
- package/dist/{chunk-PXZ7YQ5V.cjs → chunk-VTQSB6QB.cjs} +5 -5
- package/dist/{chunk-PXZ7YQ5V.cjs.map → chunk-VTQSB6QB.cjs.map} +1 -1
- package/dist/{chunk-UI7CIUAR.js → chunk-WGJPTFRH.js} +2 -2
- package/dist/{chunk-WCE66C2Z.cjs → chunk-XUNJILJT.cjs} +62 -62
- package/dist/{chunk-WCE66C2Z.cjs.map → chunk-XUNJILJT.cjs.map} +1 -1
- package/dist/{chunk-APF5QBAU.js → chunk-YQBPIUZU.js} +2 -2
- package/dist/{chunk-TA7MFVUS.cjs → chunk-YV2YA3QH.cjs} +31 -31
- package/dist/{chunk-TA7MFVUS.cjs.map → chunk-YV2YA3QH.cjs.map} +1 -1
- package/dist/{chunk-QSGZE6AZ.cjs → chunk-ZDJ4ZUQ4.cjs} +37 -37
- package/dist/{chunk-QSGZE6AZ.cjs.map → chunk-ZDJ4ZUQ4.cjs.map} +1 -1
- package/dist/{chunk-LJKZIIK4.js → chunk-ZHQQRYMB.js} +5 -6
- package/dist/chunk-ZHQQRYMB.js.map +1 -0
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chart.d.ts +1 -1
- 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 +1 -0
- 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 +48 -15
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts +6 -0
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +47 -3
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -10
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +0 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +13 -21
- package/dist/components/chat/types/api.types.d.ts +81 -1
- package/dist/components/chat/types/api.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +90 -2
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/utils/chunk-parser.d.ts +25 -0
- package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -0
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +6 -34
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +3 -2
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts +11 -59
- 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 +129 -171
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +21 -63
- 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 +2 -44
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +2 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +13 -55
- package/dist/components/ui/rich-markdown-renderer.d.ts +34 -0
- package/dist/components/ui/rich-markdown-renderer.d.ts.map +1 -0
- package/dist/components/ui/simple-markdown-renderer.d.ts +73 -0
- package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -0
- package/dist/index.cjs +2 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +13 -71
- package/dist/utils/index.cjs +40 -169
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +41 -162
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
- package/package.json +1 -7
- package/src/components/chat/__tests__/chat-message-list.test.tsx +5 -293
- package/src/components/chat/chat-message-enhanced.tsx +17 -111
- package/src/components/chat/chat-message-list.tsx +113 -367
- package/src/components/chat/embeddable-chat.tsx +0 -6
- 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/.use-realtime-chunk-processor.md +50 -0
- package/src/components/chat/hooks/index.ts +1 -0
- package/src/components/chat/hooks/use-chat.ts +0 -8
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +822 -243
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +479 -0
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +666 -318
- package/src/components/chat/index.ts +0 -5
- package/src/components/chat/thinking-display.tsx +1 -1
- package/src/components/chat/types/.api.types.md +3 -1
- package/src/components/chat/types/.processing.types.md +23 -6
- package/src/components/chat/types/api.types.ts +73 -6
- package/src/components/chat/types/processing.types.ts +52 -11
- package/src/components/chat/utils/.chunk-parser.md +51 -0
- package/src/components/chat/utils/.index.md +5 -0
- package/src/components/chat/utils/chunk-parser.ts +255 -0
- package/src/components/chat/utils/extract-incomplete-message-state.ts +5 -63
- package/src/components/chat/utils/index.ts +8 -5
- package/src/components/chat/utils/process-historical-messages.ts +383 -352
- package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +4 -22
- package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
- package/src/components/shared/product-release/release-detail-page.tsx +4 -19
- package/src/components/ui/.simple-markdown-renderer.md +40 -0
- package/src/components/ui/index.ts +2 -1
- package/src/components/ui/release-changelog-section.tsx +1 -1
- package/src/components/ui/rich-markdown-renderer.tsx +1223 -0
- package/src/components/ui/simple-markdown-renderer.tsx +965 -0
- package/src/components/ui/ticket-info-section.tsx +1 -1
- package/src/utils/index.ts +0 -1
- package/src/utils/markdown-section-extractor.ts +56 -41
- package/dist/chat-protocol/decode.d.ts +0 -58
- package/dist/chat-protocol/decode.d.ts.map +0 -1
- package/dist/chat-protocol/encode.d.ts +0 -44
- package/dist/chat-protocol/encode.d.ts.map +0 -1
- package/dist/chat-protocol/env-flag.d.ts +0 -35
- package/dist/chat-protocol/env-flag.d.ts.map +0 -1
- package/dist/chat-protocol/events.d.ts +0 -192
- package/dist/chat-protocol/events.d.ts.map +0 -1
- package/dist/chat-protocol/frames.d.ts +0 -206
- package/dist/chat-protocol/frames.d.ts.map +0 -1
- package/dist/chat-protocol/index.cjs +0 -493
- package/dist/chat-protocol/index.cjs.map +0 -1
- package/dist/chat-protocol/index.d.ts +0 -18
- package/dist/chat-protocol/index.d.ts.map +0 -1
- package/dist/chat-protocol/index.js +0 -477
- package/dist/chat-protocol/index.js.map +0 -1
- package/dist/chat-protocol/ip-normalize.d.ts +0 -44
- package/dist/chat-protocol/ip-normalize.d.ts.map +0 -1
- package/dist/chat-protocol/nats-decoder.d.ts +0 -26
- package/dist/chat-protocol/nats-decoder.d.ts.map +0 -1
- package/dist/chunk-ADD3FPDG.cjs.map +0 -1
- package/dist/chunk-BQ7PMWLM.cjs.map +0 -1
- package/dist/chunk-LJKZIIK4.js.map +0 -1
- package/dist/chunk-P5JQDFRM.cjs.map +0 -1
- package/dist/chunk-REWRUV3K.js.map +0 -1
- package/dist/chunk-VXJH5TDN.js.map +0 -1
- package/dist/components/chat/stream/chat-dialog-store.d.ts +0 -184
- package/dist/components/chat/stream/chat-dialog-store.d.ts.map +0 -1
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +0 -367
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +0 -1
- package/dist/components/chat/stream/delta-batcher.d.ts +0 -51
- package/dist/components/chat/stream/delta-batcher.d.ts.map +0 -1
- package/dist/components/chat/stream/index.d.ts +0 -17
- package/dist/components/chat/stream/index.d.ts.map +0 -1
- package/dist/components/chat/stream/message-mutations.d.ts +0 -77
- package/dist/components/chat/stream/message-mutations.d.ts.map +0 -1
- package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +0 -22
- package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +0 -1
- package/dist/components/ui/markdown/base-components.d.ts +0 -56
- package/dist/components/ui/markdown/base-components.d.ts.map +0 -1
- package/dist/components/ui/markdown/engine.d.ts +0 -99
- package/dist/components/ui/markdown/engine.d.ts.map +0 -1
- package/dist/components/ui/markdown/heading-ids.d.ts +0 -65
- package/dist/components/ui/markdown/heading-ids.d.ts.map +0 -1
- package/dist/components/ui/markdown/index.d.ts +0 -18
- package/dist/components/ui/markdown/index.d.ts.map +0 -1
- package/dist/components/ui/markdown/mermaid-diagram.d.ts +0 -79
- package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +0 -1
- package/dist/components/ui/markdown/rich/embed-overrides.d.ts +0 -14
- package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +0 -1
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +0 -40
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +0 -1
- package/dist/components/ui/markdown/rich/shortcodes.d.ts +0 -8
- package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +0 -1
- package/dist/components/ui/markdown/sanitize.d.ts +0 -153
- package/dist/components/ui/markdown/sanitize.d.ts.map +0 -1
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -23
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +0 -1
- package/dist/components/ui/markdown/streaming.d.ts +0 -78
- package/dist/components/ui/markdown/streaming.d.ts.map +0 -1
- package/dist/components/ui/markdown/text-size.d.ts +0 -34
- package/dist/components/ui/markdown/text-size.d.ts.map +0 -1
- package/dist/utils/markdown-fences.d.ts +0 -42
- package/dist/utils/markdown-fences.d.ts.map +0 -1
- package/dist/utils/markdown-heading-id.d.ts +0 -85
- package/dist/utils/markdown-heading-id.d.ts.map +0 -1
- package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +0 -307
- package/src/chat-protocol/__tests__/chat-protocol.test.ts +0 -515
- package/src/chat-protocol/__tests__/env-flag.test.ts +0 -52
- package/src/chat-protocol/__tests__/ip-normalize.test.ts +0 -136
- package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +0 -228
- package/src/chat-protocol/decode.ts +0 -277
- package/src/chat-protocol/encode.ts +0 -71
- package/src/chat-protocol/env-flag.ts +0 -39
- package/src/chat-protocol/events.ts +0 -228
- package/src/chat-protocol/frames.ts +0 -238
- package/src/chat-protocol/index.ts +0 -21
- package/src/chat-protocol/ip-normalize.ts +0 -146
- package/src/chat-protocol/nats-decoder.ts +0 -252
- package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +0 -207
- package/src/components/chat/__tests__/chat-pending-turn.test.tsx +0 -209
- package/src/components/chat/hooks/__tests__/__snapshots__/persisted-state-v1-golden.test.ts.snap +0 -297
- 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 +0 -272
- package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +0 -318
- package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +0 -937
- package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +0 -756
- package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +0 -460
- package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -894
- package/src/components/chat/stream/__tests__/delta-batcher.test.ts +0 -255
- package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +0 -98
- package/src/components/chat/stream/chat-dialog-store.ts +0 -536
- package/src/components/chat/stream/chat-stream-reducer.ts +0 -1796
- package/src/components/chat/stream/delta-batcher.ts +0 -159
- package/src/components/chat/stream/index.ts +0 -55
- package/src/components/chat/stream/message-mutations.ts +0 -338
- package/src/components/chat/stream/use-chat-stream-reducer.ts +0 -126
- package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +0 -418
- package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +0 -599
- package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +0 -317
- package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +0 -270
- package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +0 -2420
- package/src/components/ui/__tests__/markdown-parity.test.tsx +0 -2528
- package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +0 -115
- package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +0 -95
- package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +0 -309
- package/src/components/ui/markdown/__tests__/streaming.test.tsx +0 -388
- package/src/components/ui/markdown/base-components.tsx +0 -341
- package/src/components/ui/markdown/engine.tsx +0 -315
- package/src/components/ui/markdown/heading-ids.ts +0 -239
- package/src/components/ui/markdown/index.ts +0 -49
- package/src/components/ui/markdown/mermaid-diagram.tsx +0 -291
- package/src/components/ui/markdown/rich/embed-overrides.tsx +0 -199
- package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +0 -184
- package/src/components/ui/markdown/rich/shortcodes.ts +0 -170
- package/src/components/ui/markdown/sanitize.ts +0 -3499
- package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -28
- package/src/components/ui/markdown/streaming.ts +0 -362
- package/src/components/ui/markdown/text-size.ts +0 -106
- package/src/utils/markdown-fences.ts +0 -127
- package/src/utils/markdown-heading-id.ts +0 -348
- /package/dist/{chunk-CGNDAJ7V.js.map → chunk-6B27O3ZB.js.map} +0 -0
- /package/dist/{chunk-4R6H2U77.js.map → chunk-H7ETLG65.js.map} +0 -0
- /package/dist/{chunk-LAOO7XHO.js.map → chunk-HWTUVLYB.js.map} +0 -0
- /package/dist/{chunk-F2NMWV44.js.map → chunk-IDKDOQZL.js.map} +0 -0
- /package/dist/{chunk-QO2XD3FR.js.map → chunk-KQGFKG6Y.js.map} +0 -0
- /package/dist/{chunk-OR5AMXYN.js.map → chunk-R5QYMUKN.js.map} +0 -0
- /package/dist/{chunk-XF5ROTMQ.js.map → chunk-U2YDR5DT.js.map} +0 -0
- /package/dist/{chunk-UI7CIUAR.js.map → chunk-WGJPTFRH.js.map} +0 -0
- /package/dist/{chunk-APF5QBAU.js.map → chunk-YQBPIUZU.js.map} +0 -0
|
@@ -87,9 +87,7 @@ import {
|
|
|
87
87
|
ContextMenuRow,
|
|
88
88
|
CustomerInterviewCard,
|
|
89
89
|
CustomerInterviewCardSkeleton,
|
|
90
|
-
DEFAULT_DIALOG_SIDE,
|
|
91
90
|
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
92
|
-
DEFAULT_MAX_REDUCERS,
|
|
93
91
|
DataRoomDocCard,
|
|
94
92
|
DataRoomDocCardSkeleton,
|
|
95
93
|
DialogListItem,
|
|
@@ -114,7 +112,6 @@ import {
|
|
|
114
112
|
ICON_REGISTRY,
|
|
115
113
|
InvestorUpdateCard,
|
|
116
114
|
InvestorUpdateCardSkeleton,
|
|
117
|
-
MAX_PENDING_RETAIN_KEYS,
|
|
118
115
|
MESSAGE_ROLE,
|
|
119
116
|
MESSAGE_TYPE,
|
|
120
117
|
MemoizedChatMessageEnhanced,
|
|
@@ -181,13 +178,8 @@ import {
|
|
|
181
178
|
clickupTaskUrl,
|
|
182
179
|
computeHistoryPrepend,
|
|
183
180
|
computeIsNewTab,
|
|
184
|
-
createChatDialogStore,
|
|
185
|
-
createChatStreamReducer,
|
|
186
|
-
createDeltaBatcher,
|
|
187
|
-
createEmptyTurnMeta,
|
|
188
181
|
createMessageSegmentAccumulator,
|
|
189
182
|
decideNewTab,
|
|
190
|
-
decodeHistoricalMessageData,
|
|
191
183
|
defaultBuildProductReleaseCardProps,
|
|
192
184
|
defaultTableIdForDocumentType,
|
|
193
185
|
escapeMarkdownInline,
|
|
@@ -196,7 +188,7 @@ import {
|
|
|
196
188
|
extractEntityIdFilter,
|
|
197
189
|
extractErrorMessages,
|
|
198
190
|
extractIncompleteMessageState,
|
|
199
|
-
|
|
191
|
+
extractTextFromChunk,
|
|
200
192
|
fetchEmptyStateConfig,
|
|
201
193
|
fetchSlashCommands,
|
|
202
194
|
flattenAssistantContent,
|
|
@@ -216,8 +208,11 @@ import {
|
|
|
216
208
|
hideOnError,
|
|
217
209
|
historicalToUnified,
|
|
218
210
|
interleave,
|
|
211
|
+
isControlChunk,
|
|
219
212
|
isCrossOriginUrl,
|
|
213
|
+
isErrorChunk,
|
|
220
214
|
isHistoricalUserTurn,
|
|
215
|
+
isMetadataChunk,
|
|
221
216
|
isModifierClick,
|
|
222
217
|
isQuickActionIconSpec,
|
|
223
218
|
isStructuredContent,
|
|
@@ -228,6 +223,7 @@ import {
|
|
|
228
223
|
normalizeContent,
|
|
229
224
|
normalizeHistoricalMessageData,
|
|
230
225
|
normalizeIconKey,
|
|
226
|
+
parseChunkToAction,
|
|
231
227
|
parseScrollAnchor,
|
|
232
228
|
parseWireCommandOverride,
|
|
233
229
|
processHistoricalMessages,
|
|
@@ -254,7 +250,6 @@ import {
|
|
|
254
250
|
useChatAttachments,
|
|
255
251
|
useChatCardItem,
|
|
256
252
|
useChatIdentity,
|
|
257
|
-
useChatStreamReducer,
|
|
258
253
|
useChunkCatchup,
|
|
259
254
|
useCloseOnNavigation,
|
|
260
255
|
useCollapsible,
|
|
@@ -264,13 +259,14 @@ import {
|
|
|
264
259
|
useNatsChatAdapter,
|
|
265
260
|
useNatsDialogSubscription,
|
|
266
261
|
useProxiedImageUrl,
|
|
262
|
+
useRealtimeChunkProcessor,
|
|
267
263
|
useSSE,
|
|
268
264
|
useScriptedStream,
|
|
269
265
|
useSlashCommandRegistry,
|
|
270
266
|
useSlashCommands,
|
|
271
267
|
useSseChatAdapter,
|
|
272
268
|
useUnifiedChat
|
|
273
|
-
} from "../../chunk-
|
|
269
|
+
} from "../../chunk-TNLFAJPA.js";
|
|
274
270
|
import {
|
|
275
271
|
applyProxyAuth,
|
|
276
272
|
clearEmbedProxyAuth,
|
|
@@ -381,9 +377,7 @@ export {
|
|
|
381
377
|
ContextMenuRow,
|
|
382
378
|
CustomerInterviewCard,
|
|
383
379
|
CustomerInterviewCardSkeleton,
|
|
384
|
-
DEFAULT_DIALOG_SIDE,
|
|
385
380
|
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
386
|
-
DEFAULT_MAX_REDUCERS,
|
|
387
381
|
DataRoomDocCard,
|
|
388
382
|
DataRoomDocCardSkeleton,
|
|
389
383
|
DialogListItem,
|
|
@@ -408,7 +402,6 @@ export {
|
|
|
408
402
|
ICON_REGISTRY,
|
|
409
403
|
InvestorUpdateCard,
|
|
410
404
|
InvestorUpdateCardSkeleton,
|
|
411
|
-
MAX_PENDING_RETAIN_KEYS,
|
|
412
405
|
MESSAGE_ROLE,
|
|
413
406
|
MESSAGE_TYPE,
|
|
414
407
|
MessageSegmentAccumulator,
|
|
@@ -477,13 +470,8 @@ export {
|
|
|
477
470
|
clickupTaskUrl,
|
|
478
471
|
computeHistoryPrepend,
|
|
479
472
|
computeIsNewTab,
|
|
480
|
-
createChatDialogStore,
|
|
481
|
-
createChatStreamReducer,
|
|
482
|
-
createDeltaBatcher,
|
|
483
|
-
createEmptyTurnMeta,
|
|
484
473
|
createMessageSegmentAccumulator,
|
|
485
474
|
decideNewTab,
|
|
486
|
-
decodeHistoricalMessageData,
|
|
487
475
|
defaultBuildProductReleaseCardProps,
|
|
488
476
|
defaultTableIdForDocumentType,
|
|
489
477
|
escapeMarkdownInline,
|
|
@@ -492,7 +480,7 @@ export {
|
|
|
492
480
|
extractEntityIdFilter,
|
|
493
481
|
extractErrorMessages,
|
|
494
482
|
extractIncompleteMessageState,
|
|
495
|
-
|
|
483
|
+
extractTextFromChunk,
|
|
496
484
|
fetchEmptyStateConfig,
|
|
497
485
|
fetchSlashCommands,
|
|
498
486
|
flattenAssistantContent,
|
|
@@ -514,8 +502,11 @@ export {
|
|
|
514
502
|
hideOnError,
|
|
515
503
|
historicalToUnified,
|
|
516
504
|
interleave,
|
|
505
|
+
isControlChunk,
|
|
517
506
|
isCrossOriginUrl,
|
|
507
|
+
isErrorChunk,
|
|
518
508
|
isHistoricalUserTurn,
|
|
509
|
+
isMetadataChunk,
|
|
519
510
|
isModifierClick,
|
|
520
511
|
isQuickActionIconSpec,
|
|
521
512
|
isStructuredContent,
|
|
@@ -526,6 +517,7 @@ export {
|
|
|
526
517
|
normalizeContent,
|
|
527
518
|
normalizeHistoricalMessageData,
|
|
528
519
|
normalizeIconKey,
|
|
520
|
+
parseChunkToAction,
|
|
529
521
|
parseScrollAnchor,
|
|
530
522
|
parseWireCommandOverride,
|
|
531
523
|
processHistoricalMessages,
|
|
@@ -553,7 +545,6 @@ export {
|
|
|
553
545
|
useChatAttachments,
|
|
554
546
|
useChatCardItem,
|
|
555
547
|
useChatIdentity,
|
|
556
|
-
useChatStreamReducer,
|
|
557
548
|
useChunkCatchup,
|
|
558
549
|
useCloseOnNavigation,
|
|
559
550
|
useCollapsible,
|
|
@@ -564,6 +555,7 @@ export {
|
|
|
564
555
|
useNatsChatAdapter,
|
|
565
556
|
useNatsDialogSubscription,
|
|
566
557
|
useProxiedImageUrl,
|
|
558
|
+
useRealtimeChunkProcessor,
|
|
567
559
|
useSSE,
|
|
568
560
|
useScriptedStream,
|
|
569
561
|
useSlashCommandRegistry,
|
|
@@ -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, TokenUsageData, ToolExecutionSegment } from './message.types';
|
|
7
|
+
import type { MessageSegment, PendingToolCallData, TokenUsageData, ExecutingToolState, ToolExecutionSegment } from './message.types';
|
|
8
8
|
export interface UseChunkCatchupOptions {
|
|
9
9
|
dialogId: string | null;
|
|
10
10
|
onChunkReceived: (chunk: ChunkData, messageType: NatsMessageType) => void;
|
|
@@ -222,6 +222,86 @@ export interface RealtimeChunkCallbacks {
|
|
|
222
222
|
/** Called when a DIALOG_CLOSED chunk is received */
|
|
223
223
|
onDialogClosed?: () => void;
|
|
224
224
|
}
|
|
225
|
+
export interface UseRealtimeChunkProcessorOptions {
|
|
226
|
+
callbacks: RealtimeChunkCallbacks;
|
|
227
|
+
/**
|
|
228
|
+
* Filter approval types that should be displayed directly
|
|
229
|
+
* Others will trigger onEscalatedApproval
|
|
230
|
+
* Default: ['CLIENT']
|
|
231
|
+
*/
|
|
232
|
+
displayApprovalTypes?: string[];
|
|
233
|
+
/**
|
|
234
|
+
* Map of existing approval statuses
|
|
235
|
+
*/
|
|
236
|
+
approvalStatuses?: Record<string, ChatApprovalStatus>;
|
|
237
|
+
/**
|
|
238
|
+
* Initialize accumulator with existing state from incomplete historical message
|
|
239
|
+
* Used to continue building messages across page refreshes or reconnections
|
|
240
|
+
*/
|
|
241
|
+
initialState?: {
|
|
242
|
+
/** Existing segments to continue building upon */
|
|
243
|
+
existingSegments?: MessageSegment[];
|
|
244
|
+
/** Pending approvals that haven't been resolved */
|
|
245
|
+
pendingApprovals?: Map<string, {
|
|
246
|
+
command: string;
|
|
247
|
+
explanation?: string;
|
|
248
|
+
approvalType: string;
|
|
249
|
+
}>;
|
|
250
|
+
/** Executing tools waiting for completion */
|
|
251
|
+
executingTools?: Map<string, ExecutingToolState>;
|
|
252
|
+
/** Escalated approvals */
|
|
253
|
+
escalatedApprovals?: Map<string, {
|
|
254
|
+
command: string;
|
|
255
|
+
explanation?: string;
|
|
256
|
+
approvalType: string;
|
|
257
|
+
toolCalls?: PendingToolCallData[];
|
|
258
|
+
}>;
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Consumer-owned (e.g. set in `openframe-oss-tenant` chat client via the
|
|
262
|
+
* `'batch-approvals'` feature flag and forwarded here). The lib does NOT
|
|
263
|
+
* default this to a batch-on behavior — when omitted it falls back to the
|
|
264
|
+
* legacy single-card rendering.
|
|
265
|
+
*
|
|
266
|
+
* When true: `APPROVAL_REQUEST` chunks containing `toolCalls[]` are rendered
|
|
267
|
+
* as a single batch card. When false / omitted: the batch is split into N
|
|
268
|
+
* legacy approval cards (one per tool that requires approval), all sharing
|
|
269
|
+
* the same `approvalRequestId`. Tools with `requiresApproval=false` are
|
|
270
|
+
* dropped from the UI in the unfolded mode.
|
|
271
|
+
*/
|
|
272
|
+
batchApprovalsEnabled?: boolean;
|
|
273
|
+
/**
|
|
274
|
+
* Engages the direct-mode barrier optimistically: once true, all AI-assistant
|
|
275
|
+
* chunks (text, thinking, tool executions, approvals, metadata, errors, etc.)
|
|
276
|
+
* are dropped and any open stream is torn down, leaving only human/control
|
|
277
|
+
* messages. A `DIRECT_MESSAGE` chunk engages the same barrier automatically
|
|
278
|
+
* regardless of this flag. Pass this from a host that already knows the dialog
|
|
279
|
+
* switched to direct mode (e.g. an optimistic mode toggle) to close the race
|
|
280
|
+
* window before the server emits the first `DIRECT_MESSAGE`.
|
|
281
|
+
*
|
|
282
|
+
* Do NOT set this when the host reconstructs history by replaying chunks
|
|
283
|
+
* through `processChunk` — a static flag would drop legitimate pre-switch AI
|
|
284
|
+
* history. Rely on the in-order `DIRECT_MESSAGE` detection instead.
|
|
285
|
+
*/
|
|
286
|
+
isDirectMode?: boolean;
|
|
287
|
+
}
|
|
288
|
+
export interface UseRealtimeChunkProcessorReturn {
|
|
289
|
+
/** Process a single chunk */
|
|
290
|
+
processChunk: (chunk: unknown) => void;
|
|
291
|
+
/** Get current segments */
|
|
292
|
+
getSegments: () => MessageSegment[];
|
|
293
|
+
/** Reset the accumulator */
|
|
294
|
+
reset: () => void;
|
|
295
|
+
/** Update approval status for a request */
|
|
296
|
+
updateApprovalStatus: (requestId: string, status: ChatApprovalStatus, resolvedByName?: string | null) => MessageSegment[];
|
|
297
|
+
/** Get pending approval requests */
|
|
298
|
+
getPendingApprovals: () => Map<string, {
|
|
299
|
+
command: string;
|
|
300
|
+
explanation?: string;
|
|
301
|
+
approvalType: string;
|
|
302
|
+
toolCalls?: PendingToolCallData[];
|
|
303
|
+
}>;
|
|
304
|
+
}
|
|
225
305
|
export interface ChatAPIRequest {
|
|
226
306
|
dialogId: string;
|
|
227
307
|
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,9 +2,79 @@
|
|
|
2
2
|
* Message processing and transformation types
|
|
3
3
|
* Contains types for message parsing, accumulation, and processing
|
|
4
4
|
*/
|
|
5
|
-
import type { MessageSegment, PendingToolCallData, ExecutingToolState } from './message.types';
|
|
5
|
+
import type { MessageSegment, ProcessedMessage, ToolExecutionSegment, TokenUsageData, PendingToolCallData, ExecutingToolState } from './message.types';
|
|
6
6
|
import type { ChatApprovalStatus, AssistantType } from './chat.types';
|
|
7
|
-
import type { ChunkData } from './network.types';
|
|
7
|
+
import type { ChunkData, NatsMessageType } from './network.types';
|
|
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: 'tool_execution';
|
|
30
|
+
segment: ToolExecutionSegment;
|
|
31
|
+
} | {
|
|
32
|
+
action: 'approval_request';
|
|
33
|
+
requestId: string;
|
|
34
|
+
command: string;
|
|
35
|
+
explanation?: string;
|
|
36
|
+
approvalType: string;
|
|
37
|
+
} | {
|
|
38
|
+
action: 'approval_batch';
|
|
39
|
+
requestId: string;
|
|
40
|
+
approvalType: string;
|
|
41
|
+
toolCalls: PendingToolCallData[];
|
|
42
|
+
} | {
|
|
43
|
+
action: 'approval_result';
|
|
44
|
+
requestId: string;
|
|
45
|
+
approved: boolean;
|
|
46
|
+
approvalType: string;
|
|
47
|
+
resolvedByName?: string | null;
|
|
48
|
+
} | {
|
|
49
|
+
action: 'message_request';
|
|
50
|
+
text: string;
|
|
51
|
+
ownerType?: string;
|
|
52
|
+
displayName?: string;
|
|
53
|
+
userId?: string;
|
|
54
|
+
contextItems?: Array<{
|
|
55
|
+
type: string;
|
|
56
|
+
id: string;
|
|
57
|
+
}>;
|
|
58
|
+
} | {
|
|
59
|
+
action: 'token_usage';
|
|
60
|
+
data: TokenUsageData;
|
|
61
|
+
} | {
|
|
62
|
+
action: 'direct_message';
|
|
63
|
+
text: string;
|
|
64
|
+
ownerType?: string;
|
|
65
|
+
displayName?: string;
|
|
66
|
+
userId?: string;
|
|
67
|
+
} | {
|
|
68
|
+
action: 'system';
|
|
69
|
+
text: string;
|
|
70
|
+
} | {
|
|
71
|
+
action: 'context_compaction_start';
|
|
72
|
+
} | {
|
|
73
|
+
action: 'context_compaction_end';
|
|
74
|
+
summary?: string;
|
|
75
|
+
} | {
|
|
76
|
+
action: 'dialog_closed';
|
|
77
|
+
};
|
|
8
78
|
export interface PendingApproval {
|
|
9
79
|
command: string;
|
|
10
80
|
explanation?: string;
|
|
@@ -46,6 +116,24 @@ export interface MessageProcessingOptions {
|
|
|
46
116
|
*/
|
|
47
117
|
batchApprovalsEnabled?: boolean;
|
|
48
118
|
}
|
|
119
|
+
export interface ChunkProcessor {
|
|
120
|
+
processChunk: (chunk: ChunkData, messageType: NatsMessageType) => ParsedChunkAction | null;
|
|
121
|
+
reset: () => void;
|
|
122
|
+
}
|
|
123
|
+
export interface ChunkProcessorOptions {
|
|
124
|
+
onMessageStart?: () => void;
|
|
125
|
+
onMessageEnd?: () => void;
|
|
126
|
+
onError?: (error: string, details?: string) => void;
|
|
127
|
+
onText?: (text: string) => void;
|
|
128
|
+
onToolExecution?: (segment: MessageSegment) => void;
|
|
129
|
+
onApprovalRequest?: (data: any) => void;
|
|
130
|
+
onApprovalResult?: (data: any) => void;
|
|
131
|
+
onMetadata?: (data: any) => void;
|
|
132
|
+
}
|
|
133
|
+
export interface MessageTransformer {
|
|
134
|
+
transform: (input: any) => ProcessedMessage | null;
|
|
135
|
+
batch: (inputs: any[]) => ProcessedMessage[];
|
|
136
|
+
}
|
|
49
137
|
export interface TransformationOptions {
|
|
50
138
|
preserveOriginal?: boolean;
|
|
51
139
|
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,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"processing.types.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/processing.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -2,42 +2,14 @@
|
|
|
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 } 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'>;
|
|
5
|
+
import type { ProcessedMessage, MessageSegment, PendingApproval, ExecutingToolState } from '../types';
|
|
17
6
|
/**
|
|
18
7
|
* Extract incomplete message state from the last historical assistant message
|
|
19
8
|
* Used to initialize realtime chunk processor when continuing an incomplete message
|
|
20
9
|
*/
|
|
21
|
-
export declare function extractIncompleteMessageState(lastMessage: ProcessedMessage | undefined):
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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;
|
|
10
|
+
export declare function extractIncompleteMessageState(lastMessage: ProcessedMessage | undefined): {
|
|
11
|
+
existingSegments?: MessageSegment[];
|
|
12
|
+
pendingApprovals?: Map<string, PendingApproval>;
|
|
13
|
+
executingTools?: Map<string, ExecutingToolState>;
|
|
14
|
+
} | undefined;
|
|
43
15
|
//# 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,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,gBAAgB,GAAG,SAAS,GACxC;IACD,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAA;IACnC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;CACjD,GAAG,SAAS,CAuEZ"}
|
|
@@ -2,9 +2,10 @@
|
|
|
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';
|
|
5
6
|
export { MessageSegmentAccumulator, createMessageSegmentAccumulator, type AccumulatorCallbacks, } from './message-segment-accumulator';
|
|
6
|
-
export { processHistoricalMessages, extractErrorMessages, processHistoricalMessagesWithErrors,
|
|
7
|
-
export { extractIncompleteMessageState,
|
|
7
|
+
export { processHistoricalMessages, extractErrorMessages, processHistoricalMessagesWithErrors, } from './process-historical-messages';
|
|
8
|
+
export { extractIncompleteMessageState, } from './extract-incomplete-message-state';
|
|
8
9
|
export { mergeHistoryWithRealtime, computeHistoryPrepend, flattenMessagePagesChronological, maxPersistedStreamSeq, SYNTHETIC_REALTIME_ID_PREFIXES, type MergeableChatMessage, type HistoryMergeInput, type HistoryPrependResult, } from './history-merge';
|
|
9
10
|
export { getCommandText } from './tool-call-helpers';
|
|
10
11
|
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,61 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Utility for processing historical messages from GraphQL/API
|
|
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`).
|
|
2
|
+
* Utility for processing historical messages from GraphQL/API
|
|
3
|
+
* into display-ready format
|
|
26
4
|
*/
|
|
27
|
-
import { type HistoricalMessage, type PendingToolCallData, type ProcessedMessage, type MessageProcessingOptions
|
|
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
|
-
}>;
|
|
5
|
+
import { type HistoricalMessage, type PendingToolCallData, type ProcessedMessage, type MessageProcessingOptions } from '../types';
|
|
53
6
|
/**
|
|
54
7
|
* Result type for historical message processing
|
|
55
8
|
*/
|
|
56
9
|
export interface ProcessHistoricalMessagesResult {
|
|
57
10
|
messages: ProcessedMessage[];
|
|
58
|
-
escalatedApprovals:
|
|
11
|
+
escalatedApprovals: Map<string, {
|
|
12
|
+
command: string;
|
|
13
|
+
explanation?: string;
|
|
14
|
+
approvalType: string;
|
|
15
|
+
toolCalls?: PendingToolCallData[];
|
|
16
|
+
}>;
|
|
59
17
|
}
|
|
60
18
|
/**
|
|
61
19
|
* Process an array of historical messages into display-ready format
|
|
@@ -67,13 +25,7 @@ export declare function processHistoricalMessages(messages: HistoricalMessage[],
|
|
|
67
25
|
*/
|
|
68
26
|
export declare function extractErrorMessages(messages: HistoricalMessage[], options?: MessageProcessingOptions): ProcessedMessage[];
|
|
69
27
|
/**
|
|
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.
|
|
28
|
+
* Process messages and include error messages in the correct order
|
|
76
29
|
*/
|
|
77
|
-
export declare
|
|
78
|
-
export {};
|
|
30
|
+
export declare function processHistoricalMessagesWithErrors(messages: HistoricalMessage[], options?: MessageProcessingOptions): ProcessHistoricalMessagesResult;
|
|
79
31
|
//# 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;;;GAGG;AAEH,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAG9B,MAAM,UAAU,CAAA;AAuCjB;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,kBAAkB,EAAE,GAAG,CACrB,MAAM,EACN;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;KAAE,CACnG,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,+BAA+B,CA6KjC;AA0ND;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,gBAAgB,EAAE,CA8BpB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,wBAA6B,GACrC,+BAA+B,CAwJjC"}
|
|
@@ -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 _chunk5USSSRALcjs = require('../../chunk-5USSSRAL.cjs');
|
|
5
|
+
require('../../chunk-MKLP2SOZ.cjs');
|
|
6
6
|
require('../../chunk-IOHQJOLR.cjs');
|
|
7
7
|
require('../../chunk-BGD345ZV.cjs');
|
|
8
8
|
require('../../chunk-2B6773QM.cjs');
|
|
@@ -20,5 +20,5 @@ require('../../chunk-W24U7ZUV.cjs');
|
|
|
20
20
|
require('../../chunk-VRHGVLSL.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
exports.ContactForm =
|
|
23
|
+
exports.ContactForm = _chunk5USSSRALcjs.ContactForm;
|
|
24
24
|
//# 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-IDKDOQZL.js";
|
|
5
|
+
import "../../chunk-TNLFAJPA.js";
|
|
6
6
|
import "../../chunk-MK2YWJAA.js";
|
|
7
7
|
import "../../chunk-OYGFWWLQ.js";
|
|
8
8
|
import "../../chunk-KFQXO7QB.js";
|