@flamingo-stack/openframe-frontend-core 0.0.715 → 0.0.717

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 (110) hide show
  1. package/dist/chat-protocol/index.cjs +23 -14
  2. package/dist/chat-protocol/index.js +23 -14
  3. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
  4. package/dist/chat-protocol/source-metadata.d.ts +11 -2
  5. package/dist/chat-protocol/source-metadata.d.ts.map +1 -1
  6. package/dist/{chunk-WEEZSGFD.cjs → chunk-2AI2E3O2.cjs} +65 -65
  7. package/dist/{chunk-KSEOIICU.js → chunk-2EK7PA73.js} +3 -3
  8. package/dist/{chunk-AQI74KC7.js → chunk-2X2P3VHF.js} +5 -5
  9. package/dist/{chunk-4GFAKUHF.js → chunk-3MJPCKB6.js} +2 -2
  10. package/dist/{chunk-W4CS6UJS.cjs → chunk-3QAMMWV2.cjs} +8 -8
  11. package/dist/{chunk-JHSPIDV5.js → chunk-47FISYO5.js} +3 -3
  12. package/dist/{chunk-ZSJ6WWFH.cjs → chunk-5MF3NMYC.cjs} +451 -392
  13. package/dist/{chunk-VKIRTB7K.js → chunk-6MZI5SQ4.js} +2 -2
  14. package/dist/{chunk-2LZ3IYGT.js → chunk-B5XU6KOA.js} +2269 -2210
  15. package/dist/{chunk-QW7KTWLB.js → chunk-E6FLX4TX.js} +3 -3
  16. package/dist/{chunk-ZX7SCPLO.cjs → chunk-E7YCPY7K.cjs} +3 -3
  17. package/dist/{chunk-BIFUUH4K.js → chunk-FGKSAQR3.js} +5 -5
  18. package/dist/{chunk-EOKSKJSS.cjs → chunk-FROXS52D.cjs} +11 -11
  19. package/dist/{chunk-GXHWSAV6.cjs → chunk-J3Q53TWW.cjs} +26 -26
  20. package/dist/{chunk-ROBQ5TR7.js → chunk-JH2SIWPQ.js} +28 -17
  21. package/dist/{chunk-DDWFCWOE.js → chunk-JPD4NXH6.js} +1 -1
  22. package/dist/{chunk-LTLHCAZY.cjs → chunk-LANNTTKP.cjs} +9 -9
  23. package/dist/{chunk-JVCAK4W3.cjs → chunk-LE5WKGJV.cjs} +3 -3
  24. package/dist/{chunk-XFFIUXVI.cjs → chunk-M2A5SC6H.cjs} +9 -9
  25. package/dist/{chunk-5MMCYJAJ.cjs → chunk-NB6EWUDE.cjs} +33 -33
  26. package/dist/{chunk-H5R7U2D2.js → chunk-NZ5BHDFZ.js} +1 -1
  27. package/dist/{chunk-E25A235W.cjs → chunk-OHLBO4LM.cjs} +3 -3
  28. package/dist/{chunk-DI5VLY3G.js → chunk-PD4W2VMH.js} +1 -1
  29. package/dist/{chunk-OQVGA3YE.js → chunk-TYVS64YN.js} +2 -2
  30. package/dist/{chunk-EORJFB2Z.cjs → chunk-U3TP4UGA.cjs} +6 -6
  31. package/dist/{chunk-HETQETPV.cjs → chunk-UWQWMGJ7.cjs} +28 -17
  32. package/dist/{chunk-U4WCFIYB.cjs → chunk-VYKFM2NB.cjs} +35 -35
  33. package/dist/{chunk-YBS5QGON.js → chunk-VZI5BA4L.js} +1 -1
  34. package/dist/{chunk-VBDGMXZO.js → chunk-WH5GJSID.js} +2 -2
  35. package/dist/{chunk-S66W6HNZ.cjs → chunk-X3RVDBXU.cjs} +16 -16
  36. package/dist/{cloud-tenants-MI7APZJD.cjs → cloud-tenants-KDWTVHSI.cjs} +3 -3
  37. package/dist/{cloud-tenants-NSEVWC26.js → cloud-tenants-LNC26WY2.js} +2 -2
  38. package/dist/components/case-studies/index.cjs +14 -14
  39. package/dist/components/case-studies/index.js +3 -3
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/chat/types/message.types.d.ts +20 -16
  43. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  44. package/dist/components/chat/types/unified-chat-state.types.d.ts +1 -1
  45. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  46. package/dist/components/contact/index.cjs +4 -4
  47. package/dist/components/contact/index.js +3 -3
  48. package/dist/components/docs/index.cjs +7 -7
  49. package/dist/components/docs/index.js +6 -6
  50. package/dist/components/embeds/index.cjs +4 -4
  51. package/dist/components/embeds/index.js +3 -3
  52. package/dist/components/faq/index.cjs +4 -4
  53. package/dist/components/faq/index.js +3 -3
  54. package/dist/components/features/approval-level.d.ts +30 -22
  55. package/dist/components/features/approval-level.d.ts.map +1 -1
  56. package/dist/components/features/index.cjs +3 -5
  57. package/dist/components/features/index.js +4 -6
  58. package/dist/components/help-center-pages/index.cjs +62 -62
  59. package/dist/components/help-center-pages/index.js +13 -13
  60. package/dist/components/index.cjs +33 -33
  61. package/dist/components/index.js +16 -16
  62. package/dist/components/meeting-scheduler/index.cjs +19 -19
  63. package/dist/components/meeting-scheduler/index.js +2 -2
  64. package/dist/components/navigation/index.cjs +6 -6
  65. package/dist/components/navigation/index.js +5 -5
  66. package/dist/components/onboarding-guides/index.cjs +5 -5
  67. package/dist/components/onboarding-guides/index.js +4 -4
  68. package/dist/components/product-demo/index.cjs +6 -6
  69. package/dist/components/product-demo/index.js +6 -6
  70. package/dist/components/tickets/index.cjs +7 -7
  71. package/dist/components/tickets/index.js +6 -6
  72. package/dist/components/ui/analyzing-state.d.ts +17 -0
  73. package/dist/components/ui/analyzing-state.d.ts.map +1 -0
  74. package/dist/components/ui/feature-list.d.ts +4 -4
  75. package/dist/components/ui/feature-list.d.ts.map +1 -1
  76. package/dist/components/ui/incident-feed.d.ts +4 -1
  77. package/dist/components/ui/incident-feed.d.ts.map +1 -1
  78. package/dist/components/ui/index.cjs +5 -3
  79. package/dist/components/ui/index.d.ts +1 -0
  80. package/dist/components/ui/index.d.ts.map +1 -1
  81. package/dist/components/ui/index.js +4 -2
  82. package/dist/components/ui/playback-toggle.d.ts +10 -4
  83. package/dist/components/ui/playback-toggle.d.ts.map +1 -1
  84. package/dist/components/ui/tab-navigation.d.ts +7 -1
  85. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  86. package/dist/{devices-6NMK4EXV.cjs → devices-ATHYJUVQ.cjs} +4 -4
  87. package/dist/{devices-W3VKQEVZ.js → devices-NYCRQ3PG.js} +2 -2
  88. package/dist/index.cjs +7 -7
  89. package/dist/index.js +10 -10
  90. package/dist/{knowledge-YWCB7HNC.js → knowledge-DEKYJXBS.js} +2 -2
  91. package/dist/{knowledge-GDMGHFEC.cjs → knowledge-EHNRYT7U.cjs} +4 -4
  92. package/dist/{logs-7QDRV3GN.cjs → logs-3V765P7O.cjs} +11 -11
  93. package/dist/{logs-E742S5A2.js → logs-Q7YFIVYI.js} +2 -2
  94. package/dist/{policies-XTPAKRHI.js → policies-BTIENK5A.js} +2 -2
  95. package/dist/{policies-BEVF6AEM.cjs → policies-TXU5AIXS.cjs} +7 -7
  96. package/dist/{software-update-KPHX4XQ7.cjs → software-update-MINTICZY.cjs} +7 -7
  97. package/dist/{software-update-FXWIEKSW.js → software-update-SW2HOBHW.js} +2 -2
  98. package/package.json +1 -1
  99. package/src/chat-protocol/nats-decoder.ts +10 -8
  100. package/src/chat-protocol/source-metadata.ts +25 -2
  101. package/src/components/chat/types/message.types.ts +21 -15
  102. package/src/components/chat/types/unified-chat-state.types.ts +1 -1
  103. package/src/components/chat/utils/process-historical-messages.ts +12 -4
  104. package/src/components/features/approval-level.tsx +62 -44
  105. package/src/components/ui/analyzing-state.tsx +57 -0
  106. package/src/components/ui/feature-list.tsx +26 -16
  107. package/src/components/ui/incident-feed.tsx +6 -2
  108. package/src/components/ui/index.ts +1 -0
  109. package/src/components/ui/playback-toggle.tsx +12 -6
  110. package/src/components/ui/tab-navigation.tsx +12 -1
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  DeliveryRow,
7
7
  ListEmptyState
