@flamingo-stack/openframe-frontend-core 0.0.726 → 0.0.728
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-3UZET2G7.js → chunk-2F4DO7DS.js} +2 -2
- package/dist/{chunk-X2PG6XWF.cjs → chunk-32QAIKXR.cjs} +9 -9
- package/dist/{chunk-Q2G7NVFH.cjs → chunk-33QHEG7K.cjs} +289 -285
- package/dist/{chunk-VPABPC2M.cjs → chunk-4ICMFNCJ.cjs} +29 -56
- package/dist/{chunk-MZY6LBM5.cjs → chunk-5K3QUH7C.cjs} +3 -3
- package/dist/{chunk-AZKVHJA5.js → chunk-66XG5RFJ.js} +2 -2
- package/dist/{chunk-DXDLCYCM.cjs → chunk-7N6M77PI.cjs} +3 -3
- package/dist/{chunk-4ND65E2B.cjs → chunk-7VYBSCCL.cjs} +35 -35
- package/dist/{chunk-R3BOJNZI.cjs → chunk-APJCBQ7X.cjs} +16 -16
- package/dist/{chunk-RVSNXG6J.cjs → chunk-CELBOIKC.cjs} +488 -421
- package/dist/{chunk-MZ3TMXIX.cjs → chunk-CI7KWY6L.cjs} +3 -3
- package/dist/{chunk-COFT3YPA.js → chunk-EM3WCK2K.js} +5 -5
- package/dist/{chunk-YVWJ3TRY.js → chunk-GEUUDNCI.js} +5 -5
- package/dist/{chunk-SCTS3EMJ.js → chunk-GINCQZMM.js} +3 -3
- package/dist/{chunk-4VRHDFF2.js → chunk-HP4C2DFL.js} +1 -1
- package/dist/{chunk-NLWIBA55.js → chunk-HTQJSW3Y.js} +3 -3
- package/dist/{chunk-EHYAOIE4.cjs → chunk-OKEJY2GC.cjs} +8 -8
- package/dist/{chunk-RSE3MU4G.cjs → chunk-OYU7QNLQ.cjs} +11 -11
- package/dist/{chunk-NZYMMYWN.js → chunk-QL4RUHKU.js} +1 -1
- package/dist/{chunk-5SWQ2ZU5.cjs → chunk-RMXLHYEG.cjs} +26 -26
- package/dist/{chunk-MM66P4X4.js → chunk-SKEW5NMJ.js} +22 -49
- package/dist/{chunk-XEIDJ6SL.cjs → chunk-SSXQYS5K.cjs} +65 -65
- package/dist/{chunk-3XDVGHL4.js → chunk-TYMLEI2I.js} +2 -2
- package/dist/{chunk-SBPPM65Y.js → chunk-UF3NFAQK.js} +265 -198
- package/dist/{chunk-FMFCPX3R.cjs → chunk-UJZ5Y3RK.cjs} +33 -33
- package/dist/{chunk-C5KMQLJP.js → chunk-URYLQ4MC.js} +15 -11
- package/dist/{chunk-MQ3ZM7FJ.js → chunk-VGRQK7YS.js} +1 -1
- package/dist/{chunk-JYJBL7GD.js → chunk-XYSKJ7GA.js} +1 -1
- package/dist/{chunk-Z3VAFLYK.cjs → chunk-YREYU6DY.cjs} +9 -9
- package/dist/{chunk-VKR56R3U.js → chunk-ZDGK2TNJ.js} +3 -3
- package/dist/{cloud-tenants-5JTQ2ENQ.cjs → cloud-tenants-XP3L6PWO.cjs} +3 -3
- package/dist/{cloud-tenants-NH7VE7KE.js → cloud-tenants-XVVFCOK2.js} +2 -2
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/assistant-ask-prompts.d.ts +34 -14
- package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +1 -1
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts +34 -7
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -4
- package/dist/components/chat/index.js +3 -5
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/faq-ask-card.d.ts +8 -11
- package/dist/components/faq/faq-ask-card.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/auth/auth-benefits-panel.d.ts +3 -1
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/auth/auth-shell.d.ts +3 -1
- package/dist/components/features/auth/auth-shell.d.ts.map +1 -1
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +71 -71
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +35 -37
- package/dist/components/index.js +14 -16
- package/dist/components/meeting-scheduler/index.cjs +19 -19
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/product-demo/index.cjs +6 -6
- package/dist/components/product-demo/index.js +6 -6
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -5
- package/dist/components/ui/index.js +4 -6
- package/dist/{devices-PV76NGQO.cjs → devices-MMHLY67A.cjs} +4 -4
- package/dist/{devices-OC7JEI6U.js → devices-S7PJJI66.js} +2 -2
- package/dist/index.cjs +7 -7
- package/dist/index.js +14 -14
- package/dist/{knowledge-5AYFIVKD.cjs → knowledge-LJNFAJNE.cjs} +4 -4
- package/dist/{knowledge-L7WQ7IEP.js → knowledge-WW3LOQKN.js} +2 -2
- package/dist/{logs-4F77RJXJ.cjs → logs-F4ZVNUKQ.cjs} +11 -11
- package/dist/{logs-MGFHGVIE.js → logs-I4DMHQDA.js} +2 -2
- package/dist/{policies-VCGM3C5Z.cjs → policies-KZXFXGD7.cjs} +7 -7
- package/dist/{policies-WRDZFNIB.js → policies-RX55V46V.js} +2 -2
- package/dist/{software-update-YD2MNL3K.cjs → software-update-4A242VDB.cjs} +6 -6
- package/dist/{software-update-WVG2GDZO.js → software-update-VI7FQYR4.js} +2 -2
- package/dist/utils/index.cjs +8 -6
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -5
- package/dist/utils/trial.d.ts +17 -9
- package/dist/utils/trial.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/assistant-ask-prompts.tsx +84 -39
- package/src/components/chat/hooks/index.ts +3 -2
- package/src/components/chat/hooks/use-ask-prompts.ts +140 -56
- package/src/components/faq/faq-ask-card.tsx +22 -67
- package/src/components/features/auth/auth-benefits-panel.tsx +15 -8
- package/src/components/features/auth/auth-shell.tsx +4 -2
- package/src/utils/index.ts +1 -1
- package/src/utils/trial.ts +16 -10
|
@@ -5958,14 +5958,15 @@ function groupTokenRatesByProvider(rates) {
|
|
|
5958
5958
|
}
|
|
5959
5959
|
|
|
5960
5960
|
// src/utils/trial.ts
|
|
5961
|
-
var
|
|
5962
|
-
var TRIAL_LABELS = {
|
|
5963
|
-
/** "14 day free trial" */
|
|
5964
|
-
length: `${TRIAL_DAYS} day free trial`,
|
|
5961
|
+
var TRIAL_TERMS = {
|
|
5965
5962
|
noCard: "No card required",
|
|
5966
5963
|
cancel: "Cancel Anytime",
|
|
5967
5964
|
noContract: "No Contract"
|
|
5968
5965
|
};
|
|
5966
|
+
var trialLengthLabel = (days) => `${days} day free trial`;
|
|
5967
|
+
function trialLabels(days) {
|
|
5968
|
+
return { ...TRIAL_TERMS, length: days === null || days === void 0 || days === "" ? null : trialLengthLabel(days) };
|
|
5969
|
+
}
|
|
5969
5970
|
|
|
5970
5971
|
// src/utils/seo-title.ts
|
|
5971
5972
|
var SEO_TITLE_MAX_LENGTH = 60;
|
|
@@ -8892,9 +8893,6 @@ function AskCard({
|
|
|
8892
8893
|
);
|
|
8893
8894
|
}
|
|
8894
8895
|
|
|
8895
|
-
// src/components/chat/assistant-ask-prompts.tsx
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
8896
|
// src/components/chat/hooks/use-ask-prompts.ts
|
|
8899
8897
|
|
|
8900
8898
|
var ASK_PROMPTS_DEFAULT_COUNT = 3;
|
|
@@ -8916,8 +8914,9 @@ function useAskPrompts({
|
|
|
8916
8914
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8917
8915
|
const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
|
|
8918
8916
|
const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
|
|
8919
|
-
const { data,
|
|
8920
|
-
|
|
8917
|
+
const { data, dataUrl, error } = _chunkHEQ4GPYEcjs.useSelfFetch.call(void 0, url);
|
|
8918
|
+
const landed = url !== null && (dataUrl === url || error);
|
|
8919
|
+
return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _232 => _232.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
|
|
8921
8920
|
}
|
|
8922
8921
|
function useAssistantOpen(topic, onOpen) {
|
|
8923
8922
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
@@ -8933,90 +8932,158 @@ function useAssistantOpen(topic, onOpen) {
|
|
|
8933
8932
|
[onOpen, runtimeOpen, source, topic]
|
|
8934
8933
|
);
|
|
8935
8934
|
}
|
|
8936
|
-
|
|
8937
|
-
|
|
8938
|
-
const bySurface = /* @__PURE__ */ new Map();
|
|
8935
|
+
function createAskQueue() {
|
|
8936
|
+
const entries = /* @__PURE__ */ new Map();
|
|
8939
8937
|
const listeners = /* @__PURE__ */ new Set();
|
|
8940
|
-
let
|
|
8938
|
+
let next = 0;
|
|
8941
8939
|
const publish = () => {
|
|
8942
|
-
const lists = [...bySurface.values()];
|
|
8943
|
-
const next = lists.some((list) => list === null) ? null : lists.flatMap((list) => _nullishCoalesce(list, () => ( [])));
|
|
8944
|
-
const same = next === null ? snapshot === null : snapshot !== null && next.join(",") === snapshot.join(",");
|
|
8945
|
-
if (same) return;
|
|
8946
|
-
snapshot = next === null ? null : next.length > 0 ? next : NO_IDS;
|
|
8947
8940
|
for (const listener of listeners) listener();
|
|
8948
8941
|
};
|
|
8949
8942
|
return {
|
|
8950
|
-
|
|
8951
|
-
|
|
8943
|
+
enter(surface) {
|
|
8944
|
+
if (entries.has(surface)) return;
|
|
8945
|
+
entries.set(surface, { turn: next++, ids: null });
|
|
8952
8946
|
publish();
|
|
8953
8947
|
},
|
|
8954
|
-
|
|
8955
|
-
|
|
8948
|
+
settle(surface, ids) {
|
|
8949
|
+
const entry = entries.get(surface);
|
|
8950
|
+
if (!entry || (_nullishCoalesce(_optionalChain([entry, 'access', _235 => _235.ids, 'optionalAccess', _236 => _236.join, 'call', _237 => _237(",")]), () => ( null))) === (_nullishCoalesce(_optionalChain([ids, 'optionalAccess', _238 => _238.join, 'call', _239 => _239(",")]), () => ( null)))) return;
|
|
8951
|
+
entry.ids = ids;
|
|
8956
8952
|
publish();
|
|
8957
8953
|
},
|
|
8954
|
+
leave(surface) {
|
|
8955
|
+
if (entries.delete(surface)) publish();
|
|
8956
|
+
},
|
|
8958
8957
|
subscribe(listener) {
|
|
8959
8958
|
listeners.add(listener);
|
|
8960
8959
|
return () => listeners.delete(listener);
|
|
8961
8960
|
},
|
|
8962
|
-
|
|
8961
|
+
turnOf(surface) {
|
|
8962
|
+
const own = entries.get(surface);
|
|
8963
|
+
if (!own) return null;
|
|
8964
|
+
const shown = [];
|
|
8965
|
+
for (const [other, entry] of entries) {
|
|
8966
|
+
if (other === surface) continue;
|
|
8967
|
+
if (entry.ids === null) {
|
|
8968
|
+
if (entry.turn < own.turn) return null;
|
|
8969
|
+
continue;
|
|
8970
|
+
}
|
|
8971
|
+
shown.push(...entry.ids);
|
|
8972
|
+
}
|
|
8973
|
+
return shown.join(",");
|
|
8974
|
+
}
|
|
8963
8975
|
};
|
|
8964
8976
|
}
|
|
8965
|
-
var
|
|
8966
|
-
function
|
|
8967
|
-
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess',
|
|
8968
|
-
let
|
|
8969
|
-
if (!
|
|
8970
|
-
|
|
8971
|
-
|
|
8977
|
+
var askQueues = /* @__PURE__ */ new Map();
|
|
8978
|
+
function useAskQueue() {
|
|
8979
|
+
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _240 => _240.askPromptsUrl]), () => ( ""));
|
|
8980
|
+
let queue = askQueues.get(scope);
|
|
8981
|
+
if (!queue) {
|
|
8982
|
+
queue = createAskQueue();
|
|
8983
|
+
askQueues.set(scope, queue);
|
|
8972
8984
|
}
|
|
8973
|
-
return
|
|
8985
|
+
return queue;
|
|
8974
8986
|
}
|
|
8975
|
-
function
|
|
8987
|
+
function useAskSurface({
|
|
8988
|
+
topic,
|
|
8989
|
+
count = ASK_PROMPTS_DEFAULT_COUNT,
|
|
8990
|
+
exclude,
|
|
8991
|
+
enabled = true,
|
|
8992
|
+
onOpen
|
|
8993
|
+
} = {}) {
|
|
8994
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8976
8995
|
const surface = _react.useId.call(void 0, );
|
|
8977
|
-
const
|
|
8978
|
-
const
|
|
8996
|
+
const queue = useAskQueue();
|
|
8997
|
+
const picks = assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
|
|
8979
8998
|
_react.useLayoutEffect.call(void 0, () => {
|
|
8980
|
-
if (
|
|
8981
|
-
|
|
8982
|
-
return () =>
|
|
8983
|
-
}, [
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
|
|
8987
|
-
|
|
8999
|
+
if (!picks) return void 0;
|
|
9000
|
+
queue.enter(surface);
|
|
9001
|
+
return () => queue.leave(surface);
|
|
9002
|
+
}, [queue, surface, picks]);
|
|
9003
|
+
const turn = _react.useSyncExternalStore.call(void 0,
|
|
9004
|
+
queue.subscribe,
|
|
9005
|
+
() => queue.turnOf(surface),
|
|
9006
|
+
() => null
|
|
9007
|
+
);
|
|
9008
|
+
const [shownAtTurn, setShownAtTurn] = _react.useState.call(void 0, null);
|
|
9009
|
+
if (picks && turn !== null && shownAtTurn === null) setShownAtTurn(turn);
|
|
9010
|
+
const leftOut = _react.useMemo.call(void 0, () => _nullishCoalesce(exclude, () => ( (shownAtTurn ? shownAtTurn.split(",") : void 0))), [exclude, shownAtTurn]);
|
|
9011
|
+
const { prompts, isLoading, supported } = useAskPrompts({
|
|
9012
|
+
topic,
|
|
9013
|
+
count,
|
|
9014
|
+
exclude: leftOut,
|
|
9015
|
+
// Told exactly what to leave out, a surface needs nobody's pick: it never waits for a turn.
|
|
9016
|
+
enabled: picks && (exclude !== void 0 || shownAtTurn !== null)
|
|
9017
|
+
});
|
|
9018
|
+
const settled = picks && !isLoading ? prompts.map((prompt) => prompt.id).join(",") : null;
|
|
9019
|
+
_react.useLayoutEffect.call(void 0, () => {
|
|
9020
|
+
queue.settle(surface, settled === null ? null : settled ? settled.split(",") : []);
|
|
9021
|
+
}, [queue, surface, settled]);
|
|
9022
|
+
const open = useAssistantOpen(topic, onOpen);
|
|
9023
|
+
const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
|
|
9024
|
+
const onAsk = _optionalChain([assistant, 'optionalAccess', _241 => _241.onAsk]);
|
|
9025
|
+
const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _242 => _242({ promptId: prompt.id, topic })]), [onAsk, topic]);
|
|
9026
|
+
return { assistant, scoped, prompts, isLoading: supported && (!picks || isLoading), supported, open, reportAsk };
|
|
8988
9027
|
}
|
|
8989
9028
|
|
|
8990
9029
|
// src/components/chat/assistant-ask-prompts.tsx
|
|
8991
9030
|
|
|
9031
|
+
var DEFAULT_ASK_CARD = {
|
|
9032
|
+
title: "Still deciding?",
|
|
9033
|
+
description: "{assistant} answers from our docs and customer stories."
|
|
9034
|
+
};
|
|
9035
|
+
var fillAssistant = (text2, name) => text2.split("{assistant}").join(name);
|
|
8992
9036
|
function AssistantAskPrompts({
|
|
9037
|
+
variant = "row",
|
|
8993
9038
|
topic,
|
|
8994
|
-
count
|
|
9039
|
+
count,
|
|
9040
|
+
exclude,
|
|
9041
|
+
enabled,
|
|
8995
9042
|
label,
|
|
8996
9043
|
loading = false,
|
|
9044
|
+
title,
|
|
9045
|
+
description,
|
|
8997
9046
|
onOpen,
|
|
8998
9047
|
align,
|
|
8999
9048
|
fadeColor,
|
|
9000
9049
|
className
|
|
9001
9050
|
}) {
|
|
9051
|
+
const card = variant === "card";
|
|
9002
9052
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
9003
|
-
const
|
|
9004
|
-
const
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
|
|
9009
|
-
|
|
9053
|
+
const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _243 => _243.askCard, 'optionalAccess', _244 => _244.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
|
|
9054
|
+
const ask = useAskSurface({ topic, count: slots, exclude, enabled, onOpen });
|
|
9055
|
+
if (!assistantAvailable(assistant)) return null;
|
|
9056
|
+
const shared = {
|
|
9057
|
+
prompts: ask.prompts,
|
|
9058
|
+
loading: ask.isLoading || loading,
|
|
9059
|
+
source: assistant.source,
|
|
9060
|
+
icon: assistant.icon,
|
|
9061
|
+
onOpen: ask.open,
|
|
9062
|
+
onAsk: ask.reportAsk
|
|
9063
|
+
};
|
|
9064
|
+
if (card) {
|
|
9065
|
+
const name = _nullishCoalesce(label, () => ( assistant.name));
|
|
9066
|
+
if (!name) return null;
|
|
9067
|
+
const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _245 => _245.askCard, 'optionalAccess', _246 => _246.description]))), () => ( DEFAULT_ASK_CARD.description));
|
|
9068
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9069
|
+
AskCard,
|
|
9070
|
+
{
|
|
9071
|
+
...shared,
|
|
9072
|
+
title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _247 => _247.askCard, 'optionalAccess', _248 => _248.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
|
|
9073
|
+
description: words2 ? fillAssistant(words2, name) : void 0,
|
|
9074
|
+
count: ask.supported ? slots : 0,
|
|
9075
|
+
label: name,
|
|
9076
|
+
className
|
|
9077
|
+
}
|
|
9078
|
+
) });
|
|
9079
|
+
}
|
|
9080
|
+
if (!ask.supported) return null;
|
|
9081
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9010
9082
|
AskPrompts,
|
|
9011
9083
|
{
|
|
9012
|
-
|
|
9013
|
-
|
|
9014
|
-
count,
|
|
9015
|
-
source: assistant.source,
|
|
9084
|
+
...shared,
|
|
9085
|
+
count: slots,
|
|
9016
9086
|
label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
|
|
9017
|
-
icon: assistant.icon,
|
|
9018
|
-
onOpen: open,
|
|
9019
|
-
onAsk: (prompt) => _optionalChain([assistant, 'access', _236 => _236.onAsk, 'optionalCall', _237 => _237({ promptId: prompt.id, topic })]),
|
|
9020
9087
|
align,
|
|
9021
9088
|
fadeColor,
|
|
9022
9089
|
className
|
|
@@ -9185,7 +9252,7 @@ function MarqueeWall({
|
|
|
9185
9252
|
if (!container || !copy) return;
|
|
9186
9253
|
const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
|
|
9187
9254
|
copySizeRef.current = size;
|
|
9188
|
-
const clone = _optionalChain([trackRef, 'access',
|
|
9255
|
+
const clone = _optionalChain([trackRef, 'access', _249 => _249.current, 'optionalAccess', _250 => _250.querySelector, 'call', _251 => _251('[data-marquee-copy="clone"]')]);
|
|
9189
9256
|
wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
|
|
9190
9257
|
const avail = axis === "y" ? container.clientHeight : container.clientWidth;
|
|
9191
9258
|
setOverflows(size > avail + 1);
|
|
@@ -9316,7 +9383,7 @@ function MarqueeWall({
|
|
|
9316
9383
|
if (Math.abs(delta) > 3 && !dragMovedRef.current) {
|
|
9317
9384
|
dragMovedRef.current = true;
|
|
9318
9385
|
try {
|
|
9319
|
-
_optionalChain([containerRef, 'access',
|
|
9386
|
+
_optionalChain([containerRef, 'access', _252 => _252.current, 'optionalAccess', _253 => _253.setPointerCapture, 'call', _254 => _254(e.pointerId)]);
|
|
9320
9387
|
} catch (e19) {
|
|
9321
9388
|
}
|
|
9322
9389
|
}
|
|
@@ -9333,7 +9400,7 @@ function MarqueeWall({
|
|
|
9333
9400
|
dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
|
|
9334
9401
|
if (dragMovedRef.current) {
|
|
9335
9402
|
try {
|
|
9336
|
-
_optionalChain([containerRef, 'access',
|
|
9403
|
+
_optionalChain([containerRef, 'access', _255 => _255.current, 'optionalAccess', _256 => _256.releasePointerCapture, 'call', _257 => _257(e.pointerId)]);
|
|
9337
9404
|
} catch (e20) {
|
|
9338
9405
|
}
|
|
9339
9406
|
}
|
|
@@ -9665,7 +9732,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
|
|
|
9665
9732
|
{
|
|
9666
9733
|
ref,
|
|
9667
9734
|
type: "button",
|
|
9668
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
9735
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _258 => _258(ticket.id)]),
|
|
9669
9736
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9670
9737
|
"flex h-20 w-full items-center gap-4 px-4",
|
|
9671
9738
|
"border-b border-ods-border bg-ods-card",
|
|
@@ -9935,7 +10002,7 @@ function MingoChatHistoryRow({
|
|
|
9935
10002
|
const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
|
|
9936
10003
|
const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
|
|
9937
10004
|
const owner = dialog.owner;
|
|
9938
|
-
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess',
|
|
10005
|
+
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _259 => _259.name]) || _optionalChain([owner, 'optionalAccess', _260 => _260.avatarUrl]));
|
|
9939
10006
|
const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
|
|
9940
10007
|
const menuItems = chatDialogMenuItems({
|
|
9941
10008
|
onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
|
|
@@ -9960,11 +10027,11 @@ function MingoChatHistoryRow({
|
|
|
9960
10027
|
{
|
|
9961
10028
|
role: "button",
|
|
9962
10029
|
tabIndex: 0,
|
|
9963
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
10030
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _261 => _261(dialog.id)]),
|
|
9964
10031
|
onKeyDown: (e) => {
|
|
9965
10032
|
if (e.key === "Enter" || e.key === " ") {
|
|
9966
10033
|
e.preventDefault();
|
|
9967
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
10034
|
+
_optionalChain([onSelect, 'optionalCall', _262 => _262(dialog.id)]);
|
|
9968
10035
|
}
|
|
9969
10036
|
},
|
|
9970
10037
|
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",
|
|
@@ -10031,8 +10098,8 @@ function MingoChatHistoryRow({
|
|
|
10031
10098
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10032
10099
|
"span",
|
|
10033
10100
|
{
|
|
10034
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
10035
|
-
title: _optionalChain([owner, 'optionalAccess',
|
|
10101
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _263 => _263(dialog.id)]),
|
|
10102
|
+
title: _optionalChain([owner, 'optionalAccess', _264 => _264.name]) || void 0,
|
|
10036
10103
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
10037
10104
|
"absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
|
|
10038
10105
|
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")
|
|
@@ -10042,9 +10109,9 @@ function MingoChatHistoryRow({
|
|
|
10042
10109
|
{
|
|
10043
10110
|
variant: "round",
|
|
10044
10111
|
sizePx: 24,
|
|
10045
|
-
src: _optionalChain([owner, 'optionalAccess',
|
|
10046
|
-
alt: _optionalChain([owner, 'optionalAccess',
|
|
10047
|
-
fallback: _optionalChain([owner, 'optionalAccess',
|
|
10112
|
+
src: _optionalChain([owner, 'optionalAccess', _265 => _265.avatarUrl]) || void 0,
|
|
10113
|
+
alt: _optionalChain([owner, 'optionalAccess', _266 => _266.name]) || void 0,
|
|
10114
|
+
fallback: _optionalChain([owner, 'optionalAccess', _267 => _267.name]) || void 0,
|
|
10048
10115
|
initialsClassName: "text-[10px] text-ods-text-secondary"
|
|
10049
10116
|
}
|
|
10050
10117
|
)
|
|
@@ -10096,7 +10163,7 @@ function MingoChatHistory({
|
|
|
10096
10163
|
className
|
|
10097
10164
|
}) {
|
|
10098
10165
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
10099
|
-
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10166
|
+
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _268 => _268.trim, 'call', _269 => _269()]);
|
|
10100
10167
|
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
|
|
10101
10168
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
10102
10169
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
@@ -10113,7 +10180,7 @@ function MingoChatHistory({
|
|
|
10113
10180
|
const io = new IntersectionObserver(
|
|
10114
10181
|
([entry]) => {
|
|
10115
10182
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
10116
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
10183
|
+
_optionalChain([onLoadMoreRef, 'access', _270 => _270.current, 'optionalCall', _271 => _271()]);
|
|
10117
10184
|
}
|
|
10118
10185
|
},
|
|
10119
10186
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -10298,8 +10365,8 @@ function MingoWelcome({
|
|
|
10298
10365
|
icon: action.icon,
|
|
10299
10366
|
variant: action.variant,
|
|
10300
10367
|
onSelect: action.onClick,
|
|
10301
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10302
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10368
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _272 => _272(action)]),
|
|
10369
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _273 => _273()])
|
|
10303
10370
|
})),
|
|
10304
10371
|
agentSlug,
|
|
10305
10372
|
rows: 4,
|
|
@@ -10352,9 +10419,9 @@ function GuideWelcome({
|
|
|
10352
10419
|
props: action.iconProps,
|
|
10353
10420
|
accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
|
|
10354
10421
|
},
|
|
10355
|
-
onSelect: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
10356
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10357
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10422
|
+
onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _274 => _274(action)]),
|
|
10423
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _275 => _275(action)]),
|
|
10424
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _276 => _276()])
|
|
10358
10425
|
})),
|
|
10359
10426
|
[quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
|
|
10360
10427
|
);
|
|
@@ -10563,7 +10630,7 @@ function MingoArchiveList({
|
|
|
10563
10630
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10564
10631
|
const observer = new IntersectionObserver(
|
|
10565
10632
|
([entry]) => {
|
|
10566
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10633
|
+
if (_optionalChain([entry, 'optionalAccess', _277 => _277.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _278 => _278.current, 'optionalCall', _279 => _279()]);
|
|
10567
10634
|
},
|
|
10568
10635
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10569
10636
|
);
|
|
@@ -10582,7 +10649,7 @@ function MingoArchiveList({
|
|
|
10582
10649
|
ChatListItem,
|
|
10583
10650
|
{
|
|
10584
10651
|
title: dialog.title || "Untitled Chat",
|
|
10585
|
-
onClick: () => _optionalChain([onSelectDialog, 'optionalCall',
|
|
10652
|
+
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _280 => _280(dialog.id)]),
|
|
10586
10653
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
10587
10654
|
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) }),
|
|
10588
10655
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10721,7 +10788,7 @@ function ChatHeaderSearchField({
|
|
|
10721
10788
|
const finishCollapse = _react.useCallback.call(void 0, () => {
|
|
10722
10789
|
if (collapsedRef.current) return;
|
|
10723
10790
|
collapsedRef.current = true;
|
|
10724
|
-
_optionalChain([onCollapse, 'optionalCall',
|
|
10791
|
+
_optionalChain([onCollapse, 'optionalCall', _281 => _281()]);
|
|
10725
10792
|
}, [onCollapse]);
|
|
10726
10793
|
const beginCollapse = _react.useCallback.call(void 0, () => {
|
|
10727
10794
|
setExiting(true);
|
|
@@ -10802,7 +10869,7 @@ var STATUS_GLYPHS = {
|
|
|
10802
10869
|
approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
|
|
10803
10870
|
};
|
|
10804
10871
|
function statusFor(dialog, statusOf) {
|
|
10805
|
-
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall',
|
|
10872
|
+
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _282 => _282(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
|
|
10806
10873
|
}
|
|
10807
10874
|
function MingoChatRail({
|
|
10808
10875
|
dialogs,
|
|
@@ -10831,8 +10898,8 @@ function MingoChatRail({
|
|
|
10831
10898
|
onExpand,
|
|
10832
10899
|
className
|
|
10833
10900
|
}) {
|
|
10834
|
-
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10835
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10901
|
+
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _283 => _283.trim, 'call', _284 => _284()]));
|
|
10902
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _285 => _285.trim, 'call', _286 => _286()]);
|
|
10836
10903
|
const items = [];
|
|
10837
10904
|
if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
|
|
10838
10905
|
if (onOpenArchive) {
|
|
@@ -10889,7 +10956,7 @@ function MingoChatRail({
|
|
|
10889
10956
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10890
10957
|
const observer = new IntersectionObserver(
|
|
10891
10958
|
([entry]) => {
|
|
10892
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10959
|
+
if (_optionalChain([entry, 'optionalAccess', _287 => _287.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _288 => _288.current, 'optionalCall', _289 => _289()]);
|
|
10893
10960
|
},
|
|
10894
10961
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10895
10962
|
);
|
|
@@ -11012,7 +11079,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
|
|
|
11012
11079
|
{
|
|
11013
11080
|
active,
|
|
11014
11081
|
title,
|
|
11015
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
11082
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _290 => _290(dialog.id)]),
|
|
11016
11083
|
className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
|
|
11017
11084
|
trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11018
11085
|
"span",
|
|
@@ -11146,7 +11213,7 @@ function MingoHistoryRail({
|
|
|
11146
11213
|
onRetry,
|
|
11147
11214
|
className
|
|
11148
11215
|
}) {
|
|
11149
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
11216
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _291 => _291.trim, 'call', _292 => _292()]);
|
|
11150
11217
|
const hasList = dialogs.length > 0 || hasSearch;
|
|
11151
11218
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11152
11219
|
"div",
|
|
@@ -11295,7 +11362,7 @@ function ChatDialogModals({
|
|
|
11295
11362
|
RenameChatModal,
|
|
11296
11363
|
{
|
|
11297
11364
|
isOpen: renameTarget != null,
|
|
11298
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
11365
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _293 => _293.title]), () => ( "")),
|
|
11299
11366
|
onClose: () => setRenameTarget(null),
|
|
11300
11367
|
onSave: onConfirmRename
|
|
11301
11368
|
}
|
|
@@ -11512,7 +11579,7 @@ function ChatAttachmentAddButton({
|
|
|
11512
11579
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
11513
11580
|
const handlePick = () => {
|
|
11514
11581
|
if (!canAddMore) return;
|
|
11515
|
-
_optionalChain([fileInputRef, 'access',
|
|
11582
|
+
_optionalChain([fileInputRef, 'access', _294 => _294.current, 'optionalAccess', _295 => _295.click, 'call', _296 => _296()]);
|
|
11516
11583
|
};
|
|
11517
11584
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
11518
11585
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11675,7 +11742,7 @@ function ChatContextMemoryBar({
|
|
|
11675
11742
|
_react.useEffect.call(void 0, () => {
|
|
11676
11743
|
if (!open) return void 0;
|
|
11677
11744
|
const onOutside = (e) => {
|
|
11678
|
-
if (_optionalChain([rootRef, 'access',
|
|
11745
|
+
if (_optionalChain([rootRef, 'access', _297 => _297.current, 'optionalAccess', _298 => _298.contains, 'call', _299 => _299(e.target)])) return;
|
|
11679
11746
|
setOpen(false);
|
|
11680
11747
|
};
|
|
11681
11748
|
document.addEventListener("mousedown", onOutside, true);
|
|
@@ -11978,7 +12045,7 @@ function ChatComposer({
|
|
|
11978
12045
|
const locked = lock != null;
|
|
11979
12046
|
const selected = _nullishCoalesce(selectedContextItems, () => ( []));
|
|
11980
12047
|
const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
|
|
11981
|
-
const entityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
12048
|
+
const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _300 => _300.entityTypes]);
|
|
11982
12049
|
const iconByType = _react.useMemo.call(void 0, () => {
|
|
11983
12050
|
const map = /* @__PURE__ */ new Map();
|
|
11984
12051
|
for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
|
|
@@ -11994,7 +12061,7 @@ function ChatComposer({
|
|
|
11994
12061
|
sending,
|
|
11995
12062
|
placeholder,
|
|
11996
12063
|
disabled: locked,
|
|
11997
|
-
disabledPlaceholder: _optionalChain([lock, 'optionalAccess',
|
|
12064
|
+
disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _301 => _301.placeholder]),
|
|
11998
12065
|
previewText,
|
|
11999
12066
|
fullWidth: true,
|
|
12000
12067
|
className: "px-0",
|
|
@@ -12007,7 +12074,7 @@ function ChatComposer({
|
|
|
12007
12074
|
startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12008
12075
|
ChatComposerPlusMenu,
|
|
12009
12076
|
{
|
|
12010
|
-
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12077
|
+
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _302 => _302()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _303 => _303()]),
|
|
12011
12078
|
open: contextPickerOpen,
|
|
12012
12079
|
disabled: attachmentsDisabled || locked,
|
|
12013
12080
|
dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12016,8 +12083,8 @@ function ChatComposer({
|
|
|
12016
12083
|
open: contextPickerOpen,
|
|
12017
12084
|
config: contextPicker,
|
|
12018
12085
|
selectedItems: selected,
|
|
12019
|
-
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall',
|
|
12020
|
-
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12086
|
+
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _304 => _304(item)]),
|
|
12087
|
+
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _305 => _305()]),
|
|
12021
12088
|
mentionQuery
|
|
12022
12089
|
}
|
|
12023
12090
|
) : void 0
|
|
@@ -12208,8 +12275,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
12208
12275
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
12209
12276
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
12210
12277
|
const handleClick = (e) => {
|
|
12211
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
12212
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12278
|
+
_optionalChain([onDialogSelect, 'optionalCall', _306 => _306(dialog.id)]);
|
|
12279
|
+
_optionalChain([onClick, 'optionalCall', _307 => _307(e)]);
|
|
12213
12280
|
};
|
|
12214
12281
|
const formatTimestamp = (timestamp) => {
|
|
12215
12282
|
return _chunkTKFTWM3Vcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkTKFTWM3Vcjs.VIEWER_TIMEZONE, "numericDateTime24h");
|
|
@@ -12282,7 +12349,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
12282
12349
|
(entries) => {
|
|
12283
12350
|
const [entry] = entries;
|
|
12284
12351
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
12285
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
12352
|
+
_optionalChain([onLoadMoreRef, 'access', _308 => _308.current, 'optionalCall', _309 => _309()]);
|
|
12286
12353
|
}
|
|
12287
12354
|
},
|
|
12288
12355
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -12497,7 +12564,7 @@ function OnboardingCarousel({
|
|
|
12497
12564
|
" of ",
|
|
12498
12565
|
steps.length,
|
|
12499
12566
|
": ",
|
|
12500
|
-
_optionalChain([steps, 'access',
|
|
12567
|
+
_optionalChain([steps, 'access', _310 => _310[index], 'optionalAccess', _311 => _311.title])
|
|
12501
12568
|
] }),
|
|
12502
12569
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
|
|
12503
12570
|
const isCurrent = i === index;
|
|
@@ -12602,7 +12669,7 @@ function isForeignOriginHref(href) {
|
|
|
12602
12669
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
12603
12670
|
const isNewTab = runtime ? _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
12604
12671
|
if (isNewTab) {
|
|
12605
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
12672
|
+
if (_optionalChain([runtime, 'optionalAccess', _312 => _312.navigation, 'access', _313 => _313.openExternal])) runtime.navigation.openExternal(href);
|
|
12606
12673
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
12607
12674
|
return;
|
|
12608
12675
|
}
|
|
@@ -12610,7 +12677,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
12610
12677
|
if (target.includes("#") && _chunkK2JUJ37Dcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
12611
12678
|
return;
|
|
12612
12679
|
}
|
|
12613
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
12680
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _314 => _314.navigation, 'access', _315 => _315.navigate, 'optionalCall', _316 => _316({ href, path, targetPlatform })]), () => ( false));
|
|
12614
12681
|
if (!handled) {
|
|
12615
12682
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
12616
12683
|
else window.location.assign(target);
|
|
@@ -12660,7 +12727,7 @@ function useNavLinkViaRuntime({
|
|
|
12660
12727
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
12661
12728
|
const isNewTab = _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
12662
12729
|
const onClick = (e) => {
|
|
12663
|
-
_optionalChain([onClickProp, 'optionalCall',
|
|
12730
|
+
_optionalChain([onClickProp, 'optionalCall', _317 => _317(e)]);
|
|
12664
12731
|
if (e.defaultPrevented) return;
|
|
12665
12732
|
const handled = executeNavigation({
|
|
12666
12733
|
event: e,
|
|
@@ -12670,7 +12737,7 @@ function useNavLinkViaRuntime({
|
|
|
12670
12737
|
targetPlatform,
|
|
12671
12738
|
fallbackNavigate: router.push
|
|
12672
12739
|
});
|
|
12673
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
12740
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _318 => _318.closeChat])) panel.closeChat();
|
|
12674
12741
|
};
|
|
12675
12742
|
const attrs = _chunkHEQ4GPYEcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
12676
12743
|
return {
|
|
@@ -12754,11 +12821,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
|
|
|
12754
12821
|
function getCaptionsUrl(entityType, entityId, srtContent, options) {
|
|
12755
12822
|
if (!srtContent) return void 0;
|
|
12756
12823
|
const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
|
|
12757
|
-
const variant = _optionalChain([options, 'optionalAccess',
|
|
12824
|
+
const variant = _optionalChain([options, 'optionalAccess', _319 => _319.variant]) ? `&variant=${options.variant}` : "";
|
|
12758
12825
|
return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
|
|
12759
12826
|
}
|
|
12760
12827
|
function resolveCaptionsBase(endpoints) {
|
|
12761
|
-
return _optionalChain([endpoints, 'optionalAccess',
|
|
12828
|
+
return _optionalChain([endpoints, 'optionalAccess', _320 => _320.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
|
|
12762
12829
|
}
|
|
12763
12830
|
function rebaseCaptionsUrl(endpoints, url) {
|
|
12764
12831
|
if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
|
|
@@ -12847,7 +12914,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
12847
12914
|
// src/components/features/use-captions.ts
|
|
12848
12915
|
|
|
12849
12916
|
function useCaptions() {
|
|
12850
|
-
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess',
|
|
12917
|
+
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _321 => _321.endpoints]), () => ( null));
|
|
12851
12918
|
return _react.useMemo.call(void 0,
|
|
12852
12919
|
() => ({
|
|
12853
12920
|
forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
|
|
@@ -13122,9 +13189,9 @@ function CardsStrip(props) {
|
|
|
13122
13189
|
const p = hoverPointerRef.current;
|
|
13123
13190
|
if (!p.inside) return;
|
|
13124
13191
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
13125
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
13126
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
13127
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
13192
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _322 => _322.closest, 'optionalCall', _323 => _323("[data-strip-card-key]")]);
|
|
13193
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _324 => _324.current, 'optionalAccess', _325 => _325.contains, 'call', _326 => _326(cardEl)]) ? cardEl : null;
|
|
13194
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _327 => _327.getAttribute, 'call', _328 => _328("data-strip-card-key")]), () => ( null));
|
|
13128
13195
|
const current = activeKeyRef.current;
|
|
13129
13196
|
if (key === current) return;
|
|
13130
13197
|
if (current !== null) deactivate(current);
|
|
@@ -13162,7 +13229,7 @@ function CardsStrip(props) {
|
|
|
13162
13229
|
}, [syncHoverToPointer]);
|
|
13163
13230
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
13164
13231
|
const half = singleCopyWidthRef.current;
|
|
13165
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13232
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _329 => _329.current, 'optionalAccess', _330 => _330.clientWidth]), () => ( 0));
|
|
13166
13233
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
13167
13234
|
}, []);
|
|
13168
13235
|
const mirror = _react.useCallback.call(void 0,
|
|
@@ -13186,7 +13253,7 @@ function CardsStrip(props) {
|
|
|
13186
13253
|
const scroller = scrollerRef.current;
|
|
13187
13254
|
if (scroller) scroller.scrollLeft = mirror(pos);
|
|
13188
13255
|
},
|
|
13189
|
-
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13256
|
+
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _331 => _331.current, 'optionalAccess', _332 => _332.scrollLeft]), () => ( 0))),
|
|
13190
13257
|
onAfterFrame: syncHoverIfScrolled
|
|
13191
13258
|
});
|
|
13192
13259
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -13234,11 +13301,11 @@ function CardsStrip(props) {
|
|
|
13234
13301
|
fn = (el) => {
|
|
13235
13302
|
if (!el) return void 0;
|
|
13236
13303
|
cardElIdxRef.current.set(el, idx);
|
|
13237
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13304
|
+
_optionalChain([cardObserverRef, 'access', _333 => _333.current, 'optionalAccess', _334 => _334.observe, 'call', _335 => _335(el)]);
|
|
13238
13305
|
return () => {
|
|
13239
13306
|
cardElIdxRef.current.delete(el);
|
|
13240
13307
|
cardElNearRef.current.delete(el);
|
|
13241
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13308
|
+
_optionalChain([cardObserverRef, 'access', _336 => _336.current, 'optionalAccess', _337 => _337.unobserve, 'call', _338 => _338(el)]);
|
|
13242
13309
|
};
|
|
13243
13310
|
};
|
|
13244
13311
|
cardRefFns.set(idx, fn);
|
|
@@ -13257,7 +13324,7 @@ function CardsStrip(props) {
|
|
|
13257
13324
|
const track = trackRef.current;
|
|
13258
13325
|
if (!scroller || !track) return;
|
|
13259
13326
|
const firstCard = track.firstElementChild;
|
|
13260
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
13327
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _339 => _339.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
13261
13328
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
13262
13329
|
if (marqueeActiveRef.current) {
|
|
13263
13330
|
glideBy((reverse ? -dir : dir) * step);
|
|
@@ -13318,7 +13385,7 @@ function CardsStrip(props) {
|
|
|
13318
13385
|
{
|
|
13319
13386
|
ref: (node) => {
|
|
13320
13387
|
wrapperRef.current = node;
|
|
13321
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
13388
|
+
_optionalChain([rootRef, 'optionalCall', _340 => _340(node)]);
|
|
13322
13389
|
},
|
|
13323
13390
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
13324
13391
|
children: [
|
|
@@ -13493,7 +13560,7 @@ function VideoBitesStrip({
|
|
|
13493
13560
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
13494
13561
|
return filtered.sort(sortComparator);
|
|
13495
13562
|
}, [bites, filterPublished, sortComparator]);
|
|
13496
|
-
const warmup = _chunkHEQ4GPYEcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access',
|
|
13563
|
+
const warmup = _chunkHEQ4GPYEcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _341 => _341[0], 'optionalAccess', _342 => _342.url]) || null });
|
|
13497
13564
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13498
13565
|
CardsStrip,
|
|
13499
13566
|
{
|
|
@@ -13560,8 +13627,8 @@ function VideoBiteCard({
|
|
|
13560
13627
|
const controlled = active !== void 0;
|
|
13561
13628
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
13562
13629
|
const isActive = controlled ? !!active : selfActive;
|
|
13563
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
13564
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
13630
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _343 => _343(key)]) : setSelfActive(true);
|
|
13631
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _344 => _344(key)]) : setSelfActive(false);
|
|
13565
13632
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
13566
13633
|
_chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13567
13634
|
const el = titleInputRef.current;
|
|
@@ -13571,7 +13638,7 @@ function VideoBiteCard({
|
|
|
13571
13638
|
});
|
|
13572
13639
|
const navigate = () => {
|
|
13573
13640
|
if (bite.onNavigate) bite.onNavigate();
|
|
13574
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
13641
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _345 => _345(bite, index)]);
|
|
13575
13642
|
};
|
|
13576
13643
|
const handlePointerEnter = () => {
|
|
13577
13644
|
if (!isTouch) activate();
|
|
@@ -13596,9 +13663,9 @@ function VideoBiteCard({
|
|
|
13596
13663
|
placeholder: "Title (optional)",
|
|
13597
13664
|
"aria-label": "Bite title",
|
|
13598
13665
|
rows: 1,
|
|
13599
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
13666
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _346 => _346(e.target.value)]),
|
|
13600
13667
|
ref: titleInputRef,
|
|
13601
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
13668
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _347 => _347(e.target.value)]),
|
|
13602
13669
|
onClick: (e) => e.stopPropagation(),
|
|
13603
13670
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13604
13671
|
titleClass,
|
|
@@ -13675,7 +13742,7 @@ function VideoBiteCard({
|
|
|
13675
13742
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13676
13743
|
"div",
|
|
13677
13744
|
{
|
|
13678
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
13745
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _348 => _348(node)]),
|
|
13679
13746
|
"aria-hidden": isClone || void 0,
|
|
13680
13747
|
"data-strip-card-key": key,
|
|
13681
13748
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
@@ -13730,8 +13797,8 @@ function EntityVideoSection({
|
|
|
13730
13797
|
const hasHighlight = !!highlightVideoUrl;
|
|
13731
13798
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13732
13799
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13733
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13734
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13800
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _349 => _349.captionsUrl])));
|
|
13801
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _350 => _350.highlightCaptionsUrl])));
|
|
13735
13802
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13736
13803
|
return null;
|
|
13737
13804
|
}
|
|
@@ -14049,7 +14116,7 @@ var MediaSkeleton = {
|
|
|
14049
14116
|
|
|
14050
14117
|
function designDocPeople(doc) {
|
|
14051
14118
|
const people = [];
|
|
14052
|
-
if (_optionalChain([doc, 'access',
|
|
14119
|
+
if (_optionalChain([doc, 'access', _351 => _351.author, 'optionalAccess', _352 => _352.full_name]))
|
|
14053
14120
|
people.push({
|
|
14054
14121
|
key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
|
|
14055
14122
|
name: doc.author.full_name,
|
|
@@ -14062,7 +14129,7 @@ function designDocPeople(doc) {
|
|
|
14062
14129
|
return people;
|
|
14063
14130
|
}
|
|
14064
14131
|
function designDocMetaLine(doc) {
|
|
14065
|
-
return [_optionalChain([doc, 'access',
|
|
14132
|
+
return [_optionalChain([doc, 'access', _353 => _353.author, 'optionalAccess', _354 => _354.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkHEQ4GPYEcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
14066
14133
|
}
|
|
14067
14134
|
function DesignDocCardSkeleton() {
|
|
14068
14135
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -14536,7 +14603,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14536
14603
|
] }) : null,
|
|
14537
14604
|
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
|
|
14538
14605
|
] }),
|
|
14539
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
14606
|
+
_optionalChain([anchorProps, 'optionalAccess', _355 => _355.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
|
|
14540
14607
|
] });
|
|
14541
14608
|
if (!anchorProps) {
|
|
14542
14609
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -14564,7 +14631,7 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14564
14631
|
|
|
14565
14632
|
|
|
14566
14633
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14567
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
14634
|
+
const goalsCount = _optionalChain([campaign, 'access', _356 => _356.goals, 'optionalAccess', _357 => _357.length]) || 0;
|
|
14568
14635
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14569
14636
|
/* @__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" }) }),
|
|
14570
14637
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -14678,8 +14745,8 @@ function getVendorLogo(vendor) {
|
|
|
14678
14745
|
if (vendor.logo) {
|
|
14679
14746
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
14680
14747
|
}
|
|
14681
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
14682
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
14748
|
+
const logoMedia = _optionalChain([vendor, 'access', _358 => _358.vendor_media, 'optionalAccess', _359 => _359.find, 'call', _360 => _360((m) => m.media_type === "logo")]);
|
|
14749
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _361 => _361.media_url])) {
|
|
14683
14750
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
14684
14751
|
}
|
|
14685
14752
|
return null;
|
|
@@ -14748,7 +14815,7 @@ function VendorIcon({
|
|
|
14748
14815
|
"flex items-center justify-center uppercase text-h6",
|
|
14749
14816
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
14750
14817
|
),
|
|
14751
|
-
children: _optionalChain([vendor, 'access',
|
|
14818
|
+
children: _optionalChain([vendor, 'access', _362 => _362.title, 'optionalAccess', _363 => _363.substring, 'call', _364 => _364(0, 2)]) || "??"
|
|
14752
14819
|
}
|
|
14753
14820
|
) });
|
|
14754
14821
|
}
|
|
@@ -14941,7 +15008,7 @@ function pickFetchedCardHref({
|
|
|
14941
15008
|
itemHref,
|
|
14942
15009
|
allowComposed
|
|
14943
15010
|
}) {
|
|
14944
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
15011
|
+
if (_optionalChain([composed, 'optionalAccess', _365 => _365.hostOverride])) {
|
|
14945
15012
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14946
15013
|
}
|
|
14947
15014
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -15003,7 +15070,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
15003
15070
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
15004
15071
|
const safePath = sanitizePath(row.path);
|
|
15005
15072
|
if (safePath) {
|
|
15006
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
15073
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _366 => _366.docPlatformTargets, 'optionalAccess', _367 => _367[row.documentType]]) : void 0;
|
|
15007
15074
|
if (docTarget) {
|
|
15008
15075
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
15009
15076
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -15072,7 +15139,7 @@ function resolveCardDestination({
|
|
|
15072
15139
|
composeContentUrl,
|
|
15073
15140
|
resolveHref = (href) => href
|
|
15074
15141
|
}) {
|
|
15075
|
-
const refPath = typeof _optionalChain([chatRef, 'access',
|
|
15142
|
+
const refPath = typeof _optionalChain([chatRef, 'access', _368 => _368.metadata, 'optionalAccess', _369 => _369.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
15076
15143
|
const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
|
|
15077
15144
|
const cta = resolveSourceRowCTA(
|
|
15078
15145
|
{
|
|
@@ -15089,7 +15156,7 @@ function resolveCardDestination({
|
|
|
15089
15156
|
const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
|
|
15090
15157
|
const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
|
|
15091
15158
|
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
15092
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
15159
|
+
if (_optionalChain([entry, 'optionalAccess', _370 => _370.contentRefType]) && item) {
|
|
15093
15160
|
const choice = pickFetchedCardHref({
|
|
15094
15161
|
composed: resolveFetchedCardHref({
|
|
15095
15162
|
contentRefType: entry.contentRefType,
|
|
@@ -15097,7 +15164,7 @@ function resolveCardDestination({
|
|
|
15097
15164
|
item,
|
|
15098
15165
|
composeContentUrl
|
|
15099
15166
|
}),
|
|
15100
|
-
itemHref: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
15167
|
+
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _371 => _371.fallbackHref, 'optionalCall', _372 => _372(item)]), () => ( null)),
|
|
15101
15168
|
allowComposed: !entry.noComposedHref
|
|
15102
15169
|
});
|
|
15103
15170
|
const url = choice ? _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
@@ -15191,8 +15258,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
15191
15258
|
if (href) {
|
|
15192
15259
|
items.push({
|
|
15193
15260
|
id: "open-details",
|
|
15194
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15195
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15261
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _373 => _373.label]), () => ( "Open Details")),
|
|
15262
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _374 => _374.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
|
|
15196
15263
|
// Main row → open the entity (same tab, soft Link nav).
|
|
15197
15264
|
href,
|
|
15198
15265
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -15252,18 +15319,18 @@ function itemVideoMetadata(item) {
|
|
|
15252
15319
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
15253
15320
|
return void 0;
|
|
15254
15321
|
};
|
|
15255
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15322
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _375 => _375.metadata]), () => ( {}));
|
|
15256
15323
|
const out = {};
|
|
15257
|
-
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
15258
|
-
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
15259
|
-
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
15324
|
+
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _376 => _376.custom_video_url]), _optionalChain([item, 'optionalAccess', _377 => _377.main_video_url]));
|
|
15325
|
+
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _378 => _378.youtube_url]), _optionalChain([item, 'optionalAccess', _379 => _379.testimonial_video_url]));
|
|
15326
|
+
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _380 => _380.highlight_video_url]));
|
|
15260
15327
|
const videoPoster = pick2(
|
|
15261
15328
|
m.videoPoster,
|
|
15262
|
-
_optionalChain([item, 'optionalAccess',
|
|
15263
|
-
_optionalChain([item, 'optionalAccess',
|
|
15264
|
-
_optionalChain([item, 'optionalAccess',
|
|
15329
|
+
_optionalChain([item, 'optionalAccess', _381 => _381.main_video_thumbnail]),
|
|
15330
|
+
_optionalChain([item, 'optionalAccess', _382 => _382.highlight_video_thumbnail]),
|
|
15331
|
+
_optionalChain([item, 'optionalAccess', _383 => _383.featured_image])
|
|
15265
15332
|
);
|
|
15266
|
-
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
15333
|
+
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _384 => _384.highlight_video_thumbnail]));
|
|
15267
15334
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
15268
15335
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
15269
15336
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -15293,15 +15360,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
15293
15360
|
}
|
|
15294
15361
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
15295
15362
|
const it = item;
|
|
15296
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
15363
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _385 => _385.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
15297
15364
|
return {
|
|
15298
15365
|
type: "faq",
|
|
15299
15366
|
id: chatRef.id,
|
|
15300
15367
|
sourceRepo: chatRef.sourceRepo,
|
|
15301
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
15368
|
+
title: typeof _optionalChain([it, 'optionalAccess', _386 => _386.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
15302
15369
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
15303
15370
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
15304
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
15371
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _387 => _387.section]) === "string" && it.section ? { section: it.section } : {}
|
|
15305
15372
|
};
|
|
15306
15373
|
}
|
|
15307
15374
|
function HubspotTicketChatCard({
|
|
@@ -15309,8 +15376,8 @@ function HubspotTicketChatCard({
|
|
|
15309
15376
|
isNewTab,
|
|
15310
15377
|
discuss
|
|
15311
15378
|
}) {
|
|
15312
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
15313
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
15379
|
+
const status = typeof _optionalChain([chatRef, 'access', _388 => _388.metadata, 'optionalAccess', _389 => _389.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
15380
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _390 => _390.metadata, 'optionalAccess', _391 => _391.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
15314
15381
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
15315
15382
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15316
15383
|
MingoInfoCard,
|
|
@@ -15333,7 +15400,7 @@ function FaqChatCard({
|
|
|
15333
15400
|
isNewTab,
|
|
15334
15401
|
discuss
|
|
15335
15402
|
}) {
|
|
15336
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
15403
|
+
const section = typeof _optionalChain([chatRef, 'access', _392 => _392.metadata, 'optionalAccess', _393 => _393.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
15337
15404
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
15338
15405
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15339
15406
|
MingoInfoCard,
|
|
@@ -15353,7 +15420,7 @@ function SlackChatCard({
|
|
|
15353
15420
|
isNewTab,
|
|
15354
15421
|
discuss
|
|
15355
15422
|
}) {
|
|
15356
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
15423
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _394 => _394.metadata, 'optionalAccess', _395 => _395.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
15357
15424
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
15358
15425
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
15359
15426
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15396,7 +15463,7 @@ function TrustCenterChatCard({
|
|
|
15396
15463
|
isNewTab,
|
|
15397
15464
|
discuss
|
|
15398
15465
|
}) {
|
|
15399
|
-
const raw = _optionalChain([item, 'optionalAccess',
|
|
15466
|
+
const raw = _optionalChain([item, 'optionalAccess', _396 => _396.frameworks]);
|
|
15400
15467
|
const frameworks = Array.isArray(raw) ? raw : [];
|
|
15401
15468
|
const summary = _chunkHEQ4GPYEcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
15402
15469
|
const leadFramework = frameworks[0];
|
|
@@ -15445,7 +15512,7 @@ function GenericFinancialChatCard({
|
|
|
15445
15512
|
isNewTab,
|
|
15446
15513
|
discuss
|
|
15447
15514
|
}) {
|
|
15448
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
15515
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _397 => _397.metadata, 'optionalAccess', _398 => _398.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
15449
15516
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15450
15517
|
MingoInfoCard,
|
|
15451
15518
|
{
|
|
@@ -15514,12 +15581,12 @@ function ProductReleaseChatCard({
|
|
|
15514
15581
|
discuss
|
|
15515
15582
|
}) {
|
|
15516
15583
|
const releaseProps = buildProps(item);
|
|
15517
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
15584
|
+
const status = _optionalChain([item, 'optionalAccess', _399 => _399.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15518
15585
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15519
15586
|
EntityMingoCard,
|
|
15520
15587
|
{
|
|
15521
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15522
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15588
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.title]), () => ( "")),
|
|
15589
|
+
description: _optionalChain([item, 'optionalAccess', _401 => _401.summary]) || releaseProps.formattedDate || void 0,
|
|
15523
15590
|
cover: releaseProps.coverImage || void 0,
|
|
15524
15591
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
|
|
15525
15592
|
status,
|
|
@@ -15536,17 +15603,17 @@ function CampaignChatCard({
|
|
|
15536
15603
|
isNewTab,
|
|
15537
15604
|
discuss
|
|
15538
15605
|
}) {
|
|
15539
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15606
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _402 => _402.goals])) ? item.goals.length : 0;
|
|
15540
15607
|
const meta = [
|
|
15541
|
-
_optionalChain([item, 'optionalAccess',
|
|
15608
|
+
_optionalChain([item, 'optionalAccess', _403 => _403.start_date]) ? _chunkHEQ4GPYEcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15542
15609
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15543
15610
|
"Marketing campaign"
|
|
15544
15611
|
].filter(Boolean).join(" \xB7 ");
|
|
15545
15612
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15546
15613
|
EntityMingoCard,
|
|
15547
15614
|
{
|
|
15548
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15549
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15615
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.name]), () => ( "")),
|
|
15616
|
+
description: meta || _optionalChain([item, 'optionalAccess', _405 => _405.description]) || void 0,
|
|
15550
15617
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
|
|
15551
15618
|
chatRef,
|
|
15552
15619
|
isNewTab,
|
|
@@ -15601,14 +15668,14 @@ function BlogChatCard({
|
|
|
15601
15668
|
hasEmbeddedVideo,
|
|
15602
15669
|
discuss
|
|
15603
15670
|
}) {
|
|
15604
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15671
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _406 => _406.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _407 => _407.categories, 'access', _408 => _408.find, 'call', _409 => _409((c) => _optionalChain([c, 'optionalAccess', _410 => _410.name])), 'optionalAccess', _411 => _411.name]), () => ( void 0)) : void 0;
|
|
15605
15672
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15606
15673
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15607
15674
|
EntityMingoCard,
|
|
15608
15675
|
{
|
|
15609
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15610
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15611
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15676
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _412 => _412.title]), () => ( "")),
|
|
15677
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.summary]), () => ( void 0)),
|
|
15678
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _414 => _414.featured_image]), ogPlaceholder),
|
|
15612
15679
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
|
|
15613
15680
|
status,
|
|
15614
15681
|
chatRef,
|
|
@@ -15625,13 +15692,13 @@ function CaseStudyChatCard({
|
|
|
15625
15692
|
ogPlaceholder,
|
|
15626
15693
|
discuss
|
|
15627
15694
|
}) {
|
|
15628
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15695
|
+
const meta = [_optionalChain([item, 'optionalAccess', _415 => _415.msp, 'optionalAccess', _416 => _416.name]), _optionalChain([item, 'optionalAccess', _417 => _417.user, 'optionalAccess', _418 => _418.full_name])].filter(Boolean).join(" \xB7 ");
|
|
15629
15696
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15630
15697
|
EntityMingoCard,
|
|
15631
15698
|
{
|
|
15632
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15633
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15634
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15699
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.title]), () => ( "")),
|
|
15700
|
+
description: _optionalChain([item, 'optionalAccess', _420 => _420.summary]) || meta || void 0,
|
|
15701
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _421 => _421.featured_image]), ogPlaceholder),
|
|
15635
15702
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
|
|
15636
15703
|
status: { label: "Case study", variant: "grey" },
|
|
15637
15704
|
chatRef,
|
|
@@ -15648,13 +15715,13 @@ function CustomerInterviewChatCard({
|
|
|
15648
15715
|
ogPlaceholder,
|
|
15649
15716
|
discuss
|
|
15650
15717
|
}) {
|
|
15651
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15718
|
+
const meta = [_optionalChain([item, 'optionalAccess', _422 => _422.user, 'optionalAccess', _423 => _423.full_name]), _optionalChain([item, 'optionalAccess', _424 => _424.msp, 'optionalAccess', _425 => _425.name])].filter(Boolean).join(" \xB7 ");
|
|
15652
15719
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15653
15720
|
EntityMingoCard,
|
|
15654
15721
|
{
|
|
15655
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15656
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15657
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15722
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")),
|
|
15723
|
+
description: _optionalChain([item, 'optionalAccess', _427 => _427.video_summary]) || meta || void 0,
|
|
15724
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _428 => _428.featured_image]), ogPlaceholder),
|
|
15658
15725
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
|
|
15659
15726
|
status: { label: "Interview", variant: "grey" },
|
|
15660
15727
|
chatRef,
|
|
@@ -15671,12 +15738,12 @@ function DesignDocChatCard({
|
|
|
15671
15738
|
discuss
|
|
15672
15739
|
}) {
|
|
15673
15740
|
const displayRef = fetchedItemDisplayRef(item, chatRef);
|
|
15674
|
-
const doc = _optionalChain([item, 'optionalAccess',
|
|
15741
|
+
const doc = _optionalChain([item, 'optionalAccess', _429 => _429.doc]);
|
|
15675
15742
|
const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
|
|
15676
15743
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15677
15744
|
MingoInfoCard,
|
|
15678
15745
|
{
|
|
15679
|
-
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
15746
|
+
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _430 => _430.title]), () => ( displayRef.title)),
|
|
15680
15747
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15681
15748
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15682
15749
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
@@ -15693,13 +15760,13 @@ function InvestorUpdateChatCard({
|
|
|
15693
15760
|
ogPlaceholder,
|
|
15694
15761
|
discuss
|
|
15695
15762
|
}) {
|
|
15696
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15763
|
+
const title = _optionalChain([item, 'optionalAccess', _431 => _431.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _432 => _432.update_number]), () => ( "?"))}`;
|
|
15697
15764
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15698
15765
|
EntityMingoCard,
|
|
15699
15766
|
{
|
|
15700
15767
|
title,
|
|
15701
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15702
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15768
|
+
description: _optionalChain([item, 'optionalAccess', _433 => _433.strategic_update]) || _optionalChain([item, 'optionalAccess', _434 => _434.content]) || _chunkHEQ4GPYEcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.period_end]), () => ( null))) || void 0,
|
|
15769
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _437 => _437.featured_image]), ogPlaceholder),
|
|
15703
15770
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
|
|
15704
15771
|
status: { label: "Investor update", variant: "grey" },
|
|
15705
15772
|
chatRef,
|
|
@@ -15716,12 +15783,12 @@ function OnboardingGuideChatCard({
|
|
|
15716
15783
|
ogPlaceholder,
|
|
15717
15784
|
discuss
|
|
15718
15785
|
}) {
|
|
15719
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15786
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _438 => _438.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _439 => _439.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _440 => _440.og_image_url]), ogPlaceholder)));
|
|
15720
15787
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15721
15788
|
EntityMingoCard,
|
|
15722
15789
|
{
|
|
15723
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15724
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15790
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.title]), () => ( "")),
|
|
15791
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.summary]), () => ( _optionalChain([item, 'optionalAccess', _443 => _443.description]))), () => ( void 0)),
|
|
15725
15792
|
cover,
|
|
15726
15793
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
|
|
15727
15794
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15746,9 +15813,9 @@ function ProgramChatCard({
|
|
|
15746
15813
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15747
15814
|
EntityMingoCard,
|
|
15748
15815
|
{
|
|
15749
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15750
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15751
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15816
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _444 => _444.title]), () => ( "")),
|
|
15817
|
+
description: meta || _optionalChain([item, 'optionalAccess', _445 => _445.description]) || void 0,
|
|
15818
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _446 => _446.cover_url]), ogPlaceholder),
|
|
15752
15819
|
fallbackIcon: icon,
|
|
15753
15820
|
status: { label, variant: "grey" },
|
|
15754
15821
|
chatRef,
|
|
@@ -15765,10 +15832,10 @@ function RoadmapChatCard({
|
|
|
15765
15832
|
cardType,
|
|
15766
15833
|
discuss
|
|
15767
15834
|
}) {
|
|
15768
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15769
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15835
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _447 => _447.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15836
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _448 => _448.customItemId]) != null;
|
|
15770
15837
|
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 });
|
|
15771
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
15838
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _449 => _449.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15772
15839
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15773
15840
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15774
15841
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15779,10 +15846,10 @@ function RoadmapChatCard({
|
|
|
15779
15846
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15780
15847
|
EntityMingoCard,
|
|
15781
15848
|
{
|
|
15782
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15783
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15849
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.title]), () => ( "")),
|
|
15850
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.description]), () => ( void 0)),
|
|
15784
15851
|
fallbackIcon: icon,
|
|
15785
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15852
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _452 => _452.status])),
|
|
15786
15853
|
chatRef,
|
|
15787
15854
|
isNewTab,
|
|
15788
15855
|
discuss,
|
|
@@ -15798,7 +15865,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15798
15865
|
bareInline: true,
|
|
15799
15866
|
contentRefType: docType,
|
|
15800
15867
|
noComposedHref: true,
|
|
15801
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15868
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.url]), () => ( null)),
|
|
15802
15869
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15803
15870
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15804
15871
|
};
|
|
@@ -15830,7 +15897,7 @@ function financialRegistryEntries() {
|
|
|
15830
15897
|
);
|
|
15831
15898
|
}
|
|
15832
15899
|
function refText(ref, key) {
|
|
15833
|
-
const value = _optionalChain([ref, 'optionalAccess',
|
|
15900
|
+
const value = _optionalChain([ref, 'optionalAccess', _454 => _454[key]]);
|
|
15834
15901
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
15835
15902
|
}
|
|
15836
15903
|
function VendorGlyph({ title, logoUrl }) {
|
|
@@ -15876,7 +15943,7 @@ var REF_GLYPH_CARD_CONFIGS = {
|
|
|
15876
15943
|
// rate. A glyph card; it opens the pricing page.
|
|
15877
15944
|
openframe_price: { label: "OpenFrame price" },
|
|
15878
15945
|
// A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
|
|
15879
|
-
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess',
|
|
15946
|
+
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess', _455 => _455.title]), () => ( "")), logoUrl: refText(ref, "logo_url") }) }
|
|
15880
15947
|
};
|
|
15881
15948
|
function sourceGlyph(docType) {
|
|
15882
15949
|
const { Icon } = resolveSourceIcon({ sourceRepo: defaultTableIdForDocumentType(docType), documentType: docType });
|
|
@@ -15895,8 +15962,8 @@ function refGlyphRegistryEntries() {
|
|
|
15895
15962
|
title: displayRef.title,
|
|
15896
15963
|
description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15897
15964
|
cover: entityCover(
|
|
15898
|
-
_optionalChain([displayRef, 'access',
|
|
15899
|
-
_nullishCoalesce(_optionalChain([opts, 'access',
|
|
15965
|
+
_optionalChain([displayRef, 'access', _456 => _456.metadata, 'optionalAccess', _457 => _457.videoPoster]),
|
|
15966
|
+
_nullishCoalesce(_optionalChain([opts, 'access', _458 => _458.extras, 'optionalAccess', _459 => _459.buildOgPlaceholderUrl, 'optionalCall', _460 => _460(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
|
|
15900
15967
|
),
|
|
15901
15968
|
fallbackIcon: glyph(displayRef),
|
|
15902
15969
|
status: { label: cfg.label, variant: "grey" },
|
|
@@ -15911,9 +15978,9 @@ function refGlyphRegistryEntries() {
|
|
|
15911
15978
|
}
|
|
15912
15979
|
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15913
15980
|
const it = item;
|
|
15914
|
-
const title = typeof _optionalChain([it, 'optionalAccess',
|
|
15915
|
-
const author = typeof _optionalChain([it, 'optionalAccess',
|
|
15916
|
-
const summary = typeof _optionalChain([it, 'optionalAccess',
|
|
15981
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _461 => _461.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15982
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _462 => _462.author, 'optionalAccess', _463 => _463.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15983
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _464 => _464.summary]) === "string" ? it.summary.trim() : "";
|
|
15917
15984
|
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15918
15985
|
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15919
15986
|
}
|
|
@@ -15965,7 +16032,7 @@ function programRegistryEntries() {
|
|
|
15965
16032
|
discuss: opts.discuss,
|
|
15966
16033
|
configKey: cfg.configKey,
|
|
15967
16034
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15968
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16035
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _465 => _465.extras, 'optionalAccess', _466 => _466.buildOgPlaceholderUrl, 'optionalCall', _467 => _467(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _468 => _468.title]), () => ( "")))]), () => ( null))
|
|
15969
16036
|
}
|
|
15970
16037
|
)
|
|
15971
16038
|
}));
|
|
@@ -15986,7 +16053,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15986
16053
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15987
16054
|
// task id post-fetch (the refs frame used to carry it).
|
|
15988
16055
|
noComposedHref: true,
|
|
15989
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16056
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _469 => _469.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15990
16057
|
}
|
|
15991
16058
|
};
|
|
15992
16059
|
function roadmapRegistryEntries() {
|
|
@@ -16028,8 +16095,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16028
16095
|
DeletedDataCard,
|
|
16029
16096
|
{
|
|
16030
16097
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
16031
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
16032
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
16098
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _470 => _470.metadata, 'optionalAccess', _471 => _471.entity_label]), () => ( null)),
|
|
16099
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.recovery_note]), () => ( null))
|
|
16033
16100
|
}
|
|
16034
16101
|
)
|
|
16035
16102
|
},
|
|
@@ -16046,7 +16113,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16046
16113
|
bareInline: true,
|
|
16047
16114
|
contentRefType: "faq",
|
|
16048
16115
|
noComposedHref: true,
|
|
16049
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16116
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _474 => _474.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
16050
16117
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16051
16118
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16052
16119
|
},
|
|
@@ -16093,8 +16160,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16093
16160
|
chatRef,
|
|
16094
16161
|
isNewTab: opts.isNewTab,
|
|
16095
16162
|
discuss: opts.discuss,
|
|
16096
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16097
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
16163
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildOgPlaceholderUrl, 'optionalCall', _477 => _477(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _478 => _478.title]), () => ( "")))]), () => ( null)),
|
|
16164
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _479 => _479.metadata, 'optionalAccess', _480 => _480.hasEmbeddedVideo]) === true
|
|
16098
16165
|
}
|
|
16099
16166
|
)
|
|
16100
16167
|
},
|
|
@@ -16110,7 +16177,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16110
16177
|
chatRef,
|
|
16111
16178
|
isNewTab: opts.isNewTab,
|
|
16112
16179
|
discuss: opts.discuss,
|
|
16113
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16180
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
|
|
16114
16181
|
}
|
|
16115
16182
|
)
|
|
16116
16183
|
},
|
|
@@ -16119,7 +16186,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16119
16186
|
contentRefType: "design_doc",
|
|
16120
16187
|
bareInline: true,
|
|
16121
16188
|
noComposedHref: true,
|
|
16122
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
16189
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _485 => _485.url]), () => ( null)),
|
|
16123
16190
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16124
16191
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16125
16192
|
},
|
|
@@ -16135,7 +16202,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16135
16202
|
chatRef,
|
|
16136
16203
|
isNewTab: opts.isNewTab,
|
|
16137
16204
|
discuss: opts.discuss,
|
|
16138
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16205
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _486 => _486.extras, 'optionalAccess', _487 => _487.buildOgPlaceholderUrl, 'optionalCall', _488 => _488(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _489 => _489.title]), () => ( "")))]), () => ( null))
|
|
16139
16206
|
}
|
|
16140
16207
|
)
|
|
16141
16208
|
},
|
|
@@ -16145,7 +16212,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16145
16212
|
bareInline: true,
|
|
16146
16213
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
16147
16214
|
render: (item, chatRef, opts) => {
|
|
16148
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16215
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _490 => _490.extras, 'optionalAccess', _491 => _491.buildProductReleaseCardProps]), () => ( _chunkHEQ4GPYEcjs.defaultBuildProductReleaseCardProps));
|
|
16149
16216
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16150
16217
|
ProductReleaseChatCard,
|
|
16151
16218
|
{
|
|
@@ -16171,7 +16238,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16171
16238
|
chatRef,
|
|
16172
16239
|
isNewTab: opts.isNewTab,
|
|
16173
16240
|
discuss: opts.discuss,
|
|
16174
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16241
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _492 => _492.extras, 'optionalAccess', _493 => _493.buildOgPlaceholderUrl, 'optionalCall', _494 => _494(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _495 => _495.title]), () => ( "")))]), () => ( null))
|
|
16175
16242
|
}
|
|
16176
16243
|
)
|
|
16177
16244
|
},
|
|
@@ -16189,7 +16256,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16189
16256
|
chatRef,
|
|
16190
16257
|
isNewTab: opts.isNewTab,
|
|
16191
16258
|
discuss: opts.discuss,
|
|
16192
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16259
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _496 => _496.extras, 'optionalAccess', _497 => _497.buildOgPlaceholderUrl, 'optionalCall', _498 => _498(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _499 => _499.title]), () => ( "")))]), () => ( null))
|
|
16193
16260
|
}
|
|
16194
16261
|
)
|
|
16195
16262
|
},
|
|
@@ -16200,13 +16267,13 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16200
16267
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
16201
16268
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
16202
16269
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
16203
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16270
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _500 => _500.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
16204
16271
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16205
16272
|
},
|
|
16206
16273
|
...roadmapRegistryEntries()
|
|
16207
16274
|
};
|
|
16208
16275
|
function chatCardLabel(docType) {
|
|
16209
|
-
return _optionalChain([CHAT_CARD_REGISTRY, 'access',
|
|
16276
|
+
return _optionalChain([CHAT_CARD_REGISTRY, 'access', _501 => _501[docType], 'optionalAccess', _502 => _502.label]);
|
|
16210
16277
|
}
|
|
16211
16278
|
function ChatCardNavWrap({
|
|
16212
16279
|
href,
|
|
@@ -16222,13 +16289,13 @@ function ChatCardNavWrap({
|
|
|
16222
16289
|
if (!href) return;
|
|
16223
16290
|
const targetEl = e.target;
|
|
16224
16291
|
const host = e.currentTarget;
|
|
16225
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
16226
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
16227
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
16292
|
+
if (!_optionalChain([host, 'optionalAccess', _503 => _503.contains, 'call', _504 => _504(targetEl)])) return;
|
|
16293
|
+
if (_optionalChain([targetEl, 'optionalAccess', _505 => _505.closest, 'optionalCall', _506 => _506("button")])) return;
|
|
16294
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _507 => _507.closest, 'optionalCall', _508 => _508("a")])) return;
|
|
16228
16295
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
16229
16296
|
if (!handled) return;
|
|
16230
16297
|
e.stopPropagation();
|
|
16231
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
16298
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _509 => _509.closeChat])) panel.closeChat();
|
|
16232
16299
|
};
|
|
16233
16300
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
16234
16301
|
}
|
|
@@ -16244,7 +16311,7 @@ function ChatCardLoader({
|
|
|
16244
16311
|
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
16245
16312
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
16246
16313
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
16247
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
16314
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _510 => _510.contentRefType]), () => ( "")),
|
|
16248
16315
|
fetchEntry ? chatRef.id : ""
|
|
16249
16316
|
);
|
|
16250
16317
|
if (!entry) return null;
|
|
@@ -16288,7 +16355,7 @@ function ChatCardLoader({
|
|
|
16288
16355
|
isNewTab,
|
|
16289
16356
|
discuss
|
|
16290
16357
|
};
|
|
16291
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
16358
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _511 => _511.metadata, 'optionalAccess', _512 => _512.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
16292
16359
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16293
16360
|
ChatCardNavWrap,
|
|
16294
16361
|
{
|
|
@@ -16312,7 +16379,7 @@ function ChatCardLoader({
|
|
|
16312
16379
|
if (!fetchEntry) {
|
|
16313
16380
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
16314
16381
|
}
|
|
16315
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
16382
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _513 => _513.skeleton, 'optionalCall', _514 => _514()]), () => ( null)) });
|
|
16316
16383
|
if (!item) {
|
|
16317
16384
|
if (isError) {
|
|
16318
16385
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16620,7 +16687,7 @@ function useChunkCatchup({
|
|
|
16620
16687
|
if (catchupRun.current === run) {
|
|
16621
16688
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16622
16689
|
catchupRun.current = null;
|
|
16623
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16690
|
+
if (_optionalChain([pendingCatchupRef, 'access', _515 => _515.current, 'optionalAccess', _516 => _516.dialogId]) === currentDialogId) {
|
|
16624
16691
|
pendingCatchupRef.current = null;
|
|
16625
16692
|
}
|
|
16626
16693
|
} else {
|
|
@@ -16631,7 +16698,7 @@ function useChunkCatchup({
|
|
|
16631
16698
|
if (pending.dialogId === currentDialogId) {
|
|
16632
16699
|
rearmForQueuedCatchup();
|
|
16633
16700
|
try {
|
|
16634
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16701
|
+
await _optionalChain([catchUpChunksRef, 'access', _517 => _517.current, 'optionalCall', _518 => _518(pending.fromSequenceId)]);
|
|
16635
16702
|
} catch (rerunError) {
|
|
16636
16703
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16637
16704
|
}
|
|
@@ -16698,7 +16765,7 @@ function useChunkCatchup({
|
|
|
16698
16765
|
|
|
16699
16766
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16700
16767
|
function prefersReducedMotion() {
|
|
16701
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16768
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _519 => _519.matchMedia, 'optionalCall', _520 => _520("(prefers-reduced-motion: reduce)"), 'access', _521 => _521.matches]) === true;
|
|
16702
16769
|
}
|
|
16703
16770
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16704
16771
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16709,7 +16776,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16709
16776
|
setIndex(0);
|
|
16710
16777
|
}
|
|
16711
16778
|
_react.useEffect.call(void 0, () => {
|
|
16712
|
-
const mq = _optionalChain([window, 'access',
|
|
16779
|
+
const mq = _optionalChain([window, 'access', _522 => _522.matchMedia, 'optionalCall', _523 => _523("(prefers-reduced-motion: reduce)")]);
|
|
16713
16780
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16714
16781
|
sync();
|
|
16715
16782
|
if (!mq) return void 0;
|
|
@@ -16852,7 +16919,7 @@ function useJetStreamDialogSubscription({
|
|
|
16852
16919
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16853
16920
|
conn: sharedConn,
|
|
16854
16921
|
wsUrl,
|
|
16855
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16922
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]),
|
|
16856
16923
|
backoff: reconnectionBackoffRef.current,
|
|
16857
16924
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16858
16925
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16867,7 +16934,7 @@ function useJetStreamDialogSubscription({
|
|
|
16867
16934
|
setReconnectionCount((c) => c + 1);
|
|
16868
16935
|
}
|
|
16869
16936
|
hadConnectionBeforeRef.current = true;
|
|
16870
|
-
_optionalChain([onConnectRef, 'access',
|
|
16937
|
+
_optionalChain([onConnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
|
|
16871
16938
|
}
|
|
16872
16939
|
if (status === "error") {
|
|
16873
16940
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16877,7 +16944,7 @@ function useJetStreamDialogSubscription({
|
|
|
16877
16944
|
setIsConnected(false);
|
|
16878
16945
|
setIsSubscribed(false);
|
|
16879
16946
|
tearDownSubscription();
|
|
16880
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16947
|
+
_optionalChain([onDisconnectRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529()]);
|
|
16881
16948
|
}
|
|
16882
16949
|
}
|
|
16883
16950
|
});
|
|
@@ -17003,7 +17070,7 @@ function useJetStreamDialogSubscription({
|
|
|
17003
17070
|
}
|
|
17004
17071
|
subscriptionRef.current = handle;
|
|
17005
17072
|
setIsSubscribed(true);
|
|
17006
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17073
|
+
_optionalChain([onSubscribedRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
|
|
17007
17074
|
} catch (e31) {
|
|
17008
17075
|
if (!cancelled) {
|
|
17009
17076
|
setIsSubscribed(false);
|
|
@@ -17119,20 +17186,20 @@ function useNatsDialogSubscription({
|
|
|
17119
17186
|
const tearDownSubscriptions = () => {
|
|
17120
17187
|
subscriptionRefs.current.forEach((sub) => {
|
|
17121
17188
|
try {
|
|
17122
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17189
|
+
_optionalChain([sub, 'optionalAccess', _532 => _532.unsubscribe, 'call', _533 => _533()]);
|
|
17123
17190
|
} catch (e33) {
|
|
17124
17191
|
}
|
|
17125
17192
|
});
|
|
17126
17193
|
subscriptionRefs.current.clear();
|
|
17127
17194
|
lastSubscribedDialogIdRef.current = null;
|
|
17128
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17195
|
+
_optionalChain([abortControllerRef, 'access', _534 => _534.current, 'optionalAccess', _535 => _535.abort, 'call', _536 => _536()]);
|
|
17129
17196
|
abortControllerRef.current = null;
|
|
17130
17197
|
};
|
|
17131
17198
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
17132
17199
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
17133
17200
|
conn: sharedConn,
|
|
17134
17201
|
wsUrl,
|
|
17135
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
17202
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _537 => _537.current, 'optionalCall', _538 => _538()]),
|
|
17136
17203
|
backoff: reconnectionBackoffRef.current,
|
|
17137
17204
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
17138
17205
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -17143,7 +17210,7 @@ function useNatsDialogSubscription({
|
|
|
17143
17210
|
setReconnectionCount((c) => c + 1);
|
|
17144
17211
|
}
|
|
17145
17212
|
hadConnectionBeforeRef.current = true;
|
|
17146
|
-
_optionalChain([onConnectRef, 'access',
|
|
17213
|
+
_optionalChain([onConnectRef, 'access', _539 => _539.current, 'optionalCall', _540 => _540()]);
|
|
17147
17214
|
}
|
|
17148
17215
|
if (status === "error") {
|
|
17149
17216
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -17153,7 +17220,7 @@ function useNatsDialogSubscription({
|
|
|
17153
17220
|
setIsConnected(false);
|
|
17154
17221
|
setIsSubscribed(false);
|
|
17155
17222
|
tearDownSubscriptions();
|
|
17156
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
17223
|
+
_optionalChain([onDisconnectRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542()]);
|
|
17157
17224
|
}
|
|
17158
17225
|
}
|
|
17159
17226
|
});
|
|
@@ -17184,13 +17251,13 @@ function useNatsDialogSubscription({
|
|
|
17184
17251
|
setIsSubscribed(false);
|
|
17185
17252
|
subscriptionRefs.current.forEach((sub) => {
|
|
17186
17253
|
try {
|
|
17187
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17254
|
+
_optionalChain([sub, 'optionalAccess', _543 => _543.unsubscribe, 'call', _544 => _544()]);
|
|
17188
17255
|
} catch (e34) {
|
|
17189
17256
|
}
|
|
17190
17257
|
});
|
|
17191
17258
|
subscriptionRefs.current.clear();
|
|
17192
17259
|
lastSubscribedDialogIdRef.current = null;
|
|
17193
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17260
|
+
_optionalChain([abortControllerRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.abort, 'call', _547 => _547()]);
|
|
17194
17261
|
abortControllerRef.current = null;
|
|
17195
17262
|
}
|
|
17196
17263
|
return void 0;
|
|
@@ -17202,12 +17269,12 @@ function useNatsDialogSubscription({
|
|
|
17202
17269
|
if (subscriptionRefs.current.size > 0) {
|
|
17203
17270
|
subscriptionRefs.current.forEach((sub) => {
|
|
17204
17271
|
try {
|
|
17205
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17272
|
+
_optionalChain([sub, 'optionalAccess', _548 => _548.unsubscribe, 'call', _549 => _549()]);
|
|
17206
17273
|
} catch (e35) {
|
|
17207
17274
|
}
|
|
17208
17275
|
});
|
|
17209
17276
|
subscriptionRefs.current.clear();
|
|
17210
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17277
|
+
_optionalChain([abortControllerRef, 'access', _550 => _550.current, 'optionalAccess', _551 => _551.abort, 'call', _552 => _552()]);
|
|
17211
17278
|
}
|
|
17212
17279
|
abortControllerRef.current = new AbortController();
|
|
17213
17280
|
const abort = abortControllerRef.current;
|
|
@@ -17237,7 +17304,7 @@ function useNatsDialogSubscription({
|
|
|
17237
17304
|
});
|
|
17238
17305
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
17239
17306
|
setIsSubscribed(true);
|
|
17240
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17307
|
+
_optionalChain([onSubscribedRef, 'access', _553 => _553.current, 'optionalCall', _554 => _554()]);
|
|
17241
17308
|
};
|
|
17242
17309
|
if (isConnectedRef.current) {
|
|
17243
17310
|
createSubscriptions();
|
|
@@ -17248,7 +17315,7 @@ function useNatsDialogSubscription({
|
|
|
17248
17315
|
abort.abort();
|
|
17249
17316
|
subscriptions.forEach((sub) => {
|
|
17250
17317
|
try {
|
|
17251
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17318
|
+
_optionalChain([sub, 'optionalAccess', _555 => _555.unsubscribe, 'call', _556 => _556()]);
|
|
17252
17319
|
} catch (e37) {
|
|
17253
17320
|
}
|
|
17254
17321
|
});
|
|
@@ -17287,7 +17354,7 @@ function useNatsDialogSubscription({
|
|
|
17287
17354
|
});
|
|
17288
17355
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
17289
17356
|
setIsSubscribed(true);
|
|
17290
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17357
|
+
_optionalChain([onSubscribedRef, 'access', _557 => _557.current, 'optionalCall', _558 => _558()]);
|
|
17291
17358
|
} else if (subscriptionRefs.current.size > 0) {
|
|
17292
17359
|
setIsSubscribed(true);
|
|
17293
17360
|
}
|
|
@@ -17295,10 +17362,10 @@ function useNatsDialogSubscription({
|
|
|
17295
17362
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
17296
17363
|
}
|
|
17297
17364
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
17298
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
17365
|
+
const path = _optionalChain([options, 'optionalAccess', _559 => _559.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
17299
17366
|
const u = new URL(path, apiBaseUrl);
|
|
17300
17367
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
17301
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
17368
|
+
if (_optionalChain([options, 'optionalAccess', _560 => _560.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _561 => _561.token])) {
|
|
17302
17369
|
u.searchParams.set("authorization", options.token);
|
|
17303
17370
|
}
|
|
17304
17371
|
return u.toString();
|
|
@@ -17316,7 +17383,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17316
17383
|
const data = await res.json();
|
|
17317
17384
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
17318
17385
|
} catch (err) {
|
|
17319
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17386
|
+
if (_optionalChain([err, 'optionalAccess', _562 => _562.name]) === "AbortError") throw err;
|
|
17320
17387
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
17321
17388
|
return [];
|
|
17322
17389
|
}
|
|
@@ -17324,8 +17391,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17324
17391
|
var NO_COMMANDS = [];
|
|
17325
17392
|
function useSlashCommands(prefix, commandsUrl) {
|
|
17326
17393
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
17327
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17328
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17394
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _563 => _563.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
17395
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _564 => _564.prefix]) !== prefix;
|
|
17329
17396
|
_react.useEffect.call(void 0, () => {
|
|
17330
17397
|
if (prefix == null) return void 0;
|
|
17331
17398
|
let cancelled = false;
|
|
@@ -17335,7 +17402,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
17335
17402
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
17336
17403
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
17337
17404
|
} catch (err) {
|
|
17338
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
17405
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _565 => _565.name]) !== "AbortError") {
|
|
17339
17406
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
17340
17407
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
17341
17408
|
}
|
|
@@ -17358,7 +17425,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
17358
17425
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17359
17426
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
17360
17427
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
17361
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17428
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _566 => _566.enabled]), () => ( true)),
|
|
17362
17429
|
staleTime: Infinity,
|
|
17363
17430
|
gcTime: Infinity,
|
|
17364
17431
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17397,21 +17464,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17397
17464
|
}
|
|
17398
17465
|
const data = await res.json();
|
|
17399
17466
|
return {
|
|
17400
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17401
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17402
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17403
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17404
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17405
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17467
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _567 => _567.name]), () => ( null)),
|
|
17468
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _568 => _568.icon]), () => ( null)),
|
|
17469
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _569 => _569.greeting]), () => ( null)),
|
|
17470
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _570 => _570.enabledRagTableIds]), () => ( [])),
|
|
17471
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _571 => _571.quickActions]), () => ( [])),
|
|
17472
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _572 => _572.suggestedQueries]), () => ( []))
|
|
17406
17473
|
};
|
|
17407
17474
|
} catch (err) {
|
|
17408
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17475
|
+
if (_optionalChain([err, 'optionalAccess', _573 => _573.name]) === "AbortError") throw err;
|
|
17409
17476
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17410
17477
|
return EMPTY_STATE_FALLBACK;
|
|
17411
17478
|
}
|
|
17412
17479
|
}
|
|
17413
17480
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17414
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17481
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _574 => _574.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17415
17482
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17416
17483
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17417
17484
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17440,7 +17507,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17440
17507
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17441
17508
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17442
17509
|
return new Promise((resolve, reject) => {
|
|
17443
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17510
|
+
if (_optionalChain([signal, 'optionalAccess', _575 => _575.aborted])) {
|
|
17444
17511
|
reject(new Error("Upload cancelled"));
|
|
17445
17512
|
return;
|
|
17446
17513
|
}
|
|
@@ -17482,7 +17549,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17482
17549
|
const handleSignalAbort = () => {
|
|
17483
17550
|
xhr.abort();
|
|
17484
17551
|
};
|
|
17485
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17552
|
+
_optionalChain([signal, 'optionalAccess', _576 => _576.addEventListener, 'call', _577 => _577("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17486
17553
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17487
17554
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17488
17555
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17526,10 +17593,10 @@ function useChatAttachments() {
|
|
|
17526
17593
|
try {
|
|
17527
17594
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17528
17595
|
} catch (err) {
|
|
17529
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17596
|
+
if (_optionalChain([ctrl, 'optionalAccess', _578 => _578.signal, 'access', _579 => _579.aborted])) return;
|
|
17530
17597
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17531
17598
|
}
|
|
17532
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17599
|
+
if (_optionalChain([ctrl, 'optionalAccess', _580 => _580.signal, 'access', _581 => _581.aborted])) return;
|
|
17533
17600
|
if (!sniffed) {
|
|
17534
17601
|
throw new Error("Unrecognized file format");
|
|
17535
17602
|
}
|
|
@@ -17543,7 +17610,7 @@ function useChatAttachments() {
|
|
|
17543
17610
|
const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17544
17611
|
method: "POST",
|
|
17545
17612
|
headers: { "Content-Type": "application/json" },
|
|
17546
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17613
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _582 => _582.signal]),
|
|
17547
17614
|
body: JSON.stringify({
|
|
17548
17615
|
fileName: att.file.name,
|
|
17549
17616
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17572,9 +17639,9 @@ function useChatAttachments() {
|
|
|
17572
17639
|
(pct) => {
|
|
17573
17640
|
updateOne(att.id, { progress: pct });
|
|
17574
17641
|
},
|
|
17575
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17642
|
+
_optionalChain([ctrl, 'optionalAccess', _583 => _583.signal])
|
|
17576
17643
|
);
|
|
17577
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17644
|
+
if (_optionalChain([ctrl, 'optionalAccess', _584 => _584.signal, 'access', _585 => _585.aborted])) return;
|
|
17578
17645
|
updateOne(att.id, {
|
|
17579
17646
|
status: "ready",
|
|
17580
17647
|
progress: 100,
|
|
@@ -17582,7 +17649,7 @@ function useChatAttachments() {
|
|
|
17582
17649
|
viewToken: mintData.viewToken
|
|
17583
17650
|
});
|
|
17584
17651
|
} catch (err) {
|
|
17585
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17652
|
+
if (_optionalChain([ctrl, 'optionalAccess', _586 => _586.signal, 'access', _587 => _587.aborted])) return;
|
|
17586
17653
|
const message = err instanceof Error ? err.message : String(err);
|
|
17587
17654
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17588
17655
|
} finally {
|
|
@@ -17731,11 +17798,11 @@ var ANON_DEFAULTS = {
|
|
|
17731
17798
|
function useResolveChatIdentity(enabled) {
|
|
17732
17799
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
17733
17800
|
const url = runtime.endpoints.identityUrl;
|
|
17734
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17801
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _588 => _588.email]), () => ( null));
|
|
17735
17802
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17736
17803
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17737
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17738
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17804
|
+
const data = _optionalChain([resolved, 'optionalAccess', _589 => _589.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17805
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _590 => _590.key]) !== requestKey;
|
|
17739
17806
|
_react.useEffect.call(void 0, () => {
|
|
17740
17807
|
if (requestKey === null) return void 0;
|
|
17741
17808
|
let cancelled = false;
|
|
@@ -17882,7 +17949,7 @@ function useChat({
|
|
|
17882
17949
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17883
17950
|
});
|
|
17884
17951
|
_react.useEffect.call(void 0, () => {
|
|
17885
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17952
|
+
_optionalChain([onMessagesChangeRef, 'access', _591 => _591.current, 'optionalCall', _592 => _592(messages)]);
|
|
17886
17953
|
}, [messages]);
|
|
17887
17954
|
const {
|
|
17888
17955
|
streamMessage,
|
|
@@ -17919,7 +17986,7 @@ function useChat({
|
|
|
17919
17986
|
name: "You",
|
|
17920
17987
|
content: text2,
|
|
17921
17988
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17922
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17989
|
+
..._optionalChain([options, 'optionalAccess', _593 => _593.hidden]) ? { hidden: true } : {}
|
|
17923
17990
|
};
|
|
17924
17991
|
addMessage(userMessage);
|
|
17925
17992
|
setIsTyping(true);
|
|
@@ -18133,7 +18200,7 @@ function buildConfirmToolBody(request) {
|
|
|
18133
18200
|
async function readServerErrorMessage(response) {
|
|
18134
18201
|
try {
|
|
18135
18202
|
const body = await response.json();
|
|
18136
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
18203
|
+
if (typeof _optionalChain([body, 'optionalAccess', _594 => _594.error]) === "string" && body.error.length > 0) return body.error;
|
|
18137
18204
|
} catch (e39) {
|
|
18138
18205
|
}
|
|
18139
18206
|
return null;
|
|
@@ -18461,7 +18528,7 @@ function youtubeVideoId(value) {
|
|
|
18461
18528
|
const hostname = parsed.hostname.toLowerCase();
|
|
18462
18529
|
const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
|
|
18463
18530
|
if (!isYoutubeHost) return void 0;
|
|
18464
|
-
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access',
|
|
18531
|
+
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _595 => _595.exec, 'call', _596 => _596(parsed.pathname), 'optionalAccess', _597 => _597[1]]);
|
|
18465
18532
|
const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
|
|
18466
18533
|
return id && YOUTUBE_ID.test(id) ? id : void 0;
|
|
18467
18534
|
}
|
|
@@ -18580,11 +18647,11 @@ function cards(value, decodedSources) {
|
|
|
18580
18647
|
{
|
|
18581
18648
|
type,
|
|
18582
18649
|
id,
|
|
18583
|
-
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18584
|
-
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18585
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18586
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18587
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18650
|
+
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _598 => _598.name]), () => ( id)),
|
|
18651
|
+
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _599 => _599.externalUrl]), () => ( null)),
|
|
18652
|
+
..._optionalChain([source, 'optionalAccess', _600 => _600.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
|
|
18653
|
+
..._optionalChain([source, 'optionalAccess', _601 => _601.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
|
|
18654
|
+
..._optionalChain([source, 'optionalAccess', _602 => _602.path]) ? { metadata: { path: source.path } } : {}
|
|
18588
18655
|
}
|
|
18589
18656
|
];
|
|
18590
18657
|
});
|
|
@@ -18620,11 +18687,11 @@ function attachmentsEvent(record) {
|
|
|
18620
18687
|
}
|
|
18621
18688
|
function mergeSourceMetadata(previous, event) {
|
|
18622
18689
|
const byIndex = /* @__PURE__ */ new Map();
|
|
18623
|
-
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18690
|
+
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _603 => _603.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
|
|
18624
18691
|
if (!byIndex.has(source.index)) byIndex.set(source.index, source);
|
|
18625
18692
|
}
|
|
18626
18693
|
const byIdentity = /* @__PURE__ */ new Map();
|
|
18627
|
-
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18694
|
+
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _604 => _604.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
|
|
18628
18695
|
const identity = `${ref.type}:${ref.id}`;
|
|
18629
18696
|
if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
|
|
18630
18697
|
}
|
|
@@ -18710,9 +18777,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18710
18777
|
for (const seg of segments) {
|
|
18711
18778
|
const tail = merged[merged.length - 1];
|
|
18712
18779
|
const key = upsertKey(seg);
|
|
18713
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18780
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _605 => _605.type]) === "text") {
|
|
18714
18781
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18715
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18782
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _606 => _606.type]) === "thinking") {
|
|
18716
18783
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18717
18784
|
} else if (key) {
|
|
18718
18785
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18753,7 +18820,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18753
18820
|
}
|
|
18754
18821
|
if (s.type !== "approval_batch") return s;
|
|
18755
18822
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18756
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18823
|
+
const hasRow = _optionalChain([s, 'access', _607 => _607.data, 'access', _608 => _608.toolCalls, 'optionalAccess', _609 => _609.some, 'call', _610 => _610((c) => c.toolExecutionRequestId === requestId)]);
|
|
18757
18824
|
if (!isAnchor && !hasRow) return s;
|
|
18758
18825
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18759
18826
|
const nextExecutions = hasRow ? {
|
|
@@ -18775,8 +18842,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18775
18842
|
};
|
|
18776
18843
|
}
|
|
18777
18844
|
function nextBatchExecution(prevExec, toolData) {
|
|
18778
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18779
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18845
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _611 => _611.status]) === "done") return null;
|
|
18846
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _612 => _612.result]), success: _optionalChain([prevExec, 'optionalAccess', _613 => _613.success]) };
|
|
18780
18847
|
}
|
|
18781
18848
|
function withBatchExecution(seg, execId, state) {
|
|
18782
18849
|
return {
|
|
@@ -18793,11 +18860,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18793
18860
|
}
|
|
18794
18861
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18795
18862
|
return mapSegments(prev, (s) => {
|
|
18796
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18863
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _614 => _614.data, 'access', _615 => _615.toolCalls, 'optionalAccess', _616 => _616.some, 'call', _617 => _617((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18797
18864
|
return s;
|
|
18798
18865
|
}
|
|
18799
|
-
const existing = _optionalChain([s, 'access',
|
|
18800
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18866
|
+
const existing = _optionalChain([s, 'access', _618 => _618.data, 'access', _619 => _619.executions, 'optionalAccess', _620 => _620[rowRequestId]]);
|
|
18867
|
+
if (_optionalChain([existing, 'optionalAccess', _621 => _621.status]) === "done") return s;
|
|
18801
18868
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18802
18869
|
});
|
|
18803
18870
|
}
|
|
@@ -18833,7 +18900,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18833
18900
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18834
18901
|
const seg = message.segments[j];
|
|
18835
18902
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18836
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18903
|
+
const prevExec = _optionalChain([seg, 'access', _622 => _622.data, 'access', _623 => _623.executions, 'optionalAccess', _624 => _624[execId]]);
|
|
18837
18904
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18838
18905
|
if (nextExec === null) return prev;
|
|
18839
18906
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -19006,9 +19073,9 @@ var MessageSegmentAccumulator = class {
|
|
|
19006
19073
|
type: "tool_execution",
|
|
19007
19074
|
data: {
|
|
19008
19075
|
...toolData,
|
|
19009
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
19010
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
19011
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
19076
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _625 => _625.data, 'access', _626 => _626.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _627 => _627.toolTitle]))),
|
|
19077
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _628 => _628.data, 'access', _629 => _629.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _630 => _630.toolExplanation]))),
|
|
19078
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _631 => _631.parameters])
|
|
19012
19079
|
}
|
|
19013
19080
|
};
|
|
19014
19081
|
if (existingIndex !== -1) {
|
|
@@ -19032,7 +19099,7 @@ var MessageSegmentAccumulator = class {
|
|
|
19032
19099
|
if (seg.type !== "approval_batch") return seg;
|
|
19033
19100
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
19034
19101
|
if (!hasCall) return seg;
|
|
19035
|
-
const prev = _optionalChain([seg, 'access',
|
|
19102
|
+
const prev = _optionalChain([seg, 'access', _632 => _632.data, 'access', _633 => _633.executions, 'optionalAccess', _634 => _634[execId]]);
|
|
19036
19103
|
const next = nextBatchExecution(prev, toolData);
|
|
19037
19104
|
matched = true;
|
|
19038
19105
|
if (next === null) return seg;
|
|
@@ -19166,8 +19233,8 @@ var MessageSegmentAccumulator = class {
|
|
|
19166
19233
|
requestId,
|
|
19167
19234
|
{
|
|
19168
19235
|
...pendingApproval,
|
|
19169
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19170
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19236
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _635 => _635.command]) || "",
|
|
19237
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _636 => _636.approvalType]) || approvalType
|
|
19171
19238
|
},
|
|
19172
19239
|
status
|
|
19173
19240
|
);
|
|
@@ -19192,9 +19259,9 @@ var MessageSegmentAccumulator = class {
|
|
|
19192
19259
|
type: "escalation_offer",
|
|
19193
19260
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
19194
19261
|
// not blank the card the PENDING chunk already painted.
|
|
19195
|
-
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess',
|
|
19262
|
+
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _637 => _637.data, 'access', _638 => _638.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _639 => _639.data, 'access', _640 => _640.origin]))) },
|
|
19196
19263
|
status,
|
|
19197
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
19264
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _641 => _641.resolvedByName]))),
|
|
19198
19265
|
onApprove: this.callbacks.onEscalationApprove,
|
|
19199
19266
|
onReject: this.callbacks.onEscalationReject
|
|
19200
19267
|
};
|
|
@@ -19514,7 +19581,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19514
19581
|
let stateCache = null;
|
|
19515
19582
|
function invalidate() {
|
|
19516
19583
|
stateCache = null;
|
|
19517
|
-
_optionalChain([onChange, 'optionalCall',
|
|
19584
|
+
_optionalChain([onChange, 'optionalCall', _642 => _642()]);
|
|
19518
19585
|
}
|
|
19519
19586
|
function getState() {
|
|
19520
19587
|
if (!stateCache) {
|
|
@@ -19532,7 +19599,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19532
19599
|
return stateCache;
|
|
19533
19600
|
}
|
|
19534
19601
|
function emit(name, ...args) {
|
|
19535
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
19602
|
+
_optionalChain([onEffect, 'optionalCall', _643 => _643({ name, args })]);
|
|
19536
19603
|
}
|
|
19537
19604
|
function setMessagesInternal(next) {
|
|
19538
19605
|
if (next !== messages) {
|
|
@@ -19575,12 +19642,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
19575
19642
|
return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
|
|
19576
19643
|
}
|
|
19577
19644
|
function applySegmentsToState(segments, meta) {
|
|
19578
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
19579
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19645
|
+
const seq = _optionalChain([meta, 'optionalAccess', _644 => _644.streamSeq]);
|
|
19646
|
+
if (_optionalChain([meta, 'optionalAccess', _645 => _645.append]) && meta.isCompacting) {
|
|
19580
19647
|
setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
|
|
19581
19648
|
return;
|
|
19582
19649
|
}
|
|
19583
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19650
|
+
if (_optionalChain([meta, 'optionalAccess', _646 => _646.append])) {
|
|
19584
19651
|
setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
|
|
19585
19652
|
return;
|
|
19586
19653
|
}
|
|
@@ -19592,7 +19659,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19592
19659
|
adoptTrailingAssistant = false;
|
|
19593
19660
|
const last = messages[messages.length - 1];
|
|
19594
19661
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
19595
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19662
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _647 => _647.segments, 'optionalAccess', _648 => _648.length]), () => ( 0))) > 0 || last.content !== "";
|
|
19596
19663
|
if (!hasContent) return;
|
|
19597
19664
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
19598
19665
|
}
|
|
@@ -19811,13 +19878,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19811
19878
|
const summary = required ? _chunkHP4UUBJCcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19812
19879
|
pendingEscalated.set(requestId, {
|
|
19813
19880
|
command: summary,
|
|
19814
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19881
|
+
explanation: _optionalChain([required, 'optionalAccess', _649 => _649.toolExplanation]),
|
|
19815
19882
|
approvalType,
|
|
19816
19883
|
toolCalls
|
|
19817
19884
|
});
|
|
19818
19885
|
emit("onEscalatedApproval", requestId, {
|
|
19819
19886
|
command: summary,
|
|
19820
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19887
|
+
explanation: _optionalChain([required, 'optionalAccess', _650 => _650.toolExplanation]),
|
|
19821
19888
|
approvalType
|
|
19822
19889
|
});
|
|
19823
19890
|
break;
|
|
@@ -20205,7 +20272,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20205
20272
|
const resolveBatch = (status, confirm) => async () => {
|
|
20206
20273
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
20207
20274
|
for (const id of ids) {
|
|
20208
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
20275
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _651 => _651(id)]);
|
|
20209
20276
|
if (ok === false) {
|
|
20210
20277
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
20211
20278
|
}
|
|
@@ -20341,8 +20408,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
20341
20408
|
}
|
|
20342
20409
|
}
|
|
20343
20410
|
}
|
|
20344
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
20345
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
20411
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _652 => _652.resumed]), () => ( messages.length > 0)));
|
|
20412
|
+
if (_optionalChain([extras, 'optionalAccess', _653 => _653.agentBusy])) agentBusyState();
|
|
20346
20413
|
invalidate();
|
|
20347
20414
|
}
|
|
20348
20415
|
return {
|
|
@@ -20429,7 +20496,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20429
20496
|
},
|
|
20430
20497
|
endSseTurn() {
|
|
20431
20498
|
const last = messages[messages.length - 1];
|
|
20432
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
20499
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _654 => _654.segments, 'optionalAccess', _655 => _655.length]), () => ( 0))) === 0 && last.content === "") {
|
|
20433
20500
|
messages = messages.slice(0, -1);
|
|
20434
20501
|
}
|
|
20435
20502
|
sseCurrentText = "";
|
|
@@ -20583,10 +20650,10 @@ function createChatDialogStore(options = {}) {
|
|
|
20583
20650
|
if (onEvict) {
|
|
20584
20651
|
const sep = key.indexOf(KEY_SEP);
|
|
20585
20652
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
20586
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20587
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20588
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20589
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20653
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _656 => _656.state, 'access', _657 => _657.messages]), () => ( EMPTY_STATE.messages)),
|
|
20654
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _658 => _658.state, 'access', _659 => _659.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
20655
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _660 => _660.getLastAppliedSeq, 'call', _661 => _661()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
20656
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _662 => _662.getPendingEchoes, 'call', _663 => _663()]), () => ( EMPTY_PENDING_ECHOES))
|
|
20590
20657
|
});
|
|
20591
20658
|
}
|
|
20592
20659
|
}
|
|
@@ -20596,12 +20663,12 @@ function createChatDialogStore(options = {}) {
|
|
|
20596
20663
|
const key = keyOf(dialogId, side);
|
|
20597
20664
|
let reducer = reducers.get(key);
|
|
20598
20665
|
if (!reducer) {
|
|
20599
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
20666
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _664 => _664(dialogId, side)]), () => ( {}));
|
|
20600
20667
|
const userOnChange = base.onChange;
|
|
20601
20668
|
reducer = createChatStreamReducer({
|
|
20602
20669
|
...base,
|
|
20603
20670
|
onChange: () => {
|
|
20604
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
20671
|
+
_optionalChain([userOnChange, 'optionalCall', _665 => _665()]);
|
|
20605
20672
|
notify();
|
|
20606
20673
|
}
|
|
20607
20674
|
});
|
|
@@ -20646,7 +20713,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20646
20713
|
};
|
|
20647
20714
|
}
|
|
20648
20715
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20649
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20716
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _666 => _666.get, 'call', _667 => _667(keyOf(dialogId, side)), 'optionalAccess', _668 => _668.state]), () => ( EMPTY_STATE));
|
|
20650
20717
|
}
|
|
20651
20718
|
function getServerSnapshot2() {
|
|
20652
20719
|
return EMPTY_STATE;
|
|
@@ -20738,7 +20805,7 @@ function createDeltaBatcher({
|
|
|
20738
20805
|
pending = [];
|
|
20739
20806
|
const key = pendingKey;
|
|
20740
20807
|
for (const delta of batch) applyOne(delta, key);
|
|
20741
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20808
|
+
_optionalChain([onFlushed, 'optionalCall', _669 => _669(batch.length)]);
|
|
20742
20809
|
}
|
|
20743
20810
|
function schedule() {
|
|
20744
20811
|
if (raf !== null || timer !== null) return;
|
|
@@ -20762,7 +20829,7 @@ function createDeltaBatcher({
|
|
|
20762
20829
|
}
|
|
20763
20830
|
if (!isDeltaEvent(event)) return false;
|
|
20764
20831
|
const tail = pending[pending.length - 1];
|
|
20765
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20832
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _670 => _670.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20766
20833
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20767
20834
|
pending[pending.length - 1] = {
|
|
20768
20835
|
...tail,
|
|
@@ -20793,7 +20860,7 @@ function useChatStreamReducer({
|
|
|
20793
20860
|
side = DEFAULT_DIALOG_SIDE,
|
|
20794
20861
|
createReducerOptions
|
|
20795
20862
|
}) {
|
|
20796
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20863
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _671 => _671()]), () => ( {})));
|
|
20797
20864
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20798
20865
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20799
20866
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20832,7 +20899,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20832
20899
|
var namespaceFor = (source) => {
|
|
20833
20900
|
const base = `mingo-chat-${source}`;
|
|
20834
20901
|
const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20835
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20902
|
+
return _optionalChain([auth, 'optionalAccess', _672 => _672.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20836
20903
|
};
|
|
20837
20904
|
function createChatConversationStorage(source) {
|
|
20838
20905
|
return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20963,7 +21030,7 @@ function useChatHistoryHydration({
|
|
|
20963
21030
|
if (cancelled) return;
|
|
20964
21031
|
if (rows.length === 0) {
|
|
20965
21032
|
const found = isRecord(body) ? body.found : void 0;
|
|
20966
|
-
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall',
|
|
21033
|
+
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _673 => _673(conversationId)]);
|
|
20967
21034
|
return;
|
|
20968
21035
|
}
|
|
20969
21036
|
const hydrated = [];
|
|
@@ -21107,7 +21174,7 @@ function useManagedDialogList({
|
|
|
21107
21174
|
try {
|
|
21108
21175
|
await deleteDialogCallback(id);
|
|
21109
21176
|
removeLocal(id);
|
|
21110
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21177
|
+
_optionalChain([onDialogRemovedRef, 'access', _674 => _674.current, 'optionalCall', _675 => _675(id, "deleted")]);
|
|
21111
21178
|
} catch (err) {
|
|
21112
21179
|
console.error(`${logTag} deleteDialog failed:`, err);
|
|
21113
21180
|
throw err;
|
|
@@ -21118,7 +21185,7 @@ function useManagedDialogList({
|
|
|
21118
21185
|
const renameDialog = _react.useCallback.call(void 0,
|
|
21119
21186
|
async (id, title) => {
|
|
21120
21187
|
if (!renameDialogCallback) return;
|
|
21121
|
-
const previous = _optionalChain([dialogsRef, 'access',
|
|
21188
|
+
const previous = _optionalChain([dialogsRef, 'access', _676 => _676.current, 'access', _677 => _677.find, 'call', _678 => _678((d) => d.id === id), 'optionalAccess', _679 => _679.title]);
|
|
21122
21189
|
setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
|
|
21123
21190
|
try {
|
|
21124
21191
|
await renameDialogCallback(id, title);
|
|
@@ -21137,7 +21204,7 @@ function useManagedDialogList({
|
|
|
21137
21204
|
try {
|
|
21138
21205
|
await archiveDialogCallback(id);
|
|
21139
21206
|
removeLocal(id);
|
|
21140
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21207
|
+
_optionalChain([onDialogRemovedRef, 'access', _680 => _680.current, 'optionalCall', _681 => _681(id, "archived")]);
|
|
21141
21208
|
} catch (err) {
|
|
21142
21209
|
console.error(`${logTag} archiveDialog failed:`, err);
|
|
21143
21210
|
throw err;
|
|
@@ -21229,7 +21296,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21229
21296
|
const { active = true } = runtimeOptions;
|
|
21230
21297
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
21231
21298
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
21232
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
21299
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _682 => _682.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
21233
21300
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
21234
21301
|
() => Promise.resolve(true)
|
|
21235
21302
|
);
|
|
@@ -21265,7 +21332,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21265
21332
|
if (!restoredConversationRef.current) {
|
|
21266
21333
|
restoredConversationRef.current = true;
|
|
21267
21334
|
pruneStaleChatConversationStorage(source);
|
|
21268
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
21335
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _683 => _683.load, 'call', _684 => _684(), 'optionalAccess', _685 => _685.conversationId]), () => ( null));
|
|
21269
21336
|
}
|
|
21270
21337
|
const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
|
|
21271
21338
|
const commitConversationId = _react.useCallback.call(void 0,
|
|
@@ -21356,7 +21423,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21356
21423
|
const abortControllerRef = _react.useRef.call(void 0, null);
|
|
21357
21424
|
const switchConversation = _react.useCallback.call(void 0,
|
|
21358
21425
|
(id) => {
|
|
21359
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21426
|
+
_optionalChain([abortControllerRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.abort, 'call', _688 => _688()]);
|
|
21360
21427
|
flushDeltas();
|
|
21361
21428
|
mutate((r) => r.reset());
|
|
21362
21429
|
hydrationSendCountRef.current = 0;
|
|
@@ -21393,8 +21460,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21393
21460
|
} = useManagedDialogList({
|
|
21394
21461
|
autoLoad: active,
|
|
21395
21462
|
fetchDialogs: fetchActiveDialogs,
|
|
21396
|
-
renameDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21397
|
-
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21463
|
+
renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _689 => _689.renameDialog]),
|
|
21464
|
+
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _690 => _690.archiveDialog]),
|
|
21398
21465
|
pageSize: 20,
|
|
21399
21466
|
search: conversationsApi ? dialogSearch : void 0,
|
|
21400
21467
|
logTag: "[useSseChatAdapter]",
|
|
@@ -21458,7 +21525,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21458
21525
|
const serverMessage = await readServerErrorMessage(response);
|
|
21459
21526
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
21460
21527
|
}
|
|
21461
|
-
const reader = _optionalChain([response, 'access',
|
|
21528
|
+
const reader = _optionalChain([response, 'access', _691 => _691.body, 'optionalAccess', _692 => _692.getReader, 'call', _693 => _693()]);
|
|
21462
21529
|
if (!reader) throw new Error("No response body");
|
|
21463
21530
|
const frameDecoder = createSseFrameDecoder();
|
|
21464
21531
|
let finished = false;
|
|
@@ -21487,7 +21554,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21487
21554
|
}
|
|
21488
21555
|
return true;
|
|
21489
21556
|
} catch (err) {
|
|
21490
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
21557
|
+
if (_optionalChain([err, 'optionalAccess', _694 => _694.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
21491
21558
|
return true;
|
|
21492
21559
|
}
|
|
21493
21560
|
flushDeltas();
|
|
@@ -21523,7 +21590,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21523
21590
|
);
|
|
21524
21591
|
sendMessageRef.current = sendMessage;
|
|
21525
21592
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
21526
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21593
|
+
_optionalChain([abortControllerRef, 'access', _695 => _695.current, 'optionalAccess', _696 => _696.abort, 'call', _697 => _697()]);
|
|
21527
21594
|
flushDeltas();
|
|
21528
21595
|
mutate((r) => r.setPhase("idle"));
|
|
21529
21596
|
}, [mutate, flushDeltas]);
|
|
@@ -21559,7 +21626,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21559
21626
|
let sendIdx = -1;
|
|
21560
21627
|
return state.messages.map((m) => {
|
|
21561
21628
|
const segments = m.segments;
|
|
21562
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
21629
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _698 => _698.filter, 'call', _699 => _699((s) => s.type === "text"), 'access', _700 => _700.map, 'call', _701 => _701((s) => s.text), 'access', _702 => _702.join, 'call', _703 => _703("")]), () => ( ""));
|
|
21563
21630
|
let sources2;
|
|
21564
21631
|
let scrollAnchor;
|
|
21565
21632
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -21568,7 +21635,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21568
21635
|
if (m.role === "assistant") {
|
|
21569
21636
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
21570
21637
|
sources2 = sourcesMap.get(lookupIdx);
|
|
21571
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
21638
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _704 => _704.get, 'call', _705 => _705(lookupIdx), 'optionalAccess', _706 => _706.scrollAnchor]), () => ( void 0));
|
|
21572
21639
|
}
|
|
21573
21640
|
return {
|
|
21574
21641
|
id: m.id,
|
|
@@ -21595,7 +21662,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21595
21662
|
);
|
|
21596
21663
|
return;
|
|
21597
21664
|
}
|
|
21598
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
21665
|
+
const refSlug = typeof _optionalChain([reference, 'access', _707 => _707.metadata, 'optionalAccess', _708 => _708.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
21599
21666
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
21600
21667
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
21601
21668
|
const text2 = `/${cmdId} display "${escaped}"`;
|
|
@@ -21643,18 +21710,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21643
21710
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
21644
21711
|
isHydratingHistory,
|
|
21645
21712
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
21646
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21647
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21648
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21713
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _709 => _709.provider]), () => ( null)),
|
|
21714
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _710 => _710.modelLabel]), () => ( null)),
|
|
21715
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _711 => _711.contextWindowMaxTokens]), () => ( null)),
|
|
21649
21716
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
21650
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21717
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _712 => _712.inputTokens]), () => ( null)),
|
|
21651
21718
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
21652
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21719
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _713 => _713.outputTokens]), () => ( null)),
|
|
21653
21720
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
21654
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21721
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _714 => _714.cacheHitRatePct]), () => ( null)),
|
|
21655
21722
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
21656
21723
|
* token counts). null until the trailing usage frame lands. */
|
|
21657
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21724
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _715 => _715.breakdown]), () => ( null)),
|
|
21658
21725
|
// ─── Dialog management ───────────────────────────────────────────────
|
|
21659
21726
|
// With `chatConversationsUrl` the server transcript store IS the dialog
|
|
21660
21727
|
// list (shared `useManagedDialogList`); selecting a row re-hydrates through
|
|
@@ -21910,7 +21977,7 @@ function decodeNatsChunk(chunk) {
|
|
|
21910
21977
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
21911
21978
|
// Wire shape carries no label; fall back to the id (parity with
|
|
21912
21979
|
// the history path in `process-historical-messages.ts`).
|
|
21913
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
21980
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _716 => _716.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _717 => _717.id]) === "string").map((it) => ({
|
|
21914
21981
|
type: it.type,
|
|
21915
21982
|
id: it.id,
|
|
21916
21983
|
label: it.id
|
|
@@ -22001,7 +22068,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
22001
22068
|
}
|
|
22002
22069
|
break;
|
|
22003
22070
|
case "approval_batch": {
|
|
22004
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
22071
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _718 => _718.data, 'access', _719 => _719.executions, 'optionalAccess', _720 => _720[c.toolExecutionRequestId], 'optionalAccess', _721 => _721.status]) === "done");
|
|
22005
22072
|
if (segment.status !== "rejected" && !allDone) {
|
|
22006
22073
|
hasIncompleteState = true;
|
|
22007
22074
|
}
|
|
@@ -22063,11 +22130,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
22063
22130
|
function extractIncompleteTailState(messages) {
|
|
22064
22131
|
if (!messages || messages.length === 0) return void 0;
|
|
22065
22132
|
let start = messages.length;
|
|
22066
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
22133
|
+
while (start > 0 && _optionalChain([messages, 'access', _722 => _722[start - 1], 'optionalAccess', _723 => _723.role]) === "assistant") start -= 1;
|
|
22067
22134
|
if (start === messages.length) return void 0;
|
|
22068
22135
|
const segments = [];
|
|
22069
22136
|
for (let i = start; i < messages.length; i += 1) {
|
|
22070
|
-
const content = _optionalChain([messages, 'access',
|
|
22137
|
+
const content = _optionalChain([messages, 'access', _724 => _724[i], 'optionalAccess', _725 => _725.content]);
|
|
22071
22138
|
if (Array.isArray(content)) segments.push(...content);
|
|
22072
22139
|
}
|
|
22073
22140
|
if (segments.length === 0) return void 0;
|
|
@@ -22080,15 +22147,15 @@ function extractIncompleteTailState(messages) {
|
|
|
22080
22147
|
|
|
22081
22148
|
// src/components/chat/utils/process-historical-messages.ts
|
|
22082
22149
|
function getOwnerDisplayName(owner) {
|
|
22083
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
22150
|
+
if (_optionalChain([owner, 'optionalAccess', _726 => _726.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
22084
22151
|
const { firstName, lastName } = owner.user;
|
|
22085
22152
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
22086
22153
|
if (name) return name;
|
|
22087
22154
|
}
|
|
22088
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
22155
|
+
return _optionalChain([owner, 'optionalAccess', _727 => _727.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
22089
22156
|
}
|
|
22090
22157
|
function getOwnerAvatar(owner) {
|
|
22091
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
22158
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _728 => _728.user, 'optionalAccess', _729 => _729.image, 'optionalAccess', _730 => _730.imageUrl]), () => ( void 0));
|
|
22092
22159
|
}
|
|
22093
22160
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
22094
22161
|
messageDataArray.forEach((data) => {
|
|
@@ -22280,7 +22347,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22280
22347
|
event.offerId,
|
|
22281
22348
|
event.text,
|
|
22282
22349
|
event.origin,
|
|
22283
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
22350
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _731 => _731[event.offerId]]), () => ( "pending"))
|
|
22284
22351
|
);
|
|
22285
22352
|
break;
|
|
22286
22353
|
case "ticket-escalated":
|
|
@@ -22314,7 +22381,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22314
22381
|
);
|
|
22315
22382
|
break;
|
|
22316
22383
|
case "escalation-offer-resolved":
|
|
22317
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
22384
|
+
_optionalChain([offerResolutions, 'optionalAccess', _732 => _732.set, 'call', _733 => _733(event.offerId, {
|
|
22318
22385
|
status: event.status,
|
|
22319
22386
|
resolvedByName: event.resolvedByName
|
|
22320
22387
|
})]);
|
|
@@ -22378,7 +22445,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22378
22445
|
}
|
|
22379
22446
|
}
|
|
22380
22447
|
} else {
|
|
22381
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22448
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _734 => _734.set, 'call', _735 => _735(event.requestId, {
|
|
22382
22449
|
command: event.command || "",
|
|
22383
22450
|
explanation: event.explanation,
|
|
22384
22451
|
approvalType,
|
|
@@ -22393,8 +22460,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22393
22460
|
const existingStatus = approvalStatuses[requestId];
|
|
22394
22461
|
const status = existingStatus || event.status;
|
|
22395
22462
|
const resolvedByName = event.resolvedByName;
|
|
22396
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22397
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
22463
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _736 => _736.get, 'call', _737 => _737(requestId)]);
|
|
22464
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _738 => _738.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
22398
22465
|
if (batchApprovalsEnabled) {
|
|
22399
22466
|
accumulator.addApprovalBatch(
|
|
22400
22467
|
requestId,
|
|
@@ -22416,7 +22483,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22416
22483
|
);
|
|
22417
22484
|
}
|
|
22418
22485
|
}
|
|
22419
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22486
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _739 => _739.delete, 'call', _740 => _740(requestId)]);
|
|
22420
22487
|
break;
|
|
22421
22488
|
}
|
|
22422
22489
|
if (escalatedData) {
|
|
@@ -22425,7 +22492,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22425
22492
|
explanation: escalatedData.explanation,
|
|
22426
22493
|
approvalType: escalatedData.approvalType
|
|
22427
22494
|
});
|
|
22428
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22495
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _741 => _741.delete, 'call', _742 => _742(requestId)]);
|
|
22429
22496
|
}
|
|
22430
22497
|
const before = accumulator.getSegments();
|
|
22431
22498
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -22517,14 +22584,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22517
22584
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
22518
22585
|
return;
|
|
22519
22586
|
}
|
|
22520
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
22587
|
+
const isUserMessage = _optionalChain([msg, 'access', _743 => _743.owner, 'optionalAccess', _744 => _744.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _745 => _745.owner, 'optionalAccess', _746 => _746.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN;
|
|
22521
22588
|
if (isUserMessage) {
|
|
22522
22589
|
flushAssistantMessage();
|
|
22523
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
22590
|
+
const userAuthorType = _optionalChain([msg, 'access', _747 => _747.owner, 'optionalAccess', _748 => _748.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
22524
22591
|
messageDataArray.forEach((data) => {
|
|
22525
22592
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
22526
22593
|
const rawContext = data.contextItems;
|
|
22527
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
22594
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _749 => _749.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _750 => _750.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
22528
22595
|
processedMessages.push({
|
|
22529
22596
|
id: msg.id,
|
|
22530
22597
|
role: "user",
|
|
@@ -22571,7 +22638,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22571
22638
|
});
|
|
22572
22639
|
const nextMsg = messages[index + 1];
|
|
22573
22640
|
const isLastMessage = index === messages.length - 1;
|
|
22574
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
22641
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _751 => _751.owner, 'optionalAccess', _752 => _752.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _753 => _753.owner, 'optionalAccess', _754 => _754.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN);
|
|
22575
22642
|
if (isLastMessage || nextIsFromUser) {
|
|
22576
22643
|
flushAssistantMessage();
|
|
22577
22644
|
}
|
|
@@ -22954,7 +23021,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22954
23021
|
const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
|
|
22955
23022
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22956
23023
|
async (text2, sendOptions) => {
|
|
22957
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
23024
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _755 => _755.hidden]), () => ( false));
|
|
22958
23025
|
mutate((r) => r.pushOptimisticSend(text2, hidden));
|
|
22959
23026
|
await publishUserMessage(text2, { hidden, dialogId });
|
|
22960
23027
|
},
|
|
@@ -23047,11 +23114,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
23047
23114
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
23048
23115
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
23049
23116
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
23050
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23051
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23052
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23053
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23054
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23117
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _756 => _756.provider]), () => ( modelProvider)), () => ( null)),
|
|
23118
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _757 => _757.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
23119
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _758 => _758.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _759 => _759.contextWindowMaxTokens]))), () => ( null)),
|
|
23120
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _760 => _760.inputTokensSize]), () => ( null)),
|
|
23121
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _761 => _761.outputTokensSize]), () => ( null)),
|
|
23055
23122
|
currentCacheHitRatePct: null,
|
|
23056
23123
|
currentUsageBreakdown: null,
|
|
23057
23124
|
// Dialog management
|
|
@@ -23173,7 +23240,7 @@ function useUnifiedChat(options) {
|
|
|
23173
23240
|
[]
|
|
23174
23241
|
);
|
|
23175
23242
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
23176
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
23243
|
+
(ref) => _optionalChain([activeStateRef, 'access', _762 => _762.current, 'access', _763 => _763.displayRef, 'optionalCall', _764 => _764(ref)]),
|
|
23177
23244
|
[]
|
|
23178
23245
|
);
|
|
23179
23246
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -23183,7 +23250,7 @@ function useUnifiedChat(options) {
|
|
|
23183
23250
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
23184
23251
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
23185
23252
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
23186
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
23253
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _765 => _765.current, 'access', _766 => _766.setDialogScope, 'optionalCall', _767 => _767(scope)]), []);
|
|
23187
23254
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
23188
23255
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
23189
23256
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -23293,19 +23360,19 @@ function turnRequestKeys(content) {
|
|
|
23293
23360
|
if (!Array.isArray(content)) return keys;
|
|
23294
23361
|
for (const seg of content) {
|
|
23295
23362
|
if (seg.type === "tool_execution") {
|
|
23296
|
-
const id = _optionalChain([seg, 'access',
|
|
23363
|
+
const id = _optionalChain([seg, 'access', _768 => _768.data, 'optionalAccess', _769 => _769.toolExecutionRequestId]);
|
|
23297
23364
|
if (id) keys.add(id);
|
|
23298
23365
|
} else if (seg.type === "approval_request") {
|
|
23299
|
-
const id = _optionalChain([seg, 'access',
|
|
23366
|
+
const id = _optionalChain([seg, 'access', _770 => _770.data, 'optionalAccess', _771 => _771.requestId]);
|
|
23300
23367
|
if (id) keys.add(id);
|
|
23301
23368
|
} else if (seg.type === "escalation_offer") {
|
|
23302
|
-
const id = _optionalChain([seg, 'access',
|
|
23369
|
+
const id = _optionalChain([seg, 'access', _772 => _772.data, 'optionalAccess', _773 => _773.offerId]);
|
|
23303
23370
|
if (id) keys.add(id);
|
|
23304
23371
|
} else if (seg.type === "approval_batch") {
|
|
23305
23372
|
const data = seg.data;
|
|
23306
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
23307
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
23308
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
23373
|
+
if (_optionalChain([data, 'optionalAccess', _774 => _774.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
23374
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _775 => _775.toolCalls]), () => ( []))) {
|
|
23375
|
+
if (_optionalChain([call, 'optionalAccess', _776 => _776.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
23309
23376
|
}
|
|
23310
23377
|
}
|
|
23311
23378
|
}
|
|
@@ -23390,18 +23457,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23390
23457
|
}
|
|
23391
23458
|
}
|
|
23392
23459
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
23393
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
23394
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
23460
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _777 => _777.role]) === "assistant" ? trailing : null;
|
|
23461
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _778 => _778.content, 'access', _779 => _779.find, 'call', _780 => _780((s) => s.type === "approval_batch"), 'optionalAccess', _781 => _781.data, 'optionalAccess', _782 => _782.approvalRequestId]), () => ( null)) : null;
|
|
23395
23462
|
let processedToUse = processedHistory;
|
|
23396
23463
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23397
23464
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23398
23465
|
if (historyBatchId) {
|
|
23399
23466
|
const batchTwins = existingMessages.filter(
|
|
23400
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
23467
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _783 => _783.data, 'optionalAccess', _784 => _784.approvalRequestId]) === historyBatchId)
|
|
23401
23468
|
);
|
|
23402
23469
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
23403
23470
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
23404
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
23471
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _785 => _785.content])) ? historyTrailingAssistant.content.length : 0;
|
|
23405
23472
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
23406
23473
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
23407
23474
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -23434,9 +23501,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23434
23501
|
const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
|
|
23435
23502
|
const windowSignals = collectTwinSignals(processedToUse);
|
|
23436
23503
|
const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
|
|
23437
|
-
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
23504
|
+
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _786 => _786.has, 'call', _787 => _787(m.id)]), () => ( false)));
|
|
23438
23505
|
const firstWindowIndex = existingMessages.findIndex(isInWindow);
|
|
23439
|
-
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23506
|
+
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _788 => _788.timestamp, 'optionalAccess', _789 => _789.getTime, 'call', _790 => _790()]), () => ( 0))) <= historyFetchedAt;
|
|
23440
23507
|
let lastOlderPersistedIndex = -1;
|
|
23441
23508
|
if (firstWindowIndex < 0) {
|
|
23442
23509
|
for (const [index, m] of existingMessages.entries()) {
|
|
@@ -23454,7 +23521,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23454
23521
|
} else if (pm.role === "assistant") {
|
|
23455
23522
|
windowHasUnstampedAssistant = true;
|
|
23456
23523
|
}
|
|
23457
|
-
const time = _optionalChain([pm, 'access',
|
|
23524
|
+
const time = _optionalChain([pm, 'access', _791 => _791.timestamp, 'optionalAccess', _792 => _792.getTime, 'call', _793 => _793()]);
|
|
23458
23525
|
if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
|
|
23459
23526
|
}
|
|
23460
23527
|
const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
|
|
@@ -23472,14 +23539,14 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23472
23539
|
const verdict = twinVerdict(windowSignals, m);
|
|
23473
23540
|
return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
|
|
23474
23541
|
}
|
|
23475
|
-
const time = _optionalChain([m, 'access',
|
|
23542
|
+
const time = _optionalChain([m, 'access', _794 => _794.timestamp, 'optionalAccess', _795 => _795.getTime, 'call', _796 => _796()]);
|
|
23476
23543
|
if (typeof time !== "number" || time > historyFetchedAt) return false;
|
|
23477
23544
|
if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
|
|
23478
23545
|
return twinVerdict(windowSignals, m) === "distinct";
|
|
23479
23546
|
};
|
|
23480
23547
|
const keepRealtime = (m) => {
|
|
23481
23548
|
if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
|
|
23482
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23549
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _797 => _797.timestamp, 'optionalAccess', _798 => _798.getTime, 'call', _799 => _799()]), () => ( 0))) <= historyFetchedAt;
|
|
23483
23550
|
return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
|
|
23484
23551
|
}
|
|
23485
23552
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -23504,7 +23571,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23504
23571
|
} else if (typeof m.streamSeq === "number") {
|
|
23505
23572
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
23506
23573
|
} else {
|
|
23507
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23574
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _800 => _800.timestamp, 'optionalAccess', _801 => _801.getTime, 'call', _802 => _802()]), () => ( 0))) <= historyFetchedAt;
|
|
23508
23575
|
}
|
|
23509
23576
|
if (covered) return false;
|
|
23510
23577
|
}
|
|
@@ -23599,7 +23666,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
23599
23666
|
function isHistoricalUserTurn(m) {
|
|
23600
23667
|
return !!m.owner;
|
|
23601
23668
|
}
|
|
23602
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
23669
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _803 => _803.type]) === "TEXT" && typeof d.text === "string";
|
|
23603
23670
|
var THINK_MS = 550;
|
|
23604
23671
|
var TOKEN_MS = 55;
|
|
23605
23672
|
var USER_MS = 480;
|
|
@@ -23696,8 +23763,8 @@ function useResizablePanelSize({
|
|
|
23696
23763
|
}) : null,
|
|
23697
23764
|
[enabled, storageKey]
|
|
23698
23765
|
);
|
|
23699
|
-
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23700
|
-
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23766
|
+
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _804 => _804.load, 'call', _805 => _805(), 'optionalAccess', _806 => _806.size]), () => ( null)) }));
|
|
23767
|
+
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _807 => _807.load, 'call', _808 => _808(), 'optionalAccess', _809 => _809.size]), () => ( null)) };
|
|
23701
23768
|
if (chosen !== held) setChosen(chosen);
|
|
23702
23769
|
const chosenSize = chosen.size;
|
|
23703
23770
|
const clampSize = _react.useCallback.call(void 0,
|
|
@@ -23713,7 +23780,7 @@ function useResizablePanelSize({
|
|
|
23713
23780
|
(next) => {
|
|
23714
23781
|
const nextSize = Math.round(clampSize(next));
|
|
23715
23782
|
setChosen({ storage, size: nextSize });
|
|
23716
|
-
_optionalChain([storage, 'optionalAccess',
|
|
23783
|
+
_optionalChain([storage, 'optionalAccess', _810 => _810.save, 'call', _811 => _811({ size: nextSize })]);
|
|
23717
23784
|
},
|
|
23718
23785
|
[clampSize, storage]
|
|
23719
23786
|
);
|
|
@@ -24303,7 +24370,7 @@ function useChatDialogManager({
|
|
|
24303
24370
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
24304
24371
|
if (restoreTarget) {
|
|
24305
24372
|
try {
|
|
24306
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
24373
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _812 => _812(restoreTarget.id)]);
|
|
24307
24374
|
} catch (err) {
|
|
24308
24375
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
24309
24376
|
return;
|
|
@@ -24314,7 +24381,7 @@ function useChatDialogManager({
|
|
|
24314
24381
|
setRestoreTarget(null);
|
|
24315
24382
|
}, [restoreTarget, unarchiveDialog]);
|
|
24316
24383
|
const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
|
|
24317
|
-
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess',
|
|
24384
|
+
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _813 => _813.archived]) === true;
|
|
24318
24385
|
const handleBack = _react.useCallback.call(void 0, () => {
|
|
24319
24386
|
const wasArchived = isViewingArchived;
|
|
24320
24387
|
setViewingArchivedId(null);
|
|
@@ -24870,7 +24937,7 @@ function EmbeddableChatInner({
|
|
|
24870
24937
|
}),
|
|
24871
24938
|
[commandsUrl]
|
|
24872
24939
|
);
|
|
24873
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24940
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _814 => _814.name, 'optionalAccess', _815 => _815.trim, 'call', _816 => _816()]) || [_optionalChain([identityUser, 'optionalAccess', _817 => _817.firstName]), _optionalChain([identityUser, 'optionalAccess', _818 => _818.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _819 => _819.trim, 'call', _820 => _820()]) || void 0;
|
|
24874
24941
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24875
24942
|
if (modes) return modes;
|
|
24876
24943
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24885,7 +24952,7 @@ function EmbeddableChatInner({
|
|
|
24885
24952
|
if (controlledActiveMode === void 0) {
|
|
24886
24953
|
setUncontrolledActiveMode(next);
|
|
24887
24954
|
}
|
|
24888
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24955
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _821 => _821(next)]);
|
|
24889
24956
|
},
|
|
24890
24957
|
[controlledActiveMode, onActiveModeChange]
|
|
24891
24958
|
);
|
|
@@ -24912,7 +24979,7 @@ function EmbeddableChatInner({
|
|
|
24912
24979
|
);
|
|
24913
24980
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24914
24981
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24915
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24982
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _822 => _822.title]) === "string" ? guideWelcome.title : null)));
|
|
24916
24983
|
const {
|
|
24917
24984
|
messages: rawMessages,
|
|
24918
24985
|
isLoading: chatLoading,
|
|
@@ -24969,8 +25036,8 @@ function EmbeddableChatInner({
|
|
|
24969
25036
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24970
25037
|
() => ({
|
|
24971
25038
|
...dialogCapabilities,
|
|
24972
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24973
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
25039
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _823 => _823.canRename]), () => ( false)),
|
|
25040
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _824 => _824.canArchive]), () => ( false))
|
|
24974
25041
|
}),
|
|
24975
25042
|
[dialogCapabilities]
|
|
24976
25043
|
);
|
|
@@ -24985,7 +25052,7 @@ function EmbeddableChatInner({
|
|
|
24985
25052
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
24986
25053
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
24987
25054
|
});
|
|
24988
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
25055
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _825 => _825()]);
|
|
24989
25056
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
24990
25057
|
const {
|
|
24991
25058
|
attachments: stagedAttachments,
|
|
@@ -24996,7 +25063,7 @@ function EmbeddableChatInner({
|
|
|
24996
25063
|
clear: clearAttachments
|
|
24997
25064
|
} = useChatAttachments();
|
|
24998
25065
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
24999
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25066
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _826 => _826.maxItems]), () => ( 10));
|
|
25000
25067
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
25001
25068
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
25002
25069
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -25025,10 +25092,10 @@ function EmbeddableChatInner({
|
|
|
25025
25092
|
}, [composerKey, clearAttachments]);
|
|
25026
25093
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
25027
25094
|
const m = /* @__PURE__ */ new Map();
|
|
25028
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25095
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _827 => _827.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
25029
25096
|
return m;
|
|
25030
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
25031
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
25097
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _828 => _828.entityTypes])]);
|
|
25098
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _829 => _829.entityTypes]);
|
|
25032
25099
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
25033
25100
|
const byType = /* @__PURE__ */ new Map();
|
|
25034
25101
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -25040,7 +25107,7 @@ function EmbeddableChatInner({
|
|
|
25040
25107
|
if (mentionActiveRef.current) {
|
|
25041
25108
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
25042
25109
|
if (contextItems.length >= contextMaxItems) return;
|
|
25043
|
-
_optionalChain([chatInputRef, 'access',
|
|
25110
|
+
_optionalChain([chatInputRef, 'access', _830 => _830.current, 'optionalAccess', _831 => _831.commitMention, 'call', _832 => _832(mentionTokenOf(key, mentionMarkerByType), {
|
|
25044
25111
|
label: item.label,
|
|
25045
25112
|
icon: resolveContextIcon(item)
|
|
25046
25113
|
})]);
|
|
@@ -25063,9 +25130,9 @@ function EmbeddableChatInner({
|
|
|
25063
25130
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
25064
25131
|
if (mentionKeysRef.current.has(key)) {
|
|
25065
25132
|
mentionKeysRef.current.delete(key);
|
|
25066
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
25133
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _833 => _833.current, 'optionalAccess', _834 => _834.getValue, 'call', _835 => _835()]), () => ( ""));
|
|
25067
25134
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
25068
|
-
_optionalChain([chatInputRef, 'access',
|
|
25135
|
+
_optionalChain([chatInputRef, 'access', _836 => _836.current, 'optionalAccess', _837 => _837.setValue, 'call', _838 => _838(next)]);
|
|
25069
25136
|
}
|
|
25070
25137
|
},
|
|
25071
25138
|
[mentionMarkerByType]
|
|
@@ -25087,7 +25154,7 @@ function EmbeddableChatInner({
|
|
|
25087
25154
|
}, []);
|
|
25088
25155
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
25089
25156
|
if (mentionActiveRef.current) {
|
|
25090
|
-
_optionalChain([chatInputRef, 'access',
|
|
25157
|
+
_optionalChain([chatInputRef, 'access', _839 => _839.current, 'optionalAccess', _840 => _840.removeMentionTrigger, 'call', _841 => _841()]);
|
|
25091
25158
|
}
|
|
25092
25159
|
setContextPickerOpen(false);
|
|
25093
25160
|
setMentionQuery(null);
|
|
@@ -25124,8 +25191,8 @@ function EmbeddableChatInner({
|
|
|
25124
25191
|
[effectiveAssistantIcon]
|
|
25125
25192
|
);
|
|
25126
25193
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
25127
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
25128
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
25194
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _842 => _842.firstName]), _optionalChain([identityUser, 'optionalAccess', _843 => _843.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _844 => _844.name, 'optionalAccess', _845 => _845.trim, 'call', _846 => _846()]) || void 0 : void 0;
|
|
25195
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _847 => _847.avatarUrl, 'optionalAccess', _848 => _848.trim, 'call', _849 => _849()]) || void 0 : void 0;
|
|
25129
25196
|
const messages = _react.useMemo.call(void 0, () => {
|
|
25130
25197
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
25131
25198
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -25328,7 +25395,7 @@ function EmbeddableChatInner({
|
|
|
25328
25395
|
_react.useEffect.call(void 0, () => {
|
|
25329
25396
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
25330
25397
|
const ro = new ResizeObserver((entries) => {
|
|
25331
|
-
const w = _optionalChain([entries, 'access',
|
|
25398
|
+
const w = _optionalChain([entries, 'access', _850 => _850[0], 'optionalAccess', _851 => _851.contentRect, 'optionalAccess', _852 => _852.width]);
|
|
25332
25399
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
25333
25400
|
});
|
|
25334
25401
|
ro.observe(panelBoundary);
|
|
@@ -25374,18 +25441,18 @@ function EmbeddableChatInner({
|
|
|
25374
25441
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25375
25442
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25376
25443
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25377
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25444
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _853 => _853.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25378
25445
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25379
25446
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25380
25447
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25381
25448
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25382
25449
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25383
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25384
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25450
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _854 => _854.onCopyLink, 'optionalCall', _855 => _855(activeDialog)]) : void 0;
|
|
25451
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _856 => _856.compactDialog, 'optionalCall', _857 => _857(activeDialog)]) : void 0;
|
|
25385
25452
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25386
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25387
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25388
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25453
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _858 => _858.owner]) : void 0;
|
|
25454
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _859 => _859.name, 'optionalAccess', _860 => _860.trim, 'call', _861 => _861()]) || headerUserName;
|
|
25455
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _862 => _862.avatarUrl, 'optionalAccess', _863 => _863.trim, 'call', _864 => _864()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _865 => _865.avatarUrl, 'optionalAccess', _866 => _866.trim, 'call', _867 => _867()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _868 => _868.trim, 'call', _869 => _869()]) || void 0;
|
|
25389
25456
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25390
25457
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25391
25458
|
resetToNewChat();
|
|
@@ -25764,7 +25831,7 @@ function EmbeddableChatInner({
|
|
|
25764
25831
|
onNewChat: () => setComposeOpen(true),
|
|
25765
25832
|
onExpand: onExpand && (() => {
|
|
25766
25833
|
const last = lastDialogIdRef.current;
|
|
25767
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25834
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _870 => _870[0], 'optionalAccess', _871 => _871.id]);
|
|
25768
25835
|
if (archiveOpen) closeArchive();
|
|
25769
25836
|
if (target) handleSelectDialog(target);
|
|
25770
25837
|
else handleNewChat();
|
|
@@ -25871,9 +25938,9 @@ function EmbeddableChatInner({
|
|
|
25871
25938
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25872
25939
|
subtitleLoading: emptyStateLoading,
|
|
25873
25940
|
...guideWelcome,
|
|
25874
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25875
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25876
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25941
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _872 => _872.title]))),
|
|
25942
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _873 => _873.icon]))),
|
|
25943
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _874 => _874.quickActions]), () => ( guideSuggestedActions)),
|
|
25877
25944
|
onQuickAction: (action) => {
|
|
25878
25945
|
setQuickActionPreview(null);
|
|
25879
25946
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25948,8 +26015,8 @@ function EmbeddableChatInner({
|
|
|
25948
26015
|
selectedContextItems: contextItems,
|
|
25949
26016
|
onToggleContextItem: toggleContextItem,
|
|
25950
26017
|
onRemoveContextItem: removeContextItem,
|
|
25951
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25952
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
26018
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _875 => _875.items]),
|
|
26019
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _876 => _876.onRemove]),
|
|
25953
26020
|
contextPickerOpen,
|
|
25954
26021
|
onOpenContextPicker: openContextPicker,
|
|
25955
26022
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -26162,7 +26229,7 @@ var GROUPS = [
|
|
|
26162
26229
|
}
|
|
26163
26230
|
];
|
|
26164
26231
|
function maskKey(key) {
|
|
26165
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
26232
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _877 => _877.exec, 'call', _878 => _878(key), 'optionalAccess', _879 => _879[0]]), () => ( ""));
|
|
26166
26233
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
26167
26234
|
}
|
|
26168
26235
|
function HeaderName({ children }) {
|
|
@@ -26199,8 +26266,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26199
26266
|
const errors = _react.useMemo.call(void 0, () => {
|
|
26200
26267
|
const out = {};
|
|
26201
26268
|
for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
26202
|
-
const value = _optionalChain([optional, 'access',
|
|
26203
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
26269
|
+
const value = _optionalChain([optional, 'access', _880 => _880[field], 'optionalAccess', _881 => _881.trim, 'call', _882 => _882()]);
|
|
26270
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _883 => _883[field], 'access', _884 => _884.validate, 'optionalCall', _885 => _885(value)]) : null;
|
|
26204
26271
|
if (message) out[field] = message;
|
|
26205
26272
|
}
|
|
26206
26273
|
return out;
|
|
@@ -26212,12 +26279,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26212
26279
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
26213
26280
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
26214
26281
|
..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
26215
|
-
const value = _optionalChain([optional, 'access',
|
|
26282
|
+
const value = _optionalChain([optional, 'access', _886 => _886[field], 'optionalAccess', _887 => _887.trim, 'call', _888 => _888()]);
|
|
26216
26283
|
return value ? [[header, value]] : [];
|
|
26217
26284
|
})
|
|
26218
26285
|
];
|
|
26219
26286
|
const save = () => {
|
|
26220
|
-
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
26287
|
+
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _889 => _889.secret]);
|
|
26221
26288
|
const actAs = email.trim().toLowerCase();
|
|
26222
26289
|
if (!key || !actAs || hasErrors) {
|
|
26223
26290
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -26834,4 +26901,4 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26834
26901
|
|
|
26835
26902
|
|
|
26836
26903
|
|
|
26837
|
-
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;
|
|
26904
|
+
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_TERMS = TRIAL_TERMS; exports.trialLengthLabel = trialLengthLabel; exports.trialLabels = trialLabels; 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.useAskSurface = useAskSurface; 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;
|