@flamingo-stack/openframe-frontend-core 0.0.231 → 0.0.232-snapshot.20260608164341

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 (54) hide show
  1. package/dist/{chunk-BAQ6SS32.js → chunk-4ZUR4RJ7.js} +2 -2
  2. package/dist/{chunk-3C4GHSLI.js → chunk-55IS2VJD.js} +813 -771
  3. package/dist/chunk-55IS2VJD.js.map +1 -0
  4. package/dist/{chunk-J3F3LZZI.cjs → chunk-7CCNTX6H.cjs} +166 -124
  5. package/dist/chunk-7CCNTX6H.cjs.map +1 -0
  6. package/dist/{chunk-RL6VQEFT.cjs → chunk-7RR7C26P.cjs} +7 -7
  7. package/dist/{chunk-RL6VQEFT.cjs.map → chunk-7RR7C26P.cjs.map} +1 -1
  8. package/dist/{chunk-DNRO2BXS.cjs → chunk-L7AKGXCD.cjs} +10 -10
  9. package/dist/{chunk-DNRO2BXS.cjs.map → chunk-L7AKGXCD.cjs.map} +1 -1
  10. package/dist/{chunk-USACX2O4.js → chunk-N3CB52DX.js} +2 -2
  11. package/dist/{chunk-NFZLQOD7.cjs → chunk-QZFUVNYV.cjs} +25 -25
  12. package/dist/{chunk-NFZLQOD7.cjs.map → chunk-QZFUVNYV.cjs.map} +1 -1
  13. package/dist/{chunk-R46QCZLS.js → chunk-T7REIQSK.js} +2 -2
  14. package/dist/{chunk-BVLU6HLN.cjs → chunk-VENRDZ74.cjs} +9 -9
  15. package/dist/{chunk-BVLU6HLN.cjs.map → chunk-VENRDZ74.cjs.map} +1 -1
  16. package/dist/{chunk-U2OLWICZ.js → chunk-VHPEQK2V.js} +2 -2
  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/entity-tag-badges.d.ts +14 -6
  25. package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
  26. package/dist/components/features/index.cjs +2 -2
  27. package/dist/components/features/index.js +1 -1
  28. package/dist/components/index.cjs +77 -77
  29. package/dist/components/index.js +4 -4
  30. package/dist/components/navigation/index.cjs +2 -2
  31. package/dist/components/navigation/index.js +1 -1
  32. package/dist/components/onboarding-guides/index.cjs +26 -26
  33. package/dist/components/onboarding-guides/index.js +3 -3
  34. package/dist/components/tickets/index.cjs +64 -64
  35. package/dist/components/tickets/index.js +4 -4
  36. package/dist/components/ui/index.cjs +2 -2
  37. package/dist/components/ui/index.js +1 -1
  38. package/dist/components/ui/search-input.d.ts.map +1 -1
  39. package/dist/components/ui/tag.d.ts +1 -1
  40. package/dist/components/ui/tag.d.ts.map +1 -1
  41. package/dist/index.cjs +2 -2
  42. package/dist/index.js +1 -1
  43. package/package.json +1 -1
  44. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +28 -0
  45. package/src/components/chat/types/api.types.ts +14 -0
  46. package/src/components/features/entity-tag-badges.tsx +47 -16
  47. package/src/components/ui/search-input.tsx +5 -2
  48. package/src/components/ui/tag.tsx +7 -0
  49. package/dist/chunk-3C4GHSLI.js.map +0 -1
  50. package/dist/chunk-J3F3LZZI.cjs.map +0 -1
  51. /package/dist/{chunk-BAQ6SS32.js.map → chunk-4ZUR4RJ7.js.map} +0 -0
  52. /package/dist/{chunk-USACX2O4.js.map → chunk-N3CB52DX.js.map} +0 -0
  53. /package/dist/{chunk-R46QCZLS.js.map → chunk-T7REIQSK.js.map} +0 -0
  54. /package/dist/{chunk-U2OLWICZ.js.map → chunk-VHPEQK2V.js.map} +0 -0
@@ -423,6 +423,13 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
423
423
  grey: [
424
424
  "bg-[var(--ods-system-greys-soft-grey)] text-[var(--ods-system-greys-grey)]",
425
425
  "hover:bg-[var(--ods-system-greys-soft-grey-hover)] active:bg-[var(--ods-system-greys-soft-grey-action)]"
426
+ ],
427
+ // Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
428
+ // mono uppercase) so the tag-editor chips render identically to the public
429
+ // tag badges. Used for FilterChipData variant 'tag' (see search-input).
430
+ badge: [
431
+ "bg-ods-card text-ods-text-primary border border-ods-border font-mono uppercase tracking-wide",
432
+ "hover:border-ods-accent transition-colors"
426
433
  ]
427
434
  }
428
435
  },