8
- } from "./chunk-4GFAKUHF.js";
8
+ } from "./chunk-3MJPCKB6.js";
9
9
  import {
10
10
  EmptyState
11
11
  } from "./chunk-6YPTUHM7.js";
@@ -26,7 +26,7 @@ import {
26
26
  PageShell,
27
27
  ReleaseChangelogSection,
28
28
  RichMarkdownRenderer
29
- } from "./chunk-2LZ3IYGT.js";
29
+ } from "./chunk-B5XU6KOA.js";
30
30
  import {
31
31
  PageLayout
32
32
  } from "./chunk-NPAQSMRY.js";
@@ -45,7 +45,7 @@ import {
45
45
  resolveContentHref,
46
46
  useCaptions,
47
47
  useIsHydrated
48
- } from "./chunk-ROBQ5TR7.js";
48
+ } from "./chunk-JH2SIWPQ.js";
49
49
  import {
50
50
  STICKY_HEADER_OFFSET_PX
51
51
  } from "./chunk-CMZ3QTFQ.js";
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
5
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
6
6
 
7
7
 
8
8
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -42,7 +42,7 @@ function isSummaryData(value) {
42
42
  }
43
43
  function TicketLiveProvider({ children, enabled = true }) {
44
44
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
45
- const identity = _chunkHETQETPVcjs.useChatIdentity.call(void 0, enabled);
45
+ const identity = _chunkUWQWMGJ7cjs.useChatIdentity.call(void 0, enabled);
46
46
  const queryClient = _reactquery.useQueryClient.call(void 0, );
47
47
  const streamUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _ => _.endpoints, 'access', _2 => _2.ticketStreamUrl]), () => ( TICKET_STREAM_ENDPOINT));
