@flamingo-stack/openframe-frontend-core 0.0.181 → 0.0.182-snapshot.20260514221132

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 (52) hide show
  1. package/dist/{chunk-L5AAJ3QN.cjs → chunk-JHWVLIFZ.cjs} +497 -374
  2. package/dist/chunk-JHWVLIFZ.cjs.map +1 -0
  3. package/dist/{chunk-VEOBMVF5.js → chunk-Z2A6RJCK.js} +4285 -4162
  4. package/dist/chunk-Z2A6RJCK.js.map +1 -0
  5. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  6. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  7. package/dist/components/chat/cycling-phrase.d.ts +30 -0
  8. package/dist/components/chat/cycling-phrase.d.ts.map +1 -0
  9. package/dist/components/chat/hooks/index.d.ts +0 -1
  10. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  11. package/dist/components/chat/index.d.ts +0 -1
  12. package/dist/components/chat/index.d.ts.map +1 -1
  13. package/dist/components/features/index.cjs +2 -2
  14. package/dist/components/features/index.js +1 -1
  15. package/dist/components/features/video-source-selector.d.ts +3 -3
  16. package/dist/components/features/video-source-selector.d.ts.map +1 -1
  17. package/dist/components/features/video.d.ts.map +1 -1
  18. package/dist/components/index.cjs +2 -6
  19. package/dist/components/index.cjs.map +1 -1
  20. package/dist/components/index.js +1 -5
  21. package/dist/components/media-carousel.d.ts.map +1 -1
  22. package/dist/components/navigation/index.cjs +2 -2
  23. package/dist/components/navigation/index.js +1 -1
  24. package/dist/components/ui/index.cjs +2 -6
  25. package/dist/components/ui/index.cjs.map +1 -1
  26. package/dist/components/ui/index.js +1 -5
  27. package/dist/index.cjs +2 -6
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.js +1 -5
  30. package/dist/types/case-study.d.ts +2 -2
  31. package/dist/types/case-study.d.ts.map +1 -1
  32. package/dist/types/supabase.d.ts +6 -6
  33. package/dist/types/supabase.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/components/chat/chat-message-enhanced.tsx +37 -5
  36. package/src/components/chat/chat-message-list.tsx +51 -179
  37. package/src/components/chat/cycling-phrase.tsx +129 -0
  38. package/src/components/chat/hooks/index.ts +0 -1
  39. package/src/components/chat/index.ts +0 -1
  40. package/src/components/features/video-source-selector.tsx +11 -11
  41. package/src/components/features/video.tsx +126 -75
  42. package/src/components/media-carousel.tsx +2 -3
  43. package/src/types/case-study.ts +2 -2
  44. package/src/types/supabase.ts +6 -6
  45. package/dist/chunk-L5AAJ3QN.cjs.map +0 -1
  46. package/dist/chunk-VEOBMVF5.js.map +0 -1
  47. package/dist/components/chat/chat-message-loader.d.ts +0 -23
  48. package/dist/components/chat/chat-message-loader.d.ts.map +0 -1
  49. package/dist/components/chat/hooks/use-delayed-flag.d.ts +0 -25
  50. package/dist/components/chat/hooks/use-delayed-flag.d.ts.map +0 -1
  51. package/src/components/chat/chat-message-loader.tsx +0 -67
  52. package/src/components/chat/hooks/use-delayed-flag.ts +0 -56
@@ -66,7 +66,6 @@ var _chunkBJTOSUT4cjs = require('./chunk-BJTOSUT4.cjs');
66
66
 
67
67
 
68
68
 
69
-
70
69
 
71
70
 
72
71
  var _chunkEWIC26TWcjs = require('./chunk-EWIC26TW.cjs');
@@ -124,6 +123,7 @@ var _chunkOFAYLG6Dcjs = require('./chunk-OFAYLG6D.cjs');
124
123
 
125
124
 
126
125
 
126
+
127
127
 
128
128
 
129
129
  var _chunkTMD5LDX4cjs = require('./chunk-TMD5LDX4.cjs');
@@ -4992,6 +4992,91 @@ ChatInput.displayName = "ChatInput";
4992
4992
  _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
4993
4993
 
4994
4994
 
4995
+ // src/components/chat/cycling-phrase.tsx
4996
+ _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
4997
+
4998
+
4999
+ var BLINK_KEYFRAMES = `
5000
+ @keyframes cyclingCursorBlink {
5001
+ 50% { opacity: 0; }
5002
+ }
5003
+ `;
5004
+ function CyclingPhrase({
5005
+ words,
5006
+ className,
5007
+ charMs = 60,
5008
+ holdMs = 4500
5009
+ }) {
5010
+ const [wordIndex, setWordIndex] = _react.useState.call(void 0, 0);
5011
+ const [text, setText] = _react.useState.call(void 0, "");
5012
+ const [cursor, setCursor] = _react.useState.call(void 0, 0);
5013
+ const [holding, setHolding] = _react.useState.call(void 0, false);
5014
+ const placeholder = _react.useMemo.call(void 0,
5015
+ () => words.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
5016
+ [words]
5017
+ );
5018
+ _react.useEffect.call(void 0, () => {
5019
+ if (words.length === 0) return;
5020
+ const target = words[wordIndex];
5021
+ let timeoutId;
5022
+ if (holding) {
5023
+ timeoutId = setTimeout(() => {
5024
+ setWordIndex((i) => (i + 1) % words.length);
5025
+ setCursor(0);
5026
+ setHolding(false);
5027
+ }, holdMs);
5028
+ return () => clearTimeout(timeoutId);
5029
+ }
5030
+ const maxLen = Math.max(text.length, target.length);
5031
+ if (cursor >= maxLen) {
5032
+ if (text !== target) setText(target);
5033
+ setHolding(true);
5034
+ return;
5035
+ }
5036
+ timeoutId = setTimeout(() => {
5037
+ setText((prev) => {
5038
+ if (cursor < target.length) {
5039
+ return target.slice(0, cursor + 1) + prev.slice(cursor + 1);
5040
+ }
5041
+ return prev.slice(0, cursor);
5042
+ });
5043
+ setCursor((c) => c + 1);
5044
+ }, charMs);
5045
+ return () => clearTimeout(timeoutId);
5046
+ }, [wordIndex, cursor, text, holding, words, charMs, holdMs]);
5047
+ if (words.length === 0) return null;
5048
+ const before = text.slice(0, cursor);
5049
+ const after = text.slice(cursor);
5050
+ const cursorBlock = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5051
+ "span",
5052
+ {
5053
+ "aria-hidden": true,
5054
+ className: "inline-block bg-current align-baseline",
5055
+ style: {
5056
+ width: "0.6em",
5057
+ height: "1em",
5058
+ verticalAlign: "-0.1em",
5059
+ marginLeft: "1px",
5060
+ marginRight: "1px",
5061
+ animation: "cyclingCursorBlink 1s steps(1) infinite"
5062
+ }
5063
+ }
5064
+ );
5065
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "relative inline-block whitespace-nowrap", className), children: [
5066
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { dangerouslySetInnerHTML: { __html: BLINK_KEYFRAMES } }),
5067
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: "invisible", children: [
5068
+ placeholder,
5069
+ "..."
5070
+ ] }),
5071
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "absolute inset-0 inline-flex items-baseline", "aria-live": "polite", children: [
5072
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: before }),
5073
+ !holding && cursorBlock,
5074
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: after }),
5075
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "..." })
5076
+ ] })
5077
+ ] });
5078
+ }
5079
+
4995
5080
  // src/components/chat/tool-execution-display.tsx
4996
5081
  _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
4997
5082
 
@@ -5119,6 +5204,18 @@ function normalizeContent(content) {
5119
5204
  }
5120
5205
  return content;
5121
5206
  }
5207
+ var STREAMING_WORDS = [
5208
+ "Thinking",
5209
+ "Vibing",
5210
+ "Mingoing",
5211
+ "Strutting",
5212
+ "Pondering",
5213
+ "Wading",
5214
+ "Hatching",
5215
+ "Preening",
5216
+ "Conjuring",
5217
+ "Riffing"
5218
+ ];
5122
5219
  var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5123
5220
  ({ className, role, content, name, avatar, isTyping = false, timestamp, showAvatar = true, assistantType, authorType: authorTypeProp, assistantIcon, chatRefs, renderEntityCard, ...props }, ref) => {
5124
5221
  const isUser = role === "user";
@@ -5188,6 +5285,8 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5188
5285
  const avatarProps = getAvatarProps();
5189
5286
  const segments = normalizeContent(content);
5190
5287
  const isSystem = authorType === "system";
5288
+ const lastSegment = segments[segments.length - 1];
5289
+ const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
5191
5290
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5192
5291
  "div",
5193
5292
  {
@@ -5216,80 +5315,92 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5216
5315
  ] }),
5217
5316
  timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-sans text-heading-5 font-medium text-ods-text-secondary shrink-0 whitespace-nowrap", children: timestamp.toLocaleTimeString([], { hour: "numeric", minute: "2-digit" }) })
5218
5317
  ] }),
5219
- (!isSystem || segments.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2", children: isTyping && segments.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTypingIndicator, {}) : segments.map((segment, index) => {
5220
- if (segment.type === "text") {
5221
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5222
- "min-w-0 w-full break-words text-h4",
5223
- isError ? "text-ods-error" : "text-ods-text-primary"
5224
- ), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5225
- SimpleMarkdownRenderer,
5318
+ (!isSystem || segments.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
5319
+ segments.map((segment, index) => {
5320
+ if (segment.type === "text") {
5321
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5322
+ "min-w-0 w-full break-words text-h4",
5323
+ isError ? "text-ods-error" : "text-ods-text-primary"
5324
+ ), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5325
+ SimpleMarkdownRenderer,
5326
+ {
5327
+ content: segment.text,
5328
+ textSize: "compact",
5329
+ additionalRemarkPlugins: cardRemarkPlugins,
5330
+ componentOverrides: cardComponentOverrides
5331
+ }
5332
+ ) }, index);
5333
+ } else if (segment.type === "tool_execution") {
5334
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5335
+ ToolExecutionDisplay,
5336
+ {
5337
+ message: segment.data
5338
+ },
5339
+ index
5340
+ );
5341
+ } else if (segment.type === "approval_request") {
5342
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5343
+ ApprovalRequestMessage,
5344
+ {
5345
+ data: segment.data,
5346
+ status: segment.status,
5347
+ onApprove: segment.onApprove,
5348
+ onReject: segment.onReject
5349
+ },
5350
+ index
5351
+ );
5352
+ } else if (segment.type === "approval_batch") {
5353
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5354
+ ApprovalBatchMessage,
5355
+ {
5356
+ data: segment.data,
5357
+ status: segment.status,
5358
+ onApprove: segment.onApprove,
5359
+ onReject: segment.onReject
5360
+ },
5361
+ index
5362
+ );
5363
+ } else if (segment.type === "error") {
5364
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5365
+ ErrorMessageDisplay,
5366
+ {
5367
+ title: segment.title,
5368
+ details: segment.details
5369
+ },
5370
+ index
5371
+ );
5372
+ } else if (segment.type === "context_compaction") {
5373
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5374
+ ContextCompactionDisplay,
5375
+ {
5376
+ status: segment.status
5377
+ },
5378
+ index
5379
+ );
5380
+ } else if (segment.type === "thinking") {
5381
+ const isStreaming = index === segments.length - 1 && isTyping;
5382
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5383
+ ThinkingDisplay,
5384
+ {
5385
+ text: segment.text,
5386
+ isStreaming
5387
+ },
5388
+ index
5389
+ );
5390
+ }
5391
+ return null;
5392
+ }),
5393
+ isTyping && !isPausedOnApproval && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
5394
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTypingIndicator, {}),
5395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5396
+ CyclingPhrase,
5226
5397
  {
5227
- content: segment.text,
5228
- textSize: "compact",
5229
- additionalRemarkPlugins: cardRemarkPlugins,
5230
- componentOverrides: cardComponentOverrides
5398
+ words: STREAMING_WORDS,
5399
+ className: "text-ods-text-secondary text-body-sm"
5231
5400
  }
