@flamingo-stack/openframe-frontend-core 0.0.373 → 0.0.374-snapshot.20260706184004

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 (91) hide show
  1. package/dist/{chunk-X274IBXR.cjs → chunk-2MTPUJWU.cjs} +26 -26
  2. package/dist/{chunk-X274IBXR.cjs.map → chunk-2MTPUJWU.cjs.map} +1 -1
  3. package/dist/{chunk-4YQY3YBQ.js → chunk-43Q6DBPX.js} +2 -2
  4. package/dist/{chunk-DDI7FFA5.js → chunk-4YVGGC75.js} +634 -591
  5. package/dist/{chunk-DDI7FFA5.js.map → chunk-4YVGGC75.js.map} +1 -1
  6. package/dist/{chunk-FCPUM5S2.cjs → chunk-6M2WBXAX.cjs} +62 -62
  7. package/dist/{chunk-FCPUM5S2.cjs.map → chunk-6M2WBXAX.cjs.map} +1 -1
  8. package/dist/{chunk-DUFK7RSU.js → chunk-6XZHILYR.js} +2 -2
  9. package/dist/{chunk-3QTBIUB7.cjs → chunk-76U2GDDD.cjs} +12 -12
  10. package/dist/{chunk-3QTBIUB7.cjs.map → chunk-76U2GDDD.cjs.map} +1 -1
  11. package/dist/{chunk-ANKXC5RY.cjs → chunk-7CTM6E4V.cjs} +31 -31
  12. package/dist/{chunk-ANKXC5RY.cjs.map → chunk-7CTM6E4V.cjs.map} +1 -1
  13. package/dist/{chunk-M4O75TCN.js → chunk-7T4SRXRL.js} +4 -4
  14. package/dist/{chunk-JDYNGJSD.js → chunk-ALLZDIFL.js} +2 -2
  15. package/dist/{chunk-TH2LDBFE.js → chunk-B3TCRZOY.js} +2 -2
  16. package/dist/{chunk-IDYD2EIV.js → chunk-GOMGEC3Q.js} +2 -2
  17. package/dist/{chunk-LD7WDZQC.js → chunk-HEJIIBH6.js} +2 -2
  18. package/dist/{chunk-4JIVPFPK.cjs → chunk-I4MN5VFO.cjs} +25 -25
  19. package/dist/{chunk-4JIVPFPK.cjs.map → chunk-I4MN5VFO.cjs.map} +1 -1
  20. package/dist/{chunk-IH4IPKF2.js → chunk-IFPJLIKC.js} +4 -4
  21. package/dist/{chunk-CCBQGC44.js → chunk-JVFZSQWC.js} +4 -4
  22. package/dist/{chunk-6OJHTN7B.cjs → chunk-P6OZEG6D.cjs} +57 -57
  23. package/dist/{chunk-6OJHTN7B.cjs.map → chunk-P6OZEG6D.cjs.map} +1 -1
  24. package/dist/{chunk-7YKIXCV3.cjs → chunk-P6UR3BUY.cjs} +7 -7
  25. package/dist/{chunk-7YKIXCV3.cjs.map → chunk-P6UR3BUY.cjs.map} +1 -1
  26. package/dist/{chunk-XNP2LIYD.cjs → chunk-QI5H4KNX.cjs} +9 -9
  27. package/dist/{chunk-XNP2LIYD.cjs.map → chunk-QI5H4KNX.cjs.map} +1 -1
  28. package/dist/{chunk-RHKIYRJJ.js → chunk-QUDTWAL2.js} +2 -2
  29. package/dist/{chunk-4RUTFRJ6.cjs → chunk-RZVSYLO7.cjs} +436 -393
  30. package/dist/chunk-RZVSYLO7.cjs.map +1 -0
  31. package/dist/{chunk-MTT4SFN6.cjs → chunk-SQT2OJVX.cjs} +5 -5
  32. package/dist/{chunk-MTT4SFN6.cjs.map → chunk-SQT2OJVX.cjs.map} +1 -1
  33. package/dist/{chunk-OTSWZF3C.js → chunk-UWJNYZ7U.js} +4 -4
  34. package/dist/{chunk-AFF6QBKL.cjs → chunk-WTLEMFRU.cjs} +37 -37
  35. package/dist/{chunk-AFF6QBKL.cjs.map → chunk-WTLEMFRU.cjs.map} +1 -1
  36. package/dist/{chunk-3N34BFBP.cjs → chunk-WWP5NSCE.cjs} +15 -15
  37. package/dist/{chunk-3N34BFBP.cjs.map → chunk-WWP5NSCE.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/chat-container.d.ts.map +1 -1
  41. package/dist/components/chat/index.cjs +2 -2
  42. package/dist/components/chat/index.js +1 -1
  43. package/dist/components/chat/types/component.types.d.ts +14 -0
  44. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  45. package/dist/components/contact/index.cjs +3 -3
  46. package/dist/components/contact/index.js +2 -2
  47. package/dist/components/docs/index.cjs +5 -5
  48. package/dist/components/docs/index.js +4 -4
  49. package/dist/components/embeds/index.cjs +3 -3
  50. package/dist/components/embeds/index.js +2 -2
  51. package/dist/components/faq/index.cjs +3 -3
  52. package/dist/components/faq/index.js +2 -2
  53. package/dist/components/features/index.cjs +2 -2
  54. package/dist/components/features/index.js +1 -1
  55. package/dist/components/help-center-pages/index.cjs +20 -20
  56. package/dist/components/help-center-pages/index.js +11 -11
  57. package/dist/components/index.cjs +120 -120
  58. package/dist/components/index.js +9 -9
  59. package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
  60. package/dist/components/navigation/app-layout.d.ts +20 -0
  61. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  62. package/dist/components/navigation/index.cjs +2 -2
  63. package/dist/components/navigation/index.js +1 -1
  64. package/dist/components/onboarding-guides/index.cjs +5 -5
  65. package/dist/components/onboarding-guides/index.js +4 -4
  66. package/dist/components/related-content/index.cjs +3 -3
  67. package/dist/components/related-content/index.js +2 -2
  68. package/dist/components/tickets/index.cjs +5 -5
  69. package/dist/components/tickets/index.js +4 -4
  70. package/dist/components/ui/index.cjs +2 -2
  71. package/dist/components/ui/index.js +1 -1
  72. package/dist/index.cjs +2 -2
  73. package/dist/index.js +1 -1
  74. package/package.json +1 -1
  75. package/src/components/chat/chat-container.tsx +20 -1
  76. package/src/components/chat/types/component.types.ts +14 -0
  77. package/src/components/navigation/app-layout-drawer.tsx +23 -1
  78. package/src/components/navigation/app-layout.tsx +50 -2
  79. package/src/stories/ChatContainer.stories.tsx +36 -0
  80. package/dist/chunk-4RUTFRJ6.cjs.map +0 -1
  81. /package/dist/{chunk-4YQY3YBQ.js.map → chunk-43Q6DBPX.js.map} +0 -0
  82. /package/dist/{chunk-DUFK7RSU.js.map → chunk-6XZHILYR.js.map} +0 -0
  83. /package/dist/{chunk-M4O75TCN.js.map → chunk-7T4SRXRL.js.map} +0 -0
  84. /package/dist/{chunk-JDYNGJSD.js.map → chunk-ALLZDIFL.js.map} +0 -0
  85. /package/dist/{chunk-TH2LDBFE.js.map → chunk-B3TCRZOY.js.map} +0 -0
  86. /package/dist/{chunk-IDYD2EIV.js.map → chunk-GOMGEC3Q.js.map} +0 -0
  87. /package/dist/{chunk-LD7WDZQC.js.map → chunk-HEJIIBH6.js.map} +0 -0
  88. /package/dist/{chunk-IH4IPKF2.js.map → chunk-IFPJLIKC.js.map} +0 -0
  89. /package/dist/{chunk-CCBQGC44.js.map → chunk-JVFZSQWC.js.map} +0 -0
  90. /package/dist/{chunk-RHKIYRJJ.js.map → chunk-QUDTWAL2.js.map} +0 -0
  91. /package/dist/{chunk-OTSWZF3C.js.map → chunk-UWJNYZ7U.js.map} +0 -0
@@ -2979,6 +2979,65 @@ function TicketStatusTag({
2979
2979
  );
2980
2980
  }
2981
2981
 
2982
+ // src/components/chat/msp-organization-card.tsx
2983
+ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
2984
+ _chunkQJGRP2YEcjs.init_button2.call(void 0, );
2985
+
2986
+ function MspOrganizationCard({
2987
+ name,
2988
+ website,
2989
+ logoUrl,
2990
+ title,
2991
+ href,
2992
+ onOpenWebsite,
2993
+ className
2994
+ }) {
2995
+ const actionLabel = website ? `Open ${website}` : "Open organization website";
2996
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2997
+ "div",
2998
+ {
2999
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
3000
+ // Inset ring (box-shadow) instead of `border` so the 1px stroke does not
3001
+ // add to the box height — matches Figma's 80px frame (16 + 48 + 16) with
3002
+ // its inside-aligned stroke. A real border would render 82px.
3003
+ "flex items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-bg p-[var(--spacing-system-m)] ring-1 ring-inset ring-ods-border",
3004
+ className
3005
+ ),
3006
+ children: [
3007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
3008
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
3009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-h3 text-ods-text-primary", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
3010
+ website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-h4 text-ods-text-secondary", children: website }) : null
3011
+ ] }),
3012
+ href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Button, { asChild: true, variant: "outline", size: "icon", "aria-label": actionLabel, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noreferrer noopener", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.ExternalLinkIcon, {}) }) }) : onOpenWebsite ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Button, { variant: "outline", size: "icon", "aria-label": actionLabel, onClick: onOpenWebsite, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.ExternalLinkIcon, {}) }) : null
3013
+ ]
3014
+ }
3015
+ );
3016
+ }
3017
+
3018
+ // src/components/chat/msp-organization-card-skeleton.tsx
3019
+ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
3020
+
3021
+ function MspOrganizationCardSkeleton({ className }) {
3022
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3023
+ "div",
3024
+ {
3025
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
3026
+ "flex items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-bg p-[var(--spacing-system-m)] ring-1 ring-inset ring-ods-border",
3027
+ className
3028
+ ),
3029
+ children: [
3030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "size-12 shrink-0 rounded-md" }),
3031
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center gap-2 self-stretch", children: [
3032
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "h-5 w-3/5 rounded-md" }),
3033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "h-4 w-2/5 rounded-md" })
3034
+ ] }),
3035
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "size-12 shrink-0 rounded-md" })
3036
+ ]
3037
+ }
3038
+ );
3039
+ }
3040
+
2982
3041
  // src/components/chat/chat-container.tsx
2983
3042
 
2984
3043
  var ConnectionIndicator = ({ status }) => {
@@ -3028,7 +3087,7 @@ var ChatContainer = React6.forwardRef(
3028
3087
  );
3029
3088
  ChatContainer.displayName = "ChatContainer";
3030
3089
  var ChatHeader = React6.forwardRef(
3031
- ({ className, userName = 'Grace "Fae" Meadows', userTitle = "Your Personal Assistant", userAvatar, userIcon, onSettingsClick, onNewChat, onClose, onBack, showNewChat = false, connectionStatus = "disconnected", serverUrl = null, headerActions, ticketInfo, fullWidth = false, bare = false, isLoading = false, ...props }, ref) => {
3090
+ ({ className, userName = 'Grace "Fae" Meadows', userTitle = "Your Personal Assistant", userAvatar, userIcon, onSettingsClick, onNewChat, onClose, onBack, showNewChat = false, connectionStatus = "disconnected", serverUrl = null, headerActions, ticketInfo, mspOrganization, isMspLoading = false, fullWidth = false, bare = false, isLoading = false, ...props }, ref) => {
3032
3091
  const cardClasses = bare ? "" : "rounded-md bg-ods-card border border-ods-border";
3033
3092
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3034
3093
  "div",
@@ -3111,6 +3170,16 @@ var ChatHeader = React6.forwardRef(
3111
3170
  headerActions
3112
3171
  ] })
3113
3172
  ] }),
3173
+ !ticketInfo && (isMspLoading || mspOrganization) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3174
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px bg-ods-border" }),
3175
+ isMspLoading || !mspOrganization ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MspOrganizationCardSkeleton, { className: _chunkFIG2RKZFcjs.cn.call(void 0, "ring-0 rounded-none", !bare && "rounded-b-md") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3176
+ MspOrganizationCard,
3177
+ {
3178
+ ...mspOrganization,
3179
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "ring-0 rounded-none", !bare && "rounded-b-md", mspOrganization.className)
3180
+ }
3181
+ )
3182
+ ] }),
3114
3183
  ticketInfo && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3115
3184
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px bg-ods-border" }),
3116
3185
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 px-4 py-2", children: [
@@ -7221,65 +7290,6 @@ function GuideWelcome({
7221
7290
  );
7222
7291
  }
7223
7292
 
7224
- // src/components/chat/msp-organization-card.tsx
7225
- _chunkFIG2RKZFcjs.init_cn.call(void 0, );
7226
- _chunkQJGRP2YEcjs.init_button2.call(void 0, );
7227
-
7228
- function MspOrganizationCard({
7229
- name,
7230
- website,
7231
- logoUrl,
7232
- title,
7233
- href,
7234
- onOpenWebsite,
7235
- className
7236
- }) {
7237
- const actionLabel = website ? `Open ${website}` : "Open organization website";
7238
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7239
- "div",
7240
- {
7241
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
7242
- // Inset ring (box-shadow) instead of `border` so the 1px stroke does not
7243
- // add to the box height — matches Figma's 80px frame (16 + 48 + 16) with
7244
- // its inside-aligned stroke. A real border would render 82px.
7245
- "flex items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-bg p-[var(--spacing-system-m)] ring-1 ring-inset ring-ods-border",
7246
- className
7247
- ),
7248
- children: [
7249
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
7250
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
7251
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-h3 text-ods-text-primary", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
7252
- website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-h4 text-ods-text-secondary", children: website }) : null
7253
- ] }),
7254
- href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Button, { asChild: true, variant: "outline", size: "icon", "aria-label": actionLabel, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noreferrer noopener", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.ExternalLinkIcon, {}) }) }) : onOpenWebsite ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Button, { variant: "outline", size: "icon", "aria-label": actionLabel, onClick: onOpenWebsite, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.ExternalLinkIcon, {}) }) : null
7255
- ]
7256
- }
7257
- );
7258
- }
7259
-
7260
- // src/components/chat/msp-organization-card-skeleton.tsx
7261
- _chunkFIG2RKZFcjs.init_cn.call(void 0, );
7262
-
7263
- function MspOrganizationCardSkeleton({ className }) {
7264
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7265
- "div",
7266
- {
7267
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
7268
- "flex items-start gap-[var(--spacing-system-m)] rounded-md bg-ods-bg p-[var(--spacing-system-m)] ring-1 ring-inset ring-ods-border",
7269
- className
7270
- ),
7271
- children: [
7272
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "size-12 shrink-0 rounded-md" }),
7273
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center gap-2 self-stretch", children: [
7274
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "h-5 w-3/5 rounded-md" }),
7275
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "h-4 w-2/5 rounded-md" })
7276
- ] }),
7277
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.Skeleton, { className: "size-12 shrink-0 rounded-md" })
7278
- ]
7279
- }
7280
- );
7281
- }
7282
-
7283
7293
  // src/components/chat/guide-mode-banner.tsx
7284
7294
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
7285
7295
 
@@ -33829,6 +33839,10 @@ var AppLayoutDrawerContainerContext = _react.createContext.call(void 0, null);
33829
33839
  function useAppLayoutDrawerContainer() {
33830
33840
  return _react.useContext.call(void 0, AppLayoutDrawerContainerContext);
33831
33841
  }
33842
+ var AppLayoutDrawerCoordinationContext = _react.createContext.call(void 0, null);
33843
+ function useAppLayoutDrawerCoordination() {
33844
+ return _react.useContext.call(void 0, AppLayoutDrawerCoordinationContext);
33845
+ }
33832
33846
  function AppLayout({
33833
33847
  children,
33834
33848
  sidebarConfig,
@@ -33842,13 +33856,27 @@ function AppLayout({
33842
33856
  }) {
33843
33857
  const [mobileMenuOpen, setMobileMenuOpen] = _react.useState.call(void 0, false);
33844
33858
  const [drawerContainer, setDrawerContainer] = _react.useState.call(void 0, null);
33859
+ const mobileMenuOpenRef = _react.useRef.call(void 0, mobileMenuOpen);
33860
+ mobileMenuOpenRef.current = mobileMenuOpen;
33861
+ const drawerHandlesRef = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
33845
33862
  const handleToggleMobileMenu = _react.useCallback.call(void 0, () => {
33846
- setMobileMenuOpen((prev) => !prev);
33863
+ const opening = !mobileMenuOpenRef.current;
33864
+ if (opening) {
33865
+ for (const handle of drawerHandlesRef.current) handle.close();
33866
+ }
33867
+ setMobileMenuOpen(opening);
33847
33868
  }, []);
33848
33869
  const handleCloseMobileMenu = _react.useCallback.call(void 0, () => {
33849
33870
  setMobileMenuOpen(false);
33850
33871
  }, []);
33851
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex h-screen bg-ods-bg", className), children: [
33872
+ const drawerCoordination = _react.useMemo.call(void 0, () => ({
33873
+ notifyDrawerDidOpen: () => setMobileMenuOpen(false),
33874
+ registerDrawer: (handle) => {
33875
+ drawerHandlesRef.current.add(handle);
33876
+ return () => drawerHandlesRef.current.delete(handle);
33877
+ }
33878
+ }), []);
33879
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex h-screen bg-ods-bg", className), children: [
33852
33880
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled }),
33853
33881
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33854
33882
  MobileBurgerMenu,
@@ -33883,7 +33911,7 @@ function AppLayout({
33883
33911
  }
33884
33912
  )
33885
33913
  ] })
33886
- ] }) });
33914
+ ] }) }) });
33887
33915
  }
33888
33916
 
33889
33917
  // src/components/navigation/app-layout-drawer.tsx
@@ -33911,6 +33939,21 @@ var AppLayoutDrawerRoot = ({
33911
33939
  },
33912
33940
  [isControlled, onOpenChange]
33913
33941
  );
33942
+ const coordination = useAppLayoutDrawerCoordination();
33943
+ const openRef = React110.useRef(open);
33944
+ openRef.current = open;
33945
+ const handleOpenChangeRef = React110.useRef(handleOpenChange);
33946
+ handleOpenChangeRef.current = handleOpenChange;
33947
+ React110.useEffect(() => {
33948
+ if (open) _optionalChain([coordination, 'optionalAccess', _660 => _660.notifyDrawerDidOpen, 'call', _661 => _661()]);
33949
+ }, [open, coordination]);
33950
+ React110.useEffect(() => {
33951
+ return _optionalChain([coordination, 'optionalAccess', _662 => _662.registerDrawer, 'call', _663 => _663({
33952
+ close: () => {
33953
+ if (openRef.current) handleOpenChangeRef.current(false);
33954
+ }
33955
+ })]);
33956
+ }, [coordination]);
33914
33957
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33915
33958
  DialogPrimitive3.Root,
