@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.
Files changed (96) hide show
  1. package/dist/{chunk-O3FSSWV4.cjs → chunk-4PS4F4WL.cjs} +7 -7
  2. package/dist/{chunk-O3FSSWV4.cjs.map → chunk-4PS4F4WL.cjs.map} +1 -1
  3. package/dist/{chunk-LHM2VUTO.js → chunk-4XTIANMS.js} +2 -2
  4. package/dist/{chunk-HFK33T6A.js → chunk-5TL2VVEN.js} +4 -4
  5. package/dist/{chunk-ULUH2X53.cjs → chunk-5U6C3RXX.cjs} +11 -11
  6. package/dist/{chunk-ULUH2X53.cjs.map → chunk-5U6C3RXX.cjs.map} +1 -1
  7. package/dist/{chunk-YZQNKMFQ.cjs → chunk-5UZULT35.cjs} +31 -31
  8. package/dist/{chunk-YZQNKMFQ.cjs.map → chunk-5UZULT35.cjs.map} +1 -1
  9. package/dist/{chunk-YJDVAT7J.js → chunk-5WXUR7LF.js} +3 -39
  10. package/dist/chunk-5WXUR7LF.js.map +1 -0
  11. package/dist/{chunk-2JNFQEVX.cjs → chunk-6HCWW4YM.cjs} +26 -26
  12. package/dist/{chunk-2JNFQEVX.cjs.map → chunk-6HCWW4YM.cjs.map} +1 -1
  13. package/dist/{chunk-LWC2U5OC.cjs → chunk-E5HKIBRS.cjs} +9 -9
  14. package/dist/{chunk-LWC2U5OC.cjs.map → chunk-E5HKIBRS.cjs.map} +1 -1
  15. package/dist/{chunk-4TMMYZTY.js → chunk-FHAG7O27.js} +2 -2
  16. package/dist/{chunk-WQEEGFDM.js → chunk-ISUMLEJ6.js} +2 -2
  17. package/dist/{chunk-DUHM44CQ.js → chunk-JMHU37Y6.js} +2 -2
  18. package/dist/{chunk-YUMFRC3D.js → chunk-LHJHMZYU.js} +4 -4
  19. package/dist/{chunk-WAQH35VG.cjs → chunk-PCM4HJO4.cjs} +26 -26
  20. package/dist/{chunk-WAQH35VG.cjs.map → chunk-PCM4HJO4.cjs.map} +1 -1
  21. package/dist/{chunk-PO4PXWZN.cjs → chunk-PMFK7ZKC.cjs} +5 -5
  22. package/dist/{chunk-PO4PXWZN.cjs.map → chunk-PMFK7ZKC.cjs.map} +1 -1
  23. package/dist/{chunk-RGKGRS2T.cjs → chunk-RKNF2DHY.cjs} +59 -59
  24. package/dist/{chunk-RGKGRS2T.cjs.map → chunk-RKNF2DHY.cjs.map} +1 -1
  25. package/dist/{chunk-B62DI2SC.cjs → chunk-RQXFDMRY.cjs} +15 -15
  26. package/dist/{chunk-B62DI2SC.cjs.map → chunk-RQXFDMRY.cjs.map} +1 -1
  27. package/dist/{chunk-3BGWK5QI.js → chunk-TJ7HD4KI.js} +4 -4
  28. package/dist/{chunk-JSL3VXGJ.js → chunk-UHSVSDF5.js} +2 -2
  29. package/dist/{chunk-6F5OKJTW.js → chunk-UKIVJU3A.js} +4 -4
  30. package/dist/{chunk-BF5BXKM7.cjs → chunk-UZOYTAK7.cjs} +62 -62
  31. package/dist/{chunk-BF5BXKM7.cjs.map → chunk-UZOYTAK7.cjs.map} +1 -1
  32. package/dist/{chunk-KUDLV25M.cjs → chunk-WDZATJTF.cjs} +127 -163
  33. package/dist/chunk-WDZATJTF.cjs.map +1 -0
  34. package/dist/{chunk-XFYQV2K2.js → chunk-XVWDKBBF.js} +2 -2
  35. package/dist/{chunk-A2IRUIUJ.cjs → chunk-YLSDXDD7.cjs} +37 -37
  36. package/dist/{chunk-A2IRUIUJ.cjs.map → chunk-YLSDXDD7.cjs.map} +1 -1
  37. package/dist/{chunk-4BWQYGIY.js → chunk-ZXWSOOEH.js} +2 -2
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/chat-input.d.ts.map +1 -1
  41. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  42. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
  43. package/dist/components/chat/index.cjs +2 -2
  44. package/dist/components/chat/index.js +1 -1
  45. package/dist/components/chat/types/api.types.d.ts +0 -10
  46. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  47. package/dist/components/contact/index.cjs +3 -3
  48. package/dist/components/contact/index.js +2 -2
  49. package/dist/components/docs/index.cjs +5 -5
  50. package/dist/components/docs/index.js +4 -4
  51. package/dist/components/embeds/index.cjs +3 -3
  52. package/dist/components/embeds/index.js +2 -2
  53. package/dist/components/faq/index.cjs +3 -3
  54. package/dist/components/faq/index.js +2 -2
  55. package/dist/components/features/index.cjs +2 -2
  56. package/dist/components/features/index.js +1 -1
  57. package/dist/components/help-center-pages/index.cjs +20 -20
  58. package/dist/components/help-center-pages/index.js +11 -11
  59. package/dist/components/index.cjs +128 -128
  60. package/dist/components/index.js +9 -9
  61. package/dist/components/navigation/index.cjs +2 -2
  62. package/dist/components/navigation/index.js +1 -1
  63. package/dist/components/onboarding-guides/index.cjs +5 -5
  64. package/dist/components/onboarding-guides/index.js +4 -4
  65. package/dist/components/related-content/index.cjs +3 -3
  66. package/dist/components/related-content/index.js +2 -2
  67. package/dist/components/tickets/index.cjs +5 -5
  68. package/dist/components/tickets/index.js +4 -4
  69. package/dist/components/ui/index.cjs +2 -2
  70. package/dist/components/ui/index.js +1 -1
  71. package/dist/index.cjs +2 -2
  72. package/dist/index.js +1 -1
  73. package/package.json +1 -1
  74. package/src/components/chat/chat-input.tsx +1 -5
  75. package/src/components/chat/hooks/use-nats-chat-adapter.ts +3 -52
  76. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +3 -25
  77. package/src/components/chat/types/api.types.ts +0 -10
  78. package/dist/chunk-KUDLV25M.cjs.map +0 -1
  79. package/dist/chunk-YJDVAT7J.js.map +0 -1
  80. package/src/stories/ApprovalRequestMessageClient.stories.tsx +0 -89
  81. package/src/stories/ChatMessageEnhanced.stories.tsx +0 -219
  82. package/src/stories/ChatTypingIndicator.stories.tsx +0 -51
  83. package/src/stories/ContextCompactionDisplay.stories.tsx +0 -44
  84. package/src/stories/ErrorMessageDisplay.stories.tsx +0 -66
  85. package/src/stories/ThinkingDisplay.stories.tsx +0 -63
  86. /package/dist/{chunk-LHM2VUTO.js.map → chunk-4XTIANMS.js.map} +0 -0
  87. /package/dist/{chunk-HFK33T6A.js.map → chunk-5TL2VVEN.js.map} +0 -0
  88. /package/dist/{chunk-4TMMYZTY.js.map → chunk-FHAG7O27.js.map} +0 -0
  89. /package/dist/{chunk-WQEEGFDM.js.map → chunk-ISUMLEJ6.js.map} +0 -0
  90. /package/dist/{chunk-DUHM44CQ.js.map → chunk-JMHU37Y6.js.map} +0 -0
  91. /package/dist/{chunk-YUMFRC3D.js.map → chunk-LHJHMZYU.js.map} +0 -0
  92. /package/dist/{chunk-3BGWK5QI.js.map → chunk-TJ7HD4KI.js.map} +0 -0
  93. /package/dist/{chunk-JSL3VXGJ.js.map → chunk-UHSVSDF5.js.map} +0 -0
  94. /package/dist/{chunk-6F5OKJTW.js.map → chunk-UKIVJU3A.js.map} +0 -0
  95. /package/dist/{chunk-XFYQV2K2.js.map → chunk-XVWDKBBF.js.map} +0 -0
  96. /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
