@flamingo-stack/openframe-frontend-core 0.0.752 → 0.0.754

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 (111) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-OXEAN3EQ.cjs → chunk-35BJY5RR.cjs} +44 -44
  3. package/dist/{chunk-ZYRRRKSZ.cjs → chunk-5E6JHOGX.cjs} +3 -3
  4. package/dist/{chunk-35RU25PJ.cjs → chunk-7Z4EQOIX.cjs} +44 -44
  5. package/dist/{chunk-4PEG4JTM.cjs → chunk-B27XV2TC.cjs} +6 -6
  6. package/dist/{chunk-4OTCQEP3.cjs → chunk-BLZIUELR.cjs} +11 -11
  7. package/dist/{chunk-KBJSZFBZ.cjs → chunk-BQQ3JGEO.cjs} +3 -3
  8. package/dist/{chunk-RDH63XXW.cjs → chunk-DW5OKTUP.cjs} +34 -34
  9. package/dist/{chunk-KUVYVAS2.cjs → chunk-EDSFLB7J.cjs} +19 -17
  10. package/dist/{chunk-WQCLN27R.cjs → chunk-FAFFWYEH.cjs} +4 -4
  11. package/dist/{chunk-P4ODFQGA.cjs → chunk-GQYCVZJI.cjs} +4 -4
  12. package/dist/{chunk-Y6PVZRYL.cjs → chunk-IVAAQSOU.cjs} +12 -12
  13. package/dist/{chunk-EUQJ7QHW.cjs → chunk-JXACH52M.cjs} +4 -4
  14. package/dist/{chunk-JI6NRWCC.cjs → chunk-MOEILCEX.cjs} +13 -13
  15. package/dist/{chunk-IPVJAML5.cjs → chunk-OGKV5NOP.cjs} +69 -69
  16. package/dist/{chunk-OXCGQV6B.cjs → chunk-RTQN35EP.cjs} +153 -146
  17. package/dist/{chunk-EM4OEWCM.cjs → chunk-SDF5UUTE.cjs} +749 -608
  18. package/dist/{chunk-7OEVVMAU.cjs → chunk-T4BBZ5ST.cjs} +2 -2
  19. package/dist/{chunk-XADJG35G.cjs → chunk-TBDVF4SN.cjs} +31 -31
  20. package/dist/{chunk-G44V3UGE.cjs → chunk-TPJTFN7O.cjs} +81 -81
  21. package/dist/{chunk-J5G4CF2V.cjs → chunk-U4I3QR2A.cjs} +16 -16
  22. package/dist/{chunk-U2AE4UG7.cjs → chunk-UNRNLSG4.cjs} +2 -2
  23. package/dist/{chunk-ZVOXBSDP.cjs → chunk-WBOHLXFC.cjs} +2 -2
  24. package/dist/{chunk-VD3XBUQR.cjs → chunk-YSFOYBYC.cjs} +158 -158
  25. package/dist/{chunk-7WEGXNNS.cjs → chunk-ZNV5FE4T.cjs} +30 -30
  26. package/dist/{cloud-tenants-WAOMZZQ2.cjs → cloud-tenants-5OTPO7FL.cjs} +7 -7
  27. package/dist/components/announcement-bar.d.ts +1 -1
  28. package/dist/components/announcement-bar.d.ts.map +1 -1
  29. package/dist/components/announcement-bar.js +3 -1
  30. package/dist/components/case-studies/index.cjs +20 -20
  31. package/dist/components/chat/chat-dialog-menu-items.js +6 -6
  32. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  33. package/dist/components/chat/chat-message-enhanced.js +3 -0
  34. package/dist/components/chat/chat-panel-context.d.ts +3 -0
  35. package/dist/components/chat/chat-panel-context.d.ts.map +1 -1
  36. package/dist/components/chat/embeddable-chat.d.ts +20 -0
  37. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  38. package/dist/components/chat/embeddable-chat.js +78 -8
  39. package/dist/components/chat/hooks/index.d.ts +1 -0
  40. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  41. package/dist/components/chat/hooks/index.js +1 -0
  42. package/dist/components/chat/hooks/use-what-to-ask.d.ts +69 -0
  43. package/dist/components/chat/hooks/use-what-to-ask.d.ts.map +1 -0
  44. package/dist/components/chat/hooks/use-what-to-ask.js +106 -0
  45. package/dist/components/chat/index.cjs +13 -5
  46. package/dist/components/chat/index.d.ts +1 -0
  47. package/dist/components/chat/index.d.ts.map +1 -1
  48. package/dist/components/chat/index.js +1 -0
  49. package/dist/components/chat/mingo-chat-header.d.ts +4 -2
  50. package/dist/components/chat/mingo-chat-header.d.ts.map +1 -1
  51. package/dist/components/chat/mingo-chat-header.js +7 -2
  52. package/dist/components/chat/suggestions-display.d.ts +11 -0
  53. package/dist/components/chat/suggestions-display.d.ts.map +1 -0
  54. package/dist/components/chat/suggestions-display.js +27 -0
  55. package/dist/components/chat/types/message.types.d.ts +27 -1
  56. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  57. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  58. package/dist/components/chat/utils/extract-incomplete-message-state.js +2 -0
  59. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  60. package/dist/components/chat/utils/message-segment-accumulator.js +3 -0
  61. package/dist/components/contact/index.cjs +8 -8
  62. package/dist/components/docs/index.cjs +11 -11
  63. package/dist/components/embeds/index.cjs +8 -8
  64. package/dist/components/faq/index.cjs +9 -9
  65. package/dist/components/features/index.cjs +7 -7
  66. package/dist/components/help-center-pages/index.cjs +84 -84
  67. package/dist/components/index.cjs +66 -56
  68. package/dist/components/meeting-scheduler/index.cjs +31 -31
  69. package/dist/components/navigation/index.cjs +10 -10
  70. package/dist/components/onboarding-guides/index.cjs +10 -10
  71. package/dist/components/product-demo/index.cjs +7 -7
  72. package/dist/components/related-content/index.cjs +5 -5
  73. package/dist/components/tickets/index.cjs +13 -13
  74. package/dist/components/ui/index.cjs +15 -7
  75. package/dist/{devices-VFEPXW2N.cjs → devices-MBGMD7BO.cjs} +8 -8
  76. package/dist/{embeddable-chat-BYQBABDV.cjs → embeddable-chat-CMEHSDV7.cjs} +163 -91
  77. package/dist/index.cjs +23 -11
  78. package/dist/{knowledge-4TE7AWZX.cjs → knowledge-LO5RK6PM.cjs} +8 -8
  79. package/dist/{logs-3B2P3JXN.cjs → logs-QRGJSZ4G.cjs} +15 -15
  80. package/dist/{policies-DVI6V22X.cjs → policies-OIQDO6F5.cjs} +11 -11
  81. package/dist/{scripts-JJ2BVYQ5.cjs → scripts-XULUNPDV.cjs} +12 -12
  82. package/dist/{software-update-BN23RATE.cjs → software-update-SRF55434.cjs} +10 -10
  83. package/dist/types/announcement.cjs +2 -0
  84. package/dist/types/announcement.d.ts +21 -0
  85. package/dist/types/announcement.d.ts.map +1 -1
  86. package/dist/types/announcement.js +2 -0
  87. package/dist/types/index.cjs +2 -0
  88. package/dist/utils/announcement-surface.d.ts +8 -0
  89. package/dist/utils/announcement-surface.d.ts.map +1 -0
  90. package/dist/utils/announcement-surface.js +7 -0
  91. package/dist/utils/index.cjs +7 -0
  92. package/dist/utils/index.d.ts +1 -0
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +1 -0
  95. package/package.json +1 -1
  96. package/src/components/announcement-bar.tsx +9 -1
  97. package/src/components/chat/chat-dialog-menu-items.tsx +6 -6
  98. package/src/components/chat/chat-message-enhanced.tsx +3 -0
  99. package/src/components/chat/chat-panel-context.tsx +3 -0
  100. package/src/components/chat/embeddable-chat.tsx +132 -9
  101. package/src/components/chat/hooks/index.ts +1 -0
  102. package/src/components/chat/hooks/use-what-to-ask.ts +203 -0
  103. package/src/components/chat/index.ts +1 -0
  104. package/src/components/chat/mingo-chat-header.tsx +11 -4
  105. package/src/components/chat/suggestions-display.tsx +41 -0
  106. package/src/components/chat/types/message.types.ts +31 -1
  107. package/src/components/chat/utils/extract-incomplete-message-state.ts +2 -0
  108. package/src/components/chat/utils/message-segment-accumulator.ts +4 -0
  109. package/src/types/announcement.ts +22 -0
  110. package/src/utils/announcement-surface.ts +14 -0
  111. package/src/utils/index.ts +2 -0
