@flamingo-stack/openframe-frontend-core 0.0.231 → 0.0.232

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 (45) hide show
  1. package/dist/{chunk-USACX2O4.js → chunk-5TJUN6ON.js} +2 -2
  2. package/dist/{chunk-3C4GHSLI.js → chunk-CBFXWWS7.js} +19 -2
  3. package/dist/{chunk-3C4GHSLI.js.map → chunk-CBFXWWS7.js.map} +1 -1
  4. package/dist/{chunk-DNRO2BXS.cjs → chunk-KQJXNBIS.cjs} +10 -10
  5. package/dist/{chunk-DNRO2BXS.cjs.map → chunk-KQJXNBIS.cjs.map} +1 -1
  6. package/dist/{chunk-BVLU6HLN.cjs → chunk-LG33WCJY.cjs} +9 -9
  7. package/dist/{chunk-BVLU6HLN.cjs.map → chunk-LG33WCJY.cjs.map} +1 -1
  8. package/dist/{chunk-BAQ6SS32.js → chunk-MQHM7DZZ.js} +2 -2
  9. package/dist/{chunk-R46QCZLS.js → chunk-OYG66WRJ.js} +2 -2
  10. package/dist/{chunk-U2OLWICZ.js → chunk-UTUUCSKU.js} +2 -2
  11. package/dist/{chunk-RL6VQEFT.cjs → chunk-XZHVCPXN.cjs} +7 -7
  12. package/dist/{chunk-RL6VQEFT.cjs.map → chunk-XZHVCPXN.cjs.map} +1 -1
  13. package/dist/{chunk-NFZLQOD7.cjs → chunk-ZHGIILP7.cjs} +25 -25
  14. package/dist/{chunk-NFZLQOD7.cjs.map → chunk-ZHGIILP7.cjs.map} +1 -1
  15. package/dist/{chunk-J3F3LZZI.cjs → chunk-ZMLYGCFD.cjs} +128 -111
  16. package/dist/chunk-ZMLYGCFD.cjs.map +1 -0
  17. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
  18. package/dist/components/chat/index.cjs +2 -2
  19. package/dist/components/chat/index.js +1 -1
  20. package/dist/components/chat/types/api.types.d.ts +14 -0
  21. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  22. package/dist/components/contact/index.cjs +3 -3
  23. package/dist/components/contact/index.js +2 -2
  24. package/dist/components/features/index.cjs +2 -2
  25. package/dist/components/features/index.js +1 -1
  26. package/dist/components/index.cjs +77 -77
  27. package/dist/components/index.js +4 -4
  28. package/dist/components/navigation/index.cjs +2 -2
  29. package/dist/components/navigation/index.js +1 -1
  30. package/dist/components/onboarding-guides/index.cjs +26 -26
  31. package/dist/components/onboarding-guides/index.js +3 -3
  32. package/dist/components/tickets/index.cjs +64 -64
  33. package/dist/components/tickets/index.js +4 -4
  34. package/dist/components/ui/index.cjs +2 -2
  35. package/dist/components/ui/index.js +1 -1
  36. package/dist/index.cjs +2 -2
  37. package/dist/index.js +1 -1
  38. package/package.json +1 -1
  39. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +28 -0
  40. package/src/components/chat/types/api.types.ts +14 -0
  41. package/dist/chunk-J3F3LZZI.cjs.map +0 -1
  42. /package/dist/{chunk-USACX2O4.js.map → chunk-5TJUN6ON.js.map} +0 -0
  43. /package/dist/{chunk-BAQ6SS32.js.map → chunk-MQHM7DZZ.js.map} +0 -0
  44. /package/dist/{chunk-R46QCZLS.js.map → chunk-OYG66WRJ.js.map} +0 -0
  45. /package/dist/{chunk-U2OLWICZ.js.map → chunk-UTUUCSKU.js.map} +0 -0
@@ -39208,6 +39208,7 @@ function createMessageSegmentAccumulator(callbacks) {
39208
39208
  }
39209
39209
 
39210
39210
  // src/components/chat/hooks/use-realtime-chunk-processor.ts
39211
+ var DIRECT_MODE_ALLOWED = /* @__PURE__ */ new Set(["direct_message", "message_request", "system", "dialog_closed"]);
39211
39212
  function useRealtimeChunkProcessor(options) {
39212
39213
  const {
39213
39214
  callbacks,
@@ -39218,7 +39219,8 @@ function useRealtimeChunkProcessor(options) {
39218
39219
  // Owned by the consumer (e.g. oss-tenant chat client / openframe-frontend
39219
39220
  // tickets view). Default ON so consumers that haven't wired the flag yet
39220
39221
  // get the new batch UI; pass `false` explicitly to fall back to legacy.
39221
- batchApprovalsEnabled = true
39222
+ batchApprovalsEnabled = true,
39223
+ isDirectMode = false
39222
39224
  } = options;
39223
39225
  const accumulatorRef = _react.useRef.call(void 0,
39224
39226
  createMessageSegmentAccumulator({
@@ -39242,6 +39244,11 @@ function useRealtimeChunkProcessor(options) {
39242
39244
  }, [initialState, callbacks]);
39243
39245
  const isInStreamRef = _react.useRef.call(void 0, false);
39244
39246
  const hasEverStreamedRef = _react.useRef.call(void 0, false);
39247
+ const directModeFlagRef = _react.useRef.call(void 0, isDirectMode);
39248
+ const sawDirectMessageRef = _react.useRef.call(void 0, false);
39249
+ _react.useEffect.call(void 0, () => {
39250
+ directModeFlagRef.current = isDirectMode;
39251
+ }, [isDirectMode]);
39245
39252
  const pendingEscalatedRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
39246
39253
  const processChunk = _react.useCallback.call(void 0,
39247
39254
  (chunk) => {
@@ -39251,36 +39258,45 @@ function useRealtimeChunkProcessor(options) {
39251
39258
  const action = parseChunkToAction(chunk);
39252
39259
  if (!action) return;
39253
39260
  const accumulator = accumulatorRef.current;
39261
+ if (action.action === "direct_message") sawDirectMessageRef.current = true;
39262
+ if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
39263
+ if (isInStreamRef.current) {
39264
+ isInStreamRef.current = false;
39265
+ _optionalChain([callbacks, 'access', _917 => _917.onStreamEnd, 'optionalCall', _918 => _918()]);
39266
+ accumulator.resetSegments();
39267
+ }
39268
+ return;
39269
+ }
39254
39270
  switch (action.action) {
39255
39271
  case "message_start":
39256
39272
  isInStreamRef.current = true;
39257
39273
  hasEverStreamedRef.current = true;
39258
- _optionalChain([callbacks, 'access', _917 => _917.onStreamStart, 'optionalCall', _918 => _918()]);
39274
+ _optionalChain([callbacks, 'access', _919 => _919.onStreamStart, 'optionalCall', _920 => _920()]);
39259
39275
  accumulator.resetSegments();
39260
39276
  break;
39261
39277
  case "message_end":
39262
39278
  isInStreamRef.current = false;
39263
- _optionalChain([callbacks, 'access', _919 => _919.onStreamEnd, 'optionalCall', _920 => _920()]);
39279
+ _optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
39264
39280
  accumulator.resetSegments();
39265
39281
  break;
39266
39282
  case "metadata":
39267
- _optionalChain([callbacks, 'access', _921 => _921.onMetadata, 'optionalCall', _922 => _922(action)]);
39283
+ _optionalChain([callbacks, 'access', _923 => _923.onMetadata, 'optionalCall', _924 => _924(action)]);
39268
39284
  break;
39269
39285
  case "text": {
39270
39286
  const segments = accumulator.appendText(action.text);
39271
39287
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39272
- _optionalChain([callbacks, 'access', _923 => _923.onSegmentsUpdate, 'optionalCall', _924 => _924(segments)]);
39288
+ _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926(segments)]);
39273
39289
  } else {
39274
- _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926([{ type: "text", text: action.text }], { append: true })]);
39290
+ _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928([{ type: "text", text: action.text }], { append: true })]);
39275
39291
  }
39276
39292
  break;
39277
39293
  }
