@flamingo-stack/openframe-frontend-core 0.0.421-snapshot.20260713170448 → 0.0.421
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-O3FSSWV4.cjs → chunk-4PS4F4WL.cjs} +7 -7
- package/dist/{chunk-O3FSSWV4.cjs.map → chunk-4PS4F4WL.cjs.map} +1 -1
- package/dist/{chunk-LHM2VUTO.js → chunk-4XTIANMS.js} +2 -2
- package/dist/{chunk-HFK33T6A.js → chunk-5TL2VVEN.js} +4 -4
- package/dist/{chunk-ULUH2X53.cjs → chunk-5U6C3RXX.cjs} +11 -11
- package/dist/{chunk-ULUH2X53.cjs.map → chunk-5U6C3RXX.cjs.map} +1 -1
- package/dist/{chunk-YZQNKMFQ.cjs → chunk-5UZULT35.cjs} +31 -31
- package/dist/{chunk-YZQNKMFQ.cjs.map → chunk-5UZULT35.cjs.map} +1 -1
- package/dist/{chunk-YJDVAT7J.js → chunk-5WXUR7LF.js} +3 -39
- package/dist/chunk-5WXUR7LF.js.map +1 -0
- package/dist/{chunk-2JNFQEVX.cjs → chunk-6HCWW4YM.cjs} +26 -26
- package/dist/{chunk-2JNFQEVX.cjs.map → chunk-6HCWW4YM.cjs.map} +1 -1
- package/dist/{chunk-LWC2U5OC.cjs → chunk-E5HKIBRS.cjs} +9 -9
- package/dist/{chunk-LWC2U5OC.cjs.map → chunk-E5HKIBRS.cjs.map} +1 -1
- package/dist/{chunk-4TMMYZTY.js → chunk-FHAG7O27.js} +2 -2
- package/dist/{chunk-WQEEGFDM.js → chunk-ISUMLEJ6.js} +2 -2
- package/dist/{chunk-DUHM44CQ.js → chunk-JMHU37Y6.js} +2 -2
- package/dist/{chunk-YUMFRC3D.js → chunk-LHJHMZYU.js} +4 -4
- package/dist/{chunk-WAQH35VG.cjs → chunk-PCM4HJO4.cjs} +26 -26
- package/dist/{chunk-WAQH35VG.cjs.map → chunk-PCM4HJO4.cjs.map} +1 -1
- package/dist/{chunk-PO4PXWZN.cjs → chunk-PMFK7ZKC.cjs} +5 -5
- package/dist/{chunk-PO4PXWZN.cjs.map → chunk-PMFK7ZKC.cjs.map} +1 -1
- package/dist/{chunk-RGKGRS2T.cjs → chunk-RKNF2DHY.cjs} +59 -59
- package/dist/{chunk-RGKGRS2T.cjs.map → chunk-RKNF2DHY.cjs.map} +1 -1
- package/dist/{chunk-B62DI2SC.cjs → chunk-RQXFDMRY.cjs} +15 -15
- package/dist/{chunk-B62DI2SC.cjs.map → chunk-RQXFDMRY.cjs.map} +1 -1
- package/dist/{chunk-3BGWK5QI.js → chunk-TJ7HD4KI.js} +4 -4
- package/dist/{chunk-JSL3VXGJ.js → chunk-UHSVSDF5.js} +2 -2
- package/dist/{chunk-6F5OKJTW.js → chunk-UKIVJU3A.js} +4 -4
- package/dist/{chunk-BF5BXKM7.cjs → chunk-UZOYTAK7.cjs} +62 -62
- package/dist/{chunk-BF5BXKM7.cjs.map → chunk-UZOYTAK7.cjs.map} +1 -1
- package/dist/{chunk-KUDLV25M.cjs → chunk-WDZATJTF.cjs} +127 -163
- package/dist/chunk-WDZATJTF.cjs.map +1 -0
- package/dist/{chunk-XFYQV2K2.js → chunk-XVWDKBBF.js} +2 -2
- package/dist/{chunk-A2IRUIUJ.cjs → chunk-YLSDXDD7.cjs} +37 -37
- package/dist/{chunk-A2IRUIUJ.cjs.map → chunk-YLSDXDD7.cjs.map} +1 -1
- package/dist/{chunk-4BWQYGIY.js → chunk-ZXWSOOEH.js} +2 -2
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/types/api.types.d.ts +0 -10
- package/dist/components/chat/types/api.types.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 +128 -128
- package/dist/components/index.js +9 -9
- 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/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-input.tsx +1 -5
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +3 -52
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +3 -25
- package/src/components/chat/types/api.types.ts +0 -10
- package/dist/chunk-KUDLV25M.cjs.map +0 -1
- package/dist/chunk-YJDVAT7J.js.map +0 -1
- package/src/stories/ApprovalRequestMessageClient.stories.tsx +0 -89
- package/src/stories/ChatMessageEnhanced.stories.tsx +0 -219
- package/src/stories/ChatTypingIndicator.stories.tsx +0 -51
- package/src/stories/ContextCompactionDisplay.stories.tsx +0 -44
- package/src/stories/ErrorMessageDisplay.stories.tsx +0 -66
- package/src/stories/ThinkingDisplay.stories.tsx +0 -63
- /package/dist/{chunk-LHM2VUTO.js.map → chunk-4XTIANMS.js.map} +0 -0
- /package/dist/{chunk-HFK33T6A.js.map → chunk-5TL2VVEN.js.map} +0 -0
- /package/dist/{chunk-4TMMYZTY.js.map → chunk-FHAG7O27.js.map} +0 -0
- /package/dist/{chunk-WQEEGFDM.js.map → chunk-ISUMLEJ6.js.map} +0 -0
- /package/dist/{chunk-DUHM44CQ.js.map → chunk-JMHU37Y6.js.map} +0 -0
- /package/dist/{chunk-YUMFRC3D.js.map → chunk-LHJHMZYU.js.map} +0 -0
- /package/dist/{chunk-3BGWK5QI.js.map → chunk-TJ7HD4KI.js.map} +0 -0
- /package/dist/{chunk-JSL3VXGJ.js.map → chunk-UHSVSDF5.js.map} +0 -0
- /package/dist/{chunk-6F5OKJTW.js.map → chunk-UKIVJU3A.js.map} +0 -0
- /package/dist/{chunk-XFYQV2K2.js.map → chunk-XVWDKBBF.js.map} +0 -0
- /package/dist/{chunk-4BWQYGIY.js.map → chunk-ZXWSOOEH.js.map} +0 -0
|
@@ -4657,11 +4657,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
4657
4657
|
disabled: isStopMode ? isStopping : sendDisabled,
|
|
4658
4658
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
4659
4659
|
"flex h-6 shrink-0 items-center text-ods-text-secondary transition-colors duration-200",
|
|
4660
|
-
|
|
4661
|
-
// regardless of where focus sits — otherwise it reads yellow after
|
|
4662
|
-
// an Enter-send (editor keeps focus) but gray after an approve
|
|
4663
|
-
// click (focus moved to the card button).
|
|
4664
|
-
focused && !isStopMode && "text-ods-accent",
|
|
4660
|
+
focused && "text-ods-accent",
|
|
4665
4661
|
"[&_svg]:size-4 md:[&_svg]:size-6",
|
|
4666
4662
|
"cursor-pointer hover:text-ods-text-primary",
|
|
4667
4663
|
"focus-visible:outline-none focus-visible:text-ods-accent",
|
|
@@ -48169,7 +48165,6 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48169
48165
|
const hasEverStreamedRef = _react.useRef.call(void 0, false);
|
|
48170
48166
|
const directModeFlagRef = _react.useRef.call(void 0, isDirectMode);
|
|
48171
48167
|
const sawDirectMessageRef = _react.useRef.call(void 0, false);
|
|
48172
|
-
const directTeardownFiredRef = _react.useRef.call(void 0, false);
|
|
48173
48168
|
_react.useEffect.call(void 0, () => {
|
|
48174
48169
|
directModeFlagRef.current = isDirectMode;
|
|
48175
48170
|
}, [isDirectMode]);
|
|
@@ -48183,9 +48178,8 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48183
48178
|
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1163 => _1163.onSegmentsUpdate, 'optionalCall', _1164 => _1164(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
|
|
48184
48179
|
if (action.action === "direct_message") sawDirectMessageRef.current = true;
|
|
48185
48180
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
48186
|
-
if (isInStreamRef.current
|
|
48181
|
+
if (isInStreamRef.current) {
|
|
48187
48182
|
isInStreamRef.current = false;
|
|
48188
|
-
directTeardownFiredRef.current = true;
|
|
48189
48183
|
_optionalChain([callbacks, 'access', _1165 => _1165.onStreamEnd, 'optionalCall', _1166 => _1166()]);
|
|
48190
48184
|
accumulator.resetSegments();
|
|
48191
48185
|
}
|
|
@@ -48225,9 +48219,6 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48225
48219
|
break;
|
|
48226
48220
|
}
|
|
48227
48221
|
case "tool_execution": {
|
|
48228
|
-
if (action.segment.data.type === "EXECUTING_TOOL") {
|
|
48229
|
-
_optionalChain([callbacks, 'access', _1173 => _1173.onAgentBusy, 'optionalCall', _1174 => _1174()]);
|
|
48230
|
-
}
|
|
48231
48222
|
if (!isInStreamRef.current && callbacks.onToolExecuted) {
|
|
48232
48223
|
callbacks.onToolExecuted(action.segment);
|
|
48233
48224
|
break;
|
|
@@ -48250,7 +48241,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48250
48241
|
emitSegments(segments);
|
|
48251
48242
|
} else {
|
|
48252
48243
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
48253
|
-
_optionalChain([callbacks, 'access',
|
|
48244
|
+
_optionalChain([callbacks, 'access', _1173 => _1173.onEscalatedApproval, 'optionalCall', _1174 => _1174(requestId, { command, explanation, approvalType })]);
|
|
48254
48245
|
}
|
|
48255
48246
|
break;
|
|
48256
48247
|
}
|
|
@@ -48262,13 +48253,13 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48262
48253
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
48263
48254
|
pendingEscalatedRef.current.set(requestId, {
|
|
48264
48255
|
command: summary,
|
|
48265
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
48256
|
+
explanation: _optionalChain([required, 'optionalAccess', _1175 => _1175.toolExplanation]),
|
|
48266
48257
|
approvalType,
|
|
48267
48258
|
toolCalls
|
|
48268
48259
|
});
|
|
48269
|
-
_optionalChain([callbacks, 'access',
|
|
48260
|
+
_optionalChain([callbacks, 'access', _1176 => _1176.onEscalatedApproval, 'optionalCall', _1177 => _1177(requestId, {
|
|
48270
48261
|
command: summary,
|
|
48271
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
48262
|
+
explanation: _optionalChain([required, 'optionalAccess', _1178 => _1178.toolExplanation]),
|
|
48272
48263
|
approvalType
|
|
48273
48264
|
})]);
|
|
48274
48265
|
break;
|
|
@@ -48294,12 +48285,11 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48294
48285
|
}
|
|
48295
48286
|
case "approval_result": {
|
|
48296
48287
|
const { requestId, approved, approvalType, resolvedByName } = action;
|
|
48297
|
-
if (approved) _optionalChain([callbacks, 'access', _1181 => _1181.onAgentBusy, 'optionalCall', _1182 => _1182()]);
|
|
48298
48288
|
const escalatedData = pendingEscalatedRef.current.get(requestId);
|
|
48299
48289
|
const status = approved ? "approved" : "rejected";
|
|
48300
48290
|
if (escalatedData) {
|
|
48301
48291
|
pendingEscalatedRef.current.delete(requestId);
|
|
48302
|
-
_optionalChain([callbacks, 'access',
|
|
48292
|
+
_optionalChain([callbacks, 'access', _1179 => _1179.onEscalatedApprovalResult, 'optionalCall', _1180 => _1180(requestId, approved, {
|
|
48303
48293
|
command: escalatedData.command,
|
|
48304
48294
|
explanation: escalatedData.explanation,
|
|
48305
48295
|
approvalType: escalatedData.approvalType
|
|
@@ -48345,29 +48335,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48345
48335
|
emitSegments(accumulator.getSegments());
|
|
48346
48336
|
}
|
|
48347
48337
|
}
|
|
48348
|
-
_optionalChain([callbacks, 'access',
|
|
48338
|
+
_optionalChain([callbacks, 'access', _1181 => _1181.onApprovalResolved, 'optionalCall', _1182 => _1182(requestId, status, approvalType, resolvedByName)]);
|
|
48349
48339
|
break;
|
|
48350
48340
|
}
|
|
48351
48341
|
case "error": {
|
|
48352
48342
|
let message2;
|
|
48353
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
48343
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _1183 => _1183.details])) {
|
|
48354
48344
|
try {
|
|
48355
|
-
message2 = _optionalChain([JSON, 'access',
|
|
48345
|
+
message2 = _optionalChain([JSON, 'access', _1184 => _1184.parse, 'call', _1185 => _1185(action.details), 'optionalAccess', _1186 => _1186.error, 'optionalAccess', _1187 => _1187.message]);
|
|
48356
48346
|
} catch (e60) {
|
|
48357
48347
|
message2 = action.details;
|
|
48358
48348
|
}
|
|
48359
48349
|
}
|
|
48360
48350
|
const segments = accumulator.addError(action.error, message2);
|
|
48361
48351
|
emitSegments(segments);
|
|
48362
|
-
_optionalChain([callbacks, 'access',
|
|
48352
|
+
_optionalChain([callbacks, 'access', _1188 => _1188.onError, 'optionalCall', _1189 => _1189(action.error, message2)]);
|
|
48363
48353
|
break;
|
|
48364
48354
|
}
|
|
48365
48355
|
case "system": {
|
|
48366
|
-
_optionalChain([callbacks, 'access',
|
|
48356
|
+
_optionalChain([callbacks, 'access', _1190 => _1190.onSystemMessage, 'optionalCall', _1191 => _1191(action.text, { streamSeq })]);
|
|
48367
48357
|
break;
|
|
48368
48358
|
}
|
|
48369
48359
|
case "direct_message": {
|
|
48370
|
-
_optionalChain([callbacks, 'access',
|
|
48360
|
+
_optionalChain([callbacks, 'access', _1192 => _1192.onDirectMessage, 'optionalCall', _1193 => _1193(action.text, {
|
|
48371
48361
|
ownerType: action.ownerType,
|
|
48372
48362
|
displayName: action.displayName,
|
|
48373
48363
|
userId: action.userId,
|
|
@@ -48376,7 +48366,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48376
48366
|
break;
|
|
48377
48367
|
}
|
|
48378
48368
|
case "message_request":
|
|
48379
|
-
_optionalChain([callbacks, 'access',
|
|
48369
|
+
_optionalChain([callbacks, 'access', _1194 => _1194.onUserMessage, 'optionalCall', _1195 => _1195(action.text, {
|
|
48380
48370
|
ownerType: action.ownerType,
|
|
48381
48371
|
displayName: action.displayName,
|
|
48382
48372
|
userId: action.userId,
|
|
@@ -48385,7 +48375,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48385
48375
|
})]);
|
|
48386
48376
|
break;
|
|
48387
48377
|
case "token_usage":
|
|
48388
|
-
_optionalChain([callbacks, 'access',
|
|
48378
|
+
_optionalChain([callbacks, 'access', _1196 => _1196.onTokenUsage, 'optionalCall', _1197 => _1197(action.data)]);
|
|
48389
48379
|
break;
|
|
48390
48380
|
case "context_compaction_start": {
|
|
48391
48381
|
const standalone = !isInStreamRef.current;
|
|
@@ -48400,7 +48390,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48400
48390
|
break;
|
|
48401
48391
|
}
|
|
48402
48392
|
case "dialog_closed":
|
|
48403
|
-
_optionalChain([callbacks, 'access',
|
|
48393
|
+
_optionalChain([callbacks, 'access', _1198 => _1198.onDialogClosed, 'optionalCall', _1199 => _1199()]);
|
|
48404
48394
|
break;
|
|
48405
48395
|
default:
|
|
48406
48396
|
break;
|
|
@@ -48416,7 +48406,6 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48416
48406
|
pendingEscalatedRef.current.clear();
|
|
48417
48407
|
hasInitializedWithData.current = false;
|
|
48418
48408
|
sawDirectMessageRef.current = false;
|
|
48419
|
-
directTeardownFiredRef.current = false;
|
|
48420
48409
|
}, []);
|
|
48421
48410
|
const updateApprovalStatus = _react.useCallback.call(void 0,
|
|
48422
48411
|
(requestId, status, resolvedByName) => {
|
|
@@ -48448,7 +48437,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
48448
48437
|
const data = await res.json();
|
|
48449
48438
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
48450
48439
|
} catch (err) {
|
|
48451
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48440
|
+
if (_optionalChain([err, 'optionalAccess', _1200 => _1200.name]) === "AbortError") throw err;
|
|
48452
48441
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
48453
48442
|
return [];
|
|
48454
48443
|
}
|
|
@@ -48469,7 +48458,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
48469
48458
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
48470
48459
|
if (!cancelled) setCommands(next);
|
|
48471
48460
|
} catch (err) {
|
|
48472
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
48461
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _1201 => _1201.name]) !== "AbortError") {
|
|
48473
48462
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
48474
48463
|
}
|
|
48475
48464
|
} finally {
|
|
@@ -48488,7 +48477,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
48488
48477
|
const query = _reactquery.useQuery.call(void 0, {
|
|
48489
48478
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
48490
48479
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
48491
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
48480
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1202 => _1202.enabled]), () => ( true)),
|
|
48492
48481
|
staleTime: Infinity,
|
|
48493
48482
|
gcTime: Infinity,
|
|
48494
48483
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -48527,21 +48516,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
48527
48516
|
}
|
|
48528
48517
|
const data = await res.json();
|
|
48529
48518
|
return {
|
|
48530
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48531
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48532
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48533
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48534
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48535
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48519
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1203 => _1203.name]), () => ( null)),
|
|
48520
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1204 => _1204.icon]), () => ( null)),
|
|
48521
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1205 => _1205.greeting]), () => ( null)),
|
|
48522
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1206 => _1206.enabledRagTableIds]), () => ( [])),
|
|
48523
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1207 => _1207.quickActions]), () => ( [])),
|
|
48524
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1208 => _1208.suggestedQueries]), () => ( []))
|
|
48536
48525
|
};
|
|
48537
48526
|
} catch (err) {
|
|
48538
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48527
|
+
if (_optionalChain([err, 'optionalAccess', _1209 => _1209.name]) === "AbortError") throw err;
|
|
48539
48528
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
48540
48529
|
return EMPTY_STATE_FALLBACK;
|
|
48541
48530
|
}
|
|
48542
48531
|
}
|
|
48543
48532
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
48544
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
48533
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1210 => _1210.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
48545
48534
|
const query = _reactquery.useQuery.call(void 0, {
|
|
48546
48535
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
48547
48536
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -48570,7 +48559,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
48570
48559
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
48571
48560
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
48572
48561
|
return new Promise((resolve, reject) => {
|
|
48573
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
48562
|
+
if (_optionalChain([signal, 'optionalAccess', _1211 => _1211.aborted])) {
|
|
48574
48563
|
reject(new Error("Upload cancelled"));
|
|
48575
48564
|
return;
|
|
48576
48565
|
}
|
|
@@ -48584,7 +48573,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
48584
48573
|
xhr.removeEventListener("error", handleError);
|
|
48585
48574
|
xhr.removeEventListener("abort", handleAbort);
|
|
48586
48575
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
48587
|
-
_optionalChain([signal, 'optionalAccess',
|
|
48576
|
+
_optionalChain([signal, 'optionalAccess', _1212 => _1212.removeEventListener, 'call', _1213 => _1213("abort", handleSignalAbort)]);
|
|
48588
48577
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
48589
48578
|
};
|
|
48590
48579
|
const handleProgress = (event) => {
|
|
@@ -48620,7 +48609,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
48620
48609
|
const handleSignalAbort = () => {
|
|
48621
48610
|
xhr.abort();
|
|
48622
48611
|
};
|
|
48623
|
-
_optionalChain([signal, 'optionalAccess',
|
|
48612
|
+
_optionalChain([signal, 'optionalAccess', _1214 => _1214.addEventListener, 'call', _1215 => _1215("abort", handleSignalAbort, { once: true })]);
|
|
48624
48613
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
48625
48614
|
xhr.addEventListener("load", handleLoad);
|
|
48626
48615
|
xhr.addEventListener("error", handleError);
|
|
@@ -48664,12 +48653,12 @@ function useChatAttachments() {
|
|
|
48664
48653
|
try {
|
|
48665
48654
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
48666
48655
|
} catch (err) {
|
|
48667
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48656
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1216 => _1216.signal, 'access', _1217 => _1217.aborted])) return;
|
|
48668
48657
|
throw new Error(
|
|
48669
48658
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
48670
48659
|
);
|
|
48671
48660
|
}
|
|
48672
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48661
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1218 => _1218.signal, 'access', _1219 => _1219.aborted])) return;
|
|
48673
48662
|
if (!sniffed) {
|
|
48674
48663
|
throw new Error("Unrecognized file format");
|
|
48675
48664
|
}
|
|
@@ -48683,7 +48672,7 @@ function useChatAttachments() {
|
|
|
48683
48672
|
const urlResp = await _chunkSR6LEWCFcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
48684
48673
|
method: "POST",
|
|
48685
48674
|
headers: { "Content-Type": "application/json" },
|
|
48686
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
48675
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _1220 => _1220.signal]),
|
|
48687
48676
|
body: JSON.stringify({
|
|
48688
48677
|
fileName: att.file.name,
|
|
48689
48678
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -48709,9 +48698,9 @@ function useChatAttachments() {
|
|
|
48709
48698
|
(pct) => {
|
|
48710
48699
|
updateOne(att.id, { progress: pct });
|
|
48711
48700
|
},
|
|
48712
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
48701
|
+
_optionalChain([ctrl, 'optionalAccess', _1221 => _1221.signal])
|
|
48713
48702
|
);
|
|
48714
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48703
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1222 => _1222.signal, 'access', _1223 => _1223.aborted])) return;
|
|
48715
48704
|
updateOne(att.id, {
|
|
48716
48705
|
status: "ready",
|
|
48717
48706
|
progress: 100,
|
|
@@ -48719,7 +48708,7 @@ function useChatAttachments() {
|
|
|
48719
48708
|
viewToken: mintData.viewToken
|
|
48720
48709
|
});
|
|
48721
48710
|
} catch (err) {
|
|
48722
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48711
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1224 => _1224.signal, 'access', _1225 => _1225.aborted])) return;
|
|
48723
48712
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
48724
48713
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
48725
48714
|
} finally {
|
|
@@ -48870,7 +48859,7 @@ var ANON_DEFAULTS = {
|
|
|
48870
48859
|
function useResolveChatIdentity(enabled) {
|
|
48871
48860
|
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
48872
48861
|
const url = runtime.endpoints.identityUrl;
|
|
48873
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSR6LEWCFcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
48862
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSR6LEWCFcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1226 => _1226.email]), () => ( null));
|
|
48874
48863
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
48875
48864
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
48876
48865
|
_react.useEffect.call(void 0, () => {
|
|
@@ -48961,7 +48950,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
48961
48950
|
yield chunk;
|
|
48962
48951
|
}
|
|
48963
48952
|
} catch (err) {
|
|
48964
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48953
|
+
if (_optionalChain([err, 'optionalAccess', _1227 => _1227.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
48965
48954
|
return;
|
|
48966
48955
|
}
|
|
48967
48956
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -49012,7 +49001,7 @@ function useChat({
|
|
|
49012
49001
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
49013
49002
|
onMessagesChangeRef.current = onMessagesChange;
|
|
49014
49003
|
_react.useEffect.call(void 0, () => {
|
|
49015
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
49004
|
+
_optionalChain([onMessagesChangeRef, 'access', _1228 => _1228.current, 'optionalCall', _1229 => _1229(messages)]);
|
|
49016
49005
|
}, [messages]);
|
|
49017
49006
|
const {
|
|
49018
49007
|
streamMessage,
|
|
@@ -49049,7 +49038,7 @@ function useChat({
|
|
|
49049
49038
|
name: "You",
|
|
49050
49039
|
content: text,
|
|
49051
49040
|
timestamp: /* @__PURE__ */ new Date(),
|
|
49052
|
-
..._optionalChain([options, 'optionalAccess',
|
|
49041
|
+
..._optionalChain([options, 'optionalAccess', _1230 => _1230.hidden]) ? { hidden: true } : {}
|
|
49053
49042
|
};
|
|
49054
49043
|
addMessage(userMessage);
|
|
49055
49044
|
setIsTyping(true);
|
|
@@ -49111,7 +49100,7 @@ function useChat({
|
|
|
49111
49100
|
currentTextSegment = "";
|
|
49112
49101
|
}
|
|
49113
49102
|
const seg = segment;
|
|
49114
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
49103
|
+
const proposalId = _optionalChain([seg, 'access', _1231 => _1231.data, 'optionalAccess', _1232 => _1232.requestId]);
|
|
49115
49104
|
const updateApprovalMessage = (transform) => {
|
|
49116
49105
|
setMessages((prev) => {
|
|
49117
49106
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -49120,7 +49109,7 @@ function useChat({
|
|
|
49120
49109
|
if (!Array.isArray(m.content)) continue;
|
|
49121
49110
|
const segments = m.content;
|
|
49122
49111
|
const hasMatch = segments.some(
|
|
49123
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49112
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1233 => _1233.data, 'optionalAccess', _1234 => _1234.requestId]) === proposalId
|
|
49124
49113
|
);
|
|
49125
49114
|
if (!hasMatch) continue;
|
|
49126
49115
|
const next = [...prev];
|
|
@@ -49162,11 +49151,11 @@ function useChat({
|
|
|
49162
49151
|
if (!Array.isArray(m.content)) continue;
|
|
49163
49152
|
const segments = m.content;
|
|
49164
49153
|
const hasMatch = segments.some(
|
|
49165
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49154
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1235 => _1235.data, 'optionalAccess', _1236 => _1236.requestId]) === decision.proposalId
|
|
49166
49155
|
);
|
|
49167
49156
|
if (!hasMatch) continue;
|
|
49168
49157
|
const flipped = segments.map(
|
|
49169
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49158
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1237 => _1237.data, 'optionalAccess', _1238 => _1238.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
49170
49159
|
);
|
|
49171
49160
|
const next = [...prev];
|
|
49172
49161
|
next[i] = { ...m, content: flipped };
|
|
@@ -49328,8 +49317,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49328
49317
|
})),
|
|
49329
49318
|
{ role: "user", content: message2 }
|
|
49330
49319
|
];
|
|
49331
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
49332
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
49320
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1239 => _1239.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
49321
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1240 => _1240.approvalAction]) ? {
|
|
49333
49322
|
proposal_id: extra.approvalAction.proposalId,
|
|
49334
49323
|
action: extra.approvalAction.action,
|
|
49335
49324
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -49338,8 +49327,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49338
49327
|
}))
|
|
49339
49328
|
} : {
|
|
49340
49329
|
messages: apiMessages,
|
|
49341
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
49342
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
49330
|
+
..._optionalChain([extra, 'optionalAccess', _1241 => _1241.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
49331
|
+
..._optionalChain([extra, 'optionalAccess', _1242 => _1242.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
49343
49332
|
};
|
|
49344
49333
|
const response = await _chunkSR6LEWCFcjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
49345
49334
|
method: "POST",
|
|
@@ -49349,7 +49338,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49349
49338
|
if (!response.ok) {
|
|
49350
49339
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
49351
49340
|
}
|
|
49352
|
-
const reader = _optionalChain([response, 'access',
|
|
49341
|
+
const reader = _optionalChain([response, 'access', _1243 => _1243.body, 'optionalAccess', _1244 => _1244.getReader, 'call', _1245 => _1245()]);
|
|
49353
49342
|
if (!reader) throw new Error("No response body");
|
|
49354
49343
|
const decoder = new TextDecoder();
|
|
49355
49344
|
let buffer = "";
|
|
@@ -49432,7 +49421,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49432
49421
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
49433
49422
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
49434
49423
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
49435
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
49424
|
+
if (_optionalChain([card, 'optionalAccess', _1246 => _1246.ref, 'optionalAccess', _1247 => _1247.id]) && _optionalChain([card, 'optionalAccess', _1248 => _1248.type])) {
|
|
49436
49425
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
49437
49426
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
49438
49427
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -49445,8 +49434,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49445
49434
|
willAutoContinue: meta.willAutoContinue === true,
|
|
49446
49435
|
...toolName ? { toolName } : {},
|
|
49447
49436
|
...result ? { result } : {},
|
|
49448
|
-
..._optionalChain([card, 'optionalAccess',
|
|
49449
|
-
..._optionalChain([card, 'optionalAccess',
|
|
49437
|
+
..._optionalChain([card, 'optionalAccess', _1249 => _1249.marker]) ? { marker: card.marker } : {},
|
|
49438
|
+
..._optionalChain([card, 'optionalAccess', _1250 => _1250.ref]) ? { cardRef: card.ref } : {},
|
|
49450
49439
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
49451
49440
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
49452
49441
|
};
|
|
@@ -49565,7 +49554,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
49565
49554
|
var chatStorageKey = (source) => {
|
|
49566
49555
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
49567
49556
|
const auth = _chunkSR6LEWCFcjs.getEmbedProxyAuth.call(void 0, );
|
|
49568
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
49557
|
+
if (_optionalChain([auth, 'optionalAccess', _1251 => _1251.email])) {
|
|
49569
49558
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
49570
49559
|
}
|
|
49571
49560
|
return base;
|
|
@@ -49620,7 +49609,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49620
49609
|
const { active = true } = runtimeOptions;
|
|
49621
49610
|
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
49622
49611
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
49623
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
49612
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1252 => _1252.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
49624
49613
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
49625
49614
|
if (persistedRef.current === null) {
|
|
49626
49615
|
pruneStaleChatStorage(source);
|
|
@@ -49725,7 +49714,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49725
49714
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
49726
49715
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
49727
49716
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
49728
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
49717
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1253 => _1253.current, 'access', _1254 => _1254.get, 'call', _1255 => _1255(lookupIdx), 'optionalAccess', _1256 => _1256.scrollAnchor]), () => ( void 0));
|
|
49729
49718
|
}
|
|
49730
49719
|
return {
|
|
49731
49720
|
id: m.id,
|
|
@@ -49773,7 +49762,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49773
49762
|
);
|
|
49774
49763
|
return;
|
|
49775
49764
|
}
|
|
49776
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
49765
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1257 => _1257.metadata, 'optionalAccess', _1258 => _1258.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
49777
49766
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
49778
49767
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
49779
49768
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -49845,18 +49834,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49845
49834
|
clearMessages,
|
|
49846
49835
|
streamingPhase,
|
|
49847
49836
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
49848
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49849
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49850
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49837
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1259 => _1259.provider]), () => ( null)),
|
|
49838
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1260 => _1260.modelLabel]), () => ( null)),
|
|
49839
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1261 => _1261.contextWindowMaxTokens]), () => ( null)),
|
|
49851
49840
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
49852
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49841
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1262 => _1262.inputTokens]), () => ( null)),
|
|
49853
49842
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
49854
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49843
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1263 => _1263.outputTokens]), () => ( null)),
|
|
49855
49844
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
49856
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49845
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1264 => _1264.cacheHitRatePct]), () => ( null)),
|
|
49857
49846
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
49858
49847
|
* token counts). null until the trailing usage frame lands. */
|
|
49859
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49848
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1265 => _1265.breakdown]), () => ( null)),
|
|
49860
49849
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
49861
49850
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
49862
49851
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -49914,15 +49903,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
49914
49903
|
|
|
49915
49904
|
// src/components/chat/utils/process-historical-messages.ts
|
|
49916
49905
|
function getOwnerDisplayName(owner) {
|
|
49917
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
49906
|
+
if (_optionalChain([owner, 'optionalAccess', _1266 => _1266.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
49918
49907
|
const { firstName, lastName } = owner.user;
|
|
49919
49908
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
49920
49909
|
if (name) return name;
|
|
49921
49910
|
}
|
|
49922
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
49911
|
+
return _optionalChain([owner, 'optionalAccess', _1267 => _1267.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
49923
49912
|
}
|
|
49924
49913
|
function getOwnerAvatar(owner) {
|
|
49925
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
49914
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1268 => _1268.user, 'optionalAccess', _1269 => _1269.image, 'optionalAccess', _1270 => _1270.imageUrl]), () => ( void 0));
|
|
49926
49915
|
}
|
|
49927
49916
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
49928
49917
|
messageDataArray.forEach((data) => {
|
|
@@ -49985,14 +49974,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
49985
49974
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
49986
49975
|
return;
|
|
49987
49976
|
}
|
|
49988
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
49977
|
+
const isUserMessage = _optionalChain([msg, 'access', _1271 => _1271.owner, 'optionalAccess', _1272 => _1272.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1273 => _1273.owner, 'optionalAccess', _1274 => _1274.type]) === OWNER_TYPE.ADMIN;
|
|
49989
49978
|
if (isUserMessage) {
|
|
49990
49979
|
flushAssistantMessage();
|
|
49991
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
49980
|
+
const userAuthorType = _optionalChain([msg, 'access', _1275 => _1275.owner, 'optionalAccess', _1276 => _1276.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
49992
49981
|
messageDataArray.forEach((data) => {
|
|
49993
49982
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
49994
49983
|
const rawContext = data.contextItems;
|
|
49995
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
49984
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1277 => _1277.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1278 => _1278.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
49996
49985
|
processedMessages.push({
|
|
49997
49986
|
id: msg.id,
|
|
49998
49987
|
role: "user",
|
|
@@ -50016,7 +50005,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
50016
50005
|
});
|
|
50017
50006
|
const nextMsg = messages[index + 1];
|
|
50018
50007
|
const isLastMessage = index === messages.length - 1;
|
|
50019
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
50008
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1279 => _1279.owner, 'optionalAccess', _1280 => _1280.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1281 => _1281.owner, 'optionalAccess', _1282 => _1282.type]) === OWNER_TYPE.ADMIN);
|
|
50020
50009
|
if (isLastMessage || nextIsFromUser) {
|
|
50021
50010
|
flushAssistantMessage();
|
|
50022
50011
|
}
|
|
@@ -50126,7 +50115,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50126
50115
|
}
|
|
50127
50116
|
}
|
|
50128
50117
|
} else {
|
|
50129
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50118
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1283 => _1283.set, 'call', _1284 => _1284(data.approvalRequestId, {
|
|
50130
50119
|
command: data.command || "",
|
|
50131
50120
|
explanation: data.explanation,
|
|
50132
50121
|
approvalType,
|
|
@@ -50140,8 +50129,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50140
50129
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
50141
50130
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
50142
50131
|
const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
|
|
50143
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50144
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
50132
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1285 => _1285.get, 'call', _1286 => _1286(data.approvalRequestId)]);
|
|
50133
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1287 => _1287.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
50145
50134
|
if (batchApprovalsEnabled) {
|
|
50146
50135
|
accumulator.addApprovalBatch(
|
|
50147
50136
|
data.approvalRequestId,
|
|
@@ -50163,7 +50152,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50163
50152
|
);
|
|
50164
50153
|
}
|
|
50165
50154
|
}
|
|
50166
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50155
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1288 => _1288.delete, 'call', _1289 => _1289(data.approvalRequestId)]);
|
|
50167
50156
|
break;
|
|
50168
50157
|
}
|
|
50169
50158
|
if (escalatedData) {
|
|
@@ -50172,7 +50161,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50172
50161
|
explanation: escalatedData.explanation,
|
|
50173
50162
|
approvalType: escalatedData.approvalType
|
|
50174
50163
|
});
|
|
50175
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50164
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1290 => _1290.delete, 'call', _1291 => _1291(data.approvalRequestId)]);
|
|
50176
50165
|
}
|
|
50177
50166
|
const before = accumulator.getSegments();
|
|
50178
50167
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
|
|
@@ -50188,9 +50177,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50188
50177
|
case MESSAGE_TYPE.ERROR:
|
|
50189
50178
|
if ("error" in data) {
|
|
50190
50179
|
let message2;
|
|
50191
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
50180
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1292 => _1292.details])) {
|
|
50192
50181
|
try {
|
|
50193
|
-
message2 = _optionalChain([JSON, 'access',
|
|
50182
|
+
message2 = _optionalChain([JSON, 'access', _1293 => _1293.parse, 'call', _1294 => _1294(data.details), 'optionalAccess', _1295 => _1295.error, 'optionalAccess', _1296 => _1296.message]);
|
|
50194
50183
|
} catch (e67) {
|
|
50195
50184
|
message2 = data.details;
|
|
50196
50185
|
}
|
|
@@ -50273,14 +50262,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
50273
50262
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
50274
50263
|
return;
|
|
50275
50264
|
}
|
|
50276
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
50265
|
+
const isUserMessage = _optionalChain([msg, 'access', _1297 => _1297.owner, 'optionalAccess', _1298 => _1298.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1299 => _1299.owner, 'optionalAccess', _1300 => _1300.type]) === OWNER_TYPE.ADMIN;
|
|
50277
50266
|
if (isUserMessage) {
|
|
50278
50267
|
flushAssistantMessage();
|
|
50279
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
50268
|
+
const userAuthorType = _optionalChain([msg, 'access', _1301 => _1301.owner, 'optionalAccess', _1302 => _1302.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
50280
50269
|
messageDataArray.forEach((data) => {
|
|
50281
50270
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
50282
50271
|
const rawContext = data.contextItems;
|
|
50283
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
50272
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1303 => _1303.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1304 => _1304.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
50284
50273
|
processedMessages.push({
|
|
50285
50274
|
id: msg.id,
|
|
50286
50275
|
role: "user",
|
|
@@ -50304,7 +50293,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
50304
50293
|
});
|
|
50305
50294
|
const nextMsg = messages[index + 1];
|
|
50306
50295
|
const isLastMessage = index === messages.length - 1;
|
|
50307
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
50296
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1305 => _1305.owner, 'optionalAccess', _1306 => _1306.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1307 => _1307.owner, 'optionalAccess', _1308 => _1308.type]) === OWNER_TYPE.ADMIN);
|
|
50308
50297
|
if (isLastMessage || nextIsFromUser) {
|
|
50309
50298
|
flushAssistantMessage();
|
|
50310
50299
|
}
|
|
@@ -50403,9 +50392,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50403
50392
|
const dialogId = isManagedMode ? internalDialogId : controlledDialogId !== void 0 ? controlledDialogId : null;
|
|
50404
50393
|
const [messages, setMessages] = _react.useState.call(void 0, []);
|
|
50405
50394
|
const [streamingPhase, setStreamingPhase] = _react.useState.call(void 0, "idle");
|
|
50406
|
-
const streamingPhaseRef = _react.useRef.call(void 0, streamingPhase);
|
|
50407
|
-
streamingPhaseRef.current = streamingPhase;
|
|
50408
|
-
const suppressAgentBusyRef = _react.useRef.call(void 0, false);
|
|
50409
50395
|
const [approvalStatuses, setApprovalStatuses] = _react.useState.call(void 0, {});
|
|
50410
50396
|
const [dialogs, setDialogs] = _react.useState.call(void 0, []);
|
|
50411
50397
|
const [dialogsNextCursor, setDialogsNextCursor] = _react.useState.call(void 0, null);
|
|
@@ -50423,8 +50409,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50423
50409
|
async (requestId) => {
|
|
50424
50410
|
if (!approveRequestCallback) return;
|
|
50425
50411
|
setApprovalStatuses((prev) => ({ ...prev, [requestId]: "approved" }));
|
|
50426
|
-
const tookLock = streamingPhaseRef.current === "idle";
|
|
50427
|
-
setStreamingPhase((p) => p === "idle" ? "thinking" : p);
|
|
50428
50412
|
try {
|
|
50429
50413
|
await approveRequestCallback(requestId);
|
|
50430
50414
|
} catch (err) {
|
|
@@ -50433,9 +50417,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50433
50417
|
delete next[requestId];
|
|
50434
50418
|
return next;
|
|
50435
50419
|
});
|
|
50436
|
-
if (tookLock) {
|
|
50437
|
-
setStreamingPhase((p) => p === "thinking" ? "idle" : p);
|
|
50438
|
-
}
|
|
50439
50420
|
console.error("[useNatsChatAdapter] approveRequest failed:", err);
|
|
50440
50421
|
}
|
|
50441
50422
|
},
|
|
@@ -50476,18 +50457,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50476
50457
|
},
|
|
50477
50458
|
onStreamStart: () => setStreamingPhase("streaming"),
|
|
50478
50459
|
onStreamEnd: () => setStreamingPhase("idle"),
|
|
50479
|
-
// Agent is executing (approved) commands outside an open stream — keep
|
|
50480
|
-
// the composer locked exactly like the in-stream phases. An open stream
|
|
50481
|
-
// keeps ownership: only 'idle' upgrades to 'thinking'. Suppressed during
|
|
50482
|
-
// initial catchup so a replayed dead tail can't lock a finished dialog.
|
|
50483
|
-
onAgentBusy: () => {
|
|
50484
|
-
if (suppressAgentBusyRef.current) return;
|
|
50485
|
-
setStreamingPhase((p) => p === "idle" ? "thinking" : p);
|
|
50486
|
-
},
|
|
50487
|
-
// Terminal turn failures can arrive without a MESSAGE_END; unlock the
|
|
50488
|
-
// composer unless an open stream still owns the phase (in-stream errors
|
|
50489
|
-
// are followed by the stream's own MESSAGE_END).
|
|
50490
|
-
onError: () => setStreamingPhase((p) => p === "streaming" ? p : "idle"),
|
|
50491
50460
|
// Live cumulative token counter for the active dialog — drives the
|
|
50492
50461
|
// composer's "X / Y tokens used" tail as the assistant streams.
|
|
50493
50462
|
onTokenUsage: (data) => setDialogTokenUsage(data),
|
|
@@ -50503,8 +50472,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50503
50472
|
onSegmentsUpdate: (segments) => callbacksRef.current.onSegmentsUpdate(segments),
|
|
50504
50473
|
onStreamStart: () => callbacksRef.current.onStreamStart(),
|
|
50505
50474
|
onStreamEnd: () => callbacksRef.current.onStreamEnd(),
|
|
50506
|
-
onAgentBusy: () => callbacksRef.current.onAgentBusy(),
|
|
50507
|
-
onError: () => callbacksRef.current.onError(),
|
|
50508
50475
|
onTokenUsage: (data) => callbacksRef.current.onTokenUsage(data),
|
|
50509
50476
|
onMetadata: (meta) => callbacksRef.current.onMetadata(meta),
|
|
50510
50477
|
onApprove: accumApprove,
|
|
@@ -50594,13 +50561,10 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50594
50561
|
}, [active, dialogId, loadDialogHistory, resetAccumulator]);
|
|
50595
50562
|
_react.useEffect.call(void 0, () => {
|
|
50596
50563
|
if (!active || !dialogId) return;
|
|
50597
|
-
suppressAgentBusyRef.current = true;
|
|
50598
50564
|
resetChunkTracking();
|
|
50599
50565
|
startInitialBuffering();
|
|
50600
50566
|
catchUpChunks().catch((err) => {
|
|
50601
50567
|
console.error("[useNatsChatAdapter] initial catchup failed:", err);
|
|
50602
|
-
}).finally(() => {
|
|
50603
|
-
suppressAgentBusyRef.current = false;
|
|
50604
50568
|
});
|
|
50605
50569
|
}, [active, dialogId, resetChunkTracking, startInitialBuffering, catchUpChunks]);
|
|
50606
50570
|
useNatsDialogSubscription({
|
|
@@ -50665,7 +50629,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50665
50629
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
50666
50630
|
const sendMessage = _react.useCallback.call(void 0,
|
|
50667
50631
|
async (text, sendOptions) => {
|
|
50668
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
50632
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1309 => _1309.hidden]), () => ( false));
|
|
50669
50633
|
setMessages((prev) => [
|
|
50670
50634
|
...prev,
|
|
50671
50635
|
{
|
|
@@ -50829,11 +50793,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50829
50793
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
50830
50794
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
50831
50795
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
50832
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
50833
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
50834
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50835
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50836
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50796
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1310 => _1310.provider]), () => ( modelProvider)), () => ( null)),
|
|
50797
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1311 => _1311.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
50798
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1312 => _1312.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1313 => _1313.contextWindowMaxTokens]))), () => ( null)),
|
|
50799
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1314 => _1314.inputTokensSize]), () => ( null)),
|
|
50800
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1315 => _1315.outputTokensSize]), () => ( null)),
|
|
50837
50801
|
currentCacheHitRatePct: null,
|
|
50838
50802
|
currentUsageBreakdown: null,
|
|
50839
50803
|
// Dialog management
|
|
@@ -51081,7 +51045,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
51081
51045
|
break;
|
|
51082
51046
|
case "approval_batch": {
|
|
51083
51047
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
51084
|
-
(c) => _optionalChain([segment, 'access',
|
|
51048
|
+
(c) => _optionalChain([segment, 'access', _1316 => _1316.data, 'access', _1317 => _1317.executions, 'optionalAccess', _1318 => _1318[c.toolExecutionRequestId], 'optionalAccess', _1319 => _1319.status]) === "done"
|
|
51085
51049
|
);
|
|
51086
51050
|
if (segment.status !== "rejected" && !allDone) {
|
|
51087
51051
|
hasIncompleteState = true;
|
|
@@ -51149,20 +51113,20 @@ function mergeHistoryWithRealtime(input) {
|
|
|
51149
51113
|
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
51150
51114
|
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
51151
51115
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
51152
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
51153
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
51116
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1320 => _1320.role]) === "assistant" ? trailing : null;
|
|
51117
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1321 => _1321.content, 'access', _1322 => _1322.find, 'call', _1323 => _1323((s) => s.type === "approval_batch"), 'optionalAccess', _1324 => _1324.data, 'optionalAccess', _1325 => _1325.approvalRequestId]), () => ( null)) : null;
|
|
51154
51118
|
let processedToUse = processedHistory;
|
|
51155
51119
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
51156
51120
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
51157
51121
|
if (historyBatchId) {
|
|
51158
51122
|
const batchTwins = existingMessages.filter(
|
|
51159
51123
|
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
51160
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
51124
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1326 => _1326.data, 'optionalAccess', _1327 => _1327.approvalRequestId]) === historyBatchId
|
|
51161
51125
|
)
|
|
51162
51126
|
);
|
|
51163
51127
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
51164
51128
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
51165
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
51129
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1328 => _1328.content])) ? historyTrailingAssistant.content.length : 0;
|
|
51166
51130
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
51167
51131
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
51168
51132
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -51178,16 +51142,16 @@ function mergeHistoryWithRealtime(input) {
|
|
|
51178
51142
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
51179
51143
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
51180
51144
|
if (processedIds.has(m.id)) return false;
|
|
51181
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
51145
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1329 => _1329.has, 'call', _1330 => _1330(m.id)])) return false;
|
|
51182
51146
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
51183
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
51147
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1331 => _1331.timestamp, 'optionalAccess', _1332 => _1332.getTime, 'call', _1333 => _1333()]), () => ( 0))) <= historyFetchedAt;
|
|
51184
51148
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
51185
51149
|
}
|
|
51186
51150
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
51187
51151
|
if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
|
|
51188
51152
|
return false;
|
|
51189
51153
|
}
|
|
51190
|
-
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
51154
|
+
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1334 => _1334.timestamp, 'optionalAccess', _1335 => _1335.getTime, 'call', _1336 => _1336()]), () => ( 0))) <= historyFetchedAt;
|
|
51191
51155
|
if (covered) return false;
|
|
51192
51156
|
}
|
|
51193
51157
|
return true;
|
|
@@ -51407,7 +51371,7 @@ function useChatDialogManager({
|
|
|
51407
51371
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
51408
51372
|
if (restoreTarget) {
|
|
51409
51373
|
try {
|
|
51410
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
51374
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1337 => _1337(restoreTarget.id)]);
|
|
51411
51375
|
} catch (err) {
|
|
51412
51376
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
51413
51377
|
return;
|
|
@@ -51825,7 +51789,7 @@ function EmbeddableChatInner({
|
|
|
51825
51789
|
}),
|
|
51826
51790
|
[commandsUrl]
|
|
51827
51791
|
);
|
|
51828
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
51792
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1338 => _1338.firstName, 'optionalAccess', _1339 => _1339.trim, 'call', _1340 => _1340()]) || _optionalChain([identityUser, 'optionalAccess', _1341 => _1341.name, 'optionalAccess', _1342 => _1342.split, 'call', _1343 => _1343(" "), 'access', _1344 => _1344[0], 'optionalAccess', _1345 => _1345.trim, 'call', _1346 => _1346()]) || void 0;
|
|
51829
51793
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
51830
51794
|
if (modes) return modes;
|
|
51831
51795
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -51834,19 +51798,19 @@ function EmbeddableChatInner({
|
|
|
51834
51798
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
51835
51799
|
if (mingoState) {
|
|
51836
51800
|
return {
|
|
51837
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51838
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51839
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51840
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51841
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51842
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51801
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1347 => _1347.canRename]), () => ( false)),
|
|
51802
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1348 => _1348.canArchive]), () => ( false)),
|
|
51803
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1349 => _1349.fetchArchivedDialogs]),
|
|
51804
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1350 => _1350.unarchiveDialog]),
|
|
51805
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1351 => _1351.searchQuery]),
|
|
51806
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1352 => _1352.onSearchChange])
|
|
51843
51807
|
};
|
|
51844
51808
|
}
|
|
51845
51809
|
return {
|
|
51846
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
51847
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
51848
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
51849
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
51810
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1353 => _1353.mingo, 'optionalAccess', _1354 => _1354.renameDialog]),
|
|
51811
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1355 => _1355.mingo, 'optionalAccess', _1356 => _1356.archiveDialog]),
|
|
51812
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1357 => _1357.mingo, 'optionalAccess', _1358 => _1358.fetchArchivedDialogs]),
|
|
51813
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1359 => _1359.mingo, 'optionalAccess', _1360 => _1360.unarchiveDialog]),
|
|
51850
51814
|
searchQuery: void 0,
|
|
51851
51815
|
onSearchChange: void 0
|
|
51852
51816
|
};
|
|
@@ -51860,7 +51824,7 @@ function EmbeddableChatInner({
|
|
|
51860
51824
|
if (controlledActiveMode === void 0) {
|
|
51861
51825
|
setUncontrolledActiveMode(next);
|
|
51862
51826
|
}
|
|
51863
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
51827
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1361 => _1361(next)]);
|
|
51864
51828
|
},
|
|
51865
51829
|
[controlledActiveMode, onActiveModeChange]
|
|
51866
51830
|
);
|
|
@@ -51882,7 +51846,7 @@ function EmbeddableChatInner({
|
|
|
51882
51846
|
const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
|
|
51883
51847
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
51884
51848
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
51885
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
51849
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1362 => _1362.title]) === "string" ? guideWelcome.title : null)));
|
|
51886
51850
|
const {
|
|
51887
51851
|
messages: rawMessages,
|
|
51888
51852
|
isLoading: chatLoading,
|
|
@@ -51922,7 +51886,7 @@ function EmbeddableChatInner({
|
|
|
51922
51886
|
if (activeMode !== "guide" || guidePromptSentRef.current) return;
|
|
51923
51887
|
guidePromptSentRef.current = true;
|
|
51924
51888
|
void sendMessage(guidePendingPrompt);
|
|
51925
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
51889
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _1363 => _1363()]);
|
|
51926
51890
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
51927
51891
|
const {
|
|
51928
51892
|
attachments: stagedAttachments,
|
|
@@ -51933,7 +51897,7 @@ function EmbeddableChatInner({
|
|
|
51933
51897
|
clear: clearAttachments
|
|
51934
51898
|
} = useChatAttachments();
|
|
51935
51899
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
51936
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
51900
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1364 => _1364.maxItems]), () => ( 10));
|
|
51937
51901
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
51938
51902
|
const [contextItems, setContextItems] = _react.useState.call(void 0, []);
|
|
51939
51903
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -51950,10 +51914,10 @@ function EmbeddableChatInner({
|
|
|
51950
51914
|
}, [activeDialogId, activeMode]);
|
|
51951
51915
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
51952
51916
|
const m = /* @__PURE__ */ new Map();
|
|
51953
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
51917
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1365 => _1365.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
51954
51918
|
return m;
|
|
51955
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
51956
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
51919
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _1366 => _1366.entityTypes])]);
|
|
51920
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1367 => _1367.entityTypes]);
|
|
51957
51921
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
51958
51922
|
const byType = /* @__PURE__ */ new Map();
|
|
51959
51923
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -51965,7 +51929,7 @@ function EmbeddableChatInner({
|
|
|
51965
51929
|
if (mentionActiveRef.current) {
|
|
51966
51930
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
51967
51931
|
if (contextItems.length >= contextMaxItems) return;
|
|
51968
|
-
_optionalChain([chatInputRef, 'access',
|
|
51932
|
+
_optionalChain([chatInputRef, 'access', _1368 => _1368.current, 'optionalAccess', _1369 => _1369.commitMention, 'call', _1370 => _1370(mentionTokenOf(key, mentionMarkerByType), {
|
|
51969
51933
|
label: item.label,
|
|
51970
51934
|
icon: resolveContextIcon(item)
|
|
51971
51935
|
})]);
|
|
@@ -51987,9 +51951,9 @@ function EmbeddableChatInner({
|
|
|
51987
51951
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
51988
51952
|
if (mentionKeysRef.current.has(key)) {
|
|
51989
51953
|
mentionKeysRef.current.delete(key);
|
|
51990
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
51954
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1371 => _1371.current, 'optionalAccess', _1372 => _1372.getValue, 'call', _1373 => _1373()]), () => ( ""));
|
|
51991
51955
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
51992
|
-
_optionalChain([chatInputRef, 'access',
|
|
51956
|
+
_optionalChain([chatInputRef, 'access', _1374 => _1374.current, 'optionalAccess', _1375 => _1375.setValue, 'call', _1376 => _1376(next)]);
|
|
51993
51957
|
}
|
|
51994
51958
|
}, [mentionMarkerByType]);
|
|
51995
51959
|
const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
|
|
@@ -52006,7 +51970,7 @@ function EmbeddableChatInner({
|
|
|
52006
51970
|
}, []);
|
|
52007
51971
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
52008
51972
|
if (mentionActiveRef.current) {
|
|
52009
|
-
_optionalChain([chatInputRef, 'access',
|
|
51973
|
+
_optionalChain([chatInputRef, 'access', _1377 => _1377.current, 'optionalAccess', _1378 => _1378.removeMentionTrigger, 'call', _1379 => _1379()]);
|
|
52010
51974
|
}
|
|
52011
51975
|
setContextPickerOpen(false);
|
|
52012
51976
|
setMentionQuery(null);
|
|
@@ -52040,8 +52004,8 @@ function EmbeddableChatInner({
|
|
|
52040
52004
|
[]
|
|
52041
52005
|
);
|
|
52042
52006
|
const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
52043
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
52044
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
52007
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1380 => _1380.firstName]), _optionalChain([identityUser, 'optionalAccess', _1381 => _1381.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1382 => _1382.name, 'optionalAccess', _1383 => _1383.trim, 'call', _1384 => _1384()]) || void 0 : void 0;
|
|
52008
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1385 => _1385.avatarUrl, 'optionalAccess', _1386 => _1386.trim, 'call', _1387 => _1387()]) || void 0 : void 0;
|
|
52045
52009
|
const messages = _react.useMemo.call(void 0, () => {
|
|
52046
52010
|
const cache = timestampCacheRef.current;
|
|
52047
52011
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -52219,9 +52183,9 @@ function EmbeddableChatInner({
|
|
|
52219
52183
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
52220
52184
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
52221
52185
|
if (chatLoading) return void 0;
|
|
52222
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
52186
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1388 => _1388.sources]);
|
|
52223
52187
|
if (!sources || sources.length === 0) return void 0;
|
|
52224
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
52188
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1389 => _1389.content]) || "";
|
|
52225
52189
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
52226
52190
|
(m) => parseInt(m[1], 10)
|
|
52227
52191
|
);
|
|
@@ -52268,7 +52232,7 @@ function EmbeddableChatInner({
|
|
|
52268
52232
|
ChatPanelHeader,
|
|
52269
52233
|
{
|
|
52270
52234
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
52271
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
52235
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1390 => _1390.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
|
|
52272
52236
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
52273
52237
|
isArchivedView: isViewingArchived,
|
|
52274
52238
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -52389,9 +52353,9 @@ function EmbeddableChatInner({
|
|
|
52389
52353
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
52390
52354
|
subtitleLoading: emptyStateLoading,
|
|
52391
52355
|
...guideWelcome,
|
|
52392
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
52393
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
52394
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
52356
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1391 => _1391.title]))),
|
|
52357
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1392 => _1392.icon]))),
|
|
52358
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1393 => _1393.quickActions]), () => ( guideSuggestedActions)),
|
|
52395
52359
|
onQuickAction: (action) => {
|
|
52396
52360
|
setQuickActionPreview(null);
|
|
52397
52361
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -53533,4 +53497,4 @@ function EmbeddableChatInner({
|
|
|
53533
53497
|
|
|
53534
53498
|
|
|
53535
53499
|
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
53536
|
-
//# sourceMappingURL=chunk-
|
|
53500
|
+
//# sourceMappingURL=chunk-WDZATJTF.cjs.map
|