@@ -2,29 +2,29 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkU2AE4UG7cjs = require('./chunk-U2AE4UG7.cjs');
5
+ var _chunkUNRNLSG4cjs = require('./chunk-UNRNLSG4.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkY6PVZRYLcjs = require('./chunk-Y6PVZRYL.cjs');
9
+ var _chunkIVAAQSOUcjs = require('./chunk-IVAAQSOU.cjs');
10
10
 
11
11
 
12
12
 
13
13
 
14
14
 
15
15
 
16
- var _chunkVD3XBUQRcjs = require('./chunk-VD3XBUQR.cjs');
16
+ var _chunkYSFOYBYCcjs = require('./chunk-YSFOYBYC.cjs');
17
17
 
18
18
 
19
19
  var _chunk3GG3QAPTcjs = require('./chunk-3GG3QAPT.cjs');
20
20
 
21
21
 
22
- var _chunkOXCGQV6Bcjs = require('./chunk-OXCGQV6B.cjs');
22
+ var _chunkRTQN35EPcjs = require('./chunk-RTQN35EP.cjs');
23
23
 
24
24
 
25
25
 
26
26
 
27
- var _chunkEM4OEWCMcjs = require('./chunk-EM4OEWCM.cjs');
27
+ var _chunkSDF5UUTEcjs = require('./chunk-SDF5UUTE.cjs');
28
28
 
29
29
 
30
30
  var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
@@ -34,13 +34,13 @@ var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
34
34
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
35
35
 
36
36
 
37
- var _chunk4PEG4JTMcjs = require('./chunk-4PEG4JTM.cjs');
37
+ var _chunkB27XV2TCcjs = require('./chunk-B27XV2TC.cjs');
38
38
 
39
39
 
40
40
 
41
41
 
42
42
 
43
- var _chunk35RU25PJcjs = require('./chunk-35RU25PJ.cjs');
43
+ var _chunk7Z4EQOIXcjs = require('./chunk-7Z4EQOIX.cjs');
44
44
 
45
45
 
46
46
  var _chunkI5MSCD57cjs = require('./chunk-I5MSCD57.cjs');
@@ -76,7 +76,7 @@ function OnboardingGuidesCatalogSkeleton({
76
76
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-6 w-40 rounded" }),
77
77
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-5 w-8 rounded-full" })
78
78
  ] }),