39278
39294
  case "thinking": {
39279
39295
  const segments = accumulator.appendThinking(action.text);
39280
39296
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39281
- _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928(segments)]);
39297
+ _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39282
39298
  } else {
39283
- _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930([{ type: "thinking", text: action.text }], { append: true })]);
39299
+ _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "thinking", text: action.text }], { append: true })]);
39284
39300
  }
39285
39301
  break;
39286
39302
  }
@@ -39290,7 +39306,7 @@ function useRealtimeChunkProcessor(options) {
39290
39306
  break;
39291
39307
  }
39292
39308
  const segments = accumulator.addToolExecution(action.segment);
39293
- _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932(segments)]);
39309
+ _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39294
39310
  break;
39295
39311
  }
39296
39312
  case "approval_request": {
@@ -39304,10 +39320,10 @@ function useRealtimeChunkProcessor(options) {
39304
39320
  approvalType,
39305
39321
  status
39306
39322
  );
39307
- _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39323
+ _optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936(segments)]);
39308
39324
  } else {
39309
39325
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
39310
- _optionalChain([callbacks, 'access', _935 => _935.onEscalatedApproval, 'optionalCall', _936 => _936(requestId, { command, explanation, approvalType })]);
39326
+ _optionalChain([callbacks, 'access', _937 => _937.onEscalatedApproval, 'optionalCall', _938 => _938(requestId, { command, explanation, approvalType })]);
39311
39327
  }
39312
39328
  break;
39313
39329
  }
@@ -39319,20 +39335,20 @@ function useRealtimeChunkProcessor(options) {
39319
39335
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
39320
39336
  pendingEscalatedRef.current.set(requestId, {
39321
39337
  command: summary,
39322
- explanation: _optionalChain([required, 'optionalAccess', _937 => _937.toolExplanation]),
39338
+ explanation: _optionalChain([required, 'optionalAccess', _939 => _939.toolExplanation]),
39323
39339
  approvalType,
39324
39340
  toolCalls
39325
39341
  });
39326
- _optionalChain([callbacks, 'access', _938 => _938.onEscalatedApproval, 'optionalCall', _939 => _939(requestId, {
39342
+ _optionalChain([callbacks, 'access', _940 => _940.onEscalatedApproval, 'optionalCall', _941 => _941(requestId, {
39327
39343
  command: summary,
39328
- explanation: _optionalChain([required, 'optionalAccess', _940 => _940.toolExplanation]),
39344
+ explanation: _optionalChain([required, 'optionalAccess', _942 => _942.toolExplanation]),
39329
39345
  approvalType
39330
39346
  })]);
39331
39347
  break;
39332
39348
  }
39333
39349
  if (batchApprovalsEnabled) {
39334
39350
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
39335
- _optionalChain([callbacks, 'access', _941 => _941.onSegmentsUpdate, 'optionalCall', _942 => _942(segments2)]);
39351
+ _optionalChain([callbacks, 'access', _943 => _943.onSegmentsUpdate, 'optionalCall', _944 => _944(segments2)]);
39336
39352
  break;
39337
39353
  }
39338
39354
  let segments = accumulator.getSegments();
@@ -39346,7 +39362,7 @@ function useRealtimeChunkProcessor(options) {
39346
39362
  status
39347
39363
  );
39348
39364
  }
39349
- _optionalChain([callbacks, 'access', _943 => _943.onSegmentsUpdate, 'optionalCall', _944 => _944(segments)]);
39365
+ _optionalChain([callbacks, 'access', _945 => _945.onSegmentsUpdate, 'optionalCall', _946 => _946(segments)]);
39350
39366
  break;
39351
39367
  }
39352
39368
  case "approval_result": {
@@ -39355,7 +39371,7 @@ function useRealtimeChunkProcessor(options) {
39355
39371
  const status = approved ? "approved" : "rejected";
39356
39372
  if (escalatedData) {
39357
39373
  pendingEscalatedRef.current.delete(requestId);
39358
- _optionalChain([callbacks, 'access', _945 => _945.onEscalatedApprovalResult, 'optionalCall', _946 => _946(requestId, approved, {
39374
+ _optionalChain([callbacks, 'access', _947 => _947.onEscalatedApprovalResult, 'optionalCall', _948 => _948(requestId, approved, {
39359
39375
  command: escalatedData.command,
39360
39376
  explanation: escalatedData.explanation,
39361
39377
  approvalType: escalatedData.approvalType
@@ -39368,7 +39384,7 @@ function useRealtimeChunkProcessor(options) {
39368
39384
  escalatedData.toolCalls,
39369
39385
  status
39370
39386
  );
39371
- _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments)]);
39387
+ _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39372
39388
  } else {
39373
39389
  let segments = accumulator.getSegments();
39374
39390
  for (const call of escalatedData.toolCalls) {
@@ -39381,7 +39397,7 @@ function useRealtimeChunkProcessor(options) {
39381
39397
  status
39382
39398
  );
39383
39399
  }
39384
- _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39400
+ _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(segments)]);
39385
39401
  }
39386
39402
  } else {
39387
39403
  const segments = accumulator.addApprovalRequest(
@@ -39391,65 +39407,65 @@ function useRealtimeChunkProcessor(options) {
39391
39407
  escalatedData.approvalType,
39392
39408
  status
39393
39409
  );
39394
- _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(segments)]);
39410
+ _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
39395
39411
  }
39396
39412
  } else {
39397
39413
  accumulator.updateApprovalStatus(requestId, status);
39398
39414
  if (!callbacks.onApprovalResolved) {
39399
- _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(accumulator.getSegments())]);
39415
+ _optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(accumulator.getSegments())]);
39400
39416
  }
39401
39417
  }
