@flamingo-stack/openframe-frontend-core 0.0.718 → 0.0.720
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.
- package/dist/{chunk-MIQLUUVF.cjs → chunk-2C72EWQR.cjs} +93 -29
- package/dist/{chunk-IWCPXJEE.js → chunk-3HZ6XSZC.js} +2 -4
- package/dist/{chunk-ZXCZYMN4.cjs → chunk-4SIZCHVZ.cjs} +13 -15
- package/dist/{chunk-BOTM373R.cjs → chunk-5XDCCQ4A.cjs} +15 -15
- package/dist/{chunk-DXCBOZVT.cjs → chunk-6BLN5WDS.cjs} +41 -41
- package/dist/{chunk-DCD5WZUF.js → chunk-6W46LVK4.js} +5 -5
- package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
- package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
- package/dist/{chunk-45F7PXUI.js → chunk-7HYEQKN6.js} +6 -6
- package/dist/{chunk-N2PF5CFX.js → chunk-7IOU6BJE.js} +12 -11
- package/dist/{chunk-BWIN42ZA.cjs → chunk-7LPR4RZ3.cjs} +34 -36
- package/dist/chunk-AFTRPEXO.js +13 -0
- package/dist/{chunk-JPD4NXH6.js → chunk-AZRI4XBP.js} +1 -1
- package/dist/{chunk-4QFWGLZO.js → chunk-B2N4YX66.js} +1 -1
- package/dist/{chunk-QXZCLQNV.js → chunk-B5LNX4GZ.js} +2 -2
- package/dist/{chunk-GN4A7PMB.cjs → chunk-DHNJSQGX.cjs} +91 -91
- package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-DOPOHO6H.cjs} +20 -20
- package/dist/{chunk-Z3CVSPO3.cjs → chunk-DYDDAA6O.cjs} +519 -518
- package/dist/{chunk-2RKFMUNW.cjs → chunk-EVMM3JE6.cjs} +64 -63
- package/dist/chunk-EWPR7662.cjs +13 -0
- package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
- package/dist/{chunk-TTVOLEUS.js → chunk-GANIUMRU.js} +89 -2
- package/dist/{chunk-S2FUFMLW.cjs → chunk-HFEYEPOG.cjs} +27 -27
- package/dist/{chunk-LE5WKGJV.cjs → chunk-HTS46FFY.cjs} +3 -3
- package/dist/{chunk-6A43ZDWV.cjs → chunk-IL3ZWNM2.cjs} +4 -4
- package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
- package/dist/{chunk-YC5COB5V.cjs → chunk-ISCZ6UNF.cjs} +85 -89
- package/dist/{chunk-XGHGGBM3.js → chunk-K2BYVPGR.js} +3 -3
- package/dist/{chunk-HWVUR735.cjs → chunk-KSGMZHVV.cjs} +2 -2
- package/dist/{chunk-SGFTTJKO.js → chunk-LO3KCLEF.js} +1 -1
- package/dist/{chunk-MA4Q5RBP.cjs → chunk-NYSMDM4J.cjs} +2 -2
- package/dist/{chunk-67QBMN4R.js → chunk-O3MKJU6A.js} +6 -6
- package/dist/{chunk-APJZBDQN.js → chunk-PSMJYZMV.js} +27 -26
- package/dist/{chunk-JH2SIWPQ.js → chunk-PXAKSPLZ.js} +1586 -1263
- package/dist/{chunk-TBCZCRQ5.js → chunk-Q5327DXK.js} +13 -17
- package/dist/{chunk-EZC2F5OT.cjs → chunk-QF464PPL.cjs} +39 -39
- package/dist/{chunk-UWQWMGJ7.cjs → chunk-RDP5UZXQ.cjs} +888 -565
- package/dist/{chunk-ETYLOZOB.cjs → chunk-RFUOIQSG.cjs} +100 -13
- package/dist/{chunk-DC4RTYWK.cjs → chunk-RZQGIWK3.cjs} +3 -3
- package/dist/{chunk-PQ6HBLZ7.js → chunk-TORERAXD.js} +105 -41
- package/dist/{chunk-6YPTUHM7.js → chunk-URW23QUM.js} +1 -1
- package/dist/{chunk-QBCDSTLE.cjs → chunk-UWJMDFDO.cjs} +18 -18
- package/dist/{chunk-YEMCCYIF.js → chunk-V6B2FBZK.js} +5 -5
- package/dist/{chunk-JIWMBIVZ.js → chunk-VBHGJFA3.js} +10 -10
- package/dist/{chunk-Z5UWW3Z2.cjs → chunk-VF2CJXZ2.cjs} +81 -65
- package/dist/{chunk-DEZDMTBM.js → chunk-VYVPII4W.js} +8 -10
- package/dist/{chunk-MM7MCIXL.js → chunk-VYZCKY5K.js} +9 -9
- package/dist/{chunk-E7YCPY7K.cjs → chunk-XSM46FHD.cjs} +3 -3
- package/dist/{chunk-NZ5BHDFZ.js → chunk-XW3Q623Q.js} +1 -1
- package/dist/{chunk-LOYPRJWA.js → chunk-YK3X74SF.js} +67 -51
- package/dist/{chunk-WALCXC7J.cjs → chunk-ZHD3F2TH.cjs} +3 -3
- package/dist/{chunk-KBJJQFYU.js → chunk-ZPHOQDAE.js} +1 -1
- package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-RKQRSDNE.js} +9 -9
- package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-UQZASXUB.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +23 -23
- package/dist/components/case-studies/index.js +10 -10
- package/dist/components/chat/ask-prompts.d.ts +10 -2
- package/dist/components/chat/ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
- package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +1 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +23 -6
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +22 -5
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +11 -11
- package/dist/components/contact/index.js +10 -10
- package/dist/components/docs/index.cjs +14 -14
- package/dist/components/docs/index.js +13 -13
- package/dist/components/embeds/index.cjs +11 -11
- package/dist/components/embeds/index.js +10 -10
- package/dist/components/faq/faq-ask-card.d.ts +44 -0
- package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
- package/dist/components/faq/faq-document-page.d.ts +5 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-section.d.ts +18 -5
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +13 -12
- package/dist/components/faq/index.d.ts +1 -0
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +12 -11
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/index.cjs +10 -10
- package/dist/components/features/index.js +9 -9
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +104 -105
- package/dist/components/help-center-pages/index.js +28 -29
- package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/index.cjs +109 -197
- package/dist/components/index.js +228 -316
- package/dist/components/meeting-scheduler/index.cjs +50 -51
- package/dist/components/meeting-scheduler/index.js +12 -13
- package/dist/components/navigation/index.cjs +13 -13
- package/dist/components/navigation/index.js +12 -12
- package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +13 -14
- package/dist/components/onboarding-guides/index.js +12 -13
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +5 -7
- package/dist/components/related-content/index.js +4 -6
- package/dist/components/related-content/related-content-section.d.ts +6 -6
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +15 -15
- package/dist/components/tickets/index.js +14 -14
- package/dist/components/ui/index.cjs +26 -10
- package/dist/components/ui/index.js +25 -9
- package/dist/contexts/assistant-runtime-context.d.ts +74 -0
- package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
- package/dist/contexts/index.cjs +7 -1
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +6 -0
- package/dist/{devices-KRCGZMGA.cjs → devices-7Q2EUM7B.cjs} +11 -11
- package/dist/{devices-LHEX7O5T.js → devices-U3Y4IIW4.js} +9 -9
- package/dist/hooks/index.cjs +3 -4
- package/dist/hooks/index.js +2 -3
- package/dist/hooks/use-self-fetch.d.ts +3 -0
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/index.cjs +34 -14
- package/dist/index.js +33 -13
- package/dist/{knowledge-RZSFNR33.js → knowledge-NST53EXE.js} +9 -9
- package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-UYIZ74MA.cjs} +11 -11
- package/dist/{logs-OX3XTVL2.cjs → logs-HTH7X7KV.cjs} +18 -18
- package/dist/{logs-E5DOV5JO.js → logs-JVTRG232.js} +9 -9
- package/dist/{policies-MC2S4S5G.js → policies-DTXTRK56.js} +9 -9
- package/dist/{policies-FOSCIZGK.cjs → policies-MXK2HB4W.cjs} +14 -14
- package/dist/{remote-session-JQ2BPIE3.js → remote-session-LAJZKQBN.js} +3 -3
- package/dist/{remote-session-DRFE5XZE.cjs → remote-session-SKKF4PBV.cjs} +5 -5
- package/dist/{software-update-D4OEIH65.js → software-update-6RHMPM3W.js} +9 -9
- package/dist/{software-update-HOBSTWVO.cjs → software-update-P6BSM6HX.cjs} +14 -14
- package/dist/utils/index.cjs +26 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +25 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/dist/utils/trial.d.ts +18 -0
- package/dist/utils/trial.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/chat/ask-prompts.tsx +25 -3
- package/src/components/chat/assistant-ask-prompts.tsx +78 -0
- package/src/components/chat/entity-cards/dispatch.tsx +38 -4
- package/src/components/chat/hooks/index.ts +12 -0
- package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/faq/faq-ask-card.tsx +115 -0
- package/src/components/faq/faq-document-page.tsx +6 -1
- package/src/components/faq/faq-section.tsx +27 -5
- package/src/components/faq/index.ts +1 -0
- package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
- package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
- package/src/components/help-center-pages/trust-center-page.tsx +5 -2
- package/src/components/navigation/mingo-ai-button.tsx +27 -6
- package/src/components/related-content/related-content-section.tsx +46 -47
- package/src/contexts/assistant-runtime-context.tsx +84 -0
- package/src/contexts/index.ts +9 -0
- package/src/hooks/use-self-fetch.ts +7 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/list-url.ts +4 -0
- package/src/utils/source-icons.ts +10 -2
- package/src/utils/trial.ts +19 -0
- package/dist/chunk-AUMKE74M.cjs +0 -16
- package/dist/chunk-G3GRYDMS.js +0 -16
- package/dist/chunk-GEDY7HQI.cjs +0 -85
- package/dist/chunk-YBQQNDC7.js +0 -85
|
@@ -21,6 +21,7 @@ var _chunkKT3U3ZRPcjs = require('./chunk-KT3U3ZRP.cjs');
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
24
|
+
var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
|
|
@@ -30,7 +31,10 @@ var _chunkKT3U3ZRPcjs = require('./chunk-KT3U3ZRP.cjs');
|
|
|
30
31
|
|
|
31
32
|
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
var _chunkRZQGIWK3cjs = require('./chunk-RZQGIWK3.cjs');
|
|
34
38
|
|
|
35
39
|
|
|
36
40
|
|
|
@@ -133,7 +137,9 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
133
137
|
|
|
134
138
|
|
|
135
139
|
|
|
136
|
-
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
var _chunkRFUOIQSGcjs = require('./chunk-RFUOIQSG.cjs');
|
|
137
143
|
|
|
138
144
|
|
|
139
145
|
var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
|
|
@@ -141,7 +147,7 @@ var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
|
|
|
141
147
|
|
|
142
148
|
|
|
143
149
|
|
|
144
|
-
var
|
|
150
|
+
var _chunkIMTY3GRRcjs = require('./chunk-IMTY3GRR.cjs');
|
|
145
151
|
|
|
146
152
|
|
|
147
153
|
|
|
@@ -158,7 +164,7 @@ var _chunkF5BPGWGTcjs = require('./chunk-F5BPGWGT.cjs');
|
|
|
158
164
|
var _chunkMGHIV4L6cjs = require('./chunk-MGHIV4L6.cjs');
|
|
159
165
|
|
|
160
166
|
|
|
161
|
-
var
|
|
167
|
+
var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
|
|
162
168
|
|
|
163
169
|
|
|
164
170
|
|
|
@@ -307,7 +313,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
|
307
313
|
|
|
308
314
|
// src/components/chat/chat-appearance-context.tsx
|
|
309
315
|
|
|
310
|
-
var ChatAppearanceContext = _react.createContext.call(void 0,
|
|
316
|
+
var ChatAppearanceContext = _react.createContext.call(void 0, _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC);
|
|
311
317
|
function useChatAppearance() {
|
|
312
318
|
return _react.useContext.call(void 0, ChatAppearanceContext);
|
|
313
319
|
}
|
|
@@ -345,7 +351,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
345
351
|
...props
|
|
346
352
|
}, ref) => {
|
|
347
353
|
const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
|
|
348
|
-
const isV2 = useChatAppearance() ===
|
|
354
|
+
const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
349
355
|
const handleApprove = async () => {
|
|
350
356
|
setIsProcessing(true);
|
|
351
357
|
try {
|
|
@@ -480,7 +486,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
|
|
|
480
486
|
|
|
481
487
|
var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
482
488
|
({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
|
|
483
|
-
const isV2 = useChatAppearance() ===
|
|
489
|
+
const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
484
490
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
485
491
|
"div",
|
|
486
492
|
{
|
|
@@ -496,7 +502,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
|
496
502
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
497
503
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
|
|
498
504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
|
|
499
|
-
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children:
|
|
505
|
+
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunkRZQGIWK3cjs.formatTime.call(void 0, timestamp) })
|
|
500
506
|
] }),
|
|
501
507
|
body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
|
|
502
508
|
] })
|
|
@@ -2159,7 +2165,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
|
|
|
2159
2165
|
if (masked.indexOf("[^") === -1) return masked;
|
|
2160
2166
|
const text2 = (line) => stripCr(masked.slice(line.contentStart, line.contentStart + line.content.length));
|
|
2161
2167
|
const refMask = footnoteReferenceMask(masked, folded);
|
|
2162
|
-
const
|
|
2168
|
+
const refText2 = (line) => stripCr(refMask.slice(line.contentStart, line.contentStart + line.content.length));
|
|
2163
2169
|
const referenced = /* @__PURE__ */ new Set();
|
|
2164
2170
|
const defAt = [];
|
|
2165
2171
|
for (const line of lines) {
|
|
@@ -2174,7 +2180,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
|
|
|
2174
2180
|
}
|
|
2175
2181
|
}
|
|
2176
2182
|
defAt.push(isDef);
|
|
2177
|
-
const rc =
|
|
2183
|
+
const rc = refText2(line);
|
|
2178
2184
|
for (let q = rc.indexOf("[^"); q !== -1; q = rc.indexOf("[^", q)) {
|
|
2179
2185
|
let back = q;
|
|
2180
2186
|
while (back > 0 && rc[back - 1] === "\\") back--;
|
|
@@ -3404,7 +3410,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
3404
3410
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
3405
3411
|
const { innerRef, containerStyle } = _chunkKT3U3ZRPcjs.useCollapsible.call(void 0, { expanded });
|
|
3406
3412
|
const hasDetails = Boolean(details);
|
|
3407
|
-
const isV2 = useChatAppearance() ===
|
|
3413
|
+
const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
3408
3414
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3409
3415
|
"div",
|
|
3410
3416
|
{
|
|
@@ -4446,8 +4452,8 @@ ToolExecutionDisplay.displayName = "ToolExecutionDisplay";
|
|
|
4446
4452
|
var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
|
|
4447
4453
|
var CARD_MARKER_REGEX = createCardMarkerScanner();
|
|
4448
4454
|
function formatMessageTimestamp(timestamp) {
|
|
4449
|
-
const time =
|
|
4450
|
-
return _chunkKT3U3ZRPcjs.isToday.call(void 0, timestamp) ? time : `${
|
|
4455
|
+
const time = _chunkRZQGIWK3cjs.formatTime.call(void 0, timestamp);
|
|
4456
|
+
return _chunkKT3U3ZRPcjs.isToday.call(void 0, timestamp) ? time : `${_chunkRZQGIWK3cjs.formatDate.call(void 0, timestamp)} ${time}`;
|
|
4451
4457
|
}
|
|
4452
4458
|
function normalizeContent(content) {
|
|
4453
4459
|
if (typeof content === "string") {
|
|
@@ -4501,7 +4507,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
4501
4507
|
const isError = role === "error";
|
|
4502
4508
|
const inheritedAppearance = useChatAppearance();
|
|
4503
4509
|
const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
|
|
4504
|
-
const isV2 = appearance ===
|
|
4510
|
+
const isV2 = appearance === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
4505
4511
|
const authorType = _nullishCoalesce(authorTypeProp, () => ( (isUser ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
|
|
4506
4512
|
const hasMarkerSupport = !!renderEntityCard;
|
|
4507
4513
|
const segments = _react.useMemo.call(void 0, () => normalizeContent(content), [content]);
|
|
@@ -5025,7 +5031,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5025
5031
|
contentClassName,
|
|
5026
5032
|
assistantType,
|
|
5027
5033
|
approvalVariant,
|
|
5028
|
-
appearance =
|
|
5034
|
+
appearance = _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC,
|
|
5029
5035
|
assistantIcon,
|
|
5030
5036
|
pendingApprovals,
|
|
5031
5037
|
hasNextPage,
|
|
@@ -5524,7 +5530,7 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
5524
5530
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
5525
5531
|
function useProxiedImageUrl(url) {
|
|
5526
5532
|
const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
5527
|
-
return _nullishCoalesce(
|
|
5533
|
+
return _nullishCoalesce(_chunkRFUOIQSGcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
|
|
5528
5534
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
5529
5535
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
5530
5536
|
directHttps: true
|
|
@@ -5601,7 +5607,7 @@ function renderQuickActionIcon(icon) {
|
|
|
5601
5607
|
if (!spec.name && !spec.url) return void 0;
|
|
5602
5608
|
const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
|
|
5603
5609
|
const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
|
|
5604
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5610
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
|
|
5605
5611
|
}
|
|
5606
5612
|
function composeChipLabel(label, lozenge) {
|
|
5607
5613
|
if (!lozenge) return label;
|
|
@@ -5905,6 +5911,16 @@ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo"
|
|
|
5905
5911
|
);
|
|
5906
5912
|
}
|
|
5907
5913
|
|
|
5914
|
+
// src/utils/trial.ts
|
|
5915
|
+
var TRIAL_DAYS = 14;
|
|
5916
|
+
var TRIAL_LABELS = {
|
|
5917
|
+
/** "14 day free trial" */
|
|
5918
|
+
length: `${TRIAL_DAYS} day free trial`,
|
|
5919
|
+
noCard: "No card required",
|
|
5920
|
+
cancel: "Cancel Anytime",
|
|
5921
|
+
noContract: "No Contract"
|
|
5922
|
+
};
|
|
5923
|
+
|
|
5908
5924
|
// src/utils/seo-title.ts
|
|
5909
5925
|
var SEO_TITLE_MAX_LENGTH = 60;
|
|
5910
5926
|
|
|
@@ -6784,8 +6800,12 @@ var SOURCE_ICON_NAMES = {
|
|
|
6784
6800
|
"audience-msp": "hierarchy-02",
|
|
6785
6801
|
"audience-mssp": "shield-lock",
|
|
6786
6802
|
"audience-it-team": "buildings",
|
|
6787
|
-
// Trust (single-record live source over the public Vanta projection)
|
|
6788
|
-
"trust-center": "shield",
|
|
6803
|
+
// Trust (single-record live source over the public Vanta projection): the icon its menu entry draws
|
|
6804
|
+
"trust-center": "shield-check",
|
|
6805
|
+
// The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
|
|
6806
|
+
"website-pages": "flamingo-logo-grey",
|
|
6807
|
+
// The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
|
|
6808
|
+
vendors: "package-search",
|
|
6789
6809
|
// Financials
|
|
6790
6810
|
"investor-updates": "mail",
|
|
6791
6811
|
"financial-kpis": "activity",
|
|
@@ -6848,6 +6868,8 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
6848
6868
|
faqs: "FAQs",
|
|
6849
6869
|
// Trust
|
|
6850
6870
|
"trust-center": "Trust Center",
|
|
6871
|
+
"website-pages": "Website",
|
|
6872
|
+
vendors: "Vendor Directory",
|
|
6851
6873
|
// Financials
|
|
6852
6874
|
"investor-updates": "Investor Updates",
|
|
6853
6875
|
"financial-kpis": "Financial KPIs",
|
|
@@ -6915,6 +6937,8 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
6915
6937
|
faq: "faqs",
|
|
6916
6938
|
// Trust
|
|
6917
6939
|
trust_center: "trust-center",
|
|
6940
|
+
site_page: "website-pages",
|
|
6941
|
+
vendor: "vendors",
|
|
6918
6942
|
// Financials
|
|
6919
6943
|
investor_update: "investor-updates",
|
|
6920
6944
|
financial_kpi: "financial-kpis",
|
|
@@ -7499,7 +7523,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
|
|
|
7499
7523
|
|
|
7500
7524
|
[Attached: ${safeName}](${url})`;
|
|
7501
7525
|
}
|
|
7502
|
-
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED =
|
|
7526
|
+
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkRFUOIQSGcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
|
|
7503
7527
|
var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
|
|
7504
7528
|
`^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
|
|
7505
7529
|
"gm"
|
|
@@ -7974,7 +7998,7 @@ function lastPathSegment(url) {
|
|
|
7974
7998
|
function makeComposeContentUrl(opts) {
|
|
7975
7999
|
const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
|
|
7976
8000
|
return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
|
|
7977
|
-
const type =
|
|
8001
|
+
const type = _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, rawType);
|
|
7978
8002
|
const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
|
|
7979
8003
|
if (override) return { ...override(identifier), hostOverride: true };
|
|
7980
8004
|
const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
|
|
@@ -8444,8 +8468,8 @@ function openAskAi(source, options) {
|
|
|
8444
8468
|
}
|
|
8445
8469
|
function MingoAiButton({
|
|
8446
8470
|
source,
|
|
8447
|
-
icon,
|
|
8448
|
-
label
|
|
8471
|
+
icon: iconProp,
|
|
8472
|
+
label: labelProp,
|
|
8449
8473
|
shortcutHint = false,
|
|
8450
8474
|
variant = "inline",
|
|
8451
8475
|
className,
|
|
@@ -8456,6 +8480,15 @@ function MingoAiButton({
|
|
|
8456
8480
|
const field = variant === "field";
|
|
8457
8481
|
const inPage = variant === "button";
|
|
8458
8482
|
const commandKey = visitor.known && _chunkGQ7JJUITcjs.usesCommandKey.call(void 0, visitor.os);
|
|
8483
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8484
|
+
const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _220 => _220.name])));
|
|
8485
|
+
const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _221 => _221.icon])));
|
|
8486
|
+
const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _222 => _222.open]);
|
|
8487
|
+
const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _223 => _223.source])));
|
|
8488
|
+
const openRef = _react.useRef.call(void 0, () => void 0);
|
|
8489
|
+
_react.useEffect.call(void 0, () => {
|
|
8490
|
+
openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
|
|
8491
|
+
});
|
|
8459
8492
|
_react.useEffect.call(void 0, () => {
|
|
8460
8493
|
if (!shortcutHint) return void 0;
|
|
8461
8494
|
const onKeyDown = (event) => {
|
|
@@ -8463,11 +8496,12 @@ function MingoAiButton({
|
|
|
8463
8496
|
const modifier = commandKey ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
|
|
8464
8497
|
if (event.key.toLowerCase() !== "k" || !modifier) return;
|
|
8465
8498
|
event.preventDefault();
|
|
8466
|
-
|
|
8499
|
+
openRef.current();
|
|
8467
8500
|
};
|
|
8468
8501
|
window.addEventListener("keydown", onKeyDown);
|
|
8469
8502
|
return () => window.removeEventListener("keydown", onKeyDown);
|
|
8470
|
-
}, [shortcutHint,
|
|
8503
|
+
}, [shortcutHint, commandKey]);
|
|
8504
|
+
if (!label) return null;
|
|
8471
8505
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8472
8506
|
_chunkDFQYAYBHcjs.Button,
|
|
8473
8507
|
{
|
|
@@ -8479,8 +8513,9 @@ function MingoAiButton({
|
|
|
8479
8513
|
"aria-label": label,
|
|
8480
8514
|
"aria-keyshortcuts": shortcutHint && visitor.known ? commandKey ? "Meta+K" : "Control+K" : void 0,
|
|
8481
8515
|
onClick: (e) => {
|
|
8482
|
-
|
|
8483
|
-
|
|
8516
|
+
if (runtimeOpen) runtimeOpen({});
|
|
8517
|
+
else openAskAi(eventSource);
|
|
8518
|
+
_optionalChain([onClick, 'optionalCall', _224 => _224(e)]);
|
|
8484
8519
|
},
|
|
8485
8520
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
8486
8521
|
"group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
|
|
@@ -8674,6 +8709,7 @@ function QuestionChips({
|
|
|
8674
8709
|
count,
|
|
8675
8710
|
loading,
|
|
8676
8711
|
source,
|
|
8712
|
+
onOpen,
|
|
8677
8713
|
onAsk,
|
|
8678
8714
|
slotClassName
|
|
8679
8715
|
}) {
|
|
@@ -8692,11 +8728,13 @@ function QuestionChips({
|
|
|
8692
8728
|
label: prompt.label,
|
|
8693
8729
|
icon: prompt.icon,
|
|
8694
8730
|
onSelect: () => {
|
|
8695
|
-
|
|
8696
|
-
|
|
8731
|
+
const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
|
|
8732
|
+
if (onOpen) onOpen(request);
|
|
8733
|
+
else openAskAi(source, request);
|
|
8734
|
+
_optionalChain([onAsk, 'optionalCall', _225 => _225(prompt)]);
|
|
8697
8735
|
}
|
|
8698
8736
|
}
|
|
8699
|
-
) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess',
|
|
8737
|
+
) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _226 => _226.id]), () => ( `slot-${slot}`)));
|
|
8700
8738
|
}) });
|
|
8701
8739
|
}
|
|
8702
8740
|
function AskPrompts({
|
|
@@ -8707,6 +8745,7 @@ function AskPrompts({
|
|
|
8707
8745
|
source,
|
|
8708
8746
|
label,
|
|
8709
8747
|
icon,
|
|
8748
|
+
onOpen,
|
|
8710
8749
|
onAsk,
|
|
8711
8750
|
fadeColor,
|
|
8712
8751
|
className
|
|
@@ -8730,6 +8769,7 @@ function AskPrompts({
|
|
|
8730
8769
|
count,
|
|
8731
8770
|
loading,
|
|
8732
8771
|
source,
|
|
8772
|
+
onOpen,
|
|
8733
8773
|
onAsk,
|
|
8734
8774
|
slotClassName: _chunk3ATAYP36cjs.cn.call(void 0, ROW_CHIP_SLOT_CLASS, end && "content-md:justify-end")
|
|
8735
8775
|
}
|
|
@@ -8747,6 +8787,7 @@ function AskCard({
|
|
|
8747
8787
|
source,
|
|
8748
8788
|
label,
|
|
8749
8789
|
icon,
|
|
8790
|
+
onOpen,
|
|
8750
8791
|
onAsk,
|
|
8751
8792
|
shortcutHint = true,
|
|
8752
8793
|
className
|
|
@@ -8767,7 +8808,17 @@ function AskCard({
|
|
|
8767
8808
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
|
|
8768
8809
|
] })
|
|
8769
8810
|
] }),
|
|
8770
|
-
(loading || prompts.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-col items-start gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8811
|
+
(loading || prompts.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-col items-start gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8812
|
+
QuestionChips,
|
|
8813
|
+
{
|
|
8814
|
+
prompts,
|
|
8815
|
+
count,
|
|
8816
|
+
loading,
|
|
8817
|
+
source,
|
|
8818
|
+
onOpen,
|
|
8819
|
+
onAsk
|
|
8820
|
+
}
|
|
8821
|
+
) }),
|
|
8771
8822
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8772
8823
|
MingoAiButton,
|
|
8773
8824
|
{
|
|
@@ -8784,6 +8835,138 @@ function AskCard({
|
|
|
8784
8835
|
);
|
|
8785
8836
|
}
|
|
8786
8837
|
|
|
8838
|
+
// src/components/chat/assistant-ask-prompts.tsx
|
|
8839
|
+
|
|
8840
|
+
|
|
8841
|
+
// src/components/chat/hooks/use-ask-prompts.ts
|
|
8842
|
+
|
|
8843
|
+
var ASK_PROMPTS_DEFAULT_COUNT = 3;
|
|
8844
|
+
function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
|
|
8845
|
+
const params = new URLSearchParams({ count: String(count) });
|
|
8846
|
+
if (topic) params.set("section", topic);
|
|
8847
|
+
if (exclude.length > 0) params.set("exclude", exclude.join(","));
|
|
8848
|
+
return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
|
|
8849
|
+
}
|
|
8850
|
+
function assistantAvailable(assistant) {
|
|
8851
|
+
return !!_optionalChain([assistant, 'optionalAccess', _227 => _227.available]);
|
|
8852
|
+
}
|
|
8853
|
+
function useAskPrompts({
|
|
8854
|
+
topic,
|
|
8855
|
+
count = ASK_PROMPTS_DEFAULT_COUNT,
|
|
8856
|
+
exclude,
|
|
8857
|
+
enabled = true
|
|
8858
|
+
} = {}) {
|
|
8859
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8860
|
+
const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
|
|
8861
|
+
const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
|
|
8862
|
+
const { data, isLoading } = _chunkRFUOIQSGcjs.useSelfFetch.call(void 0, url);
|
|
8863
|
+
return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _228 => _228.prompts]), () => ( [])), isLoading: !!base && (!enabled || isLoading), supported: !!base };
|
|
8864
|
+
}
|
|
8865
|
+
function useAssistantOpen(topic, onOpen) {
|
|
8866
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8867
|
+
const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _229 => _229.open]);
|
|
8868
|
+
const source = _optionalChain([assistant, 'optionalAccess', _230 => _230.source]);
|
|
8869
|
+
return _react.useCallback.call(void 0,
|
|
8870
|
+
(request) => {
|
|
8871
|
+
const full = { ...request, topic };
|
|
8872
|
+
if (onOpen) onOpen(full);
|
|
8873
|
+
else if (runtimeOpen) runtimeOpen(full);
|
|
8874
|
+
else openAskAi(source, request);
|
|
8875
|
+
},
|
|
8876
|
+
[onOpen, runtimeOpen, source, topic]
|
|
8877
|
+
);
|
|
8878
|
+
}
|
|
8879
|
+
var NO_IDS = [];
|
|
8880
|
+
function createShownList() {
|
|
8881
|
+
const bySurface = /* @__PURE__ */ new Map();
|
|
8882
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
8883
|
+
let snapshot = NO_IDS;
|
|
8884
|
+
const publish = () => {
|
|
8885
|
+
const lists = [...bySurface.values()];
|
|
8886
|
+
const next = lists.some((list) => list === null) ? null : lists.flatMap((list) => _nullishCoalesce(list, () => ( [])));
|
|
8887
|
+
const same = next === null ? snapshot === null : snapshot !== null && next.join(",") === snapshot.join(",");
|
|
8888
|
+
if (same) return;
|
|
8889
|
+
snapshot = next === null ? null : next.length > 0 ? next : NO_IDS;
|
|
8890
|
+
for (const listener of listeners) listener();
|
|
8891
|
+
};
|
|
8892
|
+
return {
|
|
8893
|
+
set(surface, ids) {
|
|
8894
|
+
bySurface.set(surface, ids);
|
|
8895
|
+
publish();
|
|
8896
|
+
},
|
|
8897
|
+
remove(surface) {
|
|
8898
|
+
bySurface.delete(surface);
|
|
8899
|
+
publish();
|
|
8900
|
+
},
|
|
8901
|
+
subscribe(listener) {
|
|
8902
|
+
listeners.add(listener);
|
|
8903
|
+
return () => listeners.delete(listener);
|
|
8904
|
+
},
|
|
8905
|
+
read: () => snapshot
|
|
8906
|
+
};
|
|
8907
|
+
}
|
|
8908
|
+
var shownLists = /* @__PURE__ */ new Map();
|
|
8909
|
+
function useShownList() {
|
|
8910
|
+
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _231 => _231.askPromptsUrl]), () => ( ""));
|
|
8911
|
+
let list = shownLists.get(scope);
|
|
8912
|
+
if (!list) {
|
|
8913
|
+
list = createShownList();
|
|
8914
|
+
shownLists.set(scope, list);
|
|
8915
|
+
}
|
|
8916
|
+
return list;
|
|
8917
|
+
}
|
|
8918
|
+
function useShownAskPrompts(ids) {
|
|
8919
|
+
const surface = _react.useId.call(void 0, );
|
|
8920
|
+
const list = useShownList();
|
|
8921
|
+
const key = ids === void 0 ? void 0 : ids === null ? null : ids.join(",");
|
|
8922
|
+
_react.useLayoutEffect.call(void 0, () => {
|
|
8923
|
+
if (key === void 0) return void 0;
|
|
8924
|
+
list.set(surface, key === null ? null : key ? key.split(",") : NO_IDS);
|
|
8925
|
+
return () => list.remove(surface);
|
|
8926
|
+
}, [list, surface, key]);
|
|
8927
|
+
}
|
|
8928
|
+
function useShownAskPromptIds() {
|
|
8929
|
+
const list = useShownList();
|
|
8930
|
+
return _react.useSyncExternalStore.call(void 0, list.subscribe, list.read, () => NO_IDS);
|
|
8931
|
+
}
|
|
8932
|
+
|
|
8933
|
+
// src/components/chat/assistant-ask-prompts.tsx
|
|
8934
|
+
|
|
8935
|
+
function AssistantAskPrompts({
|
|
8936
|
+
topic,
|
|
8937
|
+
count = ASK_PROMPTS_DEFAULT_COUNT,
|
|
8938
|
+
label,
|
|
8939
|
+
loading = false,
|
|
8940
|
+
onOpen,
|
|
8941
|
+
align,
|
|
8942
|
+
fadeColor,
|
|
8943
|
+
className
|
|
8944
|
+
}) {
|
|
8945
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8946
|
+
const { prompts, isLoading, supported } = useAskPrompts({ topic, count });
|
|
8947
|
+
const open = useAssistantOpen(topic, onOpen);
|
|
8948
|
+
const shown = assistantAvailable(assistant) && supported;
|
|
8949
|
+
useShownAskPrompts(shown ? isLoading ? null : prompts.map((prompt) => prompt.id) : void 0);
|
|
8950
|
+
const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
|
|
8951
|
+
if (!assistantAvailable(assistant) || !supported) return null;
|
|
8952
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8953
|
+
AskPrompts,
|
|
8954
|
+
{
|
|
8955
|
+
prompts,
|
|
8956
|
+
loading: isLoading || loading,
|
|
8957
|
+
count,
|
|
8958
|
+
source: assistant.source,
|
|
8959
|
+
label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
|
|
8960
|
+
icon: assistant.icon,
|
|
8961
|
+
onOpen: open,
|
|
8962
|
+
onAsk: (prompt) => _optionalChain([assistant, 'access', _232 => _232.onAsk, 'optionalCall', _233 => _233({ promptId: prompt.id, topic })]),
|
|
8963
|
+
align,
|
|
8964
|
+
fadeColor,
|
|
8965
|
+
className
|
|
8966
|
+
}
|
|
8967
|
+
) });
|
|
8968
|
+
}
|
|
8969
|
+
|
|
8787
8970
|
// src/components/chat/quick-action-marquee.tsx
|
|
8788
8971
|
|
|
8789
8972
|
|
|
@@ -8945,7 +9128,7 @@ function MarqueeWall({
|
|
|
8945
9128
|
if (!container || !copy) return;
|
|
8946
9129
|
const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
|
|
8947
9130
|
copySizeRef.current = size;
|
|
8948
|
-
const clone = _optionalChain([trackRef, 'access',
|
|
9131
|
+
const clone = _optionalChain([trackRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.querySelector, 'call', _236 => _236('[data-marquee-copy="clone"]')]);
|
|
8949
9132
|
wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
|
|
8950
9133
|
const avail = axis === "y" ? container.clientHeight : container.clientWidth;
|
|
8951
9134
|
setOverflows(size > avail + 1);
|
|
@@ -8963,7 +9146,7 @@ function MarqueeWall({
|
|
|
8963
9146
|
return () => ro.disconnect();
|
|
8964
9147
|
}, [measure, marqueeMounted]);
|
|
8965
9148
|
const { ref: observe, inView: nearViewport } = _chunkGQ7JJUITcjs.useInView.call(void 0, {
|
|
8966
|
-
rootMargin:
|
|
9149
|
+
rootMargin: _chunk7GRPR7XAcjs.NEAR_VIEWPORT_ROOT_MARGIN,
|
|
8967
9150
|
initial: true
|
|
8968
9151
|
});
|
|
8969
9152
|
_react.useEffect.call(void 0, () => {
|
|
@@ -9076,7 +9259,7 @@ function MarqueeWall({
|
|
|
9076
9259
|
if (Math.abs(delta) > 3 && !dragMovedRef.current) {
|
|
9077
9260
|
dragMovedRef.current = true;
|
|
9078
9261
|
try {
|
|
9079
|
-
_optionalChain([containerRef, 'access',
|
|
9262
|
+
_optionalChain([containerRef, 'access', _237 => _237.current, 'optionalAccess', _238 => _238.setPointerCapture, 'call', _239 => _239(e.pointerId)]);
|
|
9080
9263
|
} catch (e19) {
|
|
9081
9264
|
}
|
|
9082
9265
|
}
|
|
@@ -9093,7 +9276,7 @@ function MarqueeWall({
|
|
|
9093
9276
|
dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
|
|
9094
9277
|
if (dragMovedRef.current) {
|
|
9095
9278
|
try {
|
|
9096
|
-
_optionalChain([containerRef, 'access',
|
|
9279
|
+
_optionalChain([containerRef, 'access', _240 => _240.current, 'optionalAccess', _241 => _241.releasePointerCapture, 'call', _242 => _242(e.pointerId)]);
|
|
9097
9280
|
} catch (e20) {
|
|
9098
9281
|
}
|
|
9099
9282
|
}
|
|
@@ -9425,7 +9608,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
|
|
|
9425
9608
|
{
|
|
9426
9609
|
ref,
|
|
9427
9610
|
type: "button",
|
|
9428
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
9611
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _243 => _243(ticket.id)]),
|
|
9429
9612
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9430
9613
|
"flex h-20 w-full items-center gap-4 px-4",
|
|
9431
9614
|
"border-b border-ods-border bg-ods-card",
|
|
@@ -9695,7 +9878,7 @@ function MingoChatHistoryRow({
|
|
|
9695
9878
|
const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
|
|
9696
9879
|
const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
|
|
9697
9880
|
const owner = dialog.owner;
|
|
9698
|
-
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess',
|
|
9881
|
+
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _244 => _244.name]) || _optionalChain([owner, 'optionalAccess', _245 => _245.avatarUrl]));
|
|
9699
9882
|
const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
|
|
9700
9883
|
const menuItems = chatDialogMenuItems({
|
|
9701
9884
|
onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
|
|
@@ -9720,11 +9903,11 @@ function MingoChatHistoryRow({
|
|
|
9720
9903
|
{
|
|
9721
9904
|
role: "button",
|
|
9722
9905
|
tabIndex: 0,
|
|
9723
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
9906
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _246 => _246(dialog.id)]),
|
|
9724
9907
|
onKeyDown: (e) => {
|
|
9725
9908
|
if (e.key === "Enter" || e.key === " ") {
|
|
9726
9909
|
e.preventDefault();
|
|
9727
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
9910
|
+
_optionalChain([onSelect, 'optionalCall', _247 => _247(dialog.id)]);
|
|
9728
9911
|
}
|
|
9729
9912
|
},
|
|
9730
9913
|
className: "flex min-w-0 flex-1 cursor-pointer items-center gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-s)] focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent",
|
|
@@ -9791,8 +9974,8 @@ function MingoChatHistoryRow({
|
|
|
9791
9974
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9792
9975
|
"span",
|
|
9793
9976
|
{
|
|
9794
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
9795
|
-
title: _optionalChain([owner, 'optionalAccess',
|
|
9977
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _248 => _248(dialog.id)]),
|
|
9978
|
+
title: _optionalChain([owner, 'optionalAccess', _249 => _249.name]) || void 0,
|
|
9796
9979
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9797
9980
|
"absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
|
|
9798
9981
|
hasMenu && (menuOpen ? "pointer-events-none opacity-0" : "md:group-hover/row:pointer-events-none md:group-hover/row:opacity-0 md:peer-[:focus-within]/menu:pointer-events-none md:peer-[:focus-within]/menu:opacity-0")
|
|
@@ -9802,9 +9985,9 @@ function MingoChatHistoryRow({
|
|
|
9802
9985
|
{
|
|
9803
9986
|
variant: "round",
|
|
9804
9987
|
sizePx: 24,
|
|
9805
|
-
src: _optionalChain([owner, 'optionalAccess',
|
|
9806
|
-
alt: _optionalChain([owner, 'optionalAccess',
|
|
9807
|
-
fallback: _optionalChain([owner, 'optionalAccess',
|
|
9988
|
+
src: _optionalChain([owner, 'optionalAccess', _250 => _250.avatarUrl]) || void 0,
|
|
9989
|
+
alt: _optionalChain([owner, 'optionalAccess', _251 => _251.name]) || void 0,
|
|
9990
|
+
fallback: _optionalChain([owner, 'optionalAccess', _252 => _252.name]) || void 0,
|
|
9808
9991
|
initialsClassName: "text-[10px] text-ods-text-secondary"
|
|
9809
9992
|
}
|
|
9810
9993
|
)
|
|
@@ -9856,7 +10039,7 @@ function MingoChatHistory({
|
|
|
9856
10039
|
className
|
|
9857
10040
|
}) {
|
|
9858
10041
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
9859
|
-
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10042
|
+
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _253 => _253.trim, 'call', _254 => _254()]);
|
|
9860
10043
|
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
|
|
9861
10044
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
9862
10045
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
@@ -9873,7 +10056,7 @@ function MingoChatHistory({
|
|
|
9873
10056
|
const io = new IntersectionObserver(
|
|
9874
10057
|
([entry]) => {
|
|
9875
10058
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
9876
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
10059
|
+
_optionalChain([onLoadMoreRef, 'access', _255 => _255.current, 'optionalCall', _256 => _256()]);
|
|
9877
10060
|
}
|
|
9878
10061
|
},
|
|
9879
10062
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -10058,8 +10241,8 @@ function MingoWelcome({
|
|
|
10058
10241
|
icon: action.icon,
|
|
10059
10242
|
variant: action.variant,
|
|
10060
10243
|
onSelect: action.onClick,
|
|
10061
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10062
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10244
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _257 => _257(action)]),
|
|
10245
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _258 => _258()])
|
|
10063
10246
|
})),
|
|
10064
10247
|
agentSlug,
|
|
10065
10248
|
rows: 4,
|
|
@@ -10112,9 +10295,9 @@ function GuideWelcome({
|
|
|
10112
10295
|
props: action.iconProps,
|
|
10113
10296
|
accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
|
|
10114
10297
|
},
|
|
10115
|
-
onSelect: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
10116
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10117
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10298
|
+
onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _259 => _259(action)]),
|
|
10299
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _260 => _260(action)]),
|
|
10300
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _261 => _261()])
|
|
10118
10301
|
})),
|
|
10119
10302
|
[quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
|
|
10120
10303
|
);
|
|
@@ -10131,7 +10314,7 @@ function GuideWelcome({
|
|
|
10131
10314
|
icon && (icon.name || icon.url) ? (
|
|
10132
10315
|
// Agent-mode identity glyph (chat-config Identity tab). Sized to
|
|
10133
10316
|
// match the default Mingo mark (48px).
|
|
10134
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10317
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
|
|
10135
10318
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10136
10319
|
_chunkLLSUVPQCcjs.MingoIcon,
|
|
10137
10320
|
{
|
|
@@ -10323,7 +10506,7 @@ function MingoArchiveList({
|
|
|
10323
10506
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10324
10507
|
const observer = new IntersectionObserver(
|
|
10325
10508
|
([entry]) => {
|
|
10326
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10509
|
+
if (_optionalChain([entry, 'optionalAccess', _262 => _262.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _263 => _263.current, 'optionalCall', _264 => _264()]);
|
|
10327
10510
|
},
|
|
10328
10511
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10329
10512
|
);
|
|
@@ -10342,7 +10525,7 @@ function MingoArchiveList({
|
|
|
10342
10525
|
ChatListItem,
|
|
10343
10526
|
{
|
|
10344
10527
|
title: dialog.title || "Untitled Chat",
|
|
10345
|
-
onClick: () => _optionalChain([onSelectDialog, 'optionalCall',
|
|
10528
|
+
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _265 => _265(dialog.id)]),
|
|
10346
10529
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
10347
10530
|
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkKT3U3ZRPcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
|
|
10348
10531
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10481,7 +10664,7 @@ function ChatHeaderSearchField({
|
|
|
10481
10664
|
const finishCollapse = _react.useCallback.call(void 0, () => {
|
|
10482
10665
|
if (collapsedRef.current) return;
|
|
10483
10666
|
collapsedRef.current = true;
|
|
10484
|
-
_optionalChain([onCollapse, 'optionalCall',
|
|
10667
|
+
_optionalChain([onCollapse, 'optionalCall', _266 => _266()]);
|
|
10485
10668
|
}, [onCollapse]);
|
|
10486
10669
|
const beginCollapse = _react.useCallback.call(void 0, () => {
|
|
10487
10670
|
setExiting(true);
|
|
@@ -10562,7 +10745,7 @@ var STATUS_GLYPHS = {
|
|
|
10562
10745
|
approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
|
|
10563
10746
|
};
|
|
10564
10747
|
function statusFor(dialog, statusOf) {
|
|
10565
|
-
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall',
|
|
10748
|
+
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _267 => _267(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
|
|
10566
10749
|
}
|
|
10567
10750
|
function MingoChatRail({
|
|
10568
10751
|
dialogs,
|
|
@@ -10591,8 +10774,8 @@ function MingoChatRail({
|
|
|
10591
10774
|
onExpand,
|
|
10592
10775
|
className
|
|
10593
10776
|
}) {
|
|
10594
|
-
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10595
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10777
|
+
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _268 => _268.trim, 'call', _269 => _269()]));
|
|
10778
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _270 => _270.trim, 'call', _271 => _271()]);
|
|
10596
10779
|
const items = [];
|
|
10597
10780
|
if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
|
|
10598
10781
|
if (onOpenArchive) {
|
|
@@ -10649,7 +10832,7 @@ function MingoChatRail({
|
|
|
10649
10832
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10650
10833
|
const observer = new IntersectionObserver(
|
|
10651
10834
|
([entry]) => {
|
|
10652
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10835
|
+
if (_optionalChain([entry, 'optionalAccess', _272 => _272.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _273 => _273.current, 'optionalCall', _274 => _274()]);
|
|
10653
10836
|
},
|
|
10654
10837
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10655
10838
|
);
|
|
@@ -10772,7 +10955,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
|
|
|
10772
10955
|
{
|
|
10773
10956
|
active,
|
|
10774
10957
|
title,
|
|
10775
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
10958
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _275 => _275(dialog.id)]),
|
|
10776
10959
|
className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
|
|
10777
10960
|
trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10778
10961
|
"span",
|
|
@@ -10906,7 +11089,7 @@ function MingoHistoryRail({
|
|
|
10906
11089
|
onRetry,
|
|
10907
11090
|
className
|
|
10908
11091
|
}) {
|
|
10909
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
11092
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _276 => _276.trim, 'call', _277 => _277()]);
|
|
10910
11093
|
const hasList = dialogs.length > 0 || hasSearch;
|
|
10911
11094
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10912
11095
|
"div",
|
|
@@ -10995,8 +11178,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
10995
11178
|
const save = () => {
|
|
10996
11179
|
if (canSave) onSave(name.trim());
|
|
10997
11180
|
};
|
|
10998
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10999
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11181
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Rename Chat" }) }),
|
|
11000
11183
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
11001
11184
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "rename-chat-input", className: "text-ods-text-primary text-h4", children: "Chat Name" }),
|
|
11002
11185
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11013,27 +11196,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
11013
11196
|
}
|
|
11014
11197
|
)
|
|
11015
11198
|
] }),
|
|
11016
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11199
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
|
|
11017
11200
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11018
11201
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: save, disabled: !canSave, className: saveBtn, children: "Save" })
|
|
11019
11202
|
] })
|
|
11020
11203
|
] });
|
|
11021
11204
|
}
|
|
11022
11205
|
function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
11023
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11024
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11206
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11207
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Archive Chat" }) }),
|
|
11025
11208
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be hidden from your current chats." }),
|
|
11026
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11209
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
|
|
11027
11210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11028
11211
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: dangerBtn, children: "Archive Chat" })
|
|
11029
11212
|
] })
|
|
11030
11213
|
] });
|
|
11031
11214
|
}
|
|
11032
11215
|
function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
11033
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11034
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11216
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11217
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Unarchive Chat" }) }),
|
|
11035
11218
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be moved back to your current chats." }),
|
|
11036
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11219
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
|
|
11037
11220
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11038
11221
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: saveBtn, children: "Unarchive Chat" })
|
|
11039
11222
|
] })
|
|
@@ -11055,7 +11238,7 @@ function ChatDialogModals({
|
|
|
11055
11238
|
RenameChatModal,
|
|
11056
11239
|
{
|
|
11057
11240
|
isOpen: renameTarget != null,
|
|
11058
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
11241
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _278 => _278.title]), () => ( "")),
|
|
11059
11242
|
onClose: () => setRenameTarget(null),
|
|
11060
11243
|
onSave: onConfirmRename
|
|
11061
11244
|
}
|
|
@@ -11272,7 +11455,7 @@ function ChatAttachmentAddButton({
|
|
|
11272
11455
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
11273
11456
|
const handlePick = () => {
|
|
11274
11457
|
if (!canAddMore) return;
|
|
11275
|
-
_optionalChain([fileInputRef, 'access',
|
|
11458
|
+
_optionalChain([fileInputRef, 'access', _279 => _279.current, 'optionalAccess', _280 => _280.click, 'call', _281 => _281()]);
|
|
11276
11459
|
};
|
|
11277
11460
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
11278
11461
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11435,7 +11618,7 @@ function ChatContextMemoryBar({
|
|
|
11435
11618
|
_react.useEffect.call(void 0, () => {
|
|
11436
11619
|
if (!open) return void 0;
|
|
11437
11620
|
const onOutside = (e) => {
|
|
11438
|
-
if (_optionalChain([rootRef, 'access',
|
|
11621
|
+
if (_optionalChain([rootRef, 'access', _282 => _282.current, 'optionalAccess', _283 => _283.contains, 'call', _284 => _284(e.target)])) return;
|
|
11439
11622
|
setOpen(false);
|
|
11440
11623
|
};
|
|
11441
11624
|
document.addEventListener("mousedown", onOutside, true);
|
|
@@ -11618,7 +11801,7 @@ var ModelDisplay = _react2.default.forwardRef(
|
|
|
11618
11801
|
}, ref) => {
|
|
11619
11802
|
const icon = getProviderIcon(provider);
|
|
11620
11803
|
const name = displayName || modelName;
|
|
11621
|
-
const isV2 = useChatAppearance() ===
|
|
11804
|
+
const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
11622
11805
|
const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
|
|
11623
11806
|
const inline = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", "text-h6", className), ...props, children: [
|
|
11624
11807
|
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center", children: icon }),
|
|
@@ -11738,7 +11921,7 @@ function ChatComposer({
|
|
|
11738
11921
|
const locked = lock != null;
|
|
11739
11922
|
const selected = _nullishCoalesce(selectedContextItems, () => ( []));
|
|
11740
11923
|
const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
|
|
11741
|
-
const entityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
11924
|
+
const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _285 => _285.entityTypes]);
|
|
11742
11925
|
const iconByType = _react.useMemo.call(void 0, () => {
|
|
11743
11926
|
const map = /* @__PURE__ */ new Map();
|
|
11744
11927
|
for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
|
|
@@ -11746,7 +11929,7 @@ function ChatComposer({
|
|
|
11746
11929
|
}, [entityTypes]);
|
|
11747
11930
|
const resolveContextIcon = _react.useCallback.call(void 0, (item) => iconByType.get(item.type), [iconByType]);
|
|
11748
11931
|
const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11749
|
-
|
|
11932
|
+
_chunkRZQGIWK3cjs.ChatInput,
|
|
11750
11933
|
{
|
|
11751
11934
|
ref: inputRef,
|
|
11752
11935
|
onSend,
|
|
@@ -11754,7 +11937,7 @@ function ChatComposer({
|
|
|
11754
11937
|
sending,
|
|
11755
11938
|
placeholder,
|
|
11756
11939
|
disabled: locked,
|
|
11757
|
-
disabledPlaceholder: _optionalChain([lock, 'optionalAccess',
|
|
11940
|
+
disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _286 => _286.placeholder]),
|
|
11758
11941
|
previewText,
|
|
11759
11942
|
fullWidth: true,
|
|
11760
11943
|
className: "px-0",
|
|
@@ -11767,7 +11950,7 @@ function ChatComposer({
|
|
|
11767
11950
|
startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11768
11951
|
ChatComposerPlusMenu,
|
|
11769
11952
|
{
|
|
11770
|
-
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
11953
|
+
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _287 => _287()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _288 => _288()]),
|
|
11771
11954
|
open: contextPickerOpen,
|
|
11772
11955
|
disabled: attachmentsDisabled || locked,
|
|
11773
11956
|
dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11776,8 +11959,8 @@ function ChatComposer({
|
|
|
11776
11959
|
open: contextPickerOpen,
|
|
11777
11960
|
config: contextPicker,
|
|
11778
11961
|
selectedItems: selected,
|
|
11779
|
-
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall',
|
|
11780
|
-
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
11962
|
+
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _289 => _289(item)]),
|
|
11963
|
+
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _290 => _290()]),
|
|
11781
11964
|
mentionQuery
|
|
11782
11965
|
}
|
|
11783
11966
|
) : void 0
|
|
@@ -11968,8 +12151,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
11968
12151
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
11969
12152
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
11970
12153
|
const handleClick = (e) => {
|
|
11971
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
11972
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12154
|
+
_optionalChain([onDialogSelect, 'optionalCall', _291 => _291(dialog.id)]);
|
|
12155
|
+
_optionalChain([onClick, 'optionalCall', _292 => _292(e)]);
|
|
11973
12156
|
};
|
|
11974
12157
|
const formatTimestamp = (timestamp) => {
|
|
11975
12158
|
return _chunkF5BPGWGTcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkF5BPGWGTcjs.VIEWER_TIMEZONE, "numericDateTime24h");
|
|
@@ -12042,7 +12225,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
12042
12225
|
(entries) => {
|
|
12043
12226
|
const [entry] = entries;
|
|
12044
12227
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
12045
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
12228
|
+
_optionalChain([onLoadMoreRef, 'access', _293 => _293.current, 'optionalCall', _294 => _294()]);
|
|
12046
12229
|
}
|
|
12047
12230
|
},
|
|
12048
12231
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -12257,7 +12440,7 @@ function OnboardingCarousel({
|
|
|
12257
12440
|
" of ",
|
|
12258
12441
|
steps.length,
|
|
12259
12442
|
": ",
|
|
12260
|
-
_optionalChain([steps, 'access',
|
|
12443
|
+
_optionalChain([steps, 'access', _295 => _295[index], 'optionalAccess', _296 => _296.title])
|
|
12261
12444
|
] }),
|
|
12262
12445
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
|
|
12263
12446
|
const isCurrent = i === index;
|
|
@@ -12357,12 +12540,12 @@ function resolveExternalNavigation(args) {
|
|
|
12357
12540
|
|
|
12358
12541
|
// src/components/chat/utils/execute-navigation.ts
|
|
12359
12542
|
function isForeignOriginHref(href) {
|
|
12360
|
-
return /^https?:\/\//i.test(href) && !
|
|
12543
|
+
return /^https?:\/\//i.test(href) && !_chunkRFUOIQSGcjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
12361
12544
|
}
|
|
12362
12545
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
12363
|
-
const isNewTab = runtime ?
|
|
12546
|
+
const isNewTab = runtime ? _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
12364
12547
|
if (isNewTab) {
|
|
12365
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
12548
|
+
if (_optionalChain([runtime, 'optionalAccess', _297 => _297.navigation, 'access', _298 => _298.openExternal])) runtime.navigation.openExternal(href);
|
|
12366
12549
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
12367
12550
|
return;
|
|
12368
12551
|
}
|
|
@@ -12370,7 +12553,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
12370
12553
|
if (target.includes("#") && _chunkGQ7JJUITcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkGQ7JJUITcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
12371
12554
|
return;
|
|
12372
12555
|
}
|
|
12373
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
12556
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _299 => _299.navigation, 'access', _300 => _300.navigate, 'optionalCall', _301 => _301({ href, path, targetPlatform })]), () => ( false));
|
|
12374
12557
|
if (!handled) {
|
|
12375
12558
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
12376
12559
|
else window.location.assign(target);
|
|
@@ -12418,9 +12601,9 @@ function useNavLinkViaRuntime({
|
|
|
12418
12601
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
12419
12602
|
const panel = useChatPanel();
|
|
12420
12603
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
12421
|
-
const isNewTab =
|
|
12604
|
+
const isNewTab = _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
12422
12605
|
const onClick = (e) => {
|
|
12423
|
-
_optionalChain([onClickProp, 'optionalCall',
|
|
12606
|
+
_optionalChain([onClickProp, 'optionalCall', _302 => _302(e)]);
|
|
12424
12607
|
if (e.defaultPrevented) return;
|
|
12425
12608
|
const handled = executeNavigation({
|
|
12426
12609
|
event: e,
|
|
@@ -12430,9 +12613,9 @@ function useNavLinkViaRuntime({
|
|
|
12430
12613
|
targetPlatform,
|
|
12431
12614
|
fallbackNavigate: router.push
|
|
12432
12615
|
});
|
|
12433
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
12616
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _303 => _303.closeChat])) panel.closeChat();
|
|
12434
12617
|
};
|
|
12435
|
-
const attrs =
|
|
12618
|
+
const attrs = _chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
12436
12619
|
return {
|
|
12437
12620
|
href: resolvedHref,
|
|
12438
12621
|
...attrs,
|
|
@@ -12514,11 +12697,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
|
|
|
12514
12697
|
function getCaptionsUrl(entityType, entityId, srtContent, options) {
|
|
12515
12698
|
if (!srtContent) return void 0;
|
|
12516
12699
|
const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
|
|
12517
|
-
const variant = _optionalChain([options, 'optionalAccess',
|
|
12700
|
+
const variant = _optionalChain([options, 'optionalAccess', _304 => _304.variant]) ? `&variant=${options.variant}` : "";
|
|
12518
12701
|
return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
|
|
12519
12702
|
}
|
|
12520
12703
|
function resolveCaptionsBase(endpoints) {
|
|
12521
|
-
return _optionalChain([endpoints, 'optionalAccess',
|
|
12704
|
+
return _optionalChain([endpoints, 'optionalAccess', _305 => _305.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
|
|
12522
12705
|
}
|
|
12523
12706
|
function rebaseCaptionsUrl(endpoints, url) {
|
|
12524
12707
|
if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
|
|
@@ -12607,7 +12790,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
12607
12790
|
// src/components/features/use-captions.ts
|
|
12608
12791
|
|
|
12609
12792
|
function useCaptions() {
|
|
12610
|
-
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess',
|
|
12793
|
+
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _306 => _306.endpoints]), () => ( null));
|
|
12611
12794
|
return _react.useMemo.call(void 0,
|
|
12612
12795
|
() => ({
|
|
12613
12796
|
forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
|
|
@@ -12636,7 +12819,7 @@ function UserDisplay({
|
|
|
12636
12819
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12637
12820
|
_chunkF5BPGWGTcjs.SquareAvatar,
|
|
12638
12821
|
{
|
|
12639
|
-
src: avatarUrl ?
|
|
12822
|
+
src: avatarUrl ? _chunkRFUOIQSGcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
|
|
12640
12823
|
fallback: name,
|
|
12641
12824
|
alt: name,
|
|
12642
12825
|
sizePx: size,
|
|
@@ -12882,9 +13065,9 @@ function CardsStrip(props) {
|
|
|
12882
13065
|
const p = hoverPointerRef.current;
|
|
12883
13066
|
if (!p.inside) return;
|
|
12884
13067
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
12885
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
12886
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
12887
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
13068
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _307 => _307.closest, 'optionalCall', _308 => _308("[data-strip-card-key]")]);
|
|
13069
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _309 => _309.current, 'optionalAccess', _310 => _310.contains, 'call', _311 => _311(cardEl)]) ? cardEl : null;
|
|
13070
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _312 => _312.getAttribute, 'call', _313 => _313("data-strip-card-key")]), () => ( null));
|
|
12888
13071
|
const current = activeKeyRef.current;
|
|
12889
13072
|
if (key === current) return;
|
|
12890
13073
|
if (current !== null) deactivate(current);
|
|
@@ -12922,7 +13105,7 @@ function CardsStrip(props) {
|
|
|
12922
13105
|
}, [syncHoverToPointer]);
|
|
12923
13106
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
12924
13107
|
const half = singleCopyWidthRef.current;
|
|
12925
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13108
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.clientWidth]), () => ( 0));
|
|
12926
13109
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
12927
13110
|
}, []);
|
|
12928
13111
|
const mirror = _react.useCallback.call(void 0,
|
|
@@ -12946,7 +13129,7 @@ function CardsStrip(props) {
|
|
|
12946
13129
|
const scroller = scrollerRef.current;
|
|
12947
13130
|
if (scroller) scroller.scrollLeft = mirror(pos);
|
|
12948
13131
|
},
|
|
12949
|
-
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13132
|
+
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _316 => _316.current, 'optionalAccess', _317 => _317.scrollLeft]), () => ( 0))),
|
|
12950
13133
|
onAfterFrame: syncHoverIfScrolled
|
|
12951
13134
|
});
|
|
12952
13135
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -12975,7 +13158,7 @@ function CardsStrip(props) {
|
|
|
12975
13158
|
return next;
|
|
12976
13159
|
});
|
|
12977
13160
|
},
|
|
12978
|
-
{ rootMargin:
|
|
13161
|
+
{ rootMargin: _chunk7GRPR7XAcjs.NEAR_VIEWPORT_ROOT_MARGIN }
|
|
12979
13162
|
);
|
|
12980
13163
|
cardObserverRef.current = io;
|
|
12981
13164
|
cardElIdxRef.current.forEach((_idx, el) => {
|
|
@@ -12994,11 +13177,11 @@ function CardsStrip(props) {
|
|
|
12994
13177
|
fn = (el) => {
|
|
12995
13178
|
if (!el) return void 0;
|
|
12996
13179
|
cardElIdxRef.current.set(el, idx);
|
|
12997
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13180
|
+
_optionalChain([cardObserverRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.observe, 'call', _320 => _320(el)]);
|
|
12998
13181
|
return () => {
|
|
12999
13182
|
cardElIdxRef.current.delete(el);
|
|
13000
13183
|
cardElNearRef.current.delete(el);
|
|
13001
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13184
|
+
_optionalChain([cardObserverRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.unobserve, 'call', _323 => _323(el)]);
|
|
13002
13185
|
};
|
|
13003
13186
|
};
|
|
13004
13187
|
cardRefFns.set(idx, fn);
|
|
@@ -13017,7 +13200,7 @@ function CardsStrip(props) {
|
|
|
13017
13200
|
const track = trackRef.current;
|
|
13018
13201
|
if (!scroller || !track) return;
|
|
13019
13202
|
const firstCard = track.firstElementChild;
|
|
13020
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
13203
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _324 => _324.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
13021
13204
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
13022
13205
|
if (marqueeActiveRef.current) {
|
|
13023
13206
|
glideBy((reverse ? -dir : dir) * step);
|
|
@@ -13078,11 +13261,11 @@ function CardsStrip(props) {
|
|
|
13078
13261
|
{
|
|
13079
13262
|
ref: (node) => {
|
|
13080
13263
|
wrapperRef.current = node;
|
|
13081
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
13264
|
+
_optionalChain([rootRef, 'optionalCall', _325 => _325(node)]);
|
|
13082
13265
|
},
|
|
13083
13266
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
13084
13267
|
children: [
|
|
13085
|
-
showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
13268
|
+
showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkRFUOIQSGcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkRFUOIQSGcjs.accentSentenceMarks.call(void 0, title) }),
|
|
13086
13269
|
headerSlot,
|
|
13087
13270
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", style: bled ? { marginLeft: -insets.left, marginRight: -insets.right } : void 0, children: [
|
|
13088
13271
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13233,7 +13416,7 @@ function groupByAspectRatio(items, getAspectRatio) {
|
|
|
13233
13416
|
|
|
13234
13417
|
function VideoBitesStrip({
|
|
13235
13418
|
bites,
|
|
13236
|
-
title =
|
|
13419
|
+
title = _chunkRFUOIQSGcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13237
13420
|
showTitle = true,
|
|
13238
13421
|
filterPublished = true,
|
|
13239
13422
|
profile = null,
|
|
@@ -13246,14 +13429,14 @@ function VideoBitesStrip({
|
|
|
13246
13429
|
cardHeightMobile = 300,
|
|
13247
13430
|
showChevrons = true,
|
|
13248
13431
|
onBiteNavigate,
|
|
13249
|
-
sortComparator =
|
|
13432
|
+
sortComparator = _chunkRFUOIQSGcjs.sortBitesByCreatedAtDesc,
|
|
13250
13433
|
className
|
|
13251
13434
|
}) {
|
|
13252
13435
|
const items = _react.useMemo.call(void 0, () => {
|
|
13253
13436
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
13254
13437
|
return filtered.sort(sortComparator);
|
|
13255
13438
|
}, [bites, filterPublished, sortComparator]);
|
|
13256
|
-
const warmup =
|
|
13439
|
+
const warmup = _chunkRFUOIQSGcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _326 => _326[0], 'optionalAccess', _327 => _327.url]) || null });
|
|
13257
13440
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13258
13441
|
CardsStrip,
|
|
13259
13442
|
{
|
|
@@ -13320,8 +13503,8 @@ function VideoBiteCard({
|
|
|
13320
13503
|
const controlled = active !== void 0;
|
|
13321
13504
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
13322
13505
|
const isActive = controlled ? !!active : selfActive;
|
|
13323
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
13324
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
13506
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(true);
|
|
13507
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _329 => _329(key)]) : setSelfActive(false);
|
|
13325
13508
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
13326
13509
|
_chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13327
13510
|
const el = titleInputRef.current;
|
|
@@ -13331,7 +13514,7 @@ function VideoBiteCard({
|
|
|
13331
13514
|
});
|
|
13332
13515
|
const navigate = () => {
|
|
13333
13516
|
if (bite.onNavigate) bite.onNavigate();
|
|
13334
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
13517
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _330 => _330(bite, index)]);
|
|
13335
13518
|
};
|
|
13336
13519
|
const handlePointerEnter = () => {
|
|
13337
13520
|
if (!isTouch) activate();
|
|
@@ -13356,9 +13539,9 @@ function VideoBiteCard({
|
|
|
13356
13539
|
placeholder: "Title (optional)",
|
|
13357
13540
|
"aria-label": "Bite title",
|
|
13358
13541
|
rows: 1,
|
|
13359
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
13542
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _331 => _331(e.target.value)]),
|
|
13360
13543
|
ref: titleInputRef,
|
|
13361
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
13544
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _332 => _332(e.target.value)]),
|
|
13362
13545
|
onClick: (e) => e.stopPropagation(),
|
|
13363
13546
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13364
13547
|
titleClass,
|
|
@@ -13400,7 +13583,7 @@ function VideoBiteCard({
|
|
|
13400
13583
|
style: { aspectRatio: cssAspect, ...height !== void 0 ? { height, maxWidth: STRIP_CELL_MAX_WIDTH } : {} },
|
|
13401
13584
|
children: [
|
|
13402
13585
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13403
|
-
|
|
13586
|
+
_chunkRFUOIQSGcjs.VideoHoverPreviewSurface,
|
|
13404
13587
|
{
|
|
13405
13588
|
url: bite.url,
|
|
13406
13589
|
posterUrl: bite.thumbnail_url,
|
|
@@ -13435,7 +13618,7 @@ function VideoBiteCard({
|
|
|
13435
13618
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13436
13619
|
"div",
|
|
13437
13620
|
{
|
|
13438
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
13621
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _333 => _333(node)]),
|
|
13439
13622
|
"aria-hidden": isClone || void 0,
|
|
13440
13623
|
"data-strip-card-key": key,
|
|
13441
13624
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
@@ -13471,7 +13654,7 @@ function EntityVideoSection({
|
|
|
13471
13654
|
title = "Video",
|
|
13472
13655
|
videoSummary,
|
|
13473
13656
|
videoBites,
|
|
13474
|
-
bitesTitle =
|
|
13657
|
+
bitesTitle = _chunkRFUOIQSGcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13475
13658
|
filterPublishedBites = true,
|
|
13476
13659
|
bitesProfile = null,
|
|
13477
13660
|
bitesHref,
|
|
@@ -13490,8 +13673,8 @@ function EntityVideoSection({
|
|
|
13490
13673
|
const hasHighlight = !!highlightVideoUrl;
|
|
13491
13674
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13492
13675
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13493
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13494
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13676
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _334 => _334.captionsUrl])));
|
|
13677
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _335 => _335.highlightCaptionsUrl])));
|
|
13495
13678
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13496
13679
|
return null;
|
|
13497
13680
|
}
|
|
@@ -13518,7 +13701,7 @@ function EntityVideoSection({
|
|
|
13518
13701
|
)
|
|
13519
13702
|
] }),
|
|
13520
13703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13521
|
-
|
|
13704
|
+
_chunkRFUOIQSGcjs.Video,
|
|
13522
13705
|
{
|
|
13523
13706
|
kind: fullVideoKind,
|
|
13524
13707
|
url: fullVideoUrl,
|
|
@@ -13531,7 +13714,7 @@ function EntityVideoSection({
|
|
|
13531
13714
|
}
|
|
13532
13715
|
) }),
|
|
13533
13716
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13534
|
-
|
|
13717
|
+
_chunkRFUOIQSGcjs.Video,
|
|
13535
13718
|
{
|
|
13536
13719
|
url: highlightVideoUrl,
|
|
13537
13720
|
poster: highlightVideoThumbnail,
|
|
@@ -13540,7 +13723,7 @@ function EntityVideoSection({
|
|
|
13540
13723
|
}
|
|
13541
13724
|
) })
|
|
13542
13725
|
] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13543
|
-
|
|
13726
|
+
_chunkRFUOIQSGcjs.Video,
|
|
13544
13727
|
{
|
|
13545
13728
|
kind: fullVideoKind,
|
|
13546
13729
|
url: fullVideoUrl,
|
|
@@ -13552,7 +13735,7 @@ function EntityVideoSection({
|
|
|
13552
13735
|
priority
|
|
13553
13736
|
}
|
|
13554
13737
|
) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13555
|
-
|
|
13738
|
+
_chunkRFUOIQSGcjs.Video,
|
|
13556
13739
|
{
|
|
13557
13740
|
url: highlightVideoUrl,
|
|
13558
13741
|
poster: highlightVideoThumbnail,
|
|
@@ -13562,7 +13745,7 @@ function EntityVideoSection({
|
|
|
13562
13745
|
}
|
|
13563
13746
|
) : null),
|
|
13564
13747
|
videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
|
|
13565
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
13748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkRFUOIQSGcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
|
|
13566
13749
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden break-words text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: videoSummary }) })
|
|
13567
13750
|
] }),
|
|
13568
13751
|
videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13752,7 +13935,7 @@ var MediaSkeleton = {
|
|
|
13752
13935
|
className,
|
|
13753
13936
|
...props
|
|
13754
13937
|
}) => {
|
|
13755
|
-
const
|
|
13938
|
+
const sizeClasses2 = {
|
|
13756
13939
|
sm: "h-8 w-8",
|
|
13757
13940
|
md: "h-12 w-12",
|
|
13758
13941
|
lg: "h-16 w-16"
|
|
@@ -13761,7 +13944,7 @@ var MediaSkeleton = {
|
|
|
13761
13944
|
UnifiedSkeleton,
|
|
13762
13945
|
{
|
|
13763
13946
|
variant: "circular",
|
|
13764
|
-
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13947
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses2[size], className),
|
|
13765
13948
|
"aria-label": "Loading profile image",
|
|
13766
13949
|
...props
|
|
13767
13950
|
}
|
|
@@ -13788,7 +13971,7 @@ var MediaSkeleton = {
|
|
|
13788
13971
|
className,
|
|
13789
13972
|
...props
|
|
13790
13973
|
}) => {
|
|
13791
|
-
const
|
|
13974
|
+
const sizeClasses2 = {
|
|
13792
13975
|
sm: "h-4 w-4",
|
|
13793
13976
|
md: "h-6 w-6",
|
|
13794
13977
|
lg: "h-8 w-8"
|
|
@@ -13797,7 +13980,7 @@ var MediaSkeleton = {
|
|
|
13797
13980
|
UnifiedSkeleton,
|
|
13798
13981
|
{
|
|
13799
13982
|
variant: "default",
|
|
13800
|
-
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13983
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses2[size], className),
|
|
13801
13984
|
"aria-label": "Loading icon",
|
|
13802
13985
|
...props
|
|
13803
13986
|
}
|
|
@@ -13809,7 +13992,7 @@ var MediaSkeleton = {
|
|
|
13809
13992
|
|
|
13810
13993
|
function designDocPeople(doc) {
|
|
13811
13994
|
const people = [];
|
|
13812
|
-
if (_optionalChain([doc, 'access',
|
|
13995
|
+
if (_optionalChain([doc, 'access', _336 => _336.author, 'optionalAccess', _337 => _337.full_name]))
|
|
13813
13996
|
people.push({
|
|
13814
13997
|
key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
|
|
13815
13998
|
name: doc.author.full_name,
|
|
@@ -13822,14 +14005,14 @@ function designDocPeople(doc) {
|
|
|
13822
14005
|
return people;
|
|
13823
14006
|
}
|
|
13824
14007
|
function designDocMetaLine(doc) {
|
|
13825
|
-
return [_optionalChain([doc, 'access',
|
|
14008
|
+
return [_optionalChain([doc, 'access', _338 => _338.author, 'optionalAccess', _339 => _339.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkRFUOIQSGcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
13826
14009
|
}
|
|
13827
14010
|
function DesignDocCardSkeleton() {
|
|
13828
14011
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13829
14012
|
"div",
|
|
13830
14013
|
{
|
|
13831
14014
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13832
|
-
|
|
14015
|
+
_chunkRFUOIQSGcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
|
|
13833
14016
|
"flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]"
|
|
13834
14017
|
),
|
|
13835
14018
|
role: "status",
|
|
@@ -13859,7 +14042,7 @@ function DesignDocCardSkeleton() {
|
|
|
13859
14042
|
function DesignDocCard({ doc, href, target, rel, className }) {
|
|
13860
14043
|
const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
|
|
13861
14044
|
const people = designDocPeople(doc);
|
|
13862
|
-
const link =
|
|
14045
|
+
const link = _chunkRFUOIQSGcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
|
|
13863
14046
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13864
14047
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
|
|
13865
14048
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
@@ -13867,7 +14050,7 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
13867
14050
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[20px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h5", children: designDocMetaLine(doc) }) })
|
|
13868
14051
|
] }),
|
|
13869
14052
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13870
|
-
|
|
14053
|
+
_chunkRFUOIQSGcjs.StatusBadge,
|
|
13871
14054
|
{
|
|
13872
14055
|
text: readiness.label,
|
|
13873
14056
|
colorScheme: readiness.scheme,
|
|
@@ -13877,16 +14060,16 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
13877
14060
|
}
|
|
13878
14061
|
)
|
|
13879
14062
|
] }),
|
|
13880
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
|
|
13881
14064
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[72px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h4", children: doc.summary || "" }) }),
|
|
13882
14065
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
13883
14066
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
|
|
13884
14067
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
|
|
13885
|
-
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14068
|
+
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMTY3GRRcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
|
|
13886
14069
|
] })
|
|
13887
14070
|
] });
|
|
13888
14071
|
const outer = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13889
|
-
|
|
14072
|
+
_chunkRFUOIQSGcjs.CONTENT_CARD_FRAME_CLASS,
|
|
13890
14073
|
"flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]",
|
|
13891
14074
|
className
|
|
13892
14075
|
);
|
|
@@ -14030,26 +14213,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
14030
14213
|
metaParts.push(
|
|
14031
14214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14032
14215
|
);
|
|
14033
|
-
const href =
|
|
14216
|
+
const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
|
|
14034
14217
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14035
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14036
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14037
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14218
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
14219
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14220
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
14038
14221
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
14039
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14222
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
14040
14223
|
] }),
|
|
14041
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14224
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14042
14225
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14043
14226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14044
14227
|
] }, i)) }) }),
|
|
14045
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14228
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14046
14229
|
] }),
|
|
14047
14230
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14048
14231
|
] });
|
|
14049
14232
|
if (anchorProps) {
|
|
14050
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14233
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14051
14234
|
}
|
|
14052
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14235
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14053
14236
|
}
|
|
14054
14237
|
function GitHubActivityCardSkeleton({
|
|
14055
14238
|
variant = "compact",
|
|
@@ -14066,12 +14249,12 @@ function GitHubActivityCardSkeleton({
|
|
|
14066
14249
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14067
14250
|
] });
|
|
14068
14251
|
}
|
|
14069
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14070
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14071
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14072
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14073
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14074
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14252
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14253
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14254
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14255
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
14256
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14257
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14075
14258
|
] }),
|
|
14076
14259
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
14077
14260
|
] });
|
|
@@ -14121,23 +14304,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
14121
14304
|
metaParts.push(
|
|
14122
14305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14123
14306
|
);
|
|
14124
|
-
const href =
|
|
14307
|
+
const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
|
|
14125
14308
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14126
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14127
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14128
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14129
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14130
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14309
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
|
|
14310
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14311
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: item.title }) }),
|
|
14312
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) }),
|
|
14313
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14131
14314
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14132
14315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14133
|
-
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14316
|
+
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) }) })
|
|
14134
14317
|
] }),
|
|
14135
14318
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14136
14319
|
] });
|
|
14137
14320
|
if (anchorProps) {
|
|
14138
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14321
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14139
14322
|
}
|
|
14140
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14323
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14141
14324
|
}
|
|
14142
14325
|
function SlackMessageCardSkeleton({
|
|
14143
14326
|
variant = "compact",
|
|
@@ -14152,12 +14335,12 @@ function SlackMessageCardSkeleton({
|
|
|
14152
14335
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14153
14336
|
] });
|
|
14154
14337
|
}
|
|
14155
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14156
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14157
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14158
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14159
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14160
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14338
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14339
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14340
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
14342
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
|
|
14343
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14161
14344
|
] }),
|
|
14162
14345
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
14163
14346
|
] });
|
|
@@ -14193,7 +14376,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14193
14376
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14194
14377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
|
|
14195
14378
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary text-h6", children: item.preview }) : null,
|
|
14196
|
-
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14379
|
+
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
|
|
14197
14380
|
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
|
|
14198
14381
|
] });
|
|
14199
14382
|
}
|
|
@@ -14207,13 +14390,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14207
14390
|
metaParts.push(
|
|
14208
14391
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14209
14392
|
);
|
|
14210
|
-
const href =
|
|
14393
|
+
const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
|
|
14211
14394
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14212
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14395
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14213
14396
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14214
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14397
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14215
14398
|
priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14216
|
-
|
|
14399
|
+
_chunkRFUOIQSGcjs.StatusBadge,
|
|
14217
14400
|
{
|
|
14218
14401
|
text: priorityText,
|
|
14219
14402
|
variant: "button",
|
|
@@ -14222,7 +14405,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14222
14405
|
}
|
|
14223
14406
|
) : null,
|
|
14224
14407
|
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14225
|
-
|
|
14408
|
+
_chunkRFUOIQSGcjs.StatusBadge,
|
|
14226
14409
|
{
|
|
14227
14410
|
text: statusText,
|
|
14228
14411
|
variant: "button",
|
|
@@ -14236,7 +14419,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14236
14419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
14237
14420
|
] }) : null,
|
|
14238
14421
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
|
|
14239
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14422
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14240
14423
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14241
14424
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14242
14425
|
] }, i)) }) }) : null
|
|
@@ -14244,9 +14427,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14244
14427
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14245
14428
|
] });
|
|
14246
14429
|
if (anchorProps) {
|
|
14247
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14430
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14248
14431
|
}
|
|
14249
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14432
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14250
14433
|
}
|
|
14251
14434
|
function HubspotTicketCardSkeleton({
|
|
14252
14435
|
variant = "compact",
|
|
@@ -14260,8 +14443,8 @@ function HubspotTicketCardSkeleton({
|
|
|
14260
14443
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14261
14444
|
] });
|
|
14262
14445
|
}
|
|
14263
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14264
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14446
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14447
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14265
14448
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14266
14449
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14267
14450
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
|
|
@@ -14274,7 +14457,7 @@ function HubspotTicketCardSkeleton({
|
|
|
14274
14457
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
|
|
14275
14458
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
|
|
14276
14459
|
] }),
|
|
14277
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14460
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14278
14461
|
] }),
|
|
14279
14462
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
14280
14463
|
] });
|
|
@@ -14285,10 +14468,10 @@ function HubspotTicketCardSkeleton({
|
|
|
14285
14468
|
|
|
14286
14469
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
14287
14470
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14288
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14471
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14289
14472
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14290
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14291
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14473
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14474
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
|
|
14292
14475
|
] }),
|
|
14293
14476
|
item.path ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1 text-ods-text-secondary text-h6", children: [
|
|
14294
14477
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
|
|
@@ -14296,16 +14479,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14296
14479
|
] }) : null,
|
|
14297
14480
|
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-ods-text-secondary text-h6", children: item.preview }) }) : null
|
|
14298
14481
|
] }),
|
|
14299
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
14482
|
+
_optionalChain([anchorProps, 'optionalAccess', _340 => _340.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14300
14483
|
] });
|
|
14301
14484
|
if (!anchorProps) {
|
|
14302
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14485
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14303
14486
|
}
|
|
14304
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14487
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14305
14488
|
}
|
|
14306
14489
|
function DataRoomDocCardSkeleton({ className }) {
|
|
14307
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14308
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14490
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14491
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14309
14492
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14310
14493
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14311
14494
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14324,31 +14507,31 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14324
14507
|
|
|
14325
14508
|
|
|
14326
14509
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14327
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
14510
|
+
const goalsCount = _optionalChain([campaign, 'access', _341 => _341.goals, 'optionalAccess', _342 => _342.length]) || 0;
|
|
14328
14511
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14329
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14330
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14331
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14332
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14333
|
-
campaign.start_date ?
|
|
14512
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
14513
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14514
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
|
|
14515
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUBTITLE, children: [
|
|
14516
|
+
campaign.start_date ? _chunkRFUOIQSGcjs.formatDateShort.call(void 0, campaign.start_date) : null,
|
|
14334
14517
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14335
14518
|
"Marketing campaign"
|
|
14336
14519
|
].filter(Boolean).join(" \xB7 ") }) }),
|
|
14337
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14520
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14338
14521
|
] })
|
|
14339
14522
|
] });
|
|
14340
14523
|
if (anchorProps) {
|
|
14341
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14524
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
|
|
14342
14525
|
}
|
|
14343
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14526
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
|
|
14344
14527
|
}
|
|
14345
14528
|
function CampaignCardAdminSkeleton({ className }) {
|
|
14346
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14347
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14348
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14349
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14350
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14351
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14529
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14530
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14531
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14532
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
|
|
14533
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14534
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
|
|
14352
14535
|
] })
|
|
14353
14536
|
] });
|
|
14354
14537
|
}
|
|
@@ -14357,14 +14540,14 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
14357
14540
|
|
|
14358
14541
|
|
|
14359
14542
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
14360
|
-
const href =
|
|
14543
|
+
const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
|
|
14361
14544
|
const dateText = _chunkF5BPGWGTcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14362
14545
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14363
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14546
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14364
14547
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14365
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14548
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14366
14549
|
item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14367
|
-
|
|
14550
|
+
_chunkRFUOIQSGcjs.StatusBadge,
|
|
14368
14551
|
{
|
|
14369
14552
|
text: item.badge.text,
|
|
14370
14553
|
variant: "button",
|
|
@@ -14382,18 +14565,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
|
|
|
14382
14565
|
] }),
|
|
14383
14566
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
|
|
14384
14567
|
] }, i)) }) : null,
|
|
14385
|
-
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14568
|
+
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
|
|
14386
14569
|
] }),
|
|
14387
14570
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14388
14571
|
] });
|
|
14389
14572
|
if (anchorProps) {
|
|
14390
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14573
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14391
14574
|
}
|
|
14392
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${
|
|
14575
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14393
14576
|
}
|
|
14394
14577
|
function GenericEntityCardSkeleton({ className }) {
|
|
14395
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14396
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14578
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14579
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14397
14580
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14398
14581
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14399
14582
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14409,6 +14592,110 @@ function GenericEntityCardSkeleton({ className }) {
|
|
|
14409
14592
|
] });
|
|
14410
14593
|
}
|
|
14411
14594
|
|
|
14595
|
+
// src/utils/url-fix.ts
|
|
14596
|
+
function fixUrlDoubleSlashes(url) {
|
|
14597
|
+
if (!url) return url;
|
|
14598
|
+
const protocolMatch = url.match(/^(https?:\/\/)/);
|
|
14599
|
+
if (protocolMatch) {
|
|
14600
|
+
const protocol = protocolMatch[1];
|
|
14601
|
+
const rest = url.substring(protocol.length);
|
|
14602
|
+
const fixedRest = rest.replace(/\/+/g, "/");
|
|
14603
|
+
return protocol + fixedRest;
|
|
14604
|
+
}
|
|
14605
|
+
return url.replace(/\/+/g, "/");
|
|
14606
|
+
}
|
|
14607
|
+
function fixSupabaseStorageUrl(url) {
|
|
14608
|
+
if (!url) return url;
|
|
14609
|
+
const SUPABASE_STORAGE_SEGMENT = "/storage/v1/object/public/";
|
|
14610
|
+
if (url.includes(SUPABASE_STORAGE_SEGMENT)) {
|
|
14611
|
+
return fixUrlDoubleSlashes(url);
|
|
14612
|
+
}
|
|
14613
|
+
return url;
|
|
14614
|
+
}
|
|
14615
|
+
|
|
14616
|
+
// src/utils/vendor-media-stub.ts
|
|
14617
|
+
function getVendorLogo(vendor) {
|
|
14618
|
+
if (vendor.logo_url) {
|
|
14619
|
+
return fixSupabaseStorageUrl(vendor.logo_url);
|
|
14620
|
+
}
|
|
14621
|
+
if (vendor.logo) {
|
|
14622
|
+
return fixSupabaseStorageUrl(vendor.logo);
|
|
14623
|
+
}
|
|
14624
|
+
const logoMedia = _optionalChain([vendor, 'access', _343 => _343.vendor_media, 'optionalAccess', _344 => _344.find, 'call', _345 => _345((m) => m.media_type === "logo")]);
|
|
14625
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _346 => _346.media_url])) {
|
|
14626
|
+
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
14627
|
+
}
|
|
14628
|
+
return null;
|
|
14629
|
+
}
|
|
14630
|
+
|
|
14631
|
+
// src/components/vendor-icon.tsx
|
|
14632
|
+
|
|
14633
|
+
var sizeClasses = {
|
|
14634
|
+
xs: "w-6 h-6",
|
|
14635
|
+
sm: "w-8 h-8",
|
|
14636
|
+
md: "w-10 h-10",
|
|
14637
|
+
lg: "w-12 h-12",
|
|
14638
|
+
l: "w-14 h-14",
|
|
14639
|
+
xl: "w-16 h-16"
|
|
14640
|
+
};
|
|
14641
|
+
var imageSizeMap = {
|
|
14642
|
+
xs: { width: 16, height: 16 },
|
|
14643
|
+
sm: { width: 20, height: 20 },
|
|
14644
|
+
md: { width: 32, height: 32 },
|
|
14645
|
+
lg: { width: 40, height: 40 },
|
|
14646
|
+
l: { width: 38, height: 38 },
|
|
14647
|
+
xl: { width: 40, height: 40 }
|
|
14648
|
+
};
|
|
14649
|
+
var tilePxMap = {
|
|
14650
|
+
xs: 24,
|
|
14651
|
+
sm: 32,
|
|
14652
|
+
md: 40,
|
|
14653
|
+
lg: 48,
|
|
14654
|
+
l: 56,
|
|
14655
|
+
xl: 64
|
|
14656
|
+
};
|
|
14657
|
+
var backgroundClasses = {
|
|
14658
|
+
dark: "bg-ods-bg border border-ods-border",
|
|
14659
|
+
light: "bg-ods-card border border-ods-border",
|
|
14660
|
+
white: "bg-white border border-[#E5E5E5]"
|
|
14661
|
+
};
|
|
14662
|
+
function VendorIcon({
|
|
14663
|
+
vendor,
|
|
14664
|
+
size = "md",
|
|
14665
|
+
className = "",
|
|
14666
|
+
showBackground = true,
|
|
14667
|
+
backgroundStyle = "dark"
|
|
14668
|
+
}) {
|
|
14669
|
+
const logoUrl = getVendorLogo(vendor);
|
|
14670
|
+
const { width, height } = showBackground ? imageSizeMap[size] : { width: tilePxMap[size], height: tilePxMap[size] };
|
|
14671
|
+
const containerClasses = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
14672
|
+
sizeClasses[size],
|
|
14673
|
+
"flex flex-shrink-0 items-center justify-center rounded-lg",
|
|
14674
|
+
showBackground && backgroundClasses[backgroundStyle],
|
|
14675
|
+
!showBackground && "overflow-hidden",
|
|
14676
|
+
className
|
|
14677
|
+
);
|
|
14678
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14679
|
+
_chunkMGHIV4L6cjs.next_image_default,
|
|
14680
|
+
{
|
|
14681
|
+
src: _chunkRFUOIQSGcjs.getProxiedImageUrl2.call(void 0, logoUrl) || logoUrl,
|
|
14682
|
+
alt: `${vendor.title} logo`,
|
|
14683
|
+
width,
|
|
14684
|
+
height,
|
|
14685
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0, "object-contain", showBackground ? "p-1" : "h-full w-full")
|
|
14686
|
+
}
|
|
14687
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14688
|
+
"div",
|
|
14689
|
+
{
|
|
14690
|
+
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
14691
|
+
"flex items-center justify-center uppercase text-h6",
|
|
14692
|
+
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
14693
|
+
),
|
|
14694
|
+
children: _optionalChain([vendor, 'access', _347 => _347.title, 'optionalAccess', _348 => _348.substring, 'call', _349 => _349(0, 2)]) || "??"
|
|
14695
|
+
}
|
|
14696
|
+
) });
|
|
14697
|
+
}
|
|
14698
|
+
|
|
14412
14699
|
// src/components/chat/hooks/use-chat-card-item.ts
|
|
14413
14700
|
|
|
14414
14701
|
function useChatCardItem(type, id) {
|
|
@@ -14421,8 +14708,8 @@ function useChatCardItem(type, id) {
|
|
|
14421
14708
|
const res = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, url);
|
|
14422
14709
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
14423
14710
|
const data = await res.json();
|
|
14424
|
-
const items =
|
|
14425
|
-
const match = items.find((it) =>
|
|
14711
|
+
const items = _chunkRFUOIQSGcjs.extractCardItems.call(void 0, type, data);
|
|
14712
|
+
const match = items.find((it) => _chunkRFUOIQSGcjs.extractItemId.call(void 0, type, it) === id);
|
|
14426
14713
|
return _nullishCoalesce(match, () => ( null));
|
|
14427
14714
|
},
|
|
14428
14715
|
enabled: !!url && id.length > 0,
|
|
@@ -14597,7 +14884,7 @@ function pickFetchedCardHref({
|
|
|
14597
14884
|
itemHref,
|
|
14598
14885
|
allowComposed
|
|
14599
14886
|
}) {
|
|
14600
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
14887
|
+
if (_optionalChain([composed, 'optionalAccess', _350 => _350.hostOverride])) {
|
|
14601
14888
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14602
14889
|
}
|
|
14603
14890
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -14613,7 +14900,7 @@ function resolveFetchedCardHref({
|
|
|
14613
14900
|
composeContentUrl
|
|
14614
14901
|
}) {
|
|
14615
14902
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
14616
|
-
const canonicalType =
|
|
14903
|
+
const canonicalType = _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
14617
14904
|
return composeContentUrl({
|
|
14618
14905
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
14619
14906
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -14643,7 +14930,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
|
|
|
14643
14930
|
}
|
|
14644
14931
|
function pickSourceIcon(sourceRepo, documentType) {
|
|
14645
14932
|
const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
|
|
14646
|
-
const icon = iconName ?
|
|
14933
|
+
const icon = iconName ? _chunkIMTY3GRRcjs.getIconComponent.call(void 0, iconName) : _lucidereact.FileText;
|
|
14647
14934
|
const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
|
|
14648
14935
|
return { icon, iconLabel };
|
|
14649
14936
|
}
|
|
@@ -14659,20 +14946,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14659
14946
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
14660
14947
|
const safePath = sanitizePath(row.path);
|
|
14661
14948
|
if (safePath) {
|
|
14662
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
14949
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _351 => _351.docPlatformTargets, 'optionalAccess', _352 => _352[row.documentType]]) : void 0;
|
|
14663
14950
|
if (docTarget) {
|
|
14664
14951
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14665
14952
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
14666
|
-
href = _nullishCoalesce(
|
|
14953
|
+
href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14667
14954
|
targetPlatform = docTarget.platform;
|
|
14668
14955
|
} else if (ctx.chipBasePlatform) {
|
|
14669
14956
|
const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
|
|
14670
|
-
href = _nullishCoalesce(
|
|
14957
|
+
href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14671
14958
|
targetPlatform = ctx.chipBasePlatform;
|
|
14672
14959
|
} else if (ctx.baseRoute) {
|
|
14673
14960
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
14674
14961
|
const absolute = new URL(safePath, synthetic).toString();
|
|
14675
|
-
href = _nullishCoalesce(
|
|
14962
|
+
href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
14676
14963
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
14677
14964
|
}
|
|
14678
14965
|
}
|
|
@@ -14681,15 +14968,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14681
14968
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
14682
14969
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
14683
14970
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
14684
|
-
type:
|
|
14971
|
+
type: _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
14685
14972
|
identifier: idValue,
|
|
14686
14973
|
externalUrl: row.externalUrl,
|
|
14687
14974
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
14688
14975
|
});
|
|
14689
|
-
href = composed.href ? _nullishCoalesce(
|
|
14976
|
+
href = composed.href ? _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
14690
14977
|
targetPlatform = composed.targetPlatform;
|
|
14691
14978
|
} else if (row.externalUrl) {
|
|
14692
|
-
href = _nullishCoalesce(
|
|
14979
|
+
href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
14693
14980
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
14694
14981
|
}
|
|
14695
14982
|
const documentType = row.documentType;
|
|
@@ -14728,7 +15015,7 @@ function resolveCardDestination({
|
|
|
14728
15015
|
composeContentUrl,
|
|
14729
15016
|
resolveHref = (href) => href
|
|
14730
15017
|
}) {
|
|
14731
|
-
const refPath = typeof _optionalChain([chatRef, 'access',
|
|
15018
|
+
const refPath = typeof _optionalChain([chatRef, 'access', _353 => _353.metadata, 'optionalAccess', _354 => _354.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
14732
15019
|
const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
|
|
14733
15020
|
const cta = resolveSourceRowCTA(
|
|
14734
15021
|
{
|
|
@@ -14745,7 +15032,7 @@ function resolveCardDestination({
|
|
|
14745
15032
|
const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
|
|
14746
15033
|
const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
|
|
14747
15034
|
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
14748
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
15035
|
+
if (_optionalChain([entry, 'optionalAccess', _355 => _355.contentRefType]) && item) {
|
|
14749
15036
|
const choice = pickFetchedCardHref({
|
|
14750
15037
|
composed: resolveFetchedCardHref({
|
|
14751
15038
|
contentRefType: entry.contentRefType,
|
|
@@ -14753,10 +15040,10 @@ function resolveCardDestination({
|
|
|
14753
15040
|
item,
|
|
14754
15041
|
composeContentUrl
|
|
14755
15042
|
}),
|
|
14756
|
-
itemHref: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
15043
|
+
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _356 => _356.fallbackHref, 'optionalCall', _357 => _357(item)]), () => ( null)),
|
|
14757
15044
|
allowComposed: !entry.noComposedHref
|
|
14758
15045
|
});
|
|
14759
|
-
const url = choice ? _nullishCoalesce(
|
|
15046
|
+
const url = choice ? _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
14760
15047
|
if (choice && url) {
|
|
14761
15048
|
return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
|
|
14762
15049
|
}
|
|
@@ -14769,11 +15056,11 @@ function resolveCardDestination({
|
|
|
14769
15056
|
|
|
14770
15057
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
14771
15058
|
const label = entityLabel || "Item";
|
|
14772
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
14773
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14774
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
14775
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14776
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
15059
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
15060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
15061
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
15062
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
15063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
14777
15064
|
label,
|
|
14778
15065
|
" deleted",
|
|
14779
15066
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -14828,7 +15115,7 @@ function GitHubChatCard({
|
|
|
14828
15115
|
description,
|
|
14829
15116
|
icon: githubKindIcon(kind),
|
|
14830
15117
|
status,
|
|
14831
|
-
anchorProps:
|
|
15118
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14832
15119
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14833
15120
|
menuAriaLabel: "Activity actions"
|
|
14834
15121
|
}
|
|
@@ -14847,8 +15134,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
14847
15134
|
if (href) {
|
|
14848
15135
|
items.push({
|
|
14849
15136
|
id: "open-details",
|
|
14850
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14851
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15137
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _358 => _358.label]), () => ( "Open Details")),
|
|
15138
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _359 => _359.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
|
|
14852
15139
|
// Main row → open the entity (same tab, soft Link nav).
|
|
14853
15140
|
href,
|
|
14854
15141
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -14908,18 +15195,18 @@ function itemVideoMetadata(item) {
|
|
|
14908
15195
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
14909
15196
|
return void 0;
|
|
14910
15197
|
};
|
|
14911
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15198
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.metadata]), () => ( {}));
|
|
14912
15199
|
const out = {};
|
|
14913
|
-
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
14914
|
-
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
14915
|
-
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
15200
|
+
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _361 => _361.custom_video_url]), _optionalChain([item, 'optionalAccess', _362 => _362.main_video_url]));
|
|
15201
|
+
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _363 => _363.youtube_url]), _optionalChain([item, 'optionalAccess', _364 => _364.testimonial_video_url]));
|
|
15202
|
+
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _365 => _365.highlight_video_url]));
|
|
14916
15203
|
const videoPoster = pick2(
|
|
14917
15204
|
m.videoPoster,
|
|
14918
|
-
_optionalChain([item, 'optionalAccess',
|
|
14919
|
-
_optionalChain([item, 'optionalAccess',
|
|
14920
|
-
_optionalChain([item, 'optionalAccess',
|
|
15205
|
+
_optionalChain([item, 'optionalAccess', _366 => _366.main_video_thumbnail]),
|
|
15206
|
+
_optionalChain([item, 'optionalAccess', _367 => _367.highlight_video_thumbnail]),
|
|
15207
|
+
_optionalChain([item, 'optionalAccess', _368 => _368.featured_image])
|
|
14921
15208
|
);
|
|
14922
|
-
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
15209
|
+
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _369 => _369.highlight_video_thumbnail]));
|
|
14923
15210
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
14924
15211
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
14925
15212
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -14949,15 +15236,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
14949
15236
|
}
|
|
14950
15237
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
14951
15238
|
const it = item;
|
|
14952
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
15239
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _370 => _370.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
14953
15240
|
return {
|
|
14954
15241
|
type: "faq",
|
|
14955
15242
|
id: chatRef.id,
|
|
14956
15243
|
sourceRepo: chatRef.sourceRepo,
|
|
14957
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
15244
|
+
title: typeof _optionalChain([it, 'optionalAccess', _371 => _371.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
14958
15245
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
14959
15246
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
14960
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
15247
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _372 => _372.section]) === "string" && it.section ? { section: it.section } : {}
|
|
14961
15248
|
};
|
|
14962
15249
|
}
|
|
14963
15250
|
function HubspotTicketChatCard({
|
|
@@ -14965,8 +15252,8 @@ function HubspotTicketChatCard({
|
|
|
14965
15252
|
isNewTab,
|
|
14966
15253
|
discuss
|
|
14967
15254
|
}) {
|
|
14968
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
14969
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
15255
|
+
const status = typeof _optionalChain([chatRef, 'access', _373 => _373.metadata, 'optionalAccess', _374 => _374.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
15256
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _375 => _375.metadata, 'optionalAccess', _376 => _376.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
14970
15257
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
14971
15258
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14972
15259
|
MingoInfoCard,
|
|
@@ -14975,7 +15262,7 @@ function HubspotTicketChatCard({
|
|
|
14975
15262
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14976
15263
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 24 }),
|
|
14977
15264
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
14978
|
-
anchorProps:
|
|
15265
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14979
15266
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
14980
15267
|
label: "Open Ticket Details",
|
|
14981
15268
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 20 })
|
|
@@ -14989,7 +15276,7 @@ function FaqChatCard({
|
|
|
14989
15276
|
isNewTab,
|
|
14990
15277
|
discuss
|
|
14991
15278
|
}) {
|
|
14992
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
15279
|
+
const section = typeof _optionalChain([chatRef, 'access', _377 => _377.metadata, 'optionalAccess', _378 => _378.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
14993
15280
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
14994
15281
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14995
15282
|
MingoInfoCard,
|
|
@@ -14998,7 +15285,7 @@ function FaqChatCard({
|
|
|
14998
15285
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14999
15286
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.QuestionCircleIcon, { size: 24 }),
|
|
15000
15287
|
status: { label: statusLabel, variant: "grey" },
|
|
15001
|
-
anchorProps:
|
|
15288
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15002
15289
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15003
15290
|
menuAriaLabel: "FAQ actions"
|
|
15004
15291
|
}
|
|
@@ -15009,7 +15296,7 @@ function SlackChatCard({
|
|
|
15009
15296
|
isNewTab,
|
|
15010
15297
|
discuss
|
|
15011
15298
|
}) {
|
|
15012
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
15299
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _379 => _379.metadata, 'optionalAccess', _380 => _380.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
15013
15300
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
15014
15301
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
15015
15302
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15018,7 +15305,7 @@ function SlackChatCard({
|
|
|
15018
15305
|
title,
|
|
15019
15306
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15020
15307
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
15021
|
-
anchorProps:
|
|
15308
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15022
15309
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15023
15310
|
menuAriaLabel: "Message actions"
|
|
15024
15311
|
}
|
|
@@ -15036,7 +15323,7 @@ function GlyphChatCard({
|
|
|
15036
15323
|
title: chatRef.title,
|
|
15037
15324
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15038
15325
|
icon,
|
|
15039
|
-
anchorProps:
|
|
15326
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15040
15327
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15041
15328
|
menuAriaLabel: "Card actions"
|
|
15042
15329
|
}
|
|
@@ -15052,22 +15339,22 @@ function TrustCenterChatCard({
|
|
|
15052
15339
|
isNewTab,
|
|
15053
15340
|
discuss
|
|
15054
15341
|
}) {
|
|
15055
|
-
const raw = _optionalChain([item, 'optionalAccess',
|
|
15342
|
+
const raw = _optionalChain([item, 'optionalAccess', _381 => _381.frameworks]);
|
|
15056
15343
|
const frameworks = Array.isArray(raw) ? raw : [];
|
|
15057
|
-
const summary =
|
|
15344
|
+
const summary = _chunkRFUOIQSGcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
15058
15345
|
const leadFramework = frameworks[0];
|
|
15059
15346
|
const lead = leadFramework ? {
|
|
15060
|
-
label:
|
|
15061
|
-
color:
|
|
15347
|
+
label: _chunkRFUOIQSGcjs.trustFrameworkBadge.call(void 0, leadFramework),
|
|
15348
|
+
color: _chunkRFUOIQSGcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
|
|
15062
15349
|
} : void 0;
|
|
15063
15350
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15064
15351
|
MingoInfoCard,
|
|
15065
15352
|
{
|
|
15066
|
-
title:
|
|
15067
|
-
description: summary ||
|
|
15353
|
+
title: _chunkRFUOIQSGcjs.TRUST_CENTER_TITLE,
|
|
15354
|
+
description: summary || _chunkRFUOIQSGcjs.TRUST_CENTER_TAGLINE,
|
|
15068
15355
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 24 }),
|
|
15069
15356
|
status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
|
|
15070
|
-
anchorProps:
|
|
15357
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15071
15358
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
15072
15359
|
label: "View trust center",
|
|
15073
15360
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 20 })
|
|
@@ -15089,7 +15376,7 @@ function DataRoomDocChatCard({
|
|
|
15089
15376
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15090
15377
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15091
15378
|
status: { label: badgeText, variant: "grey" },
|
|
15092
|
-
anchorProps:
|
|
15379
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15093
15380
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15094
15381
|
menuAriaLabel: "Document actions"
|
|
15095
15382
|
}
|
|
@@ -15101,14 +15388,14 @@ function GenericFinancialChatCard({
|
|
|
15101
15388
|
isNewTab,
|
|
15102
15389
|
discuss
|
|
15103
15390
|
}) {
|
|
15104
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
15391
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _382 => _382.metadata, 'optionalAccess', _383 => _383.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
15105
15392
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15106
15393
|
MingoInfoCard,
|
|
15107
15394
|
{
|
|
15108
15395
|
title: chatRef.title,
|
|
15109
15396
|
description: subtitle,
|
|
15110
15397
|
icon,
|
|
15111
|
-
anchorProps:
|
|
15398
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15112
15399
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15113
15400
|
menuAriaLabel: "Document actions"
|
|
15114
15401
|
}
|
|
@@ -15170,12 +15457,12 @@ function ProductReleaseChatCard({
|
|
|
15170
15457
|
discuss
|
|
15171
15458
|
}) {
|
|
15172
15459
|
const releaseProps = buildProps(item);
|
|
15173
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
15460
|
+
const status = _optionalChain([item, 'optionalAccess', _384 => _384.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15174
15461
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15175
15462
|
EntityMingoCard,
|
|
15176
15463
|
{
|
|
15177
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15178
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15464
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _385 => _385.title]), () => ( "")),
|
|
15465
|
+
description: _optionalChain([item, 'optionalAccess', _386 => _386.summary]) || releaseProps.formattedDate || void 0,
|
|
15179
15466
|
cover: releaseProps.coverImage || void 0,
|
|
15180
15467
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
|
|
15181
15468
|
status,
|
|
@@ -15192,17 +15479,17 @@ function CampaignChatCard({
|
|
|
15192
15479
|
isNewTab,
|
|
15193
15480
|
discuss
|
|
15194
15481
|
}) {
|
|
15195
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15482
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _387 => _387.goals])) ? item.goals.length : 0;
|
|
15196
15483
|
const meta = [
|
|
15197
|
-
_optionalChain([item, 'optionalAccess',
|
|
15484
|
+
_optionalChain([item, 'optionalAccess', _388 => _388.start_date]) ? _chunkRFUOIQSGcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15198
15485
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15199
15486
|
"Marketing campaign"
|
|
15200
15487
|
].filter(Boolean).join(" \xB7 ");
|
|
15201
15488
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15202
15489
|
EntityMingoCard,
|
|
15203
15490
|
{
|
|
15204
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15205
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15491
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _389 => _389.name]), () => ( "")),
|
|
15492
|
+
description: meta || _optionalChain([item, 'optionalAccess', _390 => _390.description]) || void 0,
|
|
15206
15493
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
|
|
15207
15494
|
chatRef,
|
|
15208
15495
|
isNewTab,
|
|
@@ -15233,7 +15520,7 @@ function EntityMingoCard({
|
|
|
15233
15520
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
15234
15521
|
icon: fallbackIcon,
|
|
15235
15522
|
status,
|
|
15236
|
-
anchorProps:
|
|
15523
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15237
15524
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
15238
15525
|
menuAriaLabel
|
|
15239
15526
|
}
|
|
@@ -15245,7 +15532,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
15245
15532
|
function statusPill(status) {
|
|
15246
15533
|
const s = typeof status === "string" ? status.trim() : "";
|
|
15247
15534
|
if (!s) return void 0;
|
|
15248
|
-
const scheme =
|
|
15535
|
+
const scheme = _chunkRFUOIQSGcjs.getStatusColorScheme.call(void 0, s);
|
|
15249
15536
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
15250
15537
|
return { label: s, variant };
|
|
15251
15538
|
}
|
|
@@ -15257,14 +15544,14 @@ function BlogChatCard({
|
|
|
15257
15544
|
hasEmbeddedVideo,
|
|
15258
15545
|
discuss
|
|
15259
15546
|
}) {
|
|
15260
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15547
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _391 => _391.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _392 => _392.categories, 'access', _393 => _393.find, 'call', _394 => _394((c) => _optionalChain([c, 'optionalAccess', _395 => _395.name])), 'optionalAccess', _396 => _396.name]), () => ( void 0)) : void 0;
|
|
15261
15548
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15262
15549
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15263
15550
|
EntityMingoCard,
|
|
15264
15551
|
{
|
|
15265
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15266
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15267
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15552
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.title]), () => ( "")),
|
|
15553
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _398 => _398.summary]), () => ( void 0)),
|
|
15554
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _399 => _399.featured_image]), ogPlaceholder),
|
|
15268
15555
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
|
|
15269
15556
|
status,
|
|
15270
15557
|
chatRef,
|
|
@@ -15281,13 +15568,13 @@ function CaseStudyChatCard({
|
|
|
15281
15568
|
ogPlaceholder,
|
|
15282
15569
|
discuss
|
|
15283
15570
|
}) {
|
|
15284
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15571
|
+
const meta = [_optionalChain([item, 'optionalAccess', _400 => _400.msp, 'optionalAccess', _401 => _401.name]), _optionalChain([item, 'optionalAccess', _402 => _402.user, 'optionalAccess', _403 => _403.full_name])].filter(Boolean).join(" \xB7 ");
|
|
15285
15572
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15286
15573
|
EntityMingoCard,
|
|
15287
15574
|
{
|
|
15288
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15289
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15290
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15575
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.title]), () => ( "")),
|
|
15576
|
+
description: _optionalChain([item, 'optionalAccess', _405 => _405.summary]) || meta || void 0,
|
|
15577
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _406 => _406.featured_image]), ogPlaceholder),
|
|
15291
15578
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
|
|
15292
15579
|
status: { label: "Case study", variant: "grey" },
|
|
15293
15580
|
chatRef,
|
|
@@ -15304,13 +15591,13 @@ function CustomerInterviewChatCard({
|
|
|
15304
15591
|
ogPlaceholder,
|
|
15305
15592
|
discuss
|
|
15306
15593
|
}) {
|
|
15307
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15594
|
+
const meta = [_optionalChain([item, 'optionalAccess', _407 => _407.user, 'optionalAccess', _408 => _408.full_name]), _optionalChain([item, 'optionalAccess', _409 => _409.msp, 'optionalAccess', _410 => _410.name])].filter(Boolean).join(" \xB7 ");
|
|
15308
15595
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15309
15596
|
EntityMingoCard,
|
|
15310
15597
|
{
|
|
15311
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15312
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15313
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15598
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
|
|
15599
|
+
description: _optionalChain([item, 'optionalAccess', _412 => _412.video_summary]) || meta || void 0,
|
|
15600
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _413 => _413.featured_image]), ogPlaceholder),
|
|
15314
15601
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
|
|
15315
15602
|
status: { label: "Interview", variant: "grey" },
|
|
15316
15603
|
chatRef,
|
|
@@ -15327,16 +15614,16 @@ function DesignDocChatCard({
|
|
|
15327
15614
|
discuss
|
|
15328
15615
|
}) {
|
|
15329
15616
|
const displayRef = fetchedItemDisplayRef(item, chatRef);
|
|
15330
|
-
const doc = _optionalChain([item, 'optionalAccess',
|
|
15617
|
+
const doc = _optionalChain([item, 'optionalAccess', _414 => _414.doc]);
|
|
15331
15618
|
const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
|
|
15332
15619
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15333
15620
|
MingoInfoCard,
|
|
15334
15621
|
{
|
|
15335
|
-
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
15622
|
+
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _415 => _415.title]), () => ( displayRef.title)),
|
|
15336
15623
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15337
15624
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15338
15625
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
15339
|
-
anchorProps:
|
|
15626
|
+
anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
|
|
15340
15627
|
menuGroups: cardMenuGroups(displayRef.url, discuss),
|
|
15341
15628
|
menuAriaLabel: "Design doc actions"
|
|
15342
15629
|
}
|
|
@@ -15349,13 +15636,13 @@ function InvestorUpdateChatCard({
|
|
|
15349
15636
|
ogPlaceholder,
|
|
15350
15637
|
discuss
|
|
15351
15638
|
}) {
|
|
15352
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15639
|
+
const title = _optionalChain([item, 'optionalAccess', _416 => _416.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _417 => _417.update_number]), () => ( "?"))}`;
|
|
15353
15640
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15354
15641
|
EntityMingoCard,
|
|
15355
15642
|
{
|
|
15356
15643
|
title,
|
|
15357
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15358
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15644
|
+
description: _optionalChain([item, 'optionalAccess', _418 => _418.strategic_update]) || _optionalChain([item, 'optionalAccess', _419 => _419.content]) || _chunkRFUOIQSGcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.period_end]), () => ( null))) || void 0,
|
|
15645
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _422 => _422.featured_image]), ogPlaceholder),
|
|
15359
15646
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
|
|
15360
15647
|
status: { label: "Investor update", variant: "grey" },
|
|
15361
15648
|
chatRef,
|
|
@@ -15372,12 +15659,12 @@ function OnboardingGuideChatCard({
|
|
|
15372
15659
|
ogPlaceholder,
|
|
15373
15660
|
discuss
|
|
15374
15661
|
}) {
|
|
15375
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15662
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _423 => _423.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _424 => _424.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _425 => _425.og_image_url]), ogPlaceholder)));
|
|
15376
15663
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15377
15664
|
EntityMingoCard,
|
|
15378
15665
|
{
|
|
15379
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15380
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15666
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")),
|
|
15667
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.summary]), () => ( _optionalChain([item, 'optionalAccess', _428 => _428.description]))), () => ( void 0)),
|
|
15381
15668
|
cover,
|
|
15382
15669
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
|
|
15383
15670
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15398,13 +15685,13 @@ function ProgramChatCard({
|
|
|
15398
15685
|
discuss
|
|
15399
15686
|
}) {
|
|
15400
15687
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 });
|
|
15401
|
-
const { line: meta } =
|
|
15688
|
+
const { line: meta } = _chunkRFUOIQSGcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkRFUOIQSGcjs.programMetaFormatters.call(void 0, _chunkRFUOIQSGcjs.PROGRAM_META_RENDERERS));
|
|
15402
15689
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15403
15690
|
EntityMingoCard,
|
|
15404
15691
|
{
|
|
15405
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15406
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15407
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15692
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _429 => _429.title]), () => ( "")),
|
|
15693
|
+
description: meta || _optionalChain([item, 'optionalAccess', _430 => _430.description]) || void 0,
|
|
15694
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _431 => _431.cover_url]), ogPlaceholder),
|
|
15408
15695
|
fallbackIcon: icon,
|
|
15409
15696
|
status: { label, variant: "grey" },
|
|
15410
15697
|
chatRef,
|
|
@@ -15421,10 +15708,10 @@ function RoadmapChatCard({
|
|
|
15421
15708
|
cardType,
|
|
15422
15709
|
discuss
|
|
15423
15710
|
}) {
|
|
15424
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15425
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15711
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _432 => _432.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15712
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _433 => _433.customItemId]) != null;
|
|
15426
15713
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MapIcon, { size: 24 });
|
|
15427
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15714
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _434 => _434.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15428
15715
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15429
15716
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15430
15717
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15435,10 +15722,10 @@ function RoadmapChatCard({
|
|
|
15435
15722
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15436
15723
|
EntityMingoCard,
|
|
15437
15724
|
{
|
|
15438
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15439
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15725
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.title]), () => ( "")),
|
|
15726
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.description]), () => ( void 0)),
|
|
15440
15727
|
fallbackIcon: icon,
|
|
15441
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15728
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _437 => _437.status])),
|
|
15442
15729
|
chatRef,
|
|
15443
15730
|
isNewTab,
|
|
15444
15731
|
discuss,
|
|
@@ -15454,7 +15741,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15454
15741
|
bareInline: true,
|
|
15455
15742
|
contentRefType: docType,
|
|
15456
15743
|
noComposedHref: true,
|
|
15457
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15744
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _438 => _438.url]), () => ( null)),
|
|
15458
15745
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15459
15746
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15460
15747
|
};
|
|
@@ -15485,6 +15772,17 @@ function financialRegistryEntries() {
|
|
|
15485
15772
|
))
|
|
15486
15773
|
);
|
|
15487
15774
|
}
|
|
15775
|
+
function refText(ref, key) {
|
|
15776
|
+
const value = _optionalChain([ref, 'optionalAccess', _439 => _439[key]]);
|
|
15777
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
15778
|
+
}
|
|
15779
|
+
function VendorGlyph({ title, logoUrl }) {
|
|
15780
|
+
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
|
|
15781
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
|
|
15782
|
+
}
|
|
15783
|
+
function SitePageGlyph({ iconName }) {
|
|
15784
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
|
|
15785
|
+
}
|
|
15488
15786
|
var GITHUB_CARD_CONFIGS = {
|
|
15489
15787
|
github_commit: { label: "GitHub commit", kind: "commit" },
|
|
15490
15788
|
github_commit_public: { label: "GitHub commit (public)", kind: "commit" },
|
|
@@ -15493,7 +15791,7 @@ var GITHUB_CARD_CONFIGS = {
|
|
|
15493
15791
|
github_pr_review: { label: "GitHub review", kind: "pr_review" },
|
|
15494
15792
|
github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
|
|
15495
15793
|
};
|
|
15496
|
-
var OpenFrameGlyph =
|
|
15794
|
+
var OpenFrameGlyph = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, "openframe");
|
|
15497
15795
|
var REF_GLYPH_CARD_CONFIGS = {
|
|
15498
15796
|
openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
|
|
15499
15797
|
prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CallIcon, { size: 24 }), media: true },
|
|
@@ -15514,7 +15812,12 @@ var REF_GLYPH_CARD_CONFIGS = {
|
|
|
15514
15812
|
code_impact: { label: "Change impact", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingPullRequestIcon, { size: 24 }) },
|
|
15515
15813
|
// A change set: pull requests across repositories declared as one change, with the ClickUp tasks and design
|
|
15516
15814
|
// docs its pull requests are attached to. ONE card for it wherever a set is shown (chat, a design doc's page).
|
|
15517
|
-
change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingMergeIcon, { size: 24 }) }
|
|
15815
|
+
change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingMergeIcon, { size: 24 }) },
|
|
15816
|
+
// A page of the public website (pricing, product, legal, and every page the navigation lists), read live
|
|
15817
|
+
// from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
|
|
15818
|
+
site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
|
|
15819
|
+
// A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
|
|
15820
|
+
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess', _440 => _440.title]), () => ( "")), logoUrl: refText(ref, "logo_url") }) }
|
|
15518
15821
|
};
|
|
15519
15822
|
function refGlyphRegistryEntries() {
|
|
15520
15823
|
return registryEntries(
|
|
@@ -15528,25 +15831,33 @@ function refGlyphRegistryEntries() {
|
|
|
15528
15831
|
title: displayRef.title,
|
|
15529
15832
|
description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15530
15833
|
cover: entityCover(
|
|
15531
|
-
_optionalChain([displayRef, 'access',
|
|
15532
|
-
_nullishCoalesce(_optionalChain([opts, 'access',
|
|
15834
|
+
_optionalChain([displayRef, 'access', _441 => _441.metadata, 'optionalAccess', _442 => _442.videoPoster]),
|
|
15835
|
+
_nullishCoalesce(_optionalChain([opts, 'access', _443 => _443.extras, 'optionalAccess', _444 => _444.buildOgPlaceholderUrl, 'optionalCall', _445 => _445(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
|
|
15533
15836
|
),
|
|
15534
|
-
fallbackIcon: cfg.icon(),
|
|
15837
|
+
fallbackIcon: cfg.icon(displayRef),
|
|
15535
15838
|
status: { label: cfg.label, variant: "grey" },
|
|
15536
15839
|
chatRef: displayRef,
|
|
15537
15840
|
isNewTab: opts.isNewTab,
|
|
15538
15841
|
discuss: opts.discuss,
|
|
15539
15842
|
menuAriaLabel: `${cfg.label} actions`
|
|
15540
15843
|
}
|
|
15541
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15844
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15845
|
+
GlyphChatCard,
|
|
15846
|
+
{
|
|
15847
|
+
chatRef: displayRef,
|
|
15848
|
+
icon: cfg.icon(displayRef),
|
|
15849
|
+
isNewTab: opts.isNewTab,
|
|
15850
|
+
discuss: opts.discuss
|
|
15851
|
+
}
|
|
15852
|
+
)
|
|
15542
15853
|
)
|
|
15543
15854
|
);
|
|
15544
15855
|
}
|
|
15545
15856
|
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15546
15857
|
const it = item;
|
|
15547
|
-
const title = typeof _optionalChain([it, 'optionalAccess',
|
|
15548
|
-
const author = typeof _optionalChain([it, 'optionalAccess',
|
|
15549
|
-
const summary = typeof _optionalChain([it, 'optionalAccess',
|
|
15858
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _446 => _446.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15859
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _447 => _447.author, 'optionalAccess', _448 => _448.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15860
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _449 => _449.summary]) === "string" ? it.summary.trim() : "";
|
|
15550
15861
|
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15551
15862
|
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15552
15863
|
}
|
|
@@ -15588,7 +15899,7 @@ function programRegistryEntries() {
|
|
|
15588
15899
|
label: cfg.label,
|
|
15589
15900
|
contentRefType: cfg.contentRefType,
|
|
15590
15901
|
bareInline: true,
|
|
15591
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15902
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.ProgramCardSkeleton, { size: "sm" }),
|
|
15592
15903
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15593
15904
|
ProgramChatCard,
|
|
15594
15905
|
{
|
|
@@ -15598,7 +15909,7 @@ function programRegistryEntries() {
|
|
|
15598
15909
|
discuss: opts.discuss,
|
|
15599
15910
|
configKey: cfg.configKey,
|
|
15600
15911
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15601
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15912
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
|
|
15602
15913
|
}
|
|
15603
15914
|
)
|
|
15604
15915
|
}));
|
|
@@ -15619,7 +15930,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15619
15930
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15620
15931
|
// task id post-fetch (the refs frame used to carry it).
|
|
15621
15932
|
noComposedHref: true,
|
|
15622
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15933
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _454 => _454.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15623
15934
|
}
|
|
15624
15935
|
};
|
|
15625
15936
|
function roadmapRegistryEntries() {
|
|
@@ -15629,7 +15940,7 @@ function roadmapRegistryEntries() {
|
|
|
15629
15940
|
bareInline: true,
|
|
15630
15941
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
15631
15942
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
15632
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15943
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.RoadmapCardSkeleton, { size: "sm" }),
|
|
15633
15944
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15634
15945
|
RoadmapChatCard,
|
|
15635
15946
|
{
|
|
@@ -15661,8 +15972,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15661
15972
|
DeletedDataCard,
|
|
15662
15973
|
{
|
|
15663
15974
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15664
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15665
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15975
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _455 => _455.metadata, 'optionalAccess', _456 => _456.entity_label]), () => ( null)),
|
|
15976
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _457 => _457.metadata, 'optionalAccess', _458 => _458.recovery_note]), () => ( null))
|
|
15666
15977
|
}
|
|
15667
15978
|
)
|
|
15668
15979
|
},
|
|
@@ -15679,7 +15990,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15679
15990
|
bareInline: true,
|
|
15680
15991
|
contentRefType: "faq",
|
|
15681
15992
|
noComposedHref: true,
|
|
15682
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15993
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _459 => _459.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15683
15994
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15684
15995
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15685
15996
|
},
|
|
@@ -15687,12 +15998,12 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15687
15998
|
// projection route; `extractCardItems` turns its object payload into the
|
|
15688
15999
|
// single matched row. Destination is the public page unless the host
|
|
15689
16000
|
// re-homes the type (`composeContentUrl` override).
|
|
15690
|
-
[
|
|
16001
|
+
[_chunkRFUOIQSGcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
|
|
15691
16002
|
label: "Trust center",
|
|
15692
16003
|
bareInline: true,
|
|
15693
|
-
contentRefType:
|
|
16004
|
+
contentRefType: _chunkRFUOIQSGcjs.TRUST_CENTER_DOCUMENT_TYPE,
|
|
15694
16005
|
noComposedHref: true,
|
|
15695
|
-
fallbackHref: () =>
|
|
16006
|
+
fallbackHref: () => _chunkRFUOIQSGcjs.TRUST_CENTER_PAGE_PATH,
|
|
15696
16007
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15697
16008
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15698
16009
|
},
|
|
@@ -15718,7 +16029,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15718
16029
|
label: "Blog post",
|
|
15719
16030
|
contentRefType: "blog_post_existing",
|
|
15720
16031
|
bareInline: true,
|
|
15721
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16032
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.BlogCardSkeleton, { size: "sm" }),
|
|
15722
16033
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15723
16034
|
BlogChatCard,
|
|
15724
16035
|
{
|
|
@@ -15726,8 +16037,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15726
16037
|
chatRef,
|
|
15727
16038
|
isNewTab: opts.isNewTab,
|
|
15728
16039
|
discuss: opts.discuss,
|
|
15729
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15730
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
16040
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildOgPlaceholderUrl, 'optionalCall', _462 => _462(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _463 => _463.title]), () => ( "")))]), () => ( null)),
|
|
16041
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _464 => _464.metadata, 'optionalAccess', _465 => _465.hasEmbeddedVideo]) === true
|
|
15731
16042
|
}
|
|
15732
16043
|
)
|
|
15733
16044
|
},
|
|
@@ -15735,7 +16046,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15735
16046
|
label: "Case study",
|
|
15736
16047
|
contentRefType: "case_study",
|
|
15737
16048
|
bareInline: true,
|
|
15738
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16049
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.CaseStudyCardSkeleton, { size: "sm" }),
|
|
15739
16050
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15740
16051
|
CaseStudyChatCard,
|
|
15741
16052
|
{
|
|
@@ -15743,7 +16054,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15743
16054
|
chatRef,
|
|
15744
16055
|
isNewTab: opts.isNewTab,
|
|
15745
16056
|
discuss: opts.discuss,
|
|
15746
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16057
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _466 => _466.extras, 'optionalAccess', _467 => _467.buildOgPlaceholderUrl, 'optionalCall', _468 => _468(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _469 => _469.title]), () => ( "")))]), () => ( null))
|
|
15747
16058
|
}
|
|
15748
16059
|
)
|
|
15749
16060
|
},
|
|
@@ -15752,7 +16063,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15752
16063
|
contentRefType: "design_doc",
|
|
15753
16064
|
bareInline: true,
|
|
15754
16065
|
noComposedHref: true,
|
|
15755
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
16066
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _470 => _470.url]), () => ( null)),
|
|
15756
16067
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15757
16068
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15758
16069
|
},
|
|
@@ -15760,7 +16071,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15760
16071
|
label: "Customer interview",
|
|
15761
16072
|
contentRefType: "customer_interview",
|
|
15762
16073
|
bareInline: true,
|
|
15763
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16074
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
|
|
15764
16075
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15765
16076
|
CustomerInterviewChatCard,
|
|
15766
16077
|
{
|
|
@@ -15768,7 +16079,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15768
16079
|
chatRef,
|
|
15769
16080
|
isNewTab: opts.isNewTab,
|
|
15770
16081
|
discuss: opts.discuss,
|
|
15771
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16082
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _471 => _471.extras, 'optionalAccess', _472 => _472.buildOgPlaceholderUrl, 'optionalCall', _473 => _473(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.title]), () => ( "")))]), () => ( null))
|
|
15772
16083
|
}
|
|
15773
16084
|
)
|
|
15774
16085
|
},
|
|
@@ -15776,9 +16087,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15776
16087
|
label: "Product release",
|
|
15777
16088
|
contentRefType: "product_release",
|
|
15778
16089
|
bareInline: true,
|
|
15779
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16090
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15780
16091
|
render: (item, chatRef, opts) => {
|
|
15781
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16092
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildProductReleaseCardProps]), () => ( _chunkRFUOIQSGcjs.defaultBuildProductReleaseCardProps));
|
|
15782
16093
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15783
16094
|
ProductReleaseChatCard,
|
|
15784
16095
|
{
|
|
@@ -15796,7 +16107,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15796
16107
|
label: "Investor update",
|
|
15797
16108
|
contentRefType: "investor_update",
|
|
15798
16109
|
bareInline: true,
|
|
15799
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16110
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
|
|
15800
16111
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15801
16112
|
InvestorUpdateChatCard,
|
|
15802
16113
|
{
|
|
@@ -15804,7 +16115,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15804
16115
|
chatRef,
|
|
15805
16116
|
isNewTab: opts.isNewTab,
|
|
15806
16117
|
discuss: opts.discuss,
|
|
15807
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16118
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _477 => _477.extras, 'optionalAccess', _478 => _478.buildOgPlaceholderUrl, 'optionalCall', _479 => _479(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _480 => _480.title]), () => ( "")))]), () => ( null))
|
|
15808
16119
|
}
|
|
15809
16120
|
)
|
|
15810
16121
|
},
|
|
@@ -15814,7 +16125,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15814
16125
|
bareInline: true,
|
|
15815
16126
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
15816
16127
|
displayAction: true,
|
|
15817
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16128
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
|
|
15818
16129
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15819
16130
|
OnboardingGuideChatCard,
|
|
15820
16131
|
{
|
|
@@ -15822,7 +16133,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15822
16133
|
chatRef,
|
|
15823
16134
|
isNewTab: opts.isNewTab,
|
|
15824
16135
|
discuss: opts.discuss,
|
|
15825
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16136
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
|
|
15826
16137
|
}
|
|
15827
16138
|
)
|
|
15828
16139
|
},
|
|
@@ -15833,13 +16144,13 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15833
16144
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15834
16145
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15835
16146
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15836
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16147
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _485 => _485.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15837
16148
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15838
16149
|
},
|
|
15839
16150
|
...roadmapRegistryEntries()
|
|
15840
16151
|
};
|
|
15841
16152
|
function chatCardLabel(docType) {
|
|
15842
|
-
return _optionalChain([CHAT_CARD_REGISTRY, 'access',
|
|
16153
|
+
return _optionalChain([CHAT_CARD_REGISTRY, 'access', _486 => _486[docType], 'optionalAccess', _487 => _487.label]);
|
|
15843
16154
|
}
|
|
15844
16155
|
function ChatCardNavWrap({
|
|
15845
16156
|
href,
|
|
@@ -15855,13 +16166,13 @@ function ChatCardNavWrap({
|
|
|
15855
16166
|
if (!href) return;
|
|
15856
16167
|
const targetEl = e.target;
|
|
15857
16168
|
const host = e.currentTarget;
|
|
15858
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15859
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15860
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
16169
|
+
if (!_optionalChain([host, 'optionalAccess', _488 => _488.contains, 'call', _489 => _489(targetEl)])) return;
|
|
16170
|
+
if (_optionalChain([targetEl, 'optionalAccess', _490 => _490.closest, 'optionalCall', _491 => _491("button")])) return;
|
|
16171
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _492 => _492.closest, 'optionalCall', _493 => _493("a")])) return;
|
|
15861
16172
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15862
16173
|
if (!handled) return;
|
|
15863
16174
|
e.stopPropagation();
|
|
15864
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
16175
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _494 => _494.closeChat])) panel.closeChat();
|
|
15865
16176
|
};
|
|
15866
16177
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15867
16178
|
}
|
|
@@ -15877,7 +16188,7 @@ function ChatCardLoader({
|
|
|
15877
16188
|
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
15878
16189
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15879
16190
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15880
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
16191
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _495 => _495.contentRefType]), () => ( "")),
|
|
15881
16192
|
fetchEntry ? chatRef.id : ""
|
|
15882
16193
|
);
|
|
15883
16194
|
if (!entry) return null;
|
|
@@ -15898,7 +16209,7 @@ function ChatCardLoader({
|
|
|
15898
16209
|
};
|
|
15899
16210
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
15900
16211
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
15901
|
-
const isNewTab =
|
|
16212
|
+
const isNewTab = _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
15902
16213
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
15903
16214
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
15904
16215
|
const discuss = discussFn ? {
|
|
@@ -15921,7 +16232,7 @@ function ChatCardLoader({
|
|
|
15921
16232
|
isNewTab,
|
|
15922
16233
|
discuss
|
|
15923
16234
|
};
|
|
15924
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
16235
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _496 => _496.metadata, 'optionalAccess', _497 => _497.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
15925
16236
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15926
16237
|
ChatCardNavWrap,
|
|
15927
16238
|
{
|
|
@@ -15945,7 +16256,7 @@ function ChatCardLoader({
|
|
|
15945
16256
|
if (!fetchEntry) {
|
|
15946
16257
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15947
16258
|
}
|
|
15948
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
16259
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _498 => _498.skeleton, 'optionalCall', _499 => _499()]), () => ( null)) });
|
|
15949
16260
|
if (!item) {
|
|
15950
16261
|
if (isError) {
|
|
15951
16262
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16034,12 +16345,12 @@ function makeBatchDedupKey(item) {
|
|
|
16034
16345
|
return `${item.messageType}:${seq}:${type}:${text2}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
|
|
16035
16346
|
}
|
|
16036
16347
|
function getChatTypeMessageType(chatType) {
|
|
16037
|
-
return chatType ===
|
|
16348
|
+
return chatType === _chunkRZQGIWK3cjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
|
|
16038
16349
|
}
|
|
16039
16350
|
function useChunkCatchup({
|
|
16040
16351
|
dialogId,
|
|
16041
16352
|
onChunkReceived,
|
|
16042
|
-
chatTypes = [
|
|
16353
|
+
chatTypes = [_chunkRZQGIWK3cjs.CHAT_TYPE.CLIENT],
|
|
16043
16354
|
fetchChunks
|
|
16044
16355
|
}) {
|
|
16045
16356
|
const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
@@ -16253,7 +16564,7 @@ function useChunkCatchup({
|
|
|
16253
16564
|
if (catchupRun.current === run) {
|
|
16254
16565
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16255
16566
|
catchupRun.current = null;
|
|
16256
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16567
|
+
if (_optionalChain([pendingCatchupRef, 'access', _500 => _500.current, 'optionalAccess', _501 => _501.dialogId]) === currentDialogId) {
|
|
16257
16568
|
pendingCatchupRef.current = null;
|
|
16258
16569
|
}
|
|
16259
16570
|
} else {
|
|
@@ -16264,7 +16575,7 @@ function useChunkCatchup({
|
|
|
16264
16575
|
if (pending.dialogId === currentDialogId) {
|
|
16265
16576
|
rearmForQueuedCatchup();
|
|
16266
16577
|
try {
|
|
16267
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16578
|
+
await _optionalChain([catchUpChunksRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503(pending.fromSequenceId)]);
|
|
16268
16579
|
} catch (rerunError) {
|
|
16269
16580
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16270
16581
|
}
|
|
@@ -16331,7 +16642,7 @@ function useChunkCatchup({
|
|
|
16331
16642
|
|
|
16332
16643
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16333
16644
|
function prefersReducedMotion() {
|
|
16334
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16645
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _504 => _504.matchMedia, 'optionalCall', _505 => _505("(prefers-reduced-motion: reduce)"), 'access', _506 => _506.matches]) === true;
|
|
16335
16646
|
}
|
|
16336
16647
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16337
16648
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16342,7 +16653,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16342
16653
|
setIndex(0);
|
|
16343
16654
|
}
|
|
16344
16655
|
_react.useEffect.call(void 0, () => {
|
|
16345
|
-
const mq = _optionalChain([window, 'access',
|
|
16656
|
+
const mq = _optionalChain([window, 'access', _507 => _507.matchMedia, 'optionalCall', _508 => _508("(prefers-reduced-motion: reduce)")]);
|
|
16346
16657
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16347
16658
|
sync();
|
|
16348
16659
|
if (!mq) return void 0;
|
|
@@ -16485,7 +16796,7 @@ function useJetStreamDialogSubscription({
|
|
|
16485
16796
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16486
16797
|
conn: sharedConn,
|
|
16487
16798
|
wsUrl,
|
|
16488
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16799
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _509 => _509.current, 'optionalCall', _510 => _510()]),
|
|
16489
16800
|
backoff: reconnectionBackoffRef.current,
|
|
16490
16801
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16491
16802
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16500,7 +16811,7 @@ function useJetStreamDialogSubscription({
|
|
|
16500
16811
|
setReconnectionCount((c) => c + 1);
|
|
16501
16812
|
}
|
|
16502
16813
|
hadConnectionBeforeRef.current = true;
|
|
16503
|
-
_optionalChain([onConnectRef, 'access',
|
|
16814
|
+
_optionalChain([onConnectRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
|
|
16504
16815
|
}
|
|
16505
16816
|
if (status === "error") {
|
|
16506
16817
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16510,7 +16821,7 @@ function useJetStreamDialogSubscription({
|
|
|
16510
16821
|
setIsConnected(false);
|
|
16511
16822
|
setIsSubscribed(false);
|
|
16512
16823
|
tearDownSubscription();
|
|
16513
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16824
|
+
_optionalChain([onDisconnectRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]);
|
|
16514
16825
|
}
|
|
16515
16826
|
}
|
|
16516
16827
|
});
|
|
@@ -16636,7 +16947,7 @@ function useJetStreamDialogSubscription({
|
|
|
16636
16947
|
}
|
|
16637
16948
|
subscriptionRef.current = handle;
|
|
16638
16949
|
setIsSubscribed(true);
|
|
16639
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16950
|
+
_optionalChain([onSubscribedRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
|
|
16640
16951
|
} catch (e31) {
|
|
16641
16952
|
if (!cancelled) {
|
|
16642
16953
|
setIsSubscribed(false);
|
|
@@ -16752,20 +17063,20 @@ function useNatsDialogSubscription({
|
|
|
16752
17063
|
const tearDownSubscriptions = () => {
|
|
16753
17064
|
subscriptionRefs.current.forEach((sub) => {
|
|
16754
17065
|
try {
|
|
16755
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17066
|
+
_optionalChain([sub, 'optionalAccess', _517 => _517.unsubscribe, 'call', _518 => _518()]);
|
|
16756
17067
|
} catch (e33) {
|
|
16757
17068
|
}
|
|
16758
17069
|
});
|
|
16759
17070
|
subscriptionRefs.current.clear();
|
|
16760
17071
|
lastSubscribedDialogIdRef.current = null;
|
|
16761
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17072
|
+
_optionalChain([abortControllerRef, 'access', _519 => _519.current, 'optionalAccess', _520 => _520.abort, 'call', _521 => _521()]);
|
|
16762
17073
|
abortControllerRef.current = null;
|
|
16763
17074
|
};
|
|
16764
17075
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16765
17076
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16766
17077
|
conn: sharedConn,
|
|
16767
17078
|
wsUrl,
|
|
16768
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
17079
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]),
|
|
16769
17080
|
backoff: reconnectionBackoffRef.current,
|
|
16770
17081
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16771
17082
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16776,7 +17087,7 @@ function useNatsDialogSubscription({
|
|
|
16776
17087
|
setReconnectionCount((c) => c + 1);
|
|
16777
17088
|
}
|
|
16778
17089
|
hadConnectionBeforeRef.current = true;
|
|
16779
|
-
_optionalChain([onConnectRef, 'access',
|
|
17090
|
+
_optionalChain([onConnectRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]);
|
|
16780
17091
|
}
|
|
16781
17092
|
if (status === "error") {
|
|
16782
17093
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16786,7 +17097,7 @@ function useNatsDialogSubscription({
|
|
|
16786
17097
|
setIsConnected(false);
|
|
16787
17098
|
setIsSubscribed(false);
|
|
16788
17099
|
tearDownSubscriptions();
|
|
16789
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
17100
|
+
_optionalChain([onDisconnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
|
|
16790
17101
|
}
|
|
16791
17102
|
}
|
|
16792
17103
|
});
|
|
@@ -16817,13 +17128,13 @@ function useNatsDialogSubscription({
|
|
|
16817
17128
|
setIsSubscribed(false);
|
|
16818
17129
|
subscriptionRefs.current.forEach((sub) => {
|
|
16819
17130
|
try {
|
|
16820
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17131
|
+
_optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
|
|
16821
17132
|
} catch (e34) {
|
|
16822
17133
|
}
|
|
16823
17134
|
});
|
|
16824
17135
|
subscriptionRefs.current.clear();
|
|
16825
17136
|
lastSubscribedDialogIdRef.current = null;
|
|
16826
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17137
|
+
_optionalChain([abortControllerRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.abort, 'call', _532 => _532()]);
|
|
16827
17138
|
abortControllerRef.current = null;
|
|
16828
17139
|
}
|
|
16829
17140
|
return void 0;
|
|
@@ -16835,12 +17146,12 @@ function useNatsDialogSubscription({
|
|
|
16835
17146
|
if (subscriptionRefs.current.size > 0) {
|
|
16836
17147
|
subscriptionRefs.current.forEach((sub) => {
|
|
16837
17148
|
try {
|
|
16838
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17149
|
+
_optionalChain([sub, 'optionalAccess', _533 => _533.unsubscribe, 'call', _534 => _534()]);
|
|
16839
17150
|
} catch (e35) {
|
|
16840
17151
|
}
|
|
16841
17152
|
});
|
|
16842
17153
|
subscriptionRefs.current.clear();
|
|
16843
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17154
|
+
_optionalChain([abortControllerRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.abort, 'call', _537 => _537()]);
|
|
16844
17155
|
}
|
|
16845
17156
|
abortControllerRef.current = new AbortController();
|
|
16846
17157
|
const abort = abortControllerRef.current;
|
|
@@ -16870,7 +17181,7 @@ function useNatsDialogSubscription({
|
|
|
16870
17181
|
});
|
|
16871
17182
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16872
17183
|
setIsSubscribed(true);
|
|
16873
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17184
|
+
_optionalChain([onSubscribedRef, 'access', _538 => _538.current, 'optionalCall', _539 => _539()]);
|
|
16874
17185
|
};
|
|
16875
17186
|
if (isConnectedRef.current) {
|
|
16876
17187
|
createSubscriptions();
|
|
@@ -16881,7 +17192,7 @@ function useNatsDialogSubscription({
|
|
|
16881
17192
|
abort.abort();
|
|
16882
17193
|
subscriptions.forEach((sub) => {
|
|
16883
17194
|
try {
|
|
16884
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17195
|
+
_optionalChain([sub, 'optionalAccess', _540 => _540.unsubscribe, 'call', _541 => _541()]);
|
|
16885
17196
|
} catch (e37) {
|
|
16886
17197
|
}
|
|
16887
17198
|
});
|
|
@@ -16920,7 +17231,7 @@ function useNatsDialogSubscription({
|
|
|
16920
17231
|
});
|
|
16921
17232
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16922
17233
|
setIsSubscribed(true);
|
|
16923
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17234
|
+
_optionalChain([onSubscribedRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
|
|
16924
17235
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16925
17236
|
setIsSubscribed(true);
|
|
16926
17237
|
}
|
|
@@ -16928,10 +17239,10 @@ function useNatsDialogSubscription({
|
|
|
16928
17239
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16929
17240
|
}
|
|
16930
17241
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16931
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
17242
|
+
const path = _optionalChain([options, 'optionalAccess', _544 => _544.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16932
17243
|
const u = new URL(path, apiBaseUrl);
|
|
16933
17244
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16934
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
17245
|
+
if (_optionalChain([options, 'optionalAccess', _545 => _545.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _546 => _546.token])) {
|
|
16935
17246
|
u.searchParams.set("authorization", options.token);
|
|
16936
17247
|
}
|
|
16937
17248
|
return u.toString();
|
|
@@ -16949,7 +17260,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16949
17260
|
const data = await res.json();
|
|
16950
17261
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
16951
17262
|
} catch (err) {
|
|
16952
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17263
|
+
if (_optionalChain([err, 'optionalAccess', _547 => _547.name]) === "AbortError") throw err;
|
|
16953
17264
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
16954
17265
|
return [];
|
|
16955
17266
|
}
|
|
@@ -16957,8 +17268,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16957
17268
|
var NO_COMMANDS = [];
|
|
16958
17269
|
function useSlashCommands(prefix, commandsUrl) {
|
|
16959
17270
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
16960
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16961
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17271
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _548 => _548.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
17272
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _549 => _549.prefix]) !== prefix;
|
|
16962
17273
|
_react.useEffect.call(void 0, () => {
|
|
16963
17274
|
if (prefix == null) return void 0;
|
|
16964
17275
|
let cancelled = false;
|
|
@@ -16968,7 +17279,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
16968
17279
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
16969
17280
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
16970
17281
|
} catch (err) {
|
|
16971
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
17282
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _550 => _550.name]) !== "AbortError") {
|
|
16972
17283
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
16973
17284
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
16974
17285
|
}
|
|
@@ -16991,7 +17302,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
16991
17302
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16992
17303
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
16993
17304
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
16994
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17305
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _551 => _551.enabled]), () => ( true)),
|
|
16995
17306
|
staleTime: Infinity,
|
|
16996
17307
|
gcTime: Infinity,
|
|
16997
17308
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17030,21 +17341,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17030
17341
|
}
|
|
17031
17342
|
const data = await res.json();
|
|
17032
17343
|
return {
|
|
17033
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17034
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17035
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17036
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17037
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17038
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17344
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _552 => _552.name]), () => ( null)),
|
|
17345
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _553 => _553.icon]), () => ( null)),
|
|
17346
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _554 => _554.greeting]), () => ( null)),
|
|
17347
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _555 => _555.enabledRagTableIds]), () => ( [])),
|
|
17348
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _556 => _556.quickActions]), () => ( [])),
|
|
17349
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _557 => _557.suggestedQueries]), () => ( []))
|
|
17039
17350
|
};
|
|
17040
17351
|
} catch (err) {
|
|
17041
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17352
|
+
if (_optionalChain([err, 'optionalAccess', _558 => _558.name]) === "AbortError") throw err;
|
|
17042
17353
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17043
17354
|
return EMPTY_STATE_FALLBACK;
|
|
17044
17355
|
}
|
|
17045
17356
|
}
|
|
17046
17357
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17047
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17358
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _559 => _559.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17048
17359
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17049
17360
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17050
17361
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17073,7 +17384,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17073
17384
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17074
17385
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17075
17386
|
return new Promise((resolve, reject) => {
|
|
17076
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17387
|
+
if (_optionalChain([signal, 'optionalAccess', _560 => _560.aborted])) {
|
|
17077
17388
|
reject(new Error("Upload cancelled"));
|
|
17078
17389
|
return;
|
|
17079
17390
|
}
|
|
@@ -17115,7 +17426,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17115
17426
|
const handleSignalAbort = () => {
|
|
17116
17427
|
xhr.abort();
|
|
17117
17428
|
};
|
|
17118
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17429
|
+
_optionalChain([signal, 'optionalAccess', _561 => _561.addEventListener, 'call', _562 => _562("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17119
17430
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17120
17431
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17121
17432
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17159,10 +17470,10 @@ function useChatAttachments() {
|
|
|
17159
17470
|
try {
|
|
17160
17471
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17161
17472
|
} catch (err) {
|
|
17162
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17473
|
+
if (_optionalChain([ctrl, 'optionalAccess', _563 => _563.signal, 'access', _564 => _564.aborted])) return;
|
|
17163
17474
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17164
17475
|
}
|
|
17165
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17476
|
+
if (_optionalChain([ctrl, 'optionalAccess', _565 => _565.signal, 'access', _566 => _566.aborted])) return;
|
|
17166
17477
|
if (!sniffed) {
|
|
17167
17478
|
throw new Error("Unrecognized file format");
|
|
17168
17479
|
}
|
|
@@ -17176,7 +17487,7 @@ function useChatAttachments() {
|
|
|
17176
17487
|
const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17177
17488
|
method: "POST",
|
|
17178
17489
|
headers: { "Content-Type": "application/json" },
|
|
17179
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17490
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _567 => _567.signal]),
|
|
17180
17491
|
body: JSON.stringify({
|
|
17181
17492
|
fileName: att.file.name,
|
|
17182
17493
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17205,9 +17516,9 @@ function useChatAttachments() {
|
|
|
17205
17516
|
(pct) => {
|
|
17206
17517
|
updateOne(att.id, { progress: pct });
|
|
17207
17518
|
},
|
|
17208
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17519
|
+
_optionalChain([ctrl, 'optionalAccess', _568 => _568.signal])
|
|
17209
17520
|
);
|
|
17210
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17521
|
+
if (_optionalChain([ctrl, 'optionalAccess', _569 => _569.signal, 'access', _570 => _570.aborted])) return;
|
|
17211
17522
|
updateOne(att.id, {
|
|
17212
17523
|
status: "ready",
|
|
17213
17524
|
progress: 100,
|
|
@@ -17215,7 +17526,7 @@ function useChatAttachments() {
|
|
|
17215
17526
|
viewToken: mintData.viewToken
|
|
17216
17527
|
});
|
|
17217
17528
|
} catch (err) {
|
|
17218
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17529
|
+
if (_optionalChain([ctrl, 'optionalAccess', _571 => _571.signal, 'access', _572 => _572.aborted])) return;
|
|
17219
17530
|
const message = err instanceof Error ? err.message : String(err);
|
|
17220
17531
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17221
17532
|
} finally {
|
|
@@ -17337,7 +17648,7 @@ function useChatAttachmentImageGallery() {
|
|
|
17337
17648
|
return () => root.removeEventListener("click", onClick);
|
|
17338
17649
|
}, [viewUrlPrefix]);
|
|
17339
17650
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17340
|
-
|
|
17651
|
+
_chunkRFUOIQSGcjs.ImageGalleryModal,
|
|
17341
17652
|
{
|
|
17342
17653
|
images: state.images,
|
|
17343
17654
|
isOpen: state.isOpen,
|
|
@@ -17364,11 +17675,11 @@ var ANON_DEFAULTS = {
|
|
|
17364
17675
|
function useResolveChatIdentity(enabled) {
|
|
17365
17676
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
17366
17677
|
const url = runtime.endpoints.identityUrl;
|
|
17367
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17678
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _573 => _573.email]), () => ( null));
|
|
17368
17679
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17369
17680
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17370
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17371
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17681
|
+
const data = _optionalChain([resolved, 'optionalAccess', _574 => _574.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17682
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _575 => _575.key]) !== requestKey;
|
|
17372
17683
|
_react.useEffect.call(void 0, () => {
|
|
17373
17684
|
if (requestKey === null) return void 0;
|
|
17374
17685
|
let cancelled = false;
|
|
@@ -17515,7 +17826,7 @@ function useChat({
|
|
|
17515
17826
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17516
17827
|
});
|
|
17517
17828
|
_react.useEffect.call(void 0, () => {
|
|
17518
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17829
|
+
_optionalChain([onMessagesChangeRef, 'access', _576 => _576.current, 'optionalCall', _577 => _577(messages)]);
|
|
17519
17830
|
}, [messages]);
|
|
17520
17831
|
const {
|
|
17521
17832
|
streamMessage,
|
|
@@ -17552,7 +17863,7 @@ function useChat({
|
|
|
17552
17863
|
name: "You",
|
|
17553
17864
|
content: text2,
|
|
17554
17865
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17555
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17866
|
+
..._optionalChain([options, 'optionalAccess', _578 => _578.hidden]) ? { hidden: true } : {}
|
|
17556
17867
|
};
|
|
17557
17868
|
addMessage(userMessage);
|
|
17558
17869
|
setIsTyping(true);
|
|
@@ -17766,7 +18077,7 @@ function buildConfirmToolBody(request) {
|
|
|
17766
18077
|
async function readServerErrorMessage(response) {
|
|
17767
18078
|
try {
|
|
17768
18079
|
const body = await response.json();
|
|
17769
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
18080
|
+
if (typeof _optionalChain([body, 'optionalAccess', _579 => _579.error]) === "string" && body.error.length > 0) return body.error;
|
|
17770
18081
|
} catch (e39) {
|
|
17771
18082
|
}
|
|
17772
18083
|
return null;
|
|
@@ -18077,7 +18388,7 @@ function nullableText(value) {
|
|
|
18077
18388
|
}
|
|
18078
18389
|
function httpsUrl(value) {
|
|
18079
18390
|
const candidate = text(value);
|
|
18080
|
-
if (!candidate ||
|
|
18391
|
+
if (!candidate || _chunkRFUOIQSGcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
|
|
18081
18392
|
try {
|
|
18082
18393
|
return new URL(candidate).protocol === "https:" ? candidate : void 0;
|
|
18083
18394
|
} catch (e43) {
|
|
@@ -18094,7 +18405,7 @@ function youtubeVideoId(value) {
|
|
|
18094
18405
|
const hostname = parsed.hostname.toLowerCase();
|
|
18095
18406
|
const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
|
|
18096
18407
|
if (!isYoutubeHost) return void 0;
|
|
18097
|
-
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access',
|
|
18408
|
+
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _580 => _580.exec, 'call', _581 => _581(parsed.pathname), 'optionalAccess', _582 => _582[1]]);
|
|
18098
18409
|
const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
|
|
18099
18410
|
return id && YOUTUBE_ID.test(id) ? id : void 0;
|
|
18100
18411
|
}
|
|
@@ -18213,11 +18524,11 @@ function cards(value, decodedSources) {
|
|
|
18213
18524
|
{
|
|
18214
18525
|
type,
|
|
18215
18526
|
id,
|
|
18216
|
-
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18217
|
-
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18218
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18219
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18220
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18527
|
+
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _583 => _583.name]), () => ( id)),
|
|
18528
|
+
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _584 => _584.externalUrl]), () => ( null)),
|
|
18529
|
+
..._optionalChain([source, 'optionalAccess', _585 => _585.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
|
|
18530
|
+
..._optionalChain([source, 'optionalAccess', _586 => _586.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
|
|
18531
|
+
..._optionalChain([source, 'optionalAccess', _587 => _587.path]) ? { metadata: { path: source.path } } : {}
|
|
18221
18532
|
}
|
|
18222
18533
|
];
|
|
18223
18534
|
});
|
|
@@ -18253,11 +18564,11 @@ function attachmentsEvent(record) {
|
|
|
18253
18564
|
}
|
|
18254
18565
|
function mergeSourceMetadata(previous, event) {
|
|
18255
18566
|
const byIndex = /* @__PURE__ */ new Map();
|
|
18256
|
-
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18567
|
+
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _588 => _588.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
|
|
18257
18568
|
if (!byIndex.has(source.index)) byIndex.set(source.index, source);
|
|
18258
18569
|
}
|
|
18259
18570
|
const byIdentity = /* @__PURE__ */ new Map();
|
|
18260
|
-
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18571
|
+
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _589 => _589.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
|
|
18261
18572
|
const identity = `${ref.type}:${ref.id}`;
|
|
18262
18573
|
if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
|
|
18263
18574
|
}
|
|
@@ -18343,9 +18654,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18343
18654
|
for (const seg of segments) {
|
|
18344
18655
|
const tail = merged[merged.length - 1];
|
|
18345
18656
|
const key = upsertKey(seg);
|
|
18346
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18657
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _590 => _590.type]) === "text") {
|
|
18347
18658
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18348
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18659
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _591 => _591.type]) === "thinking") {
|
|
18349
18660
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18350
18661
|
} else if (key) {
|
|
18351
18662
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18386,7 +18697,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18386
18697
|
}
|
|
18387
18698
|
if (s.type !== "approval_batch") return s;
|
|
18388
18699
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18389
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18700
|
+
const hasRow = _optionalChain([s, 'access', _592 => _592.data, 'access', _593 => _593.toolCalls, 'optionalAccess', _594 => _594.some, 'call', _595 => _595((c) => c.toolExecutionRequestId === requestId)]);
|
|
18390
18701
|
if (!isAnchor && !hasRow) return s;
|
|
18391
18702
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18392
18703
|
const nextExecutions = hasRow ? {
|
|
@@ -18408,8 +18719,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18408
18719
|
};
|
|
18409
18720
|
}
|
|
18410
18721
|
function nextBatchExecution(prevExec, toolData) {
|
|
18411
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18412
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18722
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _596 => _596.status]) === "done") return null;
|
|
18723
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _597 => _597.result]), success: _optionalChain([prevExec, 'optionalAccess', _598 => _598.success]) };
|
|
18413
18724
|
}
|
|
18414
18725
|
function withBatchExecution(seg, execId, state) {
|
|
18415
18726
|
return {
|
|
@@ -18426,11 +18737,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18426
18737
|
}
|
|
18427
18738
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18428
18739
|
return mapSegments(prev, (s) => {
|
|
18429
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18740
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _599 => _599.data, 'access', _600 => _600.toolCalls, 'optionalAccess', _601 => _601.some, 'call', _602 => _602((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18430
18741
|
return s;
|
|
18431
18742
|
}
|
|
18432
|
-
const existing = _optionalChain([s, 'access',
|
|
18433
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18743
|
+
const existing = _optionalChain([s, 'access', _603 => _603.data, 'access', _604 => _604.executions, 'optionalAccess', _605 => _605[rowRequestId]]);
|
|
18744
|
+
if (_optionalChain([existing, 'optionalAccess', _606 => _606.status]) === "done") return s;
|
|
18434
18745
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18435
18746
|
});
|
|
18436
18747
|
}
|
|
@@ -18466,7 +18777,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18466
18777
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18467
18778
|
const seg = message.segments[j];
|
|
18468
18779
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18469
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18780
|
+
const prevExec = _optionalChain([seg, 'access', _607 => _607.data, 'access', _608 => _608.executions, 'optionalAccess', _609 => _609[execId]]);
|
|
18470
18781
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18471
18782
|
if (nextExec === null) return prev;
|
|
18472
18783
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18639,9 +18950,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18639
18950
|
type: "tool_execution",
|
|
18640
18951
|
data: {
|
|
18641
18952
|
...toolData,
|
|
18642
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18643
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18644
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
18953
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _610 => _610.data, 'access', _611 => _611.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _612 => _612.toolTitle]))),
|
|
18954
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _613 => _613.data, 'access', _614 => _614.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _615 => _615.toolExplanation]))),
|
|
18955
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _616 => _616.parameters])
|
|
18645
18956
|
}
|
|
18646
18957
|
};
|
|
18647
18958
|
if (existingIndex !== -1) {
|
|
@@ -18665,7 +18976,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18665
18976
|
if (seg.type !== "approval_batch") return seg;
|
|
18666
18977
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18667
18978
|
if (!hasCall) return seg;
|
|
18668
|
-
const prev = _optionalChain([seg, 'access',
|
|
18979
|
+
const prev = _optionalChain([seg, 'access', _617 => _617.data, 'access', _618 => _618.executions, 'optionalAccess', _619 => _619[execId]]);
|
|
18669
18980
|
const next = nextBatchExecution(prev, toolData);
|
|
18670
18981
|
matched = true;
|
|
18671
18982
|
if (next === null) return seg;
|
|
@@ -18799,8 +19110,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18799
19110
|
requestId,
|
|
18800
19111
|
{
|
|
18801
19112
|
...pendingApproval,
|
|
18802
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18803
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19113
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _620 => _620.command]) || "",
|
|
19114
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _621 => _621.approvalType]) || approvalType
|
|
18804
19115
|
},
|
|
18805
19116
|
status
|
|
18806
19117
|
);
|
|
@@ -18825,9 +19136,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18825
19136
|
type: "escalation_offer",
|
|
18826
19137
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18827
19138
|
// not blank the card the PENDING chunk already painted.
|
|
18828
|
-
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess',
|
|
19139
|
+
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _622 => _622.data, 'access', _623 => _623.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _624 => _624.data, 'access', _625 => _625.origin]))) },
|
|
18829
19140
|
status,
|
|
18830
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
19141
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _626 => _626.resolvedByName]))),
|
|
18831
19142
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18832
19143
|
onReject: this.callbacks.onEscalationReject
|
|
18833
19144
|
};
|
|
@@ -19147,7 +19458,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19147
19458
|
let stateCache = null;
|
|
19148
19459
|
function invalidate() {
|
|
19149
19460
|
stateCache = null;
|
|
19150
|
-
_optionalChain([onChange, 'optionalCall',
|
|
19461
|
+
_optionalChain([onChange, 'optionalCall', _627 => _627()]);
|
|
19151
19462
|
}
|
|
19152
19463
|
function getState() {
|
|
19153
19464
|
if (!stateCache) {
|
|
@@ -19165,7 +19476,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19165
19476
|
return stateCache;
|
|
19166
19477
|
}
|
|
19167
19478
|
function emit(name, ...args) {
|
|
19168
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
19479
|
+
_optionalChain([onEffect, 'optionalCall', _628 => _628({ name, args })]);
|
|
19169
19480
|
}
|
|
19170
19481
|
function setMessagesInternal(next) {
|
|
19171
19482
|
if (next !== messages) {
|
|
@@ -19208,12 +19519,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
19208
19519
|
return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
|
|
19209
19520
|
}
|
|
19210
19521
|
function applySegmentsToState(segments, meta) {
|
|
19211
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
19212
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19522
|
+
const seq = _optionalChain([meta, 'optionalAccess', _629 => _629.streamSeq]);
|
|
19523
|
+
if (_optionalChain([meta, 'optionalAccess', _630 => _630.append]) && meta.isCompacting) {
|
|
19213
19524
|
setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
|
|
19214
19525
|
return;
|
|
19215
19526
|
}
|
|
19216
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19527
|
+
if (_optionalChain([meta, 'optionalAccess', _631 => _631.append])) {
|
|
19217
19528
|
setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
|
|
19218
19529
|
return;
|
|
19219
19530
|
}
|
|
@@ -19225,7 +19536,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19225
19536
|
adoptTrailingAssistant = false;
|
|
19226
19537
|
const last = messages[messages.length - 1];
|
|
19227
19538
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
19228
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19539
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _632 => _632.segments, 'optionalAccess', _633 => _633.length]), () => ( 0))) > 0 || last.content !== "";
|
|
19229
19540
|
if (!hasContent) return;
|
|
19230
19541
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
19231
19542
|
}
|
|
@@ -19444,13 +19755,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19444
19755
|
const summary = required ? _chunkKT3U3ZRPcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19445
19756
|
pendingEscalated.set(requestId, {
|
|
19446
19757
|
command: summary,
|
|
19447
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19758
|
+
explanation: _optionalChain([required, 'optionalAccess', _634 => _634.toolExplanation]),
|
|
19448
19759
|
approvalType,
|
|
19449
19760
|
toolCalls
|
|
19450
19761
|
});
|
|
19451
19762
|
emit("onEscalatedApproval", requestId, {
|
|
19452
19763
|
command: summary,
|
|
19453
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19764
|
+
explanation: _optionalChain([required, 'optionalAccess', _635 => _635.toolExplanation]),
|
|
19454
19765
|
approvalType
|
|
19455
19766
|
});
|
|
19456
19767
|
break;
|
|
@@ -19838,7 +20149,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19838
20149
|
const resolveBatch = (status, confirm) => async () => {
|
|
19839
20150
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19840
20151
|
for (const id of ids) {
|
|
19841
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
20152
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _636 => _636(id)]);
|
|
19842
20153
|
if (ok === false) {
|
|
19843
20154
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19844
20155
|
}
|
|
@@ -19974,8 +20285,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
19974
20285
|
}
|
|
19975
20286
|
}
|
|
19976
20287
|
}
|
|
19977
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
19978
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
20288
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _637 => _637.resumed]), () => ( messages.length > 0)));
|
|
20289
|
+
if (_optionalChain([extras, 'optionalAccess', _638 => _638.agentBusy])) agentBusyState();
|
|
19979
20290
|
invalidate();
|
|
19980
20291
|
}
|
|
19981
20292
|
return {
|
|
@@ -20062,7 +20373,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20062
20373
|
},
|
|
20063
20374
|
endSseTurn() {
|
|
20064
20375
|
const last = messages[messages.length - 1];
|
|
20065
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
20376
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _639 => _639.segments, 'optionalAccess', _640 => _640.length]), () => ( 0))) === 0 && last.content === "") {
|
|
20066
20377
|
messages = messages.slice(0, -1);
|
|
20067
20378
|
}
|
|
20068
20379
|
sseCurrentText = "";
|
|
@@ -20216,10 +20527,10 @@ function createChatDialogStore(options = {}) {
|
|
|
20216
20527
|
if (onEvict) {
|
|
20217
20528
|
const sep = key.indexOf(KEY_SEP);
|
|
20218
20529
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
20219
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20220
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20221
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20222
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20530
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _641 => _641.state, 'access', _642 => _642.messages]), () => ( EMPTY_STATE.messages)),
|
|
20531
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _643 => _643.state, 'access', _644 => _644.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
20532
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _645 => _645.getLastAppliedSeq, 'call', _646 => _646()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
20533
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _647 => _647.getPendingEchoes, 'call', _648 => _648()]), () => ( EMPTY_PENDING_ECHOES))
|
|
20223
20534
|
});
|
|
20224
20535
|
}
|
|
20225
20536
|
}
|
|
@@ -20229,12 +20540,12 @@ function createChatDialogStore(options = {}) {
|
|
|
20229
20540
|
const key = keyOf(dialogId, side);
|
|
20230
20541
|
let reducer = reducers.get(key);
|
|
20231
20542
|
if (!reducer) {
|
|
20232
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
20543
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _649 => _649(dialogId, side)]), () => ( {}));
|
|
20233
20544
|
const userOnChange = base.onChange;
|
|
20234
20545
|
reducer = createChatStreamReducer({
|
|
20235
20546
|
...base,
|
|
20236
20547
|
onChange: () => {
|
|
20237
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
20548
|
+
_optionalChain([userOnChange, 'optionalCall', _650 => _650()]);
|
|
20238
20549
|
notify();
|
|
20239
20550
|
}
|
|
20240
20551
|
});
|
|
@@ -20279,7 +20590,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20279
20590
|
};
|
|
20280
20591
|
}
|
|
20281
20592
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20282
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20593
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _651 => _651.get, 'call', _652 => _652(keyOf(dialogId, side)), 'optionalAccess', _653 => _653.state]), () => ( EMPTY_STATE));
|
|
20283
20594
|
}
|
|
20284
20595
|
function getServerSnapshot2() {
|
|
20285
20596
|
return EMPTY_STATE;
|
|
@@ -20371,7 +20682,7 @@ function createDeltaBatcher({
|
|
|
20371
20682
|
pending = [];
|
|
20372
20683
|
const key = pendingKey;
|
|
20373
20684
|
for (const delta of batch) applyOne(delta, key);
|
|
20374
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20685
|
+
_optionalChain([onFlushed, 'optionalCall', _654 => _654(batch.length)]);
|
|
20375
20686
|
}
|
|
20376
20687
|
function schedule() {
|
|
20377
20688
|
if (raf !== null || timer !== null) return;
|
|
@@ -20395,7 +20706,7 @@ function createDeltaBatcher({
|
|
|
20395
20706
|
}
|
|
20396
20707
|
if (!isDeltaEvent(event)) return false;
|
|
20397
20708
|
const tail = pending[pending.length - 1];
|
|
20398
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20709
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _655 => _655.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20399
20710
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20400
20711
|
pending[pending.length - 1] = {
|
|
20401
20712
|
...tail,
|
|
@@ -20426,7 +20737,7 @@ function useChatStreamReducer({
|
|
|
20426
20737
|
side = DEFAULT_DIALOG_SIDE,
|
|
20427
20738
|
createReducerOptions
|
|
20428
20739
|
}) {
|
|
20429
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20740
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _656 => _656()]), () => ( {})));
|
|
20430
20741
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20431
20742
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20432
20743
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20465,7 +20776,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20465
20776
|
var namespaceFor = (source) => {
|
|
20466
20777
|
const base = `mingo-chat-${source}`;
|
|
20467
20778
|
const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20468
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20779
|
+
return _optionalChain([auth, 'optionalAccess', _657 => _657.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20469
20780
|
};
|
|
20470
20781
|
function createChatConversationStorage(source) {
|
|
20471
20782
|
return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20596,7 +20907,7 @@ function useChatHistoryHydration({
|
|
|
20596
20907
|
if (cancelled) return;
|
|
20597
20908
|
if (rows.length === 0) {
|
|
20598
20909
|
const found = isRecord(body) ? body.found : void 0;
|
|
20599
|
-
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall',
|
|
20910
|
+
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _658 => _658(conversationId)]);
|
|
20600
20911
|
return;
|
|
20601
20912
|
}
|
|
20602
20913
|
const hydrated = [];
|
|
@@ -20740,7 +21051,7 @@ function useManagedDialogList({
|
|
|
20740
21051
|
try {
|
|
20741
21052
|
await deleteDialogCallback(id);
|
|
20742
21053
|
removeLocal(id);
|
|
20743
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21054
|
+
_optionalChain([onDialogRemovedRef, 'access', _659 => _659.current, 'optionalCall', _660 => _660(id, "deleted")]);
|
|
20744
21055
|
} catch (err) {
|
|
20745
21056
|
console.error(`${logTag} deleteDialog failed:`, err);
|
|
20746
21057
|
throw err;
|
|
@@ -20751,7 +21062,7 @@ function useManagedDialogList({
|
|
|
20751
21062
|
const renameDialog = _react.useCallback.call(void 0,
|
|
20752
21063
|
async (id, title) => {
|
|
20753
21064
|
if (!renameDialogCallback) return;
|
|
20754
|
-
const previous = _optionalChain([dialogsRef, 'access',
|
|
21065
|
+
const previous = _optionalChain([dialogsRef, 'access', _661 => _661.current, 'access', _662 => _662.find, 'call', _663 => _663((d) => d.id === id), 'optionalAccess', _664 => _664.title]);
|
|
20755
21066
|
setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
|
|
20756
21067
|
try {
|
|
20757
21068
|
await renameDialogCallback(id, title);
|
|
@@ -20770,7 +21081,7 @@ function useManagedDialogList({
|
|
|
20770
21081
|
try {
|
|
20771
21082
|
await archiveDialogCallback(id);
|
|
20772
21083
|
removeLocal(id);
|
|
20773
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21084
|
+
_optionalChain([onDialogRemovedRef, 'access', _665 => _665.current, 'optionalCall', _666 => _666(id, "archived")]);
|
|
20774
21085
|
} catch (err) {
|
|
20775
21086
|
console.error(`${logTag} archiveDialog failed:`, err);
|
|
20776
21087
|
throw err;
|
|
@@ -20862,7 +21173,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20862
21173
|
const { active = true } = runtimeOptions;
|
|
20863
21174
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
20864
21175
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20865
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
21176
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _667 => _667.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20866
21177
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20867
21178
|
() => Promise.resolve(true)
|
|
20868
21179
|
);
|
|
@@ -20898,7 +21209,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20898
21209
|
if (!restoredConversationRef.current) {
|
|
20899
21210
|
restoredConversationRef.current = true;
|
|
20900
21211
|
pruneStaleChatConversationStorage(source);
|
|
20901
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
21212
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _668 => _668.load, 'call', _669 => _669(), 'optionalAccess', _670 => _670.conversationId]), () => ( null));
|
|
20902
21213
|
}
|
|
20903
21214
|
const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
|
|
20904
21215
|
const commitConversationId = _react.useCallback.call(void 0,
|
|
@@ -20989,7 +21300,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20989
21300
|
const abortControllerRef = _react.useRef.call(void 0, null);
|
|
20990
21301
|
const switchConversation = _react.useCallback.call(void 0,
|
|
20991
21302
|
(id) => {
|
|
20992
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21303
|
+
_optionalChain([abortControllerRef, 'access', _671 => _671.current, 'optionalAccess', _672 => _672.abort, 'call', _673 => _673()]);
|
|
20993
21304
|
flushDeltas();
|
|
20994
21305
|
mutate((r) => r.reset());
|
|
20995
21306
|
hydrationSendCountRef.current = 0;
|
|
@@ -21026,8 +21337,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21026
21337
|
} = useManagedDialogList({
|
|
21027
21338
|
autoLoad: active,
|
|
21028
21339
|
fetchDialogs: fetchActiveDialogs,
|
|
21029
|
-
renameDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21030
|
-
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21340
|
+
renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _674 => _674.renameDialog]),
|
|
21341
|
+
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _675 => _675.archiveDialog]),
|
|
21031
21342
|
pageSize: 20,
|
|
21032
21343
|
search: conversationsApi ? dialogSearch : void 0,
|
|
21033
21344
|
logTag: "[useSseChatAdapter]",
|
|
@@ -21091,7 +21402,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21091
21402
|
const serverMessage = await readServerErrorMessage(response);
|
|
21092
21403
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
21093
21404
|
}
|
|
21094
|
-
const reader = _optionalChain([response, 'access',
|
|
21405
|
+
const reader = _optionalChain([response, 'access', _676 => _676.body, 'optionalAccess', _677 => _677.getReader, 'call', _678 => _678()]);
|
|
21095
21406
|
if (!reader) throw new Error("No response body");
|
|
21096
21407
|
const frameDecoder = createSseFrameDecoder();
|
|
21097
21408
|
let finished = false;
|
|
@@ -21120,7 +21431,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21120
21431
|
}
|
|
21121
21432
|
return true;
|
|
21122
21433
|
} catch (err) {
|
|
21123
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
21434
|
+
if (_optionalChain([err, 'optionalAccess', _679 => _679.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
21124
21435
|
return true;
|
|
21125
21436
|
}
|
|
21126
21437
|
flushDeltas();
|
|
@@ -21156,7 +21467,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21156
21467
|
);
|
|
21157
21468
|
sendMessageRef.current = sendMessage;
|
|
21158
21469
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
21159
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21470
|
+
_optionalChain([abortControllerRef, 'access', _680 => _680.current, 'optionalAccess', _681 => _681.abort, 'call', _682 => _682()]);
|
|
21160
21471
|
flushDeltas();
|
|
21161
21472
|
mutate((r) => r.setPhase("idle"));
|
|
21162
21473
|
}, [mutate, flushDeltas]);
|
|
@@ -21192,7 +21503,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21192
21503
|
let sendIdx = -1;
|
|
21193
21504
|
return state.messages.map((m) => {
|
|
21194
21505
|
const segments = m.segments;
|
|
21195
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
21506
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _683 => _683.filter, 'call', _684 => _684((s) => s.type === "text"), 'access', _685 => _685.map, 'call', _686 => _686((s) => s.text), 'access', _687 => _687.join, 'call', _688 => _688("")]), () => ( ""));
|
|
21196
21507
|
let sources2;
|
|
21197
21508
|
let scrollAnchor;
|
|
21198
21509
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -21201,7 +21512,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21201
21512
|
if (m.role === "assistant") {
|
|
21202
21513
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
21203
21514
|
sources2 = sourcesMap.get(lookupIdx);
|
|
21204
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
21515
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _689 => _689.get, 'call', _690 => _690(lookupIdx), 'optionalAccess', _691 => _691.scrollAnchor]), () => ( void 0));
|
|
21205
21516
|
}
|
|
21206
21517
|
return {
|
|
21207
21518
|
id: m.id,
|
|
@@ -21228,7 +21539,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21228
21539
|
);
|
|
21229
21540
|
return;
|
|
21230
21541
|
}
|
|
21231
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
21542
|
+
const refSlug = typeof _optionalChain([reference, 'access', _692 => _692.metadata, 'optionalAccess', _693 => _693.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
21232
21543
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
21233
21544
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
21234
21545
|
const text2 = `/${cmdId} display "${escaped}"`;
|
|
@@ -21276,18 +21587,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21276
21587
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
21277
21588
|
isHydratingHistory,
|
|
21278
21589
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
21279
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21280
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21281
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21590
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _694 => _694.provider]), () => ( null)),
|
|
21591
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _695 => _695.modelLabel]), () => ( null)),
|
|
21592
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _696 => _696.contextWindowMaxTokens]), () => ( null)),
|
|
21282
21593
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
21283
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21594
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _697 => _697.inputTokens]), () => ( null)),
|
|
21284
21595
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
21285
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21596
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _698 => _698.outputTokens]), () => ( null)),
|
|
21286
21597
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
21287
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21598
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _699 => _699.cacheHitRatePct]), () => ( null)),
|
|
21288
21599
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
21289
21600
|
* token counts). null until the trailing usage frame lands. */
|
|
21290
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21601
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _700 => _700.breakdown]), () => ( null)),
|
|
21291
21602
|
// ─── Dialog management ───────────────────────────────────────────────
|
|
21292
21603
|
// With `chatConversationsUrl` the server transcript store IS the dialog
|
|
21293
21604
|
// list (shared `useManagedDialogList`); selecting a row re-hydrates through
|
|
@@ -21543,7 +21854,7 @@ function decodeNatsChunk(chunk) {
|
|
|
21543
21854
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
21544
21855
|
// Wire shape carries no label; fall back to the id (parity with
|
|
21545
21856
|
// the history path in `process-historical-messages.ts`).
|
|
21546
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
21857
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _701 => _701.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _702 => _702.id]) === "string").map((it) => ({
|
|
21547
21858
|
type: it.type,
|
|
21548
21859
|
id: it.id,
|
|
21549
21860
|
label: it.id
|
|
@@ -21634,7 +21945,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21634
21945
|
}
|
|
21635
21946
|
break;
|
|
21636
21947
|
case "approval_batch": {
|
|
21637
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
21948
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _703 => _703.data, 'access', _704 => _704.executions, 'optionalAccess', _705 => _705[c.toolExecutionRequestId], 'optionalAccess', _706 => _706.status]) === "done");
|
|
21638
21949
|
if (segment.status !== "rejected" && !allDone) {
|
|
21639
21950
|
hasIncompleteState = true;
|
|
21640
21951
|
}
|
|
@@ -21696,11 +22007,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21696
22007
|
function extractIncompleteTailState(messages) {
|
|
21697
22008
|
if (!messages || messages.length === 0) return void 0;
|
|
21698
22009
|
let start = messages.length;
|
|
21699
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
22010
|
+
while (start > 0 && _optionalChain([messages, 'access', _707 => _707[start - 1], 'optionalAccess', _708 => _708.role]) === "assistant") start -= 1;
|
|
21700
22011
|
if (start === messages.length) return void 0;
|
|
21701
22012
|
const segments = [];
|
|
21702
22013
|
for (let i = start; i < messages.length; i += 1) {
|
|
21703
|
-
const content = _optionalChain([messages, 'access',
|
|
22014
|
+
const content = _optionalChain([messages, 'access', _709 => _709[i], 'optionalAccess', _710 => _710.content]);
|
|
21704
22015
|
if (Array.isArray(content)) segments.push(...content);
|
|
21705
22016
|
}
|
|
21706
22017
|
if (segments.length === 0) return void 0;
|
|
@@ -21713,15 +22024,15 @@ function extractIncompleteTailState(messages) {
|
|
|
21713
22024
|
|
|
21714
22025
|
// src/components/chat/utils/process-historical-messages.ts
|
|
21715
22026
|
function getOwnerDisplayName(owner) {
|
|
21716
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
22027
|
+
if (_optionalChain([owner, 'optionalAccess', _711 => _711.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
21717
22028
|
const { firstName, lastName } = owner.user;
|
|
21718
22029
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
21719
22030
|
if (name) return name;
|
|
21720
22031
|
}
|
|
21721
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
22032
|
+
return _optionalChain([owner, 'optionalAccess', _712 => _712.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
21722
22033
|
}
|
|
21723
22034
|
function getOwnerAvatar(owner) {
|
|
21724
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
22035
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _713 => _713.user, 'optionalAccess', _714 => _714.image, 'optionalAccess', _715 => _715.imageUrl]), () => ( void 0));
|
|
21725
22036
|
}
|
|
21726
22037
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
21727
22038
|
messageDataArray.forEach((data) => {
|
|
@@ -21913,7 +22224,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21913
22224
|
event.offerId,
|
|
21914
22225
|
event.text,
|
|
21915
22226
|
event.origin,
|
|
21916
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
22227
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _716 => _716[event.offerId]]), () => ( "pending"))
|
|
21917
22228
|
);
|
|
21918
22229
|
break;
|
|
21919
22230
|
case "ticket-escalated":
|
|
@@ -21947,7 +22258,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21947
22258
|
);
|
|
21948
22259
|
break;
|
|
21949
22260
|
case "escalation-offer-resolved":
|
|
21950
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
22261
|
+
_optionalChain([offerResolutions, 'optionalAccess', _717 => _717.set, 'call', _718 => _718(event.offerId, {
|
|
21951
22262
|
status: event.status,
|
|
21952
22263
|
resolvedByName: event.resolvedByName
|
|
21953
22264
|
})]);
|
|
@@ -22011,7 +22322,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22011
22322
|
}
|
|
22012
22323
|
}
|
|
22013
22324
|
} else {
|
|
22014
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22325
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _719 => _719.set, 'call', _720 => _720(event.requestId, {
|
|
22015
22326
|
command: event.command || "",
|
|
22016
22327
|
explanation: event.explanation,
|
|
22017
22328
|
approvalType,
|
|
@@ -22026,8 +22337,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22026
22337
|
const existingStatus = approvalStatuses[requestId];
|
|
22027
22338
|
const status = existingStatus || event.status;
|
|
22028
22339
|
const resolvedByName = event.resolvedByName;
|
|
22029
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22030
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
22340
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _721 => _721.get, 'call', _722 => _722(requestId)]);
|
|
22341
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _723 => _723.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
22031
22342
|
if (batchApprovalsEnabled) {
|
|
22032
22343
|
accumulator.addApprovalBatch(
|
|
22033
22344
|
requestId,
|
|
@@ -22049,7 +22360,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22049
22360
|
);
|
|
22050
22361
|
}
|
|
22051
22362
|
}
|
|
22052
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22363
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _724 => _724.delete, 'call', _725 => _725(requestId)]);
|
|
22053
22364
|
break;
|
|
22054
22365
|
}
|
|
22055
22366
|
if (escalatedData) {
|
|
@@ -22058,7 +22369,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22058
22369
|
explanation: escalatedData.explanation,
|
|
22059
22370
|
approvalType: escalatedData.approvalType
|
|
22060
22371
|
});
|
|
22061
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22372
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _726 => _726.delete, 'call', _727 => _727(requestId)]);
|
|
22062
22373
|
}
|
|
22063
22374
|
const before = accumulator.getSegments();
|
|
22064
22375
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -22150,14 +22461,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22150
22461
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
22151
22462
|
return;
|
|
22152
22463
|
}
|
|
22153
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
22464
|
+
const isUserMessage = _optionalChain([msg, 'access', _728 => _728.owner, 'optionalAccess', _729 => _729.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _730 => _730.owner, 'optionalAccess', _731 => _731.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN;
|
|
22154
22465
|
if (isUserMessage) {
|
|
22155
22466
|
flushAssistantMessage();
|
|
22156
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
22467
|
+
const userAuthorType = _optionalChain([msg, 'access', _732 => _732.owner, 'optionalAccess', _733 => _733.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
22157
22468
|
messageDataArray.forEach((data) => {
|
|
22158
22469
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
22159
22470
|
const rawContext = data.contextItems;
|
|
22160
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
22471
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _734 => _734.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _735 => _735.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
22161
22472
|
processedMessages.push({
|
|
22162
22473
|
id: msg.id,
|
|
22163
22474
|
role: "user",
|
|
@@ -22204,7 +22515,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22204
22515
|
});
|
|
22205
22516
|
const nextMsg = messages[index + 1];
|
|
22206
22517
|
const isLastMessage = index === messages.length - 1;
|
|
22207
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
22518
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _736 => _736.owner, 'optionalAccess', _737 => _737.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _738 => _738.owner, 'optionalAccess', _739 => _739.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN);
|
|
22208
22519
|
if (isLastMessage || nextIsFromUser) {
|
|
22209
22520
|
flushAssistantMessage();
|
|
22210
22521
|
}
|
|
@@ -22587,7 +22898,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22587
22898
|
const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
|
|
22588
22899
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22589
22900
|
async (text2, sendOptions) => {
|
|
22590
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
22901
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _740 => _740.hidden]), () => ( false));
|
|
22591
22902
|
mutate((r) => r.pushOptimisticSend(text2, hidden));
|
|
22592
22903
|
await publishUserMessage(text2, { hidden, dialogId });
|
|
22593
22904
|
},
|
|
@@ -22680,11 +22991,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22680
22991
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
22681
22992
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
22682
22993
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
22683
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22684
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22685
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22686
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22687
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22994
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _741 => _741.provider]), () => ( modelProvider)), () => ( null)),
|
|
22995
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _742 => _742.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
22996
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _743 => _743.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _744 => _744.contextWindowMaxTokens]))), () => ( null)),
|
|
22997
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _745 => _745.inputTokensSize]), () => ( null)),
|
|
22998
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _746 => _746.outputTokensSize]), () => ( null)),
|
|
22688
22999
|
currentCacheHitRatePct: null,
|
|
22689
23000
|
currentUsageBreakdown: null,
|
|
22690
23001
|
// Dialog management
|
|
@@ -22806,7 +23117,7 @@ function useUnifiedChat(options) {
|
|
|
22806
23117
|
[]
|
|
22807
23118
|
);
|
|
22808
23119
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
22809
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
23120
|
+
(ref) => _optionalChain([activeStateRef, 'access', _747 => _747.current, 'access', _748 => _748.displayRef, 'optionalCall', _749 => _749(ref)]),
|
|
22810
23121
|
[]
|
|
22811
23122
|
);
|
|
22812
23123
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -22816,7 +23127,7 @@ function useUnifiedChat(options) {
|
|
|
22816
23127
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22817
23128
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22818
23129
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22819
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
23130
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _750 => _750.current, 'access', _751 => _751.setDialogScope, 'optionalCall', _752 => _752(scope)]), []);
|
|
22820
23131
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22821
23132
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22822
23133
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -22926,19 +23237,19 @@ function turnRequestKeys(content) {
|
|
|
22926
23237
|
if (!Array.isArray(content)) return keys;
|
|
22927
23238
|
for (const seg of content) {
|
|
22928
23239
|
if (seg.type === "tool_execution") {
|
|
22929
|
-
const id = _optionalChain([seg, 'access',
|
|
23240
|
+
const id = _optionalChain([seg, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.toolExecutionRequestId]);
|
|
22930
23241
|
if (id) keys.add(id);
|
|
22931
23242
|
} else if (seg.type === "approval_request") {
|
|
22932
|
-
const id = _optionalChain([seg, 'access',
|
|
23243
|
+
const id = _optionalChain([seg, 'access', _755 => _755.data, 'optionalAccess', _756 => _756.requestId]);
|
|
22933
23244
|
if (id) keys.add(id);
|
|
22934
23245
|
} else if (seg.type === "escalation_offer") {
|
|
22935
|
-
const id = _optionalChain([seg, 'access',
|
|
23246
|
+
const id = _optionalChain([seg, 'access', _757 => _757.data, 'optionalAccess', _758 => _758.offerId]);
|
|
22936
23247
|
if (id) keys.add(id);
|
|
22937
23248
|
} else if (seg.type === "approval_batch") {
|
|
22938
23249
|
const data = seg.data;
|
|
22939
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
22940
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
22941
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
23250
|
+
if (_optionalChain([data, 'optionalAccess', _759 => _759.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
23251
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _760 => _760.toolCalls]), () => ( []))) {
|
|
23252
|
+
if (_optionalChain([call, 'optionalAccess', _761 => _761.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
22942
23253
|
}
|
|
22943
23254
|
}
|
|
22944
23255
|
}
|
|
@@ -23023,18 +23334,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23023
23334
|
}
|
|
23024
23335
|
}
|
|
23025
23336
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
23026
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
23027
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
23337
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _762 => _762.role]) === "assistant" ? trailing : null;
|
|
23338
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _763 => _763.content, 'access', _764 => _764.find, 'call', _765 => _765((s) => s.type === "approval_batch"), 'optionalAccess', _766 => _766.data, 'optionalAccess', _767 => _767.approvalRequestId]), () => ( null)) : null;
|
|
23028
23339
|
let processedToUse = processedHistory;
|
|
23029
23340
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23030
23341
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23031
23342
|
if (historyBatchId) {
|
|
23032
23343
|
const batchTwins = existingMessages.filter(
|
|
23033
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
23344
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _768 => _768.data, 'optionalAccess', _769 => _769.approvalRequestId]) === historyBatchId)
|
|
23034
23345
|
);
|
|
23035
23346
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
23036
23347
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
23037
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
23348
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _770 => _770.content])) ? historyTrailingAssistant.content.length : 0;
|
|
23038
23349
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
23039
23350
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
23040
23351
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -23067,9 +23378,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23067
23378
|
const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
|
|
23068
23379
|
const windowSignals = collectTwinSignals(processedToUse);
|
|
23069
23380
|
const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
|
|
23070
|
-
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
23381
|
+
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _771 => _771.has, 'call', _772 => _772(m.id)]), () => ( false)));
|
|
23071
23382
|
const firstWindowIndex = existingMessages.findIndex(isInWindow);
|
|
23072
|
-
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23383
|
+
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _773 => _773.timestamp, 'optionalAccess', _774 => _774.getTime, 'call', _775 => _775()]), () => ( 0))) <= historyFetchedAt;
|
|
23073
23384
|
let lastOlderPersistedIndex = -1;
|
|
23074
23385
|
if (firstWindowIndex < 0) {
|
|
23075
23386
|
for (const [index, m] of existingMessages.entries()) {
|
|
@@ -23087,7 +23398,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23087
23398
|
} else if (pm.role === "assistant") {
|
|
23088
23399
|
windowHasUnstampedAssistant = true;
|
|
23089
23400
|
}
|
|
23090
|
-
const time = _optionalChain([pm, 'access',
|
|
23401
|
+
const time = _optionalChain([pm, 'access', _776 => _776.timestamp, 'optionalAccess', _777 => _777.getTime, 'call', _778 => _778()]);
|
|
23091
23402
|
if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
|
|
23092
23403
|
}
|
|
23093
23404
|
const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
|
|
@@ -23105,14 +23416,14 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23105
23416
|
const verdict = twinVerdict(windowSignals, m);
|
|
23106
23417
|
return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
|
|
23107
23418
|
}
|
|
23108
|
-
const time = _optionalChain([m, 'access',
|
|
23419
|
+
const time = _optionalChain([m, 'access', _779 => _779.timestamp, 'optionalAccess', _780 => _780.getTime, 'call', _781 => _781()]);
|
|
23109
23420
|
if (typeof time !== "number" || time > historyFetchedAt) return false;
|
|
23110
23421
|
if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
|
|
23111
23422
|
return twinVerdict(windowSignals, m) === "distinct";
|
|
23112
23423
|
};
|
|
23113
23424
|
const keepRealtime = (m) => {
|
|
23114
23425
|
if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
|
|
23115
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23426
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _782 => _782.timestamp, 'optionalAccess', _783 => _783.getTime, 'call', _784 => _784()]), () => ( 0))) <= historyFetchedAt;
|
|
23116
23427
|
return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
|
|
23117
23428
|
}
|
|
23118
23429
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -23137,7 +23448,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23137
23448
|
} else if (typeof m.streamSeq === "number") {
|
|
23138
23449
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
23139
23450
|
} else {
|
|
23140
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23451
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _785 => _785.timestamp, 'optionalAccess', _786 => _786.getTime, 'call', _787 => _787()]), () => ( 0))) <= historyFetchedAt;
|
|
23141
23452
|
}
|
|
23142
23453
|
if (covered) return false;
|
|
23143
23454
|
}
|
|
@@ -23232,7 +23543,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
23232
23543
|
function isHistoricalUserTurn(m) {
|
|
23233
23544
|
return !!m.owner;
|
|
23234
23545
|
}
|
|
23235
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
23546
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _788 => _788.type]) === "TEXT" && typeof d.text === "string";
|
|
23236
23547
|
var THINK_MS = 550;
|
|
23237
23548
|
var TOKEN_MS = 55;
|
|
23238
23549
|
var USER_MS = 480;
|
|
@@ -23329,8 +23640,8 @@ function useResizablePanelSize({
|
|
|
23329
23640
|
}) : null,
|
|
23330
23641
|
[enabled, storageKey]
|
|
23331
23642
|
);
|
|
23332
|
-
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23333
|
-
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23643
|
+
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _789 => _789.load, 'call', _790 => _790(), 'optionalAccess', _791 => _791.size]), () => ( null)) }));
|
|
23644
|
+
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _792 => _792.load, 'call', _793 => _793(), 'optionalAccess', _794 => _794.size]), () => ( null)) };
|
|
23334
23645
|
if (chosen !== held) setChosen(chosen);
|
|
23335
23646
|
const chosenSize = chosen.size;
|
|
23336
23647
|
const clampSize = _react.useCallback.call(void 0,
|
|
@@ -23346,7 +23657,7 @@ function useResizablePanelSize({
|
|
|
23346
23657
|
(next) => {
|
|
23347
23658
|
const nextSize = Math.round(clampSize(next));
|
|
23348
23659
|
setChosen({ storage, size: nextSize });
|
|
23349
|
-
_optionalChain([storage, 'optionalAccess',
|
|
23660
|
+
_optionalChain([storage, 'optionalAccess', _795 => _795.save, 'call', _796 => _796({ size: nextSize })]);
|
|
23350
23661
|
},
|
|
23351
23662
|
[clampSize, storage]
|
|
23352
23663
|
);
|
|
@@ -23936,7 +24247,7 @@ function useChatDialogManager({
|
|
|
23936
24247
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
23937
24248
|
if (restoreTarget) {
|
|
23938
24249
|
try {
|
|
23939
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
24250
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _797 => _797(restoreTarget.id)]);
|
|
23940
24251
|
} catch (err) {
|
|
23941
24252
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
23942
24253
|
return;
|
|
@@ -23947,7 +24258,7 @@ function useChatDialogManager({
|
|
|
23947
24258
|
setRestoreTarget(null);
|
|
23948
24259
|
}, [restoreTarget, unarchiveDialog]);
|
|
23949
24260
|
const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
|
|
23950
|
-
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess',
|
|
24261
|
+
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _798 => _798.archived]) === true;
|
|
23951
24262
|
const handleBack = _react.useCallback.call(void 0, () => {
|
|
23952
24263
|
const wasArchived = isViewingArchived;
|
|
23953
24264
|
setViewingArchivedId(null);
|
|
@@ -24194,7 +24505,7 @@ function SourceChip({
|
|
|
24194
24505
|
const Icon = cta.icon;
|
|
24195
24506
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
24196
24507
|
const chipClass = chatChipClass({ tone: "secondary" });
|
|
24197
|
-
const decideTab = (href, targetPlatform) =>
|
|
24508
|
+
const decideTab = (href, targetPlatform) => _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
24198
24509
|
if (src.items && src.items.length > 0) {
|
|
24199
24510
|
const dropdownItems = src.items.map((item) => {
|
|
24200
24511
|
const itemCta = resolveSourceRowCTA(
|
|
@@ -24287,7 +24598,7 @@ function SourceChip({
|
|
|
24287
24598
|
"a",
|
|
24288
24599
|
{
|
|
24289
24600
|
href: resolvedHref,
|
|
24290
|
-
...
|
|
24601
|
+
..._chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
24291
24602
|
onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
24292
24603
|
className: chipClass,
|
|
24293
24604
|
children: chipBody(src.name)
|
|
@@ -24303,7 +24614,7 @@ function SourceChip({
|
|
|
24303
24614
|
"a",
|
|
24304
24615
|
{
|
|
24305
24616
|
href: resolvedHref,
|
|
24306
|
-
...
|
|
24617
|
+
..._chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
24307
24618
|
onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
24308
24619
|
className: chipClass,
|
|
24309
24620
|
title: displayName,
|
|
@@ -24415,7 +24726,7 @@ function EmbeddableChatInner({
|
|
|
24415
24726
|
defaultActiveMode,
|
|
24416
24727
|
shell = "drawer",
|
|
24417
24728
|
closable = true,
|
|
24418
|
-
appearance =
|
|
24729
|
+
appearance = _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC,
|
|
24419
24730
|
onCollapse,
|
|
24420
24731
|
collapseTo = "list",
|
|
24421
24732
|
onExpand,
|
|
@@ -24433,7 +24744,7 @@ function EmbeddableChatInner({
|
|
|
24433
24744
|
handleRef
|
|
24434
24745
|
}) {
|
|
24435
24746
|
const shellLess = shell !== "drawer";
|
|
24436
|
-
const isV2 = appearance ===
|
|
24747
|
+
const isV2 = appearance === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
|
|
24437
24748
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
24438
24749
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
24439
24750
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
@@ -24495,7 +24806,7 @@ function EmbeddableChatInner({
|
|
|
24495
24806
|
resolveSourceIcon: (sourceId) => {
|
|
24496
24807
|
const iconName = getSourceIconName(sourceId);
|
|
24497
24808
|
if (!iconName) return void 0;
|
|
24498
|
-
return { Icon:
|
|
24809
|
+
return { Icon: _chunkIMTY3GRRcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
|
|
24499
24810
|
},
|
|
24500
24811
|
onAction: (cmd, actionId) => {
|
|
24501
24812
|
dispatchSlashCommandAction(actionId, cmd.id, chatInputRef);
|
|
@@ -24503,7 +24814,7 @@ function EmbeddableChatInner({
|
|
|
24503
24814
|
}),
|
|
24504
24815
|
[commandsUrl]
|
|
24505
24816
|
);
|
|
24506
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24817
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _799 => _799.name, 'optionalAccess', _800 => _800.trim, 'call', _801 => _801()]) || [_optionalChain([identityUser, 'optionalAccess', _802 => _802.firstName]), _optionalChain([identityUser, 'optionalAccess', _803 => _803.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || void 0;
|
|
24507
24818
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24508
24819
|
if (modes) return modes;
|
|
24509
24820
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24518,7 +24829,7 @@ function EmbeddableChatInner({
|
|
|
24518
24829
|
if (controlledActiveMode === void 0) {
|
|
24519
24830
|
setUncontrolledActiveMode(next);
|
|
24520
24831
|
}
|
|
24521
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24832
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _806 => _806(next)]);
|
|
24522
24833
|
},
|
|
24523
24834
|
[controlledActiveMode, onActiveModeChange]
|
|
24524
24835
|
);
|
|
@@ -24545,7 +24856,7 @@ function EmbeddableChatInner({
|
|
|
24545
24856
|
);
|
|
24546
24857
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24547
24858
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24548
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24859
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _807 => _807.title]) === "string" ? guideWelcome.title : null)));
|
|
24549
24860
|
const {
|
|
24550
24861
|
messages: rawMessages,
|
|
24551
24862
|
isLoading: chatLoading,
|
|
@@ -24602,8 +24913,8 @@ function EmbeddableChatInner({
|
|
|
24602
24913
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24603
24914
|
() => ({
|
|
24604
24915
|
...dialogCapabilities,
|
|
24605
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24606
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24916
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _808 => _808.canRename]), () => ( false)),
|
|
24917
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _809 => _809.canArchive]), () => ( false))
|
|
24607
24918
|
}),
|
|
24608
24919
|
[dialogCapabilities]
|
|
24609
24920
|
);
|
|
@@ -24618,7 +24929,7 @@ function EmbeddableChatInner({
|
|
|
24618
24929
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
24619
24930
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
24620
24931
|
});
|
|
24621
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
24932
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _810 => _810()]);
|
|
24622
24933
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
24623
24934
|
const {
|
|
24624
24935
|
attachments: stagedAttachments,
|
|
@@ -24629,7 +24940,7 @@ function EmbeddableChatInner({
|
|
|
24629
24940
|
clear: clearAttachments
|
|
24630
24941
|
} = useChatAttachments();
|
|
24631
24942
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
24632
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24943
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _811 => _811.maxItems]), () => ( 10));
|
|
24633
24944
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
24634
24945
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
24635
24946
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -24658,10 +24969,10 @@ function EmbeddableChatInner({
|
|
|
24658
24969
|
}, [composerKey, clearAttachments]);
|
|
24659
24970
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
24660
24971
|
const m = /* @__PURE__ */ new Map();
|
|
24661
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24972
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _812 => _812.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
24662
24973
|
return m;
|
|
24663
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
24664
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
24974
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _813 => _813.entityTypes])]);
|
|
24975
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _814 => _814.entityTypes]);
|
|
24665
24976
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
24666
24977
|
const byType = /* @__PURE__ */ new Map();
|
|
24667
24978
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -24673,7 +24984,7 @@ function EmbeddableChatInner({
|
|
|
24673
24984
|
if (mentionActiveRef.current) {
|
|
24674
24985
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
24675
24986
|
if (contextItems.length >= contextMaxItems) return;
|
|
24676
|
-
_optionalChain([chatInputRef, 'access',
|
|
24987
|
+
_optionalChain([chatInputRef, 'access', _815 => _815.current, 'optionalAccess', _816 => _816.commitMention, 'call', _817 => _817(mentionTokenOf(key, mentionMarkerByType), {
|
|
24677
24988
|
label: item.label,
|
|
24678
24989
|
icon: resolveContextIcon(item)
|
|
24679
24990
|
})]);
|
|
@@ -24696,9 +25007,9 @@ function EmbeddableChatInner({
|
|
|
24696
25007
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
24697
25008
|
if (mentionKeysRef.current.has(key)) {
|
|
24698
25009
|
mentionKeysRef.current.delete(key);
|
|
24699
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
25010
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _818 => _818.current, 'optionalAccess', _819 => _819.getValue, 'call', _820 => _820()]), () => ( ""));
|
|
24700
25011
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
24701
|
-
_optionalChain([chatInputRef, 'access',
|
|
25012
|
+
_optionalChain([chatInputRef, 'access', _821 => _821.current, 'optionalAccess', _822 => _822.setValue, 'call', _823 => _823(next)]);
|
|
24702
25013
|
}
|
|
24703
25014
|
},
|
|
24704
25015
|
[mentionMarkerByType]
|
|
@@ -24720,7 +25031,7 @@ function EmbeddableChatInner({
|
|
|
24720
25031
|
}, []);
|
|
24721
25032
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
24722
25033
|
if (mentionActiveRef.current) {
|
|
24723
|
-
_optionalChain([chatInputRef, 'access',
|
|
25034
|
+
_optionalChain([chatInputRef, 'access', _824 => _824.current, 'optionalAccess', _825 => _825.removeMentionTrigger, 'call', _826 => _826()]);
|
|
24724
25035
|
}
|
|
24725
25036
|
setContextPickerOpen(false);
|
|
24726
25037
|
setMentionQuery(null);
|
|
@@ -24753,12 +25064,12 @@ function EmbeddableChatInner({
|
|
|
24753
25064
|
[askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
|
|
24754
25065
|
);
|
|
24755
25066
|
const mingoAssistantIcon = _react.useMemo.call(void 0,
|
|
24756
|
-
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25067
|
+
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
|
|
24757
25068
|
[effectiveAssistantIcon]
|
|
24758
25069
|
);
|
|
24759
25070
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
24760
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
24761
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
25071
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _827 => _827.firstName]), _optionalChain([identityUser, 'optionalAccess', _828 => _828.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _829 => _829.name, 'optionalAccess', _830 => _830.trim, 'call', _831 => _831()]) || void 0 : void 0;
|
|
25072
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _832 => _832.avatarUrl, 'optionalAccess', _833 => _833.trim, 'call', _834 => _834()]) || void 0 : void 0;
|
|
24762
25073
|
const messages = _react.useMemo.call(void 0, () => {
|
|
24763
25074
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
24764
25075
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -24961,7 +25272,7 @@ function EmbeddableChatInner({
|
|
|
24961
25272
|
_react.useEffect.call(void 0, () => {
|
|
24962
25273
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
24963
25274
|
const ro = new ResizeObserver((entries) => {
|
|
24964
|
-
const w = _optionalChain([entries, 'access',
|
|
25275
|
+
const w = _optionalChain([entries, 'access', _835 => _835[0], 'optionalAccess', _836 => _836.contentRect, 'optionalAccess', _837 => _837.width]);
|
|
24965
25276
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
24966
25277
|
});
|
|
24967
25278
|
ro.observe(panelBoundary);
|
|
@@ -25007,18 +25318,18 @@ function EmbeddableChatInner({
|
|
|
25007
25318
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25008
25319
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25009
25320
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25010
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25321
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _838 => _838.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25011
25322
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25012
25323
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25013
25324
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25014
25325
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25015
25326
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25016
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25017
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25327
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _839 => _839.onCopyLink, 'optionalCall', _840 => _840(activeDialog)]) : void 0;
|
|
25328
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _841 => _841.compactDialog, 'optionalCall', _842 => _842(activeDialog)]) : void 0;
|
|
25018
25329
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25019
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25020
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25021
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25330
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _843 => _843.owner]) : void 0;
|
|
25331
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _844 => _844.name, 'optionalAccess', _845 => _845.trim, 'call', _846 => _846()]) || headerUserName;
|
|
25332
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _847 => _847.avatarUrl, 'optionalAccess', _848 => _848.trim, 'call', _849 => _849()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _850 => _850.avatarUrl, 'optionalAccess', _851 => _851.trim, 'call', _852 => _852()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _853 => _853.trim, 'call', _854 => _854()]) || void 0;
|
|
25022
25333
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25023
25334
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25024
25335
|
resetToNewChat();
|
|
@@ -25397,7 +25708,7 @@ function EmbeddableChatInner({
|
|
|
25397
25708
|
onNewChat: () => setComposeOpen(true),
|
|
25398
25709
|
onExpand: onExpand && (() => {
|
|
25399
25710
|
const last = lastDialogIdRef.current;
|
|
25400
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25711
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _855 => _855[0], 'optionalAccess', _856 => _856.id]);
|
|
25401
25712
|
if (archiveOpen) closeArchive();
|
|
25402
25713
|
if (target) handleSelectDialog(target);
|
|
25403
25714
|
else handleNewChat();
|
|
@@ -25504,9 +25815,9 @@ function EmbeddableChatInner({
|
|
|
25504
25815
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25505
25816
|
subtitleLoading: emptyStateLoading,
|
|
25506
25817
|
...guideWelcome,
|
|
25507
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25508
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25509
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25818
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _857 => _857.title]))),
|
|
25819
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _858 => _858.icon]))),
|
|
25820
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _859 => _859.quickActions]), () => ( guideSuggestedActions)),
|
|
25510
25821
|
onQuickAction: (action) => {
|
|
25511
25822
|
setQuickActionPreview(null);
|
|
25512
25823
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25525,7 +25836,7 @@ function EmbeddableChatInner({
|
|
|
25525
25836
|
`chip-skeleton-${i}`
|
|
25526
25837
|
)),
|
|
25527
25838
|
chipCommands.map((cmd) => {
|
|
25528
|
-
const Icon =
|
|
25839
|
+
const Icon = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, cmd.iconName);
|
|
25529
25840
|
const cmdId = cmd.id;
|
|
25530
25841
|
const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
|
|
25531
25842
|
const cardActions = cmd.actions.map((action) => ({
|
|
@@ -25534,7 +25845,7 @@ function EmbeddableChatInner({
|
|
|
25534
25845
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
25535
25846
|
}));
|
|
25536
25847
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25537
|
-
|
|
25848
|
+
_chunkRZQGIWK3cjs.MingoOnboardingCard,
|
|
25538
25849
|
{
|
|
25539
25850
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
25540
25851
|
title: label,
|
|
@@ -25581,8 +25892,8 @@ function EmbeddableChatInner({
|
|
|
25581
25892
|
selectedContextItems: contextItems,
|
|
25582
25893
|
onToggleContextItem: toggleContextItem,
|
|
25583
25894
|
onRemoveContextItem: removeContextItem,
|
|
25584
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25585
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
25895
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _860 => _860.items]),
|
|
25896
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _861 => _861.onRemove]),
|
|
25586
25897
|
contextPickerOpen,
|
|
25587
25898
|
onOpenContextPicker: openContextPicker,
|
|
25588
25899
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -25795,7 +26106,7 @@ var GROUPS = [
|
|
|
25795
26106
|
}
|
|
25796
26107
|
];
|
|
25797
26108
|
function maskKey(key) {
|
|
25798
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
26109
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _862 => _862.exec, 'call', _863 => _863(key), 'optionalAccess', _864 => _864[0]]), () => ( ""));
|
|
25799
26110
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
25800
26111
|
}
|
|
25801
26112
|
function HeaderName({ children }) {
|
|
@@ -25832,8 +26143,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25832
26143
|
const errors = _react.useMemo.call(void 0, () => {
|
|
25833
26144
|
const out = {};
|
|
25834
26145
|
for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
25835
|
-
const value = _optionalChain([optional, 'access',
|
|
25836
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
26146
|
+
const value = _optionalChain([optional, 'access', _865 => _865[field], 'optionalAccess', _866 => _866.trim, 'call', _867 => _867()]);
|
|
26147
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _868 => _868[field], 'access', _869 => _869.validate, 'optionalCall', _870 => _870(value)]) : null;
|
|
25837
26148
|
if (message) out[field] = message;
|
|
25838
26149
|
}
|
|
25839
26150
|
return out;
|
|
@@ -25845,12 +26156,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25845
26156
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
25846
26157
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
25847
26158
|
..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
25848
|
-
const value = _optionalChain([optional, 'access',
|
|
26159
|
+
const value = _optionalChain([optional, 'access', _871 => _871[field], 'optionalAccess', _872 => _872.trim, 'call', _873 => _873()]);
|
|
25849
26160
|
return value ? [[header, value]] : [];
|
|
25850
26161
|
})
|
|
25851
26162
|
];
|
|
25852
26163
|
const save = () => {
|
|
25853
|
-
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
26164
|
+
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _874 => _874.secret]);
|
|
25854
26165
|
const actAs = email.trim().toLowerCase();
|
|
25855
26166
|
if (!key || !actAs || hasErrors) {
|
|
25856
26167
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -25872,13 +26183,13 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25872
26183
|
setStatus("Cleared. Requests use the session again.");
|
|
25873
26184
|
};
|
|
25874
26185
|
const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
|
|
25875
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26186
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRFUOIQSGcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
|
|
25876
26187
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "flex flex-col gap-[var(--spacing-system-sf)] sm:flex-row sm:items-start sm:justify-between", children: [
|
|
25877
26188
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
25878
26189
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
|
|
25879
26190
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
|
|
25880
26191
|
] }),
|
|
25881
|
-
activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26192
|
+
activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
|
|
25882
26193
|
] }),
|
|
25883
26194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25884
26195
|
Section,
|
|
@@ -26444,4 +26755,16 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26444
26755
|
|
|
26445
26756
|
|
|
26446
26757
|
|
|
26447
|
-
exports.InfoHint = InfoHint; exports.Field = Field; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.HoverDropdown = HoverDropdown; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; 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.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; 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.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.clickupTaskUrl = clickupTaskUrl; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; 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.openInNewTab = openInNewTab; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; 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.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.ASK_AI_OPEN_EVENT = ASK_AI_OPEN_EVENT; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatPanelHeader = ChatPanelHeader; 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.ChatContextMemoryBar = ChatContextMemoryBar; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useNavLinkViaRuntime = useNavLinkViaRuntime; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; 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.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.buildDiscussPrompt = buildDiscussPrompt; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
|
|
26758
|
+
|
|
26759
|
+
|
|
26760
|
+
|
|
26761
|
+
|
|
26762
|
+
|
|
26763
|
+
|
|
26764
|
+
|
|
26765
|
+
|
|
26766
|
+
|
|
26767
|
+
|
|
26768
|
+
|
|
26769
|
+
|
|
26770
|
+
exports.InfoHint = InfoHint; exports.Field = Field; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.HoverDropdown = HoverDropdown; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; 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.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.TRIAL_DAYS = TRIAL_DAYS; exports.TRIAL_LABELS = TRIAL_LABELS; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; 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.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.clickupTaskUrl = clickupTaskUrl; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; 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.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; 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.openInNewTab = openInNewTab; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; 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.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.ASK_AI_OPEN_EVENT = ASK_AI_OPEN_EVENT; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useShownAskPrompts = useShownAskPrompts; exports.useShownAskPromptIds = useShownAskPromptIds; exports.AssistantAskPrompts = AssistantAskPrompts; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatPanelHeader = ChatPanelHeader; 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.ChatContextMemoryBar = ChatContextMemoryBar; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useNavLinkViaRuntime = useNavLinkViaRuntime; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getVendorLogo = getVendorLogo; exports.VendorIcon = VendorIcon; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; 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.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.buildDiscussPrompt = buildDiscussPrompt; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
|