5232
- ) }, index);
5233
- } else if (segment.type === "tool_execution") {
5234
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5235
- ToolExecutionDisplay,
5236
- {
5237
- message: segment.data
5238
- },
5239
- index
5240
- );
5241
- } else if (segment.type === "approval_request") {
5242
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5243
- ApprovalRequestMessage,
5244
- {
5245
- data: segment.data,
5246
- status: segment.status,
5247
- onApprove: segment.onApprove,
5248
- onReject: segment.onReject
5249
- },
5250
- index
5251
- );
5252
- } else if (segment.type === "approval_batch") {
5253
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5254
- ApprovalBatchMessage,
5255
- {
5256
- data: segment.data,
5257
- status: segment.status,
5258
- onApprove: segment.onApprove,
5259
- onReject: segment.onReject
5260
- },
5261
- index
5262
- );
5263
- } else if (segment.type === "error") {
5264
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5265
- ErrorMessageDisplay,
5266
- {
5267
- title: segment.title,
5268
- details: segment.details
5269
- },
5270
- index
5271
- );
5272
- } else if (segment.type === "context_compaction") {
5273
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5274
- ContextCompactionDisplay,
5275
- {
5276
- status: segment.status
5277
- },
5278
- index
5279
- );
5280
- } else if (segment.type === "thinking") {
5281
- const isStreaming = index === segments.length - 1 && isTyping;
5282
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5283
- ThinkingDisplay,
5284
- {
5285
- text: segment.text,
5286
- isStreaming
5287
- },
5288
- index
5289
- );
5290
- }
5291
- return null;
5292
- }) })
5401
+ )
5402
+ ] })
5403
+ ] })
5293
5404
  ] })
5294
5405
  ]
5295
5406
  }
@@ -5311,69 +5422,79 @@ _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
5311
5422
 
5312
5423
  var _usesticktobottom = require('use-stick-to-bottom');
5313
5424
 
5314
- // src/components/chat/chat-message-loader.tsx
5425
+ // src/components/chat/chat-message-skeleton.tsx
5315
5426
  _chunkOFAYLG6Dcjs.init_cn.call(void 0, );
5316
5427
 
5317
- function ChatMessageListLoader({
5428
+ function ChatMessageSkeleton({
5318
5429
  className,
5319
- assistantIcon,
5320
- assistantType = "fae",
5321
- label = "Loading conversation..."
5430
+ showAvatar = true,
5431
+ isUser = false,
5432
+ assistantType = "fae"
5322
5433
  }) {
5323
- const accentColor = assistantType === "mingo" ? "var(--ods-flamingo-cyan-base)" : "var(--ods-flamingo-pink-base)";
5434
+ const isMingo = assistantType === "mingo";
5324
5435
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5325
5436
  "div",
5326
5437
  {
5327
- role: "status",
5328
- "aria-live": "polite",
5329
- "aria-busy": "true",
5330
5438
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5331
- "relative flex-1 min-h-0 flex flex-col items-center justify-center gap-3 px-8",
5332
- "animate-in fade-in duration-300",
5439
+ "flex flex-row items-start gap-4",
5440
+ !isUser && "bg-ods-card/50 rounded-lg px-4 -mx-4",
5333
5441
  className
5334
5442
  ),
5335
5443
  children: [
5336
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex items-center justify-center w-10 h-10", children: [
5337
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5338
- "span",
5339
- {
5340
- className: "absolute inset-0 rounded-full opacity-30 blur-md animate-pulse",
5341
- style: { backgroundColor: accentColor },
5342
- "aria-hidden": "true"
5343
- }
5344
- ),
5345
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative motion-safe:animate-pulse", children: _nullishCoalesce(assistantIcon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWIC26TWcjs.MingoIcon, { className: "w-8 h-8", eyesColor: accentColor, cornerColor: accentColor }))) })
5346
- ] }),
5347
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium text-ods-text-secondary tracking-tight motion-safe:animate-pulse", children: label })
5444
+ showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5445
+ "flex-shrink-0 mt-1 w-8 h-8 rounded animate-pulse",
5446
+ isUser ? "invisible" : isMingo ? "bg-gradient-to-br from-cyan-400/30 to-cyan-600/30" : "bg-gradient-to-br from-pink-400/30 to-pink-600/30"
5447
+ ) }),
5448
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col gap-1 min-w-0", children: [
5449
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between pr-2", children: [
5450
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-16 bg-ods-border rounded animate-pulse" }),
5451
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-12 bg-ods-border rounded animate-pulse" })
5452
+ ] }),
5453
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
5454
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full bg-ods-border rounded animate-pulse" }),
5455
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4/5 bg-ods-border rounded animate-pulse" }),
5456
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/5 bg-ods-border rounded animate-pulse" })
5457
+ ] }) })
5458
+ ] })
5348
5459
  ]
5349
5460
  }
5350
5461
  );
5351
5462
  }
5352
-
5353
- // src/components/chat/hooks/use-delayed-flag.ts
5354
-
5355
- function useDelayedFlag(source, { delay: delay2 = 200, minDuration = 400 } = {}) {
5356
- const [active, setActive] = _react.useState.call(void 0, false);
5357
- const activatedAtRef = _react.useRef.call(void 0, null);
5358
- _react.useEffect.call(void 0, () => {
5359
- if (source) {
5360
- if (active) return;
5361
- const timer2 = window.setTimeout(() => {
5362
- activatedAtRef.current = Date.now();
5363
- setActive(true);
5364
- }, delay2);
5365
- return () => window.clearTimeout(timer2);
5366
- }
5367
- if (!active) return;
5368
- const elapsed = activatedAtRef.current ? Date.now() - activatedAtRef.current : minDuration;
5369
- const remaining = Math.max(0, minDuration - elapsed);
5370
- const timer = window.setTimeout(() => {
5371
- activatedAtRef.current = null;
5372
- setActive(false);
5373
- }, remaining);
5374
- return () => window.clearTimeout(timer);
5375
- }, [source, active, delay2, minDuration]);
5376
- return active;
5463
+ function ChatMessageListSkeleton({
5464
+ className,
5465
+ messageCount = 6,
5466
+ showAvatars = true,
5467
+ assistantType = "fae",
5468
+ contentClassName
5469
+ }) {
5470
+ const messages = Array.from({ length: messageCount }, (_, index) => ({
5471
+ id: index,
5472
+ isUser: index % 3 === 0,
5473
+ assistantType
5474
+ }));
5475
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5476
+ "div",
5477
+ {
5478
+ className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5479
+ "flex h-full w-full flex-col overflow-y-auto overflow-x-hidden flex-1",
5480
+ "[scroll-behavior:smooth]",
5481
+ "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30 hover:scrollbar-thumb-ods-text-secondary/30",
5482
+ className
5483
+ ),
5484
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "mx-auto flex w-full max-w-3xl flex-col pb-2 min-w-0", contentClassName || "px-4"), style: { minHeight: "100%" }, children: [
5485
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
5486
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: messages.map((message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5487
+ ChatMessageSkeleton,
5488
+ {
5489
+ showAvatar: showAvatars,
5490
+ isUser: message.isUser,
5491
+ assistantType: message.assistantType
5492
+ },
5493
+ message.id
5494
+ )) })
5495
+ ] })
5496
+ }
5497
+ ) });
5377
5498
  }
5378
5499
 
5379
5500
  // src/components/chat/chat-message-list.tsx
@@ -5397,20 +5518,19 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5397
5518
  renderEntityCard,
5398
5519
  ...props
5399
5520
  }, ref) => {
5400
- const { scrollRef, contentRef, scrollToBottom, escapedFromLock } = _usesticktobottom.useStickToBottom.call(void 0, {
5521
+ const { scrollRef, contentRef, scrollToBottom } = _usesticktobottom.useStickToBottom.call(void 0, {
5401
5522
  resize: "smooth",
5402
- initial: "instant"
5523
+ initial: false
5403
5524
  });
5404
- const [scrollEl, setScrollEl] = _react.useState.call(void 0, null);
5405
- const [sentinelEl, setSentinelEl] = _react.useState.call(void 0, null);
5525
+ const sentinelRef = _react.useRef.call(void 0, null);
5406
5526
  const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
5407
5527
  onLoadMoreRef.current = onLoadMore;
5408
5528
  const isFetchingRef = _react.useRef.call(void 0, isFetchingNextPage);
5409
5529
  isFetchingRef.current = isFetchingNextPage;
5410
5530
  const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
5411
5531
  const prependRef = _react.useRef.call(void 0, { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 });
5412
- _react.useLayoutEffect.call(void 0, () => {
5413
- if (!autoScroll || !scrollEl) return;
5532
+ _react.useEffect.call(void 0, () => {
5533
+ if (!autoScroll) return;
5414
5534
  const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
5415
5535
  const prevCount = prevRenderRef.current.messageCount;
5416
5536
  const newCount = messages.length;
@@ -5425,29 +5545,21 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5425
5545
  return;
5426
5546
  }
5427
5547
  if (newCount > prevCount) {
5428
- const isPrepend = prependRef.current.firstMessageId !== void 0 && _optionalChain([messages, 'access', _110 => _110[0], 'optionalAccess', _111 => _111.id]) !== prependRef.current.firstMessageId;
5429
- if (isPrepend) return;
5430
5548
  const newSlice = messages.slice(prevCount);
5431
5549
  const hasNewUser = newSlice.some((m) => m.role === "user");
5432
5550
  if (hasNewUser) {
5433
5551
  void scrollToBottom({ animation: "instant", ignoreEscapes: true });
5434
- return;
5435
5552
  }
5436
- void scrollToBottom({ animation: "instant", ignoreEscapes: true });
5437
- return;
5438
5553
  }
5439
- if (!escapedFromLock) {
5440
- void scrollToBottom({ animation: "smooth" });
5441
- }
5442
- }, [autoScroll, messages, dialogId, scrollToBottom, scrollEl, escapedFromLock]);
5554
+ }, [autoScroll, messages, dialogId, scrollToBottom]);
5443
5555
  _react.useLayoutEffect.call(void 0, () => {
5444
- const el = scrollEl;
5556
+ const el = scrollRef.current;
5445
5557
  if (!el) {
5446
5558
  prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
5447
5559
  return;
5448
5560
  }
5449
- const currentFirstId = _optionalChain([messages, 'access', _112 => _112[0], 'optionalAccess', _113 => _113.id]);
5450
- const currentFirstContent = _optionalChain([messages, 'access', _114 => _114[0], 'optionalAccess', _115 => _115.content]);
5561
+ const currentFirstId = _optionalChain([messages, 'access', _110 => _110[0], 'optionalAccess', _111 => _111.id]);
5562
+ const currentFirstContent = _optionalChain([messages, 'access', _112 => _112[0], 'optionalAccess', _113 => _113.content]);
5451
5563
  const prevFirstId = prependRef.current.firstMessageId;
5452
5564
  const prevHeight = prependRef.current.scrollHeight;
5453
5565
  if (currentFirstId !== prevFirstId) {
@@ -5469,54 +5581,43 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5469
5581
  if (currentFirstContent !== prependRef.current.firstMessageContent) {
5470
5582
  prependRef.current.firstMessageContent = currentFirstContent;
5471
5583
  }
5472
- }, [messages, scrollEl]);
5584
+ }, [messages, scrollRef]);
5473
5585
  _react.useEffect.call(void 0, () => {
5474
- const scrollContainer = scrollEl;
5475
- const sentinelElement = sentinelEl;
5476
- if (!scrollContainer || !hasNextPage) return;
5477
- const tryLoad = () => {
5478
- if (isFetchingRef.current) return;
5479
- _optionalChain([onLoadMoreRef, 'access', _116 => _116.current, 'optionalCall', _117 => _117()]);
5480
- };
5481
- let observer;
5482
- if (sentinelElement) {
5483
- observer = new IntersectionObserver(
5484
- (entries) => {
5485
- const entry = entries[0];
5486
- if (_optionalChain([entry, 'optionalAccess', _118 => _118.isIntersecting])) tryLoad();
5487
- },
5488
- { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
5489
- );
5490
- observer.observe(sentinelElement);
5491
- }
5492
- const onScroll = () => {
5493
- if (scrollContainer.scrollTop <= 200) tryLoad();
5494
- };
5495
- scrollContainer.addEventListener("scroll", onScroll, { passive: true });
5496
- return () => {
5497
- _optionalChain([observer, 'optionalAccess', _119 => _119.disconnect, 'call', _120 => _120()]);
5498
- scrollContainer.removeEventListener("scroll", onScroll);
5499
- };
5500
- }, [hasNextPage, scrollEl, sentinelEl, messages.length]);
5586
+ const scrollContainer = scrollRef.current;
5587
+ const sentinelElement = sentinelRef.current;
5588
+ if (!scrollContainer || !sentinelElement || !hasNextPage) return;
5589
+ const observer = new IntersectionObserver(
5590
+ (entries) => {
5591
+ const entry = entries[0];
5592
+ if (!entry) return;
5593
+ if (entry.isIntersecting && !isFetchingRef.current) {
5594
+ _optionalChain([onLoadMoreRef, 'access', _114 => _114.current, 'optionalCall', _115 => _115()]);
5595
+ }
5596
+ },
5597
+ { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
5598
+ );
5599
+ observer.observe(sentinelElement);
5600
+ return () => observer.disconnect();
5601
+ }, [hasNextPage, scrollRef]);
5501
5602
  _react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
5502
- const showLoader = useDelayedFlag(isLoading, { delay: 200, minDuration: 400 });
5503
- const setScrollRef = _react.useCallback.call(void 0, (el) => {
5504
- scrollRef(el);
5505
- setScrollEl(el);
5506
- }, [scrollRef]);
5507
- const setContentRef = _react.useCallback.call(void 0, (el) => {
5508
- contentRef(el);
5509
- }, [contentRef]);
5510
- if (showLoader) {
5603
+ if (isLoading) {
5511
5604
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5512
- ChatMessageListLoader,
5605
+ ChatMessageListSkeleton,
5513
5606
  {
5514
5607
  className,
5515
- assistantIcon,
5516
- assistantType
5608
+ showAvatars,
5609
+ assistantType,
5610
+ contentClassName,
5611
+ messageCount: 6
5517
5612
  }
5518
5613
  );
5519
5614
  }
5615
+ const setScrollRef = (el) => {
5616
+ scrollRef(el);
5617
+ };
5618
+ const setContentRef = (el) => {
5619
+ contentRef(el);
5620
+ };
5520
5621
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
5521
5622
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5522
5623
  "div",
@@ -5538,17 +5639,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5538
5639
  ),