39402
- _optionalChain([callbacks, 'access', _955 => _955.onApprovalResolved, 'optionalCall', _956 => _956(requestId, status, approvalType)]);
39418
+ _optionalChain([callbacks, 'access', _957 => _957.onApprovalResolved, 'optionalCall', _958 => _958(requestId, status, approvalType)]);
39403
39419
  break;
39404
39420
  }
39405
39421
  case "error": {
39406
39422
  let message2;
39407
- if ("details" in action && _optionalChain([action, 'optionalAccess', _957 => _957.details])) {
39423
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _959 => _959.details])) {
39408
39424
  try {
39409
- message2 = _optionalChain([JSON, 'access', _958 => _958.parse, 'call', _959 => _959(action.details), 'optionalAccess', _960 => _960.error, 'optionalAccess', _961 => _961.message]);
39425
+ message2 = _optionalChain([JSON, 'access', _960 => _960.parse, 'call', _961 => _961(action.details), 'optionalAccess', _962 => _962.error, 'optionalAccess', _963 => _963.message]);
39410
39426
  } catch (e43) {
39411
39427
  message2 = action.details;
39412
39428
  }
39413
39429
  }
39414
39430
  const segments = accumulator.addError(action.error, message2);
39415
- _optionalChain([callbacks, 'access', _962 => _962.onSegmentsUpdate, 'optionalCall', _963 => _963(segments)]);
39416
- _optionalChain([callbacks, 'access', _964 => _964.onError, 'optionalCall', _965 => _965(action.error, message2)]);
39431
+ _optionalChain([callbacks, 'access', _964 => _964.onSegmentsUpdate, 'optionalCall', _965 => _965(segments)]);
39432
+ _optionalChain([callbacks, 'access', _966 => _966.onError, 'optionalCall', _967 => _967(action.error, message2)]);
39417
39433
  break;
39418
39434
  }
39419
39435
  case "system": {
39420
- _optionalChain([callbacks, 'access', _966 => _966.onSystemMessage, 'optionalCall', _967 => _967(action.text)]);
39436
+ _optionalChain([callbacks, 'access', _968 => _968.onSystemMessage, 'optionalCall', _969 => _969(action.text)]);
39421
39437
  break;
39422
39438
  }
