@flamingo-stack/openframe-frontend-core 0.0.722 → 0.0.724
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-XJYAUIOL.cjs → chunk-2A4AGW7Z.cjs} +11 -11
- package/dist/{chunk-65C4WHG4.js → chunk-2HLGX6JF.js} +5 -5
- package/dist/{chunk-5K6YKRP5.cjs → chunk-3MMKIVWZ.cjs} +23 -23
- package/dist/{chunk-P7Y626YJ.cjs → chunk-3NVSC3BU.cjs} +687 -611
- package/dist/{chunk-VSYQJCNR.js → chunk-4N5DLIEC.js} +1 -1
- package/dist/{chunk-GYSTZD6X.cjs → chunk-5CJGNPTT.cjs} +35 -35
- package/dist/{chunk-AWWLEYAU.js → chunk-6BKDXUOQ.js} +6 -6
- package/dist/{chunk-BUDZWXRG.js → chunk-6QO6BIX7.js} +1 -1
- package/dist/{chunk-FDWYBJYD.cjs → chunk-7AXOAA5T.cjs} +3 -3
- package/dist/{chunk-SZF7ENIW.js → chunk-7CNGNPBI.js} +3 -3
- package/dist/{chunk-6HRQLM6T.cjs → chunk-A4WHVIYZ.cjs} +17 -17
- package/dist/{chunk-VV5INIQB.cjs → chunk-BIWG3CYN.cjs} +3 -3
- package/dist/{chunk-I3UUMRO7.js → chunk-BWMEQ7IZ.js} +1 -1
- package/dist/{chunk-7UZ2JZJY.js → chunk-CJENFR5T.js} +29 -3
- package/dist/{chunk-IITZ6JSC.cjs → chunk-DGNGABNG.cjs} +33 -7
- package/dist/{chunk-KWBH63GV.cjs → chunk-FR4MFSH5.cjs} +19 -19
- package/dist/{chunk-DWSBTGKT.cjs → chunk-GRB5HVEV.cjs} +2610 -2125
- package/dist/{chunk-JQ55FFIK.cjs → chunk-IPUDFAU5.cjs} +31 -31
- package/dist/{chunk-F33RMJOL.js → chunk-IUQKIU5A.js} +6 -6
- package/dist/{chunk-LV6UJD2K.cjs → chunk-JKWQWHNV.cjs} +6 -1
- package/dist/{chunk-VC7COEWF.cjs → chunk-JQ7A7PO5.cjs} +76 -76
- package/dist/{chunk-BCU6UUNQ.js → chunk-KKO4GRM3.js} +4 -4
- package/dist/{chunk-RVQV6J5K.cjs → chunk-L5CAET76.cjs} +64 -64
- package/dist/{chunk-WY4SLTMZ.js → chunk-MRBPJ4NB.js} +1 -1
- package/dist/{chunk-IF72N4PE.js → chunk-MU5F5QXJ.js} +6 -6
- package/dist/{chunk-NMGWNUKB.js → chunk-N2PX26BZ.js} +2 -2
- package/dist/{chunk-NFABAOMD.cjs → chunk-N4NGKXUU.cjs} +15 -15
- package/dist/{chunk-ETQVXIYW.js → chunk-NLZZUWR6.js} +4 -4
- package/dist/{chunk-ZMHP4Y6M.js → chunk-OFOBVPDV.js} +2 -2
- package/dist/{chunk-DX3W7DPC.js → chunk-OWFDXYEO.js} +1 -1
- package/dist/{chunk-HA2ASGJM.js → chunk-PF4WAKCS.js} +4 -4
- package/dist/{chunk-GAFK3WNT.cjs → chunk-QJ67GFF3.cjs} +32 -32
- package/dist/{chunk-KBPGSPXQ.js → chunk-QN3OXRTM.js} +4492 -4007
- package/dist/{chunk-ZHC6MDGF.cjs → chunk-QUI7DKBW.cjs} +41 -41
- package/dist/{chunk-E7NIZXDT.js → chunk-S4SVKXHN.js} +88 -12
- package/dist/{chunk-VYHCN5NU.cjs → chunk-SOTXV3T5.cjs} +3 -3
- package/dist/{chunk-MJ4SXOG2.cjs → chunk-SVDXNMBL.cjs} +16 -16
- package/dist/{chunk-UYMTAFHG.js → chunk-VLPGV5WH.js} +1 -1
- package/dist/{chunk-SZ3CBFSH.js → chunk-XDTD6YGG.js} +7 -7
- package/dist/{chunk-VU7RU3LL.cjs → chunk-YKV45BSJ.cjs} +4 -4
- package/dist/{chunk-XR7NVJXS.cjs → chunk-ZKL52ALL.cjs} +3 -3
- package/dist/{chunk-EWED6ISQ.js → chunk-ZQKN2Z6W.js} +5 -0
- package/dist/{cloud-tenants-4Z36KWSX.js → cloud-tenants-5MINXS5J.js} +6 -6
- package/dist/{cloud-tenants-5NIC5VXK.cjs → cloud-tenants-UMZJZTMB.cjs} +7 -7
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/case-studies/index.js +7 -7
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +5 -5
- package/dist/components/chat/index.js +4 -4
- package/dist/components/chat/utils/icon-library.d.ts +2 -0
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +8 -8
- package/dist/components/contact/index.js +7 -7
- package/dist/components/docs/index.cjs +11 -11
- package/dist/components/docs/index.js +10 -10
- package/dist/components/embeds/index.cjs +8 -8
- package/dist/components/embeds/index.js +7 -7
- package/dist/components/faq/index.cjs +8 -8
- package/dist/components/faq/index.js +7 -7
- package/dist/components/features/index.cjs +23 -7
- package/dist/components/features/index.d.ts +1 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +22 -6
- package/dist/components/features/model-token-rates.d.ts +179 -0
- package/dist/components/features/model-token-rates.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +130 -126
- package/dist/components/help-center-pages/index.js +47 -43
- package/dist/components/help-center-pages/trust-center-page.d.ts +34 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts +1 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/index.cjs +73 -55
- package/dist/components/index.js +36 -18
- package/dist/components/meeting-scheduler/index.cjs +32 -32
- package/dist/components/meeting-scheduler/index.js +6 -6
- package/dist/components/navigation/index.cjs +10 -10
- package/dist/components/navigation/index.js +9 -9
- package/dist/components/onboarding-guides/index.cjs +10 -10
- package/dist/components/onboarding-guides/index.js +9 -9
- 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 +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +11 -11
- package/dist/components/tickets/index.js +10 -10
- package/dist/components/ui/data-attribution.d.ts +3 -1
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/download-button.d.ts +19 -0
- package/dist/components/ui/download-button.d.ts.map +1 -0
- package/dist/components/ui/index.cjs +9 -7
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +8 -6
- package/dist/{devices-2TK3LAKM.js → devices-FSSUAUQN.js} +6 -6
- package/dist/{devices-7IKT72DK.cjs → devices-HOT7YSDN.cjs} +8 -8
- package/dist/index.cjs +53 -11
- package/dist/index.js +52 -10
- package/dist/{knowledge-HYSEV35H.cjs → knowledge-3N6HCFLU.cjs} +8 -8
- package/dist/{knowledge-3GJ4MU3V.js → knowledge-7HRUJX26.js} +6 -6
- package/dist/{logs-ZX3NADQC.cjs → logs-75M5YP6V.cjs} +15 -15
- package/dist/{logs-TATVM62H.js → logs-T25OE2QW.js} +6 -6
- package/dist/{policies-MRRKLF4Q.js → policies-4OK4XTD4.js} +6 -6
- package/dist/{policies-J4FSDKPI.cjs → policies-BTG7UJJC.cjs} +11 -11
- package/dist/{remote-session-Z2YCUPHU.cjs → remote-session-4DTOM3QD.cjs} +5 -5
- package/dist/{remote-session-WCLR47RN.js → remote-session-AZJXG7ZF.js} +3 -3
- package/dist/{software-update-KM46WUVQ.js → software-update-5SOV4FIR.js} +6 -6
- package/dist/{software-update-CXUBWYD2.cjs → software-update-OZURO4VK.cjs} +11 -11
- package/dist/types/index.cjs +27 -2
- package/dist/types/index.js +25 -3
- package/dist/types/trust-center.d.ts +19 -2
- package/dist/types/trust-center.d.ts.map +1 -1
- package/dist/utils/ai-providers.d.ts +29 -0
- package/dist/utils/ai-providers.d.ts.map +1 -0
- package/dist/utils/index.cjs +76 -2
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +68 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/model-token-rates.d.ts +55 -0
- package/dist/utils/model-token-rates.d.ts.map +1 -0
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +3 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/features/index.ts +1 -0
- package/src/components/features/model-token-rates.tsx +696 -0
- package/src/components/help-center-pages/trust-center-page.tsx +50 -29
- package/src/components/help-center-pages/trust-center-sections.tsx +2 -2
- package/src/components/ui/data-attribution.tsx +19 -6
- package/src/components/ui/download-button.tsx +34 -0
- package/src/components/ui/index.ts +1 -0
- package/src/types/trust-center.ts +52 -4
- package/src/utils/ai-providers.ts +46 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/list-url.ts +1 -0
- package/src/utils/model-token-rates.ts +103 -0
- package/src/utils/source-icons.ts +3 -0
|
@@ -34,7 +34,7 @@ var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var _chunk7AXOAA5Tcjs = require('./chunk-7AXOAA5T.cjs');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
@@ -140,7 +140,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
|
|
143
|
-
var
|
|
143
|
+
var _chunkDGNGABNGcjs = require('./chunk-DGNGABNG.cjs');
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
|
|
@@ -148,7 +148,7 @@ var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
|
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
var
|
|
151
|
+
var _chunkJKWQWHNVcjs = require('./chunk-JKWQWHNV.cjs');
|
|
152
152
|
|
|
153
153
|
|
|
154
154
|
|
|
@@ -314,7 +314,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
|
314
314
|
|
|
315
315
|
// src/components/chat/chat-appearance-context.tsx
|
|
316
316
|
|
|
317
|
-
var ChatAppearanceContext = _react.createContext.call(void 0,
|
|
317
|
+
var ChatAppearanceContext = _react.createContext.call(void 0, _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.CLASSIC);
|
|
318
318
|
function useChatAppearance() {
|
|
319
319
|
return _react.useContext.call(void 0, ChatAppearanceContext);
|
|
320
320
|
}
|
|
@@ -352,7 +352,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
352
352
|
...props
|
|
353
353
|
}, ref) => {
|
|
354
354
|
const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
|
|
355
|
-
const isV2 = useChatAppearance() ===
|
|
355
|
+
const isV2 = useChatAppearance() === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
356
356
|
const handleApprove = async () => {
|
|
357
357
|
setIsProcessing(true);
|
|
358
358
|
try {
|
|
@@ -487,7 +487,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
|
|
|
487
487
|
|
|
488
488
|
var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
489
489
|
({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
|
|
490
|
-
const isV2 = useChatAppearance() ===
|
|
490
|
+
const isV2 = useChatAppearance() === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
491
491
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
492
492
|
"div",
|
|
493
493
|
{
|
|
@@ -503,7 +503,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
|
503
503
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
504
504
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
|
|
505
505
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
|
|
506
|
-
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children:
|
|
506
|
+
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunk7AXOAA5Tcjs.formatTime.call(void 0, timestamp) })
|
|
507
507
|
] }),
|
|
508
508
|
body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
|
|
509
509
|
] })
|
|
@@ -3411,7 +3411,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
3411
3411
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
3412
3412
|
const { innerRef, containerStyle } = _chunkHP4UUBJCcjs.useCollapsible.call(void 0, { expanded });
|
|
3413
3413
|
const hasDetails = Boolean(details);
|
|
3414
|
-
const isV2 = useChatAppearance() ===
|
|
3414
|
+
const isV2 = useChatAppearance() === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
3415
3415
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3416
3416
|
"div",
|
|
3417
3417
|
{
|
|
@@ -4453,8 +4453,8 @@ ToolExecutionDisplay.displayName = "ToolExecutionDisplay";
|
|
|
4453
4453
|
var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
|
|
4454
4454
|
var CARD_MARKER_REGEX = createCardMarkerScanner();
|
|
4455
4455
|
function formatMessageTimestamp(timestamp) {
|
|
4456
|
-
const time =
|
|
4457
|
-
return _chunkHP4UUBJCcjs.isToday.call(void 0, timestamp) ? time : `${
|
|
4456
|
+
const time = _chunk7AXOAA5Tcjs.formatTime.call(void 0, timestamp);
|
|
4457
|
+
return _chunkHP4UUBJCcjs.isToday.call(void 0, timestamp) ? time : `${_chunk7AXOAA5Tcjs.formatDate.call(void 0, timestamp)} ${time}`;
|
|
4458
4458
|
}
|
|
4459
4459
|
function normalizeContent(content) {
|
|
4460
4460
|
if (typeof content === "string") {
|
|
@@ -4508,7 +4508,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
4508
4508
|
const isError = role === "error";
|
|
4509
4509
|
const inheritedAppearance = useChatAppearance();
|
|
4510
4510
|
const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
|
|
4511
|
-
const isV2 = appearance ===
|
|
4511
|
+
const isV2 = appearance === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
4512
4512
|
const authorType = _nullishCoalesce(authorTypeProp, () => ( (isUser ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
|
|
4513
4513
|
const hasMarkerSupport = !!renderEntityCard;
|
|
4514
4514
|
const segments = _react.useMemo.call(void 0, () => normalizeContent(content), [content]);
|
|
@@ -4924,23 +4924,23 @@ function ChatMessageListSkeleton({
|
|
|
4924
4924
|
// src/components/chat/cycling-phrase.tsx
|
|
4925
4925
|
|
|
4926
4926
|
|
|
4927
|
-
function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
|
|
4927
|
+
function CyclingPhrase({ words: words2, className, charMs = 60, holdMs = 4500 }) {
|
|
4928
4928
|
const [wordIndex, setWordIndex] = _react.useState.call(void 0, 0);
|
|
4929
4929
|
const [text2, setText] = _react.useState.call(void 0, "");
|
|
4930
4930
|
const [cursor, setCursor] = _react.useState.call(void 0, 0);
|
|
4931
|
-
const target = _nullishCoalesce(
|
|
4932
|
-
const holding =
|
|
4931
|
+
const target = _nullishCoalesce(words2[wordIndex], () => ( ""));
|
|
4932
|
+
const holding = words2.length > 0 && cursor >= Math.max(text2.length, target.length);
|
|
4933
4933
|
const shownText = holding ? target : text2;
|
|
4934
4934
|
const placeholder = _react.useMemo.call(void 0,
|
|
4935
|
-
() =>
|
|
4936
|
-
[
|
|
4935
|
+
() => words2.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
|
|
4936
|
+
[words2]
|
|
4937
4937
|
);
|
|
4938
4938
|
_react.useEffect.call(void 0, () => {
|
|
4939
|
-
if (
|
|
4939
|
+
if (words2.length === 0) return void 0;
|
|
4940
4940
|
let timeoutId;
|
|
4941
4941
|
if (holding) {
|
|
4942
4942
|
timeoutId = setTimeout(() => {
|
|
4943
|
-
setWordIndex((i) => (i + 1) %
|
|
4943
|
+
setWordIndex((i) => (i + 1) % words2.length);
|
|
4944
4944
|
setCursor(0);
|
|
4945
4945
|
setText(target);
|
|
4946
4946
|
}, holdMs);
|
|
@@ -4956,8 +4956,8 @@ function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
|
|
|
4956
4956
|
setCursor((c) => c + 1);
|
|
4957
4957
|
}, charMs);
|
|
4958
4958
|
return () => clearTimeout(timeoutId);
|
|
4959
|
-
}, [wordIndex, cursor, text2, holding, target,
|
|
4960
|
-
if (
|
|
4959
|
+
}, [wordIndex, cursor, text2, holding, target, words2, charMs, holdMs]);
|
|
4960
|
+
if (words2.length === 0) return null;
|
|
4961
4961
|
const before = shownText.slice(0, cursor);
|
|
4962
4962
|
const after = shownText.slice(cursor);
|
|
4963
4963
|
const cursorBlock = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -5032,7 +5032,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5032
5032
|
contentClassName,
|
|
5033
5033
|
assistantType,
|
|
5034
5034
|
approvalVariant,
|
|
5035
|
-
appearance =
|
|
5035
|
+
appearance = _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.CLASSIC,
|
|
5036
5036
|
assistantIcon,
|
|
5037
5037
|
pendingApprovals,
|
|
5038
5038
|
hasNextPage,
|
|
@@ -5531,7 +5531,7 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
5531
5531
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
5532
5532
|
function useProxiedImageUrl(url) {
|
|
5533
5533
|
const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
5534
|
-
return _nullishCoalesce(
|
|
5534
|
+
return _nullishCoalesce(_chunkDGNGABNGcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
|
|
5535
5535
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
5536
5536
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
5537
5537
|
directHttps: true
|
|
@@ -5608,7 +5608,7 @@ function renderQuickActionIcon(icon) {
|
|
|
5608
5608
|
if (!spec.name && !spec.url) return void 0;
|
|
5609
5609
|
const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
|
|
5610
5610
|
const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
|
|
5611
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5611
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
|
|
5612
5612
|
}
|
|
5613
5613
|
function composeChipLabel(label, lozenge) {
|
|
5614
5614
|
if (!lozenge) return label;
|
|
@@ -5912,6 +5912,67 @@ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo"
|
|
|
5912
5912
|
);
|
|
5913
5913
|
}
|
|
5914
5914
|
|
|
5915
|
+
// src/utils/ai-providers.ts
|
|
5916
|
+
var AI_PROVIDERS = {
|
|
5917
|
+
ANTHROPIC: { label: "Anthropic", icon: "anthropic-logo-grey" },
|
|
5918
|
+
OPENAI: { label: "OpenAI", icon: "openai-logo-grey" },
|
|
5919
|
+
GOOGLE_GEMINI: { label: "Google Gemini", icon: "gemini-logo-grey" }
|
|
5920
|
+
};
|
|
5921
|
+
var words = (key) => key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean);
|
|
5922
|
+
function aiProvider(key, stated) {
|
|
5923
|
+
const known = AI_PROVIDERS[key];
|
|
5924
|
+
const parts = words(key);
|
|
5925
|
+
return {
|
|
5926
|
+
label: _optionalChain([stated, 'optionalAccess', _137 => _137.label]) || _optionalChain([known, 'optionalAccess', _138 => _138.label]) || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
|
|
5927
|
+
icon: _optionalChain([stated, 'optionalAccess', _139 => _139.icon]) || _optionalChain([known, 'optionalAccess', _140 => _140.icon]) || `${parts.join("-")}-logo-grey`
|
|
5928
|
+
};
|
|
5929
|
+
}
|
|
5930
|
+
|
|
5931
|
+
// src/utils/model-token-rates.ts
|
|
5932
|
+
var TOKEN_RATE_EMPTY = "\u2014";
|
|
5933
|
+
function formatTokenRate(value) {
|
|
5934
|
+
if (value == null || !Number.isFinite(value) || value <= 0) return TOKEN_RATE_EMPTY;
|
|
5935
|
+
const rounded = value >= 0.1 ? Number(value.toFixed(2)) : Number(value.toPrecision(2));
|
|
5936
|
+
return `${rounded}\xD7`;
|
|
5937
|
+
}
|
|
5938
|
+
function tokenCost(tokens, tokenPrice) {
|
|
5939
|
+
if (!tokenPrice || !(tokenPrice.tokens > 0) || !(tokenPrice.price > 0) || !(tokens >= 0)) return null;
|
|
5940
|
+
return tokens / tokenPrice.tokens * tokenPrice.price;
|
|
5941
|
+
}
|
|
5942
|
+
var TOKEN_AMOUNT_UNITS = [
|
|
5943
|
+
{ size: 1e9, suffix: "B" },
|
|
5944
|
+
{ size: 1e6, suffix: "M" },
|
|
5945
|
+
{ size: 1e3, suffix: "K" }
|
|
5946
|
+
];
|
|
5947
|
+
function formatTokenAmount(tokens) {
|
|
5948
|
+
if (tokens == null || !Number.isFinite(tokens) || tokens < 0) return TOKEN_RATE_EMPTY;
|
|
5949
|
+
const whole = Math.round(tokens);
|
|
5950
|
+
if (whole < 1e3) return String(whole);
|
|
5951
|
+
for (const [index, unit] of TOKEN_AMOUNT_UNITS.entries()) {
|
|
5952
|
+
if (whole < unit.size) continue;
|
|
5953
|
+
const figure = Number((whole / unit.size).toPrecision(3));
|
|
5954
|
+
const larger = TOKEN_AMOUNT_UNITS[index - 1];
|
|
5955
|
+
return figure >= 1e3 && larger ? `1${larger.suffix}` : `${figure}${unit.suffix}`;
|
|
5956
|
+
}
|
|
5957
|
+
return String(whole);
|
|
5958
|
+
}
|
|
5959
|
+
function tokensForBalance(balance, rate) {
|
|
5960
|
+
if (rate == null || !Number.isFinite(rate) || rate <= 0 || !(balance > 0)) return null;
|
|
5961
|
+
return balance / rate;
|
|
5962
|
+
}
|
|
5963
|
+
function tokenRateProviderLabel(providerType, stated) {
|
|
5964
|
+
return aiProvider(providerType, { label: stated }).label;
|
|
5965
|
+
}
|
|
5966
|
+
function groupTokenRatesByProvider(rates) {
|
|
5967
|
+
const groups = /* @__PURE__ */ new Map();
|
|
5968
|
+
for (const rate of rates) {
|
|
5969
|
+
const group = groups.get(rate.providerType);
|
|
5970
|
+
if (group) group.push(rate);
|
|
5971
|
+
else groups.set(rate.providerType, [rate]);
|
|
5972
|
+
}
|
|
5973
|
+
return [...groups].map(([providerType, grouped]) => ({ providerType, rates: grouped }));
|
|
5974
|
+
}
|
|
5975
|
+
|
|
5915
5976
|
// src/utils/trial.ts
|
|
5916
5977
|
var TRIAL_DAYS = 14;
|
|
5917
5978
|
var TRIAL_LABELS = {
|
|
@@ -6280,7 +6341,7 @@ function getShellIcon(shellType) {
|
|
|
6280
6341
|
if (!shellType) return void 0;
|
|
6281
6342
|
const normalized = shellType.toUpperCase();
|
|
6282
6343
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
6283
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
6344
|
+
return _optionalChain([shellDef, 'optionalAccess', _141 => _141.icon]);
|
|
6284
6345
|
}
|
|
6285
6346
|
|
|
6286
6347
|
// src/utils/video-bite-id.ts
|
|
@@ -6382,7 +6443,7 @@ function getOSIcon(osType) {
|
|
|
6382
6443
|
const normalized = normalizeOSType(osType);
|
|
6383
6444
|
if (!normalized) return void 0;
|
|
6384
6445
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
6385
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
6446
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _142 => _142.icon]);
|
|
6386
6447
|
}
|
|
6387
6448
|
function getOSTypeDefinition(osType) {
|
|
6388
6449
|
if (!osType) return void 0;
|
|
@@ -6392,7 +6453,7 @@ function getOSTypeDefinition(osType) {
|
|
|
6392
6453
|
}
|
|
6393
6454
|
function getOSPlatformId(osType) {
|
|
6394
6455
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
6395
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
6456
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _143 => _143.platformId]);
|
|
6396
6457
|
}
|
|
6397
6458
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
6398
6459
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -6555,7 +6616,7 @@ function getCountryByName(name) {
|
|
|
6555
6616
|
}
|
|
6556
6617
|
function getFlagFromCountryName(countryName) {
|
|
6557
6618
|
const country = getCountryByName(countryName);
|
|
6558
|
-
return _optionalChain([country, 'optionalAccess',
|
|
6619
|
+
return _optionalChain([country, 'optionalAccess', _144 => _144.flag]);
|
|
6559
6620
|
}
|
|
6560
6621
|
function validatePhoneNumber(phoneNumber, countryCode) {
|
|
6561
6622
|
if (!phoneNumber.trim()) return true;
|
|
@@ -6664,10 +6725,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
6664
6725
|
];
|
|
6665
6726
|
function extractDomainFromEmail(email) {
|
|
6666
6727
|
if (!email || !email.includes("@")) return null;
|
|
6667
|
-
return _optionalChain([email, 'access',
|
|
6728
|
+
return _optionalChain([email, 'access', _145 => _145.split, 'call', _146 => _146("@"), 'access', _147 => _147[1], 'optionalAccess', _148 => _148.toLowerCase, 'call', _149 => _149()]) || null;
|
|
6668
6729
|
}
|
|
6669
6730
|
function normalizeDomain(domain) {
|
|
6670
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
6731
|
+
return _optionalChain([domain, 'optionalAccess', _150 => _150.toLowerCase, 'call', _151 => _151(), 'access', _152 => _152.replace, 'call', _153 => _153(/^https?:\/\//, ""), 'access', _154 => _154.replace, 'call', _155 => _155(/^www\./, ""), 'access', _156 => _156.split, 'call', _157 => _157("/"), 'access', _158 => _158[0], 'access', _159 => _159.trim, 'call', _160 => _160()]) || "";
|
|
6671
6732
|
}
|
|
6672
6733
|
function isGenericDomain(domain) {
|
|
6673
6734
|
const normalized = normalizeDomain(domain);
|
|
@@ -6814,6 +6875,7 @@ var SOURCE_ICON_NAMES = {
|
|
|
6814
6875
|
"trust-center": "shield-check",
|
|
6815
6876
|
// The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
|
|
6816
6877
|
"website-pages": "flamingo-logo-grey",
|
|
6878
|
+
"openframe-pricing": "money-bill-dollar",
|
|
6817
6879
|
// The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
|
|
6818
6880
|
vendors: "package-search",
|
|
6819
6881
|
// Financials
|
|
@@ -6879,6 +6941,7 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
6879
6941
|
// Trust
|
|
6880
6942
|
"trust-center": "Trust Center",
|
|
6881
6943
|
"website-pages": "Website",
|
|
6944
|
+
"openframe-pricing": "OpenFrame pricing",
|
|
6882
6945
|
vendors: "Vendor Directory",
|
|
6883
6946
|
// Financials
|
|
6884
6947
|
"investor-updates": "Investor Updates",
|
|
@@ -6948,6 +7011,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
6948
7011
|
// Trust
|
|
6949
7012
|
trust_center: "trust-center",
|
|
6950
7013
|
site_page: "website-pages",
|
|
7014
|
+
openframe_price: "openframe-pricing",
|
|
6951
7015
|
vendor: "vendors",
|
|
6952
7016
|
// Financials
|
|
6953
7017
|
investor_update: "investor-updates",
|
|
@@ -7011,13 +7075,13 @@ function recordCountLabel(count) {
|
|
|
7011
7075
|
}
|
|
7012
7076
|
function buildGroupedSource(spec) {
|
|
7013
7077
|
const first = spec.rows[0];
|
|
7014
|
-
const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess',
|
|
7015
|
-
const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess',
|
|
7078
|
+
const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _161 => _161.externalUrl])));
|
|
7079
|
+
const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _162 => _162.targetPlatform]);
|
|
7016
7080
|
return {
|
|
7017
7081
|
index: spec.index,
|
|
7018
7082
|
name: `${getSourceLabel(spec.sourceRepo)} ${recordCountLabel(spec.rows.length)}`,
|
|
7019
|
-
path: _nullishCoalesce(_optionalChain([first, 'optionalAccess',
|
|
7020
|
-
documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess',
|
|
7083
|
+
path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _163 => _163.path]), () => ( "")),
|
|
7084
|
+
documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _164 => _164.documentType]), () => ( "")),
|
|
7021
7085
|
...externalUrl ? { externalUrl } : {},
|
|
7022
7086
|
targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
|
|
7023
7087
|
sourceRepo: spec.sourceRepo,
|
|
@@ -7086,7 +7150,7 @@ function groupSourcesByTable(sources2) {
|
|
|
7086
7150
|
index: source.index,
|
|
7087
7151
|
sourceRepo: source.sourceRepo,
|
|
7088
7152
|
rows: uniqueRows(members.flatMap(rowsOf)),
|
|
7089
|
-
..._optionalChain([serverChip, 'optionalAccess',
|
|
7153
|
+
..._optionalChain([serverChip, 'optionalAccess', _165 => _165.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
|
|
7090
7154
|
...serverChip && serverChip.targetPlatform !== void 0 ? { targetPlatform: serverChip.targetPlatform } : {}
|
|
7091
7155
|
})
|
|
7092
7156
|
);
|
|
@@ -7148,7 +7212,7 @@ function createSseSubscription(options) {
|
|
|
7148
7212
|
if (connected === next) return;
|
|
7149
7213
|
connected = next;
|
|
7150
7214
|
try {
|
|
7151
|
-
_optionalChain([onConnectedChange, 'optionalCall',
|
|
7215
|
+
_optionalChain([onConnectedChange, 'optionalCall', _166 => _166(next)]);
|
|
7152
7216
|
} catch (err) {
|
|
7153
7217
|
console.error("[sse-subscription] onConnectedChange threw:", err);
|
|
7154
7218
|
}
|
|
@@ -7164,7 +7228,7 @@ function createSseSubscription(options) {
|
|
|
7164
7228
|
if (status !== "open") {
|
|
7165
7229
|
confirmTimerId = clearLifecycleTimer(confirmTimerId);
|
|
7166
7230
|
}
|
|
7167
|
-
_optionalChain([onStatusChange, 'optionalCall',
|
|
7231
|
+
_optionalChain([onStatusChange, 'optionalCall', _167 => _167(status)]);
|
|
7168
7232
|
};
|
|
7169
7233
|
const internalReconnect = (delayMs) => {
|
|
7170
7234
|
failedDelayTimerId = clearLifecycleTimer(failedDelayTimerId);
|
|
@@ -7178,7 +7242,7 @@ function createSseSubscription(options) {
|
|
|
7178
7242
|
}, delayMs);
|
|
7179
7243
|
};
|
|
7180
7244
|
const handleServerStatus = (data) => {
|
|
7181
|
-
const status = _optionalChain([data, 'optionalAccess',
|
|
7245
|
+
const status = _optionalChain([data, 'optionalAccess', _168 => _168.status]);
|
|
7182
7246
|
if (status === "subscribed") {
|
|
7183
7247
|
confirmTimerId = clearLifecycleTimer(confirmTimerId);
|
|
7184
7248
|
serverGraceTimerId = clearLifecycleTimer(serverGraceTimerId);
|
|
@@ -7219,7 +7283,7 @@ function createSseSubscription(options) {
|
|
|
7219
7283
|
const armSilenceTimer = () => {
|
|
7220
7284
|
if (silenceTimerId) clearTimeout(silenceTimerId);
|
|
7221
7285
|
silenceTimerId = setTimeout(() => {
|
|
7222
|
-
_optionalChain([abortController, 'optionalAccess',
|
|
7286
|
+
_optionalChain([abortController, 'optionalAccess', _169 => _169.abort, 'call', _170 => _170()]);
|
|
7223
7287
|
}, silenceTimeoutMs);
|
|
7224
7288
|
};
|
|
7225
7289
|
const scheduleReconnect = (delayMs) => {
|
|
@@ -7372,7 +7436,7 @@ function createSseSubscription(options) {
|
|
|
7372
7436
|
generation += 1;
|
|
7373
7437
|
clearTimers();
|
|
7374
7438
|
attempt = 0;
|
|
7375
|
-
_optionalChain([abortController, 'optionalAccess',
|
|
7439
|
+
_optionalChain([abortController, 'optionalAccess', _171 => _171.abort, 'call', _172 => _172()]);
|
|
7376
7440
|
void connect();
|
|
7377
7441
|
}
|
|
7378
7442
|
const suspend = () => {
|
|
@@ -7380,7 +7444,7 @@ function createSseSubscription(options) {
|
|
|
7380
7444
|
suspended = true;
|
|
7381
7445
|
generation += 1;
|
|
7382
7446
|
clearTimers();
|
|
7383
|
-
_optionalChain([abortController, 'optionalAccess',
|
|
7447
|
+
_optionalChain([abortController, 'optionalAccess', _173 => _173.abort, 'call', _174 => _174()]);
|
|
7384
7448
|
setStatus("suspended");
|
|
7385
7449
|
};
|
|
7386
7450
|
const retryIfStalled = () => {
|
|
@@ -7425,15 +7489,15 @@ function createSseSubscription(options) {
|
|
|
7425
7489
|
generation += 1;
|
|
7426
7490
|
clearTimers();
|
|
7427
7491
|
hiddenGraceTimerId = clearLifecycleTimer(hiddenGraceTimerId);
|
|
7428
|
-
_optionalChain([abortController, 'optionalAccess',
|
|
7492
|
+
_optionalChain([abortController, 'optionalAccess', _175 => _175.abort, 'call', _176 => _176()]);
|
|
7429
7493
|
if (listenersActive) {
|
|
7430
7494
|
document.removeEventListener("visibilitychange", onVisibilityChange);
|
|
7431
7495
|
window.removeEventListener("online", onOnline);
|
|
7432
7496
|
window.removeEventListener("focus", retryIfStalled);
|
|
7433
7497
|
}
|
|
7434
|
-
_optionalChain([unsubscribeCredentials, 'optionalCall',
|
|
7498
|
+
_optionalChain([unsubscribeCredentials, 'optionalCall', _177 => _177()]);
|
|
7435
7499
|
setConnected(false);
|
|
7436
|
-
_optionalChain([onStatusChange, 'optionalCall',
|
|
7500
|
+
_optionalChain([onStatusChange, 'optionalCall', _178 => _178("closed")]);
|
|
7437
7501
|
},
|
|
7438
7502
|
reconnectNow: () => {
|
|
7439
7503
|
if (closed) return;
|
|
@@ -7445,7 +7509,7 @@ function createSseSubscription(options) {
|
|
|
7445
7509
|
|
|
7446
7510
|
// src/utils/sse-decision-frame.ts
|
|
7447
7511
|
async function readLeadingDecisionFrame(response) {
|
|
7448
|
-
const reader = _optionalChain([response, 'access',
|
|
7512
|
+
const reader = _optionalChain([response, 'access', _179 => _179.body, 'optionalAccess', _180 => _180.getReader, 'call', _181 => _181()]);
|
|
7449
7513
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
7450
7514
|
const decoder = new TextDecoder();
|
|
7451
7515
|
let buffer = "";
|
|
@@ -7470,8 +7534,8 @@ async function readLeadingDecisionFrame(response) {
|
|
|
7470
7534
|
throw new Error(`readLeadingDecisionFrame: leading JSON parse failed: ${err.message}`);
|
|
7471
7535
|
}
|
|
7472
7536
|
const obj = parsed;
|
|
7473
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
7474
|
-
throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
7537
|
+
if (_optionalChain([obj, 'optionalAccess', _182 => _182.kind]) !== "decision_resolved") {
|
|
7538
|
+
throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _183 => _183.kind]))}`);
|
|
7475
7539
|
}
|
|
7476
7540
|
frame = normalizeDecisionFrame(obj);
|
|
7477
7541
|
buffer = buffer.slice(nullIdx + 1);
|
|
@@ -7533,7 +7597,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
|
|
|
7533
7597
|
|
|
7534
7598
|
[Attached: ${safeName}](${url})`;
|
|
7535
7599
|
}
|
|
7536
|
-
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED =
|
|
7600
|
+
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkDGNGABNGcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
|
|
7537
7601
|
var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
|
|
7538
7602
|
`^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
|
|
7539
7603
|
"gm"
|
|
@@ -7557,7 +7621,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
7557
7621
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
7558
7622
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
7559
7623
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
7560
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
7624
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _184 => _184.status, 'optionalAccess', _185 => _185.toUpperCase, 'call', _186 => _186()]) === "CLOSED";
|
|
7561
7625
|
if (toolName === "create_ticket") {
|
|
7562
7626
|
return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
|
|
7563
7627
|
}
|
|
@@ -7619,7 +7683,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
7619
7683
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
7620
7684
|
}
|
|
7621
7685
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
7622
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
7686
|
+
const f = _optionalChain([override, 'optionalAccess', _187 => _187.entityIdFilter]);
|
|
7623
7687
|
if (!f) return null;
|
|
7624
7688
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
7625
7689
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -7890,12 +7954,12 @@ var FullscreenSwitchController = class {
|
|
|
7890
7954
|
if (fullscreenElementOf(doc)) {
|
|
7891
7955
|
if (doc.exitFullscreen) doc.exitFullscreen().catch(() => {
|
|
7892
7956
|
});
|
|
7893
|
-
else _optionalChain([doc, 'access',
|
|
7957
|
+
else _optionalChain([doc, 'access', _188 => _188.webkitExitFullscreen, 'optionalCall', _189 => _189()]);
|
|
7894
7958
|
} else {
|
|
7895
|
-
const el = _nullishCoalesce(_optionalChain([this, 'access',
|
|
7959
|
+
const el = _nullishCoalesce(_optionalChain([this, 'access', _190 => _190.opts, 'access', _191 => _191.target, 'optionalCall', _192 => _192()]), () => ( document.documentElement));
|
|
7896
7960
|
if (el.requestFullscreen) el.requestFullscreen({ navigationUI: "hide" }).catch(() => {
|
|
7897
7961
|
});
|
|
7898
|
-
else _optionalChain([el, 'access',
|
|
7962
|
+
else _optionalChain([el, 'access', _193 => _193.webkitRequestFullscreen, 'optionalCall', _194 => _194()]);
|
|
7899
7963
|
}
|
|
7900
7964
|
};
|
|
7901
7965
|
/** Raise the mask + start tracking. Idempotent — safe from the pre-emptive
|
|
@@ -7910,7 +7974,7 @@ var FullscreenSwitchController = class {
|
|
|
7910
7974
|
window.clearTimeout(this.quietTimer);
|
|
7911
7975
|
window.clearTimeout(this.capTimer);
|
|
7912
7976
|
window.removeEventListener("resize", this.onResize);
|
|
7913
|
-
_optionalChain([this, 'access',
|
|
7977
|
+
_optionalChain([this, 'access', _195 => _195.opts, 'access', _196 => _196.onGeometryPulse, 'optionalCall', _197 => _197()]);
|
|
7914
7978
|
if (this.opts.switchingClass) document.documentElement.classList.remove(this.opts.switchingClass);
|
|
7915
7979
|
};
|
|
7916
7980
|
this.armQuiet = () => {
|
|
@@ -7918,7 +7982,7 @@ var FullscreenSwitchController = class {
|
|
|
7918
7982
|
this.quietTimer = window.setTimeout(this.endSwitch, _nullishCoalesce(this.opts.quietMs, () => ( DEFAULT_QUIET_MS)));
|
|
7919
7983
|
};
|
|
7920
7984
|
this.onResize = () => {
|
|
7921
|
-
_optionalChain([this, 'access',
|
|
7985
|
+
_optionalChain([this, 'access', _198 => _198.opts, 'access', _199 => _199.onGeometryPulse, 'optionalCall', _200 => _200()]);
|
|
7922
7986
|
this.armQuiet();
|
|
7923
7987
|
};
|
|
7924
7988
|
/** Escape is the one exit path that skips toggle() — pre-mask on the
|
|
@@ -7930,7 +7994,7 @@ var FullscreenSwitchController = class {
|
|
|
7930
7994
|
const fs = this.isFullscreen;
|
|
7931
7995
|
if (this.opts.activeClass) document.documentElement.classList.toggle(this.opts.activeClass, fs);
|
|
7932
7996
|
this.beginSwitch();
|
|
7933
|
-
requestAnimationFrame(() => _optionalChain([this, 'access',
|
|
7997
|
+
requestAnimationFrame(() => _optionalChain([this, 'access', _201 => _201.opts, 'access', _202 => _202.onGeometryPulse, 'optionalCall', _203 => _203()]));
|
|
7934
7998
|
this.armQuiet();
|
|
7935
7999
|
this.opts.onFullscreenChange(fs);
|
|
7936
8000
|
};
|
|
@@ -7944,7 +8008,7 @@ var FullscreenSwitchController = class {
|
|
|
7944
8008
|
}
|
|
7945
8009
|
get isFullscreen() {
|
|
7946
8010
|
const fs = fullscreenElementOf(document);
|
|
7947
|
-
const target = _optionalChain([this, 'access',
|
|
8011
|
+
const target = _optionalChain([this, 'access', _204 => _204.opts, 'access', _205 => _205.target, 'optionalCall', _206 => _206()]);
|
|
7948
8012
|
return target ? fs === target : Boolean(fs);
|
|
7949
8013
|
}
|
|
7950
8014
|
attach() {
|
|
@@ -7991,7 +8055,7 @@ function primaryPlatformOf(platforms) {
|
|
|
7991
8055
|
if (!Array.isArray(platforms)) return null;
|
|
7992
8056
|
for (const entry of platforms) {
|
|
7993
8057
|
const row = entry;
|
|
7994
|
-
const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess',
|
|
8058
|
+
const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _207 => _207.platforms, 'optionalAccess', _208 => _208.name]), () => ( _optionalChain([row, 'optionalAccess', _209 => _209.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _210 => _210.name])));
|
|
7995
8059
|
if (typeof name === "string" && name.trim()) return name.trim();
|
|
7996
8060
|
}
|
|
7997
8061
|
return null;
|
|
@@ -8008,13 +8072,13 @@ function lastPathSegment(url) {
|
|
|
8008
8072
|
function makeComposeContentUrl(opts) {
|
|
8009
8073
|
const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
|
|
8010
8074
|
return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
|
|
8011
|
-
const type =
|
|
8075
|
+
const type = _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, rawType);
|
|
8012
8076
|
const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
|
|
8013
8077
|
if (override) return { ...override(identifier), hostOverride: true };
|
|
8014
8078
|
const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
|
|
8015
8079
|
if (opts.hostedTypes.has(type)) {
|
|
8016
8080
|
const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
|
|
8017
|
-
const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess',
|
|
8081
|
+
const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _211 => _211.trim, 'call', _212 => _212()]) || identifier;
|
|
8018
8082
|
return { href: `/${seg}/${slug}`, targetPlatform: null };
|
|
8019
8083
|
}
|
|
8020
8084
|
if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
|
|
@@ -8022,7 +8086,7 @@ function makeComposeContentUrl(opts) {
|
|
|
8022
8086
|
const owner = claimedOwner && byKey(claimedOwner) ? claimedOwner : null;
|
|
8023
8087
|
const origin = owner ? getPlatformProductionUrl(owner) : opts.contentOrigin;
|
|
8024
8088
|
return {
|
|
8025
|
-
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess',
|
|
8089
|
+
href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _213 => _213.trim, 'call', _214 => _214()]) || identifier}`,
|
|
8026
8090
|
// Report the owner so `decideNewTab` can compare it against the current
|
|
8027
8091
|
// app instead of falling back to an origin guess (which is unreliable in
|
|
8028
8092
|
// dev, where every platform shares localhost). `null` whenever the href
|
|
@@ -8092,7 +8156,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
|
|
|
8092
8156
|
const hasRootIndex = structure.some((node) => node.type === "file" && node.path === folderIndexFile);
|
|
8093
8157
|
if (hasRootIndex) return null;
|
|
8094
8158
|
const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
|
|
8095
|
-
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess',
|
|
8159
|
+
return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _215 => _215.path]), () => ( null));
|
|
8096
8160
|
}
|
|
8097
8161
|
|
|
8098
8162
|
// src/utils/doc-path-utils.ts
|
|
@@ -8103,7 +8167,7 @@ function pathToNodeId(path) {
|
|
|
8103
8167
|
return path.replace(/[/\s]/g, "-").toLowerCase();
|
|
8104
8168
|
}
|
|
8105
8169
|
function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
|
|
8106
|
-
const lowerPath = (_optionalChain([segments, 'optionalAccess',
|
|
8170
|
+
const lowerPath = (_optionalChain([segments, 'optionalAccess', _216 => _216.join, 'call', _217 => _217("/")]) || "").toLowerCase();
|
|
8107
8171
|
const lowerIndex = folderIndexFile.toLowerCase();
|
|
8108
8172
|
const suffix = `/${lowerIndex}`;
|
|
8109
8173
|
if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
|
|
@@ -8461,7 +8525,7 @@ function isValidPathPattern(pattern) {
|
|
|
8461
8525
|
return pattern.trim().length > 0 && compile(pattern.trim()) !== null;
|
|
8462
8526
|
}
|
|
8463
8527
|
function matchesPathPattern(pathname, pattern) {
|
|
8464
|
-
return _nullishCoalesce(_optionalChain([compile, 'call',
|
|
8528
|
+
return _nullishCoalesce(_optionalChain([compile, 'call', _218 => _218(pattern.trim()), 'optionalAccess', _219 => _219.test, 'call', _220 => _220(pathname)]), () => ( false));
|
|
8465
8529
|
}
|
|
8466
8530
|
function pathMatchesAny(pathname, patterns) {
|
|
8467
8531
|
return (_nullishCoalesce(patterns, () => ( []))).some((pattern) => matchesPathPattern(pathname, pattern));
|
|
@@ -8472,7 +8536,7 @@ function pathMatchesAny(pathname, patterns) {
|
|
|
8472
8536
|
var MINGO_ACCENT = "var(--ods-flamingo-cyan-base)";
|
|
8473
8537
|
var ASK_AI_OPEN_EVENT = "ask-ai:open";
|
|
8474
8538
|
function openAskAi(source, options) {
|
|
8475
|
-
const prompt = _optionalChain([options, 'optionalAccess',
|
|
8539
|
+
const prompt = _optionalChain([options, 'optionalAccess', _221 => _221.prompt, 'optionalAccess', _222 => _222.trim, 'call', _223 => _223()]);
|
|
8476
8540
|
const detail = prompt ? { source: _nullishCoalesce(source, () => ( "")), prompt } : { source: _nullishCoalesce(source, () => ( "")) };
|
|
8477
8541
|
window.dispatchEvent(new CustomEvent(ASK_AI_OPEN_EVENT, { detail }));
|
|
8478
8542
|
}
|
|
@@ -8491,10 +8555,10 @@ function MingoAiButton({
|
|
|
8491
8555
|
const inPage = variant === "button";
|
|
8492
8556
|
const commandKey = visitor.known && _chunkK2JUJ37Dcjs.usesCommandKey.call(void 0, visitor.os);
|
|
8493
8557
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8494
|
-
const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess',
|
|
8495
|
-
const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess',
|
|
8496
|
-
const runtimeOpen = _optionalChain([assistant, 'optionalAccess',
|
|
8497
|
-
const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess',
|
|
8558
|
+
const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _224 => _224.name])));
|
|
8559
|
+
const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _225 => _225.icon])));
|
|
8560
|
+
const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _226 => _226.open]);
|
|
8561
|
+
const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _227 => _227.source])));
|
|
8498
8562
|
const openRef = _react.useRef.call(void 0, () => void 0);
|
|
8499
8563
|
_react.useEffect.call(void 0, () => {
|
|
8500
8564
|
openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
|
|
@@ -8525,7 +8589,7 @@ function MingoAiButton({
|
|
|
8525
8589
|
onClick: (e) => {
|
|
8526
8590
|
if (runtimeOpen) runtimeOpen({});
|
|
8527
8591
|
else openAskAi(eventSource);
|
|
8528
|
-
_optionalChain([onClick, 'optionalCall',
|
|
8592
|
+
_optionalChain([onClick, 'optionalCall', _228 => _228(e)]);
|
|
8529
8593
|
},
|
|
8530
8594
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
8531
8595
|
"group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
|
|
@@ -8741,10 +8805,10 @@ function QuestionChips({
|
|
|
8741
8805
|
const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
|
|
8742
8806
|
if (onOpen) onOpen(request);
|
|
8743
8807
|
else openAskAi(source, request);
|
|
8744
|
-
_optionalChain([onAsk, 'optionalCall',
|
|
8808
|
+
_optionalChain([onAsk, 'optionalCall', _229 => _229(prompt)]);
|
|
8745
8809
|
}
|
|
8746
8810
|
}
|
|
8747
|
-
) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess',
|
|
8811
|
+
) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _230 => _230.id]), () => ( `slot-${slot}`)));
|
|
8748
8812
|
}) });
|
|
8749
8813
|
}
|
|
8750
8814
|
function AskPrompts({
|
|
@@ -8858,7 +8922,7 @@ function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
|
|
|
8858
8922
|
return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
|
|
8859
8923
|
}
|
|
8860
8924
|
function assistantAvailable(assistant) {
|
|
8861
|
-
return !!_optionalChain([assistant, 'optionalAccess',
|
|
8925
|
+
return !!_optionalChain([assistant, 'optionalAccess', _231 => _231.available]);
|
|
8862
8926
|
}
|
|
8863
8927
|
function useAskPrompts({
|
|
8864
8928
|
topic,
|
|
@@ -8869,13 +8933,13 @@ function useAskPrompts({
|
|
|
8869
8933
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8870
8934
|
const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
|
|
8871
8935
|
const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
|
|
8872
|
-
const { data, isLoading } =
|
|
8873
|
-
return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
8936
|
+
const { data, isLoading } = _chunkDGNGABNGcjs.useSelfFetch.call(void 0, url);
|
|
8937
|
+
return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _232 => _232.prompts]), () => ( [])), isLoading: !!base && (!enabled || isLoading), supported: !!base };
|
|
8874
8938
|
}
|
|
8875
8939
|
function useAssistantOpen(topic, onOpen) {
|
|
8876
8940
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8877
|
-
const runtimeOpen = _optionalChain([assistant, 'optionalAccess',
|
|
8878
|
-
const source = _optionalChain([assistant, 'optionalAccess',
|
|
8941
|
+
const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _233 => _233.open]);
|
|
8942
|
+
const source = _optionalChain([assistant, 'optionalAccess', _234 => _234.source]);
|
|
8879
8943
|
return _react.useCallback.call(void 0,
|
|
8880
8944
|
(request) => {
|
|
8881
8945
|
const full = { ...request, topic };
|
|
@@ -8917,7 +8981,7 @@ function createShownList() {
|
|
|
8917
8981
|
}
|
|
8918
8982
|
var shownLists = /* @__PURE__ */ new Map();
|
|
8919
8983
|
function useShownList() {
|
|
8920
|
-
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess',
|
|
8984
|
+
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _235 => _235.askPromptsUrl]), () => ( ""));
|
|
8921
8985
|
let list = shownLists.get(scope);
|
|
8922
8986
|
if (!list) {
|
|
8923
8987
|
list = createShownList();
|
|
@@ -8969,7 +9033,7 @@ function AssistantAskPrompts({
|
|
|
8969
9033
|
label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
|
|
8970
9034
|
icon: assistant.icon,
|
|
8971
9035
|
onOpen: open,
|
|
8972
|
-
onAsk: (prompt) => _optionalChain([assistant, 'access',
|
|
9036
|
+
onAsk: (prompt) => _optionalChain([assistant, 'access', _236 => _236.onAsk, 'optionalCall', _237 => _237({ promptId: prompt.id, topic })]),
|
|
8973
9037
|
align,
|
|
8974
9038
|
fadeColor,
|
|
8975
9039
|
className
|
|
@@ -9138,7 +9202,7 @@ function MarqueeWall({
|
|
|
9138
9202
|
if (!container || !copy) return;
|
|
9139
9203
|
const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
|
|
9140
9204
|
copySizeRef.current = size;
|
|
9141
|
-
const clone = _optionalChain([trackRef, 'access',
|
|
9205
|
+
const clone = _optionalChain([trackRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.querySelector, 'call', _240 => _240('[data-marquee-copy="clone"]')]);
|
|
9142
9206
|
wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
|
|
9143
9207
|
const avail = axis === "y" ? container.clientHeight : container.clientWidth;
|
|
9144
9208
|
setOverflows(size > avail + 1);
|
|
@@ -9269,7 +9333,7 @@ function MarqueeWall({
|
|
|
9269
9333
|
if (Math.abs(delta) > 3 && !dragMovedRef.current) {
|
|
9270
9334
|
dragMovedRef.current = true;
|
|
9271
9335
|
try {
|
|
9272
|
-
_optionalChain([containerRef, 'access',
|
|
9336
|
+
_optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.setPointerCapture, 'call', _243 => _243(e.pointerId)]);
|
|
9273
9337
|
} catch (e19) {
|
|
9274
9338
|
}
|
|
9275
9339
|
}
|
|
@@ -9286,7 +9350,7 @@ function MarqueeWall({
|
|
|
9286
9350
|
dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
|
|
9287
9351
|
if (dragMovedRef.current) {
|
|
9288
9352
|
try {
|
|
9289
|
-
_optionalChain([containerRef, 'access',
|
|
9353
|
+
_optionalChain([containerRef, 'access', _244 => _244.current, 'optionalAccess', _245 => _245.releasePointerCapture, 'call', _246 => _246(e.pointerId)]);
|
|
9290
9354
|
} catch (e20) {
|
|
9291
9355
|
}
|
|
9292
9356
|
}
|
|
@@ -9618,7 +9682,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
|
|
|
9618
9682
|
{
|
|
9619
9683
|
ref,
|
|
9620
9684
|
type: "button",
|
|
9621
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
9685
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _247 => _247(ticket.id)]),
|
|
9622
9686
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9623
9687
|
"flex h-20 w-full items-center gap-4 px-4",
|
|
9624
9688
|
"border-b border-ods-border bg-ods-card",
|
|
@@ -9888,7 +9952,7 @@ function MingoChatHistoryRow({
|
|
|
9888
9952
|
const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
|
|
9889
9953
|
const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
|
|
9890
9954
|
const owner = dialog.owner;
|
|
9891
|
-
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess',
|
|
9955
|
+
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _248 => _248.name]) || _optionalChain([owner, 'optionalAccess', _249 => _249.avatarUrl]));
|
|
9892
9956
|
const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
|
|
9893
9957
|
const menuItems = chatDialogMenuItems({
|
|
9894
9958
|
onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
|
|
@@ -9913,11 +9977,11 @@ function MingoChatHistoryRow({
|
|
|
9913
9977
|
{
|
|
9914
9978
|
role: "button",
|
|
9915
9979
|
tabIndex: 0,
|
|
9916
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
9980
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _250 => _250(dialog.id)]),
|
|
9917
9981
|
onKeyDown: (e) => {
|
|
9918
9982
|
if (e.key === "Enter" || e.key === " ") {
|
|
9919
9983
|
e.preventDefault();
|
|
9920
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
9984
|
+
_optionalChain([onSelect, 'optionalCall', _251 => _251(dialog.id)]);
|
|
9921
9985
|
}
|
|
9922
9986
|
},
|
|
9923
9987
|
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",
|
|
@@ -9984,8 +10048,8 @@ function MingoChatHistoryRow({
|
|
|
9984
10048
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9985
10049
|
"span",
|
|
9986
10050
|
{
|
|
9987
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
9988
|
-
title: _optionalChain([owner, 'optionalAccess',
|
|
10051
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _252 => _252(dialog.id)]),
|
|
10052
|
+
title: _optionalChain([owner, 'optionalAccess', _253 => _253.name]) || void 0,
|
|
9989
10053
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9990
10054
|
"absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
|
|
9991
10055
|
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")
|
|
@@ -9995,9 +10059,9 @@ function MingoChatHistoryRow({
|
|
|
9995
10059
|
{
|
|
9996
10060
|
variant: "round",
|
|
9997
10061
|
sizePx: 24,
|
|
9998
|
-
src: _optionalChain([owner, 'optionalAccess',
|
|
9999
|
-
alt: _optionalChain([owner, 'optionalAccess',
|
|
10000
|
-
fallback: _optionalChain([owner, 'optionalAccess',
|
|
10062
|
+
src: _optionalChain([owner, 'optionalAccess', _254 => _254.avatarUrl]) || void 0,
|
|
10063
|
+
alt: _optionalChain([owner, 'optionalAccess', _255 => _255.name]) || void 0,
|
|
10064
|
+
fallback: _optionalChain([owner, 'optionalAccess', _256 => _256.name]) || void 0,
|
|
10001
10065
|
initialsClassName: "text-[10px] text-ods-text-secondary"
|
|
10002
10066
|
}
|
|
10003
10067
|
)
|
|
@@ -10049,7 +10113,7 @@ function MingoChatHistory({
|
|
|
10049
10113
|
className
|
|
10050
10114
|
}) {
|
|
10051
10115
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
10052
|
-
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10116
|
+
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _257 => _257.trim, 'call', _258 => _258()]);
|
|
10053
10117
|
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
|
|
10054
10118
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
10055
10119
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
@@ -10066,7 +10130,7 @@ function MingoChatHistory({
|
|
|
10066
10130
|
const io = new IntersectionObserver(
|
|
10067
10131
|
([entry]) => {
|
|
10068
10132
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
10069
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
10133
|
+
_optionalChain([onLoadMoreRef, 'access', _259 => _259.current, 'optionalCall', _260 => _260()]);
|
|
10070
10134
|
}
|
|
10071
10135
|
},
|
|
10072
10136
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -10251,8 +10315,8 @@ function MingoWelcome({
|
|
|
10251
10315
|
icon: action.icon,
|
|
10252
10316
|
variant: action.variant,
|
|
10253
10317
|
onSelect: action.onClick,
|
|
10254
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10255
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10318
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _261 => _261(action)]),
|
|
10319
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _262 => _262()])
|
|
10256
10320
|
})),
|
|
10257
10321
|
agentSlug,
|
|
10258
10322
|
rows: 4,
|
|
@@ -10305,9 +10369,9 @@ function GuideWelcome({
|
|
|
10305
10369
|
props: action.iconProps,
|
|
10306
10370
|
accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
|
|
10307
10371
|
},
|
|
10308
|
-
onSelect: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
10309
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10310
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10372
|
+
onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _263 => _263(action)]),
|
|
10373
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _264 => _264(action)]),
|
|
10374
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _265 => _265()])
|
|
10311
10375
|
})),
|
|
10312
10376
|
[quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
|
|
10313
10377
|
);
|
|
@@ -10324,7 +10388,7 @@ function GuideWelcome({
|
|
|
10324
10388
|
icon && (icon.name || icon.url) ? (
|
|
10325
10389
|
// Agent-mode identity glyph (chat-config Identity tab). Sized to
|
|
10326
10390
|
// match the default Mingo mark (48px).
|
|
10327
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10391
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
|
|
10328
10392
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10329
10393
|
_chunkLLSUVPQCcjs.MingoIcon,
|
|
10330
10394
|
{
|
|
@@ -10516,7 +10580,7 @@ function MingoArchiveList({
|
|
|
10516
10580
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10517
10581
|
const observer = new IntersectionObserver(
|
|
10518
10582
|
([entry]) => {
|
|
10519
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10583
|
+
if (_optionalChain([entry, 'optionalAccess', _266 => _266.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _267 => _267.current, 'optionalCall', _268 => _268()]);
|
|
10520
10584
|
},
|
|
10521
10585
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10522
10586
|
);
|
|
@@ -10535,7 +10599,7 @@ function MingoArchiveList({
|
|
|
10535
10599
|
ChatListItem,
|
|
10536
10600
|
{
|
|
10537
10601
|
title: dialog.title || "Untitled Chat",
|
|
10538
|
-
onClick: () => _optionalChain([onSelectDialog, 'optionalCall',
|
|
10602
|
+
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _269 => _269(dialog.id)]),
|
|
10539
10603
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
10540
10604
|
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkHP4UUBJCcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
|
|
10541
10605
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10674,7 +10738,7 @@ function ChatHeaderSearchField({
|
|
|
10674
10738
|
const finishCollapse = _react.useCallback.call(void 0, () => {
|
|
10675
10739
|
if (collapsedRef.current) return;
|
|
10676
10740
|
collapsedRef.current = true;
|
|
10677
|
-
_optionalChain([onCollapse, 'optionalCall',
|
|
10741
|
+
_optionalChain([onCollapse, 'optionalCall', _270 => _270()]);
|
|
10678
10742
|
}, [onCollapse]);
|
|
10679
10743
|
const beginCollapse = _react.useCallback.call(void 0, () => {
|
|
10680
10744
|
setExiting(true);
|
|
@@ -10755,7 +10819,7 @@ var STATUS_GLYPHS = {
|
|
|
10755
10819
|
approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
|
|
10756
10820
|
};
|
|
10757
10821
|
function statusFor(dialog, statusOf) {
|
|
10758
|
-
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall',
|
|
10822
|
+
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _271 => _271(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
|
|
10759
10823
|
}
|
|
10760
10824
|
function MingoChatRail({
|
|
10761
10825
|
dialogs,
|
|
@@ -10784,8 +10848,8 @@ function MingoChatRail({
|
|
|
10784
10848
|
onExpand,
|
|
10785
10849
|
className
|
|
10786
10850
|
}) {
|
|
10787
|
-
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10788
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10851
|
+
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _272 => _272.trim, 'call', _273 => _273()]));
|
|
10852
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _274 => _274.trim, 'call', _275 => _275()]);
|
|
10789
10853
|
const items = [];
|
|
10790
10854
|
if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
|
|
10791
10855
|
if (onOpenArchive) {
|
|
@@ -10842,7 +10906,7 @@ function MingoChatRail({
|
|
|
10842
10906
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10843
10907
|
const observer = new IntersectionObserver(
|
|
10844
10908
|
([entry]) => {
|
|
10845
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10909
|
+
if (_optionalChain([entry, 'optionalAccess', _276 => _276.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _277 => _277.current, 'optionalCall', _278 => _278()]);
|
|
10846
10910
|
},
|
|
10847
10911
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10848
10912
|
);
|
|
@@ -10965,7 +11029,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
|
|
|
10965
11029
|
{
|
|
10966
11030
|
active,
|
|
10967
11031
|
title,
|
|
10968
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
11032
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _279 => _279(dialog.id)]),
|
|
10969
11033
|
className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
|
|
10970
11034
|
trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10971
11035
|
"span",
|
|
@@ -11099,7 +11163,7 @@ function MingoHistoryRail({
|
|
|
11099
11163
|
onRetry,
|
|
11100
11164
|
className
|
|
11101
11165
|
}) {
|
|
11102
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
11166
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _280 => _280.trim, 'call', _281 => _281()]);
|
|
11103
11167
|
const hasList = dialogs.length > 0 || hasSearch;
|
|
11104
11168
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11105
11169
|
"div",
|
|
@@ -11188,8 +11252,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
11188
11252
|
const save = () => {
|
|
11189
11253
|
if (canSave) onSave(name.trim());
|
|
11190
11254
|
};
|
|
11191
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11192
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11255
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11256
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalTitle, { children: "Rename Chat" }) }),
|
|
11193
11257
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
11194
11258
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "rename-chat-input", className: "text-ods-text-primary text-h4", children: "Chat Name" }),
|
|
11195
11259
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11206,27 +11270,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
11206
11270
|
}
|
|
11207
11271
|
)
|
|
11208
11272
|
] }),
|
|
11209
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11273
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.ModalFooter, { children: [
|
|
11210
11274
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11211
11275
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: save, disabled: !canSave, className: saveBtn, children: "Save" })
|
|
11212
11276
|
] })
|
|
11213
11277
|
] });
|
|
11214
11278
|
}
|
|
11215
11279
|
function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
11216
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11217
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11280
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11281
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalTitle, { children: "Archive Chat" }) }),
|
|
11218
11282
|
/* @__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." }),
|
|
11219
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11283
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.ModalFooter, { children: [
|
|
11220
11284
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11221
11285
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: dangerBtn, children: "Archive Chat" })
|
|
11222
11286
|
] })
|
|
11223
11287
|
] });
|
|
11224
11288
|
}
|
|
11225
11289
|
function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
11226
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11227
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11290
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
11291
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7AXOAA5Tcjs.ModalTitle, { children: "Unarchive Chat" }) }),
|
|
11228
11292
|
/* @__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." }),
|
|
11229
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11293
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7AXOAA5Tcjs.ModalFooter, { children: [
|
|
11230
11294
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
|
|
11231
11295
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: saveBtn, children: "Unarchive Chat" })
|
|
11232
11296
|
] })
|
|
@@ -11248,7 +11312,7 @@ function ChatDialogModals({
|
|
|
11248
11312
|
RenameChatModal,
|
|
11249
11313
|
{
|
|
11250
11314
|
isOpen: renameTarget != null,
|
|
11251
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
11315
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _282 => _282.title]), () => ( "")),
|
|
11252
11316
|
onClose: () => setRenameTarget(null),
|
|
11253
11317
|
onSave: onConfirmRename
|
|
11254
11318
|
}
|
|
@@ -11465,7 +11529,7 @@ function ChatAttachmentAddButton({
|
|
|
11465
11529
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
11466
11530
|
const handlePick = () => {
|
|
11467
11531
|
if (!canAddMore) return;
|
|
11468
|
-
_optionalChain([fileInputRef, 'access',
|
|
11532
|
+
_optionalChain([fileInputRef, 'access', _283 => _283.current, 'optionalAccess', _284 => _284.click, 'call', _285 => _285()]);
|
|
11469
11533
|
};
|
|
11470
11534
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
11471
11535
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11628,7 +11692,7 @@ function ChatContextMemoryBar({
|
|
|
11628
11692
|
_react.useEffect.call(void 0, () => {
|
|
11629
11693
|
if (!open) return void 0;
|
|
11630
11694
|
const onOutside = (e) => {
|
|
11631
|
-
if (_optionalChain([rootRef, 'access',
|
|
11695
|
+
if (_optionalChain([rootRef, 'access', _286 => _286.current, 'optionalAccess', _287 => _287.contains, 'call', _288 => _288(e.target)])) return;
|
|
11632
11696
|
setOpen(false);
|
|
11633
11697
|
};
|
|
11634
11698
|
document.addEventListener("mousedown", onOutside, true);
|
|
@@ -11811,7 +11875,7 @@ var ModelDisplay = _react2.default.forwardRef(
|
|
|
11811
11875
|
}, ref) => {
|
|
11812
11876
|
const icon = getProviderIcon(provider);
|
|
11813
11877
|
const name = displayName || modelName;
|
|
11814
|
-
const isV2 = useChatAppearance() ===
|
|
11878
|
+
const isV2 = useChatAppearance() === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
11815
11879
|
const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
|
|
11816
11880
|
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: [
|
|
11817
11881
|
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center", children: icon }),
|
|
@@ -11931,7 +11995,7 @@ function ChatComposer({
|
|
|
11931
11995
|
const locked = lock != null;
|
|
11932
11996
|
const selected = _nullishCoalesce(selectedContextItems, () => ( []));
|
|
11933
11997
|
const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
|
|
11934
|
-
const entityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
11998
|
+
const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _289 => _289.entityTypes]);
|
|
11935
11999
|
const iconByType = _react.useMemo.call(void 0, () => {
|
|
11936
12000
|
const map = /* @__PURE__ */ new Map();
|
|
11937
12001
|
for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
|
|
@@ -11939,7 +12003,7 @@ function ChatComposer({
|
|
|
11939
12003
|
}, [entityTypes]);
|
|
11940
12004
|
const resolveContextIcon = _react.useCallback.call(void 0, (item) => iconByType.get(item.type), [iconByType]);
|
|
11941
12005
|
const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11942
|
-
|
|
12006
|
+
_chunk7AXOAA5Tcjs.ChatInput,
|
|
11943
12007
|
{
|
|
11944
12008
|
ref: inputRef,
|
|
11945
12009
|
onSend,
|
|
@@ -11947,7 +12011,7 @@ function ChatComposer({
|
|
|
11947
12011
|
sending,
|
|
11948
12012
|
placeholder,
|
|
11949
12013
|
disabled: locked,
|
|
11950
|
-
disabledPlaceholder: _optionalChain([lock, 'optionalAccess',
|
|
12014
|
+
disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _290 => _290.placeholder]),
|
|
11951
12015
|
previewText,
|
|
11952
12016
|
fullWidth: true,
|
|
11953
12017
|
className: "px-0",
|
|
@@ -11960,7 +12024,7 @@ function ChatComposer({
|
|
|
11960
12024
|
startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11961
12025
|
ChatComposerPlusMenu,
|
|
11962
12026
|
{
|
|
11963
|
-
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12027
|
+
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _291 => _291()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _292 => _292()]),
|
|
11964
12028
|
open: contextPickerOpen,
|
|
11965
12029
|
disabled: attachmentsDisabled || locked,
|
|
11966
12030
|
dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11969,8 +12033,8 @@ function ChatComposer({
|
|
|
11969
12033
|
open: contextPickerOpen,
|
|
11970
12034
|
config: contextPicker,
|
|
11971
12035
|
selectedItems: selected,
|
|
11972
|
-
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall',
|
|
11973
|
-
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12036
|
+
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _293 => _293(item)]),
|
|
12037
|
+
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _294 => _294()]),
|
|
11974
12038
|
mentionQuery
|
|
11975
12039
|
}
|
|
11976
12040
|
) : void 0
|
|
@@ -12161,8 +12225,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
12161
12225
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
12162
12226
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
12163
12227
|
const handleClick = (e) => {
|
|
12164
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
12165
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12228
|
+
_optionalChain([onDialogSelect, 'optionalCall', _295 => _295(dialog.id)]);
|
|
12229
|
+
_optionalChain([onClick, 'optionalCall', _296 => _296(e)]);
|
|
12166
12230
|
};
|
|
12167
12231
|
const formatTimestamp = (timestamp) => {
|
|
12168
12232
|
return _chunkTKFTWM3Vcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkTKFTWM3Vcjs.VIEWER_TIMEZONE, "numericDateTime24h");
|
|
@@ -12235,7 +12299,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
12235
12299
|
(entries) => {
|
|
12236
12300
|
const [entry] = entries;
|
|
12237
12301
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
12238
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
12302
|
+
_optionalChain([onLoadMoreRef, 'access', _297 => _297.current, 'optionalCall', _298 => _298()]);
|
|
12239
12303
|
}
|
|
12240
12304
|
},
|
|
12241
12305
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -12450,7 +12514,7 @@ function OnboardingCarousel({
|
|
|
12450
12514
|
" of ",
|
|
12451
12515
|
steps.length,
|
|
12452
12516
|
": ",
|
|
12453
|
-
_optionalChain([steps, 'access',
|
|
12517
|
+
_optionalChain([steps, 'access', _299 => _299[index], 'optionalAccess', _300 => _300.title])
|
|
12454
12518
|
] }),
|
|
12455
12519
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
|
|
12456
12520
|
const isCurrent = i === index;
|
|
@@ -12550,12 +12614,12 @@ function resolveExternalNavigation(args) {
|
|
|
12550
12614
|
|
|
12551
12615
|
// src/components/chat/utils/execute-navigation.ts
|
|
12552
12616
|
function isForeignOriginHref(href) {
|
|
12553
|
-
return /^https?:\/\//i.test(href) && !
|
|
12617
|
+
return /^https?:\/\//i.test(href) && !_chunkDGNGABNGcjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
12554
12618
|
}
|
|
12555
12619
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
12556
|
-
const isNewTab = runtime ?
|
|
12620
|
+
const isNewTab = runtime ? _chunkDGNGABNGcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
12557
12621
|
if (isNewTab) {
|
|
12558
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
12622
|
+
if (_optionalChain([runtime, 'optionalAccess', _301 => _301.navigation, 'access', _302 => _302.openExternal])) runtime.navigation.openExternal(href);
|
|
12559
12623
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
12560
12624
|
return;
|
|
12561
12625
|
}
|
|
@@ -12563,7 +12627,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
12563
12627
|
if (target.includes("#") && _chunkK2JUJ37Dcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
12564
12628
|
return;
|
|
12565
12629
|
}
|
|
12566
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
12630
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _303 => _303.navigation, 'access', _304 => _304.navigate, 'optionalCall', _305 => _305({ href, path, targetPlatform })]), () => ( false));
|
|
12567
12631
|
if (!handled) {
|
|
12568
12632
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
12569
12633
|
else window.location.assign(target);
|
|
@@ -12611,9 +12675,9 @@ function useNavLinkViaRuntime({
|
|
|
12611
12675
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
12612
12676
|
const panel = useChatPanel();
|
|
12613
12677
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
12614
|
-
const isNewTab =
|
|
12678
|
+
const isNewTab = _chunkDGNGABNGcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
12615
12679
|
const onClick = (e) => {
|
|
12616
|
-
_optionalChain([onClickProp, 'optionalCall',
|
|
12680
|
+
_optionalChain([onClickProp, 'optionalCall', _306 => _306(e)]);
|
|
12617
12681
|
if (e.defaultPrevented) return;
|
|
12618
12682
|
const handled = executeNavigation({
|
|
12619
12683
|
event: e,
|
|
@@ -12623,9 +12687,9 @@ function useNavLinkViaRuntime({
|
|
|
12623
12687
|
targetPlatform,
|
|
12624
12688
|
fallbackNavigate: router.push
|
|
12625
12689
|
});
|
|
12626
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
12690
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _307 => _307.closeChat])) panel.closeChat();
|
|
12627
12691
|
};
|
|
12628
|
-
const attrs =
|
|
12692
|
+
const attrs = _chunkDGNGABNGcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
12629
12693
|
return {
|
|
12630
12694
|
href: resolvedHref,
|
|
12631
12695
|
...attrs,
|
|
@@ -12707,11 +12771,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
|
|
|
12707
12771
|
function getCaptionsUrl(entityType, entityId, srtContent, options) {
|
|
12708
12772
|
if (!srtContent) return void 0;
|
|
12709
12773
|
const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
|
|
12710
|
-
const variant = _optionalChain([options, 'optionalAccess',
|
|
12774
|
+
const variant = _optionalChain([options, 'optionalAccess', _308 => _308.variant]) ? `&variant=${options.variant}` : "";
|
|
12711
12775
|
return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
|
|
12712
12776
|
}
|
|
12713
12777
|
function resolveCaptionsBase(endpoints) {
|
|
12714
|
-
return _optionalChain([endpoints, 'optionalAccess',
|
|
12778
|
+
return _optionalChain([endpoints, 'optionalAccess', _309 => _309.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
|
|
12715
12779
|
}
|
|
12716
12780
|
function rebaseCaptionsUrl(endpoints, url) {
|
|
12717
12781
|
if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
|
|
@@ -12800,7 +12864,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
12800
12864
|
// src/components/features/use-captions.ts
|
|
12801
12865
|
|
|
12802
12866
|
function useCaptions() {
|
|
12803
|
-
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess',
|
|
12867
|
+
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _310 => _310.endpoints]), () => ( null));
|
|
12804
12868
|
return _react.useMemo.call(void 0,
|
|
12805
12869
|
() => ({
|
|
12806
12870
|
forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
|
|
@@ -12829,7 +12893,7 @@ function UserDisplay({
|
|
|
12829
12893
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12830
12894
|
_chunkTKFTWM3Vcjs.SquareAvatar,
|
|
12831
12895
|
{
|
|
12832
|
-
src: avatarUrl ?
|
|
12896
|
+
src: avatarUrl ? _chunkDGNGABNGcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
|
|
12833
12897
|
fallback: name,
|
|
12834
12898
|
alt: name,
|
|
12835
12899
|
sizePx: size,
|
|
@@ -13075,9 +13139,9 @@ function CardsStrip(props) {
|
|
|
13075
13139
|
const p = hoverPointerRef.current;
|
|
13076
13140
|
if (!p.inside) return;
|
|
13077
13141
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
13078
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
13079
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
13080
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
13142
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _311 => _311.closest, 'optionalCall', _312 => _312("[data-strip-card-key]")]);
|
|
13143
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _313 => _313.current, 'optionalAccess', _314 => _314.contains, 'call', _315 => _315(cardEl)]) ? cardEl : null;
|
|
13144
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _316 => _316.getAttribute, 'call', _317 => _317("data-strip-card-key")]), () => ( null));
|
|
13081
13145
|
const current = activeKeyRef.current;
|
|
13082
13146
|
if (key === current) return;
|
|
13083
13147
|
if (current !== null) deactivate(current);
|
|
@@ -13115,7 +13179,7 @@ function CardsStrip(props) {
|
|
|
13115
13179
|
}, [syncHoverToPointer]);
|
|
13116
13180
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
13117
13181
|
const half = singleCopyWidthRef.current;
|
|
13118
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13182
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.clientWidth]), () => ( 0));
|
|
13119
13183
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
13120
13184
|
}, []);
|
|
13121
13185
|
const mirror = _react.useCallback.call(void 0,
|
|
@@ -13139,7 +13203,7 @@ function CardsStrip(props) {
|
|
|
13139
13203
|
const scroller = scrollerRef.current;
|
|
13140
13204
|
if (scroller) scroller.scrollLeft = mirror(pos);
|
|
13141
13205
|
},
|
|
13142
|
-
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13206
|
+
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _320 => _320.current, 'optionalAccess', _321 => _321.scrollLeft]), () => ( 0))),
|
|
13143
13207
|
onAfterFrame: syncHoverIfScrolled
|
|
13144
13208
|
});
|
|
13145
13209
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -13187,11 +13251,11 @@ function CardsStrip(props) {
|
|
|
13187
13251
|
fn = (el) => {
|
|
13188
13252
|
if (!el) return void 0;
|
|
13189
13253
|
cardElIdxRef.current.set(el, idx);
|
|
13190
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13254
|
+
_optionalChain([cardObserverRef, 'access', _322 => _322.current, 'optionalAccess', _323 => _323.observe, 'call', _324 => _324(el)]);
|
|
13191
13255
|
return () => {
|
|
13192
13256
|
cardElIdxRef.current.delete(el);
|
|
13193
13257
|
cardElNearRef.current.delete(el);
|
|
13194
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13258
|
+
_optionalChain([cardObserverRef, 'access', _325 => _325.current, 'optionalAccess', _326 => _326.unobserve, 'call', _327 => _327(el)]);
|
|
13195
13259
|
};
|
|
13196
13260
|
};
|
|
13197
13261
|
cardRefFns.set(idx, fn);
|
|
@@ -13210,7 +13274,7 @@ function CardsStrip(props) {
|
|
|
13210
13274
|
const track = trackRef.current;
|
|
13211
13275
|
if (!scroller || !track) return;
|
|
13212
13276
|
const firstCard = track.firstElementChild;
|
|
13213
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
13277
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _328 => _328.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
13214
13278
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
13215
13279
|
if (marqueeActiveRef.current) {
|
|
13216
13280
|
glideBy((reverse ? -dir : dir) * step);
|
|
@@ -13271,11 +13335,11 @@ function CardsStrip(props) {
|
|
|
13271
13335
|
{
|
|
13272
13336
|
ref: (node) => {
|
|
13273
13337
|
wrapperRef.current = node;
|
|
13274
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
13338
|
+
_optionalChain([rootRef, 'optionalCall', _329 => _329(node)]);
|
|
13275
13339
|
},
|
|
13276
13340
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
13277
13341
|
children: [
|
|
13278
|
-
showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
13342
|
+
showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkDGNGABNGcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkDGNGABNGcjs.accentSentenceMarks.call(void 0, title) }),
|
|
13279
13343
|
headerSlot,
|
|
13280
13344
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", style: bled ? { marginLeft: -insets.left, marginRight: -insets.right } : void 0, children: [
|
|
13281
13345
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13426,7 +13490,7 @@ function groupByAspectRatio(items, getAspectRatio) {
|
|
|
13426
13490
|
|
|
13427
13491
|
function VideoBitesStrip({
|
|
13428
13492
|
bites,
|
|
13429
|
-
title =
|
|
13493
|
+
title = _chunkDGNGABNGcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13430
13494
|
showTitle = true,
|
|
13431
13495
|
filterPublished = true,
|
|
13432
13496
|
profile = null,
|
|
@@ -13439,14 +13503,14 @@ function VideoBitesStrip({
|
|
|
13439
13503
|
cardHeightMobile = 300,
|
|
13440
13504
|
showChevrons = true,
|
|
13441
13505
|
onBiteNavigate,
|
|
13442
|
-
sortComparator =
|
|
13506
|
+
sortComparator = _chunkDGNGABNGcjs.sortBitesByCreatedAtDesc,
|
|
13443
13507
|
className
|
|
13444
13508
|
}) {
|
|
13445
13509
|
const items = _react.useMemo.call(void 0, () => {
|
|
13446
13510
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
13447
13511
|
return filtered.sort(sortComparator);
|
|
13448
13512
|
}, [bites, filterPublished, sortComparator]);
|
|
13449
|
-
const warmup =
|
|
13513
|
+
const warmup = _chunkDGNGABNGcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _330 => _330[0], 'optionalAccess', _331 => _331.url]) || null });
|
|
13450
13514
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13451
13515
|
CardsStrip,
|
|
13452
13516
|
{
|
|
@@ -13513,8 +13577,8 @@ function VideoBiteCard({
|
|
|
13513
13577
|
const controlled = active !== void 0;
|
|
13514
13578
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
13515
13579
|
const isActive = controlled ? !!active : selfActive;
|
|
13516
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
13517
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
13580
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _332 => _332(key)]) : setSelfActive(true);
|
|
13581
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _333 => _333(key)]) : setSelfActive(false);
|
|
13518
13582
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
13519
13583
|
_chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13520
13584
|
const el = titleInputRef.current;
|
|
@@ -13524,7 +13588,7 @@ function VideoBiteCard({
|
|
|
13524
13588
|
});
|
|
13525
13589
|
const navigate = () => {
|
|
13526
13590
|
if (bite.onNavigate) bite.onNavigate();
|
|
13527
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
13591
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _334 => _334(bite, index)]);
|
|
13528
13592
|
};
|
|
13529
13593
|
const handlePointerEnter = () => {
|
|
13530
13594
|
if (!isTouch) activate();
|
|
@@ -13549,9 +13613,9 @@ function VideoBiteCard({
|
|
|
13549
13613
|
placeholder: "Title (optional)",
|
|
13550
13614
|
"aria-label": "Bite title",
|
|
13551
13615
|
rows: 1,
|
|
13552
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
13616
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _335 => _335(e.target.value)]),
|
|
13553
13617
|
ref: titleInputRef,
|
|
13554
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
13618
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _336 => _336(e.target.value)]),
|
|
13555
13619
|
onClick: (e) => e.stopPropagation(),
|
|
13556
13620
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13557
13621
|
titleClass,
|
|
@@ -13593,7 +13657,7 @@ function VideoBiteCard({
|
|
|
13593
13657
|
style: { aspectRatio: cssAspect, ...height !== void 0 ? { height, maxWidth: STRIP_CELL_MAX_WIDTH } : {} },
|
|
13594
13658
|
children: [
|
|
13595
13659
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13596
|
-
|
|
13660
|
+
_chunkDGNGABNGcjs.VideoHoverPreviewSurface,
|
|
13597
13661
|
{
|
|
13598
13662
|
url: bite.url,
|
|
13599
13663
|
posterUrl: bite.thumbnail_url,
|
|
@@ -13628,7 +13692,7 @@ function VideoBiteCard({
|
|
|
13628
13692
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13629
13693
|
"div",
|
|
13630
13694
|
{
|
|
13631
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
13695
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _337 => _337(node)]),
|
|
13632
13696
|
"aria-hidden": isClone || void 0,
|
|
13633
13697
|
"data-strip-card-key": key,
|
|
13634
13698
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
@@ -13664,7 +13728,7 @@ function EntityVideoSection({
|
|
|
13664
13728
|
title = "Video",
|
|
13665
13729
|
videoSummary,
|
|
13666
13730
|
videoBites,
|
|
13667
|
-
bitesTitle =
|
|
13731
|
+
bitesTitle = _chunkDGNGABNGcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13668
13732
|
filterPublishedBites = true,
|
|
13669
13733
|
bitesProfile = null,
|
|
13670
13734
|
bitesHref,
|
|
@@ -13683,8 +13747,8 @@ function EntityVideoSection({
|
|
|
13683
13747
|
const hasHighlight = !!highlightVideoUrl;
|
|
13684
13748
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13685
13749
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13686
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13687
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13750
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _338 => _338.captionsUrl])));
|
|
13751
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _339 => _339.highlightCaptionsUrl])));
|
|
13688
13752
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13689
13753
|
return null;
|
|
13690
13754
|
}
|
|
@@ -13711,7 +13775,7 @@ function EntityVideoSection({
|
|
|
13711
13775
|
)
|
|
13712
13776
|
] }),
|
|
13713
13777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13714
|
-
|
|
13778
|
+
_chunkDGNGABNGcjs.Video,
|
|
13715
13779
|
{
|
|
13716
13780
|
kind: fullVideoKind,
|
|
13717
13781
|
url: fullVideoUrl,
|
|
@@ -13724,7 +13788,7 @@ function EntityVideoSection({
|
|
|
13724
13788
|
}
|
|
13725
13789
|
) }),
|
|
13726
13790
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13727
|
-
|
|
13791
|
+
_chunkDGNGABNGcjs.Video,
|
|
13728
13792
|
{
|
|
13729
13793
|
url: highlightVideoUrl,
|
|
13730
13794
|
poster: highlightVideoThumbnail,
|
|
@@ -13733,7 +13797,7 @@ function EntityVideoSection({
|
|
|
13733
13797
|
}
|
|
13734
13798
|
) })
|
|
13735
13799
|
] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13736
|
-
|
|
13800
|
+
_chunkDGNGABNGcjs.Video,
|
|
13737
13801
|
{
|
|
13738
13802
|
kind: fullVideoKind,
|
|
13739
13803
|
url: fullVideoUrl,
|
|
@@ -13745,7 +13809,7 @@ function EntityVideoSection({
|
|
|
13745
13809
|
priority
|
|
13746
13810
|
}
|
|
13747
13811
|
) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13748
|
-
|
|
13812
|
+
_chunkDGNGABNGcjs.Video,
|
|
13749
13813
|
{
|
|
13750
13814
|
url: highlightVideoUrl,
|
|
13751
13815
|
poster: highlightVideoThumbnail,
|
|
@@ -13755,7 +13819,7 @@ function EntityVideoSection({
|
|
|
13755
13819
|
}
|
|
13756
13820
|
) : null),
|
|
13757
13821
|
videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
|
|
13758
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
13822
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkDGNGABNGcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
|
|
13759
13823
|
/* @__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 }) })
|
|
13760
13824
|
] }),
|
|
13761
13825
|
videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14002,7 +14066,7 @@ var MediaSkeleton = {
|
|
|
14002
14066
|
|
|
14003
14067
|
function designDocPeople(doc) {
|
|
14004
14068
|
const people = [];
|
|
14005
|
-
if (_optionalChain([doc, 'access',
|
|
14069
|
+
if (_optionalChain([doc, 'access', _340 => _340.author, 'optionalAccess', _341 => _341.full_name]))
|
|
14006
14070
|
people.push({
|
|
14007
14071
|
key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
|
|
14008
14072
|
name: doc.author.full_name,
|
|
@@ -14015,14 +14079,14 @@ function designDocPeople(doc) {
|
|
|
14015
14079
|
return people;
|
|
14016
14080
|
}
|
|
14017
14081
|
function designDocMetaLine(doc) {
|
|
14018
|
-
return [_optionalChain([doc, 'access',
|
|
14082
|
+
return [_optionalChain([doc, 'access', _342 => _342.author, 'optionalAccess', _343 => _343.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkDGNGABNGcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
14019
14083
|
}
|
|
14020
14084
|
function DesignDocCardSkeleton() {
|
|
14021
14085
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14022
14086
|
"div",
|
|
14023
14087
|
{
|
|
14024
14088
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
14025
|
-
|
|
14089
|
+
_chunkDGNGABNGcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
|
|
14026
14090
|
"flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]"
|
|
14027
14091
|
),
|
|
14028
14092
|
role: "status",
|
|
@@ -14052,7 +14116,7 @@ function DesignDocCardSkeleton() {
|
|
|
14052
14116
|
function DesignDocCard({ doc, href, target, rel, className }) {
|
|
14053
14117
|
const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
|
|
14054
14118
|
const people = designDocPeople(doc);
|
|
14055
|
-
const link =
|
|
14119
|
+
const link = _chunkDGNGABNGcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
|
|
14056
14120
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14057
14121
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
|
|
14058
14122
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
@@ -14060,7 +14124,7 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
14060
14124
|
/* @__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) }) })
|
|
14061
14125
|
] }),
|
|
14062
14126
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14063
|
-
|
|
14127
|
+
_chunkDGNGABNGcjs.StatusBadge,
|
|
14064
14128
|
{
|
|
14065
14129
|
text: readiness.label,
|
|
14066
14130
|
colorScheme: readiness.scheme,
|
|
@@ -14070,16 +14134,16 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
14070
14134
|
}
|
|
14071
14135
|
)
|
|
14072
14136
|
] }),
|
|
14073
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14137
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
|
|
14074
14138
|
/* @__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 || "" }) }),
|
|
14075
14139
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
14076
14140
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
|
|
14077
14141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
|
|
14078
|
-
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14142
|
+
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJKWQWHNVcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
|
|
14079
14143
|
] })
|
|
14080
14144
|
] });
|
|
14081
14145
|
const outer = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
14082
|
-
|
|
14146
|
+
_chunkDGNGABNGcjs.CONTENT_CARD_FRAME_CLASS,
|
|
14083
14147
|
"flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]",
|
|
14084
14148
|
className
|
|
14085
14149
|
);
|
|
@@ -14223,26 +14287,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
14223
14287
|
metaParts.push(
|
|
14224
14288
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14225
14289
|
);
|
|
14226
|
-
const href =
|
|
14290
|
+
const href = _chunkDGNGABNGcjs.safeHref.call(void 0, item.url);
|
|
14227
14291
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14228
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14229
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14230
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14292
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
14293
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14294
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
14231
14295
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
14232
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14296
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
14233
14297
|
] }),
|
|
14234
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14298
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14235
14299
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14236
14300
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14237
14301
|
] }, i)) }) }),
|
|
14238
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14302
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUMMARY, children: _chunkDGNGABNGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14239
14303
|
] }),
|
|
14240
14304
|
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
|
|
14241
14305
|
] });
|
|
14242
14306
|
if (anchorProps) {
|
|
14243
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14307
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14244
14308
|
}
|
|
14245
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14309
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14246
14310
|
}
|
|
14247
14311
|
function GitHubActivityCardSkeleton({
|
|
14248
14312
|
variant = "compact",
|
|
@@ -14259,12 +14323,12 @@ function GitHubActivityCardSkeleton({
|
|
|
14259
14323
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14260
14324
|
] });
|
|
14261
14325
|
}
|
|
14262
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14263
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14264
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14265
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14266
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14267
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14326
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14327
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14328
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14329
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
14330
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14331
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUMMARY, children: _chunkDGNGABNGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14268
14332
|
] }),
|
|
14269
14333
|
/* @__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" }) })
|
|
14270
14334
|
] });
|
|
@@ -14314,23 +14378,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
14314
14378
|
metaParts.push(
|
|
14315
14379
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14316
14380
|
);
|
|
14317
|
-
const href =
|
|
14381
|
+
const href = _chunkDGNGABNGcjs.safeHref.call(void 0, item.url);
|
|
14318
14382
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14319
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14320
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14321
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14323
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14383
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
|
|
14384
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14385
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE, children: item.title }) }),
|
|
14386
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkDGNGABNGcjs.COMPACT_CARD_ROW_FILLER }) }),
|
|
14387
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14324
14388
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14325
14389
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14326
|
-
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14390
|
+
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUMMARY, children: _chunkDGNGABNGcjs.COMPACT_CARD_ROW_FILLER }) }) })
|
|
14327
14391
|
] }),
|
|
14328
14392
|
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
|
|
14329
14393
|
] });
|
|
14330
14394
|
if (anchorProps) {
|
|
14331
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14395
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14332
14396
|
}
|
|
14333
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14397
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14334
14398
|
}
|
|
14335
14399
|
function SlackMessageCardSkeleton({
|
|
14336
14400
|
variant = "compact",
|
|
@@ -14345,12 +14409,12 @@ function SlackMessageCardSkeleton({
|
|
|
14345
14409
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14346
14410
|
] });
|
|
14347
14411
|
}
|
|
14348
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14349
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14350
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14351
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14352
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14353
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14412
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14413
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14414
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14415
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
14416
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
|
|
14417
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14354
14418
|
] }),
|
|
14355
14419
|
/* @__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" }) })
|
|
14356
14420
|
] });
|
|
@@ -14386,7 +14450,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14386
14450
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14387
14451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
|
|
14388
14452
|
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,
|
|
14389
|
-
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14453
|
+
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
|
|
14390
14454
|
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
|
|
14391
14455
|
] });
|
|
14392
14456
|
}
|
|
@@ -14400,13 +14464,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14400
14464
|
metaParts.push(
|
|
14401
14465
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14402
14466
|
);
|
|
14403
|
-
const href =
|
|
14467
|
+
const href = _chunkDGNGABNGcjs.safeHref.call(void 0, item.url);
|
|
14404
14468
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14405
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14469
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14406
14470
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14407
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14471
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14408
14472
|
priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14409
|
-
|
|
14473
|
+
_chunkDGNGABNGcjs.StatusBadge,
|
|
14410
14474
|
{
|
|
14411
14475
|
text: priorityText,
|
|
14412
14476
|
variant: "button",
|
|
@@ -14415,7 +14479,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14415
14479
|
}
|
|
14416
14480
|
) : null,
|
|
14417
14481
|
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14418
|
-
|
|
14482
|
+
_chunkDGNGABNGcjs.StatusBadge,
|
|
14419
14483
|
{
|
|
14420
14484
|
text: statusText,
|
|
14421
14485
|
variant: "button",
|
|
@@ -14429,7 +14493,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14429
14493
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
14430
14494
|
] }) : null,
|
|
14431
14495
|
/* @__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." }) }) }),
|
|
14432
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14496
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14433
14497
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14434
14498
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14435
14499
|
] }, i)) }) }) : null
|
|
@@ -14437,9 +14501,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14437
14501
|
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
|
|
14438
14502
|
] });
|
|
14439
14503
|
if (anchorProps) {
|
|
14440
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14504
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14441
14505
|
}
|
|
14442
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14506
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14443
14507
|
}
|
|
14444
14508
|
function HubspotTicketCardSkeleton({
|
|
14445
14509
|
variant = "compact",
|
|
@@ -14453,8 +14517,8 @@ function HubspotTicketCardSkeleton({
|
|
|
14453
14517
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14454
14518
|
] });
|
|
14455
14519
|
}
|
|
14456
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14457
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14520
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14521
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14458
14522
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14459
14523
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14460
14524
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
|
|
@@ -14467,7 +14531,7 @@ function HubspotTicketCardSkeleton({
|
|
|
14467
14531
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
|
|
14468
14532
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
|
|
14469
14533
|
] }),
|
|
14470
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14534
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14471
14535
|
] }),
|
|
14472
14536
|
/* @__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" }) })
|
|
14473
14537
|
] });
|
|
@@ -14478,10 +14542,10 @@ function HubspotTicketCardSkeleton({
|
|
|
14478
14542
|
|
|
14479
14543
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
14480
14544
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14481
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14545
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14482
14546
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14483
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14484
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14547
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14548
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
|
|
14485
14549
|
] }),
|
|
14486
14550
|
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: [
|
|
14487
14551
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
|
|
@@ -14489,16 +14553,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14489
14553
|
] }) : null,
|
|
14490
14554
|
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
|
|
14491
14555
|
] }),
|
|
14492
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
14556
|
+
_optionalChain([anchorProps, 'optionalAccess', _344 => _344.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
|
|
14493
14557
|
] });
|
|
14494
14558
|
if (!anchorProps) {
|
|
14495
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14559
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14496
14560
|
}
|
|
14497
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14561
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14498
14562
|
}
|
|
14499
14563
|
function DataRoomDocCardSkeleton({ className }) {
|
|
14500
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14501
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14564
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14565
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14502
14566
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14503
14567
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14504
14568
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14517,31 +14581,31 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14517
14581
|
|
|
14518
14582
|
|
|
14519
14583
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14520
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
14584
|
+
const goalsCount = _optionalChain([campaign, 'access', _345 => _345.goals, 'optionalAccess', _346 => _346.length]) || 0;
|
|
14521
14585
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14522
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14523
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14524
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14525
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14526
|
-
campaign.start_date ?
|
|
14586
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
14587
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14588
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
|
|
14589
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUBTITLE, children: [
|
|
14590
|
+
campaign.start_date ? _chunkDGNGABNGcjs.formatDateShort.call(void 0, campaign.start_date) : null,
|
|
14527
14591
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14528
14592
|
"Marketing campaign"
|
|
14529
14593
|
].filter(Boolean).join(" \xB7 ") }) }),
|
|
14530
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14594
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkDGNGABNGcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14531
14595
|
] })
|
|
14532
14596
|
] });
|
|
14533
14597
|
if (anchorProps) {
|
|
14534
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14598
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
|
|
14535
14599
|
}
|
|
14536
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14600
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
|
|
14537
14601
|
}
|
|
14538
14602
|
function CampaignCardAdminSkeleton({ className }) {
|
|
14539
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14540
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14541
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14542
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14543
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14544
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14603
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14604
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14605
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14606
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
|
|
14607
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14608
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
|
|
14545
14609
|
] })
|
|
14546
14610
|
] });
|
|
14547
14611
|
}
|
|
@@ -14550,14 +14614,14 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
14550
14614
|
|
|
14551
14615
|
|
|
14552
14616
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
14553
|
-
const href =
|
|
14617
|
+
const href = _chunkDGNGABNGcjs.safeHref.call(void 0, item.url);
|
|
14554
14618
|
const dateText = _chunkTKFTWM3Vcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14555
14619
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14556
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14620
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14557
14621
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14558
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14622
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14559
14623
|
item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14560
|
-
|
|
14624
|
+
_chunkDGNGABNGcjs.StatusBadge,
|
|
14561
14625
|
{
|
|
14562
14626
|
text: item.badge.text,
|
|
14563
14627
|
variant: "button",
|
|
@@ -14575,18 +14639,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
|
|
|
14575
14639
|
] }),
|
|
14576
14640
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
|
|
14577
14641
|
] }, i)) }) : null,
|
|
14578
|
-
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14642
|
+
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
|
|
14579
14643
|
] }),
|
|
14580
14644
|
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
|
|
14581
14645
|
] });
|
|
14582
14646
|
if (anchorProps) {
|
|
14583
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14647
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14584
14648
|
}
|
|
14585
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${
|
|
14649
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14586
14650
|
}
|
|
14587
14651
|
function GenericEntityCardSkeleton({ className }) {
|
|
14588
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14589
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14652
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14653
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14590
14654
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14591
14655
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14592
14656
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14631,8 +14695,8 @@ function getVendorLogo(vendor) {
|
|
|
14631
14695
|
if (vendor.logo) {
|
|
14632
14696
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
14633
14697
|
}
|
|
14634
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
14635
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
14698
|
+
const logoMedia = _optionalChain([vendor, 'access', _347 => _347.vendor_media, 'optionalAccess', _348 => _348.find, 'call', _349 => _349((m) => m.media_type === "logo")]);
|
|
14699
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _350 => _350.media_url])) {
|
|
14636
14700
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
14637
14701
|
}
|
|
14638
14702
|
return null;
|
|
@@ -14688,7 +14752,7 @@ function VendorIcon({
|
|
|
14688
14752
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14689
14753
|
_chunkMGHIV4L6cjs.next_image_default,
|
|
14690
14754
|
{
|
|
14691
|
-
src:
|
|
14755
|
+
src: _chunkDGNGABNGcjs.getProxiedImageUrl2.call(void 0, logoUrl) || logoUrl,
|
|
14692
14756
|
alt: `${vendor.title} logo`,
|
|
14693
14757
|
width,
|
|
14694
14758
|
height,
|
|
@@ -14701,7 +14765,7 @@ function VendorIcon({
|
|
|
14701
14765
|
"flex items-center justify-center uppercase text-h6",
|
|
14702
14766
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
14703
14767
|
),
|
|
14704
|
-
children: _optionalChain([vendor, 'access',
|
|
14768
|
+
children: _optionalChain([vendor, 'access', _351 => _351.title, 'optionalAccess', _352 => _352.substring, 'call', _353 => _353(0, 2)]) || "??"
|
|
14705
14769
|
}
|
|
14706
14770
|
) });
|
|
14707
14771
|
}
|
|
@@ -14718,8 +14782,8 @@ function useChatCardItem(type, id) {
|
|
|
14718
14782
|
const res = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, url);
|
|
14719
14783
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
14720
14784
|
const data = await res.json();
|
|
14721
|
-
const items =
|
|
14722
|
-
const match = items.find((it) =>
|
|
14785
|
+
const items = _chunkDGNGABNGcjs.extractCardItems.call(void 0, type, data);
|
|
14786
|
+
const match = items.find((it) => _chunkDGNGABNGcjs.extractItemId.call(void 0, type, it) === id);
|
|
14723
14787
|
return _nullishCoalesce(match, () => ( null));
|
|
14724
14788
|
},
|
|
14725
14789
|
enabled: !!url && id.length > 0,
|
|
@@ -14894,7 +14958,7 @@ function pickFetchedCardHref({
|
|
|
14894
14958
|
itemHref,
|
|
14895
14959
|
allowComposed
|
|
14896
14960
|
}) {
|
|
14897
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
14961
|
+
if (_optionalChain([composed, 'optionalAccess', _354 => _354.hostOverride])) {
|
|
14898
14962
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14899
14963
|
}
|
|
14900
14964
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -14910,7 +14974,7 @@ function resolveFetchedCardHref({
|
|
|
14910
14974
|
composeContentUrl
|
|
14911
14975
|
}) {
|
|
14912
14976
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
14913
|
-
const canonicalType =
|
|
14977
|
+
const canonicalType = _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
14914
14978
|
return composeContentUrl({
|
|
14915
14979
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
14916
14980
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -14940,7 +15004,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
|
|
|
14940
15004
|
}
|
|
14941
15005
|
function pickSourceIcon(sourceRepo, documentType) {
|
|
14942
15006
|
const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
|
|
14943
|
-
const icon = iconName ?
|
|
15007
|
+
const icon = iconName ? _chunkJKWQWHNVcjs.getIconComponent.call(void 0, iconName) : _lucidereact.FileText;
|
|
14944
15008
|
const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
|
|
14945
15009
|
return { icon, iconLabel };
|
|
14946
15010
|
}
|
|
@@ -14956,20 +15020,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14956
15020
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
14957
15021
|
const safePath = sanitizePath(row.path);
|
|
14958
15022
|
if (safePath) {
|
|
14959
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
15023
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _355 => _355.docPlatformTargets, 'optionalAccess', _356 => _356[row.documentType]]) : void 0;
|
|
14960
15024
|
if (docTarget) {
|
|
14961
15025
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14962
15026
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
14963
|
-
href = _nullishCoalesce(
|
|
15027
|
+
href = _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14964
15028
|
targetPlatform = docTarget.platform;
|
|
14965
15029
|
} else if (ctx.chipBasePlatform) {
|
|
14966
15030
|
const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
|
|
14967
|
-
href = _nullishCoalesce(
|
|
15031
|
+
href = _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14968
15032
|
targetPlatform = ctx.chipBasePlatform;
|
|
14969
15033
|
} else if (ctx.baseRoute) {
|
|
14970
15034
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
14971
15035
|
const absolute = new URL(safePath, synthetic).toString();
|
|
14972
|
-
href = _nullishCoalesce(
|
|
15036
|
+
href = _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
14973
15037
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
14974
15038
|
}
|
|
14975
15039
|
}
|
|
@@ -14978,15 +15042,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14978
15042
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
14979
15043
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
14980
15044
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
14981
|
-
type:
|
|
15045
|
+
type: _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
14982
15046
|
identifier: idValue,
|
|
14983
15047
|
externalUrl: row.externalUrl,
|
|
14984
15048
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
14985
15049
|
});
|
|
14986
|
-
href = composed.href ? _nullishCoalesce(
|
|
15050
|
+
href = composed.href ? _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
14987
15051
|
targetPlatform = composed.targetPlatform;
|
|
14988
15052
|
} else if (row.externalUrl) {
|
|
14989
|
-
href = _nullishCoalesce(
|
|
15053
|
+
href = _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
14990
15054
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
14991
15055
|
}
|
|
14992
15056
|
const documentType = row.documentType;
|
|
@@ -15025,7 +15089,7 @@ function resolveCardDestination({
|
|
|
15025
15089
|
composeContentUrl,
|
|
15026
15090
|
resolveHref = (href) => href
|
|
15027
15091
|
}) {
|
|
15028
|
-
const refPath = typeof _optionalChain([chatRef, 'access',
|
|
15092
|
+
const refPath = typeof _optionalChain([chatRef, 'access', _357 => _357.metadata, 'optionalAccess', _358 => _358.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
15029
15093
|
const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
|
|
15030
15094
|
const cta = resolveSourceRowCTA(
|
|
15031
15095
|
{
|
|
@@ -15042,7 +15106,7 @@ function resolveCardDestination({
|
|
|
15042
15106
|
const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
|
|
15043
15107
|
const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
|
|
15044
15108
|
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
15045
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
15109
|
+
if (_optionalChain([entry, 'optionalAccess', _359 => _359.contentRefType]) && item) {
|
|
15046
15110
|
const choice = pickFetchedCardHref({
|
|
15047
15111
|
composed: resolveFetchedCardHref({
|
|
15048
15112
|
contentRefType: entry.contentRefType,
|
|
@@ -15050,10 +15114,10 @@ function resolveCardDestination({
|
|
|
15050
15114
|
item,
|
|
15051
15115
|
composeContentUrl
|
|
15052
15116
|
}),
|
|
15053
|
-
itemHref: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
15117
|
+
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _360 => _360.fallbackHref, 'optionalCall', _361 => _361(item)]), () => ( null)),
|
|
15054
15118
|
allowComposed: !entry.noComposedHref
|
|
15055
15119
|
});
|
|
15056
|
-
const url = choice ? _nullishCoalesce(
|
|
15120
|
+
const url = choice ? _nullishCoalesce(_chunkDGNGABNGcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
15057
15121
|
if (choice && url) {
|
|
15058
15122
|
return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
|
|
15059
15123
|
}
|
|
@@ -15066,11 +15130,11 @@ function resolveCardDestination({
|
|
|
15066
15130
|
|
|
15067
15131
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
15068
15132
|
const label = entityLabel || "Item";
|
|
15069
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
15070
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
15071
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
15072
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
15073
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
15133
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
15134
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkDGNGABNGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
15135
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
15136
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkDGNGABNGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNGABNGcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
15137
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkDGNGABNGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
15074
15138
|
label,
|
|
15075
15139
|
" deleted",
|
|
15076
15140
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -15125,7 +15189,7 @@ function GitHubChatCard({
|
|
|
15125
15189
|
description,
|
|
15126
15190
|
icon: githubKindIcon(kind),
|
|
15127
15191
|
status,
|
|
15128
|
-
anchorProps:
|
|
15192
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15129
15193
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15130
15194
|
menuAriaLabel: "Activity actions"
|
|
15131
15195
|
}
|
|
@@ -15144,8 +15208,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
15144
15208
|
if (href) {
|
|
15145
15209
|
items.push({
|
|
15146
15210
|
id: "open-details",
|
|
15147
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15148
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15211
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _362 => _362.label]), () => ( "Open Details")),
|
|
15212
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _363 => _363.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
|
|
15149
15213
|
// Main row → open the entity (same tab, soft Link nav).
|
|
15150
15214
|
href,
|
|
15151
15215
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -15205,18 +15269,18 @@ function itemVideoMetadata(item) {
|
|
|
15205
15269
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
15206
15270
|
return void 0;
|
|
15207
15271
|
};
|
|
15208
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15272
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _364 => _364.metadata]), () => ( {}));
|
|
15209
15273
|
const out = {};
|
|
15210
|
-
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
15211
|
-
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
15212
|
-
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
15274
|
+
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _365 => _365.custom_video_url]), _optionalChain([item, 'optionalAccess', _366 => _366.main_video_url]));
|
|
15275
|
+
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _367 => _367.youtube_url]), _optionalChain([item, 'optionalAccess', _368 => _368.testimonial_video_url]));
|
|
15276
|
+
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _369 => _369.highlight_video_url]));
|
|
15213
15277
|
const videoPoster = pick2(
|
|
15214
15278
|
m.videoPoster,
|
|
15215
|
-
_optionalChain([item, 'optionalAccess',
|
|
15216
|
-
_optionalChain([item, 'optionalAccess',
|
|
15217
|
-
_optionalChain([item, 'optionalAccess',
|
|
15279
|
+
_optionalChain([item, 'optionalAccess', _370 => _370.main_video_thumbnail]),
|
|
15280
|
+
_optionalChain([item, 'optionalAccess', _371 => _371.highlight_video_thumbnail]),
|
|
15281
|
+
_optionalChain([item, 'optionalAccess', _372 => _372.featured_image])
|
|
15218
15282
|
);
|
|
15219
|
-
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
15283
|
+
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _373 => _373.highlight_video_thumbnail]));
|
|
15220
15284
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
15221
15285
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
15222
15286
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -15246,15 +15310,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
15246
15310
|
}
|
|
15247
15311
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
15248
15312
|
const it = item;
|
|
15249
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
15313
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _374 => _374.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
15250
15314
|
return {
|
|
15251
15315
|
type: "faq",
|
|
15252
15316
|
id: chatRef.id,
|
|
15253
15317
|
sourceRepo: chatRef.sourceRepo,
|
|
15254
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
15318
|
+
title: typeof _optionalChain([it, 'optionalAccess', _375 => _375.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
15255
15319
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
15256
15320
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
15257
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
15321
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _376 => _376.section]) === "string" && it.section ? { section: it.section } : {}
|
|
15258
15322
|
};
|
|
15259
15323
|
}
|
|
15260
15324
|
function HubspotTicketChatCard({
|
|
@@ -15262,8 +15326,8 @@ function HubspotTicketChatCard({
|
|
|
15262
15326
|
isNewTab,
|
|
15263
15327
|
discuss
|
|
15264
15328
|
}) {
|
|
15265
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
15266
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
15329
|
+
const status = typeof _optionalChain([chatRef, 'access', _377 => _377.metadata, 'optionalAccess', _378 => _378.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
15330
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _379 => _379.metadata, 'optionalAccess', _380 => _380.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
15267
15331
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
15268
15332
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15269
15333
|
MingoInfoCard,
|
|
@@ -15272,7 +15336,7 @@ function HubspotTicketChatCard({
|
|
|
15272
15336
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15273
15337
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 24 }),
|
|
15274
15338
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
15275
|
-
anchorProps:
|
|
15339
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15276
15340
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
15277
15341
|
label: "Open Ticket Details",
|
|
15278
15342
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 20 })
|
|
@@ -15286,7 +15350,7 @@ function FaqChatCard({
|
|
|
15286
15350
|
isNewTab,
|
|
15287
15351
|
discuss
|
|
15288
15352
|
}) {
|
|
15289
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
15353
|
+
const section = typeof _optionalChain([chatRef, 'access', _381 => _381.metadata, 'optionalAccess', _382 => _382.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
15290
15354
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
15291
15355
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15292
15356
|
MingoInfoCard,
|
|
@@ -15295,7 +15359,7 @@ function FaqChatCard({
|
|
|
15295
15359
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15296
15360
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.QuestionCircleIcon, { size: 24 }),
|
|
15297
15361
|
status: { label: statusLabel, variant: "grey" },
|
|
15298
|
-
anchorProps:
|
|
15362
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15299
15363
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15300
15364
|
menuAriaLabel: "FAQ actions"
|
|
15301
15365
|
}
|
|
@@ -15306,7 +15370,7 @@ function SlackChatCard({
|
|
|
15306
15370
|
isNewTab,
|
|
15307
15371
|
discuss
|
|
15308
15372
|
}) {
|
|
15309
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
15373
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _383 => _383.metadata, 'optionalAccess', _384 => _384.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
15310
15374
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
15311
15375
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
15312
15376
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15315,7 +15379,7 @@ function SlackChatCard({
|
|
|
15315
15379
|
title,
|
|
15316
15380
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15317
15381
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
15318
|
-
anchorProps:
|
|
15382
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15319
15383
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15320
15384
|
menuAriaLabel: "Message actions"
|
|
15321
15385
|
}
|
|
@@ -15333,7 +15397,7 @@ function GlyphChatCard({
|
|
|
15333
15397
|
title: chatRef.title,
|
|
15334
15398
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15335
15399
|
icon,
|
|
15336
|
-
anchorProps:
|
|
15400
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15337
15401
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15338
15402
|
menuAriaLabel: "Card actions"
|
|
15339
15403
|
}
|
|
@@ -15349,22 +15413,22 @@ function TrustCenterChatCard({
|
|
|
15349
15413
|
isNewTab,
|
|
15350
15414
|
discuss
|
|
15351
15415
|
}) {
|
|
15352
|
-
const raw = _optionalChain([item, 'optionalAccess',
|
|
15416
|
+
const raw = _optionalChain([item, 'optionalAccess', _385 => _385.frameworks]);
|
|
15353
15417
|
const frameworks = Array.isArray(raw) ? raw : [];
|
|
15354
|
-
const summary =
|
|
15418
|
+
const summary = _chunkDGNGABNGcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
15355
15419
|
const leadFramework = frameworks[0];
|
|
15356
15420
|
const lead = leadFramework ? {
|
|
15357
|
-
label:
|
|
15358
|
-
color:
|
|
15421
|
+
label: _chunkDGNGABNGcjs.trustFrameworkBadge.call(void 0, leadFramework),
|
|
15422
|
+
color: _chunkDGNGABNGcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
|
|
15359
15423
|
} : void 0;
|
|
15360
15424
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15361
15425
|
MingoInfoCard,
|
|
15362
15426
|
{
|
|
15363
|
-
title:
|
|
15364
|
-
description: summary ||
|
|
15427
|
+
title: _chunkDGNGABNGcjs.TRUST_CENTER_TITLE,
|
|
15428
|
+
description: summary || _chunkDGNGABNGcjs.TRUST_CENTER_TAGLINE,
|
|
15365
15429
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 24 }),
|
|
15366
15430
|
status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
|
|
15367
|
-
anchorProps:
|
|
15431
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15368
15432
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
15369
15433
|
label: "View trust center",
|
|
15370
15434
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 20 })
|
|
@@ -15386,7 +15450,7 @@ function DataRoomDocChatCard({
|
|
|
15386
15450
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15387
15451
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15388
15452
|
status: { label: badgeText, variant: "grey" },
|
|
15389
|
-
anchorProps:
|
|
15453
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15390
15454
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15391
15455
|
menuAriaLabel: "Document actions"
|
|
15392
15456
|
}
|
|
@@ -15398,14 +15462,14 @@ function GenericFinancialChatCard({
|
|
|
15398
15462
|
isNewTab,
|
|
15399
15463
|
discuss
|
|
15400
15464
|
}) {
|
|
15401
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
15465
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _386 => _386.metadata, 'optionalAccess', _387 => _387.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
15402
15466
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15403
15467
|
MingoInfoCard,
|
|
15404
15468
|
{
|
|
15405
15469
|
title: chatRef.title,
|
|
15406
15470
|
description: subtitle,
|
|
15407
15471
|
icon,
|
|
15408
|
-
anchorProps:
|
|
15472
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15409
15473
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15410
15474
|
menuAriaLabel: "Document actions"
|
|
15411
15475
|
}
|
|
@@ -15467,12 +15531,12 @@ function ProductReleaseChatCard({
|
|
|
15467
15531
|
discuss
|
|
15468
15532
|
}) {
|
|
15469
15533
|
const releaseProps = buildProps(item);
|
|
15470
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
15534
|
+
const status = _optionalChain([item, 'optionalAccess', _388 => _388.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15471
15535
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15472
15536
|
EntityMingoCard,
|
|
15473
15537
|
{
|
|
15474
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15475
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15538
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _389 => _389.title]), () => ( "")),
|
|
15539
|
+
description: _optionalChain([item, 'optionalAccess', _390 => _390.summary]) || releaseProps.formattedDate || void 0,
|
|
15476
15540
|
cover: releaseProps.coverImage || void 0,
|
|
15477
15541
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
|
|
15478
15542
|
status,
|
|
@@ -15489,17 +15553,17 @@ function CampaignChatCard({
|
|
|
15489
15553
|
isNewTab,
|
|
15490
15554
|
discuss
|
|
15491
15555
|
}) {
|
|
15492
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15556
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _391 => _391.goals])) ? item.goals.length : 0;
|
|
15493
15557
|
const meta = [
|
|
15494
|
-
_optionalChain([item, 'optionalAccess',
|
|
15558
|
+
_optionalChain([item, 'optionalAccess', _392 => _392.start_date]) ? _chunkDGNGABNGcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15495
15559
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15496
15560
|
"Marketing campaign"
|
|
15497
15561
|
].filter(Boolean).join(" \xB7 ");
|
|
15498
15562
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15499
15563
|
EntityMingoCard,
|
|
15500
15564
|
{
|
|
15501
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15502
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15565
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.name]), () => ( "")),
|
|
15566
|
+
description: meta || _optionalChain([item, 'optionalAccess', _394 => _394.description]) || void 0,
|
|
15503
15567
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
|
|
15504
15568
|
chatRef,
|
|
15505
15569
|
isNewTab,
|
|
@@ -15530,7 +15594,7 @@ function EntityMingoCard({
|
|
|
15530
15594
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
15531
15595
|
icon: fallbackIcon,
|
|
15532
15596
|
status,
|
|
15533
|
-
anchorProps:
|
|
15597
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15534
15598
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
15535
15599
|
menuAriaLabel
|
|
15536
15600
|
}
|
|
@@ -15542,7 +15606,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
15542
15606
|
function statusPill(status) {
|
|
15543
15607
|
const s = typeof status === "string" ? status.trim() : "";
|
|
15544
15608
|
if (!s) return void 0;
|
|
15545
|
-
const scheme =
|
|
15609
|
+
const scheme = _chunkDGNGABNGcjs.getStatusColorScheme.call(void 0, s);
|
|
15546
15610
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
15547
15611
|
return { label: s, variant };
|
|
15548
15612
|
}
|
|
@@ -15554,14 +15618,14 @@ function BlogChatCard({
|
|
|
15554
15618
|
hasEmbeddedVideo,
|
|
15555
15619
|
discuss
|
|
15556
15620
|
}) {
|
|
15557
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15621
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _395 => _395.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _396 => _396.categories, 'access', _397 => _397.find, 'call', _398 => _398((c) => _optionalChain([c, 'optionalAccess', _399 => _399.name])), 'optionalAccess', _400 => _400.name]), () => ( void 0)) : void 0;
|
|
15558
15622
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15559
15623
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15560
15624
|
EntityMingoCard,
|
|
15561
15625
|
{
|
|
15562
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15563
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15564
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15626
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.title]), () => ( "")),
|
|
15627
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _402 => _402.summary]), () => ( void 0)),
|
|
15628
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image]), ogPlaceholder),
|
|
15565
15629
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
|
|
15566
15630
|
status,
|
|
15567
15631
|
chatRef,
|
|
@@ -15578,13 +15642,13 @@ function CaseStudyChatCard({
|
|
|
15578
15642
|
ogPlaceholder,
|
|
15579
15643
|
discuss
|
|
15580
15644
|
}) {
|
|
15581
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15645
|
+
const meta = [_optionalChain([item, 'optionalAccess', _404 => _404.msp, 'optionalAccess', _405 => _405.name]), _optionalChain([item, 'optionalAccess', _406 => _406.user, 'optionalAccess', _407 => _407.full_name])].filter(Boolean).join(" \xB7 ");
|
|
15582
15646
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15583
15647
|
EntityMingoCard,
|
|
15584
15648
|
{
|
|
15585
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15586
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15587
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15649
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.title]), () => ( "")),
|
|
15650
|
+
description: _optionalChain([item, 'optionalAccess', _409 => _409.summary]) || meta || void 0,
|
|
15651
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
|
|
15588
15652
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
|
|
15589
15653
|
status: { label: "Case study", variant: "grey" },
|
|
15590
15654
|
chatRef,
|
|
@@ -15601,13 +15665,13 @@ function CustomerInterviewChatCard({
|
|
|
15601
15665
|
ogPlaceholder,
|
|
15602
15666
|
discuss
|
|
15603
15667
|
}) {
|
|
15604
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15668
|
+
const meta = [_optionalChain([item, 'optionalAccess', _411 => _411.user, 'optionalAccess', _412 => _412.full_name]), _optionalChain([item, 'optionalAccess', _413 => _413.msp, 'optionalAccess', _414 => _414.name])].filter(Boolean).join(" \xB7 ");
|
|
15605
15669
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15606
15670
|
EntityMingoCard,
|
|
15607
15671
|
{
|
|
15608
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15609
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15610
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15672
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.title]), () => ( "")),
|
|
15673
|
+
description: _optionalChain([item, 'optionalAccess', _416 => _416.video_summary]) || meta || void 0,
|
|
15674
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _417 => _417.featured_image]), ogPlaceholder),
|
|
15611
15675
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
|
|
15612
15676
|
status: { label: "Interview", variant: "grey" },
|
|
15613
15677
|
chatRef,
|
|
@@ -15624,16 +15688,16 @@ function DesignDocChatCard({
|
|
|
15624
15688
|
discuss
|
|
15625
15689
|
}) {
|
|
15626
15690
|
const displayRef = fetchedItemDisplayRef(item, chatRef);
|
|
15627
|
-
const doc = _optionalChain([item, 'optionalAccess',
|
|
15691
|
+
const doc = _optionalChain([item, 'optionalAccess', _418 => _418.doc]);
|
|
15628
15692
|
const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
|
|
15629
15693
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15630
15694
|
MingoInfoCard,
|
|
15631
15695
|
{
|
|
15632
|
-
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
15696
|
+
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _419 => _419.title]), () => ( displayRef.title)),
|
|
15633
15697
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15634
15698
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15635
15699
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
15636
|
-
anchorProps:
|
|
15700
|
+
anchorProps: _chunkDGNGABNGcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
|
|
15637
15701
|
menuGroups: cardMenuGroups(displayRef.url, discuss),
|
|
15638
15702
|
menuAriaLabel: "Design doc actions"
|
|
15639
15703
|
}
|
|
@@ -15646,13 +15710,13 @@ function InvestorUpdateChatCard({
|
|
|
15646
15710
|
ogPlaceholder,
|
|
15647
15711
|
discuss
|
|
15648
15712
|
}) {
|
|
15649
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15713
|
+
const title = _optionalChain([item, 'optionalAccess', _420 => _420.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.update_number]), () => ( "?"))}`;
|
|
15650
15714
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15651
15715
|
EntityMingoCard,
|
|
15652
15716
|
{
|
|
15653
15717
|
title,
|
|
15654
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15655
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15718
|
+
description: _optionalChain([item, 'optionalAccess', _422 => _422.strategic_update]) || _optionalChain([item, 'optionalAccess', _423 => _423.content]) || _chunkDGNGABNGcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _424 => _424.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _425 => _425.period_end]), () => ( null))) || void 0,
|
|
15719
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _426 => _426.featured_image]), ogPlaceholder),
|
|
15656
15720
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
|
|
15657
15721
|
status: { label: "Investor update", variant: "grey" },
|
|
15658
15722
|
chatRef,
|
|
@@ -15669,12 +15733,12 @@ function OnboardingGuideChatCard({
|
|
|
15669
15733
|
ogPlaceholder,
|
|
15670
15734
|
discuss
|
|
15671
15735
|
}) {
|
|
15672
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15736
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _427 => _427.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _428 => _428.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _429 => _429.og_image_url]), ogPlaceholder)));
|
|
15673
15737
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15674
15738
|
EntityMingoCard,
|
|
15675
15739
|
{
|
|
15676
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15677
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15740
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _430 => _430.title]), () => ( "")),
|
|
15741
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _431 => _431.summary]), () => ( _optionalChain([item, 'optionalAccess', _432 => _432.description]))), () => ( void 0)),
|
|
15678
15742
|
cover,
|
|
15679
15743
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
|
|
15680
15744
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15695,13 +15759,13 @@ function ProgramChatCard({
|
|
|
15695
15759
|
discuss
|
|
15696
15760
|
}) {
|
|
15697
15761
|
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 });
|
|
15698
|
-
const { line: meta } =
|
|
15762
|
+
const { line: meta } = _chunkDGNGABNGcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkDGNGABNGcjs.programMetaFormatters.call(void 0, _chunkDGNGABNGcjs.PROGRAM_META_RENDERERS));
|
|
15699
15763
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15700
15764
|
EntityMingoCard,
|
|
15701
15765
|
{
|
|
15702
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15703
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15704
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15766
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _433 => _433.title]), () => ( "")),
|
|
15767
|
+
description: meta || _optionalChain([item, 'optionalAccess', _434 => _434.description]) || void 0,
|
|
15768
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _435 => _435.cover_url]), ogPlaceholder),
|
|
15705
15769
|
fallbackIcon: icon,
|
|
15706
15770
|
status: { label, variant: "grey" },
|
|
15707
15771
|
chatRef,
|
|
@@ -15718,10 +15782,10 @@ function RoadmapChatCard({
|
|
|
15718
15782
|
cardType,
|
|
15719
15783
|
discuss
|
|
15720
15784
|
}) {
|
|
15721
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15722
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15785
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _436 => _436.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15786
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _437 => _437.customItemId]) != null;
|
|
15723
15787
|
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 });
|
|
15724
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15788
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _438 => _438.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15725
15789
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15726
15790
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15727
15791
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15732,10 +15796,10 @@ function RoadmapChatCard({
|
|
|
15732
15796
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15733
15797
|
EntityMingoCard,
|
|
15734
15798
|
{
|
|
15735
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15736
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15799
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _439 => _439.title]), () => ( "")),
|
|
15800
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _440 => _440.description]), () => ( void 0)),
|
|
15737
15801
|
fallbackIcon: icon,
|
|
15738
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15802
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _441 => _441.status])),
|
|
15739
15803
|
chatRef,
|
|
15740
15804
|
isNewTab,
|
|
15741
15805
|
discuss,
|
|
@@ -15751,7 +15815,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15751
15815
|
bareInline: true,
|
|
15752
15816
|
contentRefType: docType,
|
|
15753
15817
|
noComposedHref: true,
|
|
15754
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15818
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.url]), () => ( null)),
|
|
15755
15819
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15756
15820
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15757
15821
|
};
|
|
@@ -15783,15 +15847,15 @@ function financialRegistryEntries() {
|
|
|
15783
15847
|
);
|
|
15784
15848
|
}
|
|
15785
15849
|
function refText(ref, key) {
|
|
15786
|
-
const value = _optionalChain([ref, 'optionalAccess',
|
|
15850
|
+
const value = _optionalChain([ref, 'optionalAccess', _443 => _443[key]]);
|
|
15787
15851
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
15788
15852
|
}
|
|
15789
15853
|
function VendorGlyph({ title, logoUrl }) {
|
|
15790
|
-
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15854
|
+
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
|
|
15791
15855
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
|
|
15792
15856
|
}
|
|
15793
15857
|
function SitePageGlyph({ iconName }) {
|
|
15794
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15858
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
|
|
15795
15859
|
}
|
|
15796
15860
|
var GITHUB_CARD_CONFIGS = {
|
|
15797
15861
|
github_commit: { label: "GitHub commit", kind: "commit" },
|
|
@@ -15801,7 +15865,7 @@ var GITHUB_CARD_CONFIGS = {
|
|
|
15801
15865
|
github_pr_review: { label: "GitHub review", kind: "pr_review" },
|
|
15802
15866
|
github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
|
|
15803
15867
|
};
|
|
15804
|
-
var OpenFrameGlyph =
|
|
15868
|
+
var OpenFrameGlyph = _chunkJKWQWHNVcjs.resolveIcon.call(void 0, "openframe");
|
|
15805
15869
|
var REF_GLYPH_CARD_CONFIGS = {
|
|
15806
15870
|
openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
|
|
15807
15871
|
prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CallIcon, { size: 24 }), media: true },
|
|
@@ -15826,8 +15890,11 @@ var REF_GLYPH_CARD_CONFIGS = {
|
|
|
15826
15890
|
// A page of the public website (pricing, product, legal, and every page the navigation lists), read live
|
|
15827
15891
|
// from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
|
|
15828
15892
|
site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
|
|
15893
|
+
// What OpenFrame charges, read live from its billing: the plan in force, or one AI model's token exchange
|
|
15894
|
+
// rate. A glyph card; it opens the pricing page.
|
|
15895
|
+
openframe_price: { label: "OpenFrame price", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
|
|
15829
15896
|
// A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
|
|
15830
|
-
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess',
|
|
15897
|
+
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess', _444 => _444.title]), () => ( "")), logoUrl: refText(ref, "logo_url") }) }
|
|
15831
15898
|
};
|
|
15832
15899
|
function refGlyphRegistryEntries() {
|
|
15833
15900
|
return registryEntries(
|
|
@@ -15841,8 +15908,8 @@ function refGlyphRegistryEntries() {
|
|
|
15841
15908
|
title: displayRef.title,
|
|
15842
15909
|
description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15843
15910
|
cover: entityCover(
|
|
15844
|
-
_optionalChain([displayRef, 'access',
|
|
15845
|
-
_nullishCoalesce(_optionalChain([opts, 'access',
|
|
15911
|
+
_optionalChain([displayRef, 'access', _445 => _445.metadata, 'optionalAccess', _446 => _446.videoPoster]),
|
|
15912
|
+
_nullishCoalesce(_optionalChain([opts, 'access', _447 => _447.extras, 'optionalAccess', _448 => _448.buildOgPlaceholderUrl, 'optionalCall', _449 => _449(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
|
|
15846
15913
|
),
|
|
15847
15914
|
fallbackIcon: cfg.icon(displayRef),
|
|
15848
15915
|
status: { label: cfg.label, variant: "grey" },
|
|
@@ -15865,9 +15932,9 @@ function refGlyphRegistryEntries() {
|
|
|
15865
15932
|
}
|
|
15866
15933
|
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15867
15934
|
const it = item;
|
|
15868
|
-
const title = typeof _optionalChain([it, 'optionalAccess',
|
|
15869
|
-
const author = typeof _optionalChain([it, 'optionalAccess',
|
|
15870
|
-
const summary = typeof _optionalChain([it, 'optionalAccess',
|
|
15935
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _450 => _450.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15936
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _451 => _451.author, 'optionalAccess', _452 => _452.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15937
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _453 => _453.summary]) === "string" ? it.summary.trim() : "";
|
|
15871
15938
|
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15872
15939
|
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15873
15940
|
}
|
|
@@ -15909,7 +15976,7 @@ function programRegistryEntries() {
|
|
|
15909
15976
|
label: cfg.label,
|
|
15910
15977
|
contentRefType: cfg.contentRefType,
|
|
15911
15978
|
bareInline: true,
|
|
15912
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15979
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.ProgramCardSkeleton, { size: "sm" }),
|
|
15913
15980
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15914
15981
|
ProgramChatCard,
|
|
15915
15982
|
{
|
|
@@ -15919,7 +15986,7 @@ function programRegistryEntries() {
|
|
|
15919
15986
|
discuss: opts.discuss,
|
|
15920
15987
|
configKey: cfg.configKey,
|
|
15921
15988
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15922
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15989
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
|
|
15923
15990
|
}
|
|
15924
15991
|
)
|
|
15925
15992
|
}));
|
|
@@ -15940,7 +16007,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15940
16007
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15941
16008
|
// task id post-fetch (the refs frame used to carry it).
|
|
15942
16009
|
noComposedHref: true,
|
|
15943
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16010
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15944
16011
|
}
|
|
15945
16012
|
};
|
|
15946
16013
|
function roadmapRegistryEntries() {
|
|
@@ -15950,7 +16017,7 @@ function roadmapRegistryEntries() {
|
|
|
15950
16017
|
bareInline: true,
|
|
15951
16018
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
15952
16019
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
15953
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16020
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.RoadmapCardSkeleton, { size: "sm" }),
|
|
15954
16021
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15955
16022
|
RoadmapChatCard,
|
|
15956
16023
|
{
|
|
@@ -15982,8 +16049,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15982
16049
|
DeletedDataCard,
|
|
15983
16050
|
{
|
|
15984
16051
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15985
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15986
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
16052
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _459 => _459.metadata, 'optionalAccess', _460 => _460.entity_label]), () => ( null)),
|
|
16053
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _461 => _461.metadata, 'optionalAccess', _462 => _462.recovery_note]), () => ( null))
|
|
15987
16054
|
}
|
|
15988
16055
|
)
|
|
15989
16056
|
},
|
|
@@ -16000,7 +16067,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16000
16067
|
bareInline: true,
|
|
16001
16068
|
contentRefType: "faq",
|
|
16002
16069
|
noComposedHref: true,
|
|
16003
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16070
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _463 => _463.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
16004
16071
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16005
16072
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16006
16073
|
},
|
|
@@ -16008,12 +16075,12 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16008
16075
|
// projection route; `extractCardItems` turns its object payload into the
|
|
16009
16076
|
// single matched row. Destination is the public page unless the host
|
|
16010
16077
|
// re-homes the type (`composeContentUrl` override).
|
|
16011
|
-
[
|
|
16078
|
+
[_chunkDGNGABNGcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
|
|
16012
16079
|
label: "Trust center",
|
|
16013
16080
|
bareInline: true,
|
|
16014
|
-
contentRefType:
|
|
16081
|
+
contentRefType: _chunkDGNGABNGcjs.TRUST_CENTER_DOCUMENT_TYPE,
|
|
16015
16082
|
noComposedHref: true,
|
|
16016
|
-
fallbackHref: () =>
|
|
16083
|
+
fallbackHref: () => _chunkDGNGABNGcjs.TRUST_CENTER_PAGE_PATH,
|
|
16017
16084
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16018
16085
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16019
16086
|
},
|
|
@@ -16039,7 +16106,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16039
16106
|
label: "Blog post",
|
|
16040
16107
|
contentRefType: "blog_post_existing",
|
|
16041
16108
|
bareInline: true,
|
|
16042
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16109
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.BlogCardSkeleton, { size: "sm" }),
|
|
16043
16110
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16044
16111
|
BlogChatCard,
|
|
16045
16112
|
{
|
|
@@ -16047,8 +16114,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16047
16114
|
chatRef,
|
|
16048
16115
|
isNewTab: opts.isNewTab,
|
|
16049
16116
|
discuss: opts.discuss,
|
|
16050
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16051
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
16117
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _464 => _464.extras, 'optionalAccess', _465 => _465.buildOgPlaceholderUrl, 'optionalCall', _466 => _466(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _467 => _467.title]), () => ( "")))]), () => ( null)),
|
|
16118
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _468 => _468.metadata, 'optionalAccess', _469 => _469.hasEmbeddedVideo]) === true
|
|
16052
16119
|
}
|
|
16053
16120
|
)
|
|
16054
16121
|
},
|
|
@@ -16056,7 +16123,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16056
16123
|
label: "Case study",
|
|
16057
16124
|
contentRefType: "case_study",
|
|
16058
16125
|
bareInline: true,
|
|
16059
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16126
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.CaseStudyCardSkeleton, { size: "sm" }),
|
|
16060
16127
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16061
16128
|
CaseStudyChatCard,
|
|
16062
16129
|
{
|
|
@@ -16064,7 +16131,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16064
16131
|
chatRef,
|
|
16065
16132
|
isNewTab: opts.isNewTab,
|
|
16066
16133
|
discuss: opts.discuss,
|
|
16067
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16134
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _470 => _470.extras, 'optionalAccess', _471 => _471.buildOgPlaceholderUrl, 'optionalCall', _472 => _472(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _473 => _473.title]), () => ( "")))]), () => ( null))
|
|
16068
16135
|
}
|
|
16069
16136
|
)
|
|
16070
16137
|
},
|
|
@@ -16073,7 +16140,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16073
16140
|
contentRefType: "design_doc",
|
|
16074
16141
|
bareInline: true,
|
|
16075
16142
|
noComposedHref: true,
|
|
16076
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
16143
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.url]), () => ( null)),
|
|
16077
16144
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16078
16145
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16079
16146
|
},
|
|
@@ -16081,7 +16148,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16081
16148
|
label: "Customer interview",
|
|
16082
16149
|
contentRefType: "customer_interview",
|
|
16083
16150
|
bareInline: true,
|
|
16084
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16151
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
|
|
16085
16152
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16086
16153
|
CustomerInterviewChatCard,
|
|
16087
16154
|
{
|
|
@@ -16089,7 +16156,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16089
16156
|
chatRef,
|
|
16090
16157
|
isNewTab: opts.isNewTab,
|
|
16091
16158
|
discuss: opts.discuss,
|
|
16092
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16159
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildOgPlaceholderUrl, 'optionalCall', _477 => _477(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _478 => _478.title]), () => ( "")))]), () => ( null))
|
|
16093
16160
|
}
|
|
16094
16161
|
)
|
|
16095
16162
|
},
|
|
@@ -16097,9 +16164,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16097
16164
|
label: "Product release",
|
|
16098
16165
|
contentRefType: "product_release",
|
|
16099
16166
|
bareInline: true,
|
|
16100
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16167
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
16101
16168
|
render: (item, chatRef, opts) => {
|
|
16102
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16169
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _479 => _479.extras, 'optionalAccess', _480 => _480.buildProductReleaseCardProps]), () => ( _chunkDGNGABNGcjs.defaultBuildProductReleaseCardProps));
|
|
16103
16170
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16104
16171
|
ProductReleaseChatCard,
|
|
16105
16172
|
{
|
|
@@ -16117,7 +16184,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16117
16184
|
label: "Investor update",
|
|
16118
16185
|
contentRefType: "investor_update",
|
|
16119
16186
|
bareInline: true,
|
|
16120
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16187
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
|
|
16121
16188
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16122
16189
|
InvestorUpdateChatCard,
|
|
16123
16190
|
{
|
|
@@ -16125,7 +16192,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16125
16192
|
chatRef,
|
|
16126
16193
|
isNewTab: opts.isNewTab,
|
|
16127
16194
|
discuss: opts.discuss,
|
|
16128
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16195
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
|
|
16129
16196
|
}
|
|
16130
16197
|
)
|
|
16131
16198
|
},
|
|
@@ -16135,7 +16202,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16135
16202
|
bareInline: true,
|
|
16136
16203
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
16137
16204
|
displayAction: true,
|
|
16138
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16205
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
|
|
16139
16206
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16140
16207
|
OnboardingGuideChatCard,
|
|
16141
16208
|
{
|
|
@@ -16143,7 +16210,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16143
16210
|
chatRef,
|
|
16144
16211
|
isNewTab: opts.isNewTab,
|
|
16145
16212
|
discuss: opts.discuss,
|
|
16146
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16213
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _485 => _485.extras, 'optionalAccess', _486 => _486.buildOgPlaceholderUrl, 'optionalCall', _487 => _487(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _488 => _488.title]), () => ( "")))]), () => ( null))
|
|
16147
16214
|
}
|
|
16148
16215
|
)
|
|
16149
16216
|
},
|
|
@@ -16154,13 +16221,13 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16154
16221
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
16155
16222
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
16156
16223
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
16157
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16224
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _489 => _489.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
16158
16225
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16159
16226
|
},
|
|
16160
16227
|
...roadmapRegistryEntries()
|
|
16161
16228
|
};
|
|
16162
16229
|
function chatCardLabel(docType) {
|
|
16163
|
-
return _optionalChain([CHAT_CARD_REGISTRY, 'access',
|
|
16230
|
+
return _optionalChain([CHAT_CARD_REGISTRY, 'access', _490 => _490[docType], 'optionalAccess', _491 => _491.label]);
|
|
16164
16231
|
}
|
|
16165
16232
|
function ChatCardNavWrap({
|
|
16166
16233
|
href,
|
|
@@ -16176,13 +16243,13 @@ function ChatCardNavWrap({
|
|
|
16176
16243
|
if (!href) return;
|
|
16177
16244
|
const targetEl = e.target;
|
|
16178
16245
|
const host = e.currentTarget;
|
|
16179
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
16180
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
16181
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
16246
|
+
if (!_optionalChain([host, 'optionalAccess', _492 => _492.contains, 'call', _493 => _493(targetEl)])) return;
|
|
16247
|
+
if (_optionalChain([targetEl, 'optionalAccess', _494 => _494.closest, 'optionalCall', _495 => _495("button")])) return;
|
|
16248
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _496 => _496.closest, 'optionalCall', _497 => _497("a")])) return;
|
|
16182
16249
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
16183
16250
|
if (!handled) return;
|
|
16184
16251
|
e.stopPropagation();
|
|
16185
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
16252
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _498 => _498.closeChat])) panel.closeChat();
|
|
16186
16253
|
};
|
|
16187
16254
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
16188
16255
|
}
|
|
@@ -16198,7 +16265,7 @@ function ChatCardLoader({
|
|
|
16198
16265
|
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
16199
16266
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
16200
16267
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
16201
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
16268
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _499 => _499.contentRefType]), () => ( "")),
|
|
16202
16269
|
fetchEntry ? chatRef.id : ""
|
|
16203
16270
|
);
|
|
16204
16271
|
if (!entry) return null;
|
|
@@ -16219,7 +16286,7 @@ function ChatCardLoader({
|
|
|
16219
16286
|
};
|
|
16220
16287
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
16221
16288
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
16222
|
-
const isNewTab =
|
|
16289
|
+
const isNewTab = _chunkDGNGABNGcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
16223
16290
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
16224
16291
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
16225
16292
|
const discuss = discussFn ? {
|
|
@@ -16242,7 +16309,7 @@ function ChatCardLoader({
|
|
|
16242
16309
|
isNewTab,
|
|
16243
16310
|
discuss
|
|
16244
16311
|
};
|
|
16245
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
16312
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _500 => _500.metadata, 'optionalAccess', _501 => _501.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
16246
16313
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16247
16314
|
ChatCardNavWrap,
|
|
16248
16315
|
{
|
|
@@ -16266,7 +16333,7 @@ function ChatCardLoader({
|
|
|
16266
16333
|
if (!fetchEntry) {
|
|
16267
16334
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
16268
16335
|
}
|
|
16269
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
16336
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _502 => _502.skeleton, 'optionalCall', _503 => _503()]), () => ( null)) });
|
|
16270
16337
|
if (!item) {
|
|
16271
16338
|
if (isError) {
|
|
16272
16339
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16355,12 +16422,12 @@ function makeBatchDedupKey(item) {
|
|
|
16355
16422
|
return `${item.messageType}:${seq}:${type}:${text2}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
|
|
16356
16423
|
}
|
|
16357
16424
|
function getChatTypeMessageType(chatType) {
|
|
16358
|
-
return chatType ===
|
|
16425
|
+
return chatType === _chunk7AXOAA5Tcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
|
|
16359
16426
|
}
|
|
16360
16427
|
function useChunkCatchup({
|
|
16361
16428
|
dialogId,
|
|
16362
16429
|
onChunkReceived,
|
|
16363
|
-
chatTypes = [
|
|
16430
|
+
chatTypes = [_chunk7AXOAA5Tcjs.CHAT_TYPE.CLIENT],
|
|
16364
16431
|
fetchChunks
|
|
16365
16432
|
}) {
|
|
16366
16433
|
const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
@@ -16574,7 +16641,7 @@ function useChunkCatchup({
|
|
|
16574
16641
|
if (catchupRun.current === run) {
|
|
16575
16642
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16576
16643
|
catchupRun.current = null;
|
|
16577
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16644
|
+
if (_optionalChain([pendingCatchupRef, 'access', _504 => _504.current, 'optionalAccess', _505 => _505.dialogId]) === currentDialogId) {
|
|
16578
16645
|
pendingCatchupRef.current = null;
|
|
16579
16646
|
}
|
|
16580
16647
|
} else {
|
|
@@ -16585,7 +16652,7 @@ function useChunkCatchup({
|
|
|
16585
16652
|
if (pending.dialogId === currentDialogId) {
|
|
16586
16653
|
rearmForQueuedCatchup();
|
|
16587
16654
|
try {
|
|
16588
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16655
|
+
await _optionalChain([catchUpChunksRef, 'access', _506 => _506.current, 'optionalCall', _507 => _507(pending.fromSequenceId)]);
|
|
16589
16656
|
} catch (rerunError) {
|
|
16590
16657
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16591
16658
|
}
|
|
@@ -16652,7 +16719,7 @@ function useChunkCatchup({
|
|
|
16652
16719
|
|
|
16653
16720
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16654
16721
|
function prefersReducedMotion() {
|
|
16655
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16722
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _508 => _508.matchMedia, 'optionalCall', _509 => _509("(prefers-reduced-motion: reduce)"), 'access', _510 => _510.matches]) === true;
|
|
16656
16723
|
}
|
|
16657
16724
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16658
16725
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16663,7 +16730,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16663
16730
|
setIndex(0);
|
|
16664
16731
|
}
|
|
16665
16732
|
_react.useEffect.call(void 0, () => {
|
|
16666
|
-
const mq = _optionalChain([window, 'access',
|
|
16733
|
+
const mq = _optionalChain([window, 'access', _511 => _511.matchMedia, 'optionalCall', _512 => _512("(prefers-reduced-motion: reduce)")]);
|
|
16667
16734
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16668
16735
|
sync();
|
|
16669
16736
|
if (!mq) return void 0;
|
|
@@ -16806,7 +16873,7 @@ function useJetStreamDialogSubscription({
|
|
|
16806
16873
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16807
16874
|
conn: sharedConn,
|
|
16808
16875
|
wsUrl,
|
|
16809
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16876
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]),
|
|
16810
16877
|
backoff: reconnectionBackoffRef.current,
|
|
16811
16878
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16812
16879
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16821,7 +16888,7 @@ function useJetStreamDialogSubscription({
|
|
|
16821
16888
|
setReconnectionCount((c) => c + 1);
|
|
16822
16889
|
}
|
|
16823
16890
|
hadConnectionBeforeRef.current = true;
|
|
16824
|
-
_optionalChain([onConnectRef, 'access',
|
|
16891
|
+
_optionalChain([onConnectRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
|
|
16825
16892
|
}
|
|
16826
16893
|
if (status === "error") {
|
|
16827
16894
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16831,7 +16898,7 @@ function useJetStreamDialogSubscription({
|
|
|
16831
16898
|
setIsConnected(false);
|
|
16832
16899
|
setIsSubscribed(false);
|
|
16833
16900
|
tearDownSubscription();
|
|
16834
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16901
|
+
_optionalChain([onDisconnectRef, 'access', _517 => _517.current, 'optionalCall', _518 => _518()]);
|
|
16835
16902
|
}
|
|
16836
16903
|
}
|
|
16837
16904
|
});
|
|
@@ -16957,7 +17024,7 @@ function useJetStreamDialogSubscription({
|
|
|
16957
17024
|
}
|
|
16958
17025
|
subscriptionRef.current = handle;
|
|
16959
17026
|
setIsSubscribed(true);
|
|
16960
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17027
|
+
_optionalChain([onSubscribedRef, 'access', _519 => _519.current, 'optionalCall', _520 => _520()]);
|
|
16961
17028
|
} catch (e31) {
|
|
16962
17029
|
if (!cancelled) {
|
|
16963
17030
|
setIsSubscribed(false);
|
|
@@ -17073,20 +17140,20 @@ function useNatsDialogSubscription({
|
|
|
17073
17140
|
const tearDownSubscriptions = () => {
|
|
17074
17141
|
subscriptionRefs.current.forEach((sub) => {
|
|
17075
17142
|
try {
|
|
17076
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17143
|
+
_optionalChain([sub, 'optionalAccess', _521 => _521.unsubscribe, 'call', _522 => _522()]);
|
|
17077
17144
|
} catch (e33) {
|
|
17078
17145
|
}
|
|
17079
17146
|
});
|
|
17080
17147
|
subscriptionRefs.current.clear();
|
|
17081
17148
|
lastSubscribedDialogIdRef.current = null;
|
|
17082
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17149
|
+
_optionalChain([abortControllerRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.abort, 'call', _525 => _525()]);
|
|
17083
17150
|
abortControllerRef.current = null;
|
|
17084
17151
|
};
|
|
17085
17152
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
17086
17153
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
17087
17154
|
conn: sharedConn,
|
|
17088
17155
|
wsUrl,
|
|
17089
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
17156
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]),
|
|
17090
17157
|
backoff: reconnectionBackoffRef.current,
|
|
17091
17158
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
17092
17159
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -17097,7 +17164,7 @@ function useNatsDialogSubscription({
|
|
|
17097
17164
|
setReconnectionCount((c) => c + 1);
|
|
17098
17165
|
}
|
|
17099
17166
|
hadConnectionBeforeRef.current = true;
|
|
17100
|
-
_optionalChain([onConnectRef, 'access',
|
|
17167
|
+
_optionalChain([onConnectRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529()]);
|
|
17101
17168
|
}
|
|
17102
17169
|
if (status === "error") {
|
|
17103
17170
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -17107,7 +17174,7 @@ function useNatsDialogSubscription({
|
|
|
17107
17174
|
setIsConnected(false);
|
|
17108
17175
|
setIsSubscribed(false);
|
|
17109
17176
|
tearDownSubscriptions();
|
|
17110
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
17177
|
+
_optionalChain([onDisconnectRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
|
|
17111
17178
|
}
|
|
17112
17179
|
}
|
|
17113
17180
|
});
|
|
@@ -17138,13 +17205,13 @@ function useNatsDialogSubscription({
|
|
|
17138
17205
|
setIsSubscribed(false);
|
|
17139
17206
|
subscriptionRefs.current.forEach((sub) => {
|
|
17140
17207
|
try {
|
|
17141
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17208
|
+
_optionalChain([sub, 'optionalAccess', _532 => _532.unsubscribe, 'call', _533 => _533()]);
|
|
17142
17209
|
} catch (e34) {
|
|
17143
17210
|
}
|
|
17144
17211
|
});
|
|
17145
17212
|
subscriptionRefs.current.clear();
|
|
17146
17213
|
lastSubscribedDialogIdRef.current = null;
|
|
17147
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17214
|
+
_optionalChain([abortControllerRef, 'access', _534 => _534.current, 'optionalAccess', _535 => _535.abort, 'call', _536 => _536()]);
|
|
17148
17215
|
abortControllerRef.current = null;
|
|
17149
17216
|
}
|
|
17150
17217
|
return void 0;
|
|
@@ -17156,12 +17223,12 @@ function useNatsDialogSubscription({
|
|
|
17156
17223
|
if (subscriptionRefs.current.size > 0) {
|
|
17157
17224
|
subscriptionRefs.current.forEach((sub) => {
|
|
17158
17225
|
try {
|
|
17159
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17226
|
+
_optionalChain([sub, 'optionalAccess', _537 => _537.unsubscribe, 'call', _538 => _538()]);
|
|
17160
17227
|
} catch (e35) {
|
|
17161
17228
|
}
|
|
17162
17229
|
});
|
|
17163
17230
|
subscriptionRefs.current.clear();
|
|
17164
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17231
|
+
_optionalChain([abortControllerRef, 'access', _539 => _539.current, 'optionalAccess', _540 => _540.abort, 'call', _541 => _541()]);
|
|
17165
17232
|
}
|
|
17166
17233
|
abortControllerRef.current = new AbortController();
|
|
17167
17234
|
const abort = abortControllerRef.current;
|
|
@@ -17191,7 +17258,7 @@ function useNatsDialogSubscription({
|
|
|
17191
17258
|
});
|
|
17192
17259
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
17193
17260
|
setIsSubscribed(true);
|
|
17194
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17261
|
+
_optionalChain([onSubscribedRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
|
|
17195
17262
|
};
|
|
17196
17263
|
if (isConnectedRef.current) {
|
|
17197
17264
|
createSubscriptions();
|
|
@@ -17202,7 +17269,7 @@ function useNatsDialogSubscription({
|
|
|
17202
17269
|
abort.abort();
|
|
17203
17270
|
subscriptions.forEach((sub) => {
|
|
17204
17271
|
try {
|
|
17205
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17272
|
+
_optionalChain([sub, 'optionalAccess', _544 => _544.unsubscribe, 'call', _545 => _545()]);
|
|
17206
17273
|
} catch (e37) {
|
|
17207
17274
|
}
|
|
17208
17275
|
});
|
|
@@ -17241,7 +17308,7 @@ function useNatsDialogSubscription({
|
|
|
17241
17308
|
});
|
|
17242
17309
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
17243
17310
|
setIsSubscribed(true);
|
|
17244
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17311
|
+
_optionalChain([onSubscribedRef, 'access', _546 => _546.current, 'optionalCall', _547 => _547()]);
|
|
17245
17312
|
} else if (subscriptionRefs.current.size > 0) {
|
|
17246
17313
|
setIsSubscribed(true);
|
|
17247
17314
|
}
|
|
@@ -17249,10 +17316,10 @@ function useNatsDialogSubscription({
|
|
|
17249
17316
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
17250
17317
|
}
|
|
17251
17318
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
17252
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
17319
|
+
const path = _optionalChain([options, 'optionalAccess', _548 => _548.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
17253
17320
|
const u = new URL(path, apiBaseUrl);
|
|
17254
17321
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
17255
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
17322
|
+
if (_optionalChain([options, 'optionalAccess', _549 => _549.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _550 => _550.token])) {
|
|
17256
17323
|
u.searchParams.set("authorization", options.token);
|
|
17257
17324
|
}
|
|
17258
17325
|
return u.toString();
|
|
@@ -17270,7 +17337,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17270
17337
|
const data = await res.json();
|
|
17271
17338
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
17272
17339
|
} catch (err) {
|
|
17273
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17340
|
+
if (_optionalChain([err, 'optionalAccess', _551 => _551.name]) === "AbortError") throw err;
|
|
17274
17341
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
17275
17342
|
return [];
|
|
17276
17343
|
}
|
|
@@ -17278,8 +17345,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17278
17345
|
var NO_COMMANDS = [];
|
|
17279
17346
|
function useSlashCommands(prefix, commandsUrl) {
|
|
17280
17347
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
17281
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17282
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17348
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _552 => _552.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
17349
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _553 => _553.prefix]) !== prefix;
|
|
17283
17350
|
_react.useEffect.call(void 0, () => {
|
|
17284
17351
|
if (prefix == null) return void 0;
|
|
17285
17352
|
let cancelled = false;
|
|
@@ -17289,7 +17356,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
17289
17356
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
17290
17357
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
17291
17358
|
} catch (err) {
|
|
17292
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
17359
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _554 => _554.name]) !== "AbortError") {
|
|
17293
17360
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
17294
17361
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
17295
17362
|
}
|
|
@@ -17312,7 +17379,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
17312
17379
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17313
17380
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
17314
17381
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
17315
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17382
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _555 => _555.enabled]), () => ( true)),
|
|
17316
17383
|
staleTime: Infinity,
|
|
17317
17384
|
gcTime: Infinity,
|
|
17318
17385
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17351,21 +17418,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17351
17418
|
}
|
|
17352
17419
|
const data = await res.json();
|
|
17353
17420
|
return {
|
|
17354
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17355
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17356
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17357
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17358
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17359
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17421
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _556 => _556.name]), () => ( null)),
|
|
17422
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _557 => _557.icon]), () => ( null)),
|
|
17423
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _558 => _558.greeting]), () => ( null)),
|
|
17424
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _559 => _559.enabledRagTableIds]), () => ( [])),
|
|
17425
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _560 => _560.quickActions]), () => ( [])),
|
|
17426
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _561 => _561.suggestedQueries]), () => ( []))
|
|
17360
17427
|
};
|
|
17361
17428
|
} catch (err) {
|
|
17362
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17429
|
+
if (_optionalChain([err, 'optionalAccess', _562 => _562.name]) === "AbortError") throw err;
|
|
17363
17430
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17364
17431
|
return EMPTY_STATE_FALLBACK;
|
|
17365
17432
|
}
|
|
17366
17433
|
}
|
|
17367
17434
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17368
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17435
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _563 => _563.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17369
17436
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17370
17437
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17371
17438
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17394,7 +17461,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17394
17461
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17395
17462
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17396
17463
|
return new Promise((resolve, reject) => {
|
|
17397
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17464
|
+
if (_optionalChain([signal, 'optionalAccess', _564 => _564.aborted])) {
|
|
17398
17465
|
reject(new Error("Upload cancelled"));
|
|
17399
17466
|
return;
|
|
17400
17467
|
}
|
|
@@ -17436,7 +17503,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17436
17503
|
const handleSignalAbort = () => {
|
|
17437
17504
|
xhr.abort();
|
|
17438
17505
|
};
|
|
17439
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17506
|
+
_optionalChain([signal, 'optionalAccess', _565 => _565.addEventListener, 'call', _566 => _566("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17440
17507
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17441
17508
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17442
17509
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17480,10 +17547,10 @@ function useChatAttachments() {
|
|
|
17480
17547
|
try {
|
|
17481
17548
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17482
17549
|
} catch (err) {
|
|
17483
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17550
|
+
if (_optionalChain([ctrl, 'optionalAccess', _567 => _567.signal, 'access', _568 => _568.aborted])) return;
|
|
17484
17551
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17485
17552
|
}
|
|
17486
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17553
|
+
if (_optionalChain([ctrl, 'optionalAccess', _569 => _569.signal, 'access', _570 => _570.aborted])) return;
|
|
17487
17554
|
if (!sniffed) {
|
|
17488
17555
|
throw new Error("Unrecognized file format");
|
|
17489
17556
|
}
|
|
@@ -17497,7 +17564,7 @@ function useChatAttachments() {
|
|
|
17497
17564
|
const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17498
17565
|
method: "POST",
|
|
17499
17566
|
headers: { "Content-Type": "application/json" },
|
|
17500
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17567
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _571 => _571.signal]),
|
|
17501
17568
|
body: JSON.stringify({
|
|
17502
17569
|
fileName: att.file.name,
|
|
17503
17570
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17526,9 +17593,9 @@ function useChatAttachments() {
|
|
|
17526
17593
|
(pct) => {
|
|
17527
17594
|
updateOne(att.id, { progress: pct });
|
|
17528
17595
|
},
|
|
17529
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17596
|
+
_optionalChain([ctrl, 'optionalAccess', _572 => _572.signal])
|
|
17530
17597
|
);
|
|
17531
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17598
|
+
if (_optionalChain([ctrl, 'optionalAccess', _573 => _573.signal, 'access', _574 => _574.aborted])) return;
|
|
17532
17599
|
updateOne(att.id, {
|
|
17533
17600
|
status: "ready",
|
|
17534
17601
|
progress: 100,
|
|
@@ -17536,7 +17603,7 @@ function useChatAttachments() {
|
|
|
17536
17603
|
viewToken: mintData.viewToken
|
|
17537
17604
|
});
|
|
17538
17605
|
} catch (err) {
|
|
17539
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17606
|
+
if (_optionalChain([ctrl, 'optionalAccess', _575 => _575.signal, 'access', _576 => _576.aborted])) return;
|
|
17540
17607
|
const message = err instanceof Error ? err.message : String(err);
|
|
17541
17608
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17542
17609
|
} finally {
|
|
@@ -17658,7 +17725,7 @@ function useChatAttachmentImageGallery() {
|
|
|
17658
17725
|
return () => root.removeEventListener("click", onClick);
|
|
17659
17726
|
}, [viewUrlPrefix]);
|
|
17660
17727
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17661
|
-
|
|
17728
|
+
_chunkDGNGABNGcjs.ImageGalleryModal,
|
|
17662
17729
|
{
|
|
17663
17730
|
images: state.images,
|
|
17664
17731
|
isOpen: state.isOpen,
|
|
@@ -17685,11 +17752,11 @@ var ANON_DEFAULTS = {
|
|
|
17685
17752
|
function useResolveChatIdentity(enabled) {
|
|
17686
17753
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
17687
17754
|
const url = runtime.endpoints.identityUrl;
|
|
17688
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17755
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _577 => _577.email]), () => ( null));
|
|
17689
17756
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17690
17757
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17691
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17692
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17758
|
+
const data = _optionalChain([resolved, 'optionalAccess', _578 => _578.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17759
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _579 => _579.key]) !== requestKey;
|
|
17693
17760
|
_react.useEffect.call(void 0, () => {
|
|
17694
17761
|
if (requestKey === null) return void 0;
|
|
17695
17762
|
let cancelled = false;
|
|
@@ -17836,7 +17903,7 @@ function useChat({
|
|
|
17836
17903
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17837
17904
|
});
|
|
17838
17905
|
_react.useEffect.call(void 0, () => {
|
|
17839
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17906
|
+
_optionalChain([onMessagesChangeRef, 'access', _580 => _580.current, 'optionalCall', _581 => _581(messages)]);
|
|
17840
17907
|
}, [messages]);
|
|
17841
17908
|
const {
|
|
17842
17909
|
streamMessage,
|
|
@@ -17873,7 +17940,7 @@ function useChat({
|
|
|
17873
17940
|
name: "You",
|
|
17874
17941
|
content: text2,
|
|
17875
17942
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17876
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17943
|
+
..._optionalChain([options, 'optionalAccess', _582 => _582.hidden]) ? { hidden: true } : {}
|
|
17877
17944
|
};
|
|
17878
17945
|
addMessage(userMessage);
|
|
17879
17946
|
setIsTyping(true);
|
|
@@ -18087,7 +18154,7 @@ function buildConfirmToolBody(request) {
|
|
|
18087
18154
|
async function readServerErrorMessage(response) {
|
|
18088
18155
|
try {
|
|
18089
18156
|
const body = await response.json();
|
|
18090
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
18157
|
+
if (typeof _optionalChain([body, 'optionalAccess', _583 => _583.error]) === "string" && body.error.length > 0) return body.error;
|
|
18091
18158
|
} catch (e39) {
|
|
18092
18159
|
}
|
|
18093
18160
|
return null;
|
|
@@ -18398,7 +18465,7 @@ function nullableText(value) {
|
|
|
18398
18465
|
}
|
|
18399
18466
|
function httpsUrl(value) {
|
|
18400
18467
|
const candidate = text(value);
|
|
18401
|
-
if (!candidate ||
|
|
18468
|
+
if (!candidate || _chunkDGNGABNGcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
|
|
18402
18469
|
try {
|
|
18403
18470
|
return new URL(candidate).protocol === "https:" ? candidate : void 0;
|
|
18404
18471
|
} catch (e43) {
|
|
@@ -18415,7 +18482,7 @@ function youtubeVideoId(value) {
|
|
|
18415
18482
|
const hostname = parsed.hostname.toLowerCase();
|
|
18416
18483
|
const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
|
|
18417
18484
|
if (!isYoutubeHost) return void 0;
|
|
18418
|
-
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access',
|
|
18485
|
+
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _584 => _584.exec, 'call', _585 => _585(parsed.pathname), 'optionalAccess', _586 => _586[1]]);
|
|
18419
18486
|
const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
|
|
18420
18487
|
return id && YOUTUBE_ID.test(id) ? id : void 0;
|
|
18421
18488
|
}
|
|
@@ -18534,11 +18601,11 @@ function cards(value, decodedSources) {
|
|
|
18534
18601
|
{
|
|
18535
18602
|
type,
|
|
18536
18603
|
id,
|
|
18537
|
-
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18538
|
-
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18539
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18540
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18541
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18604
|
+
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _587 => _587.name]), () => ( id)),
|
|
18605
|
+
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _588 => _588.externalUrl]), () => ( null)),
|
|
18606
|
+
..._optionalChain([source, 'optionalAccess', _589 => _589.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
|
|
18607
|
+
..._optionalChain([source, 'optionalAccess', _590 => _590.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
|
|
18608
|
+
..._optionalChain([source, 'optionalAccess', _591 => _591.path]) ? { metadata: { path: source.path } } : {}
|
|
18542
18609
|
}
|
|
18543
18610
|
];
|
|
18544
18611
|
});
|
|
@@ -18574,11 +18641,11 @@ function attachmentsEvent(record) {
|
|
|
18574
18641
|
}
|
|
18575
18642
|
function mergeSourceMetadata(previous, event) {
|
|
18576
18643
|
const byIndex = /* @__PURE__ */ new Map();
|
|
18577
|
-
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18644
|
+
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _592 => _592.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
|
|
18578
18645
|
if (!byIndex.has(source.index)) byIndex.set(source.index, source);
|
|
18579
18646
|
}
|
|
18580
18647
|
const byIdentity = /* @__PURE__ */ new Map();
|
|
18581
|
-
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18648
|
+
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _593 => _593.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
|
|
18582
18649
|
const identity = `${ref.type}:${ref.id}`;
|
|
18583
18650
|
if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
|
|
18584
18651
|
}
|
|
@@ -18664,9 +18731,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18664
18731
|
for (const seg of segments) {
|
|
18665
18732
|
const tail = merged[merged.length - 1];
|
|
18666
18733
|
const key = upsertKey(seg);
|
|
18667
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18734
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _594 => _594.type]) === "text") {
|
|
18668
18735
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18669
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18736
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _595 => _595.type]) === "thinking") {
|
|
18670
18737
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18671
18738
|
} else if (key) {
|
|
18672
18739
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18707,7 +18774,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18707
18774
|
}
|
|
18708
18775
|
if (s.type !== "approval_batch") return s;
|
|
18709
18776
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18710
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18777
|
+
const hasRow = _optionalChain([s, 'access', _596 => _596.data, 'access', _597 => _597.toolCalls, 'optionalAccess', _598 => _598.some, 'call', _599 => _599((c) => c.toolExecutionRequestId === requestId)]);
|
|
18711
18778
|
if (!isAnchor && !hasRow) return s;
|
|
18712
18779
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18713
18780
|
const nextExecutions = hasRow ? {
|
|
@@ -18729,8 +18796,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18729
18796
|
};
|
|
18730
18797
|
}
|
|
18731
18798
|
function nextBatchExecution(prevExec, toolData) {
|
|
18732
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18733
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18799
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _600 => _600.status]) === "done") return null;
|
|
18800
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _601 => _601.result]), success: _optionalChain([prevExec, 'optionalAccess', _602 => _602.success]) };
|
|
18734
18801
|
}
|
|
18735
18802
|
function withBatchExecution(seg, execId, state) {
|
|
18736
18803
|
return {
|
|
@@ -18747,11 +18814,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18747
18814
|
}
|
|
18748
18815
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18749
18816
|
return mapSegments(prev, (s) => {
|
|
18750
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18817
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _603 => _603.data, 'access', _604 => _604.toolCalls, 'optionalAccess', _605 => _605.some, 'call', _606 => _606((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18751
18818
|
return s;
|
|
18752
18819
|
}
|
|
18753
|
-
const existing = _optionalChain([s, 'access',
|
|
18754
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18820
|
+
const existing = _optionalChain([s, 'access', _607 => _607.data, 'access', _608 => _608.executions, 'optionalAccess', _609 => _609[rowRequestId]]);
|
|
18821
|
+
if (_optionalChain([existing, 'optionalAccess', _610 => _610.status]) === "done") return s;
|
|
18755
18822
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18756
18823
|
});
|
|
18757
18824
|
}
|
|
@@ -18787,7 +18854,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18787
18854
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18788
18855
|
const seg = message.segments[j];
|
|
18789
18856
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18790
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18857
|
+
const prevExec = _optionalChain([seg, 'access', _611 => _611.data, 'access', _612 => _612.executions, 'optionalAccess', _613 => _613[execId]]);
|
|
18791
18858
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18792
18859
|
if (nextExec === null) return prev;
|
|
18793
18860
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18960,9 +19027,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18960
19027
|
type: "tool_execution",
|
|
18961
19028
|
data: {
|
|
18962
19029
|
...toolData,
|
|
18963
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18964
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18965
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
19030
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _614 => _614.data, 'access', _615 => _615.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _616 => _616.toolTitle]))),
|
|
19031
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _617 => _617.data, 'access', _618 => _618.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _619 => _619.toolExplanation]))),
|
|
19032
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _620 => _620.parameters])
|
|
18966
19033
|
}
|
|
18967
19034
|
};
|
|
18968
19035
|
if (existingIndex !== -1) {
|
|
@@ -18986,7 +19053,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18986
19053
|
if (seg.type !== "approval_batch") return seg;
|
|
18987
19054
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18988
19055
|
if (!hasCall) return seg;
|
|
18989
|
-
const prev = _optionalChain([seg, 'access',
|
|
19056
|
+
const prev = _optionalChain([seg, 'access', _621 => _621.data, 'access', _622 => _622.executions, 'optionalAccess', _623 => _623[execId]]);
|
|
18990
19057
|
const next = nextBatchExecution(prev, toolData);
|
|
18991
19058
|
matched = true;
|
|
18992
19059
|
if (next === null) return seg;
|
|
@@ -19120,8 +19187,8 @@ var MessageSegmentAccumulator = class {
|
|
|
19120
19187
|
requestId,
|
|
19121
19188
|
{
|
|
19122
19189
|
...pendingApproval,
|
|
19123
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19124
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19190
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _624 => _624.command]) || "",
|
|
19191
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _625 => _625.approvalType]) || approvalType
|
|
19125
19192
|
},
|
|
19126
19193
|
status
|
|
19127
19194
|
);
|
|
@@ -19146,9 +19213,9 @@ var MessageSegmentAccumulator = class {
|
|
|
19146
19213
|
type: "escalation_offer",
|
|
19147
19214
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
19148
19215
|
// not blank the card the PENDING chunk already painted.
|
|
19149
|
-
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess',
|
|
19216
|
+
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _626 => _626.data, 'access', _627 => _627.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _628 => _628.data, 'access', _629 => _629.origin]))) },
|
|
19150
19217
|
status,
|
|
19151
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
19218
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _630 => _630.resolvedByName]))),
|
|
19152
19219
|
onApprove: this.callbacks.onEscalationApprove,
|
|
19153
19220
|
onReject: this.callbacks.onEscalationReject
|
|
19154
19221
|
};
|
|
@@ -19468,7 +19535,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19468
19535
|
let stateCache = null;
|
|
19469
19536
|
function invalidate() {
|
|
19470
19537
|
stateCache = null;
|
|
19471
|
-
_optionalChain([onChange, 'optionalCall',
|
|
19538
|
+
_optionalChain([onChange, 'optionalCall', _631 => _631()]);
|
|
19472
19539
|
}
|
|
19473
19540
|
function getState() {
|
|
19474
19541
|
if (!stateCache) {
|
|
@@ -19486,7 +19553,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19486
19553
|
return stateCache;
|
|
19487
19554
|
}
|
|
19488
19555
|
function emit(name, ...args) {
|
|
19489
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
19556
|
+
_optionalChain([onEffect, 'optionalCall', _632 => _632({ name, args })]);
|
|
19490
19557
|
}
|
|
19491
19558
|
function setMessagesInternal(next) {
|
|
19492
19559
|
if (next !== messages) {
|
|
@@ -19529,12 +19596,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
19529
19596
|
return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
|
|
19530
19597
|
}
|
|
19531
19598
|
function applySegmentsToState(segments, meta) {
|
|
19532
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
19533
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19599
|
+
const seq = _optionalChain([meta, 'optionalAccess', _633 => _633.streamSeq]);
|
|
19600
|
+
if (_optionalChain([meta, 'optionalAccess', _634 => _634.append]) && meta.isCompacting) {
|
|
19534
19601
|
setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
|
|
19535
19602
|
return;
|
|
19536
19603
|
}
|
|
19537
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19604
|
+
if (_optionalChain([meta, 'optionalAccess', _635 => _635.append])) {
|
|
19538
19605
|
setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
|
|
19539
19606
|
return;
|
|
19540
19607
|
}
|
|
@@ -19546,7 +19613,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19546
19613
|
adoptTrailingAssistant = false;
|
|
19547
19614
|
const last = messages[messages.length - 1];
|
|
19548
19615
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
19549
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19616
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _636 => _636.segments, 'optionalAccess', _637 => _637.length]), () => ( 0))) > 0 || last.content !== "";
|
|
19550
19617
|
if (!hasContent) return;
|
|
19551
19618
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
19552
19619
|
}
|
|
@@ -19765,13 +19832,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19765
19832
|
const summary = required ? _chunkHP4UUBJCcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19766
19833
|
pendingEscalated.set(requestId, {
|
|
19767
19834
|
command: summary,
|
|
19768
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19835
|
+
explanation: _optionalChain([required, 'optionalAccess', _638 => _638.toolExplanation]),
|
|
19769
19836
|
approvalType,
|
|
19770
19837
|
toolCalls
|
|
19771
19838
|
});
|
|
19772
19839
|
emit("onEscalatedApproval", requestId, {
|
|
19773
19840
|
command: summary,
|
|
19774
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19841
|
+
explanation: _optionalChain([required, 'optionalAccess', _639 => _639.toolExplanation]),
|
|
19775
19842
|
approvalType
|
|
19776
19843
|
});
|
|
19777
19844
|
break;
|
|
@@ -20159,7 +20226,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20159
20226
|
const resolveBatch = (status, confirm) => async () => {
|
|
20160
20227
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
20161
20228
|
for (const id of ids) {
|
|
20162
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
20229
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _640 => _640(id)]);
|
|
20163
20230
|
if (ok === false) {
|
|
20164
20231
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
20165
20232
|
}
|
|
@@ -20295,8 +20362,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
20295
20362
|
}
|
|
20296
20363
|
}
|
|
20297
20364
|
}
|
|
20298
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
20299
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
20365
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _641 => _641.resumed]), () => ( messages.length > 0)));
|
|
20366
|
+
if (_optionalChain([extras, 'optionalAccess', _642 => _642.agentBusy])) agentBusyState();
|
|
20300
20367
|
invalidate();
|
|
20301
20368
|
}
|
|
20302
20369
|
return {
|
|
@@ -20383,7 +20450,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20383
20450
|
},
|
|
20384
20451
|
endSseTurn() {
|
|
20385
20452
|
const last = messages[messages.length - 1];
|
|
20386
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
20453
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _643 => _643.segments, 'optionalAccess', _644 => _644.length]), () => ( 0))) === 0 && last.content === "") {
|
|
20387
20454
|
messages = messages.slice(0, -1);
|
|
20388
20455
|
}
|
|
20389
20456
|
sseCurrentText = "";
|
|
@@ -20537,10 +20604,10 @@ function createChatDialogStore(options = {}) {
|
|
|
20537
20604
|
if (onEvict) {
|
|
20538
20605
|
const sep = key.indexOf(KEY_SEP);
|
|
20539
20606
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
20540
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20541
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20542
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20543
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20607
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _645 => _645.state, 'access', _646 => _646.messages]), () => ( EMPTY_STATE.messages)),
|
|
20608
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _647 => _647.state, 'access', _648 => _648.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
20609
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _649 => _649.getLastAppliedSeq, 'call', _650 => _650()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
20610
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _651 => _651.getPendingEchoes, 'call', _652 => _652()]), () => ( EMPTY_PENDING_ECHOES))
|
|
20544
20611
|
});
|
|
20545
20612
|
}
|
|
20546
20613
|
}
|
|
@@ -20550,12 +20617,12 @@ function createChatDialogStore(options = {}) {
|
|
|
20550
20617
|
const key = keyOf(dialogId, side);
|
|
20551
20618
|
let reducer = reducers.get(key);
|
|
20552
20619
|
if (!reducer) {
|
|
20553
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
20620
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _653 => _653(dialogId, side)]), () => ( {}));
|
|
20554
20621
|
const userOnChange = base.onChange;
|
|
20555
20622
|
reducer = createChatStreamReducer({
|
|
20556
20623
|
...base,
|
|
20557
20624
|
onChange: () => {
|
|
20558
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
20625
|
+
_optionalChain([userOnChange, 'optionalCall', _654 => _654()]);
|
|
20559
20626
|
notify();
|
|
20560
20627
|
}
|
|
20561
20628
|
});
|
|
@@ -20600,7 +20667,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20600
20667
|
};
|
|
20601
20668
|
}
|
|
20602
20669
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20603
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20670
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _655 => _655.get, 'call', _656 => _656(keyOf(dialogId, side)), 'optionalAccess', _657 => _657.state]), () => ( EMPTY_STATE));
|
|
20604
20671
|
}
|
|
20605
20672
|
function getServerSnapshot2() {
|
|
20606
20673
|
return EMPTY_STATE;
|
|
@@ -20692,7 +20759,7 @@ function createDeltaBatcher({
|
|
|
20692
20759
|
pending = [];
|
|
20693
20760
|
const key = pendingKey;
|
|
20694
20761
|
for (const delta of batch) applyOne(delta, key);
|
|
20695
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20762
|
+
_optionalChain([onFlushed, 'optionalCall', _658 => _658(batch.length)]);
|
|
20696
20763
|
}
|
|
20697
20764
|
function schedule() {
|
|
20698
20765
|
if (raf !== null || timer !== null) return;
|
|
@@ -20716,7 +20783,7 @@ function createDeltaBatcher({
|
|
|
20716
20783
|
}
|
|
20717
20784
|
if (!isDeltaEvent(event)) return false;
|
|
20718
20785
|
const tail = pending[pending.length - 1];
|
|
20719
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20786
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _659 => _659.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20720
20787
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20721
20788
|
pending[pending.length - 1] = {
|
|
20722
20789
|
...tail,
|
|
@@ -20747,7 +20814,7 @@ function useChatStreamReducer({
|
|
|
20747
20814
|
side = DEFAULT_DIALOG_SIDE,
|
|
20748
20815
|
createReducerOptions
|
|
20749
20816
|
}) {
|
|
20750
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20817
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _660 => _660()]), () => ( {})));
|
|
20751
20818
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20752
20819
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20753
20820
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20786,7 +20853,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20786
20853
|
var namespaceFor = (source) => {
|
|
20787
20854
|
const base = `mingo-chat-${source}`;
|
|
20788
20855
|
const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20789
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20856
|
+
return _optionalChain([auth, 'optionalAccess', _661 => _661.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20790
20857
|
};
|
|
20791
20858
|
function createChatConversationStorage(source) {
|
|
20792
20859
|
return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20917,7 +20984,7 @@ function useChatHistoryHydration({
|
|
|
20917
20984
|
if (cancelled) return;
|
|
20918
20985
|
if (rows.length === 0) {
|
|
20919
20986
|
const found = isRecord(body) ? body.found : void 0;
|
|
20920
|
-
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall',
|
|
20987
|
+
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _662 => _662(conversationId)]);
|
|
20921
20988
|
return;
|
|
20922
20989
|
}
|
|
20923
20990
|
const hydrated = [];
|
|
@@ -21061,7 +21128,7 @@ function useManagedDialogList({
|
|
|
21061
21128
|
try {
|
|
21062
21129
|
await deleteDialogCallback(id);
|
|
21063
21130
|
removeLocal(id);
|
|
21064
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21131
|
+
_optionalChain([onDialogRemovedRef, 'access', _663 => _663.current, 'optionalCall', _664 => _664(id, "deleted")]);
|
|
21065
21132
|
} catch (err) {
|
|
21066
21133
|
console.error(`${logTag} deleteDialog failed:`, err);
|
|
21067
21134
|
throw err;
|
|
@@ -21072,7 +21139,7 @@ function useManagedDialogList({
|
|
|
21072
21139
|
const renameDialog = _react.useCallback.call(void 0,
|
|
21073
21140
|
async (id, title) => {
|
|
21074
21141
|
if (!renameDialogCallback) return;
|
|
21075
|
-
const previous = _optionalChain([dialogsRef, 'access',
|
|
21142
|
+
const previous = _optionalChain([dialogsRef, 'access', _665 => _665.current, 'access', _666 => _666.find, 'call', _667 => _667((d) => d.id === id), 'optionalAccess', _668 => _668.title]);
|
|
21076
21143
|
setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
|
|
21077
21144
|
try {
|
|
21078
21145
|
await renameDialogCallback(id, title);
|
|
@@ -21091,7 +21158,7 @@ function useManagedDialogList({
|
|
|
21091
21158
|
try {
|
|
21092
21159
|
await archiveDialogCallback(id);
|
|
21093
21160
|
removeLocal(id);
|
|
21094
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21161
|
+
_optionalChain([onDialogRemovedRef, 'access', _669 => _669.current, 'optionalCall', _670 => _670(id, "archived")]);
|
|
21095
21162
|
} catch (err) {
|
|
21096
21163
|
console.error(`${logTag} archiveDialog failed:`, err);
|
|
21097
21164
|
throw err;
|
|
@@ -21183,7 +21250,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21183
21250
|
const { active = true } = runtimeOptions;
|
|
21184
21251
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
21185
21252
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
21186
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
21253
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _671 => _671.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
21187
21254
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
21188
21255
|
() => Promise.resolve(true)
|
|
21189
21256
|
);
|
|
@@ -21219,7 +21286,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21219
21286
|
if (!restoredConversationRef.current) {
|
|
21220
21287
|
restoredConversationRef.current = true;
|
|
21221
21288
|
pruneStaleChatConversationStorage(source);
|
|
21222
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
21289
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _672 => _672.load, 'call', _673 => _673(), 'optionalAccess', _674 => _674.conversationId]), () => ( null));
|
|
21223
21290
|
}
|
|
21224
21291
|
const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
|
|
21225
21292
|
const commitConversationId = _react.useCallback.call(void 0,
|
|
@@ -21310,7 +21377,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21310
21377
|
const abortControllerRef = _react.useRef.call(void 0, null);
|
|
21311
21378
|
const switchConversation = _react.useCallback.call(void 0,
|
|
21312
21379
|
(id) => {
|
|
21313
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21380
|
+
_optionalChain([abortControllerRef, 'access', _675 => _675.current, 'optionalAccess', _676 => _676.abort, 'call', _677 => _677()]);
|
|
21314
21381
|
flushDeltas();
|
|
21315
21382
|
mutate((r) => r.reset());
|
|
21316
21383
|
hydrationSendCountRef.current = 0;
|
|
@@ -21347,8 +21414,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21347
21414
|
} = useManagedDialogList({
|
|
21348
21415
|
autoLoad: active,
|
|
21349
21416
|
fetchDialogs: fetchActiveDialogs,
|
|
21350
|
-
renameDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21351
|
-
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21417
|
+
renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _678 => _678.renameDialog]),
|
|
21418
|
+
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _679 => _679.archiveDialog]),
|
|
21352
21419
|
pageSize: 20,
|
|
21353
21420
|
search: conversationsApi ? dialogSearch : void 0,
|
|
21354
21421
|
logTag: "[useSseChatAdapter]",
|
|
@@ -21412,7 +21479,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21412
21479
|
const serverMessage = await readServerErrorMessage(response);
|
|
21413
21480
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
21414
21481
|
}
|
|
21415
|
-
const reader = _optionalChain([response, 'access',
|
|
21482
|
+
const reader = _optionalChain([response, 'access', _680 => _680.body, 'optionalAccess', _681 => _681.getReader, 'call', _682 => _682()]);
|
|
21416
21483
|
if (!reader) throw new Error("No response body");
|
|
21417
21484
|
const frameDecoder = createSseFrameDecoder();
|
|
21418
21485
|
let finished = false;
|
|
@@ -21441,7 +21508,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21441
21508
|
}
|
|
21442
21509
|
return true;
|
|
21443
21510
|
} catch (err) {
|
|
21444
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
21511
|
+
if (_optionalChain([err, 'optionalAccess', _683 => _683.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
21445
21512
|
return true;
|
|
21446
21513
|
}
|
|
21447
21514
|
flushDeltas();
|
|
@@ -21477,7 +21544,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21477
21544
|
);
|
|
21478
21545
|
sendMessageRef.current = sendMessage;
|
|
21479
21546
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
21480
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21547
|
+
_optionalChain([abortControllerRef, 'access', _684 => _684.current, 'optionalAccess', _685 => _685.abort, 'call', _686 => _686()]);
|
|
21481
21548
|
flushDeltas();
|
|
21482
21549
|
mutate((r) => r.setPhase("idle"));
|
|
21483
21550
|
}, [mutate, flushDeltas]);
|
|
@@ -21513,7 +21580,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21513
21580
|
let sendIdx = -1;
|
|
21514
21581
|
return state.messages.map((m) => {
|
|
21515
21582
|
const segments = m.segments;
|
|
21516
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
21583
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _687 => _687.filter, 'call', _688 => _688((s) => s.type === "text"), 'access', _689 => _689.map, 'call', _690 => _690((s) => s.text), 'access', _691 => _691.join, 'call', _692 => _692("")]), () => ( ""));
|
|
21517
21584
|
let sources2;
|
|
21518
21585
|
let scrollAnchor;
|
|
21519
21586
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -21522,7 +21589,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21522
21589
|
if (m.role === "assistant") {
|
|
21523
21590
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
21524
21591
|
sources2 = sourcesMap.get(lookupIdx);
|
|
21525
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
21592
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _693 => _693.get, 'call', _694 => _694(lookupIdx), 'optionalAccess', _695 => _695.scrollAnchor]), () => ( void 0));
|
|
21526
21593
|
}
|
|
21527
21594
|
return {
|
|
21528
21595
|
id: m.id,
|
|
@@ -21549,7 +21616,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21549
21616
|
);
|
|
21550
21617
|
return;
|
|
21551
21618
|
}
|
|
21552
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
21619
|
+
const refSlug = typeof _optionalChain([reference, 'access', _696 => _696.metadata, 'optionalAccess', _697 => _697.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
21553
21620
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
21554
21621
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
21555
21622
|
const text2 = `/${cmdId} display "${escaped}"`;
|
|
@@ -21597,18 +21664,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21597
21664
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
21598
21665
|
isHydratingHistory,
|
|
21599
21666
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
21600
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21601
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21602
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21667
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _698 => _698.provider]), () => ( null)),
|
|
21668
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _699 => _699.modelLabel]), () => ( null)),
|
|
21669
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _700 => _700.contextWindowMaxTokens]), () => ( null)),
|
|
21603
21670
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
21604
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21671
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _701 => _701.inputTokens]), () => ( null)),
|
|
21605
21672
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
21606
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21673
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _702 => _702.outputTokens]), () => ( null)),
|
|
21607
21674
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
21608
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21675
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _703 => _703.cacheHitRatePct]), () => ( null)),
|
|
21609
21676
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
21610
21677
|
* token counts). null until the trailing usage frame lands. */
|
|
21611
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21678
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _704 => _704.breakdown]), () => ( null)),
|
|
21612
21679
|
// ─── Dialog management ───────────────────────────────────────────────
|
|
21613
21680
|
// With `chatConversationsUrl` the server transcript store IS the dialog
|
|
21614
21681
|
// list (shared `useManagedDialogList`); selecting a row re-hydrates through
|
|
@@ -21864,7 +21931,7 @@ function decodeNatsChunk(chunk) {
|
|
|
21864
21931
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
21865
21932
|
// Wire shape carries no label; fall back to the id (parity with
|
|
21866
21933
|
// the history path in `process-historical-messages.ts`).
|
|
21867
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
21934
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _705 => _705.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _706 => _706.id]) === "string").map((it) => ({
|
|
21868
21935
|
type: it.type,
|
|
21869
21936
|
id: it.id,
|
|
21870
21937
|
label: it.id
|
|
@@ -21955,7 +22022,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21955
22022
|
}
|
|
21956
22023
|
break;
|
|
21957
22024
|
case "approval_batch": {
|
|
21958
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
22025
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _707 => _707.data, 'access', _708 => _708.executions, 'optionalAccess', _709 => _709[c.toolExecutionRequestId], 'optionalAccess', _710 => _710.status]) === "done");
|
|
21959
22026
|
if (segment.status !== "rejected" && !allDone) {
|
|
21960
22027
|
hasIncompleteState = true;
|
|
21961
22028
|
}
|
|
@@ -22017,11 +22084,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
22017
22084
|
function extractIncompleteTailState(messages) {
|
|
22018
22085
|
if (!messages || messages.length === 0) return void 0;
|
|
22019
22086
|
let start = messages.length;
|
|
22020
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
22087
|
+
while (start > 0 && _optionalChain([messages, 'access', _711 => _711[start - 1], 'optionalAccess', _712 => _712.role]) === "assistant") start -= 1;
|
|
22021
22088
|
if (start === messages.length) return void 0;
|
|
22022
22089
|
const segments = [];
|
|
22023
22090
|
for (let i = start; i < messages.length; i += 1) {
|
|
22024
|
-
const content = _optionalChain([messages, 'access',
|
|
22091
|
+
const content = _optionalChain([messages, 'access', _713 => _713[i], 'optionalAccess', _714 => _714.content]);
|
|
22025
22092
|
if (Array.isArray(content)) segments.push(...content);
|
|
22026
22093
|
}
|
|
22027
22094
|
if (segments.length === 0) return void 0;
|
|
@@ -22034,15 +22101,15 @@ function extractIncompleteTailState(messages) {
|
|
|
22034
22101
|
|
|
22035
22102
|
// src/components/chat/utils/process-historical-messages.ts
|
|
22036
22103
|
function getOwnerDisplayName(owner) {
|
|
22037
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
22104
|
+
if (_optionalChain([owner, 'optionalAccess', _715 => _715.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
22038
22105
|
const { firstName, lastName } = owner.user;
|
|
22039
22106
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
22040
22107
|
if (name) return name;
|
|
22041
22108
|
}
|
|
22042
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
22109
|
+
return _optionalChain([owner, 'optionalAccess', _716 => _716.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
22043
22110
|
}
|
|
22044
22111
|
function getOwnerAvatar(owner) {
|
|
22045
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
22112
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _717 => _717.user, 'optionalAccess', _718 => _718.image, 'optionalAccess', _719 => _719.imageUrl]), () => ( void 0));
|
|
22046
22113
|
}
|
|
22047
22114
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
22048
22115
|
messageDataArray.forEach((data) => {
|
|
@@ -22234,7 +22301,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22234
22301
|
event.offerId,
|
|
22235
22302
|
event.text,
|
|
22236
22303
|
event.origin,
|
|
22237
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
22304
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _720 => _720[event.offerId]]), () => ( "pending"))
|
|
22238
22305
|
);
|
|
22239
22306
|
break;
|
|
22240
22307
|
case "ticket-escalated":
|
|
@@ -22268,7 +22335,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22268
22335
|
);
|
|
22269
22336
|
break;
|
|
22270
22337
|
case "escalation-offer-resolved":
|
|
22271
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
22338
|
+
_optionalChain([offerResolutions, 'optionalAccess', _721 => _721.set, 'call', _722 => _722(event.offerId, {
|
|
22272
22339
|
status: event.status,
|
|
22273
22340
|
resolvedByName: event.resolvedByName
|
|
22274
22341
|
})]);
|
|
@@ -22332,7 +22399,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22332
22399
|
}
|
|
22333
22400
|
}
|
|
22334
22401
|
} else {
|
|
22335
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22402
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _723 => _723.set, 'call', _724 => _724(event.requestId, {
|
|
22336
22403
|
command: event.command || "",
|
|
22337
22404
|
explanation: event.explanation,
|
|
22338
22405
|
approvalType,
|
|
@@ -22347,8 +22414,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22347
22414
|
const existingStatus = approvalStatuses[requestId];
|
|
22348
22415
|
const status = existingStatus || event.status;
|
|
22349
22416
|
const resolvedByName = event.resolvedByName;
|
|
22350
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22351
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
22417
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _725 => _725.get, 'call', _726 => _726(requestId)]);
|
|
22418
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _727 => _727.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
22352
22419
|
if (batchApprovalsEnabled) {
|
|
22353
22420
|
accumulator.addApprovalBatch(
|
|
22354
22421
|
requestId,
|
|
@@ -22370,7 +22437,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22370
22437
|
);
|
|
22371
22438
|
}
|
|
22372
22439
|
}
|
|
22373
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22440
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _728 => _728.delete, 'call', _729 => _729(requestId)]);
|
|
22374
22441
|
break;
|
|
22375
22442
|
}
|
|
22376
22443
|
if (escalatedData) {
|
|
@@ -22379,7 +22446,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22379
22446
|
explanation: escalatedData.explanation,
|
|
22380
22447
|
approvalType: escalatedData.approvalType
|
|
22381
22448
|
});
|
|
22382
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22449
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _730 => _730.delete, 'call', _731 => _731(requestId)]);
|
|
22383
22450
|
}
|
|
22384
22451
|
const before = accumulator.getSegments();
|
|
22385
22452
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -22471,14 +22538,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22471
22538
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
22472
22539
|
return;
|
|
22473
22540
|
}
|
|
22474
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
22541
|
+
const isUserMessage = _optionalChain([msg, 'access', _732 => _732.owner, 'optionalAccess', _733 => _733.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _734 => _734.owner, 'optionalAccess', _735 => _735.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.ADMIN;
|
|
22475
22542
|
if (isUserMessage) {
|
|
22476
22543
|
flushAssistantMessage();
|
|
22477
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
22544
|
+
const userAuthorType = _optionalChain([msg, 'access', _736 => _736.owner, 'optionalAccess', _737 => _737.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
22478
22545
|
messageDataArray.forEach((data) => {
|
|
22479
22546
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
22480
22547
|
const rawContext = data.contextItems;
|
|
22481
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
22548
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _738 => _738.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _739 => _739.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
22482
22549
|
processedMessages.push({
|
|
22483
22550
|
id: msg.id,
|
|
22484
22551
|
role: "user",
|
|
@@ -22525,7 +22592,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22525
22592
|
});
|
|
22526
22593
|
const nextMsg = messages[index + 1];
|
|
22527
22594
|
const isLastMessage = index === messages.length - 1;
|
|
22528
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
22595
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _740 => _740.owner, 'optionalAccess', _741 => _741.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _742 => _742.owner, 'optionalAccess', _743 => _743.type]) === _chunk7AXOAA5Tcjs.OWNER_TYPE.ADMIN);
|
|
22529
22596
|
if (isLastMessage || nextIsFromUser) {
|
|
22530
22597
|
flushAssistantMessage();
|
|
22531
22598
|
}
|
|
@@ -22908,7 +22975,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22908
22975
|
const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
|
|
22909
22976
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22910
22977
|
async (text2, sendOptions) => {
|
|
22911
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
22978
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _744 => _744.hidden]), () => ( false));
|
|
22912
22979
|
mutate((r) => r.pushOptimisticSend(text2, hidden));
|
|
22913
22980
|
await publishUserMessage(text2, { hidden, dialogId });
|
|
22914
22981
|
},
|
|
@@ -23001,11 +23068,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
23001
23068
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
23002
23069
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
23003
23070
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
23004
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23005
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23006
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23007
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23008
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23071
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _745 => _745.provider]), () => ( modelProvider)), () => ( null)),
|
|
23072
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _746 => _746.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
23073
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _747 => _747.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _748 => _748.contextWindowMaxTokens]))), () => ( null)),
|
|
23074
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _749 => _749.inputTokensSize]), () => ( null)),
|
|
23075
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _750 => _750.outputTokensSize]), () => ( null)),
|
|
23009
23076
|
currentCacheHitRatePct: null,
|
|
23010
23077
|
currentUsageBreakdown: null,
|
|
23011
23078
|
// Dialog management
|
|
@@ -23127,7 +23194,7 @@ function useUnifiedChat(options) {
|
|
|
23127
23194
|
[]
|
|
23128
23195
|
);
|
|
23129
23196
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
23130
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
23197
|
+
(ref) => _optionalChain([activeStateRef, 'access', _751 => _751.current, 'access', _752 => _752.displayRef, 'optionalCall', _753 => _753(ref)]),
|
|
23131
23198
|
[]
|
|
23132
23199
|
);
|
|
23133
23200
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -23137,7 +23204,7 @@ function useUnifiedChat(options) {
|
|
|
23137
23204
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
23138
23205
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
23139
23206
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
23140
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
23207
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _754 => _754.current, 'access', _755 => _755.setDialogScope, 'optionalCall', _756 => _756(scope)]), []);
|
|
23141
23208
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
23142
23209
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
23143
23210
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -23247,19 +23314,19 @@ function turnRequestKeys(content) {
|
|
|
23247
23314
|
if (!Array.isArray(content)) return keys;
|
|
23248
23315
|
for (const seg of content) {
|
|
23249
23316
|
if (seg.type === "tool_execution") {
|
|
23250
|
-
const id = _optionalChain([seg, 'access',
|
|
23317
|
+
const id = _optionalChain([seg, 'access', _757 => _757.data, 'optionalAccess', _758 => _758.toolExecutionRequestId]);
|
|
23251
23318
|
if (id) keys.add(id);
|
|
23252
23319
|
} else if (seg.type === "approval_request") {
|
|
23253
|
-
const id = _optionalChain([seg, 'access',
|
|
23320
|
+
const id = _optionalChain([seg, 'access', _759 => _759.data, 'optionalAccess', _760 => _760.requestId]);
|
|
23254
23321
|
if (id) keys.add(id);
|
|
23255
23322
|
} else if (seg.type === "escalation_offer") {
|
|
23256
|
-
const id = _optionalChain([seg, 'access',
|
|
23323
|
+
const id = _optionalChain([seg, 'access', _761 => _761.data, 'optionalAccess', _762 => _762.offerId]);
|
|
23257
23324
|
if (id) keys.add(id);
|
|
23258
23325
|
} else if (seg.type === "approval_batch") {
|
|
23259
23326
|
const data = seg.data;
|
|
23260
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
23261
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
23262
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
23327
|
+
if (_optionalChain([data, 'optionalAccess', _763 => _763.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
23328
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _764 => _764.toolCalls]), () => ( []))) {
|
|
23329
|
+
if (_optionalChain([call, 'optionalAccess', _765 => _765.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
23263
23330
|
}
|
|
23264
23331
|
}
|
|
23265
23332
|
}
|
|
@@ -23344,18 +23411,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23344
23411
|
}
|
|
23345
23412
|
}
|
|
23346
23413
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
23347
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
23348
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
23414
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _766 => _766.role]) === "assistant" ? trailing : null;
|
|
23415
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _767 => _767.content, 'access', _768 => _768.find, 'call', _769 => _769((s) => s.type === "approval_batch"), 'optionalAccess', _770 => _770.data, 'optionalAccess', _771 => _771.approvalRequestId]), () => ( null)) : null;
|
|
23349
23416
|
let processedToUse = processedHistory;
|
|
23350
23417
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23351
23418
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23352
23419
|
if (historyBatchId) {
|
|
23353
23420
|
const batchTwins = existingMessages.filter(
|
|
23354
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
23421
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _772 => _772.data, 'optionalAccess', _773 => _773.approvalRequestId]) === historyBatchId)
|
|
23355
23422
|
);
|
|
23356
23423
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
23357
23424
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
23358
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
23425
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _774 => _774.content])) ? historyTrailingAssistant.content.length : 0;
|
|
23359
23426
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
23360
23427
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
23361
23428
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -23388,9 +23455,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23388
23455
|
const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
|
|
23389
23456
|
const windowSignals = collectTwinSignals(processedToUse);
|
|
23390
23457
|
const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
|
|
23391
|
-
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
23458
|
+
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _775 => _775.has, 'call', _776 => _776(m.id)]), () => ( false)));
|
|
23392
23459
|
const firstWindowIndex = existingMessages.findIndex(isInWindow);
|
|
23393
|
-
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23460
|
+
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _777 => _777.timestamp, 'optionalAccess', _778 => _778.getTime, 'call', _779 => _779()]), () => ( 0))) <= historyFetchedAt;
|
|
23394
23461
|
let lastOlderPersistedIndex = -1;
|
|
23395
23462
|
if (firstWindowIndex < 0) {
|
|
23396
23463
|
for (const [index, m] of existingMessages.entries()) {
|
|
@@ -23408,7 +23475,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23408
23475
|
} else if (pm.role === "assistant") {
|
|
23409
23476
|
windowHasUnstampedAssistant = true;
|
|
23410
23477
|
}
|
|
23411
|
-
const time = _optionalChain([pm, 'access',
|
|
23478
|
+
const time = _optionalChain([pm, 'access', _780 => _780.timestamp, 'optionalAccess', _781 => _781.getTime, 'call', _782 => _782()]);
|
|
23412
23479
|
if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
|
|
23413
23480
|
}
|
|
23414
23481
|
const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
|
|
@@ -23426,14 +23493,14 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23426
23493
|
const verdict = twinVerdict(windowSignals, m);
|
|
23427
23494
|
return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
|
|
23428
23495
|
}
|
|
23429
|
-
const time = _optionalChain([m, 'access',
|
|
23496
|
+
const time = _optionalChain([m, 'access', _783 => _783.timestamp, 'optionalAccess', _784 => _784.getTime, 'call', _785 => _785()]);
|
|
23430
23497
|
if (typeof time !== "number" || time > historyFetchedAt) return false;
|
|
23431
23498
|
if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
|
|
23432
23499
|
return twinVerdict(windowSignals, m) === "distinct";
|
|
23433
23500
|
};
|
|
23434
23501
|
const keepRealtime = (m) => {
|
|
23435
23502
|
if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
|
|
23436
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23503
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _786 => _786.timestamp, 'optionalAccess', _787 => _787.getTime, 'call', _788 => _788()]), () => ( 0))) <= historyFetchedAt;
|
|
23437
23504
|
return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
|
|
23438
23505
|
}
|
|
23439
23506
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -23458,7 +23525,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23458
23525
|
} else if (typeof m.streamSeq === "number") {
|
|
23459
23526
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
23460
23527
|
} else {
|
|
23461
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23528
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _789 => _789.timestamp, 'optionalAccess', _790 => _790.getTime, 'call', _791 => _791()]), () => ( 0))) <= historyFetchedAt;
|
|
23462
23529
|
}
|
|
23463
23530
|
if (covered) return false;
|
|
23464
23531
|
}
|
|
@@ -23553,7 +23620,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
23553
23620
|
function isHistoricalUserTurn(m) {
|
|
23554
23621
|
return !!m.owner;
|
|
23555
23622
|
}
|
|
23556
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
23623
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _792 => _792.type]) === "TEXT" && typeof d.text === "string";
|
|
23557
23624
|
var THINK_MS = 550;
|
|
23558
23625
|
var TOKEN_MS = 55;
|
|
23559
23626
|
var USER_MS = 480;
|
|
@@ -23650,8 +23717,8 @@ function useResizablePanelSize({
|
|
|
23650
23717
|
}) : null,
|
|
23651
23718
|
[enabled, storageKey]
|
|
23652
23719
|
);
|
|
23653
|
-
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23654
|
-
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23720
|
+
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _793 => _793.load, 'call', _794 => _794(), 'optionalAccess', _795 => _795.size]), () => ( null)) }));
|
|
23721
|
+
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _796 => _796.load, 'call', _797 => _797(), 'optionalAccess', _798 => _798.size]), () => ( null)) };
|
|
23655
23722
|
if (chosen !== held) setChosen(chosen);
|
|
23656
23723
|
const chosenSize = chosen.size;
|
|
23657
23724
|
const clampSize = _react.useCallback.call(void 0,
|
|
@@ -23667,7 +23734,7 @@ function useResizablePanelSize({
|
|
|
23667
23734
|
(next) => {
|
|
23668
23735
|
const nextSize = Math.round(clampSize(next));
|
|
23669
23736
|
setChosen({ storage, size: nextSize });
|
|
23670
|
-
_optionalChain([storage, 'optionalAccess',
|
|
23737
|
+
_optionalChain([storage, 'optionalAccess', _799 => _799.save, 'call', _800 => _800({ size: nextSize })]);
|
|
23671
23738
|
},
|
|
23672
23739
|
[clampSize, storage]
|
|
23673
23740
|
);
|
|
@@ -24257,7 +24324,7 @@ function useChatDialogManager({
|
|
|
24257
24324
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
24258
24325
|
if (restoreTarget) {
|
|
24259
24326
|
try {
|
|
24260
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
24327
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _801 => _801(restoreTarget.id)]);
|
|
24261
24328
|
} catch (err) {
|
|
24262
24329
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
24263
24330
|
return;
|
|
@@ -24268,7 +24335,7 @@ function useChatDialogManager({
|
|
|
24268
24335
|
setRestoreTarget(null);
|
|
24269
24336
|
}, [restoreTarget, unarchiveDialog]);
|
|
24270
24337
|
const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
|
|
24271
|
-
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess',
|
|
24338
|
+
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _802 => _802.archived]) === true;
|
|
24272
24339
|
const handleBack = _react.useCallback.call(void 0, () => {
|
|
24273
24340
|
const wasArchived = isViewingArchived;
|
|
24274
24341
|
setViewingArchivedId(null);
|
|
@@ -24515,7 +24582,7 @@ function SourceChip({
|
|
|
24515
24582
|
const Icon = cta.icon;
|
|
24516
24583
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
24517
24584
|
const chipClass = chatChipClass({ tone: "secondary" });
|
|
24518
|
-
const decideTab = (href, targetPlatform) =>
|
|
24585
|
+
const decideTab = (href, targetPlatform) => _chunkDGNGABNGcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
24519
24586
|
if (src.items && src.items.length > 0) {
|
|
24520
24587
|
const dropdownItems = src.items.map((item) => {
|
|
24521
24588
|
const itemCta = resolveSourceRowCTA(
|
|
@@ -24608,7 +24675,7 @@ function SourceChip({
|
|
|
24608
24675
|
"a",
|
|
24609
24676
|
{
|
|
24610
24677
|
href: resolvedHref,
|
|
24611
|
-
...
|
|
24678
|
+
..._chunkDGNGABNGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
24612
24679
|
onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
24613
24680
|
className: chipClass,
|
|
24614
24681
|
children: chipBody(src.name)
|
|
@@ -24624,7 +24691,7 @@ function SourceChip({
|
|
|
24624
24691
|
"a",
|
|
24625
24692
|
{
|
|
24626
24693
|
href: resolvedHref,
|
|
24627
|
-
...
|
|
24694
|
+
..._chunkDGNGABNGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
24628
24695
|
onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
24629
24696
|
className: chipClass,
|
|
24630
24697
|
title: displayName,
|
|
@@ -24736,7 +24803,7 @@ function EmbeddableChatInner({
|
|
|
24736
24803
|
defaultActiveMode,
|
|
24737
24804
|
shell = "drawer",
|
|
24738
24805
|
closable = true,
|
|
24739
|
-
appearance =
|
|
24806
|
+
appearance = _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.CLASSIC,
|
|
24740
24807
|
onCollapse,
|
|
24741
24808
|
collapseTo = "list",
|
|
24742
24809
|
onExpand,
|
|
@@ -24754,7 +24821,7 @@ function EmbeddableChatInner({
|
|
|
24754
24821
|
handleRef
|
|
24755
24822
|
}) {
|
|
24756
24823
|
const shellLess = shell !== "drawer";
|
|
24757
|
-
const isV2 = appearance ===
|
|
24824
|
+
const isV2 = appearance === _chunk7AXOAA5Tcjs.CHAT_APPEARANCE.V2;
|
|
24758
24825
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
24759
24826
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
24760
24827
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
@@ -24816,7 +24883,7 @@ function EmbeddableChatInner({
|
|
|
24816
24883
|
resolveSourceIcon: (sourceId) => {
|
|
24817
24884
|
const iconName = getSourceIconName(sourceId);
|
|
24818
24885
|
if (!iconName) return void 0;
|
|
24819
|
-
return { Icon:
|
|
24886
|
+
return { Icon: _chunkJKWQWHNVcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
|
|
24820
24887
|
},
|
|
24821
24888
|
onAction: (cmd, actionId) => {
|
|
24822
24889
|
dispatchSlashCommandAction(actionId, cmd.id, chatInputRef);
|
|
@@ -24824,7 +24891,7 @@ function EmbeddableChatInner({
|
|
|
24824
24891
|
}),
|
|
24825
24892
|
[commandsUrl]
|
|
24826
24893
|
);
|
|
24827
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24894
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _803 => _803.name, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || [_optionalChain([identityUser, 'optionalAccess', _806 => _806.firstName]), _optionalChain([identityUser, 'optionalAccess', _807 => _807.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _808 => _808.trim, 'call', _809 => _809()]) || void 0;
|
|
24828
24895
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24829
24896
|
if (modes) return modes;
|
|
24830
24897
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24839,7 +24906,7 @@ function EmbeddableChatInner({
|
|
|
24839
24906
|
if (controlledActiveMode === void 0) {
|
|
24840
24907
|
setUncontrolledActiveMode(next);
|
|
24841
24908
|
}
|
|
24842
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24909
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _810 => _810(next)]);
|
|
24843
24910
|
},
|
|
24844
24911
|
[controlledActiveMode, onActiveModeChange]
|
|
24845
24912
|
);
|
|
@@ -24866,7 +24933,7 @@ function EmbeddableChatInner({
|
|
|
24866
24933
|
);
|
|
24867
24934
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24868
24935
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24869
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24936
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _811 => _811.title]) === "string" ? guideWelcome.title : null)));
|
|
24870
24937
|
const {
|
|
24871
24938
|
messages: rawMessages,
|
|
24872
24939
|
isLoading: chatLoading,
|
|
@@ -24923,8 +24990,8 @@ function EmbeddableChatInner({
|
|
|
24923
24990
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24924
24991
|
() => ({
|
|
24925
24992
|
...dialogCapabilities,
|
|
24926
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24927
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24993
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _812 => _812.canRename]), () => ( false)),
|
|
24994
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _813 => _813.canArchive]), () => ( false))
|
|
24928
24995
|
}),
|
|
24929
24996
|
[dialogCapabilities]
|
|
24930
24997
|
);
|
|
@@ -24939,7 +25006,7 @@ function EmbeddableChatInner({
|
|
|
24939
25006
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
24940
25007
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
24941
25008
|
});
|
|
24942
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
25009
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _814 => _814()]);
|
|
24943
25010
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
24944
25011
|
const {
|
|
24945
25012
|
attachments: stagedAttachments,
|
|
@@ -24950,7 +25017,7 @@ function EmbeddableChatInner({
|
|
|
24950
25017
|
clear: clearAttachments
|
|
24951
25018
|
} = useChatAttachments();
|
|
24952
25019
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
24953
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25020
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _815 => _815.maxItems]), () => ( 10));
|
|
24954
25021
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
24955
25022
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
24956
25023
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -24979,10 +25046,10 @@ function EmbeddableChatInner({
|
|
|
24979
25046
|
}, [composerKey, clearAttachments]);
|
|
24980
25047
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
24981
25048
|
const m = /* @__PURE__ */ new Map();
|
|
24982
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25049
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _816 => _816.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
24983
25050
|
return m;
|
|
24984
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
24985
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
25051
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _817 => _817.entityTypes])]);
|
|
25052
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _818 => _818.entityTypes]);
|
|
24986
25053
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
24987
25054
|
const byType = /* @__PURE__ */ new Map();
|
|
24988
25055
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -24994,7 +25061,7 @@ function EmbeddableChatInner({
|
|
|
24994
25061
|
if (mentionActiveRef.current) {
|
|
24995
25062
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
24996
25063
|
if (contextItems.length >= contextMaxItems) return;
|
|
24997
|
-
_optionalChain([chatInputRef, 'access',
|
|
25064
|
+
_optionalChain([chatInputRef, 'access', _819 => _819.current, 'optionalAccess', _820 => _820.commitMention, 'call', _821 => _821(mentionTokenOf(key, mentionMarkerByType), {
|
|
24998
25065
|
label: item.label,
|
|
24999
25066
|
icon: resolveContextIcon(item)
|
|
25000
25067
|
})]);
|
|
@@ -25017,9 +25084,9 @@ function EmbeddableChatInner({
|
|
|
25017
25084
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
25018
25085
|
if (mentionKeysRef.current.has(key)) {
|
|
25019
25086
|
mentionKeysRef.current.delete(key);
|
|
25020
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
25087
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _822 => _822.current, 'optionalAccess', _823 => _823.getValue, 'call', _824 => _824()]), () => ( ""));
|
|
25021
25088
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
25022
|
-
_optionalChain([chatInputRef, 'access',
|
|
25089
|
+
_optionalChain([chatInputRef, 'access', _825 => _825.current, 'optionalAccess', _826 => _826.setValue, 'call', _827 => _827(next)]);
|
|
25023
25090
|
}
|
|
25024
25091
|
},
|
|
25025
25092
|
[mentionMarkerByType]
|
|
@@ -25041,7 +25108,7 @@ function EmbeddableChatInner({
|
|
|
25041
25108
|
}, []);
|
|
25042
25109
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
25043
25110
|
if (mentionActiveRef.current) {
|
|
25044
|
-
_optionalChain([chatInputRef, 'access',
|
|
25111
|
+
_optionalChain([chatInputRef, 'access', _828 => _828.current, 'optionalAccess', _829 => _829.removeMentionTrigger, 'call', _830 => _830()]);
|
|
25045
25112
|
}
|
|
25046
25113
|
setContextPickerOpen(false);
|
|
25047
25114
|
setMentionQuery(null);
|
|
@@ -25074,12 +25141,12 @@ function EmbeddableChatInner({
|
|
|
25074
25141
|
[askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
|
|
25075
25142
|
);
|
|
25076
25143
|
const mingoAssistantIcon = _react.useMemo.call(void 0,
|
|
25077
|
-
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25144
|
+
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
|
|
25078
25145
|
[effectiveAssistantIcon]
|
|
25079
25146
|
);
|
|
25080
25147
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
25081
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
25082
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
25148
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _831 => _831.firstName]), _optionalChain([identityUser, 'optionalAccess', _832 => _832.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _833 => _833.name, 'optionalAccess', _834 => _834.trim, 'call', _835 => _835()]) || void 0 : void 0;
|
|
25149
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _836 => _836.avatarUrl, 'optionalAccess', _837 => _837.trim, 'call', _838 => _838()]) || void 0 : void 0;
|
|
25083
25150
|
const messages = _react.useMemo.call(void 0, () => {
|
|
25084
25151
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
25085
25152
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -25282,7 +25349,7 @@ function EmbeddableChatInner({
|
|
|
25282
25349
|
_react.useEffect.call(void 0, () => {
|
|
25283
25350
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
25284
25351
|
const ro = new ResizeObserver((entries) => {
|
|
25285
|
-
const w = _optionalChain([entries, 'access',
|
|
25352
|
+
const w = _optionalChain([entries, 'access', _839 => _839[0], 'optionalAccess', _840 => _840.contentRect, 'optionalAccess', _841 => _841.width]);
|
|
25286
25353
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
25287
25354
|
});
|
|
25288
25355
|
ro.observe(panelBoundary);
|
|
@@ -25328,18 +25395,18 @@ function EmbeddableChatInner({
|
|
|
25328
25395
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25329
25396
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25330
25397
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25331
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25398
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _842 => _842.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25332
25399
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25333
25400
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25334
25401
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25335
25402
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25336
25403
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25337
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25338
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25404
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _843 => _843.onCopyLink, 'optionalCall', _844 => _844(activeDialog)]) : void 0;
|
|
25405
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _845 => _845.compactDialog, 'optionalCall', _846 => _846(activeDialog)]) : void 0;
|
|
25339
25406
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25340
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25341
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25342
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25407
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _847 => _847.owner]) : void 0;
|
|
25408
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _848 => _848.name, 'optionalAccess', _849 => _849.trim, 'call', _850 => _850()]) || headerUserName;
|
|
25409
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _851 => _851.avatarUrl, 'optionalAccess', _852 => _852.trim, 'call', _853 => _853()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _854 => _854.avatarUrl, 'optionalAccess', _855 => _855.trim, 'call', _856 => _856()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _857 => _857.trim, 'call', _858 => _858()]) || void 0;
|
|
25343
25410
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25344
25411
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25345
25412
|
resetToNewChat();
|
|
@@ -25718,7 +25785,7 @@ function EmbeddableChatInner({
|
|
|
25718
25785
|
onNewChat: () => setComposeOpen(true),
|
|
25719
25786
|
onExpand: onExpand && (() => {
|
|
25720
25787
|
const last = lastDialogIdRef.current;
|
|
25721
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25788
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _859 => _859[0], 'optionalAccess', _860 => _860.id]);
|
|
25722
25789
|
if (archiveOpen) closeArchive();
|
|
25723
25790
|
if (target) handleSelectDialog(target);
|
|
25724
25791
|
else handleNewChat();
|
|
@@ -25825,9 +25892,9 @@ function EmbeddableChatInner({
|
|
|
25825
25892
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25826
25893
|
subtitleLoading: emptyStateLoading,
|
|
25827
25894
|
...guideWelcome,
|
|
25828
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25829
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25830
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25895
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _861 => _861.title]))),
|
|
25896
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _862 => _862.icon]))),
|
|
25897
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _863 => _863.quickActions]), () => ( guideSuggestedActions)),
|
|
25831
25898
|
onQuickAction: (action) => {
|
|
25832
25899
|
setQuickActionPreview(null);
|
|
25833
25900
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25846,7 +25913,7 @@ function EmbeddableChatInner({
|
|
|
25846
25913
|
`chip-skeleton-${i}`
|
|
25847
25914
|
)),
|
|
25848
25915
|
chipCommands.map((cmd) => {
|
|
25849
|
-
const Icon =
|
|
25916
|
+
const Icon = _chunkJKWQWHNVcjs.resolveIcon.call(void 0, cmd.iconName);
|
|
25850
25917
|
const cmdId = cmd.id;
|
|
25851
25918
|
const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
|
|
25852
25919
|
const cardActions = cmd.actions.map((action) => ({
|
|
@@ -25855,7 +25922,7 @@ function EmbeddableChatInner({
|
|
|
25855
25922
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
25856
25923
|
}));
|
|
25857
25924
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25858
|
-
|
|
25925
|
+
_chunk7AXOAA5Tcjs.MingoOnboardingCard,
|
|
25859
25926
|
{
|
|
25860
25927
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
25861
25928
|
title: label,
|
|
@@ -25902,8 +25969,8 @@ function EmbeddableChatInner({
|
|
|
25902
25969
|
selectedContextItems: contextItems,
|
|
25903
25970
|
onToggleContextItem: toggleContextItem,
|
|
25904
25971
|
onRemoveContextItem: removeContextItem,
|
|
25905
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25906
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
25972
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _864 => _864.items]),
|
|
25973
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _865 => _865.onRemove]),
|
|
25907
25974
|
contextPickerOpen,
|
|
25908
25975
|
onOpenContextPicker: openContextPicker,
|
|
25909
25976
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -26116,7 +26183,7 @@ var GROUPS = [
|
|
|
26116
26183
|
}
|
|
26117
26184
|
];
|
|
26118
26185
|
function maskKey(key) {
|
|
26119
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
26186
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _866 => _866.exec, 'call', _867 => _867(key), 'optionalAccess', _868 => _868[0]]), () => ( ""));
|
|
26120
26187
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
26121
26188
|
}
|
|
26122
26189
|
function HeaderName({ children }) {
|
|
@@ -26153,8 +26220,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26153
26220
|
const errors = _react.useMemo.call(void 0, () => {
|
|
26154
26221
|
const out = {};
|
|
26155
26222
|
for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
26156
|
-
const value = _optionalChain([optional, 'access',
|
|
26157
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
26223
|
+
const value = _optionalChain([optional, 'access', _869 => _869[field], 'optionalAccess', _870 => _870.trim, 'call', _871 => _871()]);
|
|
26224
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _872 => _872[field], 'access', _873 => _873.validate, 'optionalCall', _874 => _874(value)]) : null;
|
|
26158
26225
|
if (message) out[field] = message;
|
|
26159
26226
|
}
|
|
26160
26227
|
return out;
|
|
@@ -26166,12 +26233,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26166
26233
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
26167
26234
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
26168
26235
|
..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
26169
|
-
const value = _optionalChain([optional, 'access',
|
|
26236
|
+
const value = _optionalChain([optional, 'access', _875 => _875[field], 'optionalAccess', _876 => _876.trim, 'call', _877 => _877()]);
|
|
26170
26237
|
return value ? [[header, value]] : [];
|
|
26171
26238
|
})
|
|
26172
26239
|
];
|
|
26173
26240
|
const save = () => {
|
|
26174
|
-
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
26241
|
+
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _878 => _878.secret]);
|
|
26175
26242
|
const actAs = email.trim().toLowerCase();
|
|
26176
26243
|
if (!key || !actAs || hasErrors) {
|
|
26177
26244
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -26193,13 +26260,13 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26193
26260
|
setStatus("Cleared. Requests use the session again.");
|
|
26194
26261
|
};
|
|
26195
26262
|
const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
|
|
26196
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26263
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDGNGABNGcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
|
|
26197
26264
|
/* @__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: [
|
|
26198
26265
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
26199
26266
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
|
|
26200
26267
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
|
|
26201
26268
|
] }),
|
|
26202
|
-
activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26269
|
+
activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
|
|
26203
26270
|
] }),
|
|
26204
26271
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26205
26272
|
Section,
|
|
@@ -26779,4 +26846,13 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26779
26846
|
|
|
26780
26847
|
|
|
26781
26848
|
|
|
26782
|
-
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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; 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;
|
|
26849
|
+
|
|
26850
|
+
|
|
26851
|
+
|
|
26852
|
+
|
|
26853
|
+
|
|
26854
|
+
|
|
26855
|
+
|
|
26856
|
+
|
|
26857
|
+
|
|
26858
|
+
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.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; 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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; 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;
|