79
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
79
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
80
80
  ] }, sectionIdx)) })
81
81
  ] });
82
82
  }
@@ -100,10 +100,10 @@ function OnboardingGuidesCatalogView({
100
100
  const sectionValue = selfFetch ? _nullishCoalesce(searchParams.get("section"), () => ( "")) : initialSection;
101
101
  const activeSection = sectionValue || "all";
102
102
  const guidesQs = sectionValue ? `?section=${encodeURIComponent(sectionValue)}` : "";
103
- const guidesRes = _chunk4PEG4JTMcjs.useSelfFetch.call(void 0,
103
+ const guidesRes = _chunkB27XV2TCcjs.useSelfFetch.call(void 0,
104
104
  selfFetch && guidesEndpoint ? `${guidesEndpoint}${guidesQs}` : null
105
105
  );
106
- const sectionsRes = _chunk4PEG4JTMcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
106
+ const sectionsRes = _chunkB27XV2TCcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
107
107
  const guides = _react.useMemo.call(void 0, () => _nullishCoalesce(_nullishCoalesce(initialGuides, () => ( _optionalChain([guidesRes, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.data]))), () => ( [])), [initialGuides, _optionalChain([guidesRes, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.data])]);
108
108
  const sections = _react.useMemo.call(void 0,
109
109
  () => _nullishCoalesce(initialSections, () => ( (Array.isArray(sectionsRes.data) ? sectionsRes.data : []))),
@@ -146,25 +146,25 @@ function OnboardingGuidesCatalogView({
146
146
  });
147
147
  };
148
148
  const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
149
- const docSearch = _chunkY6PVZRYLcjs.useDocSearch.call(void 0, {
149
+ const docSearch = _chunkIVAAQSOUcjs.useDocSearch.call(void 0, {
150
150
  source,
151
151
  baseRoute: basePath,
152
152
  onNavigate: (path) => router.push(path),
153
153
  tableIds: ["onboarding-guides"]
154
154
  });
155
155
  const defaultRenderCard = (guide) => {
156
- const cta = _chunkOXCGQV6Bcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
156
+ const cta = _chunkRTQN35EPcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
157
157
  type: "onboarding_guide",
158
158
  slug: guide.slug,
159
159
  basePath,
160
160
  platforms: guide.onboarding_guide_platforms
161
161
  });
162
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
162
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
163
163
  };
164
164
  const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
165
165
  const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
166
166
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
167
- _chunkY6PVZRYLcjs.DocSearchBar,
167
+ _chunkIVAAQSOUcjs.DocSearchBar,
168
168
  {
169
169
  placeholder: "Search onboarding guides, releases, case studies\u2026",
170
170
  query: docSearch.query,
@@ -176,7 +176,7 @@ function OnboardingGuidesCatalogView({
176
176
  }
177
177
  ),
178
178
  sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
179
- _chunkVD3XBUQRcjs.FilterPillRow,
179
+ _chunkYSFOYBYCcjs.FilterPillRow,
180
180
  {
181
181
  label: "Section",
182
182
  selectedValue: activeSection,
@@ -186,7 +186,7 @@ function OnboardingGuidesCatalogView({
186
186
  )
187
187
  ] });
188
188
  if (selfFetch && guidesRes.error) {
189
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
189
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
190
190
  }
191
191
  if (selfFetch && guidesRes.data == null && isLoading) {
192
192
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
@@ -218,7 +218,7 @@ function OnboardingGuideDetailView({
218
218
  slug,
219
219
  guideEndpoint,
220
220
  related = [],
221
- MarkdownRenderer = _chunkVD3XBUQRcjs.RichMarkdownRenderer,
221
+ MarkdownRenderer = _chunkYSFOYBYCcjs.RichMarkdownRenderer,
222
222
  renderRelatedCard,
223
223
  backHref,
224
224
  backLabel = "Back to Getting Started",
@@ -228,23 +228,23 @@ function OnboardingGuideDetailView({
228
228
  }) {
229
229
  const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
230
230
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
231
- const captions = _chunkEM4OEWCMcjs.useCaptions.call(void 0, );
231
+ const captions = _chunkSDF5UUTEcjs.useCaptions.call(void 0, );
232
232
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
233
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
233
+ const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
234
234
  const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
235
- const { data: guide, isLoading, error, reload } = _chunk4PEG4JTMcjs.useSelfFetch.call(void 0, url, { initialData });
235
+ const { data: guide, isLoading, error, reload } = _chunkB27XV2TCcjs.useSelfFetch.call(void 0, url, { initialData });
236
236
  const { ref: videoWarmupRef } = _chunk3RFQPQ7Zcjs.useVideoWarmup.call(void 0, {
237
237
  videoUrl: _optionalChain([guide, 'optionalAccess', _8 => _8.main_video_url]),
238
238
  supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
239
239
  });
240
240
  if (error || !guide && !isLoading) {
241
- return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
241
+ return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
242
242
  }
243
243
  if (!guide) {
244
244
  return renderShell(
245
245
  // Match the loaded page's top offset (TitleBlock's
246
246
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
247
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU2AE4UG7cjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
247
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUNRNLSG4cjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
248
248
  );
249
249
  }
250
250
  const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", guide);
@@ -252,13 +252,13 @@ function OnboardingGuideDetailView({
252
252
  // worst), so it's the terminal fallback — no trailing `|| undefined` needed.
253
253
  _chunkI5MSCD57cjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
254
254
  const defaultRenderRelatedCard = (g) => {
255
- const cta = _chunkOXCGQV6Bcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
255
+ const cta = _chunkRTQN35EPcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
256
256
  type: "onboarding_guide",
257
257
  slug: g.slug,
258
258
  basePath,
259
259
  platforms: g.onboarding_guide_platforms
260
260
  });
261
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
261
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
262
262
  };
263
263
  const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
264
264
  return renderShell(
@@ -270,9 +270,9 @@ function OnboardingGuideDetailView({
270
270
  titleWrap: true,
271
271
  backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
272
272
  children: [
273
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
273
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
274
274
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
275
- _chunk35RU25PJcjs.EntityAuthorCard,
275
+ _chunk7Z4EQOIXcjs.EntityAuthorCard,
276
276
  {
277
277
  author: guide.author,
278
278
  authorHref,
@@ -287,7 +287,7 @@ function OnboardingGuideDetailView({
287
287
  }
288
288
  ),
289
289
  (guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
290
- _chunkEM4OEWCMcjs.EntityVideoSection,
290
+ _chunkSDF5UUTEcjs.EntityVideoSection,
291
291
  {
292
292
  mainVideoUrl: guide.main_video_url,
293
293
  youtubeUrl: guide.youtube_url || void 0,
@@ -304,17 +304,17 @@ function OnboardingGuideDetailView({
304
304
  ) }),
305
305
  guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
306
306
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
307
- _chunkEM4OEWCMcjs.VideoBitesStrip,
307
+ _chunkSDF5UUTEcjs.VideoBitesStrip,
308
308
  {
309
309
  bites: _nullishCoalesce(guide.video_bites, () => ( [])),
310
310
  filterPublished: true,
311
311
  showTitle: false,
312
- profile: _chunk35RU25PJcjs.toStripProfile.call(void 0, guide.author),
312
+ profile: _chunk7Z4EQOIXcjs.toStripProfile.call(void 0, guide.author),
313
313
  href: `/onboarding-guides/${guide.slug}`
314
314
  }
315
315
  ),
316
316
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
317
- _chunkU2AE4UG7cjs.ArticleAuthorByline,
317
+ _chunkUNRNLSG4cjs.ArticleAuthorByline,
318
318
  {
319
319
  author: _nullishCoalesce(_optionalChain([guide, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
320
320
  avatar: _optionalChain([guide, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
@@ -9,7 +9,7 @@ var _chunkSTEJZPIOcjs = require('./chunk-STEJZPIO.cjs');
9
9
  var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
10
10
 
11
11
 
12
- var _chunkVD3XBUQRcjs = require('./chunk-VD3XBUQR.cjs');
12
+ var _chunkYSFOYBYCcjs = require('./chunk-YSFOYBYC.cjs');
13
13
  require('./chunk-AG4HR6Z6.cjs');
14
14
  require('./chunk-NTGIQP7O.cjs');
15
15
  require('./chunk-3GG3QAPT.cjs');
@@ -20,10 +20,10 @@ require('./chunk-LU7TD6QS.cjs');
20
20
  require('./chunk-24I6RFVU.cjs');
21
21
  require('./chunk-A6P6DHEZ.cjs');
22
22
  require('./chunk-MZ4KBSH7.cjs');
23
- require('./chunk-7OEVVMAU.cjs');
23
+ require('./chunk-T4BBZ5ST.cjs');
24
24
  require('./chunk-YUMFVQIN.cjs');
25
- require('./chunk-OXCGQV6B.cjs');
26
- require('./chunk-EM4OEWCM.cjs');
25
+ require('./chunk-RTQN35EP.cjs');
26
+ require('./chunk-SDF5UUTE.cjs');
27
27
  require('./chunk-LVO7FALW.cjs');
28
28
  require('./chunk-3RFQPQ7Z.cjs');
29
29
  require('./chunk-YRULLK7N.cjs');
@@ -1824,8 +1824,8 @@ require('./chunk-7DNL734S.cjs');
1824
1824
  require('./chunk-WWUSFOJ7.cjs');
1825
1825
  require('./chunk-SKI6NKOE.cjs');
1826
1826
  require('./chunk-EWPR7662.cjs');
1827
- require('./chunk-4PEG4JTM.cjs');
1828
- require('./chunk-35RU25PJ.cjs');
1827
+ require('./chunk-B27XV2TC.cjs');
1828
+ require('./chunk-7Z4EQOIX.cjs');
1829
1829
  require('./chunk-QYLIHZKZ.cjs');
1830
1830
  require('./chunk-63N4FN5V.cjs');
1831
1831
  require('./chunk-L2IQESTQ.cjs');
@@ -1920,7 +1920,7 @@ var getHref = () => "#";
1920
1920
  function CloudTenantsScreen(_props) {
1921
1921
  const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
1922
1922
  const fixture = _react.useMemo.call(void 0, () => buildCloudTenantsFixture(cast), [cast]);
1923
- const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1923
+ const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1924
1924
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-l)]", children: table });
1925
1925
  }
1926
1926
 
@@ -1,3 +1,3 @@
1
1
  import type { AnnouncementBarProps } from '../types/announcement';
2
- export declare function AnnouncementBar({ initialAnnouncement, previewMode, dismissible, className, }?: AnnouncementBarProps): import("react").JSX.Element | null;
2
+ export declare function AnnouncementBar({ initialAnnouncement, previewMode, dismissible, surface, className, }?: AnnouncementBarProps): import("react").JSX.Element | null;
3
3
  //# sourceMappingURL=announcement-bar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"announcement-bar.d.ts","sourceRoot":"","sources":["../../src/components/announcement-bar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AA8DtG,wBAAgB,eAAe,CAAC,EAC9B,mBAAmB,EACnB,WAAmB,EACnB,WAAkB,EAClB,SAAS,GACV,GAAE,oBAAyB,sCA+R3B"}
1
+ {"version":3,"file":"announcement-bar.d.ts","sourceRoot":"","sources":["../../src/components/announcement-bar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AAkEtG,wBAAgB,eAAe,CAAC,EAC9B,mBAAmB,EACnB,WAAmB,EACnB,WAAkB,EAClB,OAAe,EACf,SAAS,GACV,GAAE,oBAAyB,sCAkS3B"}
@@ -11,6 +11,7 @@ import {
11
11
  dismissAnnouncement,
12
12
  isAnnouncementDismissed
13
13
  } from "../utils/announcement-storage.js";
14
+ import { isAnnouncementOnSurface } from "../utils/announcement-surface.js";
14
15
  import { getAppType } from "../utils/app-config.js";
15
16
  import { pickReadableTextColor } from "../utils/color-analysis.js";
16
17
  import { pathMatchesAny } from "../utils/path-pattern.js";
@@ -23,6 +24,7 @@ function AnnouncementBar({
23
24
  initialAnnouncement,
24
25
  previewMode = false,
25
26
  dismissible = true,
27
+ surface = "web",
26
28
  className
27
29
  } = {}) {
28
30
  const platform = getAppType();
@@ -50,7 +52,7 @@ function AnnouncementBar({
50
52
  () => !previewMode && announcement ? isAnnouncementDismissed(platform, announcement.id) : false,
51
53
  () => false
52
54
  );
53
- const excludedHere = pathMatchesAny(pathname, announcement?.excluded_paths);
55
+ const excludedHere = pathMatchesAny(pathname, announcement?.excluded_paths) || announcement != null && !isAnnouncementOnSurface(announcement, surface);
54
56
  const expanded = previewMode ? announcement != null : announcement != null && expandedState && !dismissed && !excludedHere;
55
57
  useEffect(() => {
56
58
  if (previewMode) return;
@@ -4,13 +4,13 @@
4
4
  var _chunkDTKGIG4Acjs = require('../../chunk-DTKGIG4A.cjs');
5
5
 
6
6
 
7
- var _chunk4OTCQEP3cjs = require('../../chunk-4OTCQEP3.cjs');
7
+ var _chunkBLZIUELRcjs = require('../../chunk-BLZIUELR.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunkVD3XBUQRcjs = require('../../chunk-VD3XBUQR.cjs');
13
+ var _chunkYSFOYBYCcjs = require('../../chunk-YSFOYBYC.cjs');
14
14
  require('../../chunk-AG4HR6Z6.cjs');
15
15
  require('../../chunk-NTGIQP7O.cjs');
16
16
  require('../../chunk-3GG3QAPT.cjs');
@@ -21,13 +21,13 @@ require('../../chunk-LU7TD6QS.cjs');
21
21
  require('../../chunk-24I6RFVU.cjs');
22
22
  require('../../chunk-A6P6DHEZ.cjs');
23
23
  require('../../chunk-MZ4KBSH7.cjs');
24
- require('../../chunk-7OEVVMAU.cjs');
24
+ require('../../chunk-T4BBZ5ST.cjs');
25
25
  require('../../chunk-YUMFVQIN.cjs');
26
- require('../../chunk-OXCGQV6B.cjs');
26
+ require('../../chunk-RTQN35EP.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkEM4OEWCMcjs = require('../../chunk-EM4OEWCM.cjs');
30
+ var _chunkSDF5UUTEcjs = require('../../chunk-SDF5UUTE.cjs');
31
31
  require('../../chunk-LVO7FALW.cjs');
32
32
  require('../../chunk-3RFQPQ7Z.cjs');
33
33
  require('../../chunk-YRULLK7N.cjs');
@@ -1838,12 +1838,12 @@ require('../../chunk-7DNL734S.cjs');
1838
1838
  require('../../chunk-WWUSFOJ7.cjs');
1839
1839
  require('../../chunk-SKI6NKOE.cjs');
1840
1840
  require('../../chunk-EWPR7662.cjs');
1841
- require('../../chunk-4PEG4JTM.cjs');
1841
+ require('../../chunk-B27XV2TC.cjs');
1842
1842
 
1843
1843
 
1844
1844
 
1845
1845
 
1846
- var _chunk35RU25PJcjs = require('../../chunk-35RU25PJ.cjs');
1846
+ var _chunk7Z4EQOIXcjs = require('../../chunk-7Z4EQOIX.cjs');
1847
1847
  require('../../chunk-QYLIHZKZ.cjs');
1848
1848
  require('../../chunk-63N4FN5V.cjs');
1849
1849
  require('../../chunk-L2IQESTQ.cjs');
@@ -1882,7 +1882,7 @@ require('../../chunk-3ATAYP36.cjs');
1882
1882
 
1883
1883
  // src/components/case-studies/share-experience-section.tsx
1884
1884
  var _jsxruntime = require('react/jsx-runtime');
1885
- var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.HeadingLines, { children: [
1885
+ var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.HeadingLines, { children: [
1886
1886
  "Share Your Experience",
1887
1887
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1888
1888
  "with Fellow MSPs",
@@ -1919,7 +1919,7 @@ function ShareExperienceSection({
1919
1919
  } = {}) {
1920
1920
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: `flex flex-col gap-10${className ? ` ${className}` : ""}`, children: [
1921
1921
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-primary", children: [
1922
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunk35RU25PJcjs.accentSentenceMarks.call(void 0, title) }),
1922
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunk7Z4EQOIXcjs.accentSentenceMarks.call(void 0, title) }),
1923
1923
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-6 max-w-[765px] text-h4", children: subtitle })
1924
1924
  ] }),
1925
1925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-md border border-ods-border bg-ods-bg p-10", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-10", children: [
@@ -1927,9 +1927,9 @@ function ShareExperienceSection({
1927
1927
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h2", children: howItWorksTitle }),
1928
1928
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: howItWorksBody })
1929
1929
  ] }),
1930
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVD3XBUQRcjs.BenefitCardGrid, { columns: 4, children: [
1930
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYSFOYBYCcjs.BenefitCardGrid, { columns: 4, children: [
1931
1931
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1932
- _chunkVD3XBUQRcjs.BenefitCard,
1932
+ _chunkYSFOYBYCcjs.BenefitCard,
1933
1933
  {
1934
1934
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJQLBIZMcjs.G2Icon, { color: "var(--social-g2)", size: 24 }) }),
1935
1935
  title: "G2",
@@ -1938,7 +1938,7 @@ function ShareExperienceSection({
1938
1938
  }
1939
1939
  ),
1940
1940
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1941
- _chunkVD3XBUQRcjs.BenefitCard,
1941
+ _chunkYSFOYBYCcjs.BenefitCard,
1942
1942
  {
1943
1943
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2VKPXOBcjs.CapterraIcon, { size: 24 }) }),
1944
1944
  title: "Capterra",
@@ -1947,7 +1947,7 @@ function ShareExperienceSection({
1947
1947
  }
1948
1948
  ),
1949
1949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1950
- _chunkVD3XBUQRcjs.BenefitCard,
1950
+ _chunkYSFOYBYCcjs.BenefitCard,
1951
1951
  {
1952
1952
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTLKSZG3Dcjs.TrustpilotIcon, { size: 24 }) }),
1953
1953
  title: "TrustPilot",
@@ -1956,7 +1956,7 @@ function ShareExperienceSection({
1956
1956
  }
1957
1957
  ),
1958
1958
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1959
- _chunkVD3XBUQRcjs.BenefitCard,
1959
+ _chunkYSFOYBYCcjs.BenefitCard,
1960
1960
  {
1961
1961
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILYW6BQNcjs.GetappIcon, { size: 24 }) }),
1962
1962
  title: "GetApp",
@@ -1965,7 +1965,7 @@ function ShareExperienceSection({
1965
1965
  }
1966
1966
  )
1967
1967
  ] }),
1968
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4OTCQEP3cjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBLZIUELRcjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1969
1969
  ] }) })
1970
1970
  ] });
1971
1971
  }
@@ -1975,7 +1975,7 @@ function ShareExperienceSection({
1975
1975
  function EntityQuotesPanel({ quotes, className }) {
1976
1976
  if (!quotes || quotes.length === 0) return null;
1977
1977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1978
- _chunkVD3XBUQRcjs.StackedRowsPanel,
1978
+ _chunkYSFOYBYCcjs.StackedRowsPanel,
1979
1979
  {
1980
1980
  className,
1981
1981
  title: `${_chunkDTKGIG4Acjs.ENTITY_QUOTES_TITLE} \xB7 ${quotes.length}`,
@@ -2004,7 +2004,7 @@ function EntityQuotesPanel({ quotes, className }) {
2004
2004
  function QuoteCardsStrip({ quotes, className }) {
2005
2005
  if (quotes.length === 0) return null;
2006
2006
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2007
- _chunkEM4OEWCMcjs.CardsStrip,
2007
+ _chunkSDF5UUTEcjs.CardsStrip,
2008
2008
  {
2009
2009
  className,
2010
2010
  showTitle: false,
@@ -2012,15 +2012,15 @@ function QuoteCardsStrip({ quotes, className }) {
2012
2012
  items: [...quotes],
2013
2013
  itemKey: (quote) => quote.key,
2014
2014
  renderCard: (quote, ctx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2015
- _chunk35RU25PJcjs.Card,
2015
+ _chunk7Z4EQOIXcjs.Card,
2016
2016
  {
2017
2017
  "aria-hidden": ctx.isClone || void 0,
2018
2018
  onPointerEnter: ctx.isTouch ? void 0 : () => ctx.onActivate(ctx.cardKey),
2019
2019
  onPointerLeave: ctx.isTouch ? void 0 : () => ctx.onDeactivate(ctx.cardKey),
2020
2020
  className: "relative shrink-0 rounded-md border-ods-border bg-ods-card p-[var(--spacing-system-sf)] shadow-none hover:border-ods-border-hover",
2021
2021
  children: [
2022
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEM4OEWCMcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
2022
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSFOYBYCcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDF5UUTEcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
2024
2024
  ]
2025
2025
  },
2026
2026
  ctx.cardKey
@@ -9,18 +9,18 @@ function chatDialogMenuItems({
9
9
  onArchive
10
10
  }) {
11
11
  const items = [
12
- onCopyLink && {
13
- id: "copy-link",
14
- label: "Copy Chat Link",
15
- icon: /* @__PURE__ */ jsx(Link01HorizontalIcon, { className: chatMenuIconClassName }),
16
- onClick: onCopyLink
17
- },
18
12
  onRename && {
19
13
  id: "rename",
20
14
  label: "Rename Chat",
21
15
  icon: /* @__PURE__ */ jsx(PenEditIcon, { className: chatMenuIconClassName }),
22
16
  onClick: onRename
23
17
  },
18
+ onCopyLink && {
19
+ id: "copy-link",
20
+ label: "Copy Chat Link",
21
+ icon: /* @__PURE__ */ jsx(Link01HorizontalIcon, { className: chatMenuIconClassName }),
22
+ onClick: onCopyLink
23
+ },
24
24
  onCompact && {
25
25
  id: "compact",
26
26
  label: "Compact Chat Memory",
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-enhanced.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message-enhanced.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA4B5F,OAAO,KAAK,EAA8C,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAusBpG,QAAA,MAAM,2BAA2B,4FAiC/B,CAAC;AAIH,OAAO,EAAE,2BAA2B,IAAI,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"chat-message-enhanced.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message-enhanced.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA6B5F,OAAO,KAAK,EAA8C,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAysBpG,QAAA,MAAM,2BAA2B,4FAiC/B,CAAC;AAIH,OAAO,EAAE,2BAA2B,IAAI,mBAAmB,EAAE,CAAC"}
@@ -21,6 +21,7 @@ import { EscalationOfferMessage } from "./escalation-offer-message.js";
21
21
  import { remarkCardLinks } from "./remark-card-links.js";
22
22
  import { remarkMentionChips } from "./remark-mention-chips.js";
23
23
  import { remarkStripCitations } from "./remark-strip-citations.js";
24
+ import { SuggestionsDisplay } from "./suggestions-display.js";
24
25
  import { SystemEventMessage } from "./system-event-message.js";
25
26
  import { ThinkingDisplay } from "./thinking-display.js";
26
27
  import { TicketEscalatedMessage } from "./ticket-escalated-message.js";
@@ -324,6 +325,8 @@ const ChatMessageEnhanced = forwardRef(
324
325
  const run = askRuns.get(index);
325
326
  if (!run) return null;
326
327
  return /* @__PURE__ */ jsx(AskDisplay, { cards: run, onSelect: onAskSelect }, index);
328
+ } else if (segment.type === "suggestions") {
329
+ return /* @__PURE__ */ jsx(SuggestionsDisplay, { segment }, index);
327
330
  } else if (segment.type === "tool_execution") {
328
331
  return /* @__PURE__ */ jsx(
329
332
  ToolExecutionDisplay,
@@ -2,6 +2,9 @@ export interface ChatPanelHandle {
2
2
  /** Close the chat panel. Called by inline cards' nav click handler
3
3
  * ONLY when the resolved navigation is same-tab. */
4
4
  closeChat: () => void;
5
+ /** Send `text` in the panel's open chat (a new chat: the send creates it),
6
+ * leaving the composer's draft alone. Used by `suggestions` chips. */
7
+ sendPrompt?: (text: string) => void;
5
8
  }
6
9
  export declare const ChatPanelContext: import("react").Context<ChatPanelHandle | null>;
7
10
  /** Optional consumer — returns `null` when no provider mounted. */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-panel-context.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-context.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,iDAA8C,CAAC;AAE5E,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAErD"}
1
+ {"version":3,"file":"chat-panel-context.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-context.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;2EACuE;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,iDAA8C,CAAC;AAE5E,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAErD"}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
+ import { type ActionsMenuItem } from '../ui/actions-menu';
2
3
  import { type ChatComposerLock } from './chat-composer';
3
4
  import type { ChatCardDispatchExtras } from './entity-cards/dispatch';
4
5
  import { type GuideWelcomeProps } from './guide-welcome';
5
6
  import { type ChatMode, type UseUnifiedChatModes } from './hooks/use-unified-chat';
7
+ import { type WhatToAskContent } from './hooks/use-what-to-ask';
6
8
  import { type MingoDialogStatus } from './mingo-chat-rail';
7
9
  import { type MingoWelcomeProps } from './mingo-welcome';
8
10
  import { type ChatAppearance } from './types/chat.types';
@@ -320,6 +322,24 @@ export interface EmbeddableChatProps {
320
322
  * guided tour in a conversation of its own) points it there instead.
321
323
  */
322
324
  onWhatToAsk?: () => void;
325
+ /**
326
+ * v2: the "What to ask?" exchange the list's entry shows (when no
327
+ * `onWhatToAsk` takes it over): added at the end of the open conversation,
328
+ * or a new chat opens with it. Local - never sent, never stored. Picking a
329
+ * chip sends its prompt in that chat, like a quick action.
330
+ *
331
+ * A function is called on each click and the exchange appears, whole, once
332
+ * its promise settles (prompts built from live data, e.g. the workspace's
333
+ * devices); clicks while one is pending are ignored. It should not reject:
334
+ * a rejection is logged and shows nothing.
335
+ */
336
+ whatToAsk?: WhatToAskContent | (() => Promise<WhatToAskContent>);
337
+ /**
338
+ * v2: items in the chat's ⋯ menu after its own, past a separator - actions
339
+ * that are not about the chat (e.g. the host's onboarding reset). Shown in
340
+ * every chat that is not archived, a new one included.
341
+ */
342
+ chatMenuExtraItems?: ActionsMenuItem[];
323
343
  }
324
344
  /**
325
345
  * EmbeddableChat — the floating "Ask AI" button + Mingo chat panel.
@@ -1 +1 @@
1
- {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"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"}