39423
39439
  case "direct_message": {
39424
- _optionalChain([callbacks, 'access', _968 => _968.onDirectMessage, 'optionalCall', _969 => _969(action.text, {
39440
+ _optionalChain([callbacks, 'access', _970 => _970.onDirectMessage, 'optionalCall', _971 => _971(action.text, {
39425
39441
  ownerType: action.ownerType,
39426
39442
  displayName: action.displayName
39427
39443
  })]);
39428
39444
  break;
39429
39445
  }
39430
39446
  case "message_request":
39431
- _optionalChain([callbacks, 'access', _970 => _970.onUserMessage, 'optionalCall', _971 => _971(action.text, {
39447
+ _optionalChain([callbacks, 'access', _972 => _972.onUserMessage, 'optionalCall', _973 => _973(action.text, {
39432
39448
  ownerType: action.ownerType,
39433
39449
  displayName: action.displayName
39434
39450
  })]);
39435
39451
  break;
39436
39452
  case "token_usage":
39437
- _optionalChain([callbacks, 'access', _972 => _972.onTokenUsage, 'optionalCall', _973 => _973(action.data)]);
39453
+ _optionalChain([callbacks, 'access', _974 => _974.onTokenUsage, 'optionalCall', _975 => _975(action.data)]);
39438
39454
  break;
39439
39455
  case "context_compaction_start": {
39440
39456
  const standalone = !isInStreamRef.current;
39441
39457
  const segments = accumulator.addContextCompaction();
39442
- _optionalChain([callbacks, 'access', _974 => _974.onSegmentsUpdate, 'optionalCall', _975 => _975(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39458
+ _optionalChain([callbacks, 'access', _976 => _976.onSegmentsUpdate, 'optionalCall', _977 => _977(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39443
39459
  break;
39444
39460
  }
39445
39461
  case "context_compaction_end": {
39446
39462
  const standalone = !isInStreamRef.current;
39447
39463
  const segments = accumulator.completeContextCompaction(action.summary);
39448
- _optionalChain([callbacks, 'access', _976 => _976.onSegmentsUpdate, 'optionalCall', _977 => _977(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39464
+ _optionalChain([callbacks, 'access', _978 => _978.onSegmentsUpdate, 'optionalCall', _979 => _979(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39449
39465
  break;
39450
39466
  }
39451
39467
  case "dialog_closed":
39452
- _optionalChain([callbacks, 'access', _978 => _978.onDialogClosed, 'optionalCall', _979 => _979()]);
39468
+ _optionalChain([callbacks, 'access', _980 => _980.onDialogClosed, 'optionalCall', _981 => _981()]);
39453
39469
  break;
39454
39470
  default:
39455
39471
  break;
@@ -39464,6 +39480,7 @@ function useRealtimeChunkProcessor(options) {
39464
39480
  accumulatorRef.current.reset();
39465
39481
  pendingEscalatedRef.current.clear();
39466
39482
  hasInitializedWithData.current = false;
39483
+ sawDirectMessageRef.current = false;
39467
39484
  }, []);
39468
39485
  const updateApprovalStatus = _react.useCallback.call(void 0,
39469
39486
  (requestId, status) => {
@@ -39510,7 +39527,7 @@ function useSlashCommands(prefix, commandsUrl) {
39510
39527
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
39511
39528
  if (!cancelled) setCommands(next);
39512
39529
  } catch (err) {
39513
- if (!cancelled && _optionalChain([err, 'optionalAccess', _980 => _980.name]) !== "AbortError") {
39530
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _982 => _982.name]) !== "AbortError") {
39514
39531
  console.warn("[use-slash-commands] fetch failed:", err);
39515
39532
  }
39516
39533
  } finally {
@@ -39529,7 +39546,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
39529
39546
  const query = _reactquery.useQuery.call(void 0, {
39530
39547
  queryKey: ["chat-slash-commands", commandsUrl],
39531
39548
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
39532
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _981 => _981.enabled]), () => ( true)),
39549
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _983 => _983.enabled]), () => ( true)),
39533
39550
  staleTime: Infinity,
39534
39551
  gcTime: Infinity
39535
39552
  });
@@ -39550,7 +39567,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
39550
39567
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
39551
39568
  function uploadWithProgress(url, file, token, onProgress, signal) {
39552
39569
  return new Promise((resolve, reject) => {
39553
- if (_optionalChain([signal, 'optionalAccess', _982 => _982.aborted])) {
39570
+ if (_optionalChain([signal, 'optionalAccess', _984 => _984.aborted])) {
39554
39571
  reject(new Error("Upload cancelled"));
39555
39572
  return;
39556
39573
  }
@@ -39564,7 +39581,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39564
39581
  xhr.removeEventListener("error", handleError);
39565
39582
  xhr.removeEventListener("abort", handleAbort);
39566
39583
  xhr.removeEventListener("timeout", handleTimeout);
39567
- _optionalChain([signal, 'optionalAccess', _983 => _983.removeEventListener, 'call', _984 => _984("abort", handleSignalAbort)]);
39584
+ _optionalChain([signal, 'optionalAccess', _985 => _985.removeEventListener, 'call', _986 => _986("abort", handleSignalAbort)]);
39568
39585
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
39569
39586
  };
39570
39587
  const handleProgress = (event) => {
@@ -39600,7 +39617,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39600
39617
  const handleSignalAbort = () => {
39601
39618
  xhr.abort();
39602
39619
  };
39603
- _optionalChain([signal, 'optionalAccess', _985 => _985.addEventListener, 'call', _986 => _986("abort", handleSignalAbort, { once: true })]);
39620
+ _optionalChain([signal, 'optionalAccess', _987 => _987.addEventListener, 'call', _988 => _988("abort", handleSignalAbort, { once: true })]);
39604
39621
  xhr.upload.addEventListener("progress", handleProgress);
39605
39622
  xhr.addEventListener("load", handleLoad);
39606
39623
  xhr.addEventListener("error", handleError);
@@ -39644,12 +39661,12 @@ function useChatAttachments() {
39644
39661
  try {
39645
39662
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
39646
39663
  } catch (err) {
39647
- if (_optionalChain([ctrl, 'optionalAccess', _987 => _987.signal, 'access', _988 => _988.aborted])) return;
39664
+ if (_optionalChain([ctrl, 'optionalAccess', _989 => _989.signal, 'access', _990 => _990.aborted])) return;
39648
39665
  throw new Error(
39649
39666
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
39650
39667
  );
39651
39668
  }
39652
- if (_optionalChain([ctrl, 'optionalAccess', _989 => _989.signal, 'access', _990 => _990.aborted])) return;
39669
+ if (_optionalChain([ctrl, 'optionalAccess', _991 => _991.signal, 'access', _992 => _992.aborted])) return;
39653
39670
  if (!sniffed) {
39654
39671
  throw new Error("Unrecognized file format");
39655
39672
  }
@@ -39663,7 +39680,7 @@ function useChatAttachments() {
39663
39680
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
39664
39681
  method: "POST",
39665
39682
  headers: { "Content-Type": "application/json" },
39666
- signal: _optionalChain([ctrl, 'optionalAccess', _991 => _991.signal]),
39683
+ signal: _optionalChain([ctrl, 'optionalAccess', _993 => _993.signal]),
39667
39684
  body: JSON.stringify({
39668
39685
  fileName: att.file.name,
39669
39686
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -39689,9 +39706,9 @@ function useChatAttachments() {
39689
39706
  (pct) => {
39690
39707
  updateOne(att.id, { progress: pct });
39691
39708
  },
39692
- _optionalChain([ctrl, 'optionalAccess', _992 => _992.signal])
39709
+ _optionalChain([ctrl, 'optionalAccess', _994 => _994.signal])
39693
39710
  );
39694
- if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39711
+ if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39695
39712
  updateOne(att.id, {
39696
39713
  status: "ready",
39697
39714
  progress: 100,
@@ -39699,7 +39716,7 @@ function useChatAttachments() {
39699
39716
  viewToken: mintData.viewToken
39700
39717
  });
39701
39718
  } catch (err) {
39702
- if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39719
+ if (_optionalChain([ctrl, 'optionalAccess', _997 => _997.signal, 'access', _998 => _998.aborted])) return;
39703
39720
  const message2 = err instanceof Error ? err.message : String(err);
39704
39721
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
39705
39722
  } finally {
@@ -39850,7 +39867,7 @@ var ANON_DEFAULTS = {
39850
39867
  function useResolveChatIdentity(enabled) {
39851
39868
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
39852
39869
  const url = runtime.endpoints.identityUrl;
39853
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _997 => _997(), 'optionalAccess', _998 => _998.email]), () => ( null));
39870
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _999 => _999(), 'optionalAccess', _1000 => _1000.email]), () => ( null));
39854
39871
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
39855
39872
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
39856
39873
  _react.useEffect.call(void 0, () => {
@@ -39938,7 +39955,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
39938
39955
  yield chunk;
39939
39956
  }
39940
39957
  } catch (err) {
39941
- if (_optionalChain([err, 'optionalAccess', _999 => _999.name]) === "AbortError" || ctrl.signal.aborted) {
39958
+ if (_optionalChain([err, 'optionalAccess', _1001 => _1001.name]) === "AbortError" || ctrl.signal.aborted) {
39942
39959
  return;
39943
39960
  }
39944
39961
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -39989,7 +40006,7 @@ function useChat({
39989
40006
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
39990
40007
  onMessagesChangeRef.current = onMessagesChange;
39991
40008
  _react.useEffect.call(void 0, () => {
39992
- _optionalChain([onMessagesChangeRef, 'access', _1000 => _1000.current, 'optionalCall', _1001 => _1001(messages)]);
40009
+ _optionalChain([onMessagesChangeRef, 'access', _1002 => _1002.current, 'optionalCall', _1003 => _1003(messages)]);
39993
40010
  }, [messages]);
39994
40011
  const {
39995
40012
  streamMessage,
@@ -40026,7 +40043,7 @@ function useChat({
40026
40043
  name: "You",
40027
40044
  content: text,
40028
40045
  timestamp: /* @__PURE__ */ new Date(),
40029
- ..._optionalChain([options, 'optionalAccess', _1002 => _1002.hidden]) ? { hidden: true } : {}
40046
+ ..._optionalChain([options, 'optionalAccess', _1004 => _1004.hidden]) ? { hidden: true } : {}
40030
40047
  };
40031
40048
  addMessage(userMessage);
40032
40049
  setIsTyping(true);
@@ -40088,7 +40105,7 @@ function useChat({
40088
40105
  currentTextSegment = "";
40089
40106
  }
40090
40107
  const seg = segment;
40091
- const proposalId = _optionalChain([seg, 'access', _1003 => _1003.data, 'optionalAccess', _1004 => _1004.requestId]);
40108
+ const proposalId = _optionalChain([seg, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]);
40092
40109
  const updateApprovalMessage = (transform) => {
40093
40110
  setMessages((prev) => {
40094
40111
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -40097,7 +40114,7 @@ function useChat({
40097
40114
  if (!Array.isArray(m.content)) continue;
40098
40115
  const segments = m.content;
40099
40116
  const hasMatch = segments.some(
40100
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]) === proposalId
40117
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === proposalId
40101
40118
  );
40102
40119
  if (!hasMatch) continue;
40103
40120
  const next = [...prev];
@@ -40139,11 +40156,11 @@ function useChat({
40139
40156
  if (!Array.isArray(m.content)) continue;
40140
40157
  const segments = m.content;
40141
40158
  const hasMatch = segments.some(
40142
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === decision.proposalId
40159
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]) === decision.proposalId
40143
40160
  );
40144
40161
  if (!hasMatch) continue;
40145
40162
  const flipped = segments.map(
40146
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40163
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40147
40164
  );
40148
40165
  const next = [...prev];
40149
40166
  next[i] = { ...m, content: flipped };
@@ -40305,8 +40322,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40305
40322
  })),
40306
40323
  { role: "user", content: message2 }
40307
40324
  ];
40308
- const targetPath = _optionalChain([extra, 'optionalAccess', _1011 => _1011.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40309
- const requestBody = _optionalChain([extra, 'optionalAccess', _1012 => _1012.approvalAction]) ? {
40325
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1013 => _1013.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40326
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1014 => _1014.approvalAction]) ? {
40310
40327
  proposal_id: extra.approvalAction.proposalId,
40311
40328
  action: extra.approvalAction.action,
40312
40329
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -40315,8 +40332,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40315
40332
  }))
40316
40333
  } : {
40317
40334
  messages: apiMessages,
40318
- ..._optionalChain([extra, 'optionalAccess', _1013 => _1013.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40319
- ..._optionalChain([extra, 'optionalAccess', _1014 => _1014.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40335
+ ..._optionalChain([extra, 'optionalAccess', _1015 => _1015.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40336
+ ..._optionalChain([extra, 'optionalAccess', _1016 => _1016.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40320
40337
  };
40321
40338
  const response = await embedAuthedFetch(targetPath, {
40322
40339
  method: "POST",
@@ -40326,7 +40343,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40326
40343
  if (!response.ok) {
40327
40344
  throw new Error(`Chat request failed: ${response.status}`);
40328
40345
  }
40329
- const reader = _optionalChain([response, 'access', _1015 => _1015.body, 'optionalAccess', _1016 => _1016.getReader, 'call', _1017 => _1017()]);
40346
+ const reader = _optionalChain([response, 'access', _1017 => _1017.body, 'optionalAccess', _1018 => _1018.getReader, 'call', _1019 => _1019()]);
40330
40347
  if (!reader) throw new Error("No response body");
40331
40348
  const decoder = new TextDecoder();
40332
40349
  let buffer = "";
@@ -40409,7 +40426,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40409
40426
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
40410
40427
  const result = _nullishCoalesce(meta.result, () => ( null));
40411
40428
  const card = _nullishCoalesce(meta.card, () => ( null));
40412
- if (_optionalChain([card, 'optionalAccess', _1018 => _1018.ref, 'optionalAccess', _1019 => _1019.id]) && _optionalChain([card, 'optionalAccess', _1020 => _1020.type])) {
40429
+ if (_optionalChain([card, 'optionalAccess', _1020 => _1020.ref, 'optionalAccess', _1021 => _1021.id]) && _optionalChain([card, 'optionalAccess', _1022 => _1022.type])) {
40413
40430
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
40414
40431
  const key = buildChatRefKey(card.type, card.ref.id);
40415
40432
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -40422,8 +40439,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40422
40439
  willAutoContinue: meta.willAutoContinue === true,
40423
40440
  ...toolName ? { toolName } : {},
40424
40441
  ...result ? { result } : {},
40425
- ..._optionalChain([card, 'optionalAccess', _1021 => _1021.marker]) ? { marker: card.marker } : {},
40426
- ..._optionalChain([card, 'optionalAccess', _1022 => _1022.ref]) ? { cardRef: card.ref } : {},
40442
+ ..._optionalChain([card, 'optionalAccess', _1023 => _1023.marker]) ? { marker: card.marker } : {},
40443
+ ..._optionalChain([card, 'optionalAccess', _1024 => _1024.ref]) ? { cardRef: card.ref } : {},
40427
40444
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
40428
40445
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
40429
40446
  };
@@ -40542,7 +40559,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
40542
40559
  var chatStorageKey = (source) => {
40543
40560
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
40544
40561
  const auth = getEmbedProxyAuth();
40545
- if (_optionalChain([auth, 'optionalAccess', _1023 => _1023.email])) {
40562
+ if (_optionalChain([auth, 'optionalAccess', _1025 => _1025.email])) {
40546
40563
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
40547
40564
  }
40548
40565
  return base;
@@ -40597,7 +40614,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40597
40614
  const { active = true } = runtimeOptions;
40598
40615
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
40599
40616
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
40600
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1024 => _1024.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40617
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1026 => _1026.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40601
40618
  const persistedRef = _react.useRef.call(void 0, null);
40602
40619
  if (persistedRef.current === null) {
40603
40620
  pruneStaleChatStorage(source);
@@ -40702,7 +40719,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40702
40719
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
40703
40720
  sources = sourcesMapRef.current.get(lookupIdx);
40704
40721
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
40705
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1025 => _1025.current, 'access', _1026 => _1026.get, 'call', _1027 => _1027(lookupIdx), 'optionalAccess', _1028 => _1028.scrollAnchor]), () => ( void 0));
40722
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1027 => _1027.current, 'access', _1028 => _1028.get, 'call', _1029 => _1029(lookupIdx), 'optionalAccess', _1030 => _1030.scrollAnchor]), () => ( void 0));
40706
40723
  }
40707
40724
  return {
40708
40725
  id: m.id,
@@ -40750,7 +40767,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40750
40767
  );
40751
40768
  return;
40752
40769
  }
40753
- const refSlug = typeof _optionalChain([reference, 'access', _1029 => _1029.metadata, 'optionalAccess', _1030 => _1030.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40770
+ const refSlug = typeof _optionalChain([reference, 'access', _1031 => _1031.metadata, 'optionalAccess', _1032 => _1032.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40754
40771
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
40755
40772
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
40756
40773
  const text = `/${cmdId} display "${escaped}"`;
@@ -40822,18 +40839,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40822
40839
  clearMessages,
40823
40840
  streamingPhase,
40824
40841
  /** Provider key for the lib's `<ModelDisplay>` icon. */
40825
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1031 => _1031.provider]), () => ( null)),
40826
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1032 => _1032.modelLabel]), () => ( null)),
40827
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.contextWindowMaxTokens]), () => ( null)),
40842
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.provider]), () => ( null)),
40843
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.modelLabel]), () => ( null)),
40844
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.contextWindowMaxTokens]), () => ( null)),
40828
40845
  /** Input tokens (known after server's message_start frame; null until). */
40829
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.inputTokens]), () => ( null)),
40846
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1036 => _1036.inputTokens]), () => ( null)),
40830
40847
  /** Output tokens (known only after server's trailing usage frame). */
40831
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.outputTokens]), () => ( null)),
40848
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.outputTokens]), () => ( null)),
40832
40849
  /** Cache hit % (read / total-input × 100). null during streaming. */
40833
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1036 => _1036.cacheHitRatePct]), () => ( null)),
40850
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.cacheHitRatePct]), () => ( null)),
40834
40851
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
40835
40852
  * token counts). null until the trailing usage frame lands. */
