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