5539
5640
  style: { minHeight: "100%" },
5540
5641
  children: [
5541
- hasNextPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setSentinelEl, className: "h-px" }),
5542
- isFetchingNextPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5543
- "div",
5544
- {
5545
- className: "flex justify-center py-3 animate-in fade-in duration-200",
5546
- role: "status",
5547
- "aria-live": "polite",
5548
- "aria-busy": "true",
5549
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PulseDots, { size: "sm" })
5550
- }
5551
- ),
5642
+ hasNextPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-px" }),
5552
5643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
5553
5644
  messages.map((message, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5554
5645
  MemoizedChatMessageEnhanced,
@@ -5657,7 +5748,7 @@ var ChatTicketItem = React15.forwardRef(
5657
5748
  {
5658
5749
  ref,
5659
5750
  type: "button",
5660
- onClick: () => _optionalChain([onClick, 'optionalCall', _121 => _121(ticket.id)]),
5751
+ onClick: () => _optionalChain([onClick, 'optionalCall', _116 => _116(ticket.id)]),
5661
5752
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5662
5753
  "flex items-center gap-4 w-full h-20 px-4",
5663
5754
  "bg-ods-card border-b border-ods-border",
@@ -6005,8 +6096,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
6005
6096
  var DialogListItem = _react.forwardRef.call(void 0,
6006
6097
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
6007
6098
  const handleClick = (e) => {
6008
- _optionalChain([onDialogSelect, 'optionalCall', _122 => _122(dialog.id)]);
6009
- _optionalChain([onClick, 'optionalCall', _123 => _123(e)]);
6099
+ _optionalChain([onDialogSelect, 'optionalCall', _117 => _117(dialog.id)]);
6100
+ _optionalChain([onClick, 'optionalCall', _118 => _118(e)]);
6010
6101
  };
6011
6102
  const formatTimestamp2 = (timestamp) => {
6012
6103
  if (!timestamp) return "";
@@ -6065,7 +6156,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
6065
6156
  (entries) => {
6066
6157
  const [entry] = entries;
6067
6158
  if (entry.isIntersecting && !isFetchingRef.current) {
6068
- _optionalChain([onLoadMoreRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125()]);
6159
+ _optionalChain([onLoadMoreRef, 'access', _119 => _119.current, 'optionalCall', _120 => _120()]);
6069
6160
  }
6070
6161
  },
6071
6162
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -6483,7 +6574,7 @@ function useNatsDialogSubscription({
6483
6574
  reconnectionBackoffRef.current = reconnectionBackoff;
6484
6575
  }, [reconnectionBackoff]);
6485
6576
  const acquireClient = _react.useCallback.call(void 0, (url) => {
6486
- if (_optionalChain([shared, 'optionalAccess', _126 => _126.wsUrl]) !== url) {
6577
+ if (_optionalChain([shared, 'optionalAccess', _121 => _121.wsUrl]) !== url) {
6487
6578
  if (shared) {
6488
6579
  shared.closeTimer && clearTimeout(shared.closeTimer);
6489
6580
  const old = shared;
@@ -6574,7 +6665,7 @@ function useNatsDialogSubscription({
6574
6665
  if (closed) return;
6575
6666
  if (shared !== sharedConn) return;
6576
6667
  try {
6577
- await _optionalChain([onBeforeReconnectRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128()]);
6668
+ await _optionalChain([onBeforeReconnectRef, 'access', _122 => _122.current, 'optionalCall', _123 => _123()]);
6578
6669
  } catch (e7) {
6579
6670
  }
6580
6671
  if (closed) return;
@@ -6607,22 +6698,22 @@ function useNatsDialogSubscription({
6607
6698
  }
6608
6699
  hadConnectionBeforeRef.current = true;
6609
6700
  retryAttempt = 0;
6610
- _optionalChain([onConnectRef, 'access', _129 => _129.current, 'optionalCall', _130 => _130()]);
6701
+ _optionalChain([onConnectRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125()]);
6611
6702
  }
6612
6703
  if (disconnected) {
6613
6704
  setIsConnected(false);
6614
6705
  setIsSubscribed(false);
6615
6706
  subscriptionRefs.current.forEach((sub) => {
6616
6707
  try {
6617
- _optionalChain([sub, 'optionalAccess', _131 => _131.unsubscribe, 'call', _132 => _132()]);
6708
+ _optionalChain([sub, 'optionalAccess', _126 => _126.unsubscribe, 'call', _127 => _127()]);
6618
6709
  } catch (e9) {
6619
6710
  }
6620
6711
  });
6621
6712
  subscriptionRefs.current.clear();
6622
6713
  lastSubscribedDialogIdRef.current = null;
6623
- _optionalChain([abortControllerRef, 'access', _133 => _133.current, 'optionalAccess', _134 => _134.abort, 'call', _135 => _135()]);
6714
+ _optionalChain([abortControllerRef, 'access', _128 => _128.current, 'optionalAccess', _129 => _129.abort, 'call', _130 => _130()]);
6624
6715
  abortControllerRef.current = null;
6625
- _optionalChain([onDisconnectRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
6716
+ _optionalChain([onDisconnectRef, 'access', _131 => _131.current, 'optionalCall', _132 => _132()]);
6626
6717
  scheduleRetry();
6627
6718
  }
6628
6719
  });
@@ -6638,7 +6729,7 @@ function useNatsDialogSubscription({
6638
6729
  sharedConn.connectPromise = null;
6639
6730
  if (!closed) {
6640
6731
  setIsConnected(false);
6641
- _optionalChain([onDisconnectRef, 'access', _138 => _138.current, 'optionalCall', _139 => _139()]);
6732
+ _optionalChain([onDisconnectRef, 'access', _133 => _133.current, 'optionalCall', _134 => _134()]);
6642
6733
  scheduleRetry();
6643
6734
  }
6644
6735
  }
@@ -6654,7 +6745,7 @@ function useNatsDialogSubscription({
6654
6745
  }
6655
6746
  subscriptionRefs.current.forEach((sub) => {
6656
6747
  try {
6657
- _optionalChain([sub, 'optionalAccess', _140 => _140.unsubscribe, 'call', _141 => _141()]);
6748
+ _optionalChain([sub, 'optionalAccess', _135 => _135.unsubscribe, 'call', _136 => _136()]);
6658
6749
  } catch (e11) {
6659
6750
  }
6660
6751
  });
@@ -6682,13 +6773,13 @@ function useNatsDialogSubscription({
6682
6773
  setIsSubscribed(false);
6683
6774
  subscriptionRefs.current.forEach((sub) => {
6684
6775
  try {
6685
- _optionalChain([sub, 'optionalAccess', _142 => _142.unsubscribe, 'call', _143 => _143()]);
6776
+ _optionalChain([sub, 'optionalAccess', _137 => _137.unsubscribe, 'call', _138 => _138()]);
6686
6777
  } catch (e12) {
6687
6778
  }
6688
6779
  });
6689
6780
  subscriptionRefs.current.clear();
6690
6781
  lastSubscribedDialogIdRef.current = null;
6691
- _optionalChain([abortControllerRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.abort, 'call', _146 => _146()]);
6782
+ _optionalChain([abortControllerRef, 'access', _139 => _139.current, 'optionalAccess', _140 => _140.abort, 'call', _141 => _141()]);
6692
6783
  abortControllerRef.current = null;
6693
6784
  }
6694
6785
  return;
@@ -6700,12 +6791,12 @@ function useNatsDialogSubscription({
6700
6791
  if (subscriptionRefs.current.size > 0) {
6701
6792
  subscriptionRefs.current.forEach((sub) => {
6702
6793
  try {
6703
- _optionalChain([sub, 'optionalAccess', _147 => _147.unsubscribe, 'call', _148 => _148()]);
6794
+ _optionalChain([sub, 'optionalAccess', _142 => _142.unsubscribe, 'call', _143 => _143()]);
6704
6795
  } catch (e13) {
6705
6796
  }
6706
6797
  });
6707
6798
  subscriptionRefs.current.clear();
6708
- _optionalChain([abortControllerRef, 'access', _149 => _149.current, 'optionalAccess', _150 => _150.abort, 'call', _151 => _151()]);
6799
+ _optionalChain([abortControllerRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.abort, 'call', _146 => _146()]);
6709
6800
  }
6710
6801
  abortControllerRef.current = new AbortController();
6711
6802
  const abort = abortControllerRef.current;
@@ -6737,7 +6828,7 @@ function useNatsDialogSubscription({
6737
6828
  });
6738
6829
  lastSubscribedDialogIdRef.current = dialogId;
6739
6830
  setIsSubscribed(true);
6740
- _optionalChain([onSubscribedRef, 'access', _152 => _152.current, 'optionalCall', _153 => _153()]);
6831
+ _optionalChain([onSubscribedRef, 'access', _147 => _147.current, 'optionalCall', _148 => _148()]);
6741
6832
  };
6742
6833
  if (isConnectedRef.current) {
6743
6834
  createSubscriptions();
@@ -6747,7 +6838,7 @@ function useNatsDialogSubscription({
6747
6838
  abort.abort();
6748
6839
  subscriptionRefs.current.forEach((sub) => {
6749
6840
  try {
6750
- _optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
6841
+ _optionalChain([sub, 'optionalAccess', _149 => _149.unsubscribe, 'call', _150 => _150()]);
6751
6842
  } catch (e15) {
6752
6843
  }
6753
6844
  });
@@ -6788,7 +6879,7 @@ function useNatsDialogSubscription({
6788
6879
  });
6789
6880
  lastSubscribedDialogIdRef.current = dialogId2;
6790
6881
  setIsSubscribed(true);
6791
- _optionalChain([onSubscribedRef, 'access', _156 => _156.current, 'optionalCall', _157 => _157()]);
6882
+ _optionalChain([onSubscribedRef, 'access', _151 => _151.current, 'optionalCall', _152 => _152()]);
6792
6883
  } else if (subscriptionRefs.current.size > 0) {
6793
6884
  setIsSubscribed(true);
6794
6885
  }
@@ -6796,10 +6887,10 @@ function useNatsDialogSubscription({
6796
6887
  return { isConnected, isSubscribed, reconnectionCount };
6797
6888
  }
6798
6889
  function buildNatsWsUrl(apiBaseUrl, options) {
6799
- const path = _optionalChain([options, 'optionalAccess', _158 => _158.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
6890
+ const path = _optionalChain([options, 'optionalAccess', _153 => _153.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
6800
6891
  const u = new URL(path, apiBaseUrl);
6801
6892
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
6802
- if (_optionalChain([options, 'optionalAccess', _159 => _159.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _160 => _160.token])) {
6893
+ if (_optionalChain([options, 'optionalAccess', _154 => _154.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _155 => _155.token])) {
6803
6894
  u.searchParams.set("authorization", options.token);
6804
6895
  }
6805
6896
  return u.toString();
@@ -7110,7 +7201,7 @@ var MessageSegmentAccumulator = class {
7110
7201
  type: "tool_execution",
7111
7202
  data: {
7112
7203
  ...toolData,
7113
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _161 => _161.parameters])
7204
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _156 => _156.parameters])
7114
7205
  }
7115
7206
  };
7116
7207
  if (existingIndex !== -1) {
@@ -7134,8 +7225,8 @@ var MessageSegmentAccumulator = class {
7134
7225
  if (seg.type !== "approval_batch") return seg;
7135
7226
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
7136
7227
  if (!hasCall) return seg;
7137
- const prev = _optionalChain([seg, 'access', _162 => _162.data, 'access', _163 => _163.executions, 'optionalAccess', _164 => _164[execId]]);
7138
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _165 => _165.result]), success: _optionalChain([prev, 'optionalAccess', _166 => _166.success]) };
7228
+ const prev = _optionalChain([seg, 'access', _157 => _157.data, 'access', _158 => _158.executions, 'optionalAccess', _159 => _159[execId]]);
7229
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _160 => _160.result]), success: _optionalChain([prev, 'optionalAccess', _161 => _161.success]) };
7139
7230
  matched = true;
7140
7231
  return {
7141
7232
  ...seg,
@@ -7231,10 +7322,10 @@ var MessageSegmentAccumulator = class {
7231
7322
  const segment = {
7232
7323
  type: "approval_request",
7233
7324
  data: {
7234
- command: _optionalChain([pendingApproval, 'optionalAccess', _167 => _167.command]) || "",
7235
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _168 => _168.explanation]),
7325
+ command: _optionalChain([pendingApproval, 'optionalAccess', _162 => _162.command]) || "",
7326
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _163 => _163.explanation]),
7236
7327
  requestId,
7237
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _169 => _169.approvalType]) || approvalType
7328
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _164 => _164.approvalType]) || approvalType
7238
7329
  },
7239
7330
  status,
7240
7331
  onApprove: this.callbacks.onApprove,
@@ -7422,7 +7513,7 @@ function useRealtimeChunkProcessor(options) {
7422
7513
  if (initialState.escalatedApprovals) {
7423
7514
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
7424
7515
  initialState.escalatedApprovals.forEach((data, requestId) => {
7425
- _optionalChain([callbacks, 'access', _170 => _170.onEscalatedApproval, 'optionalCall', _171 => _171(requestId, data)]);
7516
+ _optionalChain([callbacks, 'access', _165 => _165.onEscalatedApproval, 'optionalCall', _166 => _166(requestId, data)]);
7426
7517
  });
7427
7518
  }
7428
7519
  hasInitializedWithData.current = true;
@@ -7441,30 +7532,30 @@ function useRealtimeChunkProcessor(options) {
7441
7532
  switch (action.action) {
7442
7533
  case "message_start":
7443
7534
  isInStreamRef.current = true;
7444
- _optionalChain([callbacks, 'access', _172 => _172.onStreamStart, 'optionalCall', _173 => _173()]);
7535
+ _optionalChain([callbacks, 'access', _167 => _167.onStreamStart, 'optionalCall', _168 => _168()]);
7445
7536
  accumulator.resetSegments();
7446
7537
  break;
7447
7538
  case "message_end":
7448
7539
  isInStreamRef.current = false;
7449
- _optionalChain([callbacks, 'access', _174 => _174.onStreamEnd, 'optionalCall', _175 => _175()]);
7540
+ _optionalChain([callbacks, 'access', _169 => _169.onStreamEnd, 'optionalCall', _170 => _170()]);
7450
7541
  accumulator.resetSegments();
7451
7542
  break;
7452
7543
  case "metadata":
7453
- _optionalChain([callbacks, 'access', _176 => _176.onMetadata, 'optionalCall', _177 => _177(action)]);
7544
+ _optionalChain([callbacks, 'access', _171 => _171.onMetadata, 'optionalCall', _172 => _172(action)]);
7454
7545
  break;
7455
7546
  case "text": {
7456
7547
  const segments = accumulator.appendText(action.text);
7457
- _optionalChain([callbacks, 'access', _178 => _178.onSegmentsUpdate, 'optionalCall', _179 => _179(segments)]);
7548
+ _optionalChain([callbacks, 'access', _173 => _173.onSegmentsUpdate, 'optionalCall', _174 => _174(segments)]);
7458
7549
  break;
7459
7550
  }
7460
7551
  case "thinking": {
7461
7552
  const segments = accumulator.appendThinking(action.text);
7462
- _optionalChain([callbacks, 'access', _180 => _180.onSegmentsUpdate, 'optionalCall', _181 => _181(segments)]);
7553
+ _optionalChain([callbacks, 'access', _175 => _175.onSegmentsUpdate, 'optionalCall', _176 => _176(segments)]);
7463
7554
  break;
7464
7555
  }
7465
7556
  case "tool_execution": {
7466
7557
  const segments = accumulator.addToolExecution(action.segment);
7467
- _optionalChain([callbacks, 'access', _182 => _182.onSegmentsUpdate, 'optionalCall', _183 => _183(segments)]);
7558
+ _optionalChain([callbacks, 'access', _177 => _177.onSegmentsUpdate, 'optionalCall', _178 => _178(segments)]);
7468
7559
  break;
7469
7560
  }
7470
7561
  case "approval_request": {
@@ -7478,10 +7569,10 @@ function useRealtimeChunkProcessor(options) {
7478
7569
  approvalType,
7479
7570
  status
7480
7571
  );
7481
- _optionalChain([callbacks, 'access', _184 => _184.onSegmentsUpdate, 'optionalCall', _185 => _185(segments)]);
7572
+ _optionalChain([callbacks, 'access', _179 => _179.onSegmentsUpdate, 'optionalCall', _180 => _180(segments)]);
7482
7573
  } else {
7483
7574
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
7484
- _optionalChain([callbacks, 'access', _186 => _186.onEscalatedApproval, 'optionalCall', _187 => _187(requestId, { command, explanation, approvalType })]);
7575
+ _optionalChain([callbacks, 'access', _181 => _181.onEscalatedApproval, 'optionalCall', _182 => _182(requestId, { command, explanation, approvalType })]);
7485
7576
  }
7486
7577
  break;
7487
7578
  }
@@ -7493,20 +7584,20 @@ function useRealtimeChunkProcessor(options) {
7493
7584
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
7494
7585
  pendingEscalatedRef.current.set(requestId, {
7495
7586
  command: summary,
7496
- explanation: _optionalChain([required, 'optionalAccess', _188 => _188.toolExplanation]),
7587
+ explanation: _optionalChain([required, 'optionalAccess', _183 => _183.toolExplanation]),
7497
7588
  approvalType,
7498
7589
  toolCalls
7499
7590
  });
7500
- _optionalChain([callbacks, 'access', _189 => _189.onEscalatedApproval, 'optionalCall', _190 => _190(requestId, {
7591
+ _optionalChain([callbacks, 'access', _184 => _184.onEscalatedApproval, 'optionalCall', _185 => _185(requestId, {
7501
7592
  command: summary,
7502
- explanation: _optionalChain([required, 'optionalAccess', _191 => _191.toolExplanation]),
7593
+ explanation: _optionalChain([required, 'optionalAccess', _186 => _186.toolExplanation]),
7503
7594
  approvalType
7504
7595
  })]);
7505
7596
  break;
7506
7597
  }
7507
7598
  if (batchApprovalsEnabled) {
7508
7599
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
7509
- _optionalChain([callbacks, 'access', _192 => _192.onSegmentsUpdate, 'optionalCall', _193 => _193(segments2)]);
7600
+ _optionalChain([callbacks, 'access', _187 => _187.onSegmentsUpdate, 'optionalCall', _188 => _188(segments2)]);
7510
7601
  break;
7511
7602
  }
7512
7603
  let segments = accumulator.getSegments();
@@ -7520,7 +7611,7 @@ function useRealtimeChunkProcessor(options) {
7520
7611
  status
7521
7612
  );
7522
7613
  }
7523
- _optionalChain([callbacks, 'access', _194 => _194.onSegmentsUpdate, 'optionalCall', _195 => _195(segments)]);
7614
+ _optionalChain([callbacks, 'access', _189 => _189.onSegmentsUpdate, 'optionalCall', _190 => _190(segments)]);
7524
7615
  break;
7525
7616
  }
7526
7617
  case "approval_result": {
@@ -7529,7 +7620,7 @@ function useRealtimeChunkProcessor(options) {
7529
7620
  const status = approved ? "approved" : "rejected";
7530
7621
  if (escalatedData) {
7531
7622
  pendingEscalatedRef.current.delete(requestId);
7532
- _optionalChain([callbacks, 'access', _196 => _196.onEscalatedApprovalResult, 'optionalCall', _197 => _197(requestId, approved, {
7623
+ _optionalChain([callbacks, 'access', _191 => _191.onEscalatedApprovalResult, 'optionalCall', _192 => _192(requestId, approved, {
7533
7624
  command: escalatedData.command,
7534
7625
  explanation: escalatedData.explanation,
7535
7626
  approvalType: escalatedData.approvalType
@@ -7542,7 +7633,7 @@ function useRealtimeChunkProcessor(options) {
7542
7633
  escalatedData.toolCalls,
7543
7634
  status
7544
7635
  );
7545
- _optionalChain([callbacks, 'access', _198 => _198.onSegmentsUpdate, 'optionalCall', _199 => _199(segments)]);
7636
+ _optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
7546
7637
  } else {
7547
7638
  let segments = accumulator.getSegments();
7548
7639
  for (const call of escalatedData.toolCalls) {
@@ -7555,7 +7646,7 @@ function useRealtimeChunkProcessor(options) {
7555
7646
  status
7556
7647
  );
7557
7648
  }
7558
- _optionalChain([callbacks, 'access', _200 => _200.onSegmentsUpdate, 'optionalCall', _201 => _201(segments)]);
7649
+ _optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
7559
7650
  }
7560
7651
  } else {
7561
7652
  const segments = accumulator.addApprovalRequest(
@@ -7565,63 +7656,63 @@ function useRealtimeChunkProcessor(options) {
7565
7656
  escalatedData.approvalType,
7566
7657
  status
7567
7658
  );
7568
- _optionalChain([callbacks, 'access', _202 => _202.onSegmentsUpdate, 'optionalCall', _203 => _203(segments)]);
7659
+ _optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
7569
7660
  }
7570
7661
  } else {
7571
7662
  const segments = accumulator.updateApprovalStatus(requestId, status);
7572
- _optionalChain([callbacks, 'access', _204 => _204.onSegmentsUpdate, 'optionalCall', _205 => _205(segments)]);
7663
+ _optionalChain([callbacks, 'access', _199 => _199.onSegmentsUpdate, 'optionalCall', _200 => _200(segments)]);
7573
7664
  }
7574
7665
  void approvalType;
7575
7666
  break;
7576
7667
  }
7577
7668
  case "error": {
7578
7669
  let message;
7579
- if ("details" in action && _optionalChain([action, 'optionalAccess', _206 => _206.details])) {
7670
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _201 => _201.details])) {
7580
7671
  try {
7581
- message = _optionalChain([JSON, 'access', _207 => _207.parse, 'call', _208 => _208(action.details), 'optionalAccess', _209 => _209.error, 'optionalAccess', _210 => _210.message]);
7672
+ message = _optionalChain([JSON, 'access', _202 => _202.parse, 'call', _203 => _203(action.details), 'optionalAccess', _204 => _204.error, 'optionalAccess', _205 => _205.message]);
7582
7673
  } catch (e17) {
7583
7674
  message = action.details;
7584
7675
  }
7585
7676
  }
7586
7677
  const segments = accumulator.addError(action.error, message);
7587
- _optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
7588
- _optionalChain([callbacks, 'access', _213 => _213.onError, 'optionalCall', _214 => _214(action.error, message)]);
7678
+ _optionalChain([callbacks, 'access', _206 => _206.onSegmentsUpdate, 'optionalCall', _207 => _207(segments)]);
7679
+ _optionalChain([callbacks, 'access', _208 => _208.onError, 'optionalCall', _209 => _209(action.error, message)]);
7589
7680
  break;
7590
7681
  }
7591
7682
  case "system": {
7592
- _optionalChain([callbacks, 'access', _215 => _215.onSystemMessage, 'optionalCall', _216 => _216(action.text)]);
7683
+ _optionalChain([callbacks, 'access', _210 => _210.onSystemMessage, 'optionalCall', _211 => _211(action.text)]);
7593
7684
  break;
7594
7685
  }
7595
7686
  case "direct_message": {
7596
- _optionalChain([callbacks, 'access', _217 => _217.onDirectMessage, 'optionalCall', _218 => _218(action.text, {
7687
+ _optionalChain([callbacks, 'access', _212 => _212.onDirectMessage, 'optionalCall', _213 => _213(action.text, {
7597
7688
  ownerType: action.ownerType,
7598
7689
  displayName: action.displayName
7599
7690
  })]);
7600
7691
  break;
7601
7692
  }
7602
7693
  case "message_request":
7603
- _optionalChain([callbacks, 'access', _219 => _219.onUserMessage, 'optionalCall', _220 => _220(action.text, {
7694
+ _optionalChain([callbacks, 'access', _214 => _214.onUserMessage, 'optionalCall', _215 => _215(action.text, {
7604
7695
  ownerType: action.ownerType,
7605
7696
  displayName: action.displayName
7606
7697
  })]);
7607
7698
  break;
7608
7699
  case "token_usage":
7609
- _optionalChain([callbacks, 'access', _221 => _221.onTokenUsage, 'optionalCall', _222 => _222(action.data)]);
7700
+ _optionalChain([callbacks, 'access', _216 => _216.onTokenUsage, 'optionalCall', _217 => _217(action.data)]);
7610
7701
  break;
7611
7702
  case "context_compaction_start": {
7612
7703
  const standalone = !isInStreamRef.current;
7613
7704
  const segments = accumulator.addContextCompaction();
7614
- _optionalChain([callbacks, 'access', _223 => _223.onSegmentsUpdate, 'optionalCall', _224 => _224(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7705
+ _optionalChain([callbacks, 'access', _218 => _218.onSegmentsUpdate, 'optionalCall', _219 => _219(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7615
7706
  break;
7616
7707
  }
7617
7708
  case "context_compaction_end": {
7618
7709
  const standalone = !isInStreamRef.current;
7619
7710
  const segments = accumulator.completeContextCompaction(action.summary);
7620
- _optionalChain([callbacks, 'access', _225 => _225.onSegmentsUpdate, 'optionalCall', _226 => _226(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7711
+ _optionalChain([callbacks, 'access', _220 => _220.onSegmentsUpdate, 'optionalCall', _221 => _221(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7621
7712
  break;
7622
7713
  }
7623
7714
  case "dialog_closed":
7624
- _optionalChain([callbacks, 'access', _227 => _227.onDialogClosed, 'optionalCall', _228 => _228()]);
7715
+ _optionalChain([callbacks, 'access', _222 => _222.onDialogClosed, 'optionalCall', _223 => _223()]);
7625
7716
  break;
7626
7717
  default:
7627
7718
  break;
@@ -7657,12 +7748,12 @@ function useRealtimeChunkProcessor(options) {
7657
7748
 
7658
7749
  // src/components/chat/utils/process-historical-messages.ts
7659
7750
  function getOwnerDisplayName(owner) {
7660
- if (_optionalChain([owner, 'optionalAccess', _229 => _229.type]) === OWNER_TYPE.ADMIN && owner.user) {
7751
+ if (_optionalChain([owner, 'optionalAccess', _224 => _224.type]) === OWNER_TYPE.ADMIN && owner.user) {
7661
7752
  const { firstName, lastName } = owner.user;
7662
7753
  const name = [firstName, lastName].filter(Boolean).join(" ");
7663
7754
  if (name) return name;
7664
7755
  }
7665
- return _optionalChain([owner, 'optionalAccess', _230 => _230.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
7756
+ return _optionalChain([owner, 'optionalAccess', _225 => _225.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
7666
7757
  }
7667
7758
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
7668
7759
  messageDataArray.forEach((data) => {
@@ -7725,10 +7816,10 @@ function processHistoricalMessages(messages, options = {}) {
7725
7816
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
7726
7817
  return;
7727
7818
  }
7728
- const isUserMessage = _optionalChain([msg, 'access', _231 => _231.owner, 'optionalAccess', _232 => _232.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _233 => _233.owner, 'optionalAccess', _234 => _234.type]) === OWNER_TYPE.ADMIN;
7819
+ const isUserMessage = _optionalChain([msg, 'access', _226 => _226.owner, 'optionalAccess', _227 => _227.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _228 => _228.owner, 'optionalAccess', _229 => _229.type]) === OWNER_TYPE.ADMIN;
7729
7820
  if (isUserMessage) {
7730
7821
  flushAssistantMessage();
7731
- const userAuthorType = _optionalChain([msg, 'access', _235 => _235.owner, 'optionalAccess', _236 => _236.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
7822
+ const userAuthorType = _optionalChain([msg, 'access', _230 => _230.owner, 'optionalAccess', _231 => _231.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
7732
7823
  messageDataArray.forEach((data) => {
7733
7824
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
7734
7825
  processedMessages.push({
@@ -7752,7 +7843,7 @@ function processHistoricalMessages(messages, options = {}) {
7752
7843
  });
7753
7844
  const nextMsg = messages[index + 1];
7754
7845
  const isLastMessage = index === messages.length - 1;
7755
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _237 => _237.owner, 'optionalAccess', _238 => _238.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _239 => _239.owner, 'optionalAccess', _240 => _240.type]) === OWNER_TYPE.ADMIN);
7846
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _232 => _232.owner, 'optionalAccess', _233 => _233.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _234 => _234.owner, 'optionalAccess', _235 => _235.type]) === OWNER_TYPE.ADMIN);
7756
7847
  if (isLastMessage || nextIsFromUser) {
7757
7848
  flushAssistantMessage();
7758
7849
  }
@@ -7849,7 +7940,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7849
7940
  });
7850
7941
  }
7851
7942
  } else {
7852
- _optionalChain([escalatedApprovals, 'optionalAccess', _241 => _241.set, 'call', _242 => _242(data.approvalRequestId, {
7943
+ _optionalChain([escalatedApprovals, 'optionalAccess', _236 => _236.set, 'call', _237 => _237(data.approvalRequestId, {
7853
7944
  command: data.command || "",
7854
7945
  explanation: data.explanation,
7855
7946
  approvalType,
@@ -7862,8 +7953,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7862
7953
  if ("approvalRequestId" in data && data.approvalRequestId) {
7863
7954
  const existingStatus = approvalStatuses[data.approvalRequestId];
7864
7955
  const status = existingStatus || (data.approved ? "approved" : "rejected");
7865
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _243 => _243.get, 'call', _244 => _244(data.approvalRequestId)]);
7866
- if (_optionalChain([escalatedData, 'optionalAccess', _245 => _245.toolCalls]) && escalatedData.toolCalls.length > 0) {
7956
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _238 => _238.get, 'call', _239 => _239(data.approvalRequestId)]);
7957
+ if (_optionalChain([escalatedData, 'optionalAccess', _240 => _240.toolCalls]) && escalatedData.toolCalls.length > 0) {
7867
7958
  if (batchApprovalsEnabled) {
7868
7959
  accumulator.addApprovalBatch(
7869
7960
  data.approvalRequestId,
@@ -7883,7 +7974,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7883
7974
  );
7884
7975
  }
7885
7976
  }
7886
- _optionalChain([escalatedApprovals, 'optionalAccess', _246 => _246.delete, 'call', _247 => _247(data.approvalRequestId)]);
7977
+ _optionalChain([escalatedApprovals, 'optionalAccess', _241 => _241.delete, 'call', _242 => _242(data.approvalRequestId)]);
7887
7978
  break;
7888
7979
  }
7889
7980
  if (escalatedData) {
@@ -7892,7 +7983,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7892
7983
  explanation: escalatedData.explanation,
7893
7984
  approvalType: escalatedData.approvalType
7894
7985
  });
7895
- _optionalChain([escalatedApprovals, 'optionalAccess', _248 => _248.delete, 'call', _249 => _249(data.approvalRequestId)]);
7986
+ _optionalChain([escalatedApprovals, 'optionalAccess', _243 => _243.delete, 'call', _244 => _244(data.approvalRequestId)]);
7896
7987
  }
7897
7988
  const before = accumulator.getSegments();
7898
7989
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -7908,9 +7999,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7908
7999
  case MESSAGE_TYPE.ERROR:
7909
8000
  if ("error" in data) {
7910
8001
  let message;
7911
- if ("details" in data && _optionalChain([data, 'optionalAccess', _250 => _250.details])) {
8002
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _245 => _245.details])) {
7912
8003
  try {
7913
- message = _optionalChain([JSON, 'access', _251 => _251.parse, 'call', _252 => _252(data.details), 'optionalAccess', _253 => _253.error, 'optionalAccess', _254 => _254.message]);
8004
+ message = _optionalChain([JSON, 'access', _246 => _246.parse, 'call', _247 => _247(data.details), 'optionalAccess', _248 => _248.error, 'optionalAccess', _249 => _249.message]);
7914
8005
  } catch (e18) {
7915
8006
  message = data.details;
7916
8007
  }
@@ -7993,10 +8084,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
7993
8084
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
7994
8085
  return;
7995
8086
  }
7996
- const isUserMessage = _optionalChain([msg, 'access', _255 => _255.owner, 'optionalAccess', _256 => _256.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _257 => _257.owner, 'optionalAccess', _258 => _258.type]) === OWNER_TYPE.ADMIN;
8087
+ const isUserMessage = _optionalChain([msg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _252 => _252.owner, 'optionalAccess', _253 => _253.type]) === OWNER_TYPE.ADMIN;
7997
8088
  if (isUserMessage) {
7998
8089
  flushAssistantMessage();
7999
- const userAuthorType = _optionalChain([msg, 'access', _259 => _259.owner, 'optionalAccess', _260 => _260.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8090
+ const userAuthorType = _optionalChain([msg, 'access', _254 => _254.owner, 'optionalAccess', _255 => _255.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8000
8091
  messageDataArray.forEach((data) => {
8001
8092
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8002
8093
  processedMessages.push({
@@ -8020,7 +8111,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8020
8111
  });
8021
8112
  const nextMsg = messages[index + 1];
8022
8113
  const isLastMessage = index === messages.length - 1;
8023
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _261 => _261.owner, 'optionalAccess', _262 => _262.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _263 => _263.owner, 'optionalAccess', _264 => _264.type]) === OWNER_TYPE.ADMIN);
8114
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _256 => _256.owner, 'optionalAccess', _257 => _257.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _258 => _258.owner, 'optionalAccess', _259 => _259.type]) === OWNER_TYPE.ADMIN);
8024
8115
  if (isLastMessage || nextIsFromUser) {
8025
8116
  flushAssistantMessage();
8026
8117
  }
@@ -8079,7 +8170,7 @@ function extractIncompleteMessageState(lastMessage) {
8079
8170
  break;
8080
8171
  case "approval_batch": {
8081
8172
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
8082
- (c) => _optionalChain([segment, 'access', _265 => _265.data, 'access', _266 => _266.executions, 'optionalAccess', _267 => _267[c.toolExecutionRequestId], 'optionalAccess', _268 => _268.status]) === "done"
8173
+ (c) => _optionalChain([segment, 'access', _260 => _260.data, 'access', _261 => _261.executions, 'optionalAccess', _262 => _262[c.toolExecutionRequestId], 'optionalAccess', _263 => _263.status]) === "done"
8083
8174
  );
8084
8175
  if (segment.status !== "rejected" && !allDone) {
8085
8176
  hasIncompleteState = true;
@@ -8241,7 +8332,7 @@ function Header({ config, platform }) {
8241
8332
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
8242
8333
  "flex justify-start w-full",
8243
8334
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
8244
- index < (_nullishCoalesce(_optionalChain([item, 'access', _269 => _269.children, 'optionalAccess', _270 => _270.length]), () => ( 0))) - 1 && "mb-1",
8335
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _264 => _264.children, 'optionalAccess', _265 => _265.length]), () => ( 0))) - 1 && "mb-1",
8245
8336
  "text-ods-text-primary",
8246
8337
  // All dropdown items use primary text color
8247
8338
  child.isActive && "bg-ods-bg-hover"
@@ -8333,7 +8424,7 @@ function Header({ config, platform }) {
8333
8424
  style: config.style,
8334
8425
  children: [
8335
8426
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
8336
- _optionalChain([config, 'access', _271 => _271.actions, 'optionalAccess', _272 => _272.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
8427
+ _optionalChain([config, 'access', _266 => _266.actions, 'optionalAccess', _267 => _267.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
8337
8428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
8338
8429
  ] }),
8339
8430
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8350,7 +8441,7 @@ function Header({ config, platform }) {
8350
8441
  }
8351
8442
  ),
8352
8443
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
8353
- _optionalChain([config, 'access', _273 => _273.actions, 'optionalAccess', _274 => _274.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
8444
+ _optionalChain([config, 'access', _268 => _268.actions, 'optionalAccess', _269 => _269.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
8354
8445
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8355
8446
  _chunkBJTOSUT4cjs.Button,
8356
8447
  {
@@ -8358,10 +8449,10 @@ function Header({ config, platform }) {
8358
8449
  size: "icon",
8359
8450
  className: "flex md:hidden",
8360
8451
  onClick: () => {
8361
- _optionalChain([config, 'access', _275 => _275.mobile, 'optionalAccess', _276 => _276.onToggle, 'optionalCall', _277 => _277()]);
8452
+ _optionalChain([config, 'access', _270 => _270.mobile, 'optionalAccess', _271 => _271.onToggle, 'optionalCall', _272 => _272()]);
8362
8453
  },
8363
- "aria-label": _optionalChain([config, 'access', _278 => _278.mobile, 'optionalAccess', _279 => _279.isOpen]) ? "Close menu" : "Open menu",
8364
- leftIcon: _optionalChain([config, 'access', _280 => _280.mobile, 'optionalAccess', _281 => _281.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Menu01Icon, {})
8454
+ "aria-label": _optionalChain([config, 'access', _273 => _273.mobile, 'optionalAccess', _274 => _274.isOpen]) ? "Close menu" : "Open menu",
8455
+ leftIcon: _optionalChain([config, 'access', _275 => _275.mobile, 'optionalAccess', _276 => _276.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Menu01Icon, {})
8365
8456
  }
8366
8457
  )
8367
8458
  ] })
@@ -8378,10 +8469,10 @@ function Header({ config, platform }) {
8378
8469
  // src/components/navigation/header-skeleton.tsx
8379
8470
 
8380
8471
  function HeaderSkeleton({ config }) {
8381
- const showNavigation = _optionalChain([config, 'optionalAccess', _282 => _282.navigation]) && config.navigation.items.length > 0;
8382
- const showActions = _optionalChain([config, 'optionalAccess', _283 => _283.actions, 'optionalAccess', _284 => _284.right]) && config.actions.right.length > 0;
8383
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _285 => _285.mobile, 'optionalAccess', _286 => _286.enabled]);
8384
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _287 => _287.className, 'optionalAccess', _288 => _288.includes, 'call', _289 => _289("admin")]);
8472
+ const showNavigation = _optionalChain([config, 'optionalAccess', _277 => _277.navigation]) && config.navigation.items.length > 0;
8473
+ const showActions = _optionalChain([config, 'optionalAccess', _278 => _278.actions, 'optionalAccess', _279 => _279.right]) && config.actions.right.length > 0;
8474
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _280 => _280.mobile, 'optionalAccess', _281 => _281.enabled]);
8475
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _282 => _282.className, 'optionalAccess', _283 => _283.includes, 'call', _284 => _284("admin")]);
8385
8476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8386
8477
  "header",
8387
8478
  {
@@ -8390,11 +8481,11 @@ function HeaderSkeleton({ config }) {
8390
8481
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
8391
8482
  "px-6 py-3",
8392
8483
  "transition-opacity duration-300 ease-in-out",
8393
- _optionalChain([config, 'optionalAccess', _290 => _290.className])
8484
+ _optionalChain([config, 'optionalAccess', _285 => _285.className])
8394
8485
  ),
8395
8486
  children: [
8396
8487
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
8397
- isAdminHeader && _optionalChain([config, 'optionalAccess', _291 => _291.actions, 'optionalAccess', _292 => _292.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
8488
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _286 => _286.actions, 'optionalAccess', _287 => _287.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
8398
8489
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
8399
8490
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
8400
8491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -8402,8 +8493,8 @@ function HeaderSkeleton({ config }) {
8402
8493
  ] }),
8403
8494
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
8404
8495
  "hidden md:flex items-center gap-2",
8405
- _optionalChain([config, 'optionalAccess', _293 => _293.navigation, 'optionalAccess', _294 => _294.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
8406
- _optionalChain([config, 'optionalAccess', _295 => _295.navigation, 'optionalAccess', _296 => _296.position]) === "right" && "ml-auto mr-4"
8496
+ _optionalChain([config, 'optionalAccess', _288 => _288.navigation, 'optionalAccess', _289 => _289.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
8497
+ _optionalChain([config, 'optionalAccess', _290 => _290.navigation, 'optionalAccess', _291 => _291.position]) === "right" && "ml-auto mr-4"
8407
8498
  ), children: [
8408
8499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
8409
8500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -8451,7 +8542,7 @@ function MobileNavPanel({ isOpen, config }) {
8451
8542
  _react.useEffect.call(void 0, () => {
8452
8543
  const handleKeyDown = (e) => {
8453
8544
  if (e.key === "Escape" && isOpen) {
8454
- _optionalChain([config, 'access', _297 => _297.onClose, 'optionalCall', _298 => _298()]);
8545
+ _optionalChain([config, 'access', _292 => _292.onClose, 'optionalCall', _293 => _293()]);
8455
8546
  }
8456
8547
  };
8457
8548
  if (isOpen) {
@@ -8468,7 +8559,7 @@ function MobileNavPanel({ isOpen, config }) {
8468
8559
  if (item.onClick) {
8469
8560
  item.onClick();
8470
8561
  }
8471
- _optionalChain([config, 'access', _299 => _299.onClose, 'optionalCall', _300 => _300()]);
8562
+ _optionalChain([config, 'access', _294 => _294.onClose, 'optionalCall', _295 => _295()]);
8472
8563
  };
8473
8564
  if (item.href) {
8474
8565
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8686,7 +8777,7 @@ function SlidingSidebar({ config }) {
8686
8777
  variant: "transparent",
8687
8778
  size: "default",
8688
8779
  onClick: () => {
8689
- _optionalChain([item, 'access', _301 => _301.onClick, 'optionalCall', _302 => _302()]);
8780
+ _optionalChain([item, 'access', _296 => _296.onClick, 'optionalCall', _297 => _297()]);
8690
8781
  config.onClose();
8691
8782
  },
8692
8783
  leftIcon: item.icon,
@@ -8709,7 +8800,7 @@ function SlidingSidebar({ config }) {
8709
8800
  variant: "transparent",
8710
8801
  size: "default",
8711
8802
  onClick: () => {
8712
- _optionalChain([item, 'access', _303 => _303.onClick, 'optionalCall', _304 => _304()]);
8803
+ _optionalChain([item, 'access', _298 => _298.onClick, 'optionalCall', _299 => _299()]);
8713
8804
  config.onClose();
8714
8805
  },
8715
8806
  leftIcon: item.icon,
@@ -8836,7 +8927,7 @@ function StickySectionNav({
8836
8927
  ] });
8837
8928
  }
8838
8929
  function useSectionNavigation(sections, options) {
8839
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _305 => _305[0], 'optionalAccess', _306 => _306.id]) || "");
8930
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _300 => _300[0], 'optionalAccess', _301 => _301.id]) || "");
8840
8931
  const isScrollingFromClick = _react.useRef.call(void 0, false);
8841
8932
  const { offset: offset2 = 100 } = options || {};
8842
8933
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -8861,7 +8952,7 @@ function useSectionNavigation(sections, options) {
8861
8952
  const handleScroll = () => {
8862
8953
  if (isScrollingFromClick.current) return;
8863
8954
  const scrollPosition = window.scrollY + offset2 + 50;
8864
- let currentSection = _optionalChain([sections, 'access', _307 => _307[0], 'optionalAccess', _308 => _308.id]) || "";
8955
+ let currentSection = _optionalChain([sections, 'access', _302 => _302[0], 'optionalAccess', _303 => _303.id]) || "";
8865
8956
  for (let i = sections.length - 1; i >= 0; i--) {
8866
8957
  const element = document.getElementById(sections[i].id);
8867
8958
  if (element && scrollPosition >= element.offsetTop) {
@@ -9045,14 +9136,14 @@ function NavigationSidebar({ config, disabled = false }) {
9045
9136
  const showLabel = isLgUp && !minimized;
9046
9137
  const handleToggle = _react.useCallback.call(void 0, () => {
9047
9138
  setMinimized((prev) => !prev);
9048
- _optionalChain([config, 'access', _309 => _309.onToggleMinimized, 'optionalCall', _310 => _310()]);
9139
+ _optionalChain([config, 'access', _304 => _304.onToggleMinimized, 'optionalCall', _305 => _305()]);
9049
9140
  }, [setMinimized, config]);
9050
9141
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
9051
- _optionalChain([event, 'optionalAccess', _311 => _311.stopPropagation, 'call', _312 => _312()]);
9142
+ _optionalChain([event, 'optionalAccess', _306 => _306.stopPropagation, 'call', _307 => _307()]);
9052
9143
  if (item.onClick) {
9053
9144
  item.onClick();
9054
9145
  } else if (item.path) {
9055
- _optionalChain([config, 'access', _313 => _313.onNavigate, 'optionalCall', _314 => _314(item.path)]);
9146
+ _optionalChain([config, 'access', _308 => _308.onNavigate, 'optionalCall', _309 => _309(item.path)]);
9056
9147
  }
9057
9148
  }, [config]);
9058
9149
  const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
@@ -9192,7 +9283,7 @@ function NotificationsProvider({
9192
9283
  const setShowPopups = React24.useCallback(
9193
9284
  (value2) => {
9194
9285
  setShowPopupsState(value2);
9195
- _optionalChain([onShowPopupsChange, 'optionalCall', _315 => _315(value2)]);
9286
+ _optionalChain([onShowPopupsChange, 'optionalCall', _310 => _310(value2)]);
9196
9287
  },
9197
9288
  [onShowPopupsChange]
9198
9289
  );
@@ -9297,11 +9388,11 @@ function HeaderGlobalSearch({
9297
9388
  };
9298
9389
  const handleSubmit = (e) => {
9299
9390
  e.preventDefault();
9300
- _optionalChain([onSubmit, 'optionalCall', _316 => _316(currentValue)]);
9391
+ _optionalChain([onSubmit, 'optionalCall', _311 => _311(currentValue)]);
9301
9392
  };
9302
9393
  const handleKeyDown = (e) => {
9303
9394
  if (e.key === "Enter") {
9304
- _optionalChain([onSubmit, 'optionalCall', _317 => _317(currentValue)]);
9395
+ _optionalChain([onSubmit, 'optionalCall', _312 => _312(currentValue)]);
9305
9396
  }
9306
9397
  };
9307
9398
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -9347,8 +9438,8 @@ function HeaderOrganizationFilter({
9347
9438
  className
9348
9439
  }) {
9349
9440
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
9350
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _318 => _318.name]) || "All Organizations";
9351
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _319 => _319.deviceCount]), () => ( totalDeviceCount));
9441
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _313 => _313.name]) || "All Organizations";
9442
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _314 => _314.deviceCount]), () => ( totalDeviceCount));
9352
9443
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenu, { children: [
9353
9444
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9354
9445
  "button",
@@ -9373,11 +9464,11 @@ function HeaderOrganizationFilter({
9373
9464
  }
9374
9465
  ) }),
9375
9466
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
9376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _320 => _320("")]), children: "All Organizations" }),
9467
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _315 => _315("")]), children: "All Organizations" }),
9377
9468
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9378
9469
  _chunkBJTOSUT4cjs.DropdownMenuItem,
9379
9470
  {
9380
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _321 => _321(org.id)]),
9471
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _316 => _316(org.id)]),
9381
9472
  children: org.name
9382
9473
  },
9383
9474
  org.id
@@ -9549,9 +9640,9 @@ function NotificationsHeaderButton({
9549
9640
  dimmedClass
9550
9641
  }) {
9551
9642
  const ctx = useOptionalNotifications();
9552
- const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _322 => _322.unreadCount]), () => ( fallbackUnreadCount));
9553
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _323 => _323.isOpen]), () => ( false));
9554
- const onClick = _optionalChain([ctx, 'optionalAccess', _324 => _324.toggle]);
9643
+ const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _317 => _317.unreadCount]), () => ( fallbackUnreadCount));
9644
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _318 => _318.isOpen]), () => ( false));
9645
+ const onClick = _optionalChain([ctx, 'optionalAccess', _319 => _319.toggle]);
9555
9646
  const Icon2 = unreadCount > 0 ? _chunkTMD5LDX4cjs.BellRingingIcon : _chunkTMD5LDX4cjs.BellIcon;
9556
9647
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9557
9648
  HeaderButton,
@@ -9725,7 +9816,7 @@ var Switch = React28.forwardRef(({ className, checked, onCheckedChange, ...props
9725
9816
  }, [checked]);
9726
9817
  const handleCheckedChange = (newChecked) => {
9727
9818
  setIsChecked(newChecked);
9728
- _optionalChain([onCheckedChange, 'optionalCall', _325 => _325(newChecked)]);
9819
+ _optionalChain([onCheckedChange, 'optionalCall', _320 => _320(newChecked)]);
9729
9820
  };
9730
9821
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9731
9822
  SwitchPrimitives.Root,
@@ -9778,7 +9869,7 @@ function NotificationTile({
9778
9869
  if (!isLive) return;
9779
9870
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
9780
9871
  const timer = window.setTimeout(() => {
9781
- _optionalChain([onSettle, 'optionalCall', _326 => _326(id)]);
9872
+ _optionalChain([onSettle, 'optionalCall', _321 => _321(id)]);
9782
9873
  }, remaining);
9783
9874
  return () => window.clearTimeout(timer);
9784
9875
  }, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
@@ -9816,7 +9907,7 @@ function NotificationTile({
9816
9907
  "button",
9817
9908
  {
9818
9909
  type: "button",
9819
- onClick: () => _optionalChain([onSettle, 'optionalCall', _327 => _327(id)]),
9910
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _322 => _322(id)]),
9820
9911
  "aria-label": "Dismiss notification",
9821
9912
  tabIndex: isLive ? 0 : -1,
9822
9913
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
@@ -9988,7 +10079,7 @@ var MobileBurgerMenu = React33.default.memo(function MobileBurgerMenu2({
9988
10079
  if (item.onClick) {
9989
10080
  item.onClick();
9990
10081
  } else if (item.path) {
9991
- _optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
10082
+ _optionalChain([config, 'access', _323 => _323.onNavigate, 'optionalCall', _324 => _324(item.path)]);
9992
10083
  }
9993
10084
  onClose();
9994
10085
  }, [config, onClose]);
@@ -10332,7 +10423,7 @@ var ShellTypeBadge = ({
10332
10423
  className,
10333
10424
  iconClassName
10334
10425
  }) => {
10335
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _330 => _330.toUpperCase, 'call', _331 => _331()]);
10426
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _325 => _325.toUpperCase, 'call', _326 => _326()]);
10336
10427
  const label = getShellLabel(normalizedType);
10337
10428
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
10338
10429
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -10789,7 +10880,7 @@ function AnnouncementBar() {
10789
10880
  setIsVisible(false);
10790
10881
  };
10791
10882
  const handleCtaClick = () => {
10792
- if (!_optionalChain([announcement, 'optionalAccess', _332 => _332.cta_url])) return;
10883
+ if (!_optionalChain([announcement, 'optionalAccess', _327 => _327.cta_url])) return;
10793
10884
  announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
10794
10885
  };
10795
10886
  const renderIcon = () => {
@@ -10915,8 +11006,8 @@ function getVendorLogo(vendor) {
10915
11006
  if (vendor.logo) {
10916
11007
  return fixSupabaseStorageUrl(vendor.logo);
10917
11008
  }
10918
- const logoMedia = _optionalChain([vendor, 'access', _333 => _333.vendor_media, 'optionalAccess', _334 => _334.find, 'call', _335 => _335((m) => m.media_type === "logo")]);
10919
- if (_optionalChain([logoMedia, 'optionalAccess', _336 => _336.media_url])) {
11009
+ const logoMedia = _optionalChain([vendor, 'access', _328 => _328.vendor_media, 'optionalAccess', _329 => _329.find, 'call', _330 => _330((m) => m.media_type === "logo")]);
11010
+ if (_optionalChain([logoMedia, 'optionalAccess', _331 => _331.media_url])) {
10920
11011
  return fixSupabaseStorageUrl(logoMedia.media_url);
10921
11012
  }
10922
11013
  return null;
@@ -10991,7 +11082,7 @@ function VendorIcon({
10991
11082
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
10992
11083
  "flex items-center justify-center text-xs font-medium uppercase",
10993
11084
  backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
10994
- ), children: _optionalChain([vendor, 'access', _337 => _337.title, 'optionalAccess', _338 => _338.substring, 'call', _339 => _339(0, 2)]) || "??" }) });
11085
+ ), children: _optionalChain([vendor, 'access', _332 => _332.title, 'optionalAccess', _333 => _333.substring, 'call', _334 => _334(0, 2)]) || "??" }) });
10995
11086
  }
10996
11087
 
10997
11088
  // src/components/categories-cart.tsx
@@ -11275,7 +11366,7 @@ function UserSummary({
11275
11366
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
11276
11367
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
11277
11368
  name,
11278
- _optionalChain([mspPreview, 'optionalAccess', _340 => _340.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
11369
+ _optionalChain([mspPreview, 'optionalAccess', _335 => _335.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
11279
11370
  " \u2022 ",
11280
11371
  mspPreview.name
11281
11372
  ] })
@@ -11297,7 +11388,7 @@ function UserSummary({
11297
11388
  height: 40,
11298
11389
  className: "object-cover"
11299
11390
  }
11300
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _341 => _341.name, 'optionalAccess', _342 => _342.charAt, 'call', _343 => _343(0), 'access', _344 => _344.toUpperCase, 'call', _345 => _345()]) || "?" }) })
11391
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _336 => _336.name, 'optionalAccess', _337 => _337.charAt, 'call', _338 => _338(0), 'access', _339 => _339.toUpperCase, 'call', _340 => _340()]) || "?" }) })
11301
11392
  ] }),
11302
11393
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
11303
11394
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
@@ -11310,7 +11401,7 @@ function UserSummary({
11310
11401
  typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
11311
11402
  ].filter(Boolean).flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: seg === " \u2022 " ? "text-ods-text-secondary" : "", children: seg }, idx)) })
11312
11403
  ] }),
11313
- (_optionalChain([authProviders, 'optionalAccess', _346 => _346.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
11404
+ (_optionalChain([authProviders, 'optionalAccess', _341 => _341.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
11314
11405
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
11315
11406
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
11316
11407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -11319,7 +11410,7 @@ function UserSummary({
11319
11410
  ] })
11320
11411
  ] })
11321
11412
  ] }),
11322
- (_optionalChain([authProviders, 'optionalAccess', _347 => _347.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
11413
+ (_optionalChain([authProviders, 'optionalAccess', _342 => _342.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
11323
11414
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
11324
11415
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
11325
11416
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -12040,7 +12131,7 @@ function FilterChip({
12040
12131
  onClick: disabled ? void 0 : (e) => {
12041
12132
  e.preventDefault();
12042
12133
  e.stopPropagation();
12043
- _optionalChain([onClick, 'optionalCall', _348 => _348()]);
12134
+ _optionalChain([onClick, 'optionalCall', _343 => _343()]);
12044
12135
  },
12045
12136
  role: onClick ? "button" : void 0,
12046
12137
  tabIndex: onClick && !disabled ? 0 : void 0,
@@ -12227,13 +12318,13 @@ function useUnifiedFiltering(config) {
12227
12318
  const searchParams = _navigation.useSearchParams.call(void 0, );
12228
12319
  const [isPending, startTransition] = _react.useTransition.call(void 0, );
12229
12320
  const getCurrentFilterState = () => {
12230
- const search = _optionalChain([searchParams, 'optionalAccess', _349 => _349.get, 'call', _350 => _350("search")]) || void 0;
12231
- const categories = _optionalChain([searchParams, 'optionalAccess', _351 => _351.get, 'call', _352 => _352("category"), 'optionalAccess', _353 => _353.split, 'call', _354 => _354(","), 'access', _355 => _355.filter, 'call', _356 => _356(Boolean)]) || [];
12232
- const subcategories = _optionalChain([searchParams, 'optionalAccess', _357 => _357.get, 'call', _358 => _358("subcategory"), 'optionalAccess', _359 => _359.split, 'call', _360 => _360(","), 'access', _361 => _361.filter, 'call', _362 => _362(Boolean)]) || [];
12233
- const tags = _optionalChain([searchParams, 'optionalAccess', _363 => _363.get, 'call', _364 => _364("tag"), 'optionalAccess', _365 => _365.split, 'call', _366 => _366(","), 'access', _367 => _367.filter, 'call', _368 => _368(Boolean)]) || [];
12234
- const filters = _optionalChain([searchParams, 'optionalAccess', _369 => _369.getAll, 'call', _370 => _370("filter")]) || [];
12235
- const pricing = _optionalChain([searchParams, 'optionalAccess', _371 => _371.get, 'call', _372 => _372("pricing")]) || void 0;
12236
- const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _373 => _373.get, 'call', _374 => _374("page")]) || "1");
12321
+ const search = _optionalChain([searchParams, 'optionalAccess', _344 => _344.get, 'call', _345 => _345("search")]) || void 0;
12322
+ const categories = _optionalChain([searchParams, 'optionalAccess', _346 => _346.get, 'call', _347 => _347("category"), 'optionalAccess', _348 => _348.split, 'call', _349 => _349(","), 'access', _350 => _350.filter, 'call', _351 => _351(Boolean)]) || [];
12323
+ const subcategories = _optionalChain([searchParams, 'optionalAccess', _352 => _352.get, 'call', _353 => _353("subcategory"), 'optionalAccess', _354 => _354.split, 'call', _355 => _355(","), 'access', _356 => _356.filter, 'call', _357 => _357(Boolean)]) || [];
12324
+ const tags = _optionalChain([searchParams, 'optionalAccess', _358 => _358.get, 'call', _359 => _359("tag"), 'optionalAccess', _360 => _360.split, 'call', _361 => _361(","), 'access', _362 => _362.filter, 'call', _363 => _363(Boolean)]) || [];
12325
+ const filters = _optionalChain([searchParams, 'optionalAccess', _364 => _364.getAll, 'call', _365 => _365("filter")]) || [];
12326
+ const pricing = _optionalChain([searchParams, 'optionalAccess', _366 => _366.get, 'call', _367 => _367("pricing")]) || void 0;
12327
+ const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _368 => _368.get, 'call', _369 => _369("page")]) || "1");
12237
12328
  return {
12238
12329
  search,
12239
12330
  categories,
@@ -12514,13 +12605,13 @@ function FooterWaitlistButton({ className }) {
12514
12605
  const router = _navigation.useRouter.call(void 0, );
12515
12606
  const pathname = _navigation.usePathname.call(void 0, );
12516
12607
  const handleClick = _react.useCallback.call(void 0, () => {
12517
- if (_optionalChain([pathname, 'optionalAccess', _375 => _375.startsWith, 'call', _376 => _376("/waitlist")])) {
12608
+ if (_optionalChain([pathname, 'optionalAccess', _370 => _370.startsWith, 'call', _371 => _371("/waitlist")])) {
12518
12609
  const anchor = document.getElementById("waitlist-form");
12519
12610
  if (anchor) {
12520
12611
  anchor.scrollIntoView({ behavior: "smooth", block: "center" });
12521
12612
  setTimeout(() => {
12522
12613
  const input = anchor.querySelector('input[type="email"]');
12523
- _optionalChain([input, 'optionalAccess', _377 => _377.focus, 'call', _378 => _378()]);
12614
+ _optionalChain([input, 'optionalAccess', _372 => _372.focus, 'call', _373 => _373()]);
12524
12615
  }, 400);
12525
12616
  return;
12526
12617
  }
@@ -12549,7 +12640,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
12549
12640
  const [uploading, setUploading] = _react.useState.call(void 0, false);
12550
12641
  const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
12551
12642
  const MAX_SIZE = 5 * 1024 * 1024;
12552
- const openDialog = () => _optionalChain([inputRef, 'access', _379 => _379.current, 'optionalAccess', _380 => _380.click, 'call', _381 => _381()]);
12643
+ const openDialog = () => _optionalChain([inputRef, 'access', _374 => _374.current, 'optionalAccess', _375 => _375.click, 'call', _376 => _376()]);
12553
12644
  async function handleFile(file) {
12554
12645
  if (!file) return;
12555
12646
  if (!ALLOWED_TYPES.includes(file.type)) {
@@ -12605,7 +12696,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
12605
12696
  }
12606
12697
  }
12607
12698
  const handleSelect = (e) => {
12608
- handleFile(_optionalChain([e, 'access', _382 => _382.target, 'access', _383 => _383.files, 'optionalAccess', _384 => _384[0]]));
12699
+ handleFile(_optionalChain([e, 'access', _377 => _377.target, 'access', _378 => _378.files, 'optionalAccess', _379 => _379[0]]));
12609
12700
  };
12610
12701
  const handleRemove = async () => {
12611
12702
  if (onDelete) {
@@ -12742,7 +12833,7 @@ function ResponsiveIconsBlock({ loading = false }) {
12742
12833
  const getIconForIndex = (index) => {
12743
12834
  const col = index % displayColumns;
12744
12835
  const row = Math.floor(index / displayColumns);
12745
- return _optionalChain([iconGrid, 'access', _385 => _385[row], 'optionalAccess', _386 => _386[col]]) || availableIcons[0];
12836
+ return _optionalChain([iconGrid, 'access', _380 => _380[row], 'optionalAccess', _381 => _381[col]]) || availableIcons[0];
12746
12837
  };
12747
12838
  if (loading || iconGrid.length === 0) {
12748
12839
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -12828,7 +12919,7 @@ var Slider = React35.forwardRef(
12828
12919
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
12829
12920
  const handleChange = (e) => {
12830
12921
  const newValue = [Number(e.target.value)];
12831
- _optionalChain([onValueChange, 'optionalCall', _387 => _387(newValue)]);
12922
+ _optionalChain([onValueChange, 'optionalCall', _382 => _382(newValue)]);
12832
12923
  };
12833
12924
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12834
12925
  "input",
@@ -12941,7 +13032,7 @@ var ImageCropper = ({
12941
13032
  });
12942
13033
  } else if (e.key === "Escape") {
12943
13034
  e.preventDefault();
12944
- _optionalChain([onCancel, 'optionalCall', _388 => _388()]);
13035
+ _optionalChain([onCancel, 'optionalCall', _383 => _383()]);
12945
13036
  }
12946
13037
  };
12947
13038
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -13182,6 +13273,10 @@ function YouTubeFacade({
13182
13273
  if (!videoId) return null;
13183
13274
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, YouTubeFacadeInner, { videoId, title, priority, className, minimalControls });
13184
13275
  }
13276
+ var YT_NOCOOKIE_ORIGIN = "https://www.youtube-nocookie.com";
13277
+ var YT_STATE_ENDED = 0;
13278
+ var YT_STATE_PLAYING = 1;
13279
+ var YT_PLAYING_BLUR_DELAY_MS = 1e3;
13185
13280
  function YouTubeFacadeInner({
13186
13281
  videoId,
13187
13282
  title,
@@ -13190,49 +13285,79 @@ function YouTubeFacadeInner({
13190
13285
  minimalControls
13191
13286
  }) {
13192
13287
  const [activated, setActivated] = _react.useState.call(void 0, false);
13193
- const wrapperRef = _react.useRef.call(void 0, null);
13194
- const embedParams = new URLSearchParams({
13195
- autoplay: "1",
13196
- rel: "0",
13197
- modestbranding: "1",
13198
- playsinline: "1"
13199
- });
13200
- if (minimalControls) {
13201
- embedParams.set("controls", "0");
13202
- embedParams.set("showinfo", "0");
13203
- embedParams.set("fs", "0");
13204
- embedParams.set("iv_load_policy", "3");
13205
- embedParams.set("cc_load_policy", "0");
13206
- embedParams.set("disablekb", "1");
13207
- }
13208
- const embedUrl = `https://www.youtube-nocookie.com/embed/${videoId}?${embedParams.toString()}`;
13209
- const posterJpg = `https://i.ytimg.com/vi/${videoId}/mqdefault.jpg`;
13210
- const posterWebp = `https://i.ytimg.com/vi_webp/${videoId}/mqdefault.webp`;
13211
- _react.useEffect.call(void 0, () => {
13212
- if (!activated) return;
13213
- function handleOutsideClick(event) {
13214
- const target = event.target;
13215
- if (!target) return;
13216
- if (_optionalChain([wrapperRef, 'access', _389 => _389.current, 'optionalAccess', _390 => _390.contains, 'call', _391 => _391(target)])) return;
13217
- setActivated(false);
13288
+ const iframeRef = _react.useRef.call(void 0, null);
13289
+ const { embedUrl, posterJpg, posterWebp } = _react.useMemo.call(void 0, () => {
13290
+ const params = new URLSearchParams({
13291
+ autoplay: "1",
13292
+ rel: "0",
13293
+ modestbranding: "1",
13294
+ playsinline: "1",
13295
+ enablejsapi: "1"
13296
+ });
13297
+ if (minimalControls) {
13298
+ params.set("controls", "0");
13299
+ params.set("fs", "0");
13300
+ params.set("iv_load_policy", "3");
13301
+ params.set("cc_load_policy", "0");
13302
+ params.set("disablekb", "1");
13218
13303
  }
13219
- document.addEventListener("pointerdown", handleOutsideClick);
13220
- return () => document.removeEventListener("pointerdown", handleOutsideClick);
13221
- }, [activated]);
13304
+ return {
13305
+ embedUrl: `${YT_NOCOOKIE_ORIGIN}/embed/${videoId}?${params.toString()}`,
13306
+ posterJpg: `https://i.ytimg.com/vi/${videoId}/mqdefault.jpg`,
13307
+ posterWebp: `https://i.ytimg.com/vi_webp/${videoId}/mqdefault.webp`
13308
+ };
13309
+ }, [videoId, minimalControls]);
13222
13310
  _react.useEffect.call(void 0, () => {
13223
13311
  if (!activated) return;
13224
- function handleEscape(event) {
13225
- if (event.key === "Escape") setActivated(false);
13312
+ const iframe = iframeRef.current;
13313
+ if (!iframe) return;
13314
+ function subscribe() {
13315
+ _optionalChain([iframe, 'optionalAccess', _384 => _384.contentWindow, 'optionalAccess', _385 => _385.postMessage, 'call', _386 => _386(
13316
+ '{"event":"listening"}',
13317
+ YT_NOCOOKIE_ORIGIN
13318
+ )]);
13319
+ }
13320
+ iframe.addEventListener("load", subscribe);
13321
+ subscribe();
13322
+ let blurTimer = null;
13323
+ function handleMessage(event) {
13324
+ if (event.origin !== YT_NOCOOKIE_ORIGIN) return;
13325
+ if (typeof event.data !== "string") return;
13326
+ let payload = null;
13327
+ try {
13328
+ payload = JSON.parse(event.data);
13329
+ } catch (e24) {
13330
+ return;
13331
+ }
13332
+ if (!payload || payload.event !== "infoDelivery") return;
13333
+ const state = _optionalChain([payload, 'access', _387 => _387.info, 'optionalAccess', _388 => _388.playerState]);
13334
+ if (typeof state !== "number") return;
13335
+ if (state === YT_STATE_PLAYING) {
13336
+ if (blurTimer !== null) return;
13337
+ blurTimer = setTimeout(() => {
13338
+ blurTimer = null;
13339
+ _optionalChain([iframeRef, 'access', _389 => _389.current, 'optionalAccess', _390 => _390.blur, 'call', _391 => _391()]);
13340
+ }, YT_PLAYING_BLUR_DELAY_MS);
13341
+ return;
13342
+ }
13343
+ if (state === YT_STATE_ENDED) {
13344
+ setActivated(false);
13345
+ }
13226
13346
  }
13227
- document.addEventListener("keydown", handleEscape);
13228
- return () => document.removeEventListener("keydown", handleEscape);
13347
+ window.addEventListener("message", handleMessage);
13348
+ return () => {
13349
+ iframe.removeEventListener("load", subscribe);
13350
+ window.removeEventListener("message", handleMessage);
13351
+ if (blurTimer !== null) clearTimeout(blurTimer);
13352
+ };
13229
13353
  }, [activated]);
13230
13354
  const wrapperClass = `relative w-full ${_nullishCoalesce(className, () => ( ""))}`;
13231
13355
  const wrapperStyle = { paddingBottom: "56.25%" };
13232
13356
  if (activated) {
13233
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: wrapperRef, className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13357
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13234
13358
  "iframe",
13235
13359
  {
13360
+ ref: iframeRef,
13236
13361
  src: embedUrl,
13237
13362
  allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
13238
13363
  allowFullScreen: true,
@@ -13241,7 +13366,7 @@ function YouTubeFacadeInner({
13241
13366
  }
13242
13367
  ) });
13243
13368
  }
13244
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: wrapperRef, className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13369
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13245
13370
  "button",
13246
13371
  {
13247
13372
  type: "button",
@@ -13263,7 +13388,7 @@ function YouTubeFacadeInner({
13263
13388
  }
13264
13389
  )
13265
13390
  ] }),
13266
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 transition-opacity duration-200 group-hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-ods-accent text-ods-text-on-accent shadow-lg transition-transform duration-200 group-hover:scale-110", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: 24, height: 24, fill: "currentColor", viewBox: "0 0 24 24", className: "ml-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polygon", { points: "5,3 19,12 5,21" }) }) }) })
13391
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 transition-opacity duration-200 group-hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-ods-accent text-ods-text-on-accent shadow-lg transition-transform duration-200 group-hover:scale-110", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.PlayIcon, { size: 24, color: "currentColor", className: "ml-1" }) }) })
13267
13392
  ]
13268
13393
  }
13269
13394
  ) });
@@ -13410,7 +13535,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
13410
13535
  loading: "lazy"
13411
13536
  }
13412
13537
  ),
13413
- (item.type === "video" || item.type === "youtube") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-black/70 rounded-full p-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "12", height: "12", fill: "white", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M8 5v14l11-7z" }) }) }) }),
13538
+ (item.type === "video" || item.type === "youtube") && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-black/70 rounded-full p-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.PlayIcon, { size: 12, color: "white" }) }) }),
13414
13539
  isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
13415
13540
  ]
13416
13541
  },
@@ -30336,8 +30461,8 @@ function VideoSourceSelector({
30336
30461
  onVideoSourceTypeChange,
30337
30462
  youtubeUrl,
30338
30463
  onYoutubeUrlChange,
30339
- uploadedVideoUrl,
30340
- onUploadedVideoUrlChange,
30464
+ mainVideoUrl,
30465
+ onMainVideoUrlChange,
30341
30466
  onUploadVideo,
30342
30467
  showAIBadge = true,
30343
30468
  isAIGenerated = false,
@@ -30375,7 +30500,7 @@ function VideoSourceSelector({
30375
30500
  });
30376
30501
  setUploadProgress(100);
30377
30502
  setUploadMessage("Upload complete!");
30378
- onUploadedVideoUrlChange(url);
30503
+ onMainVideoUrlChange(url);
30379
30504
  } catch (err) {
30380
30505
  setUploadError(err instanceof Error ? err.message : "Failed to upload video");
30381
30506
  } finally {
@@ -30387,10 +30512,10 @@ function VideoSourceSelector({
30387
30512
  }
30388
30513
  };
30389
30514
  input.click();
30390
- }, [onUploadVideo, onUploadedVideoUrlChange]);
30515
+ }, [onUploadVideo, onMainVideoUrlChange]);
30391
30516
  const handleDeleteVideo = _react.useCallback.call(void 0, () => {
30392
- onUploadedVideoUrlChange("");
30393
- }, [onUploadedVideoUrlChange]);
30517
+ onMainVideoUrlChange("");
30518
+ }, [onMainVideoUrlChange]);
30394
30519
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `space-y-4 p-6 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
30395
30520
  showTitle && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "font-['Azeret_Mono'] text-[18px] font-semibold uppercase text-ods-text-primary flex items-center gap-2", children: [
30396
30521
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-5 w-5" }),
@@ -30481,10 +30606,10 @@ function VideoSourceSelector({
30481
30606
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-ods-text-secondary", children: uploadMessage })
30482
30607
  ] }),
30483
30608
  uploadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-ods-attention-red-error mb-3", children: uploadError }),
30484
- uploadedVideoUrl ? VideoPreviewComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30609
+ mainVideoUrl ? VideoPreviewComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30485
30610
  VideoPreviewComponent,
30486
30611
  {
30487
- videoUrl: uploadedVideoUrl,
30612
+ videoUrl: mainVideoUrl,
30488
30613
  onDelete: handleDeleteVideo,
30489
30614
  isAIGenerated
30490
30615
  }
@@ -30494,7 +30619,7 @@ function VideoSourceSelector({
30494
30619
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30495
30620
  "video",
30496
30621
  {
30497
- src: uploadedVideoUrl,
30622
+ src: mainVideoUrl,
30498
30623
  className: "w-full h-auto max-h-[300px] object-contain bg-black",
30499
30624
  controls: true
30500
30625
  }
@@ -32251,7 +32376,7 @@ function WaitlistForm({
32251
32376
  const finalPhone = phone ? formatPhoneE164(phone, countryCode) : void 0;
32252
32377
  try {
32253
32378
  await onRegister(email, finalPhone);
32254
- } catch (e24) {
32379
+ } catch (e25) {
32255
32380
  }
32256
32381
  };
32257
32382
  if (!isClient) {
@@ -33687,7 +33812,5 @@ function canonicalize(status) {
33687
33812
 
33688
33813
 
33689
33814
 
33690
-
33691
-
33692
- 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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; 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.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.PulseDots = PulseDots; 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.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageListLoader = ChatMessageListLoader; exports.useDelayedFlag = useDelayedFlag; exports.ChatMessageList = ChatMessageList; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; 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.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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; 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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
33693
- //# sourceMappingURL=chunk-L5AAJ3QN.cjs.map
33815
+ 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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; 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.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.PulseDots = PulseDots; 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.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageList = ChatMessageList; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; 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.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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; 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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
33816
+ //# sourceMappingURL=chunk-JHWVLIFZ.cjs.map