40836
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.breakdown]), () => ( null)),
40853
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.breakdown]), () => ( null)),
40837
40854
  // ─── Dialog management — stubs for v1 ────────────────────────────────
40838
40855
  // Guide mode currently keeps its history in `localStorage` opaquely
40839
40856
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -40891,15 +40908,15 @@ var noopRejectRequest = async (_id, _reason) => {
40891
40908
 
40892
40909
  // src/components/chat/utils/process-historical-messages.ts
40893
40910
  function getOwnerDisplayName(owner) {
40894
- if (_optionalChain([owner, 'optionalAccess', _1038 => _1038.type]) === OWNER_TYPE.ADMIN && owner.user) {
40911
+ if (_optionalChain([owner, 'optionalAccess', _1040 => _1040.type]) === OWNER_TYPE.ADMIN && owner.user) {
40895
40912
  const { firstName, lastName } = owner.user;
40896
40913
  const name = [firstName, lastName].filter(Boolean).join(" ");
40897
40914
  if (name) return name;
40898
40915
  }
40899
- return _optionalChain([owner, 'optionalAccess', _1039 => _1039.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40916
+ return _optionalChain([owner, 'optionalAccess', _1041 => _1041.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40900
40917
  }
40901
40918
  function getOwnerAvatar(owner) {
40902
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1040 => _1040.user, 'optionalAccess', _1041 => _1041.image, 'optionalAccess', _1042 => _1042.imageUrl]), () => ( void 0));
40919
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1042 => _1042.user, 'optionalAccess', _1043 => _1043.image, 'optionalAccess', _1044 => _1044.imageUrl]), () => ( void 0));
40903
40920
  }