- // Focus accent applies to the SEND icon only. Stop stays neutral
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 || !directTeardownFiredRef.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', _1175 => _1175.onEscalatedApproval, 'optionalCall', _1176 => _1176(requestId, { command, explanation, approvalType })]);
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', _1177 => _1177.toolExplanation]),
48256
+ explanation: _optionalChain([required, 'optionalAccess', _1175 => _1175.toolExplanation]),
48266
48257
  approvalType,
48267
48258
  toolCalls
48268
48259
  });
48269
- _optionalChain([callbacks, 'access', _1178 => _1178.onEscalatedApproval, 'optionalCall', _1179 => _1179(requestId, {
48260
+ _optionalChain([callbacks, 'access', _1176 => _1176.onEscalatedApproval, 'optionalCall', _1177 => _1177(requestId, {
48270
48261
  command: summary,
48271
- explanation: _optionalChain([required, 'optionalAccess', _1180 => _1180.toolExplanation]),
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', _1183 => _1183.onEscalatedApprovalResult, 'optionalCall', _1184 => _1184(requestId, approved, {
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', _1185 => _1185.onApprovalResolved, 'optionalCall', _1186 => _1186(requestId, status, approvalType, resolvedByName)]);
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', _1187 => _1187.details])) {
48343
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1183 => _1183.details])) {
48354
48344
  try {
48355
- message2 = _optionalChain([JSON, 'access', _1188 => _1188.parse, 'call', _1189 => _1189(action.details), 'optionalAccess', _1190 => _1190.error, 'optionalAccess', _1191 => _1191.message]);
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', _1192 => _1192.onError, 'optionalCall', _1193 => _1193(action.error, message2)]);
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', _1194 => _1194.onSystemMessage, 'optionalCall', _1195 => _1195(action.text, { streamSeq })]);
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', _1196 => _1196.onDirectMessage, 'optionalCall', _1197 => _1197(action.text, {
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', _1198 => _1198.onUserMessage, 'optionalCall', _1199 => _1199(action.text, {
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', _1200 => _1200.onTokenUsage, 'optionalCall', _1201 => _1201(action.data)]);
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', _1202 => _1202.onDialogClosed, 'optionalCall', _1203 => _1203()]);
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', _1204 => _1204.name]) === "AbortError") throw err;
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', _1205 => _1205.name]) !== "AbortError") {
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', _1206 => _1206.enabled]), () => ( true)),
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', _1207 => _1207.name]), () => ( null)),
48531
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1208 => _1208.icon]), () => ( null)),
48532
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1209 => _1209.greeting]), () => ( null)),
48533
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1210 => _1210.enabledRagTableIds]), () => ( [])),
48534
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1211 => _1211.quickActions]), () => ( [])),
48535
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1212 => _1212.suggestedQueries]), () => ( []))
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', _1213 => _1213.name]) === "AbortError") throw err;
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', _1214 => _1214.enabled]), () => ( true))) && !!emptyStateUrl;
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', _1215 => _1215.aborted])) {
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', _1216 => _1216.removeEventListener, 'call', _1217 => _1217("abort", handleSignalAbort)]);
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', _1218 => _1218.addEventListener, 'call', _1219 => _1219("abort", handleSignalAbort, { once: true })]);
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', _1220 => _1220.signal, 'access', _1221 => _1221.aborted])) return;
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', _1222 => _1222.signal, 'access', _1223 => _1223.aborted])) return;
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', _1224 => _1224.signal]),
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', _1225 => _1225.signal])
48701
+ _optionalChain([ctrl, 'optionalAccess', _1221 => _1221.signal])
48713
48702
  );