@@ -19152,18 +19159,33 @@ function CommandBox({
19152
19159
  }
19153
19160
 
19154
19161
  // src/components/features/entity-tag-badges.tsx
19155
-
19156
- function EntityTagBadges({ tags, className }) {
19157
- if (!tags || tags.length === 0) return null;
19158
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `flex flex-wrap gap-2 w-full ${className || ""}`, children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19159
- StatusBadge,
19160
- {
19161
- text: (tag.name || "").toUpperCase(),
19162
- variant: "card",
19163
- className: "bg-ods-card border border-ods-border"
19164
- },
19165
- _nullishCoalesce(tag.tag_id, () => ( tag.id))
19166
- )) });
19162
+ var _link = require('next/link'); var _link2 = _interopRequireDefault(_link);
19163
+
19164
+ var BADGE_CLASS = "bg-ods-card border border-ods-border";
19165
+ function EntityTagBadges({ tags, basePath, max, className }) {
19166
+ const items = (tags || []).filter((t) => !!t && !!t.name);
19167
+ if (items.length === 0) return null;
19168
+ const visibleLimit = max == null ? items.length : Math.max(0, max);
19169
+ const shown = items.slice(0, visibleLimit);
19170
+ const overflow = items.length - shown.length;
19171
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex flex-wrap items-center gap-2 w-full ${className || ""}`, children: [
19172
+ shown.map((tag) => {
19173
+ const key = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(tag.tag_id, () => ( tag.id)), () => ( tag.slug)), () => ( tag.name));
19174
+ const label = (tag.name || "").toUpperCase();
19175
+ if (basePath && tag.slug) {
19176
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: "inline-flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19177
+ StatusBadge,
19178
+ {
19179
+ text: label,
19180
+ variant: "card",
19181
+ className: `${BADGE_CLASS} cursor-pointer transition-colors hover:border-ods-accent`
19182
+ }
19183
+ ) }, key);
19184
+ }
19185
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }, key);
19186
+ }),
19187
+ overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StatusBadge, { text: `+${overflow}`, variant: "card", className: `${BADGE_CLASS} text-ods-text-secondary` })
19188
+ ] });
19167
19189
  }
19168
19190
 
19169
19191
  // src/components/features/error-boundary.tsx
@@ -31082,9 +31104,12 @@ function chipVariantToTagVariant(variant) {
31082
31104
  switch (variant) {
31083
31105
  case "selected":
31084
31106
  return "primary";
31107
+ // Content tags render with the unified badge skin (ods-card + ods-border,
31108
+ // mono uppercase) — identical to the public EntityTagBadges display.
31109
+ case "tag":
31110
+ return "badge";
31085
31111
  case "category":
31086
31112
  case "subcategory":
31087
- case "tag":
31088
31113
  default:
31089
31114
  return "outline";
31090
31115
  }
@@ -39208,6 +39233,7 @@ function createMessageSegmentAccumulator(callbacks) {
39208
39233
  }
39209
39234
 
39210
39235
  // src/components/chat/hooks/use-realtime-chunk-processor.ts
39236
+ var DIRECT_MODE_ALLOWED = /* @__PURE__ */ new Set(["direct_message", "message_request", "system", "dialog_closed"]);
39211
39237
  function useRealtimeChunkProcessor(options) {
39212
39238
  const {
39213
39239
  callbacks,
@@ -39218,7 +39244,8 @@ function useRealtimeChunkProcessor(options) {
39218
39244
  // Owned by the consumer (e.g. oss-tenant chat client / openframe-frontend
39219
39245
  // tickets view). Default ON so consumers that haven't wired the flag yet
39220
39246
  // get the new batch UI; pass `false` explicitly to fall back to legacy.
39221
- batchApprovalsEnabled = true
39247
+ batchApprovalsEnabled = true,
39248
+ isDirectMode = false
39222
39249
  } = options;
39223
39250
  const accumulatorRef = _react.useRef.call(void 0,
39224
39251
  createMessageSegmentAccumulator({
@@ -39242,6 +39269,11 @@ function useRealtimeChunkProcessor(options) {
39242
39269
  }, [initialState, callbacks]);
39243
39270
  const isInStreamRef = _react.useRef.call(void 0, false);
39244
39271
  const hasEverStreamedRef = _react.useRef.call(void 0, false);
39272
+ const directModeFlagRef = _react.useRef.call(void 0, isDirectMode);
39273
+ const sawDirectMessageRef = _react.useRef.call(void 0, false);
39274
+ _react.useEffect.call(void 0, () => {
39275
+ directModeFlagRef.current = isDirectMode;
39276
+ }, [isDirectMode]);
39245
39277
  const pendingEscalatedRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
39246
39278
  const processChunk = _react.useCallback.call(void 0,
39247
39279
  (chunk) => {
@@ -39251,36 +39283,45 @@ function useRealtimeChunkProcessor(options) {
39251
39283
  const action = parseChunkToAction(chunk);
39252
39284
  if (!action) return;
39253
39285
  const accumulator = accumulatorRef.current;
39286
+ if (action.action === "direct_message") sawDirectMessageRef.current = true;
39287
+ if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
39288
+ if (isInStreamRef.current) {
39289
+ isInStreamRef.current = false;
39290
+ _optionalChain([callbacks, 'access', _917 => _917.onStreamEnd, 'optionalCall', _918 => _918()]);
39291
+ accumulator.resetSegments();
39292
+ }
39293
+ return;
39294
+ }
39254
39295
  switch (action.action) {
39255
39296
  case "message_start":
39256
39297
  isInStreamRef.current = true;
39257
39298
  hasEverStreamedRef.current = true;
39258
- _optionalChain([callbacks, 'access', _917 => _917.onStreamStart, 'optionalCall', _918 => _918()]);
39299
+ _optionalChain([callbacks, 'access', _919 => _919.onStreamStart, 'optionalCall', _920 => _920()]);
39259
39300
  accumulator.resetSegments();
39260
39301
  break;
39261
39302
  case "message_end":
39262
39303
  isInStreamRef.current = false;
39263
- _optionalChain([callbacks, 'access', _919 => _919.onStreamEnd, 'optionalCall', _920 => _920()]);
39304
+ _optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
39264
39305
  accumulator.resetSegments();
39265
39306
  break;
39266
39307
  case "metadata":
39267
- _optionalChain([callbacks, 'access', _921 => _921.onMetadata, 'optionalCall', _922 => _922(action)]);
39308
+ _optionalChain([callbacks, 'access', _923 => _923.onMetadata, 'optionalCall', _924 => _924(action)]);
39268
39309
  break;
39269
39310
  case "text": {
39270
39311
  const segments = accumulator.appendText(action.text);
39271
39312
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39272
- _optionalChain([callbacks, 'access', _923 => _923.onSegmentsUpdate, 'optionalCall', _924 => _924(segments)]);
39313
+ _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926(segments)]);
39273
39314
  } else {
39274
- _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926([{ type: "text", text: action.text }], { append: true })]);
39315
+ _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928([{ type: "text", text: action.text }], { append: true })]);
39275
39316
  }
39276
39317
  break;
39277
39318
  }
39278
39319
  case "thinking": {
39279
39320
  const segments = accumulator.appendThinking(action.text);
39280
39321
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39281
- _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928(segments)]);
39322
+ _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39282
39323
  } else {
39283
- _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930([{ type: "thinking", text: action.text }], { append: true })]);
39324
+ _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "thinking", text: action.text }], { append: true })]);
39284
39325
  }
39285
39326
  break;
39286
39327
  }
@@ -39290,7 +39331,7 @@ function useRealtimeChunkProcessor(options) {
39290
39331
  break;
39291
39332
  }
39292
39333
  const segments = accumulator.addToolExecution(action.segment);
39293
- _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932(segments)]);
39334
+ _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39294
39335
  break;
39295
39336
  }
39296
39337
  case "approval_request": {
@@ -39304,10 +39345,10 @@ function useRealtimeChunkProcessor(options) {
39304
39345
  approvalType,
39305
39346
  status
39306
39347
  );
39307
- _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39348
+ _optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936(segments)]);
39308
39349
  } else {
39309
39350
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
39310
- _optionalChain([callbacks, 'access', _935 => _935.onEscalatedApproval, 'optionalCall', _936 => _936(requestId, { command, explanation, approvalType })]);
39351
+ _optionalChain([callbacks, 'access', _937 => _937.onEscalatedApproval, 'optionalCall', _938 => _938(requestId, { command, explanation, approvalType })]);
39311
39352
  }
39312
39353
  break;
39313
39354
  }
@@ -39319,20 +39360,20 @@ function useRealtimeChunkProcessor(options) {
39319
39360
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
39320
39361
  pendingEscalatedRef.current.set(requestId, {
39321
39362
  command: summary,
39322
- explanation: _optionalChain([required, 'optionalAccess', _937 => _937.toolExplanation]),
39363
+ explanation: _optionalChain([required, 'optionalAccess', _939 => _939.toolExplanation]),
39323
39364
  approvalType,
39324
39365
  toolCalls
39325
39366
  });
39326
- _optionalChain([callbacks, 'access', _938 => _938.onEscalatedApproval, 'optionalCall', _939 => _939(requestId, {
39367
+ _optionalChain([callbacks, 'access', _940 => _940.onEscalatedApproval, 'optionalCall', _941 => _941(requestId, {
39327
39368
  command: summary,
39328
- explanation: _optionalChain([required, 'optionalAccess', _940 => _940.toolExplanation]),
39369
+ explanation: _optionalChain([required, 'optionalAccess', _942 => _942.toolExplanation]),
39329
39370
  approvalType
39330
39371
  })]);
39331
39372
  break;
39332
39373
  }
39333
39374
  if (batchApprovalsEnabled) {
39334
39375
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
39335
- _optionalChain([callbacks, 'access', _941 => _941.onSegmentsUpdate, 'optionalCall', _942 => _942(segments2)]);
39376
+ _optionalChain([callbacks, 'access', _943 => _943.onSegmentsUpdate, 'optionalCall', _944 => _944(segments2)]);
39336
39377
  break;
39337
39378
  }
39338
39379
  let segments = accumulator.getSegments();
@@ -39346,7 +39387,7 @@ function useRealtimeChunkProcessor(options) {
39346
39387
  status
39347
39388
  );
39348
39389
  }
39349
- _optionalChain([callbacks, 'access', _943 => _943.onSegmentsUpdate, 'optionalCall', _944 => _944(segments)]);
39390
+ _optionalChain([callbacks, 'access', _945 => _945.onSegmentsUpdate, 'optionalCall', _946 => _946(segments)]);
39350
39391
  break;
39351
39392
  }
39352
39393
  case "approval_result": {
@@ -39355,7 +39396,7 @@ function useRealtimeChunkProcessor(options) {
39355
39396
  const status = approved ? "approved" : "rejected";
39356
39397
  if (escalatedData) {
39357
39398
  pendingEscalatedRef.current.delete(requestId);
39358
- _optionalChain([callbacks, 'access', _945 => _945.onEscalatedApprovalResult, 'optionalCall', _946 => _946(requestId, approved, {
39399
+ _optionalChain([callbacks, 'access', _947 => _947.onEscalatedApprovalResult, 'optionalCall', _948 => _948(requestId, approved, {
39359
39400
  command: escalatedData.command,
39360
39401
  explanation: escalatedData.explanation,
39361
39402
  approvalType: escalatedData.approvalType
@@ -39368,7 +39409,7 @@ function useRealtimeChunkProcessor(options) {
39368
39409
  escalatedData.toolCalls,
39369
39410
  status
39370
39411
  );
39371
- _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments)]);
39412
+ _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39372
39413
  } else {
39373
39414
  let segments = accumulator.getSegments();
39374
39415
  for (const call of escalatedData.toolCalls) {
@@ -39381,7 +39422,7 @@ function useRealtimeChunkProcessor(options) {
39381
39422
  status
39382
39423
  );
39383
39424
  }
39384
- _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39425
+ _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(segments)]);
39385
39426
  }
39386
39427
  } else {
39387
39428
  const segments = accumulator.addApprovalRequest(
@@ -39391,65 +39432,65 @@ function useRealtimeChunkProcessor(options) {
39391
39432
  escalatedData.approvalType,
39392
39433
  status
39393
39434
  );
39394
- _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(segments)]);
39435
+ _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
39395
39436
  }
39396
39437
  } else {
39397
39438
  accumulator.updateApprovalStatus(requestId, status);
39398
39439
  if (!callbacks.onApprovalResolved) {
39399
- _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(accumulator.getSegments())]);
39440
+ _optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(accumulator.getSegments())]);
39400
39441
  }
39401
39442
  }
39402
- _optionalChain([callbacks, 'access', _955 => _955.onApprovalResolved, 'optionalCall', _956 => _956(requestId, status, approvalType)]);
39443
+ _optionalChain([callbacks, 'access', _957 => _957.onApprovalResolved, 'optionalCall', _958 => _958(requestId, status, approvalType)]);
39403
39444
  break;
39404
39445
  }
39405
39446
  case "error": {
39406
39447
  let message2;
39407
- if ("details" in action && _optionalChain([action, 'optionalAccess', _957 => _957.details])) {
39448
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _959 => _959.details])) {
39408
39449
  try {
39409
- message2 = _optionalChain([JSON, 'access', _958 => _958.parse, 'call', _959 => _959(action.details), 'optionalAccess', _960 => _960.error, 'optionalAccess', _961 => _961.message]);
39450
+ message2 = _optionalChain([JSON, 'access', _960 => _960.parse, 'call', _961 => _961(action.details), 'optionalAccess', _962 => _962.error, 'optionalAccess', _963 => _963.message]);
39410
39451
  } catch (e43) {
39411
39452
  message2 = action.details;
39412
39453
  }
39413
39454
  }
39414
39455
  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)]);
39456
+ _optionalChain([callbacks, 'access', _964 => _964.onSegmentsUpdate, 'optionalCall', _965 => _965(segments)]);
39457
+ _optionalChain([callbacks, 'access', _966 => _966.onError, 'optionalCall', _967 => _967(action.error, message2)]);
39417
39458
  break;
39418
39459
  }
39419
39460
  case "system": {
39420
- _optionalChain([callbacks, 'access', _966 => _966.onSystemMessage, 'optionalCall', _967 => _967(action.text)]);
39461
+ _optionalChain([callbacks, 'access', _968 => _968.onSystemMessage, 'optionalCall', _969 => _969(action.text)]);
39421
39462
  break;
39422
39463
  }
39423
39464
  case "direct_message": {
39424
- _optionalChain([callbacks, 'access', _968 => _968.onDirectMessage, 'optionalCall', _969 => _969(action.text, {
39465
+ _optionalChain([callbacks, 'access', _970 => _970.onDirectMessage, 'optionalCall', _971 => _971(action.text, {
39425
39466
  ownerType: action.ownerType,
39426
39467
  displayName: action.displayName
39427
39468
  })]);
39428
39469
  break;
39429
39470
  }
39430
39471
  case "message_request":
39431
- _optionalChain([callbacks, 'access', _970 => _970.onUserMessage, 'optionalCall', _971 => _971(action.text, {
39472
+ _optionalChain([callbacks, 'access', _972 => _972.onUserMessage, 'optionalCall', _973 => _973(action.text, {
39432
39473
  ownerType: action.ownerType,
39433
39474
  displayName: action.displayName
39434
39475
  })]);
39435
39476
  break;
39436
39477
  case "token_usage":
39437
- _optionalChain([callbacks, 'access', _972 => _972.onTokenUsage, 'optionalCall', _973 => _973(action.data)]);
39478
+ _optionalChain([callbacks, 'access', _974 => _974.onTokenUsage, 'optionalCall', _975 => _975(action.data)]);
39438
39479
  break;
39439
39480
  case "context_compaction_start": {
39440
39481
  const standalone = !isInStreamRef.current;
39441
39482
  const segments = accumulator.addContextCompaction();
39442
- _optionalChain([callbacks, 'access', _974 => _974.onSegmentsUpdate, 'optionalCall', _975 => _975(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39483
+ _optionalChain([callbacks, 'access', _976 => _976.onSegmentsUpdate, 'optionalCall', _977 => _977(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39443
39484
  break;
39444
39485
  }
39445
39486
  case "context_compaction_end": {
39446
39487
  const standalone = !isInStreamRef.current;
39447
39488
  const segments = accumulator.completeContextCompaction(action.summary);
39448
- _optionalChain([callbacks, 'access', _976 => _976.onSegmentsUpdate, 'optionalCall', _977 => _977(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39489
+ _optionalChain([callbacks, 'access', _978 => _978.onSegmentsUpdate, 'optionalCall', _979 => _979(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39449
39490
  break;
39450
39491
  }
39451
39492
  case "dialog_closed":
39452
- _optionalChain([callbacks, 'access', _978 => _978.onDialogClosed, 'optionalCall', _979 => _979()]);
39493
+ _optionalChain([callbacks, 'access', _980 => _980.onDialogClosed, 'optionalCall', _981 => _981()]);
39453
39494
  break;
39454
39495
  default:
39455
39496
  break;
@@ -39464,6 +39505,7 @@ function useRealtimeChunkProcessor(options) {
39464
39505
  accumulatorRef.current.reset();
39465
39506
  pendingEscalatedRef.current.clear();
39466
39507
  hasInitializedWithData.current = false;
39508
+ sawDirectMessageRef.current = false;
39467
39509
  }, []);
39468
39510
  const updateApprovalStatus = _react.useCallback.call(void 0,
39469
39511
  (requestId, status) => {
@@ -39510,7 +39552,7 @@ function useSlashCommands(prefix, commandsUrl) {
39510
39552
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
39511
39553
  if (!cancelled) setCommands(next);
39512
39554
  } catch (err) {
39513
- if (!cancelled && _optionalChain([err, 'optionalAccess', _980 => _980.name]) !== "AbortError") {
39555
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _982 => _982.name]) !== "AbortError") {
39514
39556
  console.warn("[use-slash-commands] fetch failed:", err);
39515
39557
  }
39516
39558
  } finally {
@@ -39529,7 +39571,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
39529
39571
  const query = _reactquery.useQuery.call(void 0, {
39530
39572
  queryKey: ["chat-slash-commands", commandsUrl],
39531
39573
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
39532
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _981 => _981.enabled]), () => ( true)),
39574
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _983 => _983.enabled]), () => ( true)),
39533
39575
  staleTime: Infinity,
39534
39576
  gcTime: Infinity
39535
39577
  });
@@ -39550,7 +39592,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
39550
39592
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
39551
39593
  function uploadWithProgress(url, file, token, onProgress, signal) {
39552
39594
  return new Promise((resolve, reject) => {
39553
- if (_optionalChain([signal, 'optionalAccess', _982 => _982.aborted])) {
39595
+ if (_optionalChain([signal, 'optionalAccess', _984 => _984.aborted])) {
39554
39596
  reject(new Error("Upload cancelled"));
39555
39597
  return;
39556
39598
  }
@@ -39564,7 +39606,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39564
39606
  xhr.removeEventListener("error", handleError);
39565
39607
  xhr.removeEventListener("abort", handleAbort);
39566
39608
  xhr.removeEventListener("timeout", handleTimeout);
39567
- _optionalChain([signal, 'optionalAccess', _983 => _983.removeEventListener, 'call', _984 => _984("abort", handleSignalAbort)]);
39609
+ _optionalChain([signal, 'optionalAccess', _985 => _985.removeEventListener, 'call', _986 => _986("abort", handleSignalAbort)]);
39568
39610
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
39569
39611
  };
39570
39612
  const handleProgress = (event) => {
@@ -39600,7 +39642,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39600
39642
  const handleSignalAbort = () => {
39601
39643
  xhr.abort();
39602
39644
  };
39603
- _optionalChain([signal, 'optionalAccess', _985 => _985.addEventListener, 'call', _986 => _986("abort", handleSignalAbort, { once: true })]);
39645
+ _optionalChain([signal, 'optionalAccess', _987 => _987.addEventListener, 'call', _988 => _988("abort", handleSignalAbort, { once: true })]);
39604
39646
  xhr.upload.addEventListener("progress", handleProgress);
39605
39647
  xhr.addEventListener("load", handleLoad);
39606
39648
  xhr.addEventListener("error", handleError);
@@ -39644,12 +39686,12 @@ function useChatAttachments() {
39644
39686
  try {
39645
39687
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
39646
39688
  } catch (err) {
39647
- if (_optionalChain([ctrl, 'optionalAccess', _987 => _987.signal, 'access', _988 => _988.aborted])) return;
39689
+ if (_optionalChain([ctrl, 'optionalAccess', _989 => _989.signal, 'access', _990 => _990.aborted])) return;
39648
39690
  throw new Error(
39649
39691
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
39650
39692
  );
39651
39693
  }
39652
- if (_optionalChain([ctrl, 'optionalAccess', _989 => _989.signal, 'access', _990 => _990.aborted])) return;
39694
+ if (_optionalChain([ctrl, 'optionalAccess', _991 => _991.signal, 'access', _992 => _992.aborted])) return;
39653
39695
  if (!sniffed) {
39654
39696
  throw new Error("Unrecognized file format");
39655
39697
  }
@@ -39663,7 +39705,7 @@ function useChatAttachments() {
39663
39705
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
39664
39706
  method: "POST",
39665
39707
  headers: { "Content-Type": "application/json" },
39666
- signal: _optionalChain([ctrl, 'optionalAccess', _991 => _991.signal]),
39708
+ signal: _optionalChain([ctrl, 'optionalAccess', _993 => _993.signal]),
39667
39709
  body: JSON.stringify({
39668
39710
  fileName: att.file.name,
39669
39711
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -39689,9 +39731,9 @@ function useChatAttachments() {
39689
39731
  (pct) => {
39690
39732
  updateOne(att.id, { progress: pct });
39691
39733
  },
39692
- _optionalChain([ctrl, 'optionalAccess', _992 => _992.signal])
39734
+ _optionalChain([ctrl, 'optionalAccess', _994 => _994.signal])
39693
39735
  );
39694
- if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39736
+ if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39695
39737
  updateOne(att.id, {
39696
39738
  status: "ready",
39697
39739
  progress: 100,
@@ -39699,7 +39741,7 @@ function useChatAttachments() {
39699
39741
  viewToken: mintData.viewToken
39700
39742
  });
39701
39743
  } catch (err) {
39702
- if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39744
+ if (_optionalChain([ctrl, 'optionalAccess', _997 => _997.signal, 'access', _998 => _998.aborted])) return;
39703
39745
  const message2 = err instanceof Error ? err.message : String(err);
39704
39746
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
39705
39747
  } finally {
@@ -39850,7 +39892,7 @@ var ANON_DEFAULTS = {
39850
39892
  function useResolveChatIdentity(enabled) {
39851
39893
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
39852
39894
  const url = runtime.endpoints.identityUrl;
39853
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _997 => _997(), 'optionalAccess', _998 => _998.email]), () => ( null));
39895
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _999 => _999(), 'optionalAccess', _1000 => _1000.email]), () => ( null));
39854
39896
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
39855
39897
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
39856
39898
  _react.useEffect.call(void 0, () => {
@@ -39938,7 +39980,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
39938
39980
  yield chunk;
39939
39981
  }
39940
39982
  } catch (err) {
39941
- if (_optionalChain([err, 'optionalAccess', _999 => _999.name]) === "AbortError" || ctrl.signal.aborted) {
39983
+ if (_optionalChain([err, 'optionalAccess', _1001 => _1001.name]) === "AbortError" || ctrl.signal.aborted) {
39942
39984
  return;
39943
39985
  }
39944
39986
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -39989,7 +40031,7 @@ function useChat({
39989
40031
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
39990
40032
  onMessagesChangeRef.current = onMessagesChange;
39991
40033
  _react.useEffect.call(void 0, () => {
39992
- _optionalChain([onMessagesChangeRef, 'access', _1000 => _1000.current, 'optionalCall', _1001 => _1001(messages)]);
40034
+ _optionalChain([onMessagesChangeRef, 'access', _1002 => _1002.current, 'optionalCall', _1003 => _1003(messages)]);
39993
40035
  }, [messages]);
39994
40036
  const {
39995
40037
  streamMessage,
@@ -40026,7 +40068,7 @@ function useChat({
40026
40068
  name: "You",
40027
40069
  content: text,
40028
40070
  timestamp: /* @__PURE__ */ new Date(),
40029
- ..._optionalChain([options, 'optionalAccess', _1002 => _1002.hidden]) ? { hidden: true } : {}
40071
+ ..._optionalChain([options, 'optionalAccess', _1004 => _1004.hidden]) ? { hidden: true } : {}
40030
40072
  };
40031
40073
  addMessage(userMessage);
40032
40074
  setIsTyping(true);
@@ -40088,7 +40130,7 @@ function useChat({
40088
40130
  currentTextSegment = "";
40089
40131
  }
40090
40132
  const seg = segment;
40091
- const proposalId = _optionalChain([seg, 'access', _1003 => _1003.data, 'optionalAccess', _1004 => _1004.requestId]);
40133
+ const proposalId = _optionalChain([seg, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]);
40092
40134
  const updateApprovalMessage = (transform) => {
40093
40135
  setMessages((prev) => {
40094
40136
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -40097,7 +40139,7 @@ function useChat({
40097
40139
  if (!Array.isArray(m.content)) continue;
40098
40140
  const segments = m.content;
40099
40141
  const hasMatch = segments.some(
40100
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]) === proposalId
40142
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === proposalId
40101
40143
  );
40102
40144
  if (!hasMatch) continue;
40103
40145
  const next = [...prev];
@@ -40139,11 +40181,11 @@ function useChat({
40139
40181
  if (!Array.isArray(m.content)) continue;
40140
40182
  const segments = m.content;
40141
40183
  const hasMatch = segments.some(
40142
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === decision.proposalId
40184
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]) === decision.proposalId
40143
40185
  );
40144
40186
  if (!hasMatch) continue;
40145
40187
  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
40188
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40147
40189
  );
40148
40190
  const next = [...prev];
40149
40191
  next[i] = { ...m, content: flipped };
@@ -40305,8 +40347,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40305
40347
  })),
40306
40348
  { role: "user", content: message2 }
40307
40349
  ];
40308
- const targetPath = _optionalChain([extra, 'optionalAccess', _1011 => _1011.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40309
- const requestBody = _optionalChain([extra, 'optionalAccess', _1012 => _1012.approvalAction]) ? {
40350
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1013 => _1013.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40351
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1014 => _1014.approvalAction]) ? {
40310
40352
  proposal_id: extra.approvalAction.proposalId,
40311
40353
  action: extra.approvalAction.action,
40312
40354
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -40315,8 +40357,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40315
40357
  }))
40316
40358
  } : {
40317
40359
  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 } : {}
40360
+ ..._optionalChain([extra, 'optionalAccess', _1015 => _1015.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40361
+ ..._optionalChain([extra, 'optionalAccess', _1016 => _1016.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40320
40362
  };
40321
40363
  const response = await embedAuthedFetch(targetPath, {
40322
40364
  method: "POST",
@@ -40326,7 +40368,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40326
40368
  if (!response.ok) {
40327
40369
  throw new Error(`Chat request failed: ${response.status}`);
40328
40370
  }
40329
- const reader = _optionalChain([response, 'access', _1015 => _1015.body, 'optionalAccess', _1016 => _1016.getReader, 'call', _1017 => _1017()]);
40371
+ const reader = _optionalChain([response, 'access', _1017 => _1017.body, 'optionalAccess', _1018 => _1018.getReader, 'call', _1019 => _1019()]);
40330
40372
  if (!reader) throw new Error("No response body");
40331
40373
  const decoder = new TextDecoder();
40332
40374
  let buffer = "";
@@ -40409,7 +40451,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40409
40451
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
40410
40452
  const result = _nullishCoalesce(meta.result, () => ( null));
40411
40453
  const card = _nullishCoalesce(meta.card, () => ( null));
40412
- if (_optionalChain([card, 'optionalAccess', _1018 => _1018.ref, 'optionalAccess', _1019 => _1019.id]) && _optionalChain([card, 'optionalAccess', _1020 => _1020.type])) {
40454
+ if (_optionalChain([card, 'optionalAccess', _1020 => _1020.ref, 'optionalAccess', _1021 => _1021.id]) && _optionalChain([card, 'optionalAccess', _1022 => _1022.type])) {
40413
40455
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
40414
40456
  const key = buildChatRefKey(card.type, card.ref.id);
40415
40457
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -40422,8 +40464,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40422
40464
  willAutoContinue: meta.willAutoContinue === true,
40423
40465
  ...toolName ? { toolName } : {},
40424
40466
  ...result ? { result } : {},
40425
- ..._optionalChain([card, 'optionalAccess', _1021 => _1021.marker]) ? { marker: card.marker } : {},
40426
- ..._optionalChain([card, 'optionalAccess', _1022 => _1022.ref]) ? { cardRef: card.ref } : {},
40467
+ ..._optionalChain([card, 'optionalAccess', _1023 => _1023.marker]) ? { marker: card.marker } : {},
40468
+ ..._optionalChain([card, 'optionalAccess', _1024 => _1024.ref]) ? { cardRef: card.ref } : {},
40427
40469
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
40428
40470
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
40429
40471
  };
@@ -40542,7 +40584,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
40542
40584
  var chatStorageKey = (source) => {
40543
40585
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
40544
40586
  const auth = getEmbedProxyAuth();
40545
- if (_optionalChain([auth, 'optionalAccess', _1023 => _1023.email])) {
40587
+ if (_optionalChain([auth, 'optionalAccess', _1025 => _1025.email])) {
40546
40588
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
40547
40589
  }
40548
40590
  return base;
@@ -40597,7 +40639,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40597
40639
  const { active = true } = runtimeOptions;
40598
40640
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
40599
40641
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
40600
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1024 => _1024.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40642
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1026 => _1026.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40601
40643
  const persistedRef = _react.useRef.call(void 0, null);
40602
40644
  if (persistedRef.current === null) {
40603
40645
  pruneStaleChatStorage(source);
@@ -40702,7 +40744,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40702
40744
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
40703
40745
  sources = sourcesMapRef.current.get(lookupIdx);
40704
40746
  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));
40747
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1027 => _1027.current, 'access', _1028 => _1028.get, 'call', _1029 => _1029(lookupIdx), 'optionalAccess', _1030 => _1030.scrollAnchor]), () => ( void 0));
40706
40748
  }
40707
40749
  return {
40708
40750
  id: m.id,
@@ -40750,7 +40792,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40750
40792
  );
40751
40793
  return;
40752
40794
  }
40753
- const refSlug = typeof _optionalChain([reference, 'access', _1029 => _1029.metadata, 'optionalAccess', _1030 => _1030.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40795
+ const refSlug = typeof _optionalChain([reference, 'access', _1031 => _1031.metadata, 'optionalAccess', _1032 => _1032.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40754
40796
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
40755
40797
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
40756
40798
  const text = `/${cmdId} display "${escaped}"`;
@@ -40822,18 +40864,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40822
40864
  clearMessages,
40823
40865
  streamingPhase,
40824
40866
  /** 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)),
40867
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.provider]), () => ( null)),
40868
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.modelLabel]), () => ( null)),
40869
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.contextWindowMaxTokens]), () => ( null)),
40828
40870
  /** Input tokens (known after server's message_start frame; null until). */
40829
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.inputTokens]), () => ( null)),
40871
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1036 => _1036.inputTokens]), () => ( null)),
40830
40872
  /** Output tokens (known only after server's trailing usage frame). */
40831
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.outputTokens]), () => ( null)),
40873
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.outputTokens]), () => ( null)),
40832
40874
  /** Cache hit % (read / total-input × 100). null during streaming. */
40833
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1036 => _1036.cacheHitRatePct]), () => ( null)),
40875
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.cacheHitRatePct]), () => ( null)),
40834
40876
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
40835
40877
  * token counts). null until the trailing usage frame lands. */
40836
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.breakdown]), () => ( null)),
40878
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.breakdown]), () => ( null)),
40837
40879
  // ─── Dialog management — stubs for v1 ────────────────────────────────
40838
40880
  // Guide mode currently keeps its history in `localStorage` opaquely
40839
40881
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -40891,15 +40933,15 @@ var noopRejectRequest = async (_id, _reason) => {
40891
40933
 
40892
40934
  // src/components/chat/utils/process-historical-messages.ts
40893
40935
  function getOwnerDisplayName(owner) {
40894
- if (_optionalChain([owner, 'optionalAccess', _1038 => _1038.type]) === OWNER_TYPE.ADMIN && owner.user) {
40936
+ if (_optionalChain([owner, 'optionalAccess', _1040 => _1040.type]) === OWNER_TYPE.ADMIN && owner.user) {
40895
40937
  const { firstName, lastName } = owner.user;
40896
40938
  const name = [firstName, lastName].filter(Boolean).join(" ");
40897
40939
  if (name) return name;
40898
40940
  }
40899
- return _optionalChain([owner, 'optionalAccess', _1039 => _1039.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40941
+ return _optionalChain([owner, 'optionalAccess', _1041 => _1041.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40900
40942
  }
40901
40943
  function getOwnerAvatar(owner) {
40902
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1040 => _1040.user, 'optionalAccess', _1041 => _1041.image, 'optionalAccess', _1042 => _1042.imageUrl]), () => ( void 0));
40944
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1042 => _1042.user, 'optionalAccess', _1043 => _1043.image, 'optionalAccess', _1044 => _1044.imageUrl]), () => ( void 0));
40903
40945
  }
40904
40946
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
40905
40947
  messageDataArray.forEach((data) => {
@@ -40962,10 +41004,10 @@ function processHistoricalMessages(messages, options = {}) {
40962
41004
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
40963
41005
  return;
40964
41006
  }
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;
41007
+ 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
41008
  if (isUserMessage) {
40967
41009
  flushAssistantMessage();
40968
- const userAuthorType = _optionalChain([msg, 'access', _1047 => _1047.owner, 'optionalAccess', _1048 => _1048.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41010
+ const userAuthorType = _optionalChain([msg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
40969
41011
  messageDataArray.forEach((data) => {
40970
41012
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
40971
41013
  processedMessages.push({
@@ -40990,7 +41032,7 @@ function processHistoricalMessages(messages, options = {}) {
40990
41032
  });
40991
41033
  const nextMsg = messages[index + 1];
40992
41034
  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);
41035
+ 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
41036
  if (isLastMessage || nextIsFromUser) {
40995
41037
  flushAssistantMessage();
40996
41038
  }
@@ -41100,7 +41142,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41100
41142
  }
41101
41143
  }
41102
41144
  } else {
41103
- _optionalChain([escalatedApprovals, 'optionalAccess', _1053 => _1053.set, 'call', _1054 => _1054(data.approvalRequestId, {
41145
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1055 => _1055.set, 'call', _1056 => _1056(data.approvalRequestId, {
41104
41146
  command: data.command || "",
41105
41147
  explanation: data.explanation,
41106
41148
  approvalType,
@@ -41113,8 +41155,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41113
41155
  if ("approvalRequestId" in data && data.approvalRequestId) {
41114
41156
  const existingStatus = approvalStatuses[data.approvalRequestId];
41115
41157
  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) {
41158
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1057 => _1057.get, 'call', _1058 => _1058(data.approvalRequestId)]);
41159
+ if (_optionalChain([escalatedData, 'optionalAccess', _1059 => _1059.toolCalls]) && escalatedData.toolCalls.length > 0) {
41118
41160
  if (batchApprovalsEnabled) {
41119
41161
  accumulator.addApprovalBatch(
41120
41162
  data.approvalRequestId,
@@ -41134,7 +41176,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41134
41176
  );
41135
41177
  }
41136
41178
  }
41137
- _optionalChain([escalatedApprovals, 'optionalAccess', _1058 => _1058.delete, 'call', _1059 => _1059(data.approvalRequestId)]);
41179
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1060 => _1060.delete, 'call', _1061 => _1061(data.approvalRequestId)]);
41138
41180
  break;
41139
41181
  }
41140
41182
  if (escalatedData) {
@@ -41143,7 +41185,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41143
41185
  explanation: escalatedData.explanation,
41144
41186
  approvalType: escalatedData.approvalType
41145
41187
  });
41146
- _optionalChain([escalatedApprovals, 'optionalAccess', _1060 => _1060.delete, 'call', _1061 => _1061(data.approvalRequestId)]);
41188
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1062 => _1062.delete, 'call', _1063 => _1063(data.approvalRequestId)]);
41147
41189
  }
41148
41190
  const before = accumulator.getSegments();
41149
41191
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -41159,9 +41201,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41159
41201
  case MESSAGE_TYPE.ERROR:
41160
41202
  if ("error" in data) {
41161
41203
  let message2;
41162
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1062 => _1062.details])) {
41204
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1064 => _1064.details])) {
41163
41205
  try {
41164
- message2 = _optionalChain([JSON, 'access', _1063 => _1063.parse, 'call', _1064 => _1064(data.details), 'optionalAccess', _1065 => _1065.error, 'optionalAccess', _1066 => _1066.message]);
41206
+ message2 = _optionalChain([JSON, 'access', _1065 => _1065.parse, 'call', _1066 => _1066(data.details), 'optionalAccess', _1067 => _1067.error, 'optionalAccess', _1068 => _1068.message]);
41165
41207
  } catch (e50) {
41166
41208
  message2 = data.details;
41167
41209
  }
@@ -41244,10 +41286,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41244
41286
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
41245
41287
  return;
41246
41288
  }
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;
41289
+ 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
41290
  if (isUserMessage) {
41249
41291
  flushAssistantMessage();
41250
- const userAuthorType = _optionalChain([msg, 'access', _1071 => _1071.owner, 'optionalAccess', _1072 => _1072.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41292
+ const userAuthorType = _optionalChain([msg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41251
41293
  messageDataArray.forEach((data) => {
41252
41294
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
41253
41295
  processedMessages.push({
@@ -41272,7 +41314,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41272
41314
  });
41273
41315
  const nextMsg = messages[index + 1];
41274
41316
  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);
41317
+ 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
41318
  if (isLastMessage || nextIsFromUser) {
41277
41319
  flushAssistantMessage();
41278
41320
  }
@@ -41610,7 +41652,7 @@ function useNatsChatAdapter(config, options = {}) {
41610
41652
  }, [active, fetchDialogs, loadDialogsPage]);
41611
41653
  const sendMessage = _react.useCallback.call(void 0,
41612
41654
  async (text, sendOptions) => {
41613
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1077 => _1077.hidden]), () => ( false));
41655
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1079 => _1079.hidden]), () => ( false));
41614
41656
  setMessages((prev) => [
41615
41657
  ...prev,
41616
41658
  {
@@ -41774,11 +41816,11 @@ function useNatsChatAdapter(config, options = {}) {
41774
41816
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
41775
41817
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
41776
41818
  // 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)),
41819
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1080 => _1080.provider]), () => ( modelProvider)), () => ( null)),
41820
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1081 => _1081.modelLabel]), () => ( modelLabel)), () => ( null)),
41821
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1082 => _1082.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1083 => _1083.contextWindowMaxTokens]))), () => ( null)),
41822
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1084 => _1084.inputTokensSize]), () => ( null)),
41823
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1085 => _1085.outputTokensSize]), () => ( null)),
41782
41824
  currentCacheHitRatePct: null,
41783
41825
  currentUsageBreakdown: null,
41784
41826
  // Dialog management
@@ -42026,7 +42068,7 @@ function extractIncompleteMessageState(lastMessage) {
42026
42068
  break;
42027
42069
  case "approval_batch": {
42028
42070
  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"
42071
+ (c) => _optionalChain([segment, 'access', _1086 => _1086.data, 'access', _1087 => _1087.executions, 'optionalAccess', _1088 => _1088[c.toolExecutionRequestId], 'optionalAccess', _1089 => _1089.status]) === "done"
42030
42072
  );
42031
42073
  if (segment.status !== "rejected" && !allDone) {
42032
42074
  hasIncompleteState = true;
@@ -42234,7 +42276,7 @@ function useChatDialogManager({
42234
42276
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
42235
42277
  if (restoreTarget) {
42236
42278
  try {
42237
- await _optionalChain([unarchiveDialog, 'optionalCall', _1088 => _1088(restoreTarget.id)]);
42279
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1090 => _1090(restoreTarget.id)]);
42238
42280
  } catch (err) {
42239
42281
  console.error("[useChatDialogManager] unarchive failed:", err);
42240
42282
  return;
@@ -42633,7 +42675,7 @@ function EmbeddableChatInner({
42633
42675
  }),
42634
42676
  [commandsUrl]
42635
42677
  );
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;
42678
+ 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
42679
  const effectiveModes = _react.useMemo.call(void 0, () => {
42638
42680
  if (modes) return modes;
42639
42681
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -42642,17 +42684,17 @@ function EmbeddableChatInner({
42642
42684
  const mingoCaps = _react.useMemo.call(void 0, () => {
42643
42685
  if (mingoState) {
42644
42686
  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])
42687
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1100 => _1100.canRename]), () => ( false)),
42688
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1101 => _1101.canArchive]), () => ( false)),
42689
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1102 => _1102.fetchArchivedDialogs]),
42690
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1103 => _1103.unarchiveDialog])
42649
42691
  };
42650
42692
  }
42651
42693
  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])
42694
+ canRename: !!_optionalChain([effectiveModes, 'access', _1104 => _1104.mingo, 'optionalAccess', _1105 => _1105.renameDialog]),
42695
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1106 => _1106.mingo, 'optionalAccess', _1107 => _1107.archiveDialog]),
42696
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.fetchArchivedDialogs]),
42697
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.unarchiveDialog])
42656
42698
  };
42657
42699
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
42658
42700
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -42664,7 +42706,7 @@ function EmbeddableChatInner({
42664
42706
  if (controlledActiveMode === void 0) {
42665
42707
  setUncontrolledActiveMode(next);
42666
42708
  }
42667
- _optionalChain([onActiveModeChange, 'optionalCall', _1110 => _1110(next)]);
42709
+ _optionalChain([onActiveModeChange, 'optionalCall', _1112 => _1112(next)]);
42668
42710
  },
42669
42711
  [controlledActiveMode, onActiveModeChange]
42670
42712
  );
@@ -42871,9 +42913,9 @@ function EmbeddableChatInner({
42871
42913
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
42872
42914
  const lastSources = _react.useMemo.call(void 0, () => {
42873
42915
  if (chatLoading) return void 0;
42874
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1111 => _1111.sources]);
42916
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1113 => _1113.sources]);
42875
42917
  if (!sources || sources.length === 0) return void 0;
42876
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1112 => _1112.content]) || "";
42918
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1114 => _1114.content]) || "";
42877
42919
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
42878
42920
  (m) => parseInt(m[1], 10)
42879
42921
  );
@@ -42920,7 +42962,7 @@ function EmbeddableChatInner({
42920
42962
  ChatPanelHeader,
42921
42963
  {
42922
42964
  showBack: hasConversation || guideCanReturnToMingo,
42923
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1113 => _1113.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42965
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1115 => _1115.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42924
42966
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
42925
42967
  isArchivedView: isViewingArchived,
42926
42968
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -43025,10 +43067,10 @@ function EmbeddableChatInner({
43025
43067
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
43026
43068
  ...guideWelcome,
43027
43069
  onQuickAction: (action) => {
43028
- _optionalChain([chatInputRef, 'access', _1114 => _1114.current, 'optionalAccess', _1115 => _1115.setValue, 'call', _1116 => _1116(
43070
+ _optionalChain([chatInputRef, 'access', _1116 => _1116.current, 'optionalAccess', _1117 => _1117.setValue, 'call', _1118 => _1118(
43029
43071
  _nullishCoalesce(action.prompt, () => ( action.label))
43030
43072
  )]);
43031
- _optionalChain([chatInputRef, 'access', _1117 => _1117.current, 'optionalAccess', _1118 => _1118.focus, 'call', _1119 => _1119()]);
43073
+ _optionalChain([chatInputRef, 'access', _1119 => _1119.current, 'optionalAccess', _1120 => _1120.focus, 'call', _1121 => _1121()]);
43032
43074
  },
43033
43075
  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
43076
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -43975,4 +44017,4 @@ function EmbeddableChatInner({
43975
44017
 
43976
44018
 
43977
44019
  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
44020
+ //# sourceMappingURL=chunk-7CCNTX6H.cjs.map