33916
33959
  {
@@ -34289,10 +34332,10 @@ var AppLayoutDrawerContent = React110.forwardRef(
34289
34332
  ),
34290
34333
  style,
34291
34334
  onInteractOutside: (event) => {
34292
- _optionalChain([onInteractOutside, 'optionalCall', _660 => _660(event)]);
34335
+ _optionalChain([onInteractOutside, 'optionalCall', _664 => _664(event)]);
34293
34336
  if (event.defaultPrevented) return;
34294
34337
  const target = event.target;
34295
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _661 => _661.contains, 'call', _662 => _662(target)]);
34338
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _665 => _665.contains, 'call', _666 => _666(target)]);
34296
34339
  if (!isInsideContainer) {
34297
34340
  event.preventDefault();
34298
34341
  return;
@@ -34705,7 +34748,7 @@ var ShellTypeBadge = ({
34705
34748
  className,
34706
34749
  iconClassName
34707
34750
  }) => {
34708
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _663 => _663.toUpperCase, 'call', _664 => _664()]);
34751
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _667 => _667.toUpperCase, 'call', _668 => _668()]);
34709
34752
  const label = getShellLabel(normalizedType);
34710
34753
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
34711
34754
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -35092,12 +35135,12 @@ function OnboardingWalkthrough({
35092
35135
  }
35093
35136
  }, [state.completedSteps, markComplete]);
35094
35137
  const handleStepSkip = (step) => {
35095
- _optionalChain([step, 'access', _665 => _665.onSkip, 'optionalCall', _666 => _666()]);
35138
+ _optionalChain([step, 'access', _669 => _669.onSkip, 'optionalCall', _670 => _670()]);
35096
35139
  markSkipped(step.id);
35097
35140
  };
35098
35141
  const handleDismiss = () => {
35099
35142
  dismissOnboarding();
35100
- _optionalChain([onDismiss, 'optionalCall', _667 => _667()]);
35143
+ _optionalChain([onDismiss, 'optionalCall', _671 => _671()]);
35101
35144
  };
35102
35145
  if (state.dismissed) {
35103
35146
  return null;
@@ -35227,7 +35270,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
35227
35270
  onKeyDown: (e) => {
35228
35271
  if (e.key === "Enter" || e.key === " ") {
35229
35272
  e.preventDefault();
35230
- _optionalChain([onClick, 'optionalCall', _668 => _668()]);
35273
+ _optionalChain([onClick, 'optionalCall', _672 => _672()]);
35231
35274
  }
35232
35275
  },
35233
35276
  children: [
@@ -35328,7 +35371,7 @@ var LogsList = React114.forwardRef(({
35328
35371
  log,
35329
35372
  isLast: index === logs.length - 1,
35330
35373
  showConnector,
35331
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _669 => _669(log)])
35374
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _673 => _673(log)])
35332
35375
  },
35333
35376
  log.id
35334
35377
  ))
@@ -35429,7 +35472,7 @@ var Slider = React116.forwardRef(
35429
35472
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
35430
35473
  const handleChange = (e) => {
35431
35474
  const newValue = [Number(e.target.value)];
35432
- _optionalChain([onValueChange, 'optionalCall', _670 => _670(newValue)]);
35475
+ _optionalChain([onValueChange, 'optionalCall', _674 => _674(newValue)]);
35433
35476
  };
35434
35477
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35435
35478
  "input",
@@ -35860,7 +35903,7 @@ function CursorPaginationSimple({
35860
35903
  {
35861
35904
  variant: "transparent",
35862
35905
  size: "icon",
35863
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _671 => _671("")]),
35906
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _675 => _675("")]),
35864
35907
  disabled: !hasPreviousPage || loading,
35865
35908
  className: "h-8 w-8",
35866
35909
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -35872,7 +35915,7 @@ function CursorPaginationSimple({
35872
35915
  {
35873
35916
  variant: "transparent",
35874
35917
  size: "icon",
35875
- onClick: () => _optionalChain([onNext, 'optionalCall', _672 => _672("")]),
35918
+ onClick: () => _optionalChain([onNext, 'optionalCall', _676 => _676("")]),
35876
35919
  disabled: !hasNextPage || loading,
35877
35920
  className: "h-8 w-8",
35878
35921
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -35892,8 +35935,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
35892
35935
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
35893
35936
  title: _nullishCoalesce(message2, () => ( "No results found")),
35894
35937
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
35895
- buttonLabel: _optionalChain([action, 'optionalAccess', _673 => _673.label]),
35896
- onButtonClick: _optionalChain([action, 'optionalAccess', _674 => _674.onClick]),
35938
+ buttonLabel: _optionalChain([action, 'optionalAccess', _677 => _677.label]),
35939
+ onButtonClick: _optionalChain([action, 'optionalAccess', _678 => _678.onClick]),
35897
35940
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
35898
35941
  }
35899
35942
  );
@@ -35914,7 +35957,7 @@ function TableColumnFilterDropdown({
35914
35957
  placement = "bottom-start",
35915
35958
  dropdownClassName = "min-w-[240px]"
35916
35959
  }) {
35917
- const activeCount = _optionalChain([filters, 'optionalAccess', _675 => _675[columnKey], 'optionalAccess', _676 => _676.length]) || 0;
35960
+ const activeCount = _optionalChain([filters, 'optionalAccess', _679 => _679[columnKey], 'optionalAccess', _680 => _680.length]) || 0;
35918
35961
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35919
35962
  FiltersDropdown,
35920
35963
  {
@@ -35957,7 +36000,7 @@ function TableColumnFilterDropdown({
35957
36000
  delete newFilters[columnKey];
35958
36001
  onFilterChange(newFilters);
35959
36002
  },
35960
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _677 => _677[columnKey]]) || [] },
36003
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _681 => _681[columnKey]]) || [] },
35961
36004
  placement,
35962
36005
  dropdownClassName
35963
36006
  }
@@ -36167,7 +36210,7 @@ function TableCardSkeleton({
36167
36210
  className,
36168
36211
  rowClassName
36169
36212
  }) {
36170
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _678 => _678.key]);
36213
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _682 => _682.key]);
36171
36214
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36172
36215
  "div",
36173
36216
  {
@@ -36260,7 +36303,7 @@ function TableRow({
36260
36303
  const keys = column.key.split(".");
36261
36304
  let value = item;
36262
36305
  for (const key of keys) {
36263
- value = _optionalChain([value, 'optionalAccess', _679 => _679[key]]);
36306
+ value = _optionalChain([value, 'optionalAccess', _683 => _683[key]]);
36264
36307
  }
36265
36308
  if (value === null || value === void 0) {
36266
36309
  return "-";
@@ -36349,7 +36392,7 @@ function useTableMotion(enabled) {
36349
36392
  // src/components/ui/table/table.tsx
36350
36393
 
36351
36394
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
36352
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _680 => _680.length])) || Boolean(renderRowActions);
36395
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _684 => _684.length])) || Boolean(renderRowActions);
36353
36396
  const result = [...columns];
36354
36397
  if (hasActions) {
36355
36398
  const actionsColumn = {
@@ -36445,7 +36488,7 @@ function Table({
36445
36488
  return rowKey(item);
36446
36489
  }
36447
36490
  const key = item[rowKey];
36448
- return _optionalChain([key, 'optionalAccess', _681 => _681.toString, 'call', _682 => _682()]) || index.toString();
36491
+ return _optionalChain([key, 'optionalAccess', _685 => _685.toString, 'call', _686 => _686()]) || index.toString();
36449
36492
  };
36450
36493
  const getRowClassName = (item, index) => {
36451
36494
  if (typeof rowClassName === "function") {
@@ -36479,23 +36522,23 @@ function Table({
36479
36522
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
36480
36523
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
36481
36524
  const sentinelRef = _react.useRef.call(void 0, null);
36482
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _683 => _683.onLoadMore]));
36483
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _684 => _684.onLoadMore]);
36525
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _687 => _687.onLoadMore]));
36526
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _688 => _688.onLoadMore]);
36484
36527
  _react.useEffect.call(void 0, () => {
36485
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _685 => _685.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
36528
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _689 => _689.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
36486
36529
  const sentinel = sentinelRef.current;
36487
36530
  if (!sentinel) return;
36488
36531
  const observer = new IntersectionObserver(
36489
36532
  (entries) => {
36490
- if (_optionalChain([entries, 'access', _686 => _686[0], 'optionalAccess', _687 => _687.isIntersecting])) {
36491
- _optionalChain([onLoadMoreRef, 'access', _688 => _688.current, 'optionalCall', _689 => _689()]);
36533
+ if (_optionalChain([entries, 'access', _690 => _690[0], 'optionalAccess', _691 => _691.isIntersecting])) {
36534
+ _optionalChain([onLoadMoreRef, 'access', _692 => _692.current, 'optionalCall', _693 => _693()]);
36492
36535
  }
36493
36536
  },
36494
36537
  { rootMargin: "200px" }
36495
36538
  );
36496
36539
  observer.observe(sentinel);
36497
36540
  return () => observer.disconnect();
36498
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _690 => _690.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _691 => _691.isFetchingNextPage])]);
36541
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _694 => _694.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _695 => _695.isFetchingNextPage])]);
36499
36542
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
36500
36543
  showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
36501
36544
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -36565,14 +36608,14 @@ function Table({
36565
36608
  selected: isRowSelected(item),
36566
36609
  onSelect: handleSelectRow,
36567
36610
  animateRowReorder,
36568
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _692 => _692.motionDiv])
36611
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _696 => _696.motionDiv])
36569
36612
  },
36570
36613
  getRowKey(item, index)
36571
36614
  ));
36572
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _693 => _693.LayoutGroup]);
36615
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _697 => _697.LayoutGroup]);
36573
36616
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
36574
36617
  })(),
36575
- _optionalChain([infiniteScroll, 'optionalAccess', _694 => _694.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36618
+ _optionalChain([infiniteScroll, 'optionalAccess', _698 => _698.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36576
36619
  TableCardSkeleton,
36577
36620
  {
36578
36621
  columns,
@@ -36581,7 +36624,7 @@ function Table({
36581
36624
  hasChevron: Boolean(rowHref)
36582
36625
  }
36583
36626
  ),
36584
- _optionalChain([infiniteScroll, 'optionalAccess', _695 => _695.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36627
+ _optionalChain([infiniteScroll, 'optionalAccess', _699 => _699.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36585
36628
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36586
36629
  "div",
36587
36630
  {
@@ -36939,7 +36982,7 @@ function QueryReportTable({
36939
36982
  );
36940
36983
  const handleExport = () => {
36941
36984
  exportToCSV(data, columns, exportFilename);
36942
- _optionalChain([onExport, 'optionalCall', _696 => _696()]);
36985
+ _optionalChain([onExport, 'optionalCall', _700 => _700()]);
36943
36986
  };
36944
36987
  const tableMinWidth = columns.length * (columnWidth + 16);
36945
36988
  const {
@@ -37112,7 +37155,7 @@ function DataTableColumnFilter({
37112
37155
  align = "left"
37113
37156
  }) {
37114
37157
  const currentValue = column.getFilterValue();
37115
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _697 => _697.length]), () => ( 0));
37158
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _701 => _701.length]), () => ( 0));
37116
37159
  const sections = _react.useMemo.call(void 0,
37117
37160
  () => [
37118
37161
  {
@@ -37192,7 +37235,7 @@ function DataTableHeader({
37192
37235
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
37193
37236
  if (header.isPlaceholder) return false;
37194
37237
  if (isLgUp) return true;
37195
- return Boolean(_optionalChain([header, 'access', _698 => _698.column, 'access', _699 => _699.columnDef, 'access', _700 => _700.meta, 'optionalAccess', _701 => _701.filter]));
37238
+ return Boolean(_optionalChain([header, 'access', _702 => _702.column, 'access', _703 => _703.columnDef, 'access', _704 => _704.meta, 'optionalAccess', _705 => _705.filter]));
37196
37239
  });
37197
37240
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37198
37241
  "div",
@@ -37222,20 +37265,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
37222
37265
  if (header.isPlaceholder) return null;
37223
37266
  const column = header.column;
37224
37267
  const meta = column.columnDef.meta;
37225
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _702 => _702.filter]));
37226
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _703 => _703.align]), () => ( "left"));
37227
- const canSort = _optionalChain([meta, 'optionalAccess', _704 => _704.sortable]) === true;
37228
- const sortDir = _optionalChain([sort, 'optionalAccess', _705 => _705.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
37268
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _706 => _706.filter]));
37269
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _707 => _707.align]), () => ( "left"));
37270
+ const canSort = _optionalChain([meta, 'optionalAccess', _708 => _708.sortable]) === true;
37271
+ const sortDir = _optionalChain([sort, 'optionalAccess', _709 => _709.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
37229
37272
  if (!isLgUp && !hasFilter) return null;
37230
37273
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37231
37274
  "div",
37232
37275
  {
37233
37276
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
37234
37277
  "flex items-stretch",
37235
- isLgUp && (_optionalChain([meta, 'optionalAccess', _706 => _706.width]) || "flex-1 min-w-0"),
37236
- _optionalChain([meta, 'optionalAccess', _707 => _707.headerClassName]),
37278
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _710 => _710.width]) || "flex-1 min-w-0"),
37279
+ _optionalChain([meta, 'optionalAccess', _711 => _711.headerClassName]),
37237
37280
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
37238
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _708 => _708.hideAt]))
37281
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _712 => _712.hideAt]))
37239
37282
  ),
37240
37283
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37241
37284
  DataTableColumnFilter,
@@ -37254,7 +37297,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
37254
37297
  isLgUp && alignJustify(align),
37255
37298
  canSort && "group cursor-pointer"
37256
37299
  ),