40904
40921
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
40905
40922
  messageDataArray.forEach((data) => {
@@ -40962,10 +40979,10 @@ function processHistoricalMessages(messages, options = {}) {
40962
40979
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
40963
40980
  return;
40964
40981
  }
40965
- const isUserMessage = _optionalChain([msg, 'access', _1043 => _1043.owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1045 => _1045.owner, 'optionalAccess', _1046 => _1046.type]) === OWNER_TYPE.ADMIN;
40982
+ const isUserMessage = _optionalChain([msg, 'access', _1045 => _1045.owner, 'optionalAccess', _1046 => _1046.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1047 => _1047.owner, 'optionalAccess', _1048 => _1048.type]) === OWNER_TYPE.ADMIN;
40966
40983
  if (isUserMessage) {
40967
40984
  flushAssistantMessage();
40968
- const userAuthorType = _optionalChain([msg, 'access', _1047 => _1047.owner, 'optionalAccess', _1048 => _1048.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
40985
+ const userAuthorType = _optionalChain([msg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
40969
40986
  messageDataArray.forEach((data) => {
40970
40987
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
40971
40988
  processedMessages.push({
@@ -40990,7 +41007,7 @@ function processHistoricalMessages(messages, options = {}) {
40990
41007
  });
40991
41008
  const nextMsg = messages[index + 1];
40992
41009
  const isLastMessage = index === messages.length - 1;
40993
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1051 => _1051.owner, 'optionalAccess', _1052 => _1052.type]) === OWNER_TYPE.ADMIN);
41010
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1051 => _1051.owner, 'optionalAccess', _1052 => _1052.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1053 => _1053.owner, 'optionalAccess', _1054 => _1054.type]) === OWNER_TYPE.ADMIN);
40994
41011
  if (isLastMessage || nextIsFromUser) {
40995
41012
  flushAssistantMessage();
40996
41013
  }
@@ -41100,7 +41117,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41100
41117
  }
41101
41118
  }
41102
41119
  } else {
41103
- _optionalChain([escalatedApprovals, 'optionalAccess', _1053 => _1053.set, 'call', _1054 => _1054(data.approvalRequestId, {
41120
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1055 => _1055.set, 'call', _1056 => _1056(data.approvalRequestId, {
41104
41121
  command: data.command || "",
41105
41122
  explanation: data.explanation,
41106
41123
  approvalType,
@@ -41113,8 +41130,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41113
41130
  if ("approvalRequestId" in data && data.approvalRequestId) {
41114
41131
  const existingStatus = approvalStatuses[data.approvalRequestId];
41115
41132
  const status = existingStatus || (data.approved ? "approved" : "rejected");
41116
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1055 => _1055.get, 'call', _1056 => _1056(data.approvalRequestId)]);
41117
- if (_optionalChain([escalatedData, 'optionalAccess', _1057 => _1057.toolCalls]) && escalatedData.toolCalls.length > 0) {
41133
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1057 => _1057.get, 'call', _1058 => _1058(data.approvalRequestId)]);
41134
+ if (_optionalChain([escalatedData, 'optionalAccess', _1059 => _1059.toolCalls]) && escalatedData.toolCalls.length > 0) {
41118
41135
  if (batchApprovalsEnabled) {
41119
41136
  accumulator.addApprovalBatch(
41120
41137
  data.approvalRequestId,
@@ -41134,7 +41151,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41134
41151
  );
41135
41152
  }
41136
41153
  }
41137
- _optionalChain([escalatedApprovals, 'optionalAccess', _1058 => _1058.delete, 'call', _1059 => _1059(data.approvalRequestId)]);
41154
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1060 => _1060.delete, 'call', _1061 => _1061(data.approvalRequestId)]);
41138
41155
  break;
41139
41156
  }
41140
41157
  if (escalatedData) {
@@ -41143,7 +41160,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41143
41160
  explanation: escalatedData.explanation,
41144
41161
  approvalType: escalatedData.approvalType
41145
41162
  });
41146
- _optionalChain([escalatedApprovals, 'optionalAccess', _1060 => _1060.delete, 'call', _1061 => _1061(data.approvalRequestId)]);
41163
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1062 => _1062.delete, 'call', _1063 => _1063(data.approvalRequestId)]);
41147
41164
  }