48714
- if (_optionalChain([ctrl, 'optionalAccess', _1226 => _1226.signal, 'access', _1227 => _1227.aborted])) return;
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', _1228 => _1228.signal, 'access', _1229 => _1229.aborted])) return;
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', _1230 => _1230.email]), () => ( null));
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', _1231 => _1231.name]) === "AbortError" || ctrl.signal.aborted) {
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', _1232 => _1232.current, 'optionalCall', _1233 => _1233(messages)]);
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', _1234 => _1234.hidden]) ? { hidden: true } : {}
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', _1235 => _1235.data, 'optionalAccess', _1236 => _1236.requestId]);
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', _1237 => _1237.data, 'optionalAccess', _1238 => _1238.requestId]) === proposalId
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', _1239 => _1239.data, 'optionalAccess', _1240 => _1240.requestId]) === decision.proposalId
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', _1241 => _1241.data, 'optionalAccess', _1242 => _1242.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
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', _1243 => _1243.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49332
- const requestBody = _optionalChain([extra, 'optionalAccess', _1244 => _1244.approvalAction]) ? {
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', _1245 => _1245.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49342
- ..._optionalChain([extra, 'optionalAccess', _1246 => _1246.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
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', _1247 => _1247.body, 'optionalAccess', _1248 => _1248.getReader, 'call', _1249 => _1249()]);
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', _1250 => _1250.ref, 'optionalAccess', _1251 => _1251.id]) && _optionalChain([card, 'optionalAccess', _1252 => _1252.type])) {
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', _1253 => _1253.marker]) ? { marker: card.marker } : {},
49449
- ..._optionalChain([card, 'optionalAccess', _1254 => _1254.ref]) ? { cardRef: card.ref } : {},
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', _1255 => _1255.email])) {
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', _1256 => _1256.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
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', _1257 => _1257.current, 'access', _1258 => _1258.get, 'call', _1259 => _1259(lookupIdx), 'optionalAccess', _1260 => _1260.scrollAnchor]), () => ( void 0));
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', _1261 => _1261.metadata, 'optionalAccess', _1262 => _1262.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
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', _1263 => _1263.provider]), () => ( null)),
49849
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1264 => _1264.modelLabel]), () => ( null)),
49850
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1265 => _1265.contextWindowMaxTokens]), () => ( null)),
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', _1266 => _1266.inputTokens]), () => ( null)),
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', _1267 => _1267.outputTokens]), () => ( null)),
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', _1268 => _1268.cacheHitRatePct]), () => ( null)),
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', _1269 => _1269.breakdown]), () => ( null)),
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', _1270 => _1270.type]) === OWNER_TYPE.ADMIN && owner.user) {
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', _1271 => _1271.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
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', _1272 => _1272.user, 'optionalAccess', _1273 => _1273.image, 'optionalAccess', _1274 => _1274.imageUrl]), () => ( void 0));
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', _1275 => _1275.owner, 'optionalAccess', _1276 => _1276.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1277 => _1277.owner, 'optionalAccess', _1278 => _1278.type]) === OWNER_TYPE.ADMIN;
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', _1279 => _1279.owner, 'optionalAccess', _1280 => _1280.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
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', _1281 => _1281.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1282 => _1282.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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', _1283 => _1283.owner, 'optionalAccess', _1284 => _1284.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1285 => _1285.owner, 'optionalAccess', _1286 => _1286.type]) === OWNER_TYPE.ADMIN);
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', _1287 => _1287.set, 'call', _1288 => _1288(data.approvalRequestId, {
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', _1289 => _1289.get, 'call', _1290 => _1290(data.approvalRequestId)]);
50144
- if (_optionalChain([escalatedData, 'optionalAccess', _1291 => _1291.toolCalls]) && escalatedData.toolCalls.length > 0) {
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', _1292 => _1292.delete, 'call', _1293 => _1293(data.approvalRequestId)]);
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', _1294 => _1294.delete, 'call', _1295 => _1295(data.approvalRequestId)]);
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', _1296 => _1296.details])) {
50180
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1292 => _1292.details])) {
50192
50181
  try {
50193
- message2 = _optionalChain([JSON, 'access', _1297 => _1297.parse, 'call', _1298 => _1298(data.details), 'optionalAccess', _1299 => _1299.error, 'optionalAccess', _1300 => _1300.message]);
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', _1301 => _1301.owner, 'optionalAccess', _1302 => _1302.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1303 => _1303.owner, 'optionalAccess', _1304 => _1304.type]) === OWNER_TYPE.ADMIN;
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', _1305 => _1305.owner, 'optionalAccess', _1306 => _1306.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
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', _1307 => _1307.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1308 => _1308.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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', _1309 => _1309.owner, 'optionalAccess', _1310 => _1310.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1311 => _1311.owner, 'optionalAccess', _1312 => _1312.type]) === OWNER_TYPE.ADMIN);
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', _1313 => _1313.hidden]), () => ( false));
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', _1314 => _1314.provider]), () => ( modelProvider)), () => ( null)),
50833
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1315 => _1315.modelLabel]), () => ( modelLabel)), () => ( null)),
50834
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1316 => _1316.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1317 => _1317.contextWindowMaxTokens]))), () => ( null)),
50835
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1318 => _1318.inputTokensSize]), () => ( null)),
50836
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1319 => _1319.outputTokensSize]), () => ( null)),
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', _1320 => _1320.data, 'access', _1321 => _1321.executions, 'optionalAccess', _1322 => _1322[c.toolExecutionRequestId], 'optionalAccess', _1323 => _1323.status]) === "done"
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', _1324 => _1324.role]) === "assistant" ? trailing : null;
51153
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1325 => _1325.content, 'access', _1326 => _1326.find, 'call', _1327 => _1327((s) => s.type === "approval_batch"), 'optionalAccess', _1328 => _1328.data, 'optionalAccess', _1329 => _1329.approvalRequestId]), () => ( null)) : null;
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', _1330 => _1330.data, 'optionalAccess', _1331 => _1331.approvalRequestId]) === historyBatchId
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', _1332 => _1332.content])) ? historyTrailingAssistant.content.length : 0;
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', _1333 => _1333.has, 'call', _1334 => _1334(m.id)])) return false;
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', _1335 => _1335.timestamp, 'optionalAccess', _1336 => _1336.getTime, 'call', _1337 => _1337()]), () => ( 0))) <= historyFetchedAt;
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', _1338 => _1338.timestamp, 'optionalAccess', _1339 => _1339.getTime, 'call', _1340 => _1340()]), () => ( 0))) <= historyFetchedAt;
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', _1341 => _1341(restoreTarget.id)]);
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', _1342 => _1342.firstName, 'optionalAccess', _1343 => _1343.trim, 'call', _1344 => _1344()]) || _optionalChain([identityUser, 'optionalAccess', _1345 => _1345.name, 'optionalAccess', _1346 => _1346.split, 'call', _1347 => _1347(" "), 'access', _1348 => _1348[0], 'optionalAccess', _1349 => _1349.trim, 'call', _1350 => _1350()]) || void 0;
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', _1351 => _1351.canRename]), () => ( false)),
51838
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1352 => _1352.canArchive]), () => ( false)),
51839
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1353 => _1353.fetchArchivedDialogs]),
51840
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1354 => _1354.unarchiveDialog]),
51841
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1355 => _1355.searchQuery]),
51842
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1356 => _1356.onSearchChange])
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', _1357 => _1357.mingo, 'optionalAccess', _1358 => _1358.renameDialog]),
51847
- canArchive: !!_optionalChain([effectiveModes, 'access', _1359 => _1359.mingo, 'optionalAccess', _1360 => _1360.archiveDialog]),
51848
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1361 => _1361.mingo, 'optionalAccess', _1362 => _1362.fetchArchivedDialogs]),
51849
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1363 => _1363.mingo, 'optionalAccess', _1364 => _1364.unarchiveDialog]),
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', _1365 => _1365(next)]);
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', _1366 => _1366.title]) === "string" ? guideWelcome.title : null)));
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', _1367 => _1367()]);
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', _1368 => _1368.maxItems]), () => ( 10));
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', _1369 => _1369.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
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', _1370 => _1370.entityTypes])]);
51956
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1371 => _1371.entityTypes]);
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', _1372 => _1372.current, 'optionalAccess', _1373 => _1373.commitMention, 'call', _1374 => _1374(mentionTokenOf(key, mentionMarkerByType), {
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', _1375 => _1375.current, 'optionalAccess', _1376 => _1376.getValue, 'call', _1377 => _1377()]), () => ( ""));
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', _1378 => _1378.current, 'optionalAccess', _1379 => _1379.setValue, 'call', _1380 => _1380(next)]);
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', _1381 => _1381.current, 'optionalAccess', _1382 => _1382.removeMentionTrigger, 'call', _1383 => _1383()]);
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', _1384 => _1384.firstName]), _optionalChain([identityUser, 'optionalAccess', _1385 => _1385.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1386 => _1386.name, 'optionalAccess', _1387 => _1387.trim, 'call', _1388 => _1388()]) || void 0 : void 0;
52044
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1389 => _1389.avatarUrl, 'optionalAccess', _1390 => _1390.trim, 'call', _1391 => _1391()]) || void 0 : void 0;
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', _1392 => _1392.sources]);
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', _1393 => _1393.content]) || "";
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', _1394 => _1394.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
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', _1395 => _1395.title]))),
52393
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1396 => _1396.icon]))),
52394
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1397 => _1397.quickActions]), () => ( guideSuggestedActions)),
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-KUDLV25M.cjs.map
53500
+ //# sourceMappingURL=chunk-WDZATJTF.cjs.map