37257
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _709 => _709(column.id)]) : void 0,
37300
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _713 => _713(column.id)]) : void 0,
37258
37301
  children: [
37259
37302
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
37260
37303
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -37319,7 +37362,7 @@ function DataTableSkeleton({
37319
37362
  }) {
37320
37363
  const table = useDataTableContext();
37321
37364
  const columns = table.getVisibleFlatColumns();
37322
- const firstColumnId = _optionalChain([columns, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.id]);
37365
+ const firstColumnId = _optionalChain([columns, 'access', _714 => _714[0], 'optionalAccess', _715 => _715.id]);
37323
37366
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37324
37367
  "div",
37325
37368
  {
@@ -37343,7 +37386,7 @@ function DataTableSkeleton({
37343
37386
  {
37344
37387
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
37345
37388
  "flex flex-col justify-center shrink-0",
37346
- _optionalChain([meta, 'optionalAccess', _712 => _712.width]) || "flex-1"
37389
+ _optionalChain([meta, 'optionalAccess', _716 => _716.width]) || "flex-1"
37347
37390
  ),
37348
37391
  children: [
37349
37392
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -37392,7 +37435,7 @@ function DataTableRowImpl({
37392
37435
  const handleClick = _react.useCallback.call(void 0,
37393
37436
  (e) => {
37394
37437
  const target = e.target;
37395
- if (!_optionalChain([containerRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.contains, 'call', _715 => _715(target)])) {
37438
+ if (!_optionalChain([containerRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.contains, 'call', _719 => _719(target)])) {
37396
37439
  if (isLinkMode) e.preventDefault();
37397
37440
  return;
37398
37441
  }
@@ -37400,7 +37443,7 @@ function DataTableRowImpl({
37400
37443
  if (isLinkMode) e.preventDefault();
37401
37444
  return;
37402
37445
  }
37403
- _optionalChain([onClick, 'optionalCall', _716 => _716(row.original)]);
37446
+ _optionalChain([onClick, 'optionalCall', _720 => _720(row.original)]);
37404
37447
  },
37405
37448
  [onClick, row.original, isLinkMode]
37406
37449
  );
@@ -37425,10 +37468,10 @@ function DataTableRowImpl({
37425
37468
  {
37426
37469
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
37427
37470
  "flex flex-col overflow-hidden",
37428
- alignJustify(_optionalChain([meta, 'optionalAccess', _717 => _717.align])),
37429
- _optionalChain([meta, 'optionalAccess', _718 => _718.width]) || "flex-1 min-w-0",
37430
- _optionalChain([meta, 'optionalAccess', _719 => _719.cellClassName]),
37431
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _720 => _720.hideAt]))
37471
+ alignJustify(_optionalChain([meta, 'optionalAccess', _721 => _721.align])),
37472
+ _optionalChain([meta, 'optionalAccess', _722 => _722.width]) || "flex-1 min-w-0",
37473
+ _optionalChain([meta, 'optionalAccess', _723 => _723.cellClassName]),
37474
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _724 => _724.hideAt]))
37432
37475
  ),
37433
37476
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
37434
37477
  },
@@ -37507,7 +37550,7 @@ function DataTableBody({
37507
37550
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
37508
37551
  rows.map((row, index) => {
37509
37552
  const item = row.original;
37510
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _721 => _721(item)]), () => ( void 0));
37553
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _725 => _725(item)]), () => ( void 0));
37511
37554
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
37512
37555
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37513
37556
  DataTableRow,
@@ -37517,7 +37560,7 @@ function DataTableBody({
37517
37560
  href,
37518
37561
  compact,
37519
37562
  className: cls,
37520
- subRow: _optionalChain([renderSubRow, 'optionalCall', _722 => _722(item)])
37563
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _726 => _726(item)])
37521
37564
  },
37522
37565
  row.id
37523
37566
  );
@@ -37572,7 +37615,7 @@ function DataTableInfiniteFooter({
37572
37615
  if (!sentinel) return;
37573
37616
  const observer = new IntersectionObserver(
37574
37617
  (entries) => {
37575
- if (_optionalChain([entries, 'access', _723 => _723[0], 'optionalAccess', _724 => _724.isIntersecting])) onLoadMoreRef.current();
37618
+ if (_optionalChain([entries, 'access', _727 => _727[0], 'optionalAccess', _728 => _728.isIntersecting])) onLoadMoreRef.current();
37576
37619
  },
37577
37620
  { rootMargin }
37578
37621
  );
@@ -37620,7 +37663,7 @@ function DataTableRowCount({
37620
37663
  const table = useDataTableContext();
37621
37664
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
37622
37665
  if (hideWhenEmpty && count === 0) return null;
37623
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _725 => _725(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37666
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _729 => _729(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37624
37667
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37625
37668
  "span",
37626
37669
  {
@@ -37779,7 +37822,7 @@ function SearchInput({
37779
37822
  if (!showHiddenTags) return;
37780
37823
  const handleClick = (e) => {
37781
37824
  const target = e.target;
37782
- if (!_optionalChain([hiddenTagsRef, 'access', _726 => _726.current, 'optionalAccess', _727 => _727.contains, 'call', _728 => _728(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.contains, 'call', _731 => _731(target)])) {
37825
+ if (!_optionalChain([hiddenTagsRef, 'access', _730 => _730.current, 'optionalAccess', _731 => _731.contains, 'call', _732 => _732(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _733 => _733.current, 'optionalAccess', _734 => _734.contains, 'call', _735 => _735(target)])) {
37783
37826
  setShowHiddenTags(false);
37784
37827
  }
37785
37828
  };
@@ -37827,10 +37870,10 @@ function SearchInput({
37827
37870
  } else {
37828
37871
  setInternalValue("");
37829
37872
  }
37830
- _optionalChain([inputRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.focus, 'call', _734 => _734()]);
37873
+ _optionalChain([inputRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.focus, 'call', _738 => _738()]);
37831
37874
  };
37832
37875
  const handleResultClick = (result, e) => {
37833
- _optionalChain([onResultSelect, 'optionalCall', _735 => _735(
37876
+ _optionalChain([onResultSelect, 'optionalCall', _739 => _739(
37834
37877
  result,
37835
37878
  e ? {
37836
37879
  metaKey: e.metaKey,
@@ -37862,7 +37905,7 @@ function SearchInput({
37862
37905
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
37863
37906
  handleResultClick(flatResults[highlightedIndex]);
37864
37907
  } else {
37865
- _optionalChain([onSubmit, 'optionalCall', _736 => _736(currentValue)]);
37908
+ _optionalChain([onSubmit, 'optionalCall', _740 => _740(currentValue)]);
37866
37909
  }
37867
37910
  break;
37868
37911
  case "Escape":
@@ -37940,7 +37983,7 @@ function SearchInput({
37940
37983
  dropdownVisible && "!border-ods-accent"
37941
37984
  ),
37942
37985
  onClick: () => {
37943
- _optionalChain([inputRef, 'access', _737 => _737.current, 'optionalAccess', _738 => _738.focus, 'call', _739 => _739()]);
37986
+ _optionalChain([inputRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.focus, 'call', _743 => _743()]);
37944
37987
  setIsOpen(true);
37945
37988
  },
37946
37989
  children: [
@@ -38024,10 +38067,10 @@ function SearchInput({
38024
38067
  align: "start",
38025
38068
  onOpenAutoFocus: (e) => {
38026
38069
  e.preventDefault();
38027
- _optionalChain([inputRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.focus, 'call', _742 => _742()]);
38070
+ _optionalChain([inputRef, 'access', _744 => _744.current, 'optionalAccess', _745 => _745.focus, 'call', _746 => _746()]);
38028
38071
  },
38029
38072
  onInteractOutside: (e) => {
38030
- if (_optionalChain([containerRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.contains, 'call', _745 => _745(e.target)])) {
38073
+ if (_optionalChain([containerRef, 'access', _747 => _747.current, 'optionalAccess', _748 => _748.contains, 'call', _749 => _749(e.target)])) {
38031
38074
  e.preventDefault();
38032
38075
  }
38033
38076
  },
@@ -38044,10 +38087,10 @@ function SearchInput({
38044
38087
  ref: hiddenTagsPopupRef,
38045
38088
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
38046
38089
  style: {
38047
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.getBoundingClientRect, 'call', _748 => _748(), 'access', _749 => _749.left]), () => ( 0))) : 0
38090
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _750 => _750.current, 'optionalAccess', _751 => _751.getBoundingClientRect, 'call', _752 => _752(), 'access', _753 => _753.left]), () => ( 0))) : 0
38048
38091
  },
38049
38092
  onRemove: (value2) => {
38050
- _optionalChain([onFilterRemove, 'optionalCall', _750 => _750(value2)]);
38093
+ _optionalChain([onFilterRemove, 'optionalCall', _754 => _754(value2)]);
38051
38094
  if (hiddenCount <= 1) setShowHiddenTags(false);
38052
38095
  }
38053
38096
  }
@@ -38098,7 +38141,7 @@ function FilterListItem({
38098
38141
  }) {
38099
38142
  const handleToggle = () => {
38100
38143
  if (disabled) return;
38101
- _optionalChain([onToggle, 'optionalCall', _751 => _751(!selected)]);
38144
+ _optionalChain([onToggle, 'optionalCall', _755 => _755(!selected)]);
38102
38145
  };
38103
38146
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38104
38147
  "div",
@@ -38145,7 +38188,7 @@ function FilterListItem({
38145
38188
  CheckboxPrimitive4.Root,
38146
38189
  {
38147
38190
  checked: selected,
38148
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _752 => _752(c === true)]),
38191
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _756 => _756(c === true)]),
38149
38192
  onClick: (e) => e.stopPropagation(),
38150
38193
  disabled,
38151
38194
  "aria-label": title,
@@ -38244,7 +38287,7 @@ function TagSearchInput({
38244
38287
  if (!showHiddenTags) return;
38245
38288
  const handleClick = (e) => {
38246
38289
  const target = e.target;
38247
- if (!_optionalChain([hiddenTagsRef, 'access', _753 => _753.current, 'optionalAccess', _754 => _754.contains, 'call', _755 => _755(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _756 => _756.current, 'optionalAccess', _757 => _757.contains, 'call', _758 => _758(target)])) {
38290
+ if (!_optionalChain([hiddenTagsRef, 'access', _757 => _757.current, 'optionalAccess', _758 => _758.contains, 'call', _759 => _759(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _760 => _760.current, 'optionalAccess', _761 => _761.contains, 'call', _762 => _762(target)])) {
38248
38291
  setShowHiddenTags(false);
38249
38292
  }
38250
38293
  };
@@ -38260,13 +38303,13 @@ function TagSearchInput({
38260
38303
  e.preventDefault();
38261
38304
  onSubmit(searchValue);
38262
38305
  }
38263
- _optionalChain([onKeyDown, 'optionalCall', _759 => _759(e)]);
38306
+ _optionalChain([onKeyDown, 'optionalCall', _763 => _763(e)]);
38264
38307
  };
38265
38308
  const handleClearAll = (e) => {
38266
38309
  e.stopPropagation();
38267
38310
  e.preventDefault();
38268
- _optionalChain([onClearAll, 'optionalCall', _760 => _760()]);
38269
- _optionalChain([inputRef, 'access', _761 => _761.current, 'optionalAccess', _762 => _762.focus, 'call', _763 => _763()]);
38311
+ _optionalChain([onClearAll, 'optionalCall', _764 => _764()]);
38312
+ _optionalChain([inputRef, 'access', _765 => _765.current, 'optionalAccess', _766 => _766.focus, 'call', _767 => _767()]);
38270
38313
  };
38271
38314
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
38272
38315
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -38283,7 +38326,7 @@ function TagSearchInput({
38283
38326
  className
38284
38327
  ),
38285
38328
  onClick: () => {
38286
- if (!disabled) _optionalChain([inputRef, 'access', _764 => _764.current, 'optionalAccess', _765 => _765.focus, 'call', _766 => _766()]);
38329
+ if (!disabled) _optionalChain([inputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.focus, 'call', _770 => _770()]);
38287
38330
  },
38288
38331
  children: [
38289
38332
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
@@ -38355,7 +38398,7 @@ function TagSearchInput({
38355
38398
  items: hiddenTags,
38356
38399
  disabled,
38357
38400
  style: {
38358
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _767 => _767.current, 'optionalAccess', _768 => _768.getBoundingClientRect, 'call', _769 => _769(), 'access', _770 => _770.left]), () => ( 0))) : 0
38401
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.getBoundingClientRect, 'call', _773 => _773(), 'access', _774 => _774.left]), () => ( 0))) : 0
38359
38402
  },
38360
38403
  onRemove: (value) => {
38361
38404
  onTagRemove(value);
@@ -38456,7 +38499,7 @@ function MarkdownEditor({
38456
38499
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
38457
38500
  _react.useEffect.call(void 0, () => {
38458
38501
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
38459
- if (_optionalChain([mod, 'access', _771 => _771.commands, 'optionalAccess', _772 => _772.getExtraCommands])) {
38502
+ if (_optionalChain([mod, 'access', _775 => _775.commands, 'optionalAccess', _776 => _776.getExtraCommands])) {
38460
38503
  setDefaultExtraCommands(mod.commands.getExtraCommands());
38461
38504
  }
38462
38505
  });
@@ -38490,7 +38533,7 @@ function MarkdownEditor({
38490
38533
  const isImage = file.type.startsWith("image/");
38491
38534
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
38492
38535
  insertTextAtCursor(markdown);
38493
- _optionalChain([onFileUploaded, 'optionalCall', _773 => _773(url, file.name)]);
38536
+ _optionalChain([onFileUploaded, 'optionalCall', _777 => _777(url, file.name)]);
38494
38537
  } catch (error) {
38495
38538
  console.error("File upload failed:", error);
38496
38539
  setUploadProgress("Upload failed. Please try again.");
@@ -38503,7 +38546,7 @@ function MarkdownEditor({
38503
38546
  );
38504
38547
  const handleFileInputChange = _react.useCallback.call(void 0,
38505
38548
  (e) => {
38506
- const file = _optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776[0]]);
38549
+ const file = _optionalChain([e, 'access', _778 => _778.target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780[0]]);
38507
38550
  if (file) {
38508
38551
  handleFileUpload(file);
38509
38552
  e.target.value = "";
@@ -38514,7 +38557,7 @@ function MarkdownEditor({
38514
38557
  const handlePaste = _react.useCallback.call(void 0,
38515
38558
  (e) => {
38516
38559
  if (!onUploadFile) return;
38517
- const items = _optionalChain([e, 'access', _777 => _777.clipboardData, 'optionalAccess', _778 => _778.items]);
38560
+ const items = _optionalChain([e, 'access', _781 => _781.clipboardData, 'optionalAccess', _782 => _782.items]);
38518
38561
  if (!items) return;
38519
38562
  for (const item of items) {
38520
38563
  if (item.type.startsWith("image/")) {
@@ -38539,7 +38582,7 @@ function MarkdownEditor({
38539
38582
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
38540
38583
  icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
38541
38584
  execute: () => {
38542
- _optionalChain([fileInputRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.click, 'call', _781 => _781()]);
38585
+ _optionalChain([fileInputRef, 'access', _783 => _783.current, 'optionalAccess', _784 => _784.click, 'call', _785 => _785()]);
38543
38586
  }
38544
38587
  } : null;
38545
38588
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -38551,7 +38594,7 @@ function MarkdownEditor({
38551
38594
  const EDGE_ZONE = 60;
38552
38595
  const MAX_SCROLL_SPEED = 15;
38553
38596
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
38554
- let node = _optionalChain([el, 'optionalAccess', _782 => _782.parentElement]);
38597
+ let node = _optionalChain([el, 'optionalAccess', _786 => _786.parentElement]);
38555
38598
  while (node && node !== document.documentElement) {
38556
38599
  const { overflowY } = window.getComputedStyle(node);
38557
38600
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -38694,7 +38737,7 @@ function matchesAccept(file, accept) {
38694
38737
  });
38695
38738
  }
38696
38739
  function dragHasFiles(e) {
38697
- const types = _optionalChain([e, 'access', _783 => _783.dataTransfer, 'optionalAccess', _784 => _784.types]);
38740
+ const types = _optionalChain([e, 'access', _787 => _787.dataTransfer, 'optionalAccess', _788 => _788.types]);
38698
38741
  if (!types) return false;
38699
38742
  for (let i = 0; i < types.length; i++) {
38700
38743
  if (types[i] === "Files") return true;
@@ -38790,7 +38833,7 @@ function FileUpload({
38790
38833
  e.stopPropagation();
38791
38834
  setDragActive(false);
38792
38835
  if (disabled) return;
38793
- if (_optionalChain([e, 'access', _785 => _785.dataTransfer, 'access', _786 => _786.files, 'optionalAccess', _787 => _787.length])) {
38836
+ if (_optionalChain([e, 'access', _789 => _789.dataTransfer, 'access', _790 => _790.files, 'optionalAccess', _791 => _791.length])) {
38794
38837
  handleFiles(e.dataTransfer.files);
38795
38838
  }
38796
38839
  };
@@ -38818,7 +38861,7 @@ function FileUpload({
38818
38861
  e.preventDefault();
38819
38862
  dragCounter = 0;
38820
38863
  setDragActive(false);
38821
- if (_optionalChain([e, 'access', _788 => _788.dataTransfer, 'optionalAccess', _789 => _789.files, 'optionalAccess', _790 => _790.length])) {
38864
+ if (_optionalChain([e, 'access', _792 => _792.dataTransfer, 'optionalAccess', _793 => _793.files, 'optionalAccess', _794 => _794.length])) {
38822
38865
  handleFilesRef.current(e.dataTransfer.files);
38823
38866
  }
38824
38867
  };
@@ -38840,7 +38883,7 @@ function FileUpload({
38840
38883
  };
38841
38884
  }, [acceptWindowDrops, disabled]);
38842
38885
  const handleFileSelect = (e) => {
38843
- if (_optionalChain([e, 'access', _791 => _791.target, 'access', _792 => _792.files, 'optionalAccess', _793 => _793.length])) {
38886
+ if (_optionalChain([e, 'access', _795 => _795.target, 'access', _796 => _796.files, 'optionalAccess', _797 => _797.length])) {
38844
38887
  handleFiles(e.target.files);
38845
38888
  }
38846
38889
  };
@@ -38857,7 +38900,7 @@ function FileUpload({
38857
38900
  };
38858
38901
  const openDialog = async () => {
38859
38902
  if (disabled) return;
38860
- _optionalChain([fileInputRef, 'access', _794 => _794.current, 'optionalAccess', _795 => _795.click, 'call', _796 => _796()]);
38903
+ _optionalChain([fileInputRef, 'access', _798 => _798.current, 'optionalAccess', _799 => _799.click, 'call', _800 => _800()]);
38861
38904
  };
38862
38905
  const displayError = error || validationError || void 0;
38863
38906
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -38919,7 +38962,7 @@ function FileUpload({
38919
38962
  "button",
38920
38963
  {
38921
38964
  type: "button",
38922
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _797 => _797(entry.id)]),
38965
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _801 => _801(entry.id)]),
38923
38966
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
38924
38967
  "aria-label": `Remove ${entry.fileName}`,
38925
38968
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.TrashIcon, { className: "size-6" })
@@ -39050,7 +39093,7 @@ function ImageUploader({
39050
39093
  onChange(file);
39051
39094
  };
39052
39095
  const handleFileSelect = (e) => {
39053
- validateAndEmit(_optionalChain([e, 'access', _798 => _798.target, 'access', _799 => _799.files, 'optionalAccess', _800 => _800[0]]));
39096
+ validateAndEmit(_optionalChain([e, 'access', _802 => _802.target, 'access', _803 => _803.files, 'optionalAccess', _804 => _804[0]]));
39054
39097
  if (inputRef.current) inputRef.current.value = "";
39055
39098
  };
39056
39099
  const handleDrag = (e) => {
@@ -39065,11 +39108,11 @@ function ImageUploader({
39065
39108
  e.stopPropagation();
39066
39109
  setDragActive(false);
39067
39110
  if (!interactive) return;
39068
- validateAndEmit(_optionalChain([e, 'access', _801 => _801.dataTransfer, 'access', _802 => _802.files, 'optionalAccess', _803 => _803[0]]));
39111
+ validateAndEmit(_optionalChain([e, 'access', _805 => _805.dataTransfer, 'access', _806 => _806.files, 'optionalAccess', _807 => _807[0]]));
39069
39112
  };
39070
39113
  const openDialog = () => {
39071
39114
  if (!interactive) return;
39072
- _optionalChain([inputRef, 'access', _804 => _804.current, 'optionalAccess', _805 => _805.click, 'call', _806 => _806()]);
39115
+ _optionalChain([inputRef, 'access', _808 => _808.current, 'optionalAccess', _809 => _809.click, 'call', _810 => _810()]);
39073
39116
  };
39074
39117
  const handleRootKeyDown = (e) => {
39075
39118
  if (hasImage || !interactive) return;
@@ -39260,8 +39303,8 @@ function ColorPresetSelect({
39260
39303
  }) {
39261
39304
  const selectedPreset = presets.find((p) => p.key === presetKey);
39262
39305
  const isCustom = !selectedPreset;
39263
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _807 => _807.label]), () => ( "Custom"));
39264
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _808 => _808.color]), () => ( value));
39306
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _811 => _811.label]), () => ( "Custom"));
39307
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _812 => _812.color]), () => ( value));
39265
39308
  const groups = [
39266
39309
  {
39267
39310
  items: [
@@ -39551,7 +39594,7 @@ function TicketStatusConfigRow({
39551
39594
  _chunkQJGRP2YEcjs.Input,
39552
39595
  {
39553
39596
  value: name,
39554
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _809 => _809(e.target.value)]),
39597
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _813 => _813(e.target.value)]),
39555
39598
  disabled: isSystem,
39556
39599
  readOnly: isSystem,
39557
39600
  "aria-label": "Status name",
@@ -39924,14 +39967,14 @@ function TicketInfoSection({
39924
39967
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39925
39968
  SquareAvatar,
39926
39969
  {
39927
- src: _optionalChain([organization, 'optionalAccess', _810 => _810.imageSrc]),
39928
- alt: _optionalChain([organization, 'optionalAccess', _811 => _811.name]),
39929
- fallback: _optionalChain([organization, 'optionalAccess', _812 => _812.name]) || "Org",
39970
+ src: _optionalChain([organization, 'optionalAccess', _814 => _814.imageSrc]),
39971
+ alt: _optionalChain([organization, 'optionalAccess', _815 => _815.name]),
39972
+ fallback: _optionalChain([organization, 'optionalAccess', _816 => _816.name]) || "Org",
39930
39973
  size: "md",
39931
39974
  className: "shrink-0"
39932
39975
  }
39933
39976
  ),
39934
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _813 => _813.name]) || "Unassigned", label: "Organization" })
39977
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _817 => _817.name]) || "Unassigned", label: "Organization" })
39935
39978
  ] }),
39936
39979
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39937
39980
  AssigneeDropdown,
@@ -39952,10 +39995,10 @@ function TicketInfoSection({
39952
39995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39953
39996
  InfoCell2,
39954
39997
  {
39955
- value: _optionalChain([device, 'optionalAccess', _814 => _814.name]) || "Unassigned",
39998
+ value: _optionalChain([device, 'optionalAccess', _818 => _818.name]) || "Unassigned",
39956
39999
  label: "Device",
39957
- icon: _optionalChain([device, 'optionalAccess', _815 => _815.icon]),
39958
- onClick: _optionalChain([device, 'optionalAccess', _816 => _816.onClick])
40000
+ icon: _optionalChain([device, 'optionalAccess', _819 => _819.icon]),
40001
+ onClick: _optionalChain([device, 'optionalAccess', _820 => _820.onClick])
39959
40002
  }
39960
40003
  ),
39961
40004
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -40285,7 +40328,7 @@ function RoadmapCard({
40285
40328
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
40286
40329
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
40287
40330
  const hasFigma = !!item.figmaUrl;
40288
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _817 => _817.screenshots, 'optionalAccess', _818 => _818.length]), () => ( 0))) > 0;
40331
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _821 => _821.screenshots, 'optionalAccess', _822 => _822.length]), () => ( 0))) > 0;
40289
40332
  const typeLabel = getTaskTypeLabel(item.customItemId);
40290
40333
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
40291
40334
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -40304,7 +40347,7 @@ function RoadmapCard({
40304
40347
  unoptimized: true,
40305
40348
  className: "h-8 w-8 object-contain"
40306
40349
  }
40307
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _819 => _819.title, 'optionalAccess', _820 => _820.substring, 'call', _821 => _821(0, 2)]) || "??" })
40350
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _823 => _823.title, 'optionalAccess', _824 => _824.substring, 'call', _825 => _825(0, 2)]) || "??" })
40308
40351
  }
40309
40352
  ),
40310
40353
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -40379,7 +40422,7 @@ function RoadmapCard({
40379
40422
  unoptimized: true,
40380
40423
  className: "object-contain p-1"
40381
40424
  }
40382
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _822 => _822.title, 'optionalAccess', _823 => _823.substring, 'call', _824 => _824(0, 2)]) || "??" }) }),
40425
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _826 => _826.title, 'optionalAccess', _827 => _827.substring, 'call', _828 => _828(0, 2)]) || "??" }) }),
40383
40426
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
40384
40427
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
40385
40428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -40889,7 +40932,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
40889
40932
  ] }) : null,
40890
40933
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
40891
40934
  ] }),
40892
- _optionalChain([anchorProps, 'optionalAccess', _825 => _825.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
40935
+ _optionalChain([anchorProps, 'optionalAccess', _829 => _829.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
40893
40936
  ] });
40894
40937
  if (!anchorProps) {
40895
40938
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -40959,7 +41002,7 @@ function getDefaultOptions() {
40959
41002
  // node_modules/date-fns/startOfWeek.mjs
40960
41003
  function startOfWeek(date, options) {
40961
41004
  const defaultOptions2 = getDefaultOptions();
40962
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _826 => _826.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.weekStartsOn]))), () => ( 0));
41005
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _831 => _831.locale, 'optionalAccess', _832 => _832.options, 'optionalAccess', _833 => _833.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _834 => _834.locale, 'optionalAccess', _835 => _835.options, 'optionalAccess', _836 => _836.weekStartsOn]))), () => ( 0));
40963
41006
  const _date = toDate(date);
40964
41007
  const day = _date.getDay();
40965
41008
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -41134,7 +41177,7 @@ var formatDistance = (token, count, options) => {
41134
41177
  } else {
41135
41178
  result = tokenValue.other.replace("{{count}}", count.toString());
41136
41179
  }
41137
- if (_optionalChain([options, 'optionalAccess', _833 => _833.addSuffix])) {
41180
+ if (_optionalChain([options, 'optionalAccess', _837 => _837.addSuffix])) {
41138
41181
  if (options.comparison && options.comparison > 0) {
41139
41182
  return "in " + result;
41140
41183
  } else {
@@ -41201,15 +41244,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
41201
41244
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
41202
41245
  function buildLocalizeFn(args) {
41203
41246
  return (value, options) => {
41204
- const context = _optionalChain([options, 'optionalAccess', _834 => _834.context]) ? String(options.context) : "standalone";
41247
+ const context = _optionalChain([options, 'optionalAccess', _838 => _838.context]) ? String(options.context) : "standalone";
41205
41248
  let valuesArray;
41206
41249
  if (context === "formatting" && args.formattingValues) {
41207
41250
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
41208
- const width = _optionalChain([options, 'optionalAccess', _835 => _835.width]) ? String(options.width) : defaultWidth;
41251
+ const width = _optionalChain([options, 'optionalAccess', _839 => _839.width]) ? String(options.width) : defaultWidth;
41209
41252
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
41210
41253
  } else {
41211
41254
  const defaultWidth = args.defaultWidth;
41212
- const width = _optionalChain([options, 'optionalAccess', _836 => _836.width]) ? String(options.width) : args.defaultWidth;
41255
+ const width = _optionalChain([options, 'optionalAccess', _840 => _840.width]) ? String(options.width) : args.defaultWidth;
41213
41256
  valuesArray = args.values[width] || args.values[defaultWidth];
41214
41257
  }
41215
41258
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -41589,7 +41632,7 @@ function getWeekYear(date, options) {
41589
41632
  const _date = toDate(date);
41590
41633
  const year = _date.getFullYear();
41591
41634
  const defaultOptions2 = getDefaultOptions();
41592
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _837 => _837.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _838 => _838.locale, 'optionalAccess', _839 => _839.options, 'optionalAccess', _840 => _840.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _841 => _841.locale, 'optionalAccess', _842 => _842.options, 'optionalAccess', _843 => _843.firstWeekContainsDate]))), () => ( 1));
41635
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _841 => _841.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _842 => _842.locale, 'optionalAccess', _843 => _843.options, 'optionalAccess', _844 => _844.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _845 => _845.locale, 'optionalAccess', _846 => _846.options, 'optionalAccess', _847 => _847.firstWeekContainsDate]))), () => ( 1));
41593
41636
  const firstWeekOfNextYear = constructFrom(date, 0);
41594
41637
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
41595
41638
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -41610,7 +41653,7 @@ function getWeekYear(date, options) {
41610
41653
  // node_modules/date-fns/startOfWeekYear.mjs
41611
41654
  function startOfWeekYear(date, options) {
41612
41655
  const defaultOptions2 = getDefaultOptions();
41613
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _844 => _844.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _845 => _845.locale, 'optionalAccess', _846 => _846.options, 'optionalAccess', _847 => _847.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _848 => _848.locale, 'optionalAccess', _849 => _849.options, 'optionalAccess', _850 => _850.firstWeekContainsDate]))), () => ( 1));
41656
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _848 => _848.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _849 => _849.locale, 'optionalAccess', _850 => _850.options, 'optionalAccess', _851 => _851.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _852 => _852.locale, 'optionalAccess', _853 => _853.options, 'optionalAccess', _854 => _854.firstWeekContainsDate]))), () => ( 1));
41614
41657
  const year = getWeekYear(date, options);
41615
41658
  const firstWeek = constructFrom(date, 0);
41616
41659
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -42425,9 +42468,9 @@ var doubleQuoteRegExp = /''/g;
42425
42468
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
42426
42469
  function format(date, formatStr, options) {
42427
42470
  const defaultOptions2 = getDefaultOptions();
42428
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _851 => _851.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
42429
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _852 => _852.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _853 => _853.locale, 'optionalAccess', _854 => _854.options, 'optionalAccess', _855 => _855.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _856 => _856.locale, 'optionalAccess', _857 => _857.options, 'optionalAccess', _858 => _858.firstWeekContainsDate]))), () => ( 1));
42430
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _859 => _859.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _860 => _860.locale, 'optionalAccess', _861 => _861.options, 'optionalAccess', _862 => _862.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _863 => _863.locale, 'optionalAccess', _864 => _864.options, 'optionalAccess', _865 => _865.weekStartsOn]))), () => ( 0));
42471
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _855 => _855.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
42472
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _856 => _856.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _857 => _857.locale, 'optionalAccess', _858 => _858.options, 'optionalAccess', _859 => _859.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _860 => _860.locale, 'optionalAccess', _861 => _861.options, 'optionalAccess', _862 => _862.firstWeekContainsDate]))), () => ( 1));
42473
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _863 => _863.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _864 => _864.locale, 'optionalAccess', _865 => _865.options, 'optionalAccess', _866 => _866.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _867 => _867.locale, 'optionalAccess', _868 => _868.options, 'optionalAccess', _869 => _869.weekStartsOn]))), () => ( 0));
42431
42474
  const originalDate = toDate(date);
42432
42475
  if (!isValid(originalDate)) {
42433
42476
  throw new RangeError("Invalid time value");
@@ -42468,7 +42511,7 @@ function format(date, formatStr, options) {
42468
42511
  return parts.map((part) => {
42469
42512
  if (!part.isToken) return part.value;
42470
42513
  const token = part.value;
42471
- if (!_optionalChain([options, 'optionalAccess', _866 => _866.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _867 => _867.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
42514
+ if (!_optionalChain([options, 'optionalAccess', _870 => _870.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _871 => _871.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
42472
42515
  warnOrThrowProtectedError(token, formatStr, String(date));
42473
42516
  }
42474
42517
  const formatter = formatters[token[0]];
@@ -42649,7 +42692,7 @@ function ProgramCard({
42649
42692
  const dur = formatDurationFromRange(w.start_at, w.end_at);
42650
42693
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42651
42694
  }
42652
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _868 => _868.labels, 'optionalAccess', _869 => _869.singular])].filter(
42695
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _872 => _872.labels, 'optionalAccess', _873 => _873.singular])].filter(
42653
42696
  (s) => typeof s === "string" && s.length > 0
42654
42697
  );
42655
42698
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -42806,7 +42849,7 @@ function ProgramCard({
42806
42849
 
42807
42850
 
42808
42851
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
42809
- const goalsCount = _optionalChain([campaign, 'access', _870 => _870.goals, 'optionalAccess', _871 => _871.length]) || 0;
42852
+ const goalsCount = _optionalChain([campaign, 'access', _874 => _874.goals, 'optionalAccess', _875 => _875.length]) || 0;
42810
42853
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42811
42854
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
42812
42855
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42968,7 +43011,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
42968
43011
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
42969
43012
  const safePath = sanitizePath(row.path);
42970
43013
  if (safePath) {
42971
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _872 => _872.docPlatformTargets, 'optionalAccess', _873 => _873[row.documentType]]) : void 0;
43014
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _876 => _876.docPlatformTargets, 'optionalAccess', _877 => _877[row.documentType]]) : void 0;
42972
43015
  if (docTarget) {
42973
43016
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
42974
43017
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -43183,8 +43226,8 @@ function cardMenuGroups(href, discuss, openDetails) {
43183
43226
  if (href) {
43184
43227
  items.push({
43185
43228
  id: "open-details",
43186
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _874 => _874.label]), () => ( "Open Details")),
43187
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _875 => _875.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.EyeIcon, { size: 20 }))),
43229
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _878 => _878.label]), () => ( "Open Details")),
43230
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _879 => _879.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.EyeIcon, { size: 20 }))),
43188
43231
  // Main row → open the entity (same tab, soft Link nav).
43189
43232
  href,
43190
43233
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -43214,8 +43257,8 @@ function HubspotTicketChatCard({
43214
43257
  isNewTab,
43215
43258
  discuss
43216
43259
  }) {
43217
- const status = typeof _optionalChain([chatRef, 'access', _876 => _876.metadata, 'optionalAccess', _877 => _877.status]) === "string" ? chatRef.metadata.status : void 0;
43218
- const statusLabel = typeof _optionalChain([chatRef, 'access', _878 => _878.metadata, 'optionalAccess', _879 => _879.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
43260
+ const status = typeof _optionalChain([chatRef, 'access', _880 => _880.metadata, 'optionalAccess', _881 => _881.status]) === "string" ? chatRef.metadata.status : void 0;
43261
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _882 => _882.metadata, 'optionalAccess', _883 => _883.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
43219
43262
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
43220
43263
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43221
43264
  MingoInfoCard,
@@ -43238,7 +43281,7 @@ function FaqChatCard({
43238
43281
  isNewTab,
43239
43282
  discuss
43240
43283
  }) {
43241
- const section = typeof _optionalChain([chatRef, 'access', _880 => _880.metadata, 'optionalAccess', _881 => _881.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
43284
+ const section = typeof _optionalChain([chatRef, 'access', _884 => _884.metadata, 'optionalAccess', _885 => _885.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
43242
43285
  const statusLabel = section && section.length > 0 ? section : "FAQ";
43243
43286
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43244
43287
  MingoInfoCard,
@@ -43258,7 +43301,7 @@ function SlackChatCard({
43258
43301
  isNewTab,
43259
43302
  discuss
43260
43303
  }) {
43261
- const channelName = typeof _optionalChain([chatRef, 'access', _882 => _882.metadata, 'optionalAccess', _883 => _883.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
43304
+ const channelName = typeof _optionalChain([chatRef, 'access', _886 => _886.metadata, 'optionalAccess', _887 => _887.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
43262
43305
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
43263
43306
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
43264
43307
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -43298,7 +43341,7 @@ function GenericFinancialChatCard({
43298
43341
  isNewTab,
43299
43342
  discuss
43300
43343
  }) {
43301
- const subtitle = typeof _optionalChain([chatRef, 'access', _884 => _884.metadata, 'optionalAccess', _885 => _885.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
43344
+ const subtitle = typeof _optionalChain([chatRef, 'access', _888 => _888.metadata, 'optionalAccess', _889 => _889.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
43302
43345
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43303
43346
  MingoInfoCard,
43304
43347
  {
@@ -43367,12 +43410,12 @@ function ProductReleaseChatCard({
43367
43410
  discuss
43368
43411
  }) {
43369
43412
  const releaseProps = buildProps(item);
43370
- const status = _optionalChain([item, 'optionalAccess', _886 => _886.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
43413
+ const status = _optionalChain([item, 'optionalAccess', _890 => _890.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
43371
43414
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43372
43415
  EntityMingoCard,
43373
43416
  {
43374
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _887 => _887.title]), () => ( "")),
43375
- description: _optionalChain([item, 'optionalAccess', _888 => _888.summary]) || releaseProps.formattedDate || void 0,
43417
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
43418
+ description: _optionalChain([item, 'optionalAccess', _892 => _892.summary]) || releaseProps.formattedDate || void 0,
43376
43419
  cover: releaseProps.coverImage || void 0,
43377
43420
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.Rocket02Icon, { size: 24 }),
43378
43421
  status,
@@ -43389,17 +43432,17 @@ function CampaignChatCard({
43389
43432
  isNewTab,
43390
43433
  discuss
43391
43434
  }) {
43392
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _889 => _889.goals])) ? item.goals.length : 0;
43435
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _893 => _893.goals])) ? item.goals.length : 0;
43393
43436
  const meta = [
43394
- _optionalChain([item, 'optionalAccess', _890 => _890.start_date]) ? formatDateShort(item.start_date) : null,
43437
+ _optionalChain([item, 'optionalAccess', _894 => _894.start_date]) ? formatDateShort(item.start_date) : null,
43395
43438
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
43396
43439
  "Marketing campaign"
43397
43440
  ].filter(Boolean).join(" \xB7 ");
43398
43441
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43399
43442
  EntityMingoCard,
43400
43443
  {
43401
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.name]), () => ( "")),
43402
- description: meta || _optionalChain([item, 'optionalAccess', _892 => _892.description]) || void 0,
43444
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.name]), () => ( "")),
43445
+ description: meta || _optionalChain([item, 'optionalAccess', _896 => _896.description]) || void 0,
43403
43446
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.Megaphone01Icon, { size: 24 }),
43404
43447
  chatRef,
43405
43448
  isNewTab,
@@ -43452,14 +43495,14 @@ function BlogChatCard({
43452
43495
  hasEmbeddedVideo,
43453
43496
  discuss
43454
43497
  }) {
43455
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _893 => _893.categories])) ? _optionalChain([item, 'access', _894 => _894.categories, 'access', _895 => _895.find, 'call', _896 => _896((c) => c && c.name), 'optionalAccess', _897 => _897.name]) : void 0;
43498
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _897 => _897.categories])) ? _optionalChain([item, 'access', _898 => _898.categories, 'access', _899 => _899.find, 'call', _900 => _900((c) => c && c.name), 'optionalAccess', _901 => _901.name]) : void 0;
43456
43499
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
43457
43500
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43458
43501
  EntityMingoCard,
43459
43502
  {
43460
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _898 => _898.title]), () => ( "")),
43461
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.summary]), () => ( void 0)),
43462
- cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.featured_image]), ogPlaceholder),
43503
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _902 => _902.title]), () => ( "")),
43504
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _903 => _903.summary]), () => ( void 0)),
43505
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _904 => _904.featured_image]), ogPlaceholder),
43463
43506
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.NewspaperIcon, { size: 24 }),
43464
43507
  status,
43465
43508
  chatRef,
@@ -43476,13 +43519,13 @@ function CaseStudyChatCard({
43476
43519
  ogPlaceholder,
43477
43520
  discuss
43478
43521
  }) {
43479
- const meta = [_optionalChain([item, 'optionalAccess', _901 => _901.msp, 'optionalAccess', _902 => _902.name]), _optionalChain([item, 'optionalAccess', _903 => _903.user, 'optionalAccess', _904 => _904.full_name])].filter(Boolean).join(" \xB7 ");
43522
+ const meta = [_optionalChain([item, 'optionalAccess', _905 => _905.msp, 'optionalAccess', _906 => _906.name]), _optionalChain([item, 'optionalAccess', _907 => _907.user, 'optionalAccess', _908 => _908.full_name])].filter(Boolean).join(" \xB7 ");
43480
43523
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43481
43524
  EntityMingoCard,
43482
43525
  {
43483
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.title]), () => ( "")),
43484
- description: _optionalChain([item, 'optionalAccess', _906 => _906.summary]) || meta || void 0,
43485
- cover: entityCover(_optionalChain([item, 'optionalAccess', _907 => _907.featured_image]), ogPlaceholder),
43526
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _909 => _909.title]), () => ( "")),
43527
+ description: _optionalChain([item, 'optionalAccess', _910 => _910.summary]) || meta || void 0,
43528
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _911 => _911.featured_image]), ogPlaceholder),
43486
43529
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.TrophyIcon, { size: 24 }),
43487
43530
  status: { label: "Case study", variant: "grey" },
43488
43531
  chatRef,
@@ -43499,13 +43542,13 @@ function CustomerInterviewChatCard({
43499
43542
  ogPlaceholder,
43500
43543
  discuss
43501
43544
  }) {
43502
- const meta = [_optionalChain([item, 'optionalAccess', _908 => _908.user, 'optionalAccess', _909 => _909.full_name]), _optionalChain([item, 'optionalAccess', _910 => _910.msp, 'optionalAccess', _911 => _911.name])].filter(Boolean).join(" \xB7 ");
43545
+ const meta = [_optionalChain([item, 'optionalAccess', _912 => _912.user, 'optionalAccess', _913 => _913.full_name]), _optionalChain([item, 'optionalAccess', _914 => _914.msp, 'optionalAccess', _915 => _915.name])].filter(Boolean).join(" \xB7 ");
43503
43546
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43504
43547
  EntityMingoCard,
43505
43548
  {
43506
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
43507
- description: _optionalChain([item, 'optionalAccess', _913 => _913.video_summary]) || meta || void 0,
43508
- cover: entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.featured_image]), ogPlaceholder),
43549
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.title]), () => ( "")),
43550
+ description: _optionalChain([item, 'optionalAccess', _917 => _917.video_summary]) || meta || void 0,
43551
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _918 => _918.featured_image]), ogPlaceholder),
43509
43552
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.MicrophoneIcon, { size: 24 }),
43510
43553
  status: { label: "Interview", variant: "grey" },
43511
43554
  chatRef,
@@ -43522,13 +43565,13 @@ function InvestorUpdateChatCard({
43522
43565
  ogPlaceholder,
43523
43566
  discuss
43524
43567
  }) {
43525
- const title = _optionalChain([item, 'optionalAccess', _915 => _915.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.update_number]), () => ( "?"))}`;
43568
+ const title = _optionalChain([item, 'optionalAccess', _919 => _919.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _920 => _920.update_number]), () => ( "?"))}`;
43526
43569
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43527
43570
  EntityMingoCard,
43528
43571
  {
43529
43572
  title,
43530
- description: _optionalChain([item, 'optionalAccess', _917 => _917.strategic_update]) || _optionalChain([item, 'optionalAccess', _918 => _918.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _919 => _919.period_start]), _optionalChain([item, 'optionalAccess', _920 => _920.period_end])) || void 0,
43531
- cover: entityCover(_optionalChain([item, 'optionalAccess', _921 => _921.featured_image]), ogPlaceholder),
43573
+ description: _optionalChain([item, 'optionalAccess', _921 => _921.strategic_update]) || _optionalChain([item, 'optionalAccess', _922 => _922.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _923 => _923.period_start]), _optionalChain([item, 'optionalAccess', _924 => _924.period_end])) || void 0,
43574
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _925 => _925.featured_image]), ogPlaceholder),
43532
43575
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.PresentationLineIcon, { size: 24 }),
43533
43576
  status: { label: "Investor update", variant: "grey" },
43534
43577
  chatRef,
@@ -43545,12 +43588,12 @@ function OnboardingGuideChatCard({
43545
43588
  ogPlaceholder,
43546
43589
  discuss
43547
43590
  }) {
43548
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _922 => _922.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _923 => _923.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _924 => _924.og_image_url]), ogPlaceholder)));
43591
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _926 => _926.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _927 => _927.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _928 => _928.og_image_url]), ogPlaceholder)));
43549
43592
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43550
43593
  EntityMingoCard,
43551
43594
  {
43552
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.title]), () => ( "")),
43553
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.summary]), () => ( _optionalChain([item, 'optionalAccess', _927 => _927.description]))), () => ( void 0)),
43595
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _929 => _929.title]), () => ( "")),
43596
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.summary]), () => ( _optionalChain([item, 'optionalAccess', _931 => _931.description]))), () => ( void 0)),
43554
43597
  cover,
43555
43598
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.CompassIcon, { size: 24 }),
43556
43599
  status: { label: "Guide", variant: "grey" },