48
48
  const readUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _3 => _3.endpoints, 'access', _4 => _4.ticketReadUrl]), () => ( TICKET_READ_ENDPOINT));
@@ -158,7 +158,7 @@ function TicketLiveProvider({ children, enabled = true }) {
158
158
  _react2.default.useEffect(() => {
159
159
  if (!streamEnabled) return void 0;
160
160
  if (typeof window === "undefined") return void 0;
161
- subscriptionRef.current = _chunkHETQETPVcjs.createSseSubscription.call(void 0, {
161
+ subscriptionRef.current = _chunkUWQWMGJ7cjs.createSseSubscription.call(void 0, {
162
162
  url: streamUrl,
163
163
  onEvent: (name, data) => handlersRef.current.onEvent(name, data),
164
164
  onStatusChange: (status) => handlersRef.current.onStatus(status),
@@ -3,22 +3,22 @@ import {
3
3
  FileDownloadCard,
4
4
  GoogleSheetsViewer,
5
5
  PdfViewer
6
- } from "./chunk-DI5VLY3G.js";
6
+ } from "./chunk-PD4W2VMH.js";
7
7
  import {
8
8
  MobileNavigationDropdown,
9
9
  MultiLevelNavigation,
10
10
  StickySectionNav,
11
11
  useScrollSpy
12
- } from "./chunk-H5R7U2D2.js";
12
+ } from "./chunk-NZ5BHDFZ.js";
13
13
  import {
14
14
  DocSearchBar,
15
15
  useDocSearch
16
- } from "./chunk-OQVGA3YE.js";
16
+ } from "./chunk-TYVS64YN.js";
17
17
  import {
18
18
  CategorySidebarSkeleton,
19
19
  FigmaEmbed,
20
20
  PageShell
21
- } from "./chunk-2LZ3IYGT.js";
21
+ } from "./chunk-B5XU6KOA.js";
22
22
  import {
23
23
  PageLayout
24
24
  } from "./chunk-NPAQSMRY.js";
@@ -30,7 +30,7 @@ import {
30
30
  findDocNodeByPath,
31
31
  getDocAncestorNodeIds,
32
32
  stripFolderIndexFromPath
33
- } from "./chunk-ROBQ5TR7.js";
33
+ } from "./chunk-JH2SIWPQ.js";
34
34
  import {
35
35
  HUB_HEADER_OFFSET_PX,
36
36
  navigateSamePageHash,
@@ -6,7 +6,7 @@ var _chunkJO5TLJPMcjs = require('./chunk-JO5TLJPM.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
9
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
10
10
 
11
11
 
12
12
 
@@ -118,31 +118,31 @@ CveLink.displayName = "CveLink";
118
118
  // src/components/platform/ShellTypeBadge.tsx
119
119
 
120
120
  var shellIconMap = {
121
- [_chunkHETQETPVcjs.ShellTypeValues.POWERSHELL]: {
121
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.POWERSHELL]: {
122
122
  icon: _chunkVX4E6YSBcjs.PowershellLogoGreyIcon,
123
123
  props: { size: 16, className: "text-ods-text-secondary" }
124
124
  },
125
- [_chunkHETQETPVcjs.ShellTypeValues.CMD]: {
125
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.CMD]: {
126
126
  icon: _chunkLLSUVPQCcjs.CmdIcon,
127
127
  props: { size: 16, color: "var(--color-text-secondary)" }
128
128
  },
129
- [_chunkHETQETPVcjs.ShellTypeValues.BASH]: {
129
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.BASH]: {
130
130
  icon: _chunkLLSUVPQCcjs.BashIcon,
131
131
  props: { size: 16, color: "var(--color-text-secondary)" }
132
132
  },
133
- [_chunkHETQETPVcjs.ShellTypeValues.PYTHON]: {
133
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.PYTHON]: {
134
134
  icon: _chunkVX4E6YSBcjs.PythonLogoIcon,
135
135
  props: { size: 16, className: "text-ods-text-secondary" }
136
136
  },
137
- [_chunkHETQETPVcjs.ShellTypeValues.NUSHELL]: {
137
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.NUSHELL]: {
138
138
  icon: _chunkLLSUVPQCcjs.NushellIcon,
139
139
  props: { size: 16, color: "var(--color-text-secondary)" }
140
140
  },
141
- [_chunkHETQETPVcjs.ShellTypeValues.DENO]: {
141
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.DENO]: {
142
142
  icon: _chunkLLSUVPQCcjs.DenoIcon,
143
143
  props: { size: 16, color: "var(--color-text-secondary)" }
144
144
  },
145
- [_chunkHETQETPVcjs.ShellTypeValues.SHELL]: {
145
+ [_chunkUWQWMGJ7cjs.ShellTypeValues.SHELL]: {
146
146
  icon: _chunkLLSUVPQCcjs.ShellIcon,
147
147
  props: { size: 16, color: "var(--color-text-secondary)" }
148
148
  }
@@ -153,7 +153,7 @@ var defaultIconConfig = {
153
153
  };
154
154
  var ShellTypeBadge = ({ shellType, className, iconClassName }) => {
155
155
  const normalizedType = _optionalChain([shellType, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]);
156
- const label = _chunkHETQETPVcjs.getShellLabel.call(void 0, normalizedType);
156
+ const label = _chunkUWQWMGJ7cjs.getShellLabel.call(void 0, normalizedType);
157
157
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
158
158
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
159
159
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1", className), children: [
@@ -169,7 +169,7 @@ function formatSupportedPlatforms(platforms) {
169
169
  if (!platforms || platforms.length === 0) {
170
170
  return "All Platforms";
171
171
  }
172
- return platforms.map((platform) => _chunkHETQETPVcjs.getOSLabel.call(void 0, platform)).join(", ");
172
+ return platforms.map((platform) => _chunkUWQWMGJ7cjs.getOSLabel.call(void 0, platform)).join(", ");
173
173
  }
174
174
  function InfoCell({ label, value, avatar, className }) {
175
175
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
@@ -189,7 +189,7 @@ var ScriptInfoSection = ({
189
189
  author,
190
190
  className
191
191
  }) => {
192
- const shellLabel = _chunkHETQETPVcjs.getShellLabel.call(void 0, shellType);
192
+ const shellLabel = _chunkUWQWMGJ7cjs.getShellLabel.call(void 0, shellType);
193
193
  const platformsLabel = formatSupportedPlatforms(supportedPlatforms);
194
194
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", className), children: [
195
195
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkZX7SCPLOcjs = require('./chunk-ZX7SCPLO.cjs');
4
+ var _chunkE7YCPY7Kcjs = require('./chunk-E7YCPY7K.cjs');
5
5
 
6
6
 
7
7
 
@@ -12,7 +12,7 @@ var _chunkZX7SCPLOcjs = require('./chunk-ZX7SCPLO.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkZSJ6WWFHcjs = require('./chunk-ZSJ6WWFH.cjs');
15
+ var _chunk5MF3NMYCcjs = require('./chunk-5MF3NMYC.cjs');
16
16
 
17
17
 
18
18
 
@@ -28,7 +28,7 @@ var _chunkB4NCVYEQcjs = require('./chunk-B4NCVYEQ.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
31
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
32
32
 
33
33
 
34
34
  var _chunkGQ7JJUITcjs = require('./chunk-GQ7JJUIT.cjs');
@@ -147,7 +147,7 @@ function NavItemRow({
147
147
  className
148
148
  }) {
149
149
  const label = navLinkLabel(link);
150
- const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
150
+ const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
151
151
  const singleLine = !link.description && !link.builtOn;
152
152
  const rowClassName = _chunk3ATAYP36cjs.cn.call(void 0,
153
153
  ROW_CLASSES[variant],
@@ -535,7 +535,7 @@ function SiteHeader({
535
535
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
536
536
  leading,
537
537
  mobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
538
- _chunkZSJ6WWFHcjs.HeaderButton,
538
+ _chunk5MF3NMYCcjs.HeaderButton,
539
539
  {
540
540
  className: "border-r border-ods-border lg:hidden",
541
541
  onClick: mobile.onToggle,
@@ -561,7 +561,7 @@ function SiteHeader({
561
561
  centerClassName: "justify-start pl-[var(--spacing-system-xlf)]",
562
562
  cta: hasRight ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
563
563
  mingo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
564
- _chunkHETQETPVcjs.MingoAiButton,
564
+ _chunkUWQWMGJ7cjs.MingoAiButton,
565
565
  {
566
566
  source: mingo.source,
567
567
  icon: mingo.icon,
@@ -663,7 +663,7 @@ function MobileNavSheetBody({
663
663
  ] }),
664
664
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-5", children: [
665
665
  askAI && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
666
- _chunkHETQETPVcjs.MingoAiButton,
666
+ _chunkUWQWMGJ7cjs.MingoAiButton,
667
667
  {
668
668
  variant: "field",
669
669
  source: askAI.source,
@@ -841,7 +841,7 @@ function SiteFooter({
841
841
  const columns = nav.footerColumns;
842
842
  const accordion = columns.length > ACCORDION_OVER;
843
843
  const socialRow = _nullishCoalesce(social, () => ( (nav.brand.social.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
844
- _chunkZSJ6WWFHcjs.SocialIconRow,
844
+ _chunk5MF3NMYCcjs.SocialIconRow,
845
845
  {
846
846
  compact: true,
847
847
  links: nav.brand.social.map((link) => ({
@@ -944,7 +944,7 @@ var _framermotion = require('framer-motion');
944
944
 
945
945
  function SlidingSidebar({ config }) {
946
946
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
947
- const mounted = _chunkHETQETPVcjs.useIsHydrated.call(void 0, );
947
+ const mounted = _chunkUWQWMGJ7cjs.useIsHydrated.call(void 0, );
948
948
  const headerHeight = _chunkGQ7JJUITcjs.useHeaderHeight.call(void 0, );
949
949
  const asideRef = _react.useRef.call(void 0, null);
950
950
  const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
@@ -1076,7 +1076,7 @@ function SlidingSidebar({ config }) {
1076
1076
  duration: 0.3,
1077
1077
  ease: [0.4, 0, 0.2, 1]
1078
1078
  },
1079
- className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkHETQETPVcjs.OVERLAY_BACKDROP_CLASS),
1079
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkUWQWMGJ7cjs.OVERLAY_BACKDROP_CLASS),
1080
1080
  onClick: () => config.onClose()
1081
1081
  }
1082
1082
  ) }),
@@ -1217,7 +1217,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
1217
1217
  _react.cloneElement.call(void 0, item.icon, {
1218
1218
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
1219
1219
  }),
1220
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.UnreadDot, { size: "fixed" })
1220
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.UnreadDot, { size: "fixed" })
1221
1221
  ] }),
1222
1222
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1223
1223
  "span",
@@ -1318,7 +1318,7 @@ function NavigationSidebar({ config, disabled = false, pushOnTablet = false }) {
1318
1318
  setTabletFor(isTablet);
1319
1319
  if (isTablet) setTabletMinimized(true);
1320
1320
  }
1321
- const hydrated = _chunkHETQETPVcjs.useIsHydrated.call(void 0, );
1321
+ const hydrated = _chunkUWQWMGJ7cjs.useIsHydrated.call(void 0, );
1322
1322
  const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
1323
1323
  const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
1324
1324
  const isOverlayOpen = isTablet && !minimized;
@@ -1510,7 +1510,7 @@ function HeaderGlobalSearch({
1510
1510
  "form",
1511
1511
  {
1512
1512
  onSubmit: handleSubmit,
1513
- ..._chunkHETQETPVcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1513
+ ..._chunkUWQWMGJ7cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1514
1514
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1515
1515
  "flex h-full flex-1 items-center gap-2 px-3",
1516
1516
  // Transparent so the cell inherits the bar's background
@@ -1643,16 +1643,16 @@ function HeaderOrganizationFilter({
1643
1643
  // src/components/navigation/ticket-alerts-button.tsx
1644
1644
 
1645
1645
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1646
- const live = _chunkZX7SCPLOcjs.useOptionalTicketLive.call(void 0, );
1646
+ const live = _chunkE7YCPY7Kcjs.useOptionalTicketLive.call(void 0, );
1647
1647
  if (!live || !live.authed || live.unreadTotal === 0) return null;
1648
1648
  const targetId = live.nextUnreadTicketId;
1649
- const target = targetId ? _chunkHETQETPVcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1649
+ const target = targetId ? _chunkUWQWMGJ7cjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1650
1650
  const handleClick = () => {
1651
1651
  if (onNavigate) onNavigate(target);
1652
1652
  else window.location.assign(target);
1653
1653
  };
1654
1654
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1655
- _chunkZSJ6WWFHcjs.HeaderButton,
1655
+ _chunk5MF3NMYCcjs.HeaderButton,
1656
1656
  {
1657
1657
  icon: (
1658
1658
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -1662,7 +1662,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1662
1662
  // existing while updates are unread — never by tinting the glyph.
1663
1663
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
1664
1664
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
1665
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.UnreadCountBadge, { count: live.unreadTotal })
1665
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.UnreadCountBadge, { count: live.unreadTotal })
1666
1666
  ] })
1667
1667
  ),
1668
1668
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -1738,7 +1738,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1738
1738
  leading: (
1739
1739
  // Mobile: Burger Menu Button
1740
1740
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1741
- _chunkZSJ6WWFHcjs.HeaderButton,
1741
+ _chunk5MF3NMYCcjs.HeaderButton,
1742
1742
  {
1743
1743
  onClick: onToggleMobileMenu,
1744
1744
  isActive: isMobileMenuOpen,
@@ -1764,7 +1764,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1764
1764
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1765
1765
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1766
1766
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1767
- _chunkZSJ6WWFHcjs.HeaderButton,
1767
+ _chunk5MF3NMYCcjs.HeaderButton,
1768
1768
  {
1769
1769
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, { className: "h-6 w-6" }),
1770
1770
  "aria-label": "Search",
@@ -1781,7 +1781,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1781
1781
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1782
1782
  }
1783
1783
  ),
1784
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1784
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1785
1785
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1786
1786
  NotificationsHeaderButton,
1787
1787
  {
@@ -1801,7 +1801,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1801
1801
  ),
1802
1802
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenu, { children: [
1803
1803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1804
- _chunkZSJ6WWFHcjs.HeaderButton,
1804
+ _chunk5MF3NMYCcjs.HeaderButton,
1805
1805
  {
1806
1806
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1807
1807
  _chunkF5BPGWGTcjs.SquareAvatar,
@@ -1886,12 +1886,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1886
1886
  );
1887
1887
  });
1888
1888
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1889
- const ctx = _chunkZSJ6WWFHcjs.useOptionalNotifications.call(void 0, );
1889
+ const ctx = _chunk5MF3NMYCcjs.useOptionalNotifications.call(void 0, );
1890
1890
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _52 => _52.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1891
1891
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _53 => _53.isOpen]), () => ( false));
1892
1892
  const onClick = _optionalChain([ctx, 'optionalAccess', _54 => _54.toggle]);
1893
1893
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1894
- _chunkZSJ6WWFHcjs.HeaderButton,
1894
+ _chunk5MF3NMYCcjs.HeaderButton,
1895
1895
  {
1896
1896
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.BellIcon, { className: "h-6 w-6" }),
1897
1897
  showUnreadDot: !isActive && hasUnread,
@@ -2408,7 +2408,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2408
2408
  {
2409
2409
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2410
2410
  "absolute inset-0 z-[100] md:hidden",
2411
- _chunkHETQETPVcjs.OVERLAY_BACKDROP_CLASS,
2411
+ _chunkUWQWMGJ7cjs.OVERLAY_BACKDROP_CLASS,
2412
2412
  "transition-all duration-300 motion-reduce:transition-none",
2413
2413
  isOpen ? "opacity-100" : "pointer-events-none opacity-0"
2414
2414
  ),
@@ -2564,7 +2564,7 @@ function AppLayout({
2564
2564
  }),
2565
2565
  []
2566
2566
  );
2567
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2567
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2568
2568
  topBar,
2569
2569
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2570
2570
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2588,7 +2588,7 @@ function AppLayout({
2588
2588
  disabled
2589
2589
  }
2590
2590
  ),
2591
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.NotificationDrawer, {}),
2591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.NotificationDrawer, {}),
2592
2592
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2593
2593
  "div",
2594
2594
  {
@@ -537,15 +537,13 @@ var MESSAGE_TYPE = {
537
537
  TEXT: "TEXT",
538
538
  THINKING: "THINKING",
539
539
  ASK: "ASK",
540
- /** Per-answer source metadata (documents, videos, entity cards).
540
+ /** Per-answer attachments (cited documents, videos, entity cards).
541
541
  *
542
- * TWO names for ONE payload, on purpose. `SOURCES` is the contract the
543
- * backend is moving to; `GUIDE` is the envelope it ships in today, reused
544
- * from Guide Mode v2 so a released frontend keeps working during the v2→v3
545
- * rollout. Both decode through the same path, so dropping `GUIDE` later is a
546
- * deletion here and nothing else. */
542
+ * `ATTACHMENTS` carries `sources` / `videos` / `cards` on the record itself.
543
+ * `GUIDE` is the envelope it replaced — the same arrays under `payload` —
544
+ * and stays only until every backend ships `ATTACHMENTS`. */
545
+ ATTACHMENTS: "ATTACHMENTS",
547
546
  GUIDE: "GUIDE",
548
- SOURCES: "SOURCES",
549
547
  EXECUTING_TOOL: "EXECUTING_TOOL",
550
548
  EXECUTED_TOOL: "EXECUTED_TOOL",
551
549
  APPROVAL_REQUEST: "APPROVAL_REQUEST",
@@ -18243,6 +18241,16 @@ function sourceMetadataEvent(payload) {
18243
18241
  ...refs.length > 0 ? { refs } : {}
18244
18242
  };
18245
18243
  }
18244
+ function withoutNulls(value) {
18245
+ if (Array.isArray(value)) return value.map(withoutNulls);
18246
+ if (!isRecord(value)) return value;
18247
+ return Object.fromEntries(
18248
+ Object.entries(value).filter(([, field]) => field !== null).map(([key, field]) => [key, withoutNulls(field)])
18249
+ );
18250
+ }
18251
+ function attachmentsEvent(record) {
18252
+ return sourceMetadataEvent(withoutNulls(record));
18253
+ }
18246
18254
  function mergeSourceMetadata(previous, event) {
18247
18255
  const byIndex = /* @__PURE__ */ new Map();
18248
18256
  for (const source of [...previous?.sources ?? [], ...event.sources ?? []]) {
@@ -21380,13 +21388,14 @@ function decodeNatsChunk(chunk) {
21380
21388
  return { type: "thinking-delta", text: data.text, ...seq };
21381
21389
  }
21382
21390
  return null;
21383
- // Two chunk names, one payload and one decoder. `SOURCES` is the contract
21384
- // the backend is moving to; `GUIDE` is the v2 envelope it ships in during
21385
- // the rollout (see `MESSAGE_TYPE.GUIDE`). The chunk arrives BEFORE or
21386
- // between the answer's text deltas, so the reducer — not this decoder —
21387
- // owns attaching it to the right turn.
21388
- case MESSAGE_TYPE.GUIDE:
21389
- case MESSAGE_TYPE.SOURCES: {
21391
+ // The chunk arrives BEFORE or between the answer's text deltas, so the
21392
+ // reducer — not this decoder — owns attaching it to the right turn.
21393
+ case MESSAGE_TYPE.ATTACHMENTS: {
21394
+ const event = attachmentsEvent(data);
21395
+ return event ? { ...event, ...seq } : null;
21396
+ }
21397
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
21398
+ case MESSAGE_TYPE.GUIDE: {
21390
21399
  const event = sourceMetadataEvent(data.payload);
21391
21400
  return event ? { ...event, ...seq } : null;
21392
21401
  }
@@ -21741,11 +21750,13 @@ function decodeHistoricalMessageData(data) {
21741
21750
  return { type: "thinking-delta", text: data.text };
21742
21751
  }
21743
21752
  return null;
21744
- // Persisted source metadata, through the SAME decoder the live chunk uses
21745
- // (`sourceMetadataEvent`). That shared parse is the whole reason a reloaded
21753
+ // Persisted attachments, through the SAME decoder the live chunk uses
21754
+ // (`attachmentsEvent`). That shared parse is the whole reason a reloaded
21746
21755
  // answer renders identically to the one the reader watched arrive.
21756
+ case MESSAGE_TYPE.ATTACHMENTS:
21757
+ return attachmentsEvent(data);
21758
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
21747
21759
  case MESSAGE_TYPE.GUIDE:
21748
- case MESSAGE_TYPE.SOURCES:
21749
21760
  return "payload" in data ? sourceMetadataEvent(data.payload) : null;
21750
21761
  // Same completeness gate as the live decoder (`decodeNatsChunk`): a
21751
21762
  // persisted row without a question or without options is not a card the
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createSseSubscription,
4
4
  useChatIdentity
5
- } from "./chunk-ROBQ5TR7.js";
5
+ } from "./chunk-JH2SIWPQ.js";
6
6
  import {
7
7
  useChatRuntime
8
8
  } from "./chunk-E4ABZWTJ.js";
@@ -6,7 +6,7 @@ var _chunkMA4Q5RBPcjs = require('./chunk-MA4Q5RBP.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkZSJ6WWFHcjs = require('./chunk-ZSJ6WWFH.cjs');
9
+ var _chunk5MF3NMYCcjs = require('./chunk-5MF3NMYC.cjs');
10
10
 
11
11
 
12
12
  var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
@@ -14,7 +14,7 @@ var _chunkPPXR22YCcjs = require('./chunk-PPXR22YC.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
17
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
18
18
 
19
19
 
20
20
 
@@ -69,7 +69,7 @@ function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
69
69
  var _react = require('react');
70
70
 
71
71
  function DevSectionView({ sectionKey, hero, preControls, children, showHeading = true }) {
72
- const section = _chunkHETQETPVcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
72
+ const section = _chunkUWQWMGJ7cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
73
73
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
74
74
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
75
75
  const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
@@ -120,7 +120,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
120
120
  preControls,
121
121
  (search || filter) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
122
122
  search && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
123
- _chunkZSJ6WWFHcjs.SearchInput,
123
+ _chunk5MF3NMYCcjs.SearchInput,
124
124
  {
125
125
  showDropdown: false,
126
126
  placeholder: search.placeholder,
@@ -130,7 +130,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
130
130
  }
131
131
  ),
132
132
  filter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
133
- _chunkZSJ6WWFHcjs.StatusFilterComponent,
133
+ _chunk5MF3NMYCcjs.StatusFilterComponent,
134
134
  {
135
135
  selectedStatus: currentFilterValue,
136
136
  onStatusChange: handleFilterChange,
@@ -154,7 +154,7 @@ function DevSectionPage({
154
154
  shell = true
155
155
  }) {
156
156
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
157
- const section = _chunkHETQETPVcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
157
+ const section = _chunkUWQWMGJ7cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
158
158
  const backCfg = backButton === false ? void 0 : {
159
159
  label: _nullishCoalesce((backButton ? backButton.label : void 0), () => ( "Back to home")),
160
160
  onClick: () => router.push(_nullishCoalesce((backButton ? backButton.href : void 0), () => ( "/")))
@@ -178,7 +178,7 @@ function DevSectionPage({
178
178
  }
179
179
  )
180
180
  );
181
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSJ6WWFHcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
181
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MF3NMYCcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
182
182
  }
183
183
 
184
184
  // src/components/shared/dev-section/dev-card-row.tsx
@@ -236,8 +236,8 @@ function getRelativeTime(timestamp) {
236
236
  }
237
237
  function DeliveryRow({ item, href, target, caption, id, className }) {
238
238
  const taskType = item.taskType;
239
- const typeBadgeLabel = _chunkHETQETPVcjs.TASK_TYPE_LABELS[taskType] || "TASK";
240
- const typeBadgeTextColor = _chunkHETQETPVcjs.TASK_TYPE_TEXT_COLORS[taskType] || "";
239
+ const typeBadgeLabel = _chunkUWQWMGJ7cjs.TASK_TYPE_LABELS[taskType] || "TASK";
240
+ const typeBadgeTextColor = _chunkUWQWMGJ7cjs.TASK_TYPE_TEXT_COLORS[taskType] || "";
241
241
  const statusBadgeScheme = _chunkETYLOZOBcjs.getStatusColorScheme.call(void 0, item.status);
242
242
  const relativeTime = getRelativeTime(item.dateUpdated);
243
243
  const subtitle = `ACTIVE ${relativeTime}${item.listNames.length > 0 ? `, ${item.listNames.join(", ")}` : ""}, ${item.id}`;
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
5
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
6
6
 
7
7
 
8
8
 
@@ -45,7 +45,7 @@ function HorizontalSectionNav({
45
45
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { ref: navRef, "aria-label": label, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-14 items-stretch gap-6 bg-ods-bg", className), children: [
46
46
  brand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden shrink-0 items-center gap-2.5 border-r border-ods-border pr-6 text-ods-text-primary text-h4 content-lg:flex", children: brand }),
47
47
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48
- _chunkHETQETPVcjs.ScrollShadow,
48
+ _chunkUWQWMGJ7cjs.ScrollShadow,
49
49
  {
50
50
  axis: "horizontal",
51
51
  className: "min-w-0 flex-1",
@@ -330,7 +330,7 @@ function useScrollSpy(sections, options = {}) {
330
330
  // src/components/navigation/multi-level-navigation.tsx
331
331
  var _lucidereact = require('lucide-react');
332
332
 
333
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkHETQETPVcjs.DEFAULT_FOLDER_INDEX_FILE;
333
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunkUWQWMGJ7cjs.DEFAULT_FOLDER_INDEX_FILE;
334
334
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
335
335
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
336
336
  if (selectedPath === node.path) {
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkZSJ6WWFHcjs = require('./chunk-ZSJ6WWFH.cjs');
4
+ var _chunk5MF3NMYCcjs = require('./chunk-5MF3NMYC.cjs');
5
5
 
6
6
 
7
7
  var _chunkAUMKE74Mcjs = require('./chunk-AUMKE74M.cjs');
@@ -12,7 +12,7 @@ var _chunkAUMKE74Mcjs = require('./chunk-AUMKE74M.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkHETQETPVcjs = require('./chunk-HETQETPV.cjs');
15
+ var _chunkUWQWMGJ7cjs = require('./chunk-UWQWMGJ7.cjs');
16
16
 
17
17
 
18
18
  var _chunkGQ7JJUITcjs = require('./chunk-GQ7JJUIT.cjs');
@@ -39,7 +39,7 @@ var _jsxruntime = require('react/jsx-runtime');
39
39
  function DocSearchResultRow({ result, isHighlighted }) {
40
40
  const docType = _optionalChain([result, 'access', _ => _.metadata, 'optionalAccess', _2 => _2.documentType]) || void 0;
41
41
  const sourceRepo = _optionalChain([result, 'access', _3 => _3.metadata, 'optionalAccess', _4 => _4.sourceRepo]) || void 0;
42
- const { Icon: SourceIcon, label: iconLabel } = _chunkHETQETPVcjs.resolveSourceIcon.call(void 0, {
42
+ const { Icon: SourceIcon, label: iconLabel } = _chunkUWQWMGJ7cjs.resolveSourceIcon.call(void 0, {
43
43
  sourceRepo,
44
44
  documentType: docType
45
45
  });
@@ -69,7 +69,7 @@ function DocSearchBar({
69
69
  renderResult
70
70
  }) {
71
71
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
72
- _chunkZSJ6WWFHcjs.SearchInput,
72
+ _chunk5MF3NMYCcjs.SearchInput,
73
73
  {
74
74
  placeholder,
75
75
  value: query,
@@ -119,7 +119,7 @@ function mapDocSearchResults(docs) {
119
119
  results.push({
120
120
  id: `group-${entry.repo}`,
121
121
  // Same table label and count as the chat's grouped chip: one owner each.
122
- title: `${_chunkHETQETPVcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkHETQETPVcjs.recordCountLabel.call(void 0, rows.length)}`,
122
+ title: `${_chunkUWQWMGJ7cjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkUWQWMGJ7cjs.recordCountLabel.call(void 0, rows.length)}`,
123
123
  path: rows[0].path,
124
124
  type: "file",
125
125
  metadata: {
@@ -311,27 +311,27 @@ function useDocSearch(config) {
311
311
  case "navigate-same-tab": {
312
312
  if (wantsNewTab) {
313
313
  setKeepOpen(true);
314
- window.open(action.href, "_blank", _chunkHETQETPVcjs.NEW_TAB_FEATURES);
314
+ window.open(action.href, "_blank", _chunkUWQWMGJ7cjs.NEW_TAB_FEATURES);
315
315
  return;
316
316
  }
317
317
  setKeepOpen(false);
318
318
  const path = baseRoute && action.href.startsWith(`${baseRoute}/`) ? action.href.slice(baseRoute.length + 1) : null;
319
319
  if (path && _optionalChain([onInPageSwap, 'optionalCall', _16 => _16(path)])) return;
320
- router.push(_chunkHETQETPVcjs.stripSameOriginToPath.call(void 0, action.href));
320
+ router.push(_chunkUWQWMGJ7cjs.stripSameOriginToPath.call(void 0, action.href));
321
321
  return;
322
322
  }
323
323
  case "navigate-new-tab":
324
324
  setKeepOpen(true);
325
325
  if (_optionalChain([runtime, 'optionalAccess', _17 => _17.navigation, 'access', _18 => _18.mode]) === "embed") {
326
326
  const targetPlatform = _nullishCoalesce(_optionalChain([result, 'access', _19 => _19.metadata, 'optionalAccess', _20 => _20.targetPlatform]), () => ( null));
327
- _chunkHETQETPVcjs.resolveExternalNavigation.call(void 0, {
327
+ _chunkUWQWMGJ7cjs.resolveExternalNavigation.call(void 0, {
328
328
  href: action.href,
329
329
  targetPlatform,
330
330
  runtime
331
331
  }).open();
332
332
  return;
333
333
  }
334
- window.open(action.href, "_blank", _chunkHETQETPVcjs.NEW_TAB_FEATURES);
334
+ window.open(action.href, "_blank", _chunkUWQWMGJ7cjs.NEW_TAB_FEATURES);
335
335
  return;
336
336
  case "ask-ai":
337
337
  setKeepOpen(false);