41148
41165
  const before = accumulator.getSegments();
41149
41166
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -41159,9 +41176,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41159
41176
  case MESSAGE_TYPE.ERROR:
41160
41177
  if ("error" in data) {
41161
41178
  let message2;
41162
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1062 => _1062.details])) {
41179
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1064 => _1064.details])) {
41163
41180
  try {
41164
- message2 = _optionalChain([JSON, 'access', _1063 => _1063.parse, 'call', _1064 => _1064(data.details), 'optionalAccess', _1065 => _1065.error, 'optionalAccess', _1066 => _1066.message]);
41181
+ message2 = _optionalChain([JSON, 'access', _1065 => _1065.parse, 'call', _1066 => _1066(data.details), 'optionalAccess', _1067 => _1067.error, 'optionalAccess', _1068 => _1068.message]);
41165
41182
  } catch (e50) {
41166
41183
  message2 = data.details;
41167
41184
  }
@@ -41244,10 +41261,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41244
41261
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
41245
41262
  return;
41246
41263
  }
41247
- const isUserMessage = _optionalChain([msg, 'access', _1067 => _1067.owner, 'optionalAccess', _1068 => _1068.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1069 => _1069.owner, 'optionalAccess', _1070 => _1070.type]) === OWNER_TYPE.ADMIN;
41264
+ const isUserMessage = _optionalChain([msg, 'access', _1069 => _1069.owner, 'optionalAccess', _1070 => _1070.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1071 => _1071.owner, 'optionalAccess', _1072 => _1072.type]) === OWNER_TYPE.ADMIN;
41248
41265
  if (isUserMessage) {
41249
41266
  flushAssistantMessage();
41250
- const userAuthorType = _optionalChain([msg, 'access', _1071 => _1071.owner, 'optionalAccess', _1072 => _1072.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41267
+ const userAuthorType = _optionalChain([msg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41251
41268
  messageDataArray.forEach((data) => {
41252
41269
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
41253
41270
  processedMessages.push({
@@ -41272,7 +41289,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41272
41289
  });
41273
41290
  const nextMsg = messages[index + 1];
41274
41291
  const isLastMessage = index === messages.length - 1;
41275
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1075 => _1075.owner, 'optionalAccess', _1076 => _1076.type]) === OWNER_TYPE.ADMIN);
41292
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1075 => _1075.owner, 'optionalAccess', _1076 => _1076.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1077 => _1077.owner, 'optionalAccess', _1078 => _1078.type]) === OWNER_TYPE.ADMIN);
41276
41293
  if (isLastMessage || nextIsFromUser) {
41277
41294
  flushAssistantMessage();
41278
41295
  }
@@ -41610,7 +41627,7 @@ function useNatsChatAdapter(config, options = {}) {
41610
41627
  }, [active, fetchDialogs, loadDialogsPage]);
41611
41628
  const sendMessage = _react.useCallback.call(void 0,
41612
41629
  async (text, sendOptions) => {
41613
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1077 => _1077.hidden]), () => ( false));
41630
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1079 => _1079.hidden]), () => ( false));
41614
41631
  setMessages((prev) => [
41615
41632
  ...prev,
41616
41633
  {
@@ -41774,11 +41791,11 @@ function useNatsChatAdapter(config, options = {}) {
41774
41791
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
41775
41792
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
41776
41793
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
41777
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1078 => _1078.provider]), () => ( modelProvider)), () => ( null)),
41778
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1079 => _1079.modelLabel]), () => ( modelLabel)), () => ( null)),
41779
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1080 => _1080.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1081 => _1081.contextWindowMaxTokens]))), () => ( null)),
41780
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1082 => _1082.inputTokensSize]), () => ( null)),
41781
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1083 => _1083.outputTokensSize]), () => ( null)),
41794
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1080 => _1080.provider]), () => ( modelProvider)), () => ( null)),
41795
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1081 => _1081.modelLabel]), () => ( modelLabel)), () => ( null)),
41796
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1082 => _1082.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1083 => _1083.contextWindowMaxTokens]))), () => ( null)),
41797
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1084 => _1084.inputTokensSize]), () => ( null)),
41798
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1085 => _1085.outputTokensSize]), () => ( null)),
41782
41799
  currentCacheHitRatePct: null,
41783
41800
  currentUsageBreakdown: null,
41784
41801
  // Dialog management