@@ -43571,25 +43614,25 @@ function ProgramChatCard({
43571
43614
  discuss
43572
43615
  }) {
43573
43616
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.MicrophoneIcon, { size: 24 });
43574
- const isScheduled = _optionalChain([item, 'optionalAccess', _928 => _928.status]) === "scheduled";
43617
+ const isScheduled = _optionalChain([item, 'optionalAccess', _932 => _932.status]) === "scheduled";
43575
43618
  let typeMeta;
43576
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _929 => _929.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
43619
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _933 => _933.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
43577
43620
  typeMeta = formatDurationCompact(item.duration_seconds);
43578
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _930 => _930.location_name]) === "string" && item.location_name.trim().length > 0) {
43621
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _934 => _934.location_name]) === "string" && item.location_name.trim().length > 0) {
43579
43622
  typeMeta = item.location_name;
43580
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _931 => _931.start_at])) {
43623
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _935 => _935.start_at])) {
43581
43624
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
43582
43625
  const dur = formatDurationFromRange(item.start_at, item.end_at);
43583
43626
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
43584
43627
  }
43585
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.date]), () => ( null)), { fallback: "", timezone: "local" });
43628
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _936 => _936.date]), () => ( null)), { fallback: "", timezone: "local" });
43586
43629
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
43587
43630
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43588
43631
  EntityMingoCard,
43589
43632
  {
43590
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _933 => _933.title]), () => ( "")),
43591
- description: meta || _optionalChain([item, 'optionalAccess', _934 => _934.description]) || void 0,
43592
- cover: entityCover(_optionalChain([item, 'optionalAccess', _935 => _935.cover_url]), ogPlaceholder),
43633
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _937 => _937.title]), () => ( "")),
43634
+ description: meta || _optionalChain([item, 'optionalAccess', _938 => _938.description]) || void 0,
43635
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _939 => _939.cover_url]), ogPlaceholder),
43593
43636
  fallbackIcon: icon,
43594
43637
  status: { label, variant: "grey" },
43595
43638
  chatRef,
@@ -43606,10 +43649,10 @@ function RoadmapChatCard({
43606
43649
  cardType,
43607
43650
  discuss
43608
43651
  }) {
43609
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _936 => _936.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43610
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _937 => _937.customItemId]) != null;
43652
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _940 => _940.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43653
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _941 => _941.customItemId]) != null;
43611
43654
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQXHTYNAWcjs.MapIcon, { size: 24 });
43612
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _938 => _938.customItemId]), className: "size-6" }) : logoUrl ? (
43655
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _942 => _942.customItemId]), className: "size-6" }) : logoUrl ? (
43613
43656
  // Contained (not full-bleed) so the integration logo keeps its aspect
43614
43657
  // ratio inside the bordered icon box — matches RoadmapCard.
43615
43658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -43617,10 +43660,10 @@ function RoadmapChatCard({
43617
43660
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43618
43661
  EntityMingoCard,
43619
43662
  {
43620
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _939 => _939.title]), () => ( "")),
43621
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _940 => _940.description]), () => ( void 0)),
43663
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _943 => _943.title]), () => ( "")),
43664
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.description]), () => ( void 0)),
43622
43665
  fallbackIcon: icon,
43623
- status: statusPill(_optionalChain([item, 'optionalAccess', _941 => _941.status])),
43666
+ status: statusPill(_optionalChain([item, 'optionalAccess', _945 => _945.status])),
43624
43667
  chatRef,
43625
43668
  isNewTab,
43626
43669
  discuss,
@@ -43706,7 +43749,7 @@ function programRegistryEntries() {
43706
43749
  discuss: opts.discuss,
43707
43750
  configKey: cfg.configKey,
43708
43751
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
43709
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _942 => _942.extras, 'optionalAccess', _943 => _943.buildOgPlaceholderUrl, 'optionalCall', _944 => _944(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _945 => _945.title]), () => ( "")))]), () => ( null))
43752
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _946 => _946.extras, 'optionalAccess', _947 => _947.buildOgPlaceholderUrl, 'optionalCall', _948 => _948(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _949 => _949.title]), () => ( "")))]), () => ( null))
43710
43753
  }
43711
43754
  )
43712
43755
  };
@@ -43858,8 +43901,8 @@ var CHAT_CARD_REGISTRY = {
43858
43901
  chatRef,
43859
43902
  isNewTab: opts.isNewTab,
43860
43903
  discuss: opts.discuss,
43861
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _946 => _946.extras, 'optionalAccess', _947 => _947.buildOgPlaceholderUrl, 'optionalCall', _948 => _948(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _949 => _949.title]), () => ( "")))]), () => ( null)),
43862
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _950 => _950.metadata, 'optionalAccess', _951 => _951.hasEmbeddedVideo]) === true
43904
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _950 => _950.extras, 'optionalAccess', _951 => _951.buildOgPlaceholderUrl, 'optionalCall', _952 => _952(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _953 => _953.title]), () => ( "")))]), () => ( null)),
43905
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _954 => _954.metadata, 'optionalAccess', _955 => _955.hasEmbeddedVideo]) === true
43863
43906
  }
43864
43907
  )
43865
43908
  },
@@ -43876,7 +43919,7 @@ var CHAT_CARD_REGISTRY = {
43876
43919
  chatRef,
43877
43920
  isNewTab: opts.isNewTab,
43878
43921
  discuss: opts.discuss,
43879
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _952 => _952.extras, 'optionalAccess', _953 => _953.buildOgPlaceholderUrl, 'optionalCall', _954 => _954(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _955 => _955.title]), () => ( "")))]), () => ( null))
43922
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _956 => _956.extras, 'optionalAccess', _957 => _957.buildOgPlaceholderUrl, 'optionalCall', _958 => _958(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _959 => _959.title]), () => ( "")))]), () => ( null))
43880
43923
  }
43881
43924
  )
43882
43925
  },
@@ -43893,7 +43936,7 @@ var CHAT_CARD_REGISTRY = {
43893
43936
  chatRef,
43894
43937
  isNewTab: opts.isNewTab,
43895
43938
  discuss: opts.discuss,
43896
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _956 => _956.extras, 'optionalAccess', _957 => _957.buildOgPlaceholderUrl, 'optionalCall', _958 => _958(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _959 => _959.title]), () => ( "")))]), () => ( null))
43939
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _960 => _960.extras, 'optionalAccess', _961 => _961.buildOgPlaceholderUrl, 'optionalCall', _962 => _962(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _963 => _963.title]), () => ( "")))]), () => ( null))
43897
43940
  }
43898
43941
  )
43899
43942
  },
@@ -43904,7 +43947,7 @@ var CHAT_CARD_REGISTRY = {
43904
43947
  bareInline: true,
43905
43948
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
43906
43949
  render: (item, chatRef, opts) => {
43907
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _960 => _960.extras, 'optionalAccess', _961 => _961.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43950
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _964 => _964.extras, 'optionalAccess', _965 => _965.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43908
43951
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43909
43952
  ProductReleaseChatCard,
43910
43953
  {
@@ -43931,7 +43974,7 @@ var CHAT_CARD_REGISTRY = {
43931
43974
  chatRef,
43932
43975
  isNewTab: opts.isNewTab,
43933
43976
  discuss: opts.discuss,
43934
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _962 => _962.extras, 'optionalAccess', _963 => _963.buildOgPlaceholderUrl, 'optionalCall', _964 => _964(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _965 => _965.title]), () => ( "")))]), () => ( null))
43977
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _966 => _966.extras, 'optionalAccess', _967 => _967.buildOgPlaceholderUrl, 'optionalCall', _968 => _968(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _969 => _969.title]), () => ( "")))]), () => ( null))
43935
43978
  }
43936
43979
  )
43937
43980
  },
@@ -43950,7 +43993,7 @@ var CHAT_CARD_REGISTRY = {
43950
43993
  chatRef,
43951
43994
  isNewTab: opts.isNewTab,
43952
43995
  discuss: opts.discuss,
43953
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _966 => _966.extras, 'optionalAccess', _967 => _967.buildOgPlaceholderUrl, 'optionalCall', _968 => _968(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _969 => _969.title]), () => ( "")))]), () => ( null))
43996
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _970 => _970.extras, 'optionalAccess', _971 => _971.buildOgPlaceholderUrl, 'optionalCall', _972 => _972(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _973 => _973.title]), () => ( "")))]), () => ( null))
43954
43997
  }
43955
43998
  )
43956
43999
  },
@@ -43962,7 +44005,7 @@ var CHAT_CARD_REGISTRY = {
43962
44005
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
43963
44006
  // No public viewer — synthesize the hub-internal admin URL post-fetch
43964
44007
  // so the wrapper + isNewTab computation see the actual destination.
43965
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _970 => _970.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
44008
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _974 => _974.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43966
44009
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43967
44010
  CampaignChatCard,
43968
44011
  {
@@ -43988,12 +44031,12 @@ function ChatCardNavWrap({
43988
44031
  const onClickCapture = (e) => {
43989
44032
  if (!href) return;
43990
44033
  const targetEl = e.target;
43991
- if (_optionalChain([targetEl, 'optionalAccess', _971 => _971.closest, 'optionalCall', _972 => _972("button")])) return;
43992
- if (!_optionalChain([targetEl, 'optionalAccess', _973 => _973.closest, 'optionalCall', _974 => _974("a")])) return;
44034
+ if (_optionalChain([targetEl, 'optionalAccess', _975 => _975.closest, 'optionalCall', _976 => _976("button")])) return;
44035
+ if (!_optionalChain([targetEl, 'optionalAccess', _977 => _977.closest, 'optionalCall', _978 => _978("a")])) return;
43993
44036
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
43994
44037
  if (!handled) return;
43995
44038
  e.stopPropagation();
43996
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _975 => _975.closeChat])) panel.closeChat();
44039
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _979 => _979.closeChat])) panel.closeChat();
43997
44040
  };
43998
44041
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
43999
44042
  }
@@ -44015,7 +44058,7 @@ function ChatCardLoader({
44015
44058
  title: chatRef.title,
44016
44059
  externalUrl: chatRef.url,
44017
44060
  targetPlatform: chatRef.targetPlatform,
44018
- path: typeof _optionalChain([chatRef, 'access', _976 => _976.metadata, 'optionalAccess', _977 => _977.path]) === "string" ? chatRef.metadata.path : null
44061
+ path: typeof _optionalChain([chatRef, 'access', _980 => _980.metadata, 'optionalAccess', _981 => _981.path]) === "string" ? chatRef.metadata.path : null
44019
44062
  },
44020
44063
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
44021
44064
  );
@@ -44029,7 +44072,7 @@ function ChatCardLoader({
44029
44072
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
44030
44073
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
44031
44074
  const { item, isLoading } = useChatCardItem(
44032
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _978 => _978.contentRefType]), () => ( "")),
44075
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _982 => _982.contentRefType]), () => ( "")),
44033
44076
  fetchEntry ? resolvedChatRef.id : ""
44034
44077
  );
44035
44078
  if (!entry) return null;
@@ -44060,7 +44103,7 @@ function ChatCardLoader({
44060
44103
  isNewTab,
44061
44104
  discuss
44062
44105
  };
44063
- const path = typeof _optionalChain([finalChatRef, 'access', _979 => _979.metadata, 'optionalAccess', _980 => _980.path]) === "string" ? finalChatRef.metadata.path : null;
44106
+ const path = typeof _optionalChain([finalChatRef, 'access', _983 => _983.metadata, 'optionalAccess', _984 => _984.path]) === "string" ? finalChatRef.metadata.path : null;
44064
44107
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44065
44108
  ChatCardNavWrap,
44066
44109
  {
@@ -44446,7 +44489,7 @@ function useJetStreamDialogSubscription({
44446
44489
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44447
44490
  conn: sharedConn,
44448
44491
  wsUrl,
44449
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]),
44492
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _985 => _985.current, 'optionalCall', _986 => _986()]),
44450
44493
  backoff: reconnectionBackoffRef.current,
44451
44494
  getFreshUrl: () => getNatsWsUrlRef.current(),
44452
44495
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -44461,7 +44504,7 @@ function useJetStreamDialogSubscription({
44461
44504
  setReconnectionCount((c) => c + 1);
44462
44505
  }
44463
44506
  hadConnectionBeforeRef.current = true;
44464
- _optionalChain([onConnectRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
44507
+ _optionalChain([onConnectRef, 'access', _987 => _987.current, 'optionalCall', _988 => _988()]);
44465
44508
  }
44466
44509
  if (status === "error") {
44467
44510
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -44471,7 +44514,7 @@ function useJetStreamDialogSubscription({
44471
44514
  setIsConnected(false);
44472
44515
  setIsSubscribed(false);
44473
44516
  tearDownSubscription();
44474
- _optionalChain([onDisconnectRef, 'access', _985 => _985.current, 'optionalCall', _986 => _986()]);
44517
+ _optionalChain([onDisconnectRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
44475
44518
  }
44476
44519
  }
44477
44520
  });
@@ -44550,7 +44593,7 @@ function useJetStreamDialogSubscription({
44550
44593
  }
44551
44594
  subscriptionRef.current = handle;
44552
44595
  setIsSubscribed(true);
44553
- _optionalChain([onSubscribedRef, 'access', _987 => _987.current, 'optionalCall', _988 => _988()]);
44596
+ _optionalChain([onSubscribedRef, 'access', _991 => _991.current, 'optionalCall', _992 => _992()]);
44554
44597
  } catch (e44) {
44555
44598
  if (!cancelled) {
44556
44599
  setIsSubscribed(false);
@@ -44663,20 +44706,20 @@ function useNatsDialogSubscription({
44663
44706
  const tearDownSubscriptions = () => {
44664
44707
  subscriptionRefs.current.forEach((sub) => {
44665
44708
  try {
44666
- _optionalChain([sub, 'optionalAccess', _989 => _989.unsubscribe, 'call', _990 => _990()]);
44709
+ _optionalChain([sub, 'optionalAccess', _993 => _993.unsubscribe, 'call', _994 => _994()]);
44667
44710
  } catch (e46) {
44668
44711
  }
44669
44712
  });
44670
44713
  subscriptionRefs.current.clear();
44671
44714
  lastSubscribedDialogIdRef.current = null;
44672
- _optionalChain([abortControllerRef, 'access', _991 => _991.current, 'optionalAccess', _992 => _992.abort, 'call', _993 => _993()]);
44715
+ _optionalChain([abortControllerRef, 'access', _995 => _995.current, 'optionalAccess', _996 => _996.abort, 'call', _997 => _997()]);
44673
44716
  abortControllerRef.current = null;
44674
44717
  };
44675
44718
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
44676
44719
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44677
44720
  conn: sharedConn,
44678
44721
  wsUrl,
44679
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _994 => _994.current, 'optionalCall', _995 => _995()]),
44722
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _998 => _998.current, 'optionalCall', _999 => _999()]),
44680
44723
  backoff: reconnectionBackoffRef.current,
44681
44724
  getFreshUrl: () => getNatsWsUrlRef.current(),
44682
44725
  shouldRetryOn: isDisconnectStatus,
@@ -44687,7 +44730,7 @@ function useNatsDialogSubscription({
44687
44730
  setReconnectionCount((c) => c + 1);
44688
44731
  }
44689
44732
  hadConnectionBeforeRef.current = true;
44690
- _optionalChain([onConnectRef, 'access', _996 => _996.current, 'optionalCall', _997 => _997()]);
44733
+ _optionalChain([onConnectRef, 'access', _1000 => _1000.current, 'optionalCall', _1001 => _1001()]);
44691
44734
  }
44692
44735
  if (status === "error") {
44693
44736
  console.warn("[NATS] protocol error:", evt.data);
@@ -44697,7 +44740,7 @@ function useNatsDialogSubscription({
44697
44740
  setIsConnected(false);
44698
44741
  setIsSubscribed(false);
44699
44742
  tearDownSubscriptions();
44700
- _optionalChain([onDisconnectRef, 'access', _998 => _998.current, 'optionalCall', _999 => _999()]);
44743
+ _optionalChain([onDisconnectRef, 'access', _1002 => _1002.current, 'optionalCall', _1003 => _1003()]);
44701
44744
  }
44702
44745
  }
44703
44746
  });
@@ -44728,13 +44771,13 @@ function useNatsDialogSubscription({
44728
44771
  setIsSubscribed(false);
44729
44772
  subscriptionRefs.current.forEach((sub) => {
44730
44773
  try {
44731
- _optionalChain([sub, 'optionalAccess', _1000 => _1000.unsubscribe, 'call', _1001 => _1001()]);
44774
+ _optionalChain([sub, 'optionalAccess', _1004 => _1004.unsubscribe, 'call', _1005 => _1005()]);
44732
44775
  } catch (e47) {
44733
44776
  }
44734
44777
  });
44735
44778
  subscriptionRefs.current.clear();
44736
44779
  lastSubscribedDialogIdRef.current = null;
44737
- _optionalChain([abortControllerRef, 'access', _1002 => _1002.current, 'optionalAccess', _1003 => _1003.abort, 'call', _1004 => _1004()]);
44780
+ _optionalChain([abortControllerRef, 'access', _1006 => _1006.current, 'optionalAccess', _1007 => _1007.abort, 'call', _1008 => _1008()]);
44738
44781
  abortControllerRef.current = null;
44739
44782
  }
44740
44783
  return;
@@ -44746,12 +44789,12 @@ function useNatsDialogSubscription({
44746
44789
  if (subscriptionRefs.current.size > 0) {
44747
44790
  subscriptionRefs.current.forEach((sub) => {
44748
44791
  try {
44749
- _optionalChain([sub, 'optionalAccess', _1005 => _1005.unsubscribe, 'call', _1006 => _1006()]);
44792
+ _optionalChain([sub, 'optionalAccess', _1009 => _1009.unsubscribe, 'call', _1010 => _1010()]);
44750
44793
  } catch (e48) {
44751
44794
  }
44752
44795
  });
44753
44796
  subscriptionRefs.current.clear();
44754
- _optionalChain([abortControllerRef, 'access', _1007 => _1007.current, 'optionalAccess', _1008 => _1008.abort, 'call', _1009 => _1009()]);
44797
+ _optionalChain([abortControllerRef, 'access', _1011 => _1011.current, 'optionalAccess', _1012 => _1012.abort, 'call', _1013 => _1013()]);
44755
44798
  }
44756
44799
  abortControllerRef.current = new AbortController();
44757
44800
  const abort = abortControllerRef.current;
@@ -44783,7 +44826,7 @@ function useNatsDialogSubscription({
44783
44826
  });
44784
44827
  lastSubscribedDialogIdRef.current = dialogId;
44785
44828
  setIsSubscribed(true);
44786
- _optionalChain([onSubscribedRef, 'access', _1010 => _1010.current, 'optionalCall', _1011 => _1011()]);
44829
+ _optionalChain([onSubscribedRef, 'access', _1014 => _1014.current, 'optionalCall', _1015 => _1015()]);
44787
44830
  };
44788
44831
  if (isConnectedRef.current) {
44789
44832
  createSubscriptions();
@@ -44793,7 +44836,7 @@ function useNatsDialogSubscription({
44793
44836
  abort.abort();
44794
44837
  subscriptionRefs.current.forEach((sub) => {
44795
44838
  try {
44796
- _optionalChain([sub, 'optionalAccess', _1012 => _1012.unsubscribe, 'call', _1013 => _1013()]);
44839
+ _optionalChain([sub, 'optionalAccess', _1016 => _1016.unsubscribe, 'call', _1017 => _1017()]);
44797
44840
  } catch (e50) {
44798
44841
  }
44799
44842
  });
@@ -44834,7 +44877,7 @@ function useNatsDialogSubscription({
44834
44877
  });
44835
44878
  lastSubscribedDialogIdRef.current = dialogId2;
44836
44879
  setIsSubscribed(true);
44837
- _optionalChain([onSubscribedRef, 'access', _1014 => _1014.current, 'optionalCall', _1015 => _1015()]);
44880
+ _optionalChain([onSubscribedRef, 'access', _1018 => _1018.current, 'optionalCall', _1019 => _1019()]);
44838
44881
  } else if (subscriptionRefs.current.size > 0) {
44839
44882
  setIsSubscribed(true);
44840
44883
  }
@@ -44842,10 +44885,10 @@ function useNatsDialogSubscription({
44842
44885
  return { isConnected, isSubscribed, reconnectionCount };
44843
44886
  }
44844
44887
  function buildNatsWsUrl(apiBaseUrl, options) {
44845
- const path = _optionalChain([options, 'optionalAccess', _1016 => _1016.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44888
+ const path = _optionalChain([options, 'optionalAccess', _1020 => _1020.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44846
44889
  const u = new URL(path, apiBaseUrl);
44847
44890
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
44848
- if (_optionalChain([options, 'optionalAccess', _1017 => _1017.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1018 => _1018.token])) {
44891
+ if (_optionalChain([options, 'optionalAccess', _1021 => _1021.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1022 => _1022.token])) {
44849
44892
  u.searchParams.set("authorization", options.token);
44850
44893
  }
44851
44894
  return u.toString();
@@ -44981,7 +45024,7 @@ function parseChunkToAction(chunk) {
44981
45024
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
44982
45025
  // historical path in `process-historical-messages.ts`) — keeps both
44983
45026
  // message sources producing an identical shape.
44984
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1019 => _1019.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1020 => _1020.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
45027
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1023 => _1023.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1024 => _1024.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44985
45028
  };
44986
45029
  case MESSAGE_TYPE.TOKEN_USAGE:
44987
45030
  return {
@@ -45173,8 +45216,8 @@ var MessageSegmentAccumulator = class {
45173
45216
  type: "tool_execution",
45174
45217
  data: {
45175
45218
  ...toolData,
45176
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1021 => _1021.data, 'access', _1022 => _1022.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1023 => _1023.toolTitle]))),
45177
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1024 => _1024.parameters])
45219
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1025 => _1025.data, 'access', _1026 => _1026.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1027 => _1027.toolTitle]))),
45220
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1028 => _1028.parameters])
45178
45221
  }
45179
45222
  };
45180
45223
  if (existingIndex !== -1) {
@@ -45198,8 +45241,8 @@ var MessageSegmentAccumulator = class {
45198
45241
  if (seg.type !== "approval_batch") return seg;
45199
45242
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
45200
45243
  if (!hasCall) return seg;
45201
- const prev = _optionalChain([seg, 'access', _1025 => _1025.data, 'access', _1026 => _1026.executions, 'optionalAccess', _1027 => _1027[execId]]);
45202
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1028 => _1028.result]), success: _optionalChain([prev, 'optionalAccess', _1029 => _1029.success]) };
45244
+ const prev = _optionalChain([seg, 'access', _1029 => _1029.data, 'access', _1030 => _1030.executions, 'optionalAccess', _1031 => _1031[execId]]);
45245
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1032 => _1032.result]), success: _optionalChain([prev, 'optionalAccess', _1033 => _1033.success]) };
45203
45246
  matched = true;
45204
45247
  return {
45205
45248
  ...seg,
@@ -45321,10 +45364,10 @@ var MessageSegmentAccumulator = class {
45321
45364
  const segment = {
45322
45365
  type: "approval_request",
45323
45366
  data: {
45324
- command: _optionalChain([pendingApproval, 'optionalAccess', _1030 => _1030.command]) || "",
45325
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1031 => _1031.explanation]),
45367
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1034 => _1034.command]) || "",
45368
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1035 => _1035.explanation]),
45326
45369
  requestId,
45327
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1032 => _1032.approvalType]) || approvalType
45370
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1036 => _1036.approvalType]) || approvalType
45328
45371
  },
45329
45372
  status,
45330
45373
  onApprove: this.callbacks.onApprove,
@@ -45516,7 +45559,7 @@ function useRealtimeChunkProcessor(options) {
45516
45559
  if (initialState.escalatedApprovals) {
45517
45560
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
45518
45561
  initialState.escalatedApprovals.forEach((data, requestId) => {
45519
- _optionalChain([callbacks, 'access', _1033 => _1033.onEscalatedApproval, 'optionalCall', _1034 => _1034(requestId, data)]);
45562
+ _optionalChain([callbacks, 'access', _1037 => _1037.onEscalatedApproval, 'optionalCall', _1038 => _1038(requestId, data)]);
45520
45563
  });
45521
45564
  }
45522
45565
  hasEverStreamedRef.current = true;
@@ -45537,12 +45580,12 @@ function useRealtimeChunkProcessor(options) {
45537
45580
  if (!action) return;
45538
45581
  const accumulator = accumulatorRef.current;
45539
45582
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
45540
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1035 => _1035.onSegmentsUpdate, 'optionalCall', _1036 => _1036(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
45583
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1039 => _1039.onSegmentsUpdate, 'optionalCall', _1040 => _1040(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
45541
45584
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
45542
45585
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
45543
45586
  if (isInStreamRef.current) {
45544
45587
  isInStreamRef.current = false;
45545
- _optionalChain([callbacks, 'access', _1037 => _1037.onStreamEnd, 'optionalCall', _1038 => _1038()]);
45588
+ _optionalChain([callbacks, 'access', _1041 => _1041.onStreamEnd, 'optionalCall', _1042 => _1042()]);
45546
45589
  accumulator.resetSegments();
45547
45590
  }
45548
45591
  return;
@@ -45551,16 +45594,16 @@ function useRealtimeChunkProcessor(options) {
45551
45594
  case "message_start":
45552
45595
  isInStreamRef.current = true;
45553
45596
  hasEverStreamedRef.current = true;
45554
- _optionalChain([callbacks, 'access', _1039 => _1039.onStreamStart, 'optionalCall', _1040 => _1040()]);
45597
+ _optionalChain([callbacks, 'access', _1043 => _1043.onStreamStart, 'optionalCall', _1044 => _1044()]);
45555
45598
  accumulator.resetSegments();
45556
45599
  break;
45557
45600
  case "message_end":
45558
45601
  isInStreamRef.current = false;
45559
- _optionalChain([callbacks, 'access', _1041 => _1041.onStreamEnd, 'optionalCall', _1042 => _1042()]);
45602
+ _optionalChain([callbacks, 'access', _1045 => _1045.onStreamEnd, 'optionalCall', _1046 => _1046()]);
45560
45603
  accumulator.resetSegments();
45561
45604
  break;
45562
45605
  case "metadata":
45563
- _optionalChain([callbacks, 'access', _1043 => _1043.onMetadata, 'optionalCall', _1044 => _1044(action)]);
45606
+ _optionalChain([callbacks, 'access', _1047 => _1047.onMetadata, 'optionalCall', _1048 => _1048(action)]);
45564
45607
  break;
45565
45608
  case "text": {
45566
45609
  const segments = accumulator.appendText(action.text);
@@ -45603,7 +45646,7 @@ function useRealtimeChunkProcessor(options) {
45603
45646
  emitSegments(segments);
45604
45647
  } else {
45605
45648
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
45606
- _optionalChain([callbacks, 'access', _1045 => _1045.onEscalatedApproval, 'optionalCall', _1046 => _1046(requestId, { command, explanation, approvalType })]);
45649
+ _optionalChain([callbacks, 'access', _1049 => _1049.onEscalatedApproval, 'optionalCall', _1050 => _1050(requestId, { command, explanation, approvalType })]);
45607
45650
  }
45608
45651
  break;
45609
45652
  }
@@ -45615,13 +45658,13 @@ function useRealtimeChunkProcessor(options) {
45615
45658
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
45616
45659
  pendingEscalatedRef.current.set(requestId, {
45617
45660
  command: summary,
45618
- explanation: _optionalChain([required, 'optionalAccess', _1047 => _1047.toolExplanation]),
45661
+ explanation: _optionalChain([required, 'optionalAccess', _1051 => _1051.toolExplanation]),
45619
45662
  approvalType,
45620
45663
  toolCalls
45621
45664
  });
45622
- _optionalChain([callbacks, 'access', _1048 => _1048.onEscalatedApproval, 'optionalCall', _1049 => _1049(requestId, {
45665
+ _optionalChain([callbacks, 'access', _1052 => _1052.onEscalatedApproval, 'optionalCall', _1053 => _1053(requestId, {
45623
45666
  command: summary,
45624
- explanation: _optionalChain([required, 'optionalAccess', _1050 => _1050.toolExplanation]),
45667
+ explanation: _optionalChain([required, 'optionalAccess', _1054 => _1054.toolExplanation]),
45625
45668
  approvalType
45626
45669
  })]);
45627
45670
  break;
@@ -45651,7 +45694,7 @@ function useRealtimeChunkProcessor(options) {
45651
45694
  const status = approved ? "approved" : "rejected";
45652
45695
  if (escalatedData) {
45653
45696
  pendingEscalatedRef.current.delete(requestId);
45654
- _optionalChain([callbacks, 'access', _1051 => _1051.onEscalatedApprovalResult, 'optionalCall', _1052 => _1052(requestId, approved, {
45697
+ _optionalChain([callbacks, 'access', _1055 => _1055.onEscalatedApprovalResult, 'optionalCall', _1056 => _1056(requestId, approved, {
45655
45698
  command: escalatedData.command,
45656
45699
  explanation: escalatedData.explanation,
45657
45700
  approvalType: escalatedData.approvalType
@@ -45697,29 +45740,29 @@ function useRealtimeChunkProcessor(options) {
45697
45740
  emitSegments(accumulator.getSegments());
45698
45741
  }
45699
45742
  }
45700
- _optionalChain([callbacks, 'access', _1053 => _1053.onApprovalResolved, 'optionalCall', _1054 => _1054(requestId, status, approvalType, resolvedByName)]);
45743
+ _optionalChain([callbacks, 'access', _1057 => _1057.onApprovalResolved, 'optionalCall', _1058 => _1058(requestId, status, approvalType, resolvedByName)]);
45701
45744
  break;
45702
45745
  }
45703
45746
  case "error": {
45704
45747
  let message2;
45705
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1055 => _1055.details])) {
45748
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1059 => _1059.details])) {
45706
45749
  try {
45707
- message2 = _optionalChain([JSON, 'access', _1056 => _1056.parse, 'call', _1057 => _1057(action.details), 'optionalAccess', _1058 => _1058.error, 'optionalAccess', _1059 => _1059.message]);
45750
+ message2 = _optionalChain([JSON, 'access', _1060 => _1060.parse, 'call', _1061 => _1061(action.details), 'optionalAccess', _1062 => _1062.error, 'optionalAccess', _1063 => _1063.message]);
45708
45751
  } catch (e52) {
45709
45752
  message2 = action.details;
45710
45753
  }
45711
45754
  }
45712
45755
  const segments = accumulator.addError(action.error, message2);
45713
45756
  emitSegments(segments);
45714
- _optionalChain([callbacks, 'access', _1060 => _1060.onError, 'optionalCall', _1061 => _1061(action.error, message2)]);
45757
+ _optionalChain([callbacks, 'access', _1064 => _1064.onError, 'optionalCall', _1065 => _1065(action.error, message2)]);
45715
45758
  break;
45716
45759
  }
45717
45760
  case "system": {
45718
- _optionalChain([callbacks, 'access', _1062 => _1062.onSystemMessage, 'optionalCall', _1063 => _1063(action.text, { streamSeq })]);
45761
+ _optionalChain([callbacks, 'access', _1066 => _1066.onSystemMessage, 'optionalCall', _1067 => _1067(action.text, { streamSeq })]);
45719
45762
  break;
45720
45763
  }
45721
45764
  case "direct_message": {
45722
- _optionalChain([callbacks, 'access', _1064 => _1064.onDirectMessage, 'optionalCall', _1065 => _1065(action.text, {
45765
+ _optionalChain([callbacks, 'access', _1068 => _1068.onDirectMessage, 'optionalCall', _1069 => _1069(action.text, {
45723
45766
  ownerType: action.ownerType,
45724
45767
  displayName: action.displayName,
45725
45768
  userId: action.userId,
@@ -45728,7 +45771,7 @@ function useRealtimeChunkProcessor(options) {
45728
45771
  break;
45729
45772
  }
45730
45773
  case "message_request":
45731
- _optionalChain([callbacks, 'access', _1066 => _1066.onUserMessage, 'optionalCall', _1067 => _1067(action.text, {
45774
+ _optionalChain([callbacks, 'access', _1070 => _1070.onUserMessage, 'optionalCall', _1071 => _1071(action.text, {
45732
45775
  ownerType: action.ownerType,
45733
45776
  displayName: action.displayName,
45734
45777
  userId: action.userId,
@@ -45737,7 +45780,7 @@ function useRealtimeChunkProcessor(options) {
45737
45780
  })]);
45738
45781
  break;
45739
45782
  case "token_usage":
45740
- _optionalChain([callbacks, 'access', _1068 => _1068.onTokenUsage, 'optionalCall', _1069 => _1069(action.data)]);
45783
+ _optionalChain([callbacks, 'access', _1072 => _1072.onTokenUsage, 'optionalCall', _1073 => _1073(action.data)]);
45741
45784
  break;
45742
45785
  case "context_compaction_start": {
45743
45786
  const standalone = !isInStreamRef.current;
@@ -45752,7 +45795,7 @@ function useRealtimeChunkProcessor(options) {
45752
45795
  break;
45753
45796
  }
45754
45797
  case "dialog_closed":
45755
- _optionalChain([callbacks, 'access', _1070 => _1070.onDialogClosed, 'optionalCall', _1071 => _1071()]);
45798
+ _optionalChain([callbacks, 'access', _1074 => _1074.onDialogClosed, 'optionalCall', _1075 => _1075()]);
45756
45799
  break;
45757
45800
  default:
45758
45801
  break;
@@ -45799,7 +45842,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
45799
45842
  const data = await res.json();
45800
45843
  return _nullishCoalesce(data.commands, () => ( []));
45801
45844
  } catch (err) {
45802
- if (_optionalChain([err, 'optionalAccess', _1072 => _1072.name]) === "AbortError") throw err;
45845
+ if (_optionalChain([err, 'optionalAccess', _1076 => _1076.name]) === "AbortError") throw err;
45803
45846
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
45804
45847
  return [];
45805
45848
  }
@@ -45820,7 +45863,7 @@ function useSlashCommands(prefix, commandsUrl) {
45820
45863
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
45821
45864
  if (!cancelled) setCommands(next);
45822
45865
  } catch (err) {
45823
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1073 => _1073.name]) !== "AbortError") {
45866
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1077 => _1077.name]) !== "AbortError") {
45824
45867
  console.warn("[use-slash-commands] fetch failed:", err);
45825
45868
  }
45826
45869
  } finally {
@@ -45839,7 +45882,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
45839
45882
  const query = _reactquery.useQuery.call(void 0, {
45840
45883
  queryKey: ["chat-slash-commands", commandsUrl],
45841
45884
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
45842
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1074 => _1074.enabled]), () => ( true)),
45885
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1078 => _1078.enabled]), () => ( true)),
45843
45886
  staleTime: Infinity,
45844
45887
  gcTime: Infinity,
45845
45888
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -45878,21 +45921,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45878
45921
  }
45879
45922
  const data = await res.json();
45880
45923
  return {
45881
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1075 => _1075.name]), () => ( null)),
45882
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1076 => _1076.icon]), () => ( null)),
45883
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1077 => _1077.greeting]), () => ( null)),
45884
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1078 => _1078.enabledRagTableIds]), () => ( [])),
45885
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1079 => _1079.quickActions]), () => ( [])),
45886
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1080 => _1080.suggestedQueries]), () => ( []))
45924
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1079 => _1079.name]), () => ( null)),
45925
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1080 => _1080.icon]), () => ( null)),
45926
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1081 => _1081.greeting]), () => ( null)),
45927
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1082 => _1082.enabledRagTableIds]), () => ( [])),
45928
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1083 => _1083.quickActions]), () => ( [])),
45929
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1084 => _1084.suggestedQueries]), () => ( []))
45887
45930
  };
45888
45931
  } catch (err) {
45889
- if (_optionalChain([err, 'optionalAccess', _1081 => _1081.name]) === "AbortError") throw err;
45932
+ if (_optionalChain([err, 'optionalAccess', _1085 => _1085.name]) === "AbortError") throw err;
45890
45933
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45891
45934
  return EMPTY_STATE_FALLBACK;
45892
45935
  }
45893
45936
  }