@@ -42026,7 +42043,7 @@ function extractIncompleteMessageState(lastMessage) {
42026
42043
  break;
42027
42044
  case "approval_batch": {
42028
42045
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
42029
- (c) => _optionalChain([segment, 'access', _1084 => _1084.data, 'access', _1085 => _1085.executions, 'optionalAccess', _1086 => _1086[c.toolExecutionRequestId], 'optionalAccess', _1087 => _1087.status]) === "done"
42046
+ (c) => _optionalChain([segment, 'access', _1086 => _1086.data, 'access', _1087 => _1087.executions, 'optionalAccess', _1088 => _1088[c.toolExecutionRequestId], 'optionalAccess', _1089 => _1089.status]) === "done"
42030
42047
  );
42031
42048
  if (segment.status !== "rejected" && !allDone) {
42032
42049
  hasIncompleteState = true;
@@ -42234,7 +42251,7 @@ function useChatDialogManager({
42234
42251
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
42235
42252
  if (restoreTarget) {
42236
42253
  try {
42237
- await _optionalChain([unarchiveDialog, 'optionalCall', _1088 => _1088(restoreTarget.id)]);
42254
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1090 => _1090(restoreTarget.id)]);
42238
42255
  } catch (err) {
42239
42256
  console.error("[useChatDialogManager] unarchive failed:", err);
42240
42257
  return;
@@ -42633,7 +42650,7 @@ function EmbeddableChatInner({
42633
42650
  }),
42634
42651
  [commandsUrl]
42635
42652
  );
42636
- const userName = _optionalChain([identityUser, 'optionalAccess', _1089 => _1089.firstName, 'optionalAccess', _1090 => _1090.trim, 'call', _1091 => _1091()]) || _optionalChain([identityUser, 'optionalAccess', _1092 => _1092.name, 'optionalAccess', _1093 => _1093.split, 'call', _1094 => _1094(" "), 'access', _1095 => _1095[0], 'optionalAccess', _1096 => _1096.trim, 'call', _1097 => _1097()]) || void 0;
42653
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1091 => _1091.firstName, 'optionalAccess', _1092 => _1092.trim, 'call', _1093 => _1093()]) || _optionalChain([identityUser, 'optionalAccess', _1094 => _1094.name, 'optionalAccess', _1095 => _1095.split, 'call', _1096 => _1096(" "), 'access', _1097 => _1097[0], 'optionalAccess', _1098 => _1098.trim, 'call', _1099 => _1099()]) || void 0;
42637
42654
  const effectiveModes = _react.useMemo.call(void 0, () => {
42638
42655
  if (modes) return modes;
42639
42656
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -42642,17 +42659,17 @@ function EmbeddableChatInner({
42642
42659
  const mingoCaps = _react.useMemo.call(void 0, () => {
42643
42660
  if (mingoState) {
42644
42661
  return {
42645
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1098 => _1098.canRename]), () => ( false)),
42646
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1099 => _1099.canArchive]), () => ( false)),
42647
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1100 => _1100.fetchArchivedDialogs]),
42648
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1101 => _1101.unarchiveDialog])
42662
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1100 => _1100.canRename]), () => ( false)),
42663
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1101 => _1101.canArchive]), () => ( false)),
42664
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1102 => _1102.fetchArchivedDialogs]),
42665
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1103 => _1103.unarchiveDialog])
42649
42666
  };
42650
42667
  }
42651
42668
  return {
42652
- canRename: !!_optionalChain([effectiveModes, 'access', _1102 => _1102.mingo, 'optionalAccess', _1103 => _1103.renameDialog]),
42653
- canArchive: !!_optionalChain([effectiveModes, 'access', _1104 => _1104.mingo, 'optionalAccess', _1105 => _1105.archiveDialog]),
42654
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1106 => _1106.mingo, 'optionalAccess', _1107 => _1107.fetchArchivedDialogs]),
42655
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.unarchiveDialog])
42669
+ canRename: !!_optionalChain([effectiveModes, 'access', _1104 => _1104.mingo, 'optionalAccess', _1105 => _1105.renameDialog]),
42670
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1106 => _1106.mingo, 'optionalAccess', _1107 => _1107.archiveDialog]),
42671
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.fetchArchivedDialogs]),
42672
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.unarchiveDialog])
42656
42673
  };
42657
42674
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
42658
42675
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -42664,7 +42681,7 @@ function EmbeddableChatInner({
42664
42681
  if (controlledActiveMode === void 0) {
42665
42682
  setUncontrolledActiveMode(next);
42666
42683
  }
42667
- _optionalChain([onActiveModeChange, 'optionalCall', _1110 => _1110(next)]);
42684
+ _optionalChain([onActiveModeChange, 'optionalCall', _1112 => _1112(next)]);
42668
42685
  },
42669
42686
  [controlledActiveMode, onActiveModeChange]
42670
42687
  );
@@ -42871,9 +42888,9 @@ function EmbeddableChatInner({
42871
42888
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
42872
42889
  const lastSources = _react.useMemo.call(void 0, () => {
42873
42890
  if (chatLoading) return void 0;
42874
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1111 => _1111.sources]);
42891
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1113 => _1113.sources]);
42875
42892
  if (!sources || sources.length === 0) return void 0;
42876
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1112 => _1112.content]) || "";
42893
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1114 => _1114.content]) || "";
42877
42894
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
42878
42895
  (m) => parseInt(m[1], 10)
42879
42896
  );
@@ -42920,7 +42937,7 @@ function EmbeddableChatInner({
42920
42937
  ChatPanelHeader,
42921
42938
  {
42922
42939
  showBack: hasConversation || guideCanReturnToMingo,
42923
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1113 => _1113.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42940
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1115 => _1115.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42924
42941
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
42925
42942
  isArchivedView: isViewingArchived,
42926
42943
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -43025,10 +43042,10 @@ function EmbeddableChatInner({
43025
43042
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
43026
43043
  ...guideWelcome,
43027
43044
  onQuickAction: (action) => {
43028
- _optionalChain([chatInputRef, 'access', _1114 => _1114.current, 'optionalAccess', _1115 => _1115.setValue, 'call', _1116 => _1116(
43045
+ _optionalChain([chatInputRef, 'access', _1116 => _1116.current, 'optionalAccess', _1117 => _1117.setValue, 'call', _1118 => _1118(
43029
43046
  _nullishCoalesce(action.prompt, () => ( action.label))
43030
43047
  )]);
43031
- _optionalChain([chatInputRef, 'access', _1117 => _1117.current, 'optionalAccess', _1118 => _1118.focus, 'call', _1119 => _1119()]);
43048
+ _optionalChain([chatInputRef, 'access', _1119 => _1119.current, 'optionalAccess', _1120 => _1120.focus, 'call', _1121 => _1121()]);
43032
43049
  },
43033
43050
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
43034
43051
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -43975,4 +43992,4 @@ function EmbeddableChatInner({
43975
43992
 
43976
43993
 
43977
43994
  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.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; 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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; 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.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.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; 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.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.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.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; 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.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; 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.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; 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.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; 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.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.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.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; 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.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; 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.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.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.scrollElementIntoView = scrollElementIntoView; exports.buildListUrl = buildListUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; 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 = XIcon; 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.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; 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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.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.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; 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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; 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.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;
43978
- //# sourceMappingURL=chunk-J3F3LZZI.cjs.map
43995
+ //# sourceMappingURL=chunk-ZMLYGCFD.cjs.map