45894
45937
  function useEmptyStateConfig(emptyStateUrl, options) {
45895
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1082 => _1082.enabled]), () => ( true))) && !!emptyStateUrl;
45938
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1086 => _1086.enabled]), () => ( true))) && !!emptyStateUrl;
45896
45939
  const query = _reactquery.useQuery.call(void 0, {
45897
45940
  queryKey: ["chat-empty-state", emptyStateUrl],
45898
45941
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45921,7 +45964,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45921
45964
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45922
45965
  function uploadWithProgress(url, file, token, onProgress, signal) {
45923
45966
  return new Promise((resolve, reject) => {
45924
- if (_optionalChain([signal, 'optionalAccess', _1083 => _1083.aborted])) {
45967
+ if (_optionalChain([signal, 'optionalAccess', _1087 => _1087.aborted])) {
45925
45968
  reject(new Error("Upload cancelled"));
45926
45969
  return;
45927
45970
  }
@@ -45935,7 +45978,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45935
45978
  xhr.removeEventListener("error", handleError);
45936
45979
  xhr.removeEventListener("abort", handleAbort);
45937
45980
  xhr.removeEventListener("timeout", handleTimeout);
45938
- _optionalChain([signal, 'optionalAccess', _1084 => _1084.removeEventListener, 'call', _1085 => _1085("abort", handleSignalAbort)]);
45981
+ _optionalChain([signal, 'optionalAccess', _1088 => _1088.removeEventListener, 'call', _1089 => _1089("abort", handleSignalAbort)]);
45939
45982
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45940
45983
  };
45941
45984
  const handleProgress = (event) => {
@@ -45971,7 +46014,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45971
46014
  const handleSignalAbort = () => {
45972
46015
  xhr.abort();
45973
46016
  };
45974
- _optionalChain([signal, 'optionalAccess', _1086 => _1086.addEventListener, 'call', _1087 => _1087("abort", handleSignalAbort, { once: true })]);
46017
+ _optionalChain([signal, 'optionalAccess', _1090 => _1090.addEventListener, 'call', _1091 => _1091("abort", handleSignalAbort, { once: true })]);
45975
46018
  xhr.upload.addEventListener("progress", handleProgress);
45976
46019
  xhr.addEventListener("load", handleLoad);
45977
46020
  xhr.addEventListener("error", handleError);
@@ -46015,12 +46058,12 @@ function useChatAttachments() {
46015
46058
  try {
46016
46059
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
46017
46060
  } catch (err) {
46018
- if (_optionalChain([ctrl, 'optionalAccess', _1088 => _1088.signal, 'access', _1089 => _1089.aborted])) return;
46061
+ if (_optionalChain([ctrl, 'optionalAccess', _1092 => _1092.signal, 'access', _1093 => _1093.aborted])) return;
46019
46062
  throw new Error(
46020
46063
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
46021
46064
  );
46022
46065
  }
46023
- if (_optionalChain([ctrl, 'optionalAccess', _1090 => _1090.signal, 'access', _1091 => _1091.aborted])) return;
46066
+ if (_optionalChain([ctrl, 'optionalAccess', _1094 => _1094.signal, 'access', _1095 => _1095.aborted])) return;
46024
46067
  if (!sniffed) {
46025
46068
  throw new Error("Unrecognized file format");
46026
46069
  }
@@ -46034,7 +46077,7 @@ function useChatAttachments() {
46034
46077
  const urlResp = await _chunk6PHV4NREcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
46035
46078
  method: "POST",
46036
46079
  headers: { "Content-Type": "application/json" },
46037
- signal: _optionalChain([ctrl, 'optionalAccess', _1092 => _1092.signal]),
46080
+ signal: _optionalChain([ctrl, 'optionalAccess', _1096 => _1096.signal]),
46038
46081
  body: JSON.stringify({
46039
46082
  fileName: att.file.name,
46040
46083
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -46060,9 +46103,9 @@ function useChatAttachments() {
46060
46103
  (pct) => {
46061
46104
  updateOne(att.id, { progress: pct });
46062
46105
  },
46063
- _optionalChain([ctrl, 'optionalAccess', _1093 => _1093.signal])
46106
+ _optionalChain([ctrl, 'optionalAccess', _1097 => _1097.signal])
46064
46107
  );
46065
- if (_optionalChain([ctrl, 'optionalAccess', _1094 => _1094.signal, 'access', _1095 => _1095.aborted])) return;
46108
+ if (_optionalChain([ctrl, 'optionalAccess', _1098 => _1098.signal, 'access', _1099 => _1099.aborted])) return;
46066
46109
  updateOne(att.id, {
46067
46110
  status: "ready",
46068
46111
  progress: 100,
@@ -46070,7 +46113,7 @@ function useChatAttachments() {
46070
46113
  viewToken: mintData.viewToken
46071
46114
  });
46072
46115
  } catch (err) {
46073
- if (_optionalChain([ctrl, 'optionalAccess', _1096 => _1096.signal, 'access', _1097 => _1097.aborted])) return;
46116
+ if (_optionalChain([ctrl, 'optionalAccess', _1100 => _1100.signal, 'access', _1101 => _1101.aborted])) return;
46074
46117
  const message2 = err instanceof Error ? err.message : String(err);
46075
46118
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
46076
46119
  } finally {
@@ -46221,7 +46264,7 @@ var ANON_DEFAULTS = {
46221
46264
  function useResolveChatIdentity(enabled) {
46222
46265
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46223
46266
  const url = runtime.endpoints.identityUrl;
46224
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunk6PHV4NREcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1098 => _1098.email]), () => ( null));
46267
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk6PHV4NREcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1102 => _1102.email]), () => ( null));
46225
46268
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
46226
46269
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
46227
46270
  _react.useEffect.call(void 0, () => {
@@ -46312,7 +46355,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
46312
46355
  yield chunk;
46313
46356
  }
46314
46357
  } catch (err) {
46315
- if (_optionalChain([err, 'optionalAccess', _1099 => _1099.name]) === "AbortError" || ctrl.signal.aborted) {
46358
+ if (_optionalChain([err, 'optionalAccess', _1103 => _1103.name]) === "AbortError" || ctrl.signal.aborted) {
46316
46359
  return;
46317
46360
  }
46318
46361
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -46363,7 +46406,7 @@ function useChat({
46363
46406
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
46364
46407
  onMessagesChangeRef.current = onMessagesChange;
46365
46408
  _react.useEffect.call(void 0, () => {
46366
- _optionalChain([onMessagesChangeRef, 'access', _1100 => _1100.current, 'optionalCall', _1101 => _1101(messages)]);
46409
+ _optionalChain([onMessagesChangeRef, 'access', _1104 => _1104.current, 'optionalCall', _1105 => _1105(messages)]);
46367
46410
  }, [messages]);
46368
46411
  const {
46369
46412
  streamMessage,
@@ -46400,7 +46443,7 @@ function useChat({
46400
46443
  name: "You",
46401
46444
  content: text,
46402
46445
  timestamp: /* @__PURE__ */ new Date(),
46403
- ..._optionalChain([options, 'optionalAccess', _1102 => _1102.hidden]) ? { hidden: true } : {}
46446
+ ..._optionalChain([options, 'optionalAccess', _1106 => _1106.hidden]) ? { hidden: true } : {}
46404
46447
  };
46405
46448
  addMessage(userMessage);
46406
46449
  setIsTyping(true);
@@ -46462,7 +46505,7 @@ function useChat({
46462
46505
  currentTextSegment = "";
46463
46506
  }
46464
46507
  const seg = segment;
46465
- const proposalId = _optionalChain([seg, 'access', _1103 => _1103.data, 'optionalAccess', _1104 => _1104.requestId]);
46508
+ const proposalId = _optionalChain([seg, 'access', _1107 => _1107.data, 'optionalAccess', _1108 => _1108.requestId]);
46466
46509
  const updateApprovalMessage = (transform) => {
46467
46510
  setMessages((prev) => {
46468
46511
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -46471,7 +46514,7 @@ function useChat({
46471
46514
  if (!Array.isArray(m.content)) continue;
46472
46515
  const segments = m.content;
46473
46516
  const hasMatch = segments.some(
46474
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1105 => _1105.data, 'optionalAccess', _1106 => _1106.requestId]) === proposalId
46517
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1109 => _1109.data, 'optionalAccess', _1110 => _1110.requestId]) === proposalId
46475
46518
  );
46476
46519
  if (!hasMatch) continue;
46477
46520
  const next = [...prev];
@@ -46513,11 +46556,11 @@ function useChat({
46513
46556
  if (!Array.isArray(m.content)) continue;
46514
46557
  const segments = m.content;
46515
46558
  const hasMatch = segments.some(
46516
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1107 => _1107.data, 'optionalAccess', _1108 => _1108.requestId]) === decision.proposalId
46559
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1111 => _1111.data, 'optionalAccess', _1112 => _1112.requestId]) === decision.proposalId
46517
46560
  );
46518
46561
  if (!hasMatch) continue;
46519
46562
  const flipped = segments.map(
46520
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1109 => _1109.data, 'optionalAccess', _1110 => _1110.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46563
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1113 => _1113.data, 'optionalAccess', _1114 => _1114.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46521
46564
  );
46522
46565
  const next = [...prev];
46523
46566
  next[i] = { ...m, content: flipped };
@@ -46679,8 +46722,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46679
46722
  })),
46680
46723
  { role: "user", content: message2 }
46681
46724
  ];
46682
- const targetPath = _optionalChain([extra, 'optionalAccess', _1111 => _1111.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46683
- const requestBody = _optionalChain([extra, 'optionalAccess', _1112 => _1112.approvalAction]) ? {
46725
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1115 => _1115.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46726
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1116 => _1116.approvalAction]) ? {
46684
46727
  proposal_id: extra.approvalAction.proposalId,
46685
46728
  action: extra.approvalAction.action,
46686
46729
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46689,8 +46732,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46689
46732
  }))
46690
46733
  } : {
46691
46734
  messages: apiMessages,
46692
- ..._optionalChain([extra, 'optionalAccess', _1113 => _1113.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46693
- ..._optionalChain([extra, 'optionalAccess', _1114 => _1114.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46735
+ ..._optionalChain([extra, 'optionalAccess', _1117 => _1117.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46736
+ ..._optionalChain([extra, 'optionalAccess', _1118 => _1118.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46694
46737
  };
46695
46738
  const response = await _chunk6PHV4NREcjs.embedAuthedFetch.call(void 0, targetPath, {
46696
46739
  method: "POST",
@@ -46700,7 +46743,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46700
46743
  if (!response.ok) {
46701
46744
  throw new Error(`Chat request failed: ${response.status}`);
46702
46745
  }
46703
- const reader = _optionalChain([response, 'access', _1115 => _1115.body, 'optionalAccess', _1116 => _1116.getReader, 'call', _1117 => _1117()]);
46746
+ const reader = _optionalChain([response, 'access', _1119 => _1119.body, 'optionalAccess', _1120 => _1120.getReader, 'call', _1121 => _1121()]);
46704
46747
  if (!reader) throw new Error("No response body");
46705
46748
  const decoder = new TextDecoder();
46706
46749
  let buffer = "";
@@ -46783,7 +46826,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46783
46826
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46784
46827
  const result = _nullishCoalesce(meta.result, () => ( null));
46785
46828
  const card = _nullishCoalesce(meta.card, () => ( null));
46786
- if (_optionalChain([card, 'optionalAccess', _1118 => _1118.ref, 'optionalAccess', _1119 => _1119.id]) && _optionalChain([card, 'optionalAccess', _1120 => _1120.type])) {
46829
+ if (_optionalChain([card, 'optionalAccess', _1122 => _1122.ref, 'optionalAccess', _1123 => _1123.id]) && _optionalChain([card, 'optionalAccess', _1124 => _1124.type])) {
46787
46830
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46788
46831
  const key = buildChatRefKey(card.type, card.ref.id);
46789
46832
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46796,8 +46839,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46796
46839
  willAutoContinue: meta.willAutoContinue === true,
46797
46840
  ...toolName ? { toolName } : {},
46798
46841
  ...result ? { result } : {},
46799
- ..._optionalChain([card, 'optionalAccess', _1121 => _1121.marker]) ? { marker: card.marker } : {},
46800
- ..._optionalChain([card, 'optionalAccess', _1122 => _1122.ref]) ? { cardRef: card.ref } : {},
46842
+ ..._optionalChain([card, 'optionalAccess', _1125 => _1125.marker]) ? { marker: card.marker } : {},
46843
+ ..._optionalChain([card, 'optionalAccess', _1126 => _1126.ref]) ? { cardRef: card.ref } : {},
46801
46844
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46802
46845
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46803
46846
  };
@@ -46916,7 +46959,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46916
46959
  var chatStorageKey = (source) => {
46917
46960
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46918
46961
  const auth = _chunk6PHV4NREcjs.getEmbedProxyAuth.call(void 0, );
46919
- if (_optionalChain([auth, 'optionalAccess', _1123 => _1123.email])) {
46962
+ if (_optionalChain([auth, 'optionalAccess', _1127 => _1127.email])) {
46920
46963
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46921
46964
  }
46922
46965
  return base;
@@ -46971,7 +47014,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46971
47014
  const { active = true } = runtimeOptions;
46972
47015
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46973
47016
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46974
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1124 => _1124.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
47017
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1128 => _1128.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46975
47018
  const persistedRef = _react.useRef.call(void 0, null);
46976
47019
  if (persistedRef.current === null) {
46977
47020
  pruneStaleChatStorage(source);
@@ -47076,7 +47119,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
47076
47119
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
47077
47120
  sources = sourcesMapRef.current.get(lookupIdx);
47078
47121
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
47079
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1125 => _1125.current, 'access', _1126 => _1126.get, 'call', _1127 => _1127(lookupIdx), 'optionalAccess', _1128 => _1128.scrollAnchor]), () => ( void 0));
47122
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1129 => _1129.current, 'access', _1130 => _1130.get, 'call', _1131 => _1131(lookupIdx), 'optionalAccess', _1132 => _1132.scrollAnchor]), () => ( void 0));
47080
47123
  }
47081
47124
  return {
47082
47125
  id: m.id,
@@ -47124,7 +47167,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
47124
47167
  );
47125
47168
  return;
47126
47169
  }
47127
- const refSlug = typeof _optionalChain([reference, 'access', _1129 => _1129.metadata, 'optionalAccess', _1130 => _1130.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
47170
+ const refSlug = typeof _optionalChain([reference, 'access', _1133 => _1133.metadata, 'optionalAccess', _1134 => _1134.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
47128
47171
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
47129
47172
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
47130
47173
  const text = `/${cmdId} display "${escaped}"`;
@@ -47196,18 +47239,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
47196
47239
  clearMessages,
47197
47240
  streamingPhase,
47198
47241
  /** Provider key for the lib's `<ModelDisplay>` icon. */
47199
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1131 => _1131.provider]), () => ( null)),
47200
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1132 => _1132.modelLabel]), () => ( null)),
47201
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1133 => _1133.contextWindowMaxTokens]), () => ( null)),
47242
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1135 => _1135.provider]), () => ( null)),
47243
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1136 => _1136.modelLabel]), () => ( null)),
47244
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1137 => _1137.contextWindowMaxTokens]), () => ( null)),
47202
47245
  /** Input tokens (known after server's message_start frame; null until). */
47203
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1134 => _1134.inputTokens]), () => ( null)),
47246
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1138 => _1138.inputTokens]), () => ( null)),
47204
47247
  /** Output tokens (known only after server's trailing usage frame). */
47205
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1135 => _1135.outputTokens]), () => ( null)),
47248
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1139 => _1139.outputTokens]), () => ( null)),
47206
47249
  /** Cache hit % (read / total-input × 100). null during streaming. */
47207
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1136 => _1136.cacheHitRatePct]), () => ( null)),
47250
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1140 => _1140.cacheHitRatePct]), () => ( null)),
47208
47251
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
47209
47252
  * token counts). null until the trailing usage frame lands. */
47210
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1137 => _1137.breakdown]), () => ( null)),
47253
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1141 => _1141.breakdown]), () => ( null)),
47211
47254
  // ─── Dialog management — stubs for v1 ────────────────────────────────
47212
47255
  // Guide mode currently keeps its history in `localStorage` opaquely
47213
47256
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -47265,15 +47308,15 @@ var noopRejectRequest = async (_id, _reason) => {
47265
47308
 
47266
47309
  // src/components/chat/utils/process-historical-messages.ts
47267
47310
  function getOwnerDisplayName(owner) {
47268
- if (_optionalChain([owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.ADMIN && owner.user) {
47311
+ if (_optionalChain([owner, 'optionalAccess', _1142 => _1142.type]) === OWNER_TYPE.ADMIN && owner.user) {
47269
47312
  const { firstName, lastName } = owner.user;
47270
47313
  const name = [firstName, lastName].filter(Boolean).join(" ");
47271
47314
  if (name) return name;
47272
47315
  }
47273
- return _optionalChain([owner, 'optionalAccess', _1139 => _1139.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
47316
+ return _optionalChain([owner, 'optionalAccess', _1143 => _1143.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
47274
47317
  }
47275
47318
  function getOwnerAvatar(owner) {
47276
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1140 => _1140.user, 'optionalAccess', _1141 => _1141.image, 'optionalAccess', _1142 => _1142.imageUrl]), () => ( void 0));
47319
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1144 => _1144.user, 'optionalAccess', _1145 => _1145.image, 'optionalAccess', _1146 => _1146.imageUrl]), () => ( void 0));
47277
47320
  }
47278
47321
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
47279
47322
  messageDataArray.forEach((data) => {
@@ -47336,14 +47379,14 @@ function processHistoricalMessages(messages, options = {}) {
47336
47379
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47337
47380
  return;
47338
47381
  }
47339
- const isUserMessage = _optionalChain([msg, 'access', _1143 => _1143.owner, 'optionalAccess', _1144 => _1144.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.ADMIN;
47382
+ const isUserMessage = _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1149 => _1149.owner, 'optionalAccess', _1150 => _1150.type]) === OWNER_TYPE.ADMIN;
47340
47383
  if (isUserMessage) {
47341
47384
  flushAssistantMessage();
47342
- const userAuthorType = _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47385
+ const userAuthorType = _optionalChain([msg, 'access', _1151 => _1151.owner, 'optionalAccess', _1152 => _1152.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47343
47386
  messageDataArray.forEach((data) => {
47344
47387
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47345
47388
  const rawContext = data.contextItems;
47346
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1149 => _1149.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1150 => _1150.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47389
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1153 => _1153.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1154 => _1154.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47347
47390
  processedMessages.push({
47348
47391
  id: msg.id,
47349
47392
  role: "user",
@@ -47367,7 +47410,7 @@ function processHistoricalMessages(messages, options = {}) {
47367
47410
  });
47368
47411
  const nextMsg = messages[index + 1];
47369
47412
  const isLastMessage = index === messages.length - 1;
47370
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1151 => _1151.owner, 'optionalAccess', _1152 => _1152.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.ADMIN);
47413
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1157 => _1157.owner, 'optionalAccess', _1158 => _1158.type]) === OWNER_TYPE.ADMIN);
47371
47414
  if (isLastMessage || nextIsFromUser) {
47372
47415
  flushAssistantMessage();
47373
47416
  }
@@ -47477,7 +47520,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47477
47520
  }
47478
47521
  }
47479
47522
  } else {
47480
- _optionalChain([escalatedApprovals, 'optionalAccess', _1155 => _1155.set, 'call', _1156 => _1156(data.approvalRequestId, {
47523
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1159 => _1159.set, 'call', _1160 => _1160(data.approvalRequestId, {
47481
47524
  command: data.command || "",
47482
47525
  explanation: data.explanation,
47483
47526
  approvalType,
@@ -47491,8 +47534,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47491
47534
  const existingStatus = approvalStatuses[data.approvalRequestId];
47492
47535
  const status = existingStatus || (data.approved ? "approved" : "rejected");
47493
47536
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
47494
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1157 => _1157.get, 'call', _1158 => _1158(data.approvalRequestId)]);
47495
- if (_optionalChain([escalatedData, 'optionalAccess', _1159 => _1159.toolCalls]) && escalatedData.toolCalls.length > 0) {
47537
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1161 => _1161.get, 'call', _1162 => _1162(data.approvalRequestId)]);
47538
+ if (_optionalChain([escalatedData, 'optionalAccess', _1163 => _1163.toolCalls]) && escalatedData.toolCalls.length > 0) {
47496
47539
  if (batchApprovalsEnabled) {
47497
47540
  accumulator.addApprovalBatch(
47498
47541
  data.approvalRequestId,
@@ -47514,7 +47557,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47514
47557
  );
47515
47558
  }
47516
47559
  }
47517
- _optionalChain([escalatedApprovals, 'optionalAccess', _1160 => _1160.delete, 'call', _1161 => _1161(data.approvalRequestId)]);
47560
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1164 => _1164.delete, 'call', _1165 => _1165(data.approvalRequestId)]);
47518
47561
  break;
47519
47562
  }
47520
47563
  if (escalatedData) {
@@ -47523,7 +47566,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47523
47566
  explanation: escalatedData.explanation,
47524
47567
  approvalType: escalatedData.approvalType
47525
47568
  });
47526
- _optionalChain([escalatedApprovals, 'optionalAccess', _1162 => _1162.delete, 'call', _1163 => _1163(data.approvalRequestId)]);
47569
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1166 => _1166.delete, 'call', _1167 => _1167(data.approvalRequestId)]);
47527
47570
  }
47528
47571
  const before = accumulator.getSegments();
47529
47572
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -47539,9 +47582,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47539
47582
  case MESSAGE_TYPE.ERROR:
47540
47583
  if ("error" in data) {
47541
47584
  let message2;
47542
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1164 => _1164.details])) {
47585
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1168 => _1168.details])) {
47543
47586
  try {
47544
- message2 = _optionalChain([JSON, 'access', _1165 => _1165.parse, 'call', _1166 => _1166(data.details), 'optionalAccess', _1167 => _1167.error, 'optionalAccess', _1168 => _1168.message]);
47587
+ message2 = _optionalChain([JSON, 'access', _1169 => _1169.parse, 'call', _1170 => _1170(data.details), 'optionalAccess', _1171 => _1171.error, 'optionalAccess', _1172 => _1172.message]);
47545
47588
  } catch (e59) {
47546
47589
  message2 = data.details;
47547
47590
  }
@@ -47624,14 +47667,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47624
47667
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47625
47668
  return;
47626
47669
  }
47627
- const isUserMessage = _optionalChain([msg, 'access', _1169 => _1169.owner, 'optionalAccess', _1170 => _1170.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1171 => _1171.owner, 'optionalAccess', _1172 => _1172.type]) === OWNER_TYPE.ADMIN;
47670
+ const isUserMessage = _optionalChain([msg, 'access', _1173 => _1173.owner, 'optionalAccess', _1174 => _1174.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1175 => _1175.owner, 'optionalAccess', _1176 => _1176.type]) === OWNER_TYPE.ADMIN;
47628
47671
  if (isUserMessage) {
47629
47672
  flushAssistantMessage();
47630
- const userAuthorType = _optionalChain([msg, 'access', _1173 => _1173.owner, 'optionalAccess', _1174 => _1174.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47673
+ const userAuthorType = _optionalChain([msg, 'access', _1177 => _1177.owner, 'optionalAccess', _1178 => _1178.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47631
47674
  messageDataArray.forEach((data) => {
47632
47675
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47633
47676
  const rawContext = data.contextItems;
47634
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1175 => _1175.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1176 => _1176.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47677
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1179 => _1179.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1180 => _1180.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47635
47678
  processedMessages.push({
47636
47679
  id: msg.id,
47637
47680
  role: "user",
@@ -47655,7 +47698,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47655
47698
  });
47656
47699
  const nextMsg = messages[index + 1];
47657
47700
  const isLastMessage = index === messages.length - 1;
47658
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1177 => _1177.owner, 'optionalAccess', _1178 => _1178.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1179 => _1179.owner, 'optionalAccess', _1180 => _1180.type]) === OWNER_TYPE.ADMIN);
47701
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1181 => _1181.owner, 'optionalAccess', _1182 => _1182.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1183 => _1183.owner, 'optionalAccess', _1184 => _1184.type]) === OWNER_TYPE.ADMIN);
47659
47702
  if (isLastMessage || nextIsFromUser) {
47660
47703
  flushAssistantMessage();
47661
47704
  }
@@ -47991,7 +48034,7 @@ function useNatsChatAdapter(config, options = {}) {
47991
48034
  }, [active, fetchDialogs, loadDialogsPage]);
47992
48035
  const sendMessage = _react.useCallback.call(void 0,
47993
48036
  async (text, sendOptions) => {
47994
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1181 => _1181.hidden]), () => ( false));
48037
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1185 => _1185.hidden]), () => ( false));
47995
48038
  setMessages((prev) => [
47996
48039
  ...prev,
47997
48040
  {
@@ -48155,11 +48198,11 @@ function useNatsChatAdapter(config, options = {}) {
48155
48198
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
48156
48199
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
48157
48200
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
48158
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1182 => _1182.provider]), () => ( modelProvider)), () => ( null)),
48159
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1183 => _1183.modelLabel]), () => ( modelLabel)), () => ( null)),
48160
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1184 => _1184.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1185 => _1185.contextWindowMaxTokens]))), () => ( null)),
48161
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1186 => _1186.inputTokensSize]), () => ( null)),
48162
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1187 => _1187.outputTokensSize]), () => ( null)),
48201
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1186 => _1186.provider]), () => ( modelProvider)), () => ( null)),
48202
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1187 => _1187.modelLabel]), () => ( modelLabel)), () => ( null)),
48203
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1188 => _1188.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1189 => _1189.contextWindowMaxTokens]))), () => ( null)),
48204
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1190 => _1190.inputTokensSize]), () => ( null)),
48205
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1191 => _1191.outputTokensSize]), () => ( null)),
48163
48206
  currentCacheHitRatePct: null,
48164
48207
  currentUsageBreakdown: null,
48165
48208
  // Dialog management
@@ -48407,7 +48450,7 @@ function extractIncompleteMessageState(lastMessage) {
48407
48450
  break;
48408
48451
  case "approval_batch": {
48409
48452
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
48410
- (c) => _optionalChain([segment, 'access', _1188 => _1188.data, 'access', _1189 => _1189.executions, 'optionalAccess', _1190 => _1190[c.toolExecutionRequestId], 'optionalAccess', _1191 => _1191.status]) === "done"
48453
+ (c) => _optionalChain([segment, 'access', _1192 => _1192.data, 'access', _1193 => _1193.executions, 'optionalAccess', _1194 => _1194[c.toolExecutionRequestId], 'optionalAccess', _1195 => _1195.status]) === "done"
48411
48454
  );
48412
48455
  if (segment.status !== "rejected" && !allDone) {
48413
48456
  hasIncompleteState = true;
@@ -48475,20 +48518,20 @@ function mergeHistoryWithRealtime(input) {
48475
48518
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
48476
48519
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
48477
48520
  const trailing = processedHistory[processedHistory.length - 1];
48478
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1192 => _1192.role]) === "assistant" ? trailing : null;
48479
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1193 => _1193.content, 'access', _1194 => _1194.find, 'call', _1195 => _1195((s) => s.type === "approval_batch"), 'optionalAccess', _1196 => _1196.data, 'optionalAccess', _1197 => _1197.approvalRequestId]), () => ( null)) : null;
48521
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1196 => _1196.role]) === "assistant" ? trailing : null;
48522
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1197 => _1197.content, 'access', _1198 => _1198.find, 'call', _1199 => _1199((s) => s.type === "approval_batch"), 'optionalAccess', _1200 => _1200.data, 'optionalAccess', _1201 => _1201.approvalRequestId]), () => ( null)) : null;
48480
48523
  let processedToUse = processedHistory;
48481
48524
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
48482
48525
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
48483
48526
  if (historyBatchId) {
48484
48527
  const batchTwins = existingMessages.filter(
48485
48528
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
48486
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1198 => _1198.data, 'optionalAccess', _1199 => _1199.approvalRequestId]) === historyBatchId
48529
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1202 => _1202.data, 'optionalAccess', _1203 => _1203.approvalRequestId]) === historyBatchId
48487
48530
  )
48488
48531
  );
48489
48532
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
48490
48533
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
48491
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1200 => _1200.content])) ? historyTrailingAssistant.content.length : 0;
48534
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1204 => _1204.content])) ? historyTrailingAssistant.content.length : 0;
48492
48535
  const realtimeSize = existingWithSameBatch.content.length;
48493
48536
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
48494
48537
  processedToUse = processedHistory.slice(0, -1);
@@ -48504,16 +48547,16 @@ function mergeHistoryWithRealtime(input) {
48504
48547
  if (pinnedSyntheticIds.has(m.id)) return true;
48505
48548
  if (droppedSyntheticIds.has(m.id)) return false;
48506
48549
  if (processedIds.has(m.id)) return false;
48507
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1201 => _1201.has, 'call', _1202 => _1202(m.id)])) return false;
48550
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1205 => _1205.has, 'call', _1206 => _1206(m.id)])) return false;
48508
48551
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
48509
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1203 => _1203.timestamp, 'optionalAccess', _1204 => _1204.getTime, 'call', _1205 => _1205()]), () => ( 0))) <= historyFetchedAt;
48552
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1207 => _1207.timestamp, 'optionalAccess', _1208 => _1208.getTime, 'call', _1209 => _1209()]), () => ( 0))) <= historyFetchedAt;
48510
48553
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
48511
48554
  }
48512
48555
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
48513
48556
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
48514
48557
  return false;
48515
48558
  }
48516
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1206 => _1206.timestamp, 'optionalAccess', _1207 => _1207.getTime, 'call', _1208 => _1208()]), () => ( 0))) <= historyFetchedAt;
48559
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1210 => _1210.timestamp, 'optionalAccess', _1211 => _1211.getTime, 'call', _1212 => _1212()]), () => ( 0))) <= historyFetchedAt;
48517
48560
  if (covered) return false;
48518
48561
  }
48519
48562
  return true;
@@ -48733,7 +48776,7 @@ function useChatDialogManager({
48733
48776
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48734
48777
  if (restoreTarget) {
48735
48778
  try {
48736
- await _optionalChain([unarchiveDialog, 'optionalCall', _1209 => _1209(restoreTarget.id)]);
48779
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1213 => _1213(restoreTarget.id)]);
48737
48780
  } catch (err) {
48738
48781
  console.error("[useChatDialogManager] unarchive failed:", err);
48739
48782
  return;
@@ -49150,7 +49193,7 @@ function EmbeddableChatInner({
49150
49193
  }),
49151
49194
  [commandsUrl]
49152
49195
  );
49153
- const userName = _optionalChain([identityUser, 'optionalAccess', _1210 => _1210.firstName, 'optionalAccess', _1211 => _1211.trim, 'call', _1212 => _1212()]) || _optionalChain([identityUser, 'optionalAccess', _1213 => _1213.name, 'optionalAccess', _1214 => _1214.split, 'call', _1215 => _1215(" "), 'access', _1216 => _1216[0], 'optionalAccess', _1217 => _1217.trim, 'call', _1218 => _1218()]) || void 0;
49196
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1214 => _1214.firstName, 'optionalAccess', _1215 => _1215.trim, 'call', _1216 => _1216()]) || _optionalChain([identityUser, 'optionalAccess', _1217 => _1217.name, 'optionalAccess', _1218 => _1218.split, 'call', _1219 => _1219(" "), 'access', _1220 => _1220[0], 'optionalAccess', _1221 => _1221.trim, 'call', _1222 => _1222()]) || void 0;
49154
49197
  const effectiveModes = _react.useMemo.call(void 0, () => {
49155
49198
  if (modes) return modes;
49156
49199
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -49159,19 +49202,19 @@ function EmbeddableChatInner({
49159
49202
  const mingoCaps = _react.useMemo.call(void 0, () => {
49160
49203
  if (mingoState) {
49161
49204
  return {
49162
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1219 => _1219.canRename]), () => ( false)),
49163
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1220 => _1220.canArchive]), () => ( false)),
49164
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1221 => _1221.fetchArchivedDialogs]),
49165
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1222 => _1222.unarchiveDialog]),
49166
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1223 => _1223.searchQuery]),
49167
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1224 => _1224.onSearchChange])
49205
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1223 => _1223.canRename]), () => ( false)),
49206
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1224 => _1224.canArchive]), () => ( false)),
49207
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1225 => _1225.fetchArchivedDialogs]),
49208
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1226 => _1226.unarchiveDialog]),
49209
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1227 => _1227.searchQuery]),
49210
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1228 => _1228.onSearchChange])
49168
49211
  };
49169
49212
  }
49170
49213
  return {
49171
- canRename: !!_optionalChain([effectiveModes, 'access', _1225 => _1225.mingo, 'optionalAccess', _1226 => _1226.renameDialog]),
49172
- canArchive: !!_optionalChain([effectiveModes, 'access', _1227 => _1227.mingo, 'optionalAccess', _1228 => _1228.archiveDialog]),
49173
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1229 => _1229.mingo, 'optionalAccess', _1230 => _1230.fetchArchivedDialogs]),
49174
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1231 => _1231.mingo, 'optionalAccess', _1232 => _1232.unarchiveDialog]),
49214
+ canRename: !!_optionalChain([effectiveModes, 'access', _1229 => _1229.mingo, 'optionalAccess', _1230 => _1230.renameDialog]),
49215
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1231 => _1231.mingo, 'optionalAccess', _1232 => _1232.archiveDialog]),
49216
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1233 => _1233.mingo, 'optionalAccess', _1234 => _1234.fetchArchivedDialogs]),
49217
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1235 => _1235.mingo, 'optionalAccess', _1236 => _1236.unarchiveDialog]),
49175
49218
  searchQuery: void 0,
49176
49219
  onSearchChange: void 0
49177
49220
  };
@@ -49185,7 +49228,7 @@ function EmbeddableChatInner({
49185
49228
  if (controlledActiveMode === void 0) {
49186
49229
  setUncontrolledActiveMode(next);
49187
49230
  }
49188
- _optionalChain([onActiveModeChange, 'optionalCall', _1233 => _1233(next)]);
49231
+ _optionalChain([onActiveModeChange, 'optionalCall', _1237 => _1237(next)]);
49189
49232
  },
49190
49233
  [controlledActiveMode, onActiveModeChange]
49191
49234
  );
@@ -49207,7 +49250,7 @@ function EmbeddableChatInner({
49207
49250
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
49208
49251
  const effectiveAssistantName = emptyStateConfig.name;
49209
49252
  const effectiveAssistantIcon = emptyStateConfig.icon;
49210
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1234 => _1234.title]) === "string" ? guideWelcome.title : null)));
49253
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1238 => _1238.title]) === "string" ? guideWelcome.title : null)));
49211
49254
  const {
49212
49255
  messages: rawMessages,
49213
49256
  isLoading: chatLoading,
@@ -49247,7 +49290,7 @@ function EmbeddableChatInner({
49247
49290
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
49248
49291
  guidePromptSentRef.current = true;
49249
49292
  void sendMessage(guidePendingPrompt);
49250
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1235 => _1235()]);
49293
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1239 => _1239()]);
49251
49294
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
49252
49295
  const {
49253
49296
  attachments: stagedAttachments,
@@ -49258,7 +49301,7 @@ function EmbeddableChatInner({
49258
49301
  clear: clearAttachments
49259
49302
  } = useChatAttachments();
49260
49303
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
49261
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1236 => _1236.maxItems]), () => ( 10));
49304
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1240 => _1240.maxItems]), () => ( 10));
49262
49305
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
49263
49306
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
49264
49307
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -49275,10 +49318,10 @@ function EmbeddableChatInner({
49275
49318
  }, [activeDialogId, activeMode]);
49276
49319
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
49277
49320
  const m = /* @__PURE__ */ new Map();
49278
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1237 => _1237.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
49321
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1241 => _1241.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
49279
49322
  return m;
49280
- }, [_optionalChain([contextPicker, 'optionalAccess', _1238 => _1238.entityTypes])]);
49281
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1239 => _1239.entityTypes]);
49323
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1242 => _1242.entityTypes])]);
49324
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1243 => _1243.entityTypes]);
49282
49325
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
49283
49326
  const byType = /* @__PURE__ */ new Map();
49284
49327
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -49290,7 +49333,7 @@ function EmbeddableChatInner({
49290
49333
  if (mentionActiveRef.current) {
49291
49334
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
49292
49335
  if (contextItems.length >= contextMaxItems) return;
49293
- _optionalChain([chatInputRef, 'access', _1240 => _1240.current, 'optionalAccess', _1241 => _1241.commitMention, 'call', _1242 => _1242(mentionTokenOf(key, mentionMarkerByType), {
49336
+ _optionalChain([chatInputRef, 'access', _1244 => _1244.current, 'optionalAccess', _1245 => _1245.commitMention, 'call', _1246 => _1246(mentionTokenOf(key, mentionMarkerByType), {
49294
49337
  label: item.label,
49295
49338
  icon: resolveContextIcon(item)
49296
49339
  })]);
@@ -49312,9 +49355,9 @@ function EmbeddableChatInner({
49312
49355
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
49313
49356
  if (mentionKeysRef.current.has(key)) {
49314
49357
  mentionKeysRef.current.delete(key);
49315
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1243 => _1243.current, 'optionalAccess', _1244 => _1244.getValue, 'call', _1245 => _1245()]), () => ( ""));
49358
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1247 => _1247.current, 'optionalAccess', _1248 => _1248.getValue, 'call', _1249 => _1249()]), () => ( ""));
49316
49359
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
49317
- _optionalChain([chatInputRef, 'access', _1246 => _1246.current, 'optionalAccess', _1247 => _1247.setValue, 'call', _1248 => _1248(next)]);
49360
+ _optionalChain([chatInputRef, 'access', _1250 => _1250.current, 'optionalAccess', _1251 => _1251.setValue, 'call', _1252 => _1252(next)]);
49318
49361
  }
49319
49362
  }, [mentionMarkerByType]);
49320
49363
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -49331,7 +49374,7 @@ function EmbeddableChatInner({
49331
49374
  }, []);
49332
49375
  const closeContextPicker = _react.useCallback.call(void 0, () => {
49333
49376
  if (mentionActiveRef.current) {
49334
- _optionalChain([chatInputRef, 'access', _1249 => _1249.current, 'optionalAccess', _1250 => _1250.removeMentionTrigger, 'call', _1251 => _1251()]);
49377
+ _optionalChain([chatInputRef, 'access', _1253 => _1253.current, 'optionalAccess', _1254 => _1254.removeMentionTrigger, 'call', _1255 => _1255()]);
49335
49378
  }
49336
49379
  setContextPickerOpen(false);
49337
49380
  setMentionQuery(null);
@@ -49365,8 +49408,8 @@ function EmbeddableChatInner({
49365
49408
  []
49366
49409
  );
49367
49410
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
49368
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1252 => _1252.firstName]), _optionalChain([identityUser, 'optionalAccess', _1253 => _1253.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1254 => _1254.name, 'optionalAccess', _1255 => _1255.trim, 'call', _1256 => _1256()]) || void 0 : void 0;
49369
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1257 => _1257.avatarUrl, 'optionalAccess', _1258 => _1258.trim, 'call', _1259 => _1259()]) || void 0 : void 0;
49411
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1256 => _1256.firstName]), _optionalChain([identityUser, 'optionalAccess', _1257 => _1257.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1258 => _1258.name, 'optionalAccess', _1259 => _1259.trim, 'call', _1260 => _1260()]) || void 0 : void 0;
49412
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1261 => _1261.avatarUrl, 'optionalAccess', _1262 => _1262.trim, 'call', _1263 => _1263()]) || void 0 : void 0;
49370
49413
  const messages = _react.useMemo.call(void 0, () => {
49371
49414
  const cache = timestampCacheRef.current;
49372
49415
  const seenIds = /* @__PURE__ */ new Set();
@@ -49535,9 +49578,9 @@ function EmbeddableChatInner({
49535
49578
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
49536
49579
  const lastSources = _react.useMemo.call(void 0, () => {
49537
49580
  if (chatLoading) return void 0;
49538
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1260 => _1260.sources]);
49581
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1264 => _1264.sources]);
49539
49582
  if (!sources || sources.length === 0) return void 0;
49540
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1261 => _1261.content]) || "";
49583
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1265 => _1265.content]) || "";
49541
49584
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
49542
49585
  (m) => parseInt(m[1], 10)
49543
49586
  );
@@ -49584,7 +49627,7 @@ function EmbeddableChatInner({
49584
49627
  ChatPanelHeader,
49585
49628
  {
49586
49629
  showBack: hasConversation || guideCanReturnToMingo,
49587
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1262 => _1262.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
49630
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1266 => _1266.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
49588
49631
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
49589
49632
  isArchivedView: isViewingArchived,
49590
49633
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49705,9 +49748,9 @@ function EmbeddableChatInner({
49705
49748
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49706
49749
  subtitleLoading: emptyStateLoading,
49707
49750
  ...guideWelcome,
49708
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1263 => _1263.title]))),
49709
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1264 => _1264.icon]))),
49710
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1265 => _1265.quickActions]), () => ( guideSuggestedActions)),
49751
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1267 => _1267.title]))),
49752
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1268 => _1268.icon]))),
49753
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1269 => _1269.quickActions]), () => ( guideSuggestedActions)),
49711
49754
  onQuickAction: (action) => {
49712
49755
  setQuickActionPreview(null);
49713
49756
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -50799,5 +50842,5 @@ function EmbeddableChatInner({
50799
50842
 
50800
50843
 
50801
50844
 
50802
- 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.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
50803
- //# sourceMappingURL=chunk-4RUTFRJ6.cjs.map
50845
+ 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.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
50846
+ //# sourceMappingURL=chunk-RZVSYLO7.cjs.map