@flamingo-stack/openframe-frontend-core 0.0.725 → 0.0.727
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-F56GNKX2.js → chunk-33AFAVBF.js} +2 -2
- package/dist/{chunk-7V5KFBY2.cjs → chunk-3D2SCG2E.cjs} +16 -16
- package/dist/{chunk-B7234BE2.cjs → chunk-3N3QA47Y.cjs} +11 -11
- package/dist/{chunk-OBMWSUBK.js → chunk-3Q7ZNY4B.js} +5 -5
- package/dist/{chunk-JVHP7Y4S.js → chunk-4FQ5ZICE.js} +2 -2
- package/dist/{chunk-AI3CLDZO.cjs → chunk-AM2RHT3H.cjs} +280 -280
- package/dist/{chunk-PUADVXJD.js → chunk-AU4WWLFP.js} +1 -1
- package/dist/{chunk-RU6BTELI.cjs → chunk-BKTV3VOD.cjs} +533 -488
- package/dist/{chunk-2VOZ37BL.cjs → chunk-BMOEUIFI.cjs} +35 -35
- package/dist/{chunk-IOTAUWWF.js → chunk-C6Y22J32.js} +1 -1
- package/dist/{chunk-ZSXZE4FJ.cjs → chunk-CGL3TJ2A.cjs} +3 -3
- package/dist/{chunk-MLFS5G3V.js → chunk-CIAAU44V.js} +307 -262
- package/dist/{chunk-4ZZ4TNCY.cjs → chunk-CNBGSWLN.cjs} +9 -9
- package/dist/{chunk-AX4F35C2.js → chunk-FIKAJKPE.js} +1 -1
- package/dist/{chunk-SEVKFMKR.cjs → chunk-FLCYWEEB.cjs} +3 -3
- package/dist/{chunk-ASHRHL4W.js → chunk-GKJFSE72.js} +5 -5
- package/dist/{chunk-ASIXPRHV.js → chunk-HVMH67Z7.js} +3 -3
- package/dist/{chunk-F77J34W2.js → chunk-J274GOBJ.js} +1 -1
- package/dist/{chunk-LYQYLPPV.cjs → chunk-MAGVU2HZ.cjs} +26 -26
- package/dist/{chunk-QV4GO3GW.cjs → chunk-MGVT5RT6.cjs} +29 -56
- package/dist/{chunk-W2DXHR2R.js → chunk-N27CSEDR.js} +1 -1
- package/dist/{chunk-YPEILGVZ.cjs → chunk-N2PHC6RX.cjs} +3 -3
- package/dist/{chunk-5FVWDDX6.js → chunk-NQRFGXDG.js} +2 -2
- package/dist/{chunk-772242QR.cjs → chunk-QJVG5V46.cjs} +65 -65
- package/dist/{chunk-LR6DJY4Z.cjs → chunk-RZFTEUV4.cjs} +9 -9
- package/dist/{chunk-SE4O4HCD.cjs → chunk-U6HOC7JD.cjs} +8 -8
- package/dist/{chunk-ZZRUKEN2.js → chunk-URDJXB75.js} +3 -3
- package/dist/{chunk-MGTZ2BKY.js → chunk-VTXIY33G.js} +22 -49
- package/dist/{chunk-2SO3OJFY.cjs → chunk-WWJOQGSH.cjs} +33 -33
- package/dist/{chunk-JAKG6BY7.js → chunk-WXL5G7WC.js} +3 -3
- package/dist/{cloud-tenants-US63E2HV.js → cloud-tenants-65EUPGVC.js} +2 -2
- package/dist/{cloud-tenants-SMULXU54.cjs → cloud-tenants-PT5QPWWU.cjs} +3 -3
- 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/entity-cards/dispatch.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/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-JWHGWKLK.js → devices-J253LQNQ.js} +2 -2
- package/dist/{devices-6ZURNFRB.cjs → devices-ZPVLATZA.cjs} +4 -4
- package/dist/index.cjs +7 -9
- package/dist/index.js +8 -10
- package/dist/{knowledge-CY66JZ54.cjs → knowledge-3FAF5T7Q.cjs} +4 -4
- package/dist/{knowledge-TEDPLCFX.js → knowledge-IMTMYURI.js} +2 -2
- package/dist/{logs-S46THPPD.js → logs-55GOSGVE.js} +2 -2
- package/dist/{logs-MO357RE7.cjs → logs-UL7BQEXP.cjs} +11 -11
- package/dist/{policies-BUXT7DKF.js → policies-KRDF563O.js} +2 -2
- package/dist/{policies-GSH4K5YP.cjs → policies-O5F2XSCY.cjs} +7 -7
- package/dist/{software-update-YKS6KLX2.js → software-update-NXSC4OVM.js} +2 -2
- package/dist/{software-update-2ETT35NM.cjs → software-update-R2ASCRWP.cjs} +6 -6
- package/dist/utils/index.cjs +17 -18
- package/dist/utils/index.js +17 -18
- package/dist/utils/source-grouping.d.ts +15 -5
- package/dist/utils/source-grouping.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/assistant-ask-prompts.tsx +84 -39
- package/src/components/chat/entity-cards/dispatch.tsx +47 -58
- 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/utils/source-grouping.ts +24 -14
- package/src/utils/source-icons.ts +16 -16
|
@@ -250,21 +250,6 @@ var _chunkLLSUVPQCcjs = require('./chunk-LLSUVPQC.cjs');
|
|
|
250
250
|
|
|
251
251
|
|
|
252
252
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
253
|
|
|
269
254
|
|
|
270
255
|
|
|
@@ -6879,11 +6864,11 @@ var SOURCE_ICON_NAMES = {
|
|
|
6879
6864
|
vendors: "package-search",
|
|
6880
6865
|
// Financials
|
|
6881
6866
|
"investor-updates": "mail",
|
|
6882
|
-
"financial-kpis": "
|
|
6883
|
-
"financial-cap-table": "
|
|
6884
|
-
"financial-pnl": "
|
|
6885
|
-
"financial-balance-sheet": "
|
|
6886
|
-
"financial-cash-flow": "
|
|
6867
|
+
"financial-kpis": "chart-bar-01-ver",
|
|
6868
|
+
"financial-cap-table": "chart-pie",
|
|
6869
|
+
"financial-pnl": "money-bill-dollar",
|
|
6870
|
+
"financial-balance-sheet": "bank",
|
|
6871
|
+
"financial-cash-flow": "coins-exchange-currency",
|
|
6887
6872
|
// ClickUp
|
|
6888
6873
|
"clickup-roadmap": "clickup",
|
|
6889
6874
|
"clickup-delivery": "clickup",
|
|
@@ -6902,22 +6887,22 @@ var SOURCE_ICON_NAMES = {
|
|
|
6902
6887
|
// Communications
|
|
6903
6888
|
"slack-messages": "slack",
|
|
6904
6889
|
// People-hub employee content
|
|
6905
|
-
"what-i-shipped": "
|
|
6906
|
-
"how-i-work": "
|
|
6907
|
-
"ai-prompts": "
|
|
6890
|
+
"what-i-shipped": "rocket-02",
|
|
6891
|
+
"how-i-work": "clipboard-list",
|
|
6892
|
+
"ai-prompts": "chat-quote",
|
|
6908
6893
|
// Product-hub internal
|
|
6909
6894
|
"design-docs": "file-text",
|
|
6910
6895
|
"openframe-tenants": "openframe",
|
|
6911
|
-
"prospect-calls": "
|
|
6896
|
+
"prospect-calls": "call",
|
|
6912
6897
|
// Code intelligence
|
|
6913
|
-
"code-rules": "check
|
|
6914
|
-
"code-graph-repos": "
|
|
6898
|
+
"code-rules": "bracket-curly-check",
|
|
6899
|
+
"code-graph-repos": "coding-branch",
|
|
6915
6900
|
"code-graph-deployments": "package",
|
|
6916
|
-
"code-graph-files": "file-
|
|
6917
|
-
"code-symbols": "
|
|
6918
|
-
"code-duplicates": "
|
|
6919
|
-
"code-impact": "
|
|
6920
|
-
"change-sets": "coding-
|
|
6901
|
+
"code-graph-files": "file-code",
|
|
6902
|
+
"code-symbols": "code-square",
|
|
6903
|
+
"code-duplicates": "copy-01",
|
|
6904
|
+
"code-impact": "coding-pull-request",
|
|
6905
|
+
"change-sets": "coding-merge"
|
|
6921
6906
|
};
|
|
6922
6907
|
function getSourceIconName(tableId) {
|
|
6923
6908
|
if (!tableId) return void 0;
|
|
@@ -7094,8 +7079,7 @@ function typeOf(source) {
|
|
|
7094
7079
|
return source.documentType || defaultDocumentTypeForTableId(source.sourceRepo) || "";
|
|
7095
7080
|
}
|
|
7096
7081
|
function joinsTableChip(source) {
|
|
7097
|
-
|
|
7098
|
-
return groupsByTable(typeOf({ ...source, sourceRepo: source.sourceRepo }));
|
|
7082
|
+
return !!source.sourceRepo;
|
|
7099
7083
|
}
|
|
7100
7084
|
function rowsOf(source) {
|
|
7101
7085
|
if (isGroupedChip(source)) return _nullishCoalesce(source.items, () => ( []));
|
|
@@ -8908,9 +8892,6 @@ function AskCard({
|
|
|
8908
8892
|
);
|
|
8909
8893
|
}
|
|
8910
8894
|
|
|
8911
|
-
// src/components/chat/assistant-ask-prompts.tsx
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
8895
|
// src/components/chat/hooks/use-ask-prompts.ts
|
|
8915
8896
|
|
|
8916
8897
|
var ASK_PROMPTS_DEFAULT_COUNT = 3;
|
|
@@ -8932,8 +8913,9 @@ function useAskPrompts({
|
|
|
8932
8913
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8933
8914
|
const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
|
|
8934
8915
|
const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
|
|
8935
|
-
const { data,
|
|
8936
|
-
|
|
8916
|
+
const { data, dataUrl, error } = _chunkHEQ4GPYEcjs.useSelfFetch.call(void 0, url);
|
|
8917
|
+
const landed = url !== null && (dataUrl === url || error);
|
|
8918
|
+
return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _232 => _232.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
|
|
8937
8919
|
}
|
|
8938
8920
|
function useAssistantOpen(topic, onOpen) {
|
|
8939
8921
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
@@ -8949,90 +8931,158 @@ function useAssistantOpen(topic, onOpen) {
|
|
|
8949
8931
|
[onOpen, runtimeOpen, source, topic]
|
|
8950
8932
|
);
|
|
8951
8933
|
}
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
const bySurface = /* @__PURE__ */ new Map();
|
|
8934
|
+
function createAskQueue() {
|
|
8935
|
+
const entries = /* @__PURE__ */ new Map();
|
|
8955
8936
|
const listeners = /* @__PURE__ */ new Set();
|
|
8956
|
-
let
|
|
8937
|
+
let next = 0;
|
|
8957
8938
|
const publish = () => {
|
|
8958
|
-
const lists = [...bySurface.values()];
|
|
8959
|
-
const next = lists.some((list) => list === null) ? null : lists.flatMap((list) => _nullishCoalesce(list, () => ( [])));
|
|
8960
|
-
const same = next === null ? snapshot === null : snapshot !== null && next.join(",") === snapshot.join(",");
|
|
8961
|
-
if (same) return;
|
|
8962
|
-
snapshot = next === null ? null : next.length > 0 ? next : NO_IDS;
|
|
8963
8939
|
for (const listener of listeners) listener();
|
|
8964
8940
|
};
|
|
8965
8941
|
return {
|
|
8966
|
-
|
|
8967
|
-
|
|
8942
|
+
enter(surface) {
|
|
8943
|
+
if (entries.has(surface)) return;
|
|
8944
|
+
entries.set(surface, { turn: next++, ids: null });
|
|
8968
8945
|
publish();
|
|
8969
8946
|
},
|
|
8970
|
-
|
|
8971
|
-
|
|
8947
|
+
settle(surface, ids) {
|
|
8948
|
+
const entry = entries.get(surface);
|
|
8949
|
+
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;
|
|
8950
|
+
entry.ids = ids;
|
|
8972
8951
|
publish();
|
|
8973
8952
|
},
|
|
8953
|
+
leave(surface) {
|
|
8954
|
+
if (entries.delete(surface)) publish();
|
|
8955
|
+
},
|
|
8974
8956
|
subscribe(listener) {
|
|
8975
8957
|
listeners.add(listener);
|
|
8976
8958
|
return () => listeners.delete(listener);
|
|
8977
8959
|
},
|
|
8978
|
-
|
|
8960
|
+
turnOf(surface) {
|
|
8961
|
+
const own = entries.get(surface);
|
|
8962
|
+
if (!own) return null;
|
|
8963
|
+
const shown = [];
|
|
8964
|
+
for (const [other, entry] of entries) {
|
|
8965
|
+
if (other === surface) continue;
|
|
8966
|
+
if (entry.ids === null) {
|
|
8967
|
+
if (entry.turn < own.turn) return null;
|
|
8968
|
+
continue;
|
|
8969
|
+
}
|
|
8970
|
+
shown.push(...entry.ids);
|
|
8971
|
+
}
|
|
8972
|
+
return shown.join(",");
|
|
8973
|
+
}
|
|
8979
8974
|
};
|
|
8980
8975
|
}
|
|
8981
|
-
var
|
|
8982
|
-
function
|
|
8983
|
-
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess',
|
|
8984
|
-
let
|
|
8985
|
-
if (!
|
|
8986
|
-
|
|
8987
|
-
|
|
8976
|
+
var askQueues = /* @__PURE__ */ new Map();
|
|
8977
|
+
function useAskQueue() {
|
|
8978
|
+
const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _240 => _240.askPromptsUrl]), () => ( ""));
|
|
8979
|
+
let queue = askQueues.get(scope);
|
|
8980
|
+
if (!queue) {
|
|
8981
|
+
queue = createAskQueue();
|
|
8982
|
+
askQueues.set(scope, queue);
|
|
8988
8983
|
}
|
|
8989
|
-
return
|
|
8984
|
+
return queue;
|
|
8990
8985
|
}
|
|
8991
|
-
function
|
|
8986
|
+
function useAskSurface({
|
|
8987
|
+
topic,
|
|
8988
|
+
count = ASK_PROMPTS_DEFAULT_COUNT,
|
|
8989
|
+
exclude,
|
|
8990
|
+
enabled = true,
|
|
8991
|
+
onOpen
|
|
8992
|
+
} = {}) {
|
|
8993
|
+
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
8992
8994
|
const surface = _react.useId.call(void 0, );
|
|
8993
|
-
const
|
|
8994
|
-
const
|
|
8995
|
+
const queue = useAskQueue();
|
|
8996
|
+
const picks = assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
|
|
8995
8997
|
_react.useLayoutEffect.call(void 0, () => {
|
|
8996
|
-
if (
|
|
8997
|
-
|
|
8998
|
-
return () =>
|
|
8999
|
-
}, [
|
|
9000
|
-
|
|
9001
|
-
|
|
9002
|
-
|
|
9003
|
-
|
|
8998
|
+
if (!picks) return void 0;
|
|
8999
|
+
queue.enter(surface);
|
|
9000
|
+
return () => queue.leave(surface);
|
|
9001
|
+
}, [queue, surface, picks]);
|
|
9002
|
+
const turn = _react.useSyncExternalStore.call(void 0,
|
|
9003
|
+
queue.subscribe,
|
|
9004
|
+
() => queue.turnOf(surface),
|
|
9005
|
+
() => null
|
|
9006
|
+
);
|
|
9007
|
+
const [shownAtTurn, setShownAtTurn] = _react.useState.call(void 0, null);
|
|
9008
|
+
if (picks && turn !== null && shownAtTurn === null) setShownAtTurn(turn);
|
|
9009
|
+
const leftOut = _react.useMemo.call(void 0, () => _nullishCoalesce(exclude, () => ( (shownAtTurn ? shownAtTurn.split(",") : void 0))), [exclude, shownAtTurn]);
|
|
9010
|
+
const { prompts, isLoading, supported } = useAskPrompts({
|
|
9011
|
+
topic,
|
|
9012
|
+
count,
|
|
9013
|
+
exclude: leftOut,
|
|
9014
|
+
// Told exactly what to leave out, a surface needs nobody's pick: it never waits for a turn.
|
|
9015
|
+
enabled: picks && (exclude !== void 0 || shownAtTurn !== null)
|
|
9016
|
+
});
|
|
9017
|
+
const settled = picks && !isLoading ? prompts.map((prompt) => prompt.id).join(",") : null;
|
|
9018
|
+
_react.useLayoutEffect.call(void 0, () => {
|
|
9019
|
+
queue.settle(surface, settled === null ? null : settled ? settled.split(",") : []);
|
|
9020
|
+
}, [queue, surface, settled]);
|
|
9021
|
+
const open = useAssistantOpen(topic, onOpen);
|
|
9022
|
+
const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
|
|
9023
|
+
const onAsk = _optionalChain([assistant, 'optionalAccess', _241 => _241.onAsk]);
|
|
9024
|
+
const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _242 => _242({ promptId: prompt.id, topic })]), [onAsk, topic]);
|
|
9025
|
+
return { assistant, scoped, prompts, isLoading: supported && (!picks || isLoading), supported, open, reportAsk };
|
|
9004
9026
|
}
|
|
9005
9027
|
|
|
9006
9028
|
// src/components/chat/assistant-ask-prompts.tsx
|
|
9007
9029
|
|
|
9030
|
+
var DEFAULT_ASK_CARD = {
|
|
9031
|
+
title: "Still deciding?",
|
|
9032
|
+
description: "{assistant} answers from our docs and customer stories."
|
|
9033
|
+
};
|
|
9034
|
+
var fillAssistant = (text2, name) => text2.split("{assistant}").join(name);
|
|
9008
9035
|
function AssistantAskPrompts({
|
|
9036
|
+
variant = "row",
|
|
9009
9037
|
topic,
|
|
9010
|
-
count
|
|
9038
|
+
count,
|
|
9039
|
+
exclude,
|
|
9040
|
+
enabled,
|
|
9011
9041
|
label,
|
|
9012
9042
|
loading = false,
|
|
9043
|
+
title,
|
|
9044
|
+
description,
|
|
9013
9045
|
onOpen,
|
|
9014
9046
|
align,
|
|
9015
9047
|
fadeColor,
|
|
9016
9048
|
className
|
|
9017
9049
|
}) {
|
|
9050
|
+
const card = variant === "card";
|
|
9018
9051
|
const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
|
|
9019
|
-
const
|
|
9020
|
-
const
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9052
|
+
const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _243 => _243.askCard, 'optionalAccess', _244 => _244.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
|
|
9053
|
+
const ask = useAskSurface({ topic, count: slots, exclude, enabled, onOpen });
|
|
9054
|
+
if (!assistantAvailable(assistant)) return null;
|
|
9055
|
+
const shared = {
|
|
9056
|
+
prompts: ask.prompts,
|
|
9057
|
+
loading: ask.isLoading || loading,
|
|
9058
|
+
source: assistant.source,
|
|
9059
|
+
icon: assistant.icon,
|
|
9060
|
+
onOpen: ask.open,
|
|
9061
|
+
onAsk: ask.reportAsk
|
|
9062
|
+
};
|
|
9063
|
+
if (card) {
|
|
9064
|
+
const name = _nullishCoalesce(label, () => ( assistant.name));
|
|
9065
|
+
if (!name) return null;
|
|
9066
|
+
const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _245 => _245.askCard, 'optionalAccess', _246 => _246.description]))), () => ( DEFAULT_ASK_CARD.description));
|
|
9067
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9068
|
+
AskCard,
|
|
9069
|
+
{
|
|
9070
|
+
...shared,
|
|
9071
|
+
title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _247 => _247.askCard, 'optionalAccess', _248 => _248.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
|
|
9072
|
+
description: words2 ? fillAssistant(words2, name) : void 0,
|
|
9073
|
+
count: ask.supported ? slots : 0,
|
|
9074
|
+
label: name,
|
|
9075
|
+
className
|
|
9076
|
+
}
|
|
9077
|
+
) });
|
|
9078
|
+
}
|
|
9079
|
+
if (!ask.supported) return null;
|
|
9080
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9026
9081
|
AskPrompts,
|
|
9027
9082
|
{
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
count,
|
|
9031
|
-
source: assistant.source,
|
|
9083
|
+
...shared,
|
|
9084
|
+
count: slots,
|
|
9032
9085
|
label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
|
|
9033
|
-
icon: assistant.icon,
|
|
9034
|
-
onOpen: open,
|
|
9035
|
-
onAsk: (prompt) => _optionalChain([assistant, 'access', _236 => _236.onAsk, 'optionalCall', _237 => _237({ promptId: prompt.id, topic })]),
|
|
9036
9086
|
align,
|
|
9037
9087
|
fadeColor,
|
|
9038
9088
|
className
|
|
@@ -9201,7 +9251,7 @@ function MarqueeWall({
|
|
|
9201
9251
|
if (!container || !copy) return;
|
|
9202
9252
|
const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
|
|
9203
9253
|
copySizeRef.current = size;
|
|
9204
|
-
const clone = _optionalChain([trackRef, 'access',
|
|
9254
|
+
const clone = _optionalChain([trackRef, 'access', _249 => _249.current, 'optionalAccess', _250 => _250.querySelector, 'call', _251 => _251('[data-marquee-copy="clone"]')]);
|
|
9205
9255
|
wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
|
|
9206
9256
|
const avail = axis === "y" ? container.clientHeight : container.clientWidth;
|
|
9207
9257
|
setOverflows(size > avail + 1);
|
|
@@ -9332,7 +9382,7 @@ function MarqueeWall({
|
|
|
9332
9382
|
if (Math.abs(delta) > 3 && !dragMovedRef.current) {
|
|
9333
9383
|
dragMovedRef.current = true;
|
|
9334
9384
|
try {
|
|
9335
|
-
_optionalChain([containerRef, 'access',
|
|
9385
|
+
_optionalChain([containerRef, 'access', _252 => _252.current, 'optionalAccess', _253 => _253.setPointerCapture, 'call', _254 => _254(e.pointerId)]);
|
|
9336
9386
|
} catch (e19) {
|
|
9337
9387
|
}
|
|
9338
9388
|
}
|
|
@@ -9349,7 +9399,7 @@ function MarqueeWall({
|
|
|
9349
9399
|
dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
|
|
9350
9400
|
if (dragMovedRef.current) {
|
|
9351
9401
|
try {
|
|
9352
|
-
_optionalChain([containerRef, 'access',
|
|
9402
|
+
_optionalChain([containerRef, 'access', _255 => _255.current, 'optionalAccess', _256 => _256.releasePointerCapture, 'call', _257 => _257(e.pointerId)]);
|
|
9353
9403
|
} catch (e20) {
|
|
9354
9404
|
}
|
|
9355
9405
|
}
|
|
@@ -9681,7 +9731,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
|
|
|
9681
9731
|
{
|
|
9682
9732
|
ref,
|
|
9683
9733
|
type: "button",
|
|
9684
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
9734
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _258 => _258(ticket.id)]),
|
|
9685
9735
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
9686
9736
|
"flex h-20 w-full items-center gap-4 px-4",
|
|
9687
9737
|
"border-b border-ods-border bg-ods-card",
|
|
@@ -9951,7 +10001,7 @@ function MingoChatHistoryRow({
|
|
|
9951
10001
|
const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
|
|
9952
10002
|
const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
|
|
9953
10003
|
const owner = dialog.owner;
|
|
9954
|
-
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess',
|
|
10004
|
+
const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _259 => _259.name]) || _optionalChain([owner, 'optionalAccess', _260 => _260.avatarUrl]));
|
|
9955
10005
|
const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
|
|
9956
10006
|
const menuItems = chatDialogMenuItems({
|
|
9957
10007
|
onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
|
|
@@ -9976,11 +10026,11 @@ function MingoChatHistoryRow({
|
|
|
9976
10026
|
{
|
|
9977
10027
|
role: "button",
|
|
9978
10028
|
tabIndex: 0,
|
|
9979
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
10029
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _261 => _261(dialog.id)]),
|
|
9980
10030
|
onKeyDown: (e) => {
|
|
9981
10031
|
if (e.key === "Enter" || e.key === " ") {
|
|
9982
10032
|
e.preventDefault();
|
|
9983
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
10033
|
+
_optionalChain([onSelect, 'optionalCall', _262 => _262(dialog.id)]);
|
|
9984
10034
|
}
|
|
9985
10035
|
},
|
|
9986
10036
|
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",
|
|
@@ -10047,8 +10097,8 @@ function MingoChatHistoryRow({
|
|
|
10047
10097
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10048
10098
|
"span",
|
|
10049
10099
|
{
|
|
10050
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
10051
|
-
title: _optionalChain([owner, 'optionalAccess',
|
|
10100
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _263 => _263(dialog.id)]),
|
|
10101
|
+
title: _optionalChain([owner, 'optionalAccess', _264 => _264.name]) || void 0,
|
|
10052
10102
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
10053
10103
|
"absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
|
|
10054
10104
|
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")
|
|
@@ -10058,9 +10108,9 @@ function MingoChatHistoryRow({
|
|
|
10058
10108
|
{
|
|
10059
10109
|
variant: "round",
|
|
10060
10110
|
sizePx: 24,
|
|
10061
|
-
src: _optionalChain([owner, 'optionalAccess',
|
|
10062
|
-
alt: _optionalChain([owner, 'optionalAccess',
|
|
10063
|
-
fallback: _optionalChain([owner, 'optionalAccess',
|
|
10111
|
+
src: _optionalChain([owner, 'optionalAccess', _265 => _265.avatarUrl]) || void 0,
|
|
10112
|
+
alt: _optionalChain([owner, 'optionalAccess', _266 => _266.name]) || void 0,
|
|
10113
|
+
fallback: _optionalChain([owner, 'optionalAccess', _267 => _267.name]) || void 0,
|
|
10064
10114
|
initialsClassName: "text-[10px] text-ods-text-secondary"
|
|
10065
10115
|
}
|
|
10066
10116
|
)
|
|
@@ -10112,7 +10162,7 @@ function MingoChatHistory({
|
|
|
10112
10162
|
className
|
|
10113
10163
|
}) {
|
|
10114
10164
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
10115
|
-
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10165
|
+
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _268 => _268.trim, 'call', _269 => _269()]);
|
|
10116
10166
|
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
|
|
10117
10167
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
10118
10168
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
@@ -10129,7 +10179,7 @@ function MingoChatHistory({
|
|
|
10129
10179
|
const io = new IntersectionObserver(
|
|
10130
10180
|
([entry]) => {
|
|
10131
10181
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
10132
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
10182
|
+
_optionalChain([onLoadMoreRef, 'access', _270 => _270.current, 'optionalCall', _271 => _271()]);
|
|
10133
10183
|
}
|
|
10134
10184
|
},
|
|
10135
10185
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -10314,8 +10364,8 @@ function MingoWelcome({
|
|
|
10314
10364
|
icon: action.icon,
|
|
10315
10365
|
variant: action.variant,
|
|
10316
10366
|
onSelect: action.onClick,
|
|
10317
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10318
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10367
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _272 => _272(action)]),
|
|
10368
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _273 => _273()])
|
|
10319
10369
|
})),
|
|
10320
10370
|
agentSlug,
|
|
10321
10371
|
rows: 4,
|
|
@@ -10368,9 +10418,9 @@ function GuideWelcome({
|
|
|
10368
10418
|
props: action.iconProps,
|
|
10369
10419
|
accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
|
|
10370
10420
|
},
|
|
10371
|
-
onSelect: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
10372
|
-
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall',
|
|
10373
|
-
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall',
|
|
10421
|
+
onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _274 => _274(action)]),
|
|
10422
|
+
onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _275 => _275(action)]),
|
|
10423
|
+
onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _276 => _276()])
|
|
10374
10424
|
})),
|
|
10375
10425
|
[quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
|
|
10376
10426
|
);
|
|
@@ -10579,7 +10629,7 @@ function MingoArchiveList({
|
|
|
10579
10629
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10580
10630
|
const observer = new IntersectionObserver(
|
|
10581
10631
|
([entry]) => {
|
|
10582
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10632
|
+
if (_optionalChain([entry, 'optionalAccess', _277 => _277.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _278 => _278.current, 'optionalCall', _279 => _279()]);
|
|
10583
10633
|
},
|
|
10584
10634
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10585
10635
|
);
|
|
@@ -10598,7 +10648,7 @@ function MingoArchiveList({
|
|
|
10598
10648
|
ChatListItem,
|
|
10599
10649
|
{
|
|
10600
10650
|
title: dialog.title || "Untitled Chat",
|
|
10601
|
-
onClick: () => _optionalChain([onSelectDialog, 'optionalCall',
|
|
10651
|
+
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _280 => _280(dialog.id)]),
|
|
10602
10652
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
10603
10653
|
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) }),
|
|
10604
10654
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10737,7 +10787,7 @@ function ChatHeaderSearchField({
|
|
|
10737
10787
|
const finishCollapse = _react.useCallback.call(void 0, () => {
|
|
10738
10788
|
if (collapsedRef.current) return;
|
|
10739
10789
|
collapsedRef.current = true;
|
|
10740
|
-
_optionalChain([onCollapse, 'optionalCall',
|
|
10790
|
+
_optionalChain([onCollapse, 'optionalCall', _281 => _281()]);
|
|
10741
10791
|
}, [onCollapse]);
|
|
10742
10792
|
const beginCollapse = _react.useCallback.call(void 0, () => {
|
|
10743
10793
|
setExiting(true);
|
|
@@ -10818,7 +10868,7 @@ var STATUS_GLYPHS = {
|
|
|
10818
10868
|
approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
|
|
10819
10869
|
};
|
|
10820
10870
|
function statusFor(dialog, statusOf) {
|
|
10821
|
-
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall',
|
|
10871
|
+
return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _282 => _282(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
|
|
10822
10872
|
}
|
|
10823
10873
|
function MingoChatRail({
|
|
10824
10874
|
dialogs,
|
|
@@ -10847,8 +10897,8 @@ function MingoChatRail({
|
|
|
10847
10897
|
onExpand,
|
|
10848
10898
|
className
|
|
10849
10899
|
}) {
|
|
10850
|
-
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10851
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
10900
|
+
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _283 => _283.trim, 'call', _284 => _284()]));
|
|
10901
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _285 => _285.trim, 'call', _286 => _286()]);
|
|
10852
10902
|
const items = [];
|
|
10853
10903
|
if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
|
|
10854
10904
|
if (onOpenArchive) {
|
|
@@ -10905,7 +10955,7 @@ function MingoChatRail({
|
|
|
10905
10955
|
if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
|
|
10906
10956
|
const observer = new IntersectionObserver(
|
|
10907
10957
|
([entry]) => {
|
|
10908
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
10958
|
+
if (_optionalChain([entry, 'optionalAccess', _287 => _287.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _288 => _288.current, 'optionalCall', _289 => _289()]);
|
|
10909
10959
|
},
|
|
10910
10960
|
{ rootMargin: "120px", threshold: 0.1 }
|
|
10911
10961
|
);
|
|
@@ -11028,7 +11078,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
|
|
|
11028
11078
|
{
|
|
11029
11079
|
active,
|
|
11030
11080
|
title,
|
|
11031
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
11081
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _290 => _290(dialog.id)]),
|
|
11032
11082
|
className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
|
|
11033
11083
|
trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11034
11084
|
"span",
|
|
@@ -11162,7 +11212,7 @@ function MingoHistoryRail({
|
|
|
11162
11212
|
onRetry,
|
|
11163
11213
|
className
|
|
11164
11214
|
}) {
|
|
11165
|
-
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess',
|
|
11215
|
+
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _291 => _291.trim, 'call', _292 => _292()]);
|
|
11166
11216
|
const hasList = dialogs.length > 0 || hasSearch;
|
|
11167
11217
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11168
11218
|
"div",
|
|
@@ -11311,7 +11361,7 @@ function ChatDialogModals({
|
|
|
11311
11361
|
RenameChatModal,
|
|
11312
11362
|
{
|
|
11313
11363
|
isOpen: renameTarget != null,
|
|
11314
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
11364
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _293 => _293.title]), () => ( "")),
|
|
11315
11365
|
onClose: () => setRenameTarget(null),
|
|
11316
11366
|
onSave: onConfirmRename
|
|
11317
11367
|
}
|
|
@@ -11528,7 +11578,7 @@ function ChatAttachmentAddButton({
|
|
|
11528
11578
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
11529
11579
|
const handlePick = () => {
|
|
11530
11580
|
if (!canAddMore) return;
|
|
11531
|
-
_optionalChain([fileInputRef, 'access',
|
|
11581
|
+
_optionalChain([fileInputRef, 'access', _294 => _294.current, 'optionalAccess', _295 => _295.click, 'call', _296 => _296()]);
|
|
11532
11582
|
};
|
|
11533
11583
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
11534
11584
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -11691,7 +11741,7 @@ function ChatContextMemoryBar({
|
|
|
11691
11741
|
_react.useEffect.call(void 0, () => {
|
|
11692
11742
|
if (!open) return void 0;
|
|
11693
11743
|
const onOutside = (e) => {
|
|
11694
|
-
if (_optionalChain([rootRef, 'access',
|
|
11744
|
+
if (_optionalChain([rootRef, 'access', _297 => _297.current, 'optionalAccess', _298 => _298.contains, 'call', _299 => _299(e.target)])) return;
|
|
11695
11745
|
setOpen(false);
|
|
11696
11746
|
};
|
|
11697
11747
|
document.addEventListener("mousedown", onOutside, true);
|
|
@@ -11994,7 +12044,7 @@ function ChatComposer({
|
|
|
11994
12044
|
const locked = lock != null;
|
|
11995
12045
|
const selected = _nullishCoalesce(selectedContextItems, () => ( []));
|
|
11996
12046
|
const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
|
|
11997
|
-
const entityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
12047
|
+
const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _300 => _300.entityTypes]);
|
|
11998
12048
|
const iconByType = _react.useMemo.call(void 0, () => {
|
|
11999
12049
|
const map = /* @__PURE__ */ new Map();
|
|
12000
12050
|
for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
|
|
@@ -12010,7 +12060,7 @@ function ChatComposer({
|
|
|
12010
12060
|
sending,
|
|
12011
12061
|
placeholder,
|
|
12012
12062
|
disabled: locked,
|
|
12013
|
-
disabledPlaceholder: _optionalChain([lock, 'optionalAccess',
|
|
12063
|
+
disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _301 => _301.placeholder]),
|
|
12014
12064
|
previewText,
|
|
12015
12065
|
fullWidth: true,
|
|
12016
12066
|
className: "px-0",
|
|
@@ -12023,7 +12073,7 @@ function ChatComposer({
|
|
|
12023
12073
|
startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12024
12074
|
ChatComposerPlusMenu,
|
|
12025
12075
|
{
|
|
12026
|
-
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12076
|
+
onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _302 => _302()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _303 => _303()]),
|
|
12027
12077
|
open: contextPickerOpen,
|
|
12028
12078
|
disabled: attachmentsDisabled || locked,
|
|
12029
12079
|
dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12032,8 +12082,8 @@ function ChatComposer({
|
|
|
12032
12082
|
open: contextPickerOpen,
|
|
12033
12083
|
config: contextPicker,
|
|
12034
12084
|
selectedItems: selected,
|
|
12035
|
-
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall',
|
|
12036
|
-
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall',
|
|
12085
|
+
onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _304 => _304(item)]),
|
|
12086
|
+
onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _305 => _305()]),
|
|
12037
12087
|
mentionQuery
|
|
12038
12088
|
}
|
|
12039
12089
|
) : void 0
|
|
@@ -12224,8 +12274,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
12224
12274
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
12225
12275
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
12226
12276
|
const handleClick = (e) => {
|
|
12227
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
12228
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12277
|
+
_optionalChain([onDialogSelect, 'optionalCall', _306 => _306(dialog.id)]);
|
|
12278
|
+
_optionalChain([onClick, 'optionalCall', _307 => _307(e)]);
|
|
12229
12279
|
};
|
|
12230
12280
|
const formatTimestamp = (timestamp) => {
|
|
12231
12281
|
return _chunkTKFTWM3Vcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkTKFTWM3Vcjs.VIEWER_TIMEZONE, "numericDateTime24h");
|
|
@@ -12298,7 +12348,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
12298
12348
|
(entries) => {
|
|
12299
12349
|
const [entry] = entries;
|
|
12300
12350
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
12301
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
12351
|
+
_optionalChain([onLoadMoreRef, 'access', _308 => _308.current, 'optionalCall', _309 => _309()]);
|
|
12302
12352
|
}
|
|
12303
12353
|
},
|
|
12304
12354
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -12513,7 +12563,7 @@ function OnboardingCarousel({
|
|
|
12513
12563
|
" of ",
|
|
12514
12564
|
steps.length,
|
|
12515
12565
|
": ",
|
|
12516
|
-
_optionalChain([steps, 'access',
|
|
12566
|
+
_optionalChain([steps, 'access', _310 => _310[index], 'optionalAccess', _311 => _311.title])
|
|
12517
12567
|
] }),
|
|
12518
12568
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
|
|
12519
12569
|
const isCurrent = i === index;
|
|
@@ -12618,7 +12668,7 @@ function isForeignOriginHref(href) {
|
|
|
12618
12668
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
12619
12669
|
const isNewTab = runtime ? _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
12620
12670
|
if (isNewTab) {
|
|
12621
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
12671
|
+
if (_optionalChain([runtime, 'optionalAccess', _312 => _312.navigation, 'access', _313 => _313.openExternal])) runtime.navigation.openExternal(href);
|
|
12622
12672
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
12623
12673
|
return;
|
|
12624
12674
|
}
|
|
@@ -12626,7 +12676,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
|
12626
12676
|
if (target.includes("#") && _chunkK2JUJ37Dcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
12627
12677
|
return;
|
|
12628
12678
|
}
|
|
12629
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
12679
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _314 => _314.navigation, 'access', _315 => _315.navigate, 'optionalCall', _316 => _316({ href, path, targetPlatform })]), () => ( false));
|
|
12630
12680
|
if (!handled) {
|
|
12631
12681
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
12632
12682
|
else window.location.assign(target);
|
|
@@ -12676,7 +12726,7 @@ function useNavLinkViaRuntime({
|
|
|
12676
12726
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
12677
12727
|
const isNewTab = _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
12678
12728
|
const onClick = (e) => {
|
|
12679
|
-
_optionalChain([onClickProp, 'optionalCall',
|
|
12729
|
+
_optionalChain([onClickProp, 'optionalCall', _317 => _317(e)]);
|
|
12680
12730
|
if (e.defaultPrevented) return;
|
|
12681
12731
|
const handled = executeNavigation({
|
|
12682
12732
|
event: e,
|
|
@@ -12686,7 +12736,7 @@ function useNavLinkViaRuntime({
|
|
|
12686
12736
|
targetPlatform,
|
|
12687
12737
|
fallbackNavigate: router.push
|
|
12688
12738
|
});
|
|
12689
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
12739
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _318 => _318.closeChat])) panel.closeChat();
|
|
12690
12740
|
};
|
|
12691
12741
|
const attrs = _chunkHEQ4GPYEcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
12692
12742
|
return {
|
|
@@ -12770,11 +12820,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
|
|
|
12770
12820
|
function getCaptionsUrl(entityType, entityId, srtContent, options) {
|
|
12771
12821
|
if (!srtContent) return void 0;
|
|
12772
12822
|
const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
|
|
12773
|
-
const variant = _optionalChain([options, 'optionalAccess',
|
|
12823
|
+
const variant = _optionalChain([options, 'optionalAccess', _319 => _319.variant]) ? `&variant=${options.variant}` : "";
|
|
12774
12824
|
return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
|
|
12775
12825
|
}
|
|
12776
12826
|
function resolveCaptionsBase(endpoints) {
|
|
12777
|
-
return _optionalChain([endpoints, 'optionalAccess',
|
|
12827
|
+
return _optionalChain([endpoints, 'optionalAccess', _320 => _320.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
|
|
12778
12828
|
}
|
|
12779
12829
|
function rebaseCaptionsUrl(endpoints, url) {
|
|
12780
12830
|
if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
|
|
@@ -12863,7 +12913,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
12863
12913
|
// src/components/features/use-captions.ts
|
|
12864
12914
|
|
|
12865
12915
|
function useCaptions() {
|
|
12866
|
-
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess',
|
|
12916
|
+
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _321 => _321.endpoints]), () => ( null));
|
|
12867
12917
|
return _react.useMemo.call(void 0,
|
|
12868
12918
|
() => ({
|
|
12869
12919
|
forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
|
|
@@ -13138,9 +13188,9 @@ function CardsStrip(props) {
|
|
|
13138
13188
|
const p = hoverPointerRef.current;
|
|
13139
13189
|
if (!p.inside) return;
|
|
13140
13190
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
13141
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
13142
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
13143
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
13191
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _322 => _322.closest, 'optionalCall', _323 => _323("[data-strip-card-key]")]);
|
|
13192
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _324 => _324.current, 'optionalAccess', _325 => _325.contains, 'call', _326 => _326(cardEl)]) ? cardEl : null;
|
|
13193
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _327 => _327.getAttribute, 'call', _328 => _328("data-strip-card-key")]), () => ( null));
|
|
13144
13194
|
const current = activeKeyRef.current;
|
|
13145
13195
|
if (key === current) return;
|
|
13146
13196
|
if (current !== null) deactivate(current);
|
|
@@ -13178,7 +13228,7 @@ function CardsStrip(props) {
|
|
|
13178
13228
|
}, [syncHoverToPointer]);
|
|
13179
13229
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
13180
13230
|
const half = singleCopyWidthRef.current;
|
|
13181
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13231
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _329 => _329.current, 'optionalAccess', _330 => _330.clientWidth]), () => ( 0));
|
|
13182
13232
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
13183
13233
|
}, []);
|
|
13184
13234
|
const mirror = _react.useCallback.call(void 0,
|
|
@@ -13202,7 +13252,7 @@ function CardsStrip(props) {
|
|
|
13202
13252
|
const scroller = scrollerRef.current;
|
|
13203
13253
|
if (scroller) scroller.scrollLeft = mirror(pos);
|
|
13204
13254
|
},
|
|
13205
|
-
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
13255
|
+
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _331 => _331.current, 'optionalAccess', _332 => _332.scrollLeft]), () => ( 0))),
|
|
13206
13256
|
onAfterFrame: syncHoverIfScrolled
|
|
13207
13257
|
});
|
|
13208
13258
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -13250,11 +13300,11 @@ function CardsStrip(props) {
|
|
|
13250
13300
|
fn = (el) => {
|
|
13251
13301
|
if (!el) return void 0;
|
|
13252
13302
|
cardElIdxRef.current.set(el, idx);
|
|
13253
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13303
|
+
_optionalChain([cardObserverRef, 'access', _333 => _333.current, 'optionalAccess', _334 => _334.observe, 'call', _335 => _335(el)]);
|
|
13254
13304
|
return () => {
|
|
13255
13305
|
cardElIdxRef.current.delete(el);
|
|
13256
13306
|
cardElNearRef.current.delete(el);
|
|
13257
|
-
_optionalChain([cardObserverRef, 'access',
|
|
13307
|
+
_optionalChain([cardObserverRef, 'access', _336 => _336.current, 'optionalAccess', _337 => _337.unobserve, 'call', _338 => _338(el)]);
|
|
13258
13308
|
};
|
|
13259
13309
|
};
|
|
13260
13310
|
cardRefFns.set(idx, fn);
|
|
@@ -13273,7 +13323,7 @@ function CardsStrip(props) {
|
|
|
13273
13323
|
const track = trackRef.current;
|
|
13274
13324
|
if (!scroller || !track) return;
|
|
13275
13325
|
const firstCard = track.firstElementChild;
|
|
13276
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
13326
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _339 => _339.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
13277
13327
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
13278
13328
|
if (marqueeActiveRef.current) {
|
|
13279
13329
|
glideBy((reverse ? -dir : dir) * step);
|
|
@@ -13334,7 +13384,7 @@ function CardsStrip(props) {
|
|
|
13334
13384
|
{
|
|
13335
13385
|
ref: (node) => {
|
|
13336
13386
|
wrapperRef.current = node;
|
|
13337
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
13387
|
+
_optionalChain([rootRef, 'optionalCall', _340 => _340(node)]);
|
|
13338
13388
|
},
|
|
13339
13389
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
13340
13390
|
children: [
|
|
@@ -13509,7 +13559,7 @@ function VideoBitesStrip({
|
|
|
13509
13559
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
13510
13560
|
return filtered.sort(sortComparator);
|
|
13511
13561
|
}, [bites, filterPublished, sortComparator]);
|
|
13512
|
-
const warmup = _chunkHEQ4GPYEcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access',
|
|
13562
|
+
const warmup = _chunkHEQ4GPYEcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _341 => _341[0], 'optionalAccess', _342 => _342.url]) || null });
|
|
13513
13563
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13514
13564
|
CardsStrip,
|
|
13515
13565
|
{
|
|
@@ -13576,8 +13626,8 @@ function VideoBiteCard({
|
|
|
13576
13626
|
const controlled = active !== void 0;
|
|
13577
13627
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
13578
13628
|
const isActive = controlled ? !!active : selfActive;
|
|
13579
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
13580
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
13629
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _343 => _343(key)]) : setSelfActive(true);
|
|
13630
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _344 => _344(key)]) : setSelfActive(false);
|
|
13581
13631
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
13582
13632
|
_chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13583
13633
|
const el = titleInputRef.current;
|
|
@@ -13587,7 +13637,7 @@ function VideoBiteCard({
|
|
|
13587
13637
|
});
|
|
13588
13638
|
const navigate = () => {
|
|
13589
13639
|
if (bite.onNavigate) bite.onNavigate();
|
|
13590
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
13640
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _345 => _345(bite, index)]);
|
|
13591
13641
|
};
|
|
13592
13642
|
const handlePointerEnter = () => {
|
|
13593
13643
|
if (!isTouch) activate();
|
|
@@ -13612,9 +13662,9 @@ function VideoBiteCard({
|
|
|
13612
13662
|
placeholder: "Title (optional)",
|
|
13613
13663
|
"aria-label": "Bite title",
|
|
13614
13664
|
rows: 1,
|
|
13615
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
13665
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _346 => _346(e.target.value)]),
|
|
13616
13666
|
ref: titleInputRef,
|
|
13617
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
13667
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _347 => _347(e.target.value)]),
|
|
13618
13668
|
onClick: (e) => e.stopPropagation(),
|
|
13619
13669
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
13620
13670
|
titleClass,
|
|
@@ -13691,7 +13741,7 @@ function VideoBiteCard({
|
|
|
13691
13741
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13692
13742
|
"div",
|
|
13693
13743
|
{
|
|
13694
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
13744
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _348 => _348(node)]),
|
|
13695
13745
|
"aria-hidden": isClone || void 0,
|
|
13696
13746
|
"data-strip-card-key": key,
|
|
13697
13747
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
@@ -13746,8 +13796,8 @@ function EntityVideoSection({
|
|
|
13746
13796
|
const hasHighlight = !!highlightVideoUrl;
|
|
13747
13797
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13748
13798
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13749
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13750
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13799
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _349 => _349.captionsUrl])));
|
|
13800
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _350 => _350.highlightCaptionsUrl])));
|
|
13751
13801
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13752
13802
|
return null;
|
|
13753
13803
|
}
|
|
@@ -14065,7 +14115,7 @@ var MediaSkeleton = {
|
|
|
14065
14115
|
|
|
14066
14116
|
function designDocPeople(doc) {
|
|
14067
14117
|
const people = [];
|
|
14068
|
-
if (_optionalChain([doc, 'access',
|
|
14118
|
+
if (_optionalChain([doc, 'access', _351 => _351.author, 'optionalAccess', _352 => _352.full_name]))
|
|
14069
14119
|
people.push({
|
|
14070
14120
|
key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
|
|
14071
14121
|
name: doc.author.full_name,
|
|
@@ -14078,7 +14128,7 @@ function designDocPeople(doc) {
|
|
|
14078
14128
|
return people;
|
|
14079
14129
|
}
|
|
14080
14130
|
function designDocMetaLine(doc) {
|
|
14081
|
-
return [_optionalChain([doc, 'access',
|
|
14131
|
+
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 ");
|
|
14082
14132
|
}
|
|
14083
14133
|
function DesignDocCardSkeleton() {
|
|
14084
14134
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -14552,7 +14602,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14552
14602
|
] }) : null,
|
|
14553
14603
|
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
|
|
14554
14604
|
] }),
|
|
14555
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
14605
|
+
_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
|
|
14556
14606
|
] });
|
|
14557
14607
|
if (!anchorProps) {
|
|
14558
14608
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -14580,7 +14630,7 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14580
14630
|
|
|
14581
14631
|
|
|
14582
14632
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14583
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
14633
|
+
const goalsCount = _optionalChain([campaign, 'access', _356 => _356.goals, 'optionalAccess', _357 => _357.length]) || 0;
|
|
14584
14634
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14585
14635
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
14586
14636
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -14694,8 +14744,8 @@ function getVendorLogo(vendor) {
|
|
|
14694
14744
|
if (vendor.logo) {
|
|
14695
14745
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
14696
14746
|
}
|
|
14697
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
14698
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
14747
|
+
const logoMedia = _optionalChain([vendor, 'access', _358 => _358.vendor_media, 'optionalAccess', _359 => _359.find, 'call', _360 => _360((m) => m.media_type === "logo")]);
|
|
14748
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _361 => _361.media_url])) {
|
|
14699
14749
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
14700
14750
|
}
|
|
14701
14751
|
return null;
|
|
@@ -14764,7 +14814,7 @@ function VendorIcon({
|
|
|
14764
14814
|
"flex items-center justify-center uppercase text-h6",
|
|
14765
14815
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
14766
14816
|
),
|
|
14767
|
-
children: _optionalChain([vendor, 'access',
|
|
14817
|
+
children: _optionalChain([vendor, 'access', _362 => _362.title, 'optionalAccess', _363 => _363.substring, 'call', _364 => _364(0, 2)]) || "??"
|
|
14768
14818
|
}
|
|
14769
14819
|
) });
|
|
14770
14820
|
}
|
|
@@ -14957,7 +15007,7 @@ function pickFetchedCardHref({
|
|
|
14957
15007
|
itemHref,
|
|
14958
15008
|
allowComposed
|
|
14959
15009
|
}) {
|
|
14960
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
15010
|
+
if (_optionalChain([composed, 'optionalAccess', _365 => _365.hostOverride])) {
|
|
14961
15011
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14962
15012
|
}
|
|
14963
15013
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -15019,7 +15069,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
15019
15069
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
15020
15070
|
const safePath = sanitizePath(row.path);
|
|
15021
15071
|
if (safePath) {
|
|
15022
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
15072
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _366 => _366.docPlatformTargets, 'optionalAccess', _367 => _367[row.documentType]]) : void 0;
|
|
15023
15073
|
if (docTarget) {
|
|
15024
15074
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
15025
15075
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -15088,7 +15138,7 @@ function resolveCardDestination({
|
|
|
15088
15138
|
composeContentUrl,
|
|
15089
15139
|
resolveHref = (href) => href
|
|
15090
15140
|
}) {
|
|
15091
|
-
const refPath = typeof _optionalChain([chatRef, 'access',
|
|
15141
|
+
const refPath = typeof _optionalChain([chatRef, 'access', _368 => _368.metadata, 'optionalAccess', _369 => _369.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
15092
15142
|
const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
|
|
15093
15143
|
const cta = resolveSourceRowCTA(
|
|
15094
15144
|
{
|
|
@@ -15105,7 +15155,7 @@ function resolveCardDestination({
|
|
|
15105
15155
|
const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
|
|
15106
15156
|
const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
|
|
15107
15157
|
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
15108
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
15158
|
+
if (_optionalChain([entry, 'optionalAccess', _370 => _370.contentRefType]) && item) {
|
|
15109
15159
|
const choice = pickFetchedCardHref({
|
|
15110
15160
|
composed: resolveFetchedCardHref({
|
|
15111
15161
|
contentRefType: entry.contentRefType,
|
|
@@ -15113,7 +15163,7 @@ function resolveCardDestination({
|
|
|
15113
15163
|
item,
|
|
15114
15164
|
composeContentUrl
|
|
15115
15165
|
}),
|
|
15116
|
-
itemHref: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
15166
|
+
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _371 => _371.fallbackHref, 'optionalCall', _372 => _372(item)]), () => ( null)),
|
|
15117
15167
|
allowComposed: !entry.noComposedHref
|
|
15118
15168
|
});
|
|
15119
15169
|
const url = choice ? _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
@@ -15207,8 +15257,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
15207
15257
|
if (href) {
|
|
15208
15258
|
items.push({
|
|
15209
15259
|
id: "open-details",
|
|
15210
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15211
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
15260
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _373 => _373.label]), () => ( "Open Details")),
|
|
15261
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _374 => _374.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
|
|
15212
15262
|
// Main row → open the entity (same tab, soft Link nav).
|
|
15213
15263
|
href,
|
|
15214
15264
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -15268,18 +15318,18 @@ function itemVideoMetadata(item) {
|
|
|
15268
15318
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
15269
15319
|
return void 0;
|
|
15270
15320
|
};
|
|
15271
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15321
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _375 => _375.metadata]), () => ( {}));
|
|
15272
15322
|
const out = {};
|
|
15273
|
-
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
15274
|
-
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
15275
|
-
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
15323
|
+
const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _376 => _376.custom_video_url]), _optionalChain([item, 'optionalAccess', _377 => _377.main_video_url]));
|
|
15324
|
+
const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _378 => _378.youtube_url]), _optionalChain([item, 'optionalAccess', _379 => _379.testimonial_video_url]));
|
|
15325
|
+
const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _380 => _380.highlight_video_url]));
|
|
15276
15326
|
const videoPoster = pick2(
|
|
15277
15327
|
m.videoPoster,
|
|
15278
|
-
_optionalChain([item, 'optionalAccess',
|
|
15279
|
-
_optionalChain([item, 'optionalAccess',
|
|
15280
|
-
_optionalChain([item, 'optionalAccess',
|
|
15328
|
+
_optionalChain([item, 'optionalAccess', _381 => _381.main_video_thumbnail]),
|
|
15329
|
+
_optionalChain([item, 'optionalAccess', _382 => _382.highlight_video_thumbnail]),
|
|
15330
|
+
_optionalChain([item, 'optionalAccess', _383 => _383.featured_image])
|
|
15281
15331
|
);
|
|
15282
|
-
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
15332
|
+
const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _384 => _384.highlight_video_thumbnail]));
|
|
15283
15333
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
15284
15334
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
15285
15335
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -15309,15 +15359,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
15309
15359
|
}
|
|
15310
15360
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
15311
15361
|
const it = item;
|
|
15312
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
15362
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _385 => _385.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
15313
15363
|
return {
|
|
15314
15364
|
type: "faq",
|
|
15315
15365
|
id: chatRef.id,
|
|
15316
15366
|
sourceRepo: chatRef.sourceRepo,
|
|
15317
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
15367
|
+
title: typeof _optionalChain([it, 'optionalAccess', _386 => _386.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
15318
15368
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
15319
15369
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
15320
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
15370
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _387 => _387.section]) === "string" && it.section ? { section: it.section } : {}
|
|
15321
15371
|
};
|
|
15322
15372
|
}
|
|
15323
15373
|
function HubspotTicketChatCard({
|
|
@@ -15325,8 +15375,8 @@ function HubspotTicketChatCard({
|
|
|
15325
15375
|
isNewTab,
|
|
15326
15376
|
discuss
|
|
15327
15377
|
}) {
|
|
15328
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
15329
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
15378
|
+
const status = typeof _optionalChain([chatRef, 'access', _388 => _388.metadata, 'optionalAccess', _389 => _389.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
15379
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _390 => _390.metadata, 'optionalAccess', _391 => _391.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
15330
15380
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
15331
15381
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15332
15382
|
MingoInfoCard,
|
|
@@ -15349,7 +15399,7 @@ function FaqChatCard({
|
|
|
15349
15399
|
isNewTab,
|
|
15350
15400
|
discuss
|
|
15351
15401
|
}) {
|
|
15352
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
15402
|
+
const section = typeof _optionalChain([chatRef, 'access', _392 => _392.metadata, 'optionalAccess', _393 => _393.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
15353
15403
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
15354
15404
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15355
15405
|
MingoInfoCard,
|
|
@@ -15369,7 +15419,7 @@ function SlackChatCard({
|
|
|
15369
15419
|
isNewTab,
|
|
15370
15420
|
discuss
|
|
15371
15421
|
}) {
|
|
15372
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
15422
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _394 => _394.metadata, 'optionalAccess', _395 => _395.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
15373
15423
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
15374
15424
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
15375
15425
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15412,7 +15462,7 @@ function TrustCenterChatCard({
|
|
|
15412
15462
|
isNewTab,
|
|
15413
15463
|
discuss
|
|
15414
15464
|
}) {
|
|
15415
|
-
const raw = _optionalChain([item, 'optionalAccess',
|
|
15465
|
+
const raw = _optionalChain([item, 'optionalAccess', _396 => _396.frameworks]);
|
|
15416
15466
|
const frameworks = Array.isArray(raw) ? raw : [];
|
|
15417
15467
|
const summary = _chunkHEQ4GPYEcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
15418
15468
|
const leadFramework = frameworks[0];
|
|
@@ -15461,7 +15511,7 @@ function GenericFinancialChatCard({
|
|
|
15461
15511
|
isNewTab,
|
|
15462
15512
|
discuss
|
|
15463
15513
|
}) {
|
|
15464
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
15514
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _397 => _397.metadata, 'optionalAccess', _398 => _398.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
15465
15515
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15466
15516
|
MingoInfoCard,
|
|
15467
15517
|
{
|
|
@@ -15530,12 +15580,12 @@ function ProductReleaseChatCard({
|
|
|
15530
15580
|
discuss
|
|
15531
15581
|
}) {
|
|
15532
15582
|
const releaseProps = buildProps(item);
|
|
15533
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
15583
|
+
const status = _optionalChain([item, 'optionalAccess', _399 => _399.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15534
15584
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15535
15585
|
EntityMingoCard,
|
|
15536
15586
|
{
|
|
15537
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15538
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15587
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.title]), () => ( "")),
|
|
15588
|
+
description: _optionalChain([item, 'optionalAccess', _401 => _401.summary]) || releaseProps.formattedDate || void 0,
|
|
15539
15589
|
cover: releaseProps.coverImage || void 0,
|
|
15540
15590
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
|
|
15541
15591
|
status,
|
|
@@ -15552,17 +15602,17 @@ function CampaignChatCard({
|
|
|
15552
15602
|
isNewTab,
|
|
15553
15603
|
discuss
|
|
15554
15604
|
}) {
|
|
15555
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15605
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _402 => _402.goals])) ? item.goals.length : 0;
|
|
15556
15606
|
const meta = [
|
|
15557
|
-
_optionalChain([item, 'optionalAccess',
|
|
15607
|
+
_optionalChain([item, 'optionalAccess', _403 => _403.start_date]) ? _chunkHEQ4GPYEcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15558
15608
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15559
15609
|
"Marketing campaign"
|
|
15560
15610
|
].filter(Boolean).join(" \xB7 ");
|
|
15561
15611
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15562
15612
|
EntityMingoCard,
|
|
15563
15613
|
{
|
|
15564
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15565
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15614
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.name]), () => ( "")),
|
|
15615
|
+
description: meta || _optionalChain([item, 'optionalAccess', _405 => _405.description]) || void 0,
|
|
15566
15616
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
|
|
15567
15617
|
chatRef,
|
|
15568
15618
|
isNewTab,
|
|
@@ -15617,14 +15667,14 @@ function BlogChatCard({
|
|
|
15617
15667
|
hasEmbeddedVideo,
|
|
15618
15668
|
discuss
|
|
15619
15669
|
}) {
|
|
15620
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15670
|
+
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;
|
|
15621
15671
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15622
15672
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15623
15673
|
EntityMingoCard,
|
|
15624
15674
|
{
|
|
15625
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15626
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15627
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15675
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _412 => _412.title]), () => ( "")),
|
|
15676
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.summary]), () => ( void 0)),
|
|
15677
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _414 => _414.featured_image]), ogPlaceholder),
|
|
15628
15678
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
|
|
15629
15679
|
status,
|
|
15630
15680
|
chatRef,
|
|
@@ -15641,13 +15691,13 @@ function CaseStudyChatCard({
|
|
|
15641
15691
|
ogPlaceholder,
|
|
15642
15692
|
discuss
|
|
15643
15693
|
}) {
|
|
15644
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15694
|
+
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 ");
|
|
15645
15695
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15646
15696
|
EntityMingoCard,
|
|
15647
15697
|
{
|
|
15648
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15649
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15650
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15698
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.title]), () => ( "")),
|
|
15699
|
+
description: _optionalChain([item, 'optionalAccess', _420 => _420.summary]) || meta || void 0,
|
|
15700
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _421 => _421.featured_image]), ogPlaceholder),
|
|
15651
15701
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
|
|
15652
15702
|
status: { label: "Case study", variant: "grey" },
|
|
15653
15703
|
chatRef,
|
|
@@ -15664,13 +15714,13 @@ function CustomerInterviewChatCard({
|
|
|
15664
15714
|
ogPlaceholder,
|
|
15665
15715
|
discuss
|
|
15666
15716
|
}) {
|
|
15667
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15717
|
+
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 ");
|
|
15668
15718
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15669
15719
|
EntityMingoCard,
|
|
15670
15720
|
{
|
|
15671
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15672
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15673
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15721
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")),
|
|
15722
|
+
description: _optionalChain([item, 'optionalAccess', _427 => _427.video_summary]) || meta || void 0,
|
|
15723
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _428 => _428.featured_image]), ogPlaceholder),
|
|
15674
15724
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
|
|
15675
15725
|
status: { label: "Interview", variant: "grey" },
|
|
15676
15726
|
chatRef,
|
|
@@ -15687,12 +15737,12 @@ function DesignDocChatCard({
|
|
|
15687
15737
|
discuss
|
|
15688
15738
|
}) {
|
|
15689
15739
|
const displayRef = fetchedItemDisplayRef(item, chatRef);
|
|
15690
|
-
const doc = _optionalChain([item, 'optionalAccess',
|
|
15740
|
+
const doc = _optionalChain([item, 'optionalAccess', _429 => _429.doc]);
|
|
15691
15741
|
const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
|
|
15692
15742
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15693
15743
|
MingoInfoCard,
|
|
15694
15744
|
{
|
|
15695
|
-
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
15745
|
+
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _430 => _430.title]), () => ( displayRef.title)),
|
|
15696
15746
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15697
15747
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15698
15748
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
@@ -15709,13 +15759,13 @@ function InvestorUpdateChatCard({
|
|
|
15709
15759
|
ogPlaceholder,
|
|
15710
15760
|
discuss
|
|
15711
15761
|
}) {
|
|
15712
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15762
|
+
const title = _optionalChain([item, 'optionalAccess', _431 => _431.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _432 => _432.update_number]), () => ( "?"))}`;
|
|
15713
15763
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15714
15764
|
EntityMingoCard,
|
|
15715
15765
|
{
|
|
15716
15766
|
title,
|
|
15717
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15718
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15767
|
+
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,
|
|
15768
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _437 => _437.featured_image]), ogPlaceholder),
|
|
15719
15769
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
|
|
15720
15770
|
status: { label: "Investor update", variant: "grey" },
|
|
15721
15771
|
chatRef,
|
|
@@ -15732,12 +15782,12 @@ function OnboardingGuideChatCard({
|
|
|
15732
15782
|
ogPlaceholder,
|
|
15733
15783
|
discuss
|
|
15734
15784
|
}) {
|
|
15735
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15785
|
+
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)));
|
|
15736
15786
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15737
15787
|
EntityMingoCard,
|
|
15738
15788
|
{
|
|
15739
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15740
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15789
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.title]), () => ( "")),
|
|
15790
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.summary]), () => ( _optionalChain([item, 'optionalAccess', _443 => _443.description]))), () => ( void 0)),
|
|
15741
15791
|
cover,
|
|
15742
15792
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
|
|
15743
15793
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15762,9 +15812,9 @@ function ProgramChatCard({
|
|
|
15762
15812
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15763
15813
|
EntityMingoCard,
|
|
15764
15814
|
{
|
|
15765
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15766
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15767
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15815
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _444 => _444.title]), () => ( "")),
|
|
15816
|
+
description: meta || _optionalChain([item, 'optionalAccess', _445 => _445.description]) || void 0,
|
|
15817
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _446 => _446.cover_url]), ogPlaceholder),
|
|
15768
15818
|
fallbackIcon: icon,
|
|
15769
15819
|
status: { label, variant: "grey" },
|
|
15770
15820
|
chatRef,
|
|
@@ -15781,10 +15831,10 @@ function RoadmapChatCard({
|
|
|
15781
15831
|
cardType,
|
|
15782
15832
|
discuss
|
|
15783
15833
|
}) {
|
|
15784
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15785
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15834
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _447 => _447.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15835
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _448 => _448.customItemId]) != null;
|
|
15786
15836
|
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 });
|
|
15787
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
15837
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _449 => _449.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15788
15838
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15789
15839
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15790
15840
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15795,10 +15845,10 @@ function RoadmapChatCard({
|
|
|
15795
15845
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15796
15846
|
EntityMingoCard,
|
|
15797
15847
|
{
|
|
15798
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15799
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15848
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.title]), () => ( "")),
|
|
15849
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.description]), () => ( void 0)),
|
|
15800
15850
|
fallbackIcon: icon,
|
|
15801
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15851
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _452 => _452.status])),
|
|
15802
15852
|
chatRef,
|
|
15803
15853
|
isNewTab,
|
|
15804
15854
|
discuss,
|
|
@@ -15814,17 +15864,17 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15814
15864
|
bareInline: true,
|
|
15815
15865
|
contentRefType: docType,
|
|
15816
15866
|
noComposedHref: true,
|
|
15817
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15867
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.url]), () => ( null)),
|
|
15818
15868
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15819
15869
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15820
15870
|
};
|
|
15821
15871
|
}
|
|
15822
15872
|
var FINANCIAL_CARD_CONFIGS = {
|
|
15823
|
-
financial_kpi: { label: "Financial KPI"
|
|
15824
|
-
cap_table: { label: "Cap table entry"
|
|
15825
|
-
profit_loss: { label: "P&L period"
|
|
15826
|
-
balance_sheet: { label: "Balance sheet"
|
|
15827
|
-
cash_flow: { label: "Cash flow"
|
|
15873
|
+
financial_kpi: { label: "Financial KPI" },
|
|
15874
|
+
cap_table: { label: "Cap table entry" },
|
|
15875
|
+
profit_loss: { label: "P&L period" },
|
|
15876
|
+
balance_sheet: { label: "Balance sheet" },
|
|
15877
|
+
cash_flow: { label: "Cash flow" }
|
|
15828
15878
|
};
|
|
15829
15879
|
function registryEntries(configs, build) {
|
|
15830
15880
|
const out = {};
|
|
@@ -15838,7 +15888,7 @@ function financialRegistryEntries() {
|
|
|
15838
15888
|
GenericFinancialChatCard,
|
|
15839
15889
|
{
|
|
15840
15890
|
chatRef: displayRef,
|
|
15841
|
-
icon:
|
|
15891
|
+
icon: sourceGlyph(docType),
|
|
15842
15892
|
isNewTab: opts.isNewTab,
|
|
15843
15893
|
discuss: opts.discuss
|
|
15844
15894
|
}
|
|
@@ -15846,7 +15896,7 @@ function financialRegistryEntries() {
|
|
|
15846
15896
|
);
|
|
15847
15897
|
}
|
|
15848
15898
|
function refText(ref, key) {
|
|
15849
|
-
const value = _optionalChain([ref, 'optionalAccess',
|
|
15899
|
+
const value = _optionalChain([ref, 'optionalAccess', _454 => _454[key]]);
|
|
15850
15900
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
15851
15901
|
}
|
|
15852
15902
|
function VendorGlyph({ title, logoUrl }) {
|
|
@@ -15864,41 +15914,45 @@ var GITHUB_CARD_CONFIGS = {
|
|
|
15864
15914
|
github_pr_review: { label: "GitHub review", kind: "pr_review" },
|
|
15865
15915
|
github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
|
|
15866
15916
|
};
|
|
15867
|
-
var OpenFrameGlyph = _chunkIITB5TJRcjs.resolveIcon.call(void 0, "openframe");
|
|
15868
15917
|
var REF_GLYPH_CARD_CONFIGS = {
|
|
15869
|
-
openframe_tenant: { label: "OpenFrame tenant"
|
|
15870
|
-
prospect_call: { label: "Prospect call",
|
|
15918
|
+
openframe_tenant: { label: "OpenFrame tenant" },
|
|
15919
|
+
prospect_call: { label: "Prospect call", media: true },
|
|
15871
15920
|
// Code intelligence (product-hub internal): the review rules a repository is
|
|
15872
15921
|
// held to, the repositories themselves, and one row per deployment
|
|
15873
15922
|
// environment. Glyph cards like their siblings — none of the three has a
|
|
15874
15923
|
// cover image, and a rule is read in the admin screen it links to.
|
|
15875
|
-
code_rule: { label: "Code rule"
|
|
15876
|
-
code_repo: { label: "Repository"
|
|
15877
|
-
code_deployment: { label: "Deployment"
|
|
15924
|
+
code_rule: { label: "Code rule" },
|
|
15925
|
+
code_repo: { label: "Repository" },
|
|
15926
|
+
code_deployment: { label: "Deployment" },
|
|
15878
15927
|
// The graph's own objects: one source file's public surface, one public
|
|
15879
15928
|
// symbol, a near-duplicate cluster, and a pull request's blast radius.
|
|
15880
15929
|
// Glyph cards for the same reason as their three siblings — none carries a
|
|
15881
15930
|
// cover image, and each links to the admin screen that renders it in full.
|
|
15882
|
-
code_file: { label: "Code file"
|
|
15883
|
-
code_symbol: { label: "Code symbol"
|
|
15884
|
-
code_duplicate: { label: "Duplicate code"
|
|
15885
|
-
code_impact: { label: "Change impact"
|
|
15931
|
+
code_file: { label: "Code file" },
|
|
15932
|
+
code_symbol: { label: "Code symbol" },
|
|
15933
|
+
code_duplicate: { label: "Duplicate code" },
|
|
15934
|
+
code_impact: { label: "Change impact" },
|
|
15886
15935
|
// A change set: pull requests across repositories declared as one change, with the ClickUp tasks and design
|
|
15887
15936
|
// docs its pull requests are attached to. ONE card for it wherever a set is shown (chat, a design doc's page).
|
|
15888
|
-
change_set: { label: "Change set"
|
|
15937
|
+
change_set: { label: "Change set" },
|
|
15889
15938
|
// A page of the public website (pricing, product, legal, and every page the navigation lists), read live
|
|
15890
15939
|
// from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
|
|
15891
15940
|
site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
|
|
15892
15941
|
// What OpenFrame charges, read live from its billing: the plan in force, or one AI model's token exchange
|
|
15893
15942
|
// rate. A glyph card; it opens the pricing page.
|
|
15894
|
-
openframe_price: { label: "OpenFrame price"
|
|
15943
|
+
openframe_price: { label: "OpenFrame price" },
|
|
15895
15944
|
// A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
|
|
15896
|
-
vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess',
|
|
15945
|
+
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") }) }
|
|
15897
15946
|
};
|
|
15947
|
+
function sourceGlyph(docType) {
|
|
15948
|
+
const { Icon } = resolveSourceIcon({ sourceRepo: defaultTableIdForDocumentType(docType), documentType: docType });
|
|
15949
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "size-6" });
|
|
15950
|
+
}
|
|
15898
15951
|
function refGlyphRegistryEntries() {
|
|
15899
|
-
return registryEntries(
|
|
15900
|
-
|
|
15901
|
-
|
|
15952
|
+
return registryEntries(REF_GLYPH_CARD_CONFIGS, (config, docType) => {
|
|
15953
|
+
const glyph = _nullishCoalesce(config.icon, () => ( (() => sourceGlyph(docType))));
|
|
15954
|
+
const cfg = config;
|
|
15955
|
+
return refHydratedEntry(
|
|
15902
15956
|
docType,
|
|
15903
15957
|
cfg.label,
|
|
15904
15958
|
(displayRef, opts) => cfg.media ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15907,40 +15961,32 @@ function refGlyphRegistryEntries() {
|
|
|
15907
15961
|
title: displayRef.title,
|
|
15908
15962
|
description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15909
15963
|
cover: entityCover(
|
|
15910
|
-
_optionalChain([displayRef, 'access',
|
|
15911
|
-
_nullishCoalesce(_optionalChain([opts, 'access',
|
|
15964
|
+
_optionalChain([displayRef, 'access', _456 => _456.metadata, 'optionalAccess', _457 => _457.videoPoster]),
|
|
15965
|
+
_nullishCoalesce(_optionalChain([opts, 'access', _458 => _458.extras, 'optionalAccess', _459 => _459.buildOgPlaceholderUrl, 'optionalCall', _460 => _460(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
|
|
15912
15966
|
),
|
|
15913
|
-
fallbackIcon:
|
|
15967
|
+
fallbackIcon: glyph(displayRef),
|
|
15914
15968
|
status: { label: cfg.label, variant: "grey" },
|
|
15915
15969
|
chatRef: displayRef,
|
|
15916
15970
|
isNewTab: opts.isNewTab,
|
|
15917
15971
|
discuss: opts.discuss,
|
|
15918
15972
|
menuAriaLabel: `${cfg.label} actions`
|
|
15919
15973
|
}
|
|
15920
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15921
|
-
|
|
15922
|
-
|
|
15923
|
-
chatRef: displayRef,
|
|
15924
|
-
icon: cfg.icon(displayRef),
|
|
15925
|
-
isNewTab: opts.isNewTab,
|
|
15926
|
-
discuss: opts.discuss
|
|
15927
|
-
}
|
|
15928
|
-
)
|
|
15929
|
-
)
|
|
15930
|
-
);
|
|
15974
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlyphChatCard, { chatRef: displayRef, icon: glyph(displayRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15975
|
+
);
|
|
15976
|
+
});
|
|
15931
15977
|
}
|
|
15932
15978
|
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15933
15979
|
const it = item;
|
|
15934
|
-
const title = typeof _optionalChain([it, 'optionalAccess',
|
|
15935
|
-
const author = typeof _optionalChain([it, 'optionalAccess',
|
|
15936
|
-
const summary = typeof _optionalChain([it, 'optionalAccess',
|
|
15980
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _461 => _461.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15981
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _462 => _462.author, 'optionalAccess', _463 => _463.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15982
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _464 => _464.summary]) === "string" ? it.summary.trim() : "";
|
|
15937
15983
|
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15938
15984
|
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15939
15985
|
}
|
|
15940
15986
|
var EMPLOYEE_ENTRY_CARD_CONFIGS = {
|
|
15941
|
-
what_i_shipped: { label: "What I Shipped"
|
|
15942
|
-
how_i_work: { label: "How I Work"
|
|
15943
|
-
ai_prompt: { label: "Squawkbox"
|
|
15987
|
+
what_i_shipped: { label: "What I Shipped" },
|
|
15988
|
+
how_i_work: { label: "How I Work" },
|
|
15989
|
+
ai_prompt: { label: "Squawkbox" }
|
|
15944
15990
|
};
|
|
15945
15991
|
function employeeEntryRegistryEntries() {
|
|
15946
15992
|
return registryEntries(EMPLOYEE_ENTRY_CARD_CONFIGS, (cfg, docType) => ({
|
|
@@ -15952,7 +15998,7 @@ function employeeEntryRegistryEntries() {
|
|
|
15952
15998
|
GlyphChatCard,
|
|
15953
15999
|
{
|
|
15954
16000
|
chatRef: fetchedEmployeeEntryDisplayRef(item, chatRef),
|
|
15955
|
-
icon:
|
|
16001
|
+
icon: sourceGlyph(docType),
|
|
15956
16002
|
isNewTab: opts.isNewTab,
|
|
15957
16003
|
discuss: opts.discuss
|
|
15958
16004
|
}
|
|
@@ -15985,7 +16031,7 @@ function programRegistryEntries() {
|
|
|
15985
16031
|
discuss: opts.discuss,
|
|
15986
16032
|
configKey: cfg.configKey,
|
|
15987
16033
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15988
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16034
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _465 => _465.extras, 'optionalAccess', _466 => _466.buildOgPlaceholderUrl, 'optionalCall', _467 => _467(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _468 => _468.title]), () => ( "")))]), () => ( null))
|
|
15989
16035
|
}
|
|
15990
16036
|
)
|
|
15991
16037
|
}));
|
|
@@ -16006,7 +16052,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
16006
16052
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
16007
16053
|
// task id post-fetch (the refs frame used to carry it).
|
|
16008
16054
|
noComposedHref: true,
|
|
16009
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16055
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _469 => _469.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
16010
16056
|
}
|
|
16011
16057
|
};
|
|
16012
16058
|
function roadmapRegistryEntries() {
|
|
@@ -16048,8 +16094,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16048
16094
|
DeletedDataCard,
|
|
16049
16095
|
{
|
|
16050
16096
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
16051
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
16052
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
16097
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _470 => _470.metadata, 'optionalAccess', _471 => _471.entity_label]), () => ( null)),
|
|
16098
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.recovery_note]), () => ( null))
|
|
16053
16099
|
}
|
|
16054
16100
|
)
|
|
16055
16101
|
},
|
|
@@ -16066,7 +16112,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16066
16112
|
bareInline: true,
|
|
16067
16113
|
contentRefType: "faq",
|
|
16068
16114
|
noComposedHref: true,
|
|
16069
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16115
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _474 => _474.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
16070
16116
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16071
16117
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16072
16118
|
},
|
|
@@ -16113,8 +16159,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16113
16159
|
chatRef,
|
|
16114
16160
|
isNewTab: opts.isNewTab,
|
|
16115
16161
|
discuss: opts.discuss,
|
|
16116
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16117
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
16162
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildOgPlaceholderUrl, 'optionalCall', _477 => _477(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _478 => _478.title]), () => ( "")))]), () => ( null)),
|
|
16163
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _479 => _479.metadata, 'optionalAccess', _480 => _480.hasEmbeddedVideo]) === true
|
|
16118
16164
|
}
|
|
16119
16165
|
)
|
|
16120
16166
|
},
|
|
@@ -16130,7 +16176,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16130
16176
|
chatRef,
|
|
16131
16177
|
isNewTab: opts.isNewTab,
|
|
16132
16178
|
discuss: opts.discuss,
|
|
16133
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16179
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
|
|
16134
16180
|
}
|
|
16135
16181
|
)
|
|
16136
16182
|
},
|
|
@@ -16139,7 +16185,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16139
16185
|
contentRefType: "design_doc",
|
|
16140
16186
|
bareInline: true,
|
|
16141
16187
|
noComposedHref: true,
|
|
16142
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
16188
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _485 => _485.url]), () => ( null)),
|
|
16143
16189
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
16144
16190
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16145
16191
|
},
|
|
@@ -16155,7 +16201,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16155
16201
|
chatRef,
|
|
16156
16202
|
isNewTab: opts.isNewTab,
|
|
16157
16203
|
discuss: opts.discuss,
|
|
16158
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16204
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _486 => _486.extras, 'optionalAccess', _487 => _487.buildOgPlaceholderUrl, 'optionalCall', _488 => _488(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _489 => _489.title]), () => ( "")))]), () => ( null))
|
|
16159
16205
|
}
|
|
16160
16206
|
)
|
|
16161
16207
|
},
|
|
@@ -16165,7 +16211,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16165
16211
|
bareInline: true,
|
|
16166
16212
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
16167
16213
|
render: (item, chatRef, opts) => {
|
|
16168
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16214
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _490 => _490.extras, 'optionalAccess', _491 => _491.buildProductReleaseCardProps]), () => ( _chunkHEQ4GPYEcjs.defaultBuildProductReleaseCardProps));
|
|
16169
16215
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16170
16216
|
ProductReleaseChatCard,
|
|
16171
16217
|
{
|
|
@@ -16191,7 +16237,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16191
16237
|
chatRef,
|
|
16192
16238
|
isNewTab: opts.isNewTab,
|
|
16193
16239
|
discuss: opts.discuss,
|
|
16194
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16240
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _492 => _492.extras, 'optionalAccess', _493 => _493.buildOgPlaceholderUrl, 'optionalCall', _494 => _494(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _495 => _495.title]), () => ( "")))]), () => ( null))
|
|
16195
16241
|
}
|
|
16196
16242
|
)
|
|
16197
16243
|
},
|
|
@@ -16209,7 +16255,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16209
16255
|
chatRef,
|
|
16210
16256
|
isNewTab: opts.isNewTab,
|
|
16211
16257
|
discuss: opts.discuss,
|
|
16212
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
16258
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _496 => _496.extras, 'optionalAccess', _497 => _497.buildOgPlaceholderUrl, 'optionalCall', _498 => _498(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _499 => _499.title]), () => ( "")))]), () => ( null))
|
|
16213
16259
|
}
|
|
16214
16260
|
)
|
|
16215
16261
|
},
|
|
@@ -16220,13 +16266,13 @@ var CHAT_CARD_REGISTRY = {
|
|
|
16220
16266
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
16221
16267
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
16222
16268
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
16223
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
16269
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _500 => _500.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
16224
16270
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
16225
16271
|
},
|
|
16226
16272
|
...roadmapRegistryEntries()
|
|
16227
16273
|
};
|
|
16228
16274
|
function chatCardLabel(docType) {
|
|
16229
|
-
return _optionalChain([CHAT_CARD_REGISTRY, 'access',
|
|
16275
|
+
return _optionalChain([CHAT_CARD_REGISTRY, 'access', _501 => _501[docType], 'optionalAccess', _502 => _502.label]);
|
|
16230
16276
|
}
|
|
16231
16277
|
function ChatCardNavWrap({
|
|
16232
16278
|
href,
|
|
@@ -16242,13 +16288,13 @@ function ChatCardNavWrap({
|
|
|
16242
16288
|
if (!href) return;
|
|
16243
16289
|
const targetEl = e.target;
|
|
16244
16290
|
const host = e.currentTarget;
|
|
16245
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
16246
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
16247
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
16291
|
+
if (!_optionalChain([host, 'optionalAccess', _503 => _503.contains, 'call', _504 => _504(targetEl)])) return;
|
|
16292
|
+
if (_optionalChain([targetEl, 'optionalAccess', _505 => _505.closest, 'optionalCall', _506 => _506("button")])) return;
|
|
16293
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _507 => _507.closest, 'optionalCall', _508 => _508("a")])) return;
|
|
16248
16294
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
16249
16295
|
if (!handled) return;
|
|
16250
16296
|
e.stopPropagation();
|
|
16251
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
16297
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _509 => _509.closeChat])) panel.closeChat();
|
|
16252
16298
|
};
|
|
16253
16299
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
16254
16300
|
}
|
|
@@ -16264,7 +16310,7 @@ function ChatCardLoader({
|
|
|
16264
16310
|
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
16265
16311
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
16266
16312
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
16267
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
16313
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _510 => _510.contentRefType]), () => ( "")),
|
|
16268
16314
|
fetchEntry ? chatRef.id : ""
|
|
16269
16315
|
);
|
|
16270
16316
|
if (!entry) return null;
|
|
@@ -16308,7 +16354,7 @@ function ChatCardLoader({
|
|
|
16308
16354
|
isNewTab,
|
|
16309
16355
|
discuss
|
|
16310
16356
|
};
|
|
16311
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
16357
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _511 => _511.metadata, 'optionalAccess', _512 => _512.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
16312
16358
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16313
16359
|
ChatCardNavWrap,
|
|
16314
16360
|
{
|
|
@@ -16332,7 +16378,7 @@ function ChatCardLoader({
|
|
|
16332
16378
|
if (!fetchEntry) {
|
|
16333
16379
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
16334
16380
|
}
|
|
16335
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
16381
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _513 => _513.skeleton, 'optionalCall', _514 => _514()]), () => ( null)) });
|
|
16336
16382
|
if (!item) {
|
|
16337
16383
|
if (isError) {
|
|
16338
16384
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16640,7 +16686,7 @@ function useChunkCatchup({
|
|
|
16640
16686
|
if (catchupRun.current === run) {
|
|
16641
16687
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16642
16688
|
catchupRun.current = null;
|
|
16643
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16689
|
+
if (_optionalChain([pendingCatchupRef, 'access', _515 => _515.current, 'optionalAccess', _516 => _516.dialogId]) === currentDialogId) {
|
|
16644
16690
|
pendingCatchupRef.current = null;
|
|
16645
16691
|
}
|
|
16646
16692
|
} else {
|
|
@@ -16651,7 +16697,7 @@ function useChunkCatchup({
|
|
|
16651
16697
|
if (pending.dialogId === currentDialogId) {
|
|
16652
16698
|
rearmForQueuedCatchup();
|
|
16653
16699
|
try {
|
|
16654
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16700
|
+
await _optionalChain([catchUpChunksRef, 'access', _517 => _517.current, 'optionalCall', _518 => _518(pending.fromSequenceId)]);
|
|
16655
16701
|
} catch (rerunError) {
|
|
16656
16702
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16657
16703
|
}
|
|
@@ -16718,7 +16764,7 @@ function useChunkCatchup({
|
|
|
16718
16764
|
|
|
16719
16765
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16720
16766
|
function prefersReducedMotion() {
|
|
16721
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16767
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _519 => _519.matchMedia, 'optionalCall', _520 => _520("(prefers-reduced-motion: reduce)"), 'access', _521 => _521.matches]) === true;
|
|
16722
16768
|
}
|
|
16723
16769
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16724
16770
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16729,7 +16775,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16729
16775
|
setIndex(0);
|
|
16730
16776
|
}
|
|
16731
16777
|
_react.useEffect.call(void 0, () => {
|
|
16732
|
-
const mq = _optionalChain([window, 'access',
|
|
16778
|
+
const mq = _optionalChain([window, 'access', _522 => _522.matchMedia, 'optionalCall', _523 => _523("(prefers-reduced-motion: reduce)")]);
|
|
16733
16779
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16734
16780
|
sync();
|
|
16735
16781
|
if (!mq) return void 0;
|
|
@@ -16872,7 +16918,7 @@ function useJetStreamDialogSubscription({
|
|
|
16872
16918
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16873
16919
|
conn: sharedConn,
|
|
16874
16920
|
wsUrl,
|
|
16875
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16921
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]),
|
|
16876
16922
|
backoff: reconnectionBackoffRef.current,
|
|
16877
16923
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16878
16924
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16887,7 +16933,7 @@ function useJetStreamDialogSubscription({
|
|
|
16887
16933
|
setReconnectionCount((c) => c + 1);
|
|
16888
16934
|
}
|
|
16889
16935
|
hadConnectionBeforeRef.current = true;
|
|
16890
|
-
_optionalChain([onConnectRef, 'access',
|
|
16936
|
+
_optionalChain([onConnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
|
|
16891
16937
|
}
|
|
16892
16938
|
if (status === "error") {
|
|
16893
16939
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16897,7 +16943,7 @@ function useJetStreamDialogSubscription({
|
|
|
16897
16943
|
setIsConnected(false);
|
|
16898
16944
|
setIsSubscribed(false);
|
|
16899
16945
|
tearDownSubscription();
|
|
16900
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16946
|
+
_optionalChain([onDisconnectRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529()]);
|
|
16901
16947
|
}
|
|
16902
16948
|
}
|
|
16903
16949
|
});
|
|
@@ -17023,7 +17069,7 @@ function useJetStreamDialogSubscription({
|
|
|
17023
17069
|
}
|
|
17024
17070
|
subscriptionRef.current = handle;
|
|
17025
17071
|
setIsSubscribed(true);
|
|
17026
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17072
|
+
_optionalChain([onSubscribedRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
|
|
17027
17073
|
} catch (e31) {
|
|
17028
17074
|
if (!cancelled) {
|
|
17029
17075
|
setIsSubscribed(false);
|
|
@@ -17139,20 +17185,20 @@ function useNatsDialogSubscription({
|
|
|
17139
17185
|
const tearDownSubscriptions = () => {
|
|
17140
17186
|
subscriptionRefs.current.forEach((sub) => {
|
|
17141
17187
|
try {
|
|
17142
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17188
|
+
_optionalChain([sub, 'optionalAccess', _532 => _532.unsubscribe, 'call', _533 => _533()]);
|
|
17143
17189
|
} catch (e33) {
|
|
17144
17190
|
}
|
|
17145
17191
|
});
|
|
17146
17192
|
subscriptionRefs.current.clear();
|
|
17147
17193
|
lastSubscribedDialogIdRef.current = null;
|
|
17148
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17194
|
+
_optionalChain([abortControllerRef, 'access', _534 => _534.current, 'optionalAccess', _535 => _535.abort, 'call', _536 => _536()]);
|
|
17149
17195
|
abortControllerRef.current = null;
|
|
17150
17196
|
};
|
|
17151
17197
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
17152
17198
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
17153
17199
|
conn: sharedConn,
|
|
17154
17200
|
wsUrl,
|
|
17155
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
17201
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _537 => _537.current, 'optionalCall', _538 => _538()]),
|
|
17156
17202
|
backoff: reconnectionBackoffRef.current,
|
|
17157
17203
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
17158
17204
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -17163,7 +17209,7 @@ function useNatsDialogSubscription({
|
|
|
17163
17209
|
setReconnectionCount((c) => c + 1);
|
|
17164
17210
|
}
|
|
17165
17211
|
hadConnectionBeforeRef.current = true;
|
|
17166
|
-
_optionalChain([onConnectRef, 'access',
|
|
17212
|
+
_optionalChain([onConnectRef, 'access', _539 => _539.current, 'optionalCall', _540 => _540()]);
|
|
17167
17213
|
}
|
|
17168
17214
|
if (status === "error") {
|
|
17169
17215
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -17173,7 +17219,7 @@ function useNatsDialogSubscription({
|
|
|
17173
17219
|
setIsConnected(false);
|
|
17174
17220
|
setIsSubscribed(false);
|
|
17175
17221
|
tearDownSubscriptions();
|
|
17176
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
17222
|
+
_optionalChain([onDisconnectRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542()]);
|
|
17177
17223
|
}
|
|
17178
17224
|
}
|
|
17179
17225
|
});
|
|
@@ -17204,13 +17250,13 @@ function useNatsDialogSubscription({
|
|
|
17204
17250
|
setIsSubscribed(false);
|
|
17205
17251
|
subscriptionRefs.current.forEach((sub) => {
|
|
17206
17252
|
try {
|
|
17207
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17253
|
+
_optionalChain([sub, 'optionalAccess', _543 => _543.unsubscribe, 'call', _544 => _544()]);
|
|
17208
17254
|
} catch (e34) {
|
|
17209
17255
|
}
|
|
17210
17256
|
});
|
|
17211
17257
|
subscriptionRefs.current.clear();
|
|
17212
17258
|
lastSubscribedDialogIdRef.current = null;
|
|
17213
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17259
|
+
_optionalChain([abortControllerRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.abort, 'call', _547 => _547()]);
|
|
17214
17260
|
abortControllerRef.current = null;
|
|
17215
17261
|
}
|
|
17216
17262
|
return void 0;
|
|
@@ -17222,12 +17268,12 @@ function useNatsDialogSubscription({
|
|
|
17222
17268
|
if (subscriptionRefs.current.size > 0) {
|
|
17223
17269
|
subscriptionRefs.current.forEach((sub) => {
|
|
17224
17270
|
try {
|
|
17225
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17271
|
+
_optionalChain([sub, 'optionalAccess', _548 => _548.unsubscribe, 'call', _549 => _549()]);
|
|
17226
17272
|
} catch (e35) {
|
|
17227
17273
|
}
|
|
17228
17274
|
});
|
|
17229
17275
|
subscriptionRefs.current.clear();
|
|
17230
|
-
_optionalChain([abortControllerRef, 'access',
|
|
17276
|
+
_optionalChain([abortControllerRef, 'access', _550 => _550.current, 'optionalAccess', _551 => _551.abort, 'call', _552 => _552()]);
|
|
17231
17277
|
}
|
|
17232
17278
|
abortControllerRef.current = new AbortController();
|
|
17233
17279
|
const abort = abortControllerRef.current;
|
|
@@ -17257,7 +17303,7 @@ function useNatsDialogSubscription({
|
|
|
17257
17303
|
});
|
|
17258
17304
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
17259
17305
|
setIsSubscribed(true);
|
|
17260
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17306
|
+
_optionalChain([onSubscribedRef, 'access', _553 => _553.current, 'optionalCall', _554 => _554()]);
|
|
17261
17307
|
};
|
|
17262
17308
|
if (isConnectedRef.current) {
|
|
17263
17309
|
createSubscriptions();
|
|
@@ -17268,7 +17314,7 @@ function useNatsDialogSubscription({
|
|
|
17268
17314
|
abort.abort();
|
|
17269
17315
|
subscriptions.forEach((sub) => {
|
|
17270
17316
|
try {
|
|
17271
|
-
_optionalChain([sub, 'optionalAccess',
|
|
17317
|
+
_optionalChain([sub, 'optionalAccess', _555 => _555.unsubscribe, 'call', _556 => _556()]);
|
|
17272
17318
|
} catch (e37) {
|
|
17273
17319
|
}
|
|
17274
17320
|
});
|
|
@@ -17307,7 +17353,7 @@ function useNatsDialogSubscription({
|
|
|
17307
17353
|
});
|
|
17308
17354
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
17309
17355
|
setIsSubscribed(true);
|
|
17310
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
17356
|
+
_optionalChain([onSubscribedRef, 'access', _557 => _557.current, 'optionalCall', _558 => _558()]);
|
|
17311
17357
|
} else if (subscriptionRefs.current.size > 0) {
|
|
17312
17358
|
setIsSubscribed(true);
|
|
17313
17359
|
}
|
|
@@ -17315,10 +17361,10 @@ function useNatsDialogSubscription({
|
|
|
17315
17361
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
17316
17362
|
}
|
|
17317
17363
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
17318
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
17364
|
+
const path = _optionalChain([options, 'optionalAccess', _559 => _559.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
17319
17365
|
const u = new URL(path, apiBaseUrl);
|
|
17320
17366
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
17321
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
17367
|
+
if (_optionalChain([options, 'optionalAccess', _560 => _560.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _561 => _561.token])) {
|
|
17322
17368
|
u.searchParams.set("authorization", options.token);
|
|
17323
17369
|
}
|
|
17324
17370
|
return u.toString();
|
|
@@ -17336,7 +17382,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17336
17382
|
const data = await res.json();
|
|
17337
17383
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
17338
17384
|
} catch (err) {
|
|
17339
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17385
|
+
if (_optionalChain([err, 'optionalAccess', _562 => _562.name]) === "AbortError") throw err;
|
|
17340
17386
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
17341
17387
|
return [];
|
|
17342
17388
|
}
|
|
@@ -17344,8 +17390,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17344
17390
|
var NO_COMMANDS = [];
|
|
17345
17391
|
function useSlashCommands(prefix, commandsUrl) {
|
|
17346
17392
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
17347
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17348
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17393
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _563 => _563.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
17394
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _564 => _564.prefix]) !== prefix;
|
|
17349
17395
|
_react.useEffect.call(void 0, () => {
|
|
17350
17396
|
if (prefix == null) return void 0;
|
|
17351
17397
|
let cancelled = false;
|
|
@@ -17355,7 +17401,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
17355
17401
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
17356
17402
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
17357
17403
|
} catch (err) {
|
|
17358
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
17404
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _565 => _565.name]) !== "AbortError") {
|
|
17359
17405
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
17360
17406
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
17361
17407
|
}
|
|
@@ -17378,7 +17424,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
17378
17424
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17379
17425
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
17380
17426
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
17381
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17427
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _566 => _566.enabled]), () => ( true)),
|
|
17382
17428
|
staleTime: Infinity,
|
|
17383
17429
|
gcTime: Infinity,
|
|
17384
17430
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17417,21 +17463,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17417
17463
|
}
|
|
17418
17464
|
const data = await res.json();
|
|
17419
17465
|
return {
|
|
17420
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17421
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17422
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17423
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17424
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17425
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17466
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _567 => _567.name]), () => ( null)),
|
|
17467
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _568 => _568.icon]), () => ( null)),
|
|
17468
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _569 => _569.greeting]), () => ( null)),
|
|
17469
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _570 => _570.enabledRagTableIds]), () => ( [])),
|
|
17470
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _571 => _571.quickActions]), () => ( [])),
|
|
17471
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _572 => _572.suggestedQueries]), () => ( []))
|
|
17426
17472
|
};
|
|
17427
17473
|
} catch (err) {
|
|
17428
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17474
|
+
if (_optionalChain([err, 'optionalAccess', _573 => _573.name]) === "AbortError") throw err;
|
|
17429
17475
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17430
17476
|
return EMPTY_STATE_FALLBACK;
|
|
17431
17477
|
}
|
|
17432
17478
|
}
|
|
17433
17479
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17434
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17480
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _574 => _574.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17435
17481
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17436
17482
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17437
17483
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17460,7 +17506,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17460
17506
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17461
17507
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17462
17508
|
return new Promise((resolve, reject) => {
|
|
17463
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17509
|
+
if (_optionalChain([signal, 'optionalAccess', _575 => _575.aborted])) {
|
|
17464
17510
|
reject(new Error("Upload cancelled"));
|
|
17465
17511
|
return;
|
|
17466
17512
|
}
|
|
@@ -17502,7 +17548,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17502
17548
|
const handleSignalAbort = () => {
|
|
17503
17549
|
xhr.abort();
|
|
17504
17550
|
};
|
|
17505
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17551
|
+
_optionalChain([signal, 'optionalAccess', _576 => _576.addEventListener, 'call', _577 => _577("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17506
17552
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17507
17553
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17508
17554
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17546,10 +17592,10 @@ function useChatAttachments() {
|
|
|
17546
17592
|
try {
|
|
17547
17593
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17548
17594
|
} catch (err) {
|
|
17549
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17595
|
+
if (_optionalChain([ctrl, 'optionalAccess', _578 => _578.signal, 'access', _579 => _579.aborted])) return;
|
|
17550
17596
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17551
17597
|
}
|
|
17552
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17598
|
+
if (_optionalChain([ctrl, 'optionalAccess', _580 => _580.signal, 'access', _581 => _581.aborted])) return;
|
|
17553
17599
|
if (!sniffed) {
|
|
17554
17600
|
throw new Error("Unrecognized file format");
|
|
17555
17601
|
}
|
|
@@ -17563,7 +17609,7 @@ function useChatAttachments() {
|
|
|
17563
17609
|
const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17564
17610
|
method: "POST",
|
|
17565
17611
|
headers: { "Content-Type": "application/json" },
|
|
17566
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17612
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _582 => _582.signal]),
|
|
17567
17613
|
body: JSON.stringify({
|
|
17568
17614
|
fileName: att.file.name,
|
|
17569
17615
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17592,9 +17638,9 @@ function useChatAttachments() {
|
|
|
17592
17638
|
(pct) => {
|
|
17593
17639
|
updateOne(att.id, { progress: pct });
|
|
17594
17640
|
},
|
|
17595
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17641
|
+
_optionalChain([ctrl, 'optionalAccess', _583 => _583.signal])
|
|
17596
17642
|
);
|
|
17597
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17643
|
+
if (_optionalChain([ctrl, 'optionalAccess', _584 => _584.signal, 'access', _585 => _585.aborted])) return;
|
|
17598
17644
|
updateOne(att.id, {
|
|
17599
17645
|
status: "ready",
|
|
17600
17646
|
progress: 100,
|
|
@@ -17602,7 +17648,7 @@ function useChatAttachments() {
|
|
|
17602
17648
|
viewToken: mintData.viewToken
|
|
17603
17649
|
});
|
|
17604
17650
|
} catch (err) {
|
|
17605
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17651
|
+
if (_optionalChain([ctrl, 'optionalAccess', _586 => _586.signal, 'access', _587 => _587.aborted])) return;
|
|
17606
17652
|
const message = err instanceof Error ? err.message : String(err);
|
|
17607
17653
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17608
17654
|
} finally {
|
|
@@ -17751,11 +17797,11 @@ var ANON_DEFAULTS = {
|
|
|
17751
17797
|
function useResolveChatIdentity(enabled) {
|
|
17752
17798
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
17753
17799
|
const url = runtime.endpoints.identityUrl;
|
|
17754
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17800
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _588 => _588.email]), () => ( null));
|
|
17755
17801
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17756
17802
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17757
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17758
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17803
|
+
const data = _optionalChain([resolved, 'optionalAccess', _589 => _589.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17804
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _590 => _590.key]) !== requestKey;
|
|
17759
17805
|
_react.useEffect.call(void 0, () => {
|
|
17760
17806
|
if (requestKey === null) return void 0;
|
|
17761
17807
|
let cancelled = false;
|
|
@@ -17902,7 +17948,7 @@ function useChat({
|
|
|
17902
17948
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17903
17949
|
});
|
|
17904
17950
|
_react.useEffect.call(void 0, () => {
|
|
17905
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17951
|
+
_optionalChain([onMessagesChangeRef, 'access', _591 => _591.current, 'optionalCall', _592 => _592(messages)]);
|
|
17906
17952
|
}, [messages]);
|
|
17907
17953
|
const {
|
|
17908
17954
|
streamMessage,
|
|
@@ -17939,7 +17985,7 @@ function useChat({
|
|
|
17939
17985
|
name: "You",
|
|
17940
17986
|
content: text2,
|
|
17941
17987
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17942
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17988
|
+
..._optionalChain([options, 'optionalAccess', _593 => _593.hidden]) ? { hidden: true } : {}
|
|
17943
17989
|
};
|
|
17944
17990
|
addMessage(userMessage);
|
|
17945
17991
|
setIsTyping(true);
|
|
@@ -18153,7 +18199,7 @@ function buildConfirmToolBody(request) {
|
|
|
18153
18199
|
async function readServerErrorMessage(response) {
|
|
18154
18200
|
try {
|
|
18155
18201
|
const body = await response.json();
|
|
18156
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
18202
|
+
if (typeof _optionalChain([body, 'optionalAccess', _594 => _594.error]) === "string" && body.error.length > 0) return body.error;
|
|
18157
18203
|
} catch (e39) {
|
|
18158
18204
|
}
|
|
18159
18205
|
return null;
|
|
@@ -18481,7 +18527,7 @@ function youtubeVideoId(value) {
|
|
|
18481
18527
|
const hostname = parsed.hostname.toLowerCase();
|
|
18482
18528
|
const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
|
|
18483
18529
|
if (!isYoutubeHost) return void 0;
|
|
18484
|
-
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access',
|
|
18530
|
+
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]]);
|
|
18485
18531
|
const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
|
|
18486
18532
|
return id && YOUTUBE_ID.test(id) ? id : void 0;
|
|
18487
18533
|
}
|
|
@@ -18600,11 +18646,11 @@ function cards(value, decodedSources) {
|
|
|
18600
18646
|
{
|
|
18601
18647
|
type,
|
|
18602
18648
|
id,
|
|
18603
|
-
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18604
|
-
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18605
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18606
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18607
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18649
|
+
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _598 => _598.name]), () => ( id)),
|
|
18650
|
+
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _599 => _599.externalUrl]), () => ( null)),
|
|
18651
|
+
..._optionalChain([source, 'optionalAccess', _600 => _600.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
|
|
18652
|
+
..._optionalChain([source, 'optionalAccess', _601 => _601.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
|
|
18653
|
+
..._optionalChain([source, 'optionalAccess', _602 => _602.path]) ? { metadata: { path: source.path } } : {}
|
|
18608
18654
|
}
|
|
18609
18655
|
];
|
|
18610
18656
|
});
|
|
@@ -18640,11 +18686,11 @@ function attachmentsEvent(record) {
|
|
|
18640
18686
|
}
|
|
18641
18687
|
function mergeSourceMetadata(previous, event) {
|
|
18642
18688
|
const byIndex = /* @__PURE__ */ new Map();
|
|
18643
|
-
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18689
|
+
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _603 => _603.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
|
|
18644
18690
|
if (!byIndex.has(source.index)) byIndex.set(source.index, source);
|
|
18645
18691
|
}
|
|
18646
18692
|
const byIdentity = /* @__PURE__ */ new Map();
|
|
18647
|
-
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18693
|
+
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _604 => _604.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
|
|
18648
18694
|
const identity = `${ref.type}:${ref.id}`;
|
|
18649
18695
|
if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
|
|
18650
18696
|
}
|
|
@@ -18730,9 +18776,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18730
18776
|
for (const seg of segments) {
|
|
18731
18777
|
const tail = merged[merged.length - 1];
|
|
18732
18778
|
const key = upsertKey(seg);
|
|
18733
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18779
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _605 => _605.type]) === "text") {
|
|
18734
18780
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18735
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18781
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _606 => _606.type]) === "thinking") {
|
|
18736
18782
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18737
18783
|
} else if (key) {
|
|
18738
18784
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18773,7 +18819,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18773
18819
|
}
|
|
18774
18820
|
if (s.type !== "approval_batch") return s;
|
|
18775
18821
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18776
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18822
|
+
const hasRow = _optionalChain([s, 'access', _607 => _607.data, 'access', _608 => _608.toolCalls, 'optionalAccess', _609 => _609.some, 'call', _610 => _610((c) => c.toolExecutionRequestId === requestId)]);
|
|
18777
18823
|
if (!isAnchor && !hasRow) return s;
|
|
18778
18824
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18779
18825
|
const nextExecutions = hasRow ? {
|
|
@@ -18795,8 +18841,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18795
18841
|
};
|
|
18796
18842
|
}
|
|
18797
18843
|
function nextBatchExecution(prevExec, toolData) {
|
|
18798
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18799
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18844
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _611 => _611.status]) === "done") return null;
|
|
18845
|
+
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]) };
|
|
18800
18846
|
}
|
|
18801
18847
|
function withBatchExecution(seg, execId, state) {
|
|
18802
18848
|
return {
|
|
@@ -18813,11 +18859,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18813
18859
|
}
|
|
18814
18860
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18815
18861
|
return mapSegments(prev, (s) => {
|
|
18816
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18862
|
+
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)])) {
|
|
18817
18863
|
return s;
|
|
18818
18864
|
}
|
|
18819
|
-
const existing = _optionalChain([s, 'access',
|
|
18820
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18865
|
+
const existing = _optionalChain([s, 'access', _618 => _618.data, 'access', _619 => _619.executions, 'optionalAccess', _620 => _620[rowRequestId]]);
|
|
18866
|
+
if (_optionalChain([existing, 'optionalAccess', _621 => _621.status]) === "done") return s;
|
|
18821
18867
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18822
18868
|
});
|
|
18823
18869
|
}
|
|
@@ -18853,7 +18899,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18853
18899
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18854
18900
|
const seg = message.segments[j];
|
|
18855
18901
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18856
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18902
|
+
const prevExec = _optionalChain([seg, 'access', _622 => _622.data, 'access', _623 => _623.executions, 'optionalAccess', _624 => _624[execId]]);
|
|
18857
18903
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18858
18904
|
if (nextExec === null) return prev;
|
|
18859
18905
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -19026,9 +19072,9 @@ var MessageSegmentAccumulator = class {
|
|
|
19026
19072
|
type: "tool_execution",
|
|
19027
19073
|
data: {
|
|
19028
19074
|
...toolData,
|
|
19029
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
19030
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
19031
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
19075
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _625 => _625.data, 'access', _626 => _626.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _627 => _627.toolTitle]))),
|
|
19076
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _628 => _628.data, 'access', _629 => _629.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _630 => _630.toolExplanation]))),
|
|
19077
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _631 => _631.parameters])
|
|
19032
19078
|
}
|
|
19033
19079
|
};
|
|
19034
19080
|
if (existingIndex !== -1) {
|
|
@@ -19052,7 +19098,7 @@ var MessageSegmentAccumulator = class {
|
|
|
19052
19098
|
if (seg.type !== "approval_batch") return seg;
|
|
19053
19099
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
19054
19100
|
if (!hasCall) return seg;
|
|
19055
|
-
const prev = _optionalChain([seg, 'access',
|
|
19101
|
+
const prev = _optionalChain([seg, 'access', _632 => _632.data, 'access', _633 => _633.executions, 'optionalAccess', _634 => _634[execId]]);
|
|
19056
19102
|
const next = nextBatchExecution(prev, toolData);
|
|
19057
19103
|
matched = true;
|
|
19058
19104
|
if (next === null) return seg;
|
|
@@ -19186,8 +19232,8 @@ var MessageSegmentAccumulator = class {
|
|
|
19186
19232
|
requestId,
|
|
19187
19233
|
{
|
|
19188
19234
|
...pendingApproval,
|
|
19189
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19190
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
19235
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _635 => _635.command]) || "",
|
|
19236
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _636 => _636.approvalType]) || approvalType
|
|
19191
19237
|
},
|
|
19192
19238
|
status
|
|
19193
19239
|
);
|
|
@@ -19212,9 +19258,9 @@ var MessageSegmentAccumulator = class {
|
|
|
19212
19258
|
type: "escalation_offer",
|
|
19213
19259
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
19214
19260
|
// not blank the card the PENDING chunk already painted.
|
|
19215
|
-
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess',
|
|
19261
|
+
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]))) },
|
|
19216
19262
|
status,
|
|
19217
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
19263
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _641 => _641.resolvedByName]))),
|
|
19218
19264
|
onApprove: this.callbacks.onEscalationApprove,
|
|
19219
19265
|
onReject: this.callbacks.onEscalationReject
|
|
19220
19266
|
};
|
|
@@ -19534,7 +19580,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19534
19580
|
let stateCache = null;
|
|
19535
19581
|
function invalidate() {
|
|
19536
19582
|
stateCache = null;
|
|
19537
|
-
_optionalChain([onChange, 'optionalCall',
|
|
19583
|
+
_optionalChain([onChange, 'optionalCall', _642 => _642()]);
|
|
19538
19584
|
}
|
|
19539
19585
|
function getState() {
|
|
19540
19586
|
if (!stateCache) {
|
|
@@ -19552,7 +19598,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19552
19598
|
return stateCache;
|
|
19553
19599
|
}
|
|
19554
19600
|
function emit(name, ...args) {
|
|
19555
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
19601
|
+
_optionalChain([onEffect, 'optionalCall', _643 => _643({ name, args })]);
|
|
19556
19602
|
}
|
|
19557
19603
|
function setMessagesInternal(next) {
|
|
19558
19604
|
if (next !== messages) {
|
|
@@ -19595,12 +19641,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
19595
19641
|
return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
|
|
19596
19642
|
}
|
|
19597
19643
|
function applySegmentsToState(segments, meta) {
|
|
19598
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
19599
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19644
|
+
const seq = _optionalChain([meta, 'optionalAccess', _644 => _644.streamSeq]);
|
|
19645
|
+
if (_optionalChain([meta, 'optionalAccess', _645 => _645.append]) && meta.isCompacting) {
|
|
19600
19646
|
setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
|
|
19601
19647
|
return;
|
|
19602
19648
|
}
|
|
19603
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19649
|
+
if (_optionalChain([meta, 'optionalAccess', _646 => _646.append])) {
|
|
19604
19650
|
setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
|
|
19605
19651
|
return;
|
|
19606
19652
|
}
|
|
@@ -19612,7 +19658,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19612
19658
|
adoptTrailingAssistant = false;
|
|
19613
19659
|
const last = messages[messages.length - 1];
|
|
19614
19660
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
19615
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19661
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _647 => _647.segments, 'optionalAccess', _648 => _648.length]), () => ( 0))) > 0 || last.content !== "";
|
|
19616
19662
|
if (!hasContent) return;
|
|
19617
19663
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
19618
19664
|
}
|
|
@@ -19831,13 +19877,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19831
19877
|
const summary = required ? _chunkHP4UUBJCcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19832
19878
|
pendingEscalated.set(requestId, {
|
|
19833
19879
|
command: summary,
|
|
19834
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19880
|
+
explanation: _optionalChain([required, 'optionalAccess', _649 => _649.toolExplanation]),
|
|
19835
19881
|
approvalType,
|
|
19836
19882
|
toolCalls
|
|
19837
19883
|
});
|
|
19838
19884
|
emit("onEscalatedApproval", requestId, {
|
|
19839
19885
|
command: summary,
|
|
19840
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19886
|
+
explanation: _optionalChain([required, 'optionalAccess', _650 => _650.toolExplanation]),
|
|
19841
19887
|
approvalType
|
|
19842
19888
|
});
|
|
19843
19889
|
break;
|
|
@@ -20225,7 +20271,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20225
20271
|
const resolveBatch = (status, confirm) => async () => {
|
|
20226
20272
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
20227
20273
|
for (const id of ids) {
|
|
20228
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
20274
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _651 => _651(id)]);
|
|
20229
20275
|
if (ok === false) {
|
|
20230
20276
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
20231
20277
|
}
|
|
@@ -20361,8 +20407,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
20361
20407
|
}
|
|
20362
20408
|
}
|
|
20363
20409
|
}
|
|
20364
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
20365
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
20410
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _652 => _652.resumed]), () => ( messages.length > 0)));
|
|
20411
|
+
if (_optionalChain([extras, 'optionalAccess', _653 => _653.agentBusy])) agentBusyState();
|
|
20366
20412
|
invalidate();
|
|
20367
20413
|
}
|
|
20368
20414
|
return {
|
|
@@ -20449,7 +20495,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20449
20495
|
},
|
|
20450
20496
|
endSseTurn() {
|
|
20451
20497
|
const last = messages[messages.length - 1];
|
|
20452
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
20498
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _654 => _654.segments, 'optionalAccess', _655 => _655.length]), () => ( 0))) === 0 && last.content === "") {
|
|
20453
20499
|
messages = messages.slice(0, -1);
|
|
20454
20500
|
}
|
|
20455
20501
|
sseCurrentText = "";
|
|
@@ -20603,10 +20649,10 @@ function createChatDialogStore(options = {}) {
|
|
|
20603
20649
|
if (onEvict) {
|
|
20604
20650
|
const sep = key.indexOf(KEY_SEP);
|
|
20605
20651
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
20606
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20607
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20608
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20609
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20652
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _656 => _656.state, 'access', _657 => _657.messages]), () => ( EMPTY_STATE.messages)),
|
|
20653
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _658 => _658.state, 'access', _659 => _659.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
20654
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _660 => _660.getLastAppliedSeq, 'call', _661 => _661()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
20655
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _662 => _662.getPendingEchoes, 'call', _663 => _663()]), () => ( EMPTY_PENDING_ECHOES))
|
|
20610
20656
|
});
|
|
20611
20657
|
}
|
|
20612
20658
|
}
|
|
@@ -20616,12 +20662,12 @@ function createChatDialogStore(options = {}) {
|
|
|
20616
20662
|
const key = keyOf(dialogId, side);
|
|
20617
20663
|
let reducer = reducers.get(key);
|
|
20618
20664
|
if (!reducer) {
|
|
20619
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
20665
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _664 => _664(dialogId, side)]), () => ( {}));
|
|
20620
20666
|
const userOnChange = base.onChange;
|
|
20621
20667
|
reducer = createChatStreamReducer({
|
|
20622
20668
|
...base,
|
|
20623
20669
|
onChange: () => {
|
|
20624
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
20670
|
+
_optionalChain([userOnChange, 'optionalCall', _665 => _665()]);
|
|
20625
20671
|
notify();
|
|
20626
20672
|
}
|
|
20627
20673
|
});
|
|
@@ -20666,7 +20712,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20666
20712
|
};
|
|
20667
20713
|
}
|
|
20668
20714
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20669
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20715
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _666 => _666.get, 'call', _667 => _667(keyOf(dialogId, side)), 'optionalAccess', _668 => _668.state]), () => ( EMPTY_STATE));
|
|
20670
20716
|
}
|
|
20671
20717
|
function getServerSnapshot2() {
|
|
20672
20718
|
return EMPTY_STATE;
|
|
@@ -20758,7 +20804,7 @@ function createDeltaBatcher({
|
|
|
20758
20804
|
pending = [];
|
|
20759
20805
|
const key = pendingKey;
|
|
20760
20806
|
for (const delta of batch) applyOne(delta, key);
|
|
20761
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20807
|
+
_optionalChain([onFlushed, 'optionalCall', _669 => _669(batch.length)]);
|
|
20762
20808
|
}
|
|
20763
20809
|
function schedule() {
|
|
20764
20810
|
if (raf !== null || timer !== null) return;
|
|
@@ -20782,7 +20828,7 @@ function createDeltaBatcher({
|
|
|
20782
20828
|
}
|
|
20783
20829
|
if (!isDeltaEvent(event)) return false;
|
|
20784
20830
|
const tail = pending[pending.length - 1];
|
|
20785
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20831
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _670 => _670.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20786
20832
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20787
20833
|
pending[pending.length - 1] = {
|
|
20788
20834
|
...tail,
|
|
@@ -20813,7 +20859,7 @@ function useChatStreamReducer({
|
|
|
20813
20859
|
side = DEFAULT_DIALOG_SIDE,
|
|
20814
20860
|
createReducerOptions
|
|
20815
20861
|
}) {
|
|
20816
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20862
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _671 => _671()]), () => ( {})));
|
|
20817
20863
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20818
20864
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20819
20865
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20852,7 +20898,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20852
20898
|
var namespaceFor = (source) => {
|
|
20853
20899
|
const base = `mingo-chat-${source}`;
|
|
20854
20900
|
const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20855
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20901
|
+
return _optionalChain([auth, 'optionalAccess', _672 => _672.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20856
20902
|
};
|
|
20857
20903
|
function createChatConversationStorage(source) {
|
|
20858
20904
|
return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20983,7 +21029,7 @@ function useChatHistoryHydration({
|
|
|
20983
21029
|
if (cancelled) return;
|
|
20984
21030
|
if (rows.length === 0) {
|
|
20985
21031
|
const found = isRecord(body) ? body.found : void 0;
|
|
20986
|
-
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall',
|
|
21032
|
+
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _673 => _673(conversationId)]);
|
|
20987
21033
|
return;
|
|
20988
21034
|
}
|
|
20989
21035
|
const hydrated = [];
|
|
@@ -21127,7 +21173,7 @@ function useManagedDialogList({
|
|
|
21127
21173
|
try {
|
|
21128
21174
|
await deleteDialogCallback(id);
|
|
21129
21175
|
removeLocal(id);
|
|
21130
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21176
|
+
_optionalChain([onDialogRemovedRef, 'access', _674 => _674.current, 'optionalCall', _675 => _675(id, "deleted")]);
|
|
21131
21177
|
} catch (err) {
|
|
21132
21178
|
console.error(`${logTag} deleteDialog failed:`, err);
|
|
21133
21179
|
throw err;
|
|
@@ -21138,7 +21184,7 @@ function useManagedDialogList({
|
|
|
21138
21184
|
const renameDialog = _react.useCallback.call(void 0,
|
|
21139
21185
|
async (id, title) => {
|
|
21140
21186
|
if (!renameDialogCallback) return;
|
|
21141
|
-
const previous = _optionalChain([dialogsRef, 'access',
|
|
21187
|
+
const previous = _optionalChain([dialogsRef, 'access', _676 => _676.current, 'access', _677 => _677.find, 'call', _678 => _678((d) => d.id === id), 'optionalAccess', _679 => _679.title]);
|
|
21142
21188
|
setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
|
|
21143
21189
|
try {
|
|
21144
21190
|
await renameDialogCallback(id, title);
|
|
@@ -21157,7 +21203,7 @@ function useManagedDialogList({
|
|
|
21157
21203
|
try {
|
|
21158
21204
|
await archiveDialogCallback(id);
|
|
21159
21205
|
removeLocal(id);
|
|
21160
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
21206
|
+
_optionalChain([onDialogRemovedRef, 'access', _680 => _680.current, 'optionalCall', _681 => _681(id, "archived")]);
|
|
21161
21207
|
} catch (err) {
|
|
21162
21208
|
console.error(`${logTag} archiveDialog failed:`, err);
|
|
21163
21209
|
throw err;
|
|
@@ -21249,7 +21295,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21249
21295
|
const { active = true } = runtimeOptions;
|
|
21250
21296
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
21251
21297
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
21252
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
21298
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _682 => _682.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
21253
21299
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
21254
21300
|
() => Promise.resolve(true)
|
|
21255
21301
|
);
|
|
@@ -21285,7 +21331,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21285
21331
|
if (!restoredConversationRef.current) {
|
|
21286
21332
|
restoredConversationRef.current = true;
|
|
21287
21333
|
pruneStaleChatConversationStorage(source);
|
|
21288
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
21334
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _683 => _683.load, 'call', _684 => _684(), 'optionalAccess', _685 => _685.conversationId]), () => ( null));
|
|
21289
21335
|
}
|
|
21290
21336
|
const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
|
|
21291
21337
|
const commitConversationId = _react.useCallback.call(void 0,
|
|
@@ -21376,7 +21422,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21376
21422
|
const abortControllerRef = _react.useRef.call(void 0, null);
|
|
21377
21423
|
const switchConversation = _react.useCallback.call(void 0,
|
|
21378
21424
|
(id) => {
|
|
21379
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21425
|
+
_optionalChain([abortControllerRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.abort, 'call', _688 => _688()]);
|
|
21380
21426
|
flushDeltas();
|
|
21381
21427
|
mutate((r) => r.reset());
|
|
21382
21428
|
hydrationSendCountRef.current = 0;
|
|
@@ -21413,8 +21459,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21413
21459
|
} = useManagedDialogList({
|
|
21414
21460
|
autoLoad: active,
|
|
21415
21461
|
fetchDialogs: fetchActiveDialogs,
|
|
21416
|
-
renameDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21417
|
-
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21462
|
+
renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _689 => _689.renameDialog]),
|
|
21463
|
+
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _690 => _690.archiveDialog]),
|
|
21418
21464
|
pageSize: 20,
|
|
21419
21465
|
search: conversationsApi ? dialogSearch : void 0,
|
|
21420
21466
|
logTag: "[useSseChatAdapter]",
|
|
@@ -21478,7 +21524,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21478
21524
|
const serverMessage = await readServerErrorMessage(response);
|
|
21479
21525
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
21480
21526
|
}
|
|
21481
|
-
const reader = _optionalChain([response, 'access',
|
|
21527
|
+
const reader = _optionalChain([response, 'access', _691 => _691.body, 'optionalAccess', _692 => _692.getReader, 'call', _693 => _693()]);
|
|
21482
21528
|
if (!reader) throw new Error("No response body");
|
|
21483
21529
|
const frameDecoder = createSseFrameDecoder();
|
|
21484
21530
|
let finished = false;
|
|
@@ -21507,7 +21553,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21507
21553
|
}
|
|
21508
21554
|
return true;
|
|
21509
21555
|
} catch (err) {
|
|
21510
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
21556
|
+
if (_optionalChain([err, 'optionalAccess', _694 => _694.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
21511
21557
|
return true;
|
|
21512
21558
|
}
|
|
21513
21559
|
flushDeltas();
|
|
@@ -21543,7 +21589,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21543
21589
|
);
|
|
21544
21590
|
sendMessageRef.current = sendMessage;
|
|
21545
21591
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
21546
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21592
|
+
_optionalChain([abortControllerRef, 'access', _695 => _695.current, 'optionalAccess', _696 => _696.abort, 'call', _697 => _697()]);
|
|
21547
21593
|
flushDeltas();
|
|
21548
21594
|
mutate((r) => r.setPhase("idle"));
|
|
21549
21595
|
}, [mutate, flushDeltas]);
|
|
@@ -21579,7 +21625,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21579
21625
|
let sendIdx = -1;
|
|
21580
21626
|
return state.messages.map((m) => {
|
|
21581
21627
|
const segments = m.segments;
|
|
21582
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
21628
|
+
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("")]), () => ( ""));
|
|
21583
21629
|
let sources2;
|
|
21584
21630
|
let scrollAnchor;
|
|
21585
21631
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -21588,7 +21634,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21588
21634
|
if (m.role === "assistant") {
|
|
21589
21635
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
21590
21636
|
sources2 = sourcesMap.get(lookupIdx);
|
|
21591
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
21637
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _704 => _704.get, 'call', _705 => _705(lookupIdx), 'optionalAccess', _706 => _706.scrollAnchor]), () => ( void 0));
|
|
21592
21638
|
}
|
|
21593
21639
|
return {
|
|
21594
21640
|
id: m.id,
|
|
@@ -21615,7 +21661,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21615
21661
|
);
|
|
21616
21662
|
return;
|
|
21617
21663
|
}
|
|
21618
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
21664
|
+
const refSlug = typeof _optionalChain([reference, 'access', _707 => _707.metadata, 'optionalAccess', _708 => _708.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
21619
21665
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
21620
21666
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
21621
21667
|
const text2 = `/${cmdId} display "${escaped}"`;
|
|
@@ -21663,18 +21709,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21663
21709
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
21664
21710
|
isHydratingHistory,
|
|
21665
21711
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
21666
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21667
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21668
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21712
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _709 => _709.provider]), () => ( null)),
|
|
21713
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _710 => _710.modelLabel]), () => ( null)),
|
|
21714
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _711 => _711.contextWindowMaxTokens]), () => ( null)),
|
|
21669
21715
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
21670
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21716
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _712 => _712.inputTokens]), () => ( null)),
|
|
21671
21717
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
21672
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21718
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _713 => _713.outputTokens]), () => ( null)),
|
|
21673
21719
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
21674
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21720
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _714 => _714.cacheHitRatePct]), () => ( null)),
|
|
21675
21721
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
21676
21722
|
* token counts). null until the trailing usage frame lands. */
|
|
21677
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21723
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _715 => _715.breakdown]), () => ( null)),
|
|
21678
21724
|
// ─── Dialog management ───────────────────────────────────────────────
|
|
21679
21725
|
// With `chatConversationsUrl` the server transcript store IS the dialog
|
|
21680
21726
|
// list (shared `useManagedDialogList`); selecting a row re-hydrates through
|
|
@@ -21930,7 +21976,7 @@ function decodeNatsChunk(chunk) {
|
|
|
21930
21976
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
21931
21977
|
// Wire shape carries no label; fall back to the id (parity with
|
|
21932
21978
|
// the history path in `process-historical-messages.ts`).
|
|
21933
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
21979
|
+
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) => ({
|
|
21934
21980
|
type: it.type,
|
|
21935
21981
|
id: it.id,
|
|
21936
21982
|
label: it.id
|
|
@@ -22021,7 +22067,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
22021
22067
|
}
|
|
22022
22068
|
break;
|
|
22023
22069
|
case "approval_batch": {
|
|
22024
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
22070
|
+
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");
|
|
22025
22071
|
if (segment.status !== "rejected" && !allDone) {
|
|
22026
22072
|
hasIncompleteState = true;
|
|
22027
22073
|
}
|
|
@@ -22083,11 +22129,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
22083
22129
|
function extractIncompleteTailState(messages) {
|
|
22084
22130
|
if (!messages || messages.length === 0) return void 0;
|
|
22085
22131
|
let start = messages.length;
|
|
22086
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
22132
|
+
while (start > 0 && _optionalChain([messages, 'access', _722 => _722[start - 1], 'optionalAccess', _723 => _723.role]) === "assistant") start -= 1;
|
|
22087
22133
|
if (start === messages.length) return void 0;
|
|
22088
22134
|
const segments = [];
|
|
22089
22135
|
for (let i = start; i < messages.length; i += 1) {
|
|
22090
|
-
const content = _optionalChain([messages, 'access',
|
|
22136
|
+
const content = _optionalChain([messages, 'access', _724 => _724[i], 'optionalAccess', _725 => _725.content]);
|
|
22091
22137
|
if (Array.isArray(content)) segments.push(...content);
|
|
22092
22138
|
}
|
|
22093
22139
|
if (segments.length === 0) return void 0;
|
|
@@ -22100,15 +22146,15 @@ function extractIncompleteTailState(messages) {
|
|
|
22100
22146
|
|
|
22101
22147
|
// src/components/chat/utils/process-historical-messages.ts
|
|
22102
22148
|
function getOwnerDisplayName(owner) {
|
|
22103
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
22149
|
+
if (_optionalChain([owner, 'optionalAccess', _726 => _726.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
22104
22150
|
const { firstName, lastName } = owner.user;
|
|
22105
22151
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
22106
22152
|
if (name) return name;
|
|
22107
22153
|
}
|
|
22108
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
22154
|
+
return _optionalChain([owner, 'optionalAccess', _727 => _727.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
22109
22155
|
}
|
|
22110
22156
|
function getOwnerAvatar(owner) {
|
|
22111
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
22157
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _728 => _728.user, 'optionalAccess', _729 => _729.image, 'optionalAccess', _730 => _730.imageUrl]), () => ( void 0));
|
|
22112
22158
|
}
|
|
22113
22159
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
22114
22160
|
messageDataArray.forEach((data) => {
|
|
@@ -22300,7 +22346,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22300
22346
|
event.offerId,
|
|
22301
22347
|
event.text,
|
|
22302
22348
|
event.origin,
|
|
22303
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
22349
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _731 => _731[event.offerId]]), () => ( "pending"))
|
|
22304
22350
|
);
|
|
22305
22351
|
break;
|
|
22306
22352
|
case "ticket-escalated":
|
|
@@ -22334,7 +22380,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22334
22380
|
);
|
|
22335
22381
|
break;
|
|
22336
22382
|
case "escalation-offer-resolved":
|
|
22337
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
22383
|
+
_optionalChain([offerResolutions, 'optionalAccess', _732 => _732.set, 'call', _733 => _733(event.offerId, {
|
|
22338
22384
|
status: event.status,
|
|
22339
22385
|
resolvedByName: event.resolvedByName
|
|
22340
22386
|
})]);
|
|
@@ -22398,7 +22444,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22398
22444
|
}
|
|
22399
22445
|
}
|
|
22400
22446
|
} else {
|
|
22401
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22447
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _734 => _734.set, 'call', _735 => _735(event.requestId, {
|
|
22402
22448
|
command: event.command || "",
|
|
22403
22449
|
explanation: event.explanation,
|
|
22404
22450
|
approvalType,
|
|
@@ -22413,8 +22459,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22413
22459
|
const existingStatus = approvalStatuses[requestId];
|
|
22414
22460
|
const status = existingStatus || event.status;
|
|
22415
22461
|
const resolvedByName = event.resolvedByName;
|
|
22416
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22417
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
22462
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _736 => _736.get, 'call', _737 => _737(requestId)]);
|
|
22463
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _738 => _738.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
22418
22464
|
if (batchApprovalsEnabled) {
|
|
22419
22465
|
accumulator.addApprovalBatch(
|
|
22420
22466
|
requestId,
|
|
@@ -22436,7 +22482,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22436
22482
|
);
|
|
22437
22483
|
}
|
|
22438
22484
|
}
|
|
22439
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22485
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _739 => _739.delete, 'call', _740 => _740(requestId)]);
|
|
22440
22486
|
break;
|
|
22441
22487
|
}
|
|
22442
22488
|
if (escalatedData) {
|
|
@@ -22445,7 +22491,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22445
22491
|
explanation: escalatedData.explanation,
|
|
22446
22492
|
approvalType: escalatedData.approvalType
|
|
22447
22493
|
});
|
|
22448
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22494
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _741 => _741.delete, 'call', _742 => _742(requestId)]);
|
|
22449
22495
|
}
|
|
22450
22496
|
const before = accumulator.getSegments();
|
|
22451
22497
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -22537,14 +22583,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22537
22583
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
22538
22584
|
return;
|
|
22539
22585
|
}
|
|
22540
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
22586
|
+
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;
|
|
22541
22587
|
if (isUserMessage) {
|
|
22542
22588
|
flushAssistantMessage();
|
|
22543
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
22589
|
+
const userAuthorType = _optionalChain([msg, 'access', _747 => _747.owner, 'optionalAccess', _748 => _748.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
22544
22590
|
messageDataArray.forEach((data) => {
|
|
22545
22591
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
22546
22592
|
const rawContext = data.contextItems;
|
|
22547
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
22593
|
+
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;
|
|
22548
22594
|
processedMessages.push({
|
|
22549
22595
|
id: msg.id,
|
|
22550
22596
|
role: "user",
|
|
@@ -22591,7 +22637,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22591
22637
|
});
|
|
22592
22638
|
const nextMsg = messages[index + 1];
|
|
22593
22639
|
const isLastMessage = index === messages.length - 1;
|
|
22594
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
22640
|
+
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);
|
|
22595
22641
|
if (isLastMessage || nextIsFromUser) {
|
|
22596
22642
|
flushAssistantMessage();
|
|
22597
22643
|
}
|
|
@@ -22974,7 +23020,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22974
23020
|
const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
|
|
22975
23021
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22976
23022
|
async (text2, sendOptions) => {
|
|
22977
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
23023
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _755 => _755.hidden]), () => ( false));
|
|
22978
23024
|
mutate((r) => r.pushOptimisticSend(text2, hidden));
|
|
22979
23025
|
await publishUserMessage(text2, { hidden, dialogId });
|
|
22980
23026
|
},
|
|
@@ -23067,11 +23113,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
23067
23113
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
23068
23114
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
23069
23115
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
23070
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23071
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
23072
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23073
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23074
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
23116
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _756 => _756.provider]), () => ( modelProvider)), () => ( null)),
|
|
23117
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _757 => _757.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
23118
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _758 => _758.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _759 => _759.contextWindowMaxTokens]))), () => ( null)),
|
|
23119
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _760 => _760.inputTokensSize]), () => ( null)),
|
|
23120
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _761 => _761.outputTokensSize]), () => ( null)),
|
|
23075
23121
|
currentCacheHitRatePct: null,
|
|
23076
23122
|
currentUsageBreakdown: null,
|
|
23077
23123
|
// Dialog management
|
|
@@ -23193,7 +23239,7 @@ function useUnifiedChat(options) {
|
|
|
23193
23239
|
[]
|
|
23194
23240
|
);
|
|
23195
23241
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
23196
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
23242
|
+
(ref) => _optionalChain([activeStateRef, 'access', _762 => _762.current, 'access', _763 => _763.displayRef, 'optionalCall', _764 => _764(ref)]),
|
|
23197
23243
|
[]
|
|
23198
23244
|
);
|
|
23199
23245
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -23203,7 +23249,7 @@ function useUnifiedChat(options) {
|
|
|
23203
23249
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
23204
23250
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
23205
23251
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
23206
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
23252
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _765 => _765.current, 'access', _766 => _766.setDialogScope, 'optionalCall', _767 => _767(scope)]), []);
|
|
23207
23253
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
23208
23254
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
23209
23255
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -23313,19 +23359,19 @@ function turnRequestKeys(content) {
|
|
|
23313
23359
|
if (!Array.isArray(content)) return keys;
|
|
23314
23360
|
for (const seg of content) {
|
|
23315
23361
|
if (seg.type === "tool_execution") {
|
|
23316
|
-
const id = _optionalChain([seg, 'access',
|
|
23362
|
+
const id = _optionalChain([seg, 'access', _768 => _768.data, 'optionalAccess', _769 => _769.toolExecutionRequestId]);
|
|
23317
23363
|
if (id) keys.add(id);
|
|
23318
23364
|
} else if (seg.type === "approval_request") {
|
|
23319
|
-
const id = _optionalChain([seg, 'access',
|
|
23365
|
+
const id = _optionalChain([seg, 'access', _770 => _770.data, 'optionalAccess', _771 => _771.requestId]);
|
|
23320
23366
|
if (id) keys.add(id);
|
|
23321
23367
|
} else if (seg.type === "escalation_offer") {
|
|
23322
|
-
const id = _optionalChain([seg, 'access',
|
|
23368
|
+
const id = _optionalChain([seg, 'access', _772 => _772.data, 'optionalAccess', _773 => _773.offerId]);
|
|
23323
23369
|
if (id) keys.add(id);
|
|
23324
23370
|
} else if (seg.type === "approval_batch") {
|
|
23325
23371
|
const data = seg.data;
|
|
23326
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
23327
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
23328
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
23372
|
+
if (_optionalChain([data, 'optionalAccess', _774 => _774.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
23373
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _775 => _775.toolCalls]), () => ( []))) {
|
|
23374
|
+
if (_optionalChain([call, 'optionalAccess', _776 => _776.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
23329
23375
|
}
|
|
23330
23376
|
}
|
|
23331
23377
|
}
|
|
@@ -23410,18 +23456,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23410
23456
|
}
|
|
23411
23457
|
}
|
|
23412
23458
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
23413
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
23414
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
23459
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _777 => _777.role]) === "assistant" ? trailing : null;
|
|
23460
|
+
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;
|
|
23415
23461
|
let processedToUse = processedHistory;
|
|
23416
23462
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23417
23463
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23418
23464
|
if (historyBatchId) {
|
|
23419
23465
|
const batchTwins = existingMessages.filter(
|
|
23420
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
23466
|
+
(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)
|
|
23421
23467
|
);
|
|
23422
23468
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
23423
23469
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
23424
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
23470
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _785 => _785.content])) ? historyTrailingAssistant.content.length : 0;
|
|
23425
23471
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
23426
23472
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
23427
23473
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -23454,9 +23500,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23454
23500
|
const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
|
|
23455
23501
|
const windowSignals = collectTwinSignals(processedToUse);
|
|
23456
23502
|
const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
|
|
23457
|
-
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
23503
|
+
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _786 => _786.has, 'call', _787 => _787(m.id)]), () => ( false)));
|
|
23458
23504
|
const firstWindowIndex = existingMessages.findIndex(isInWindow);
|
|
23459
|
-
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23505
|
+
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _788 => _788.timestamp, 'optionalAccess', _789 => _789.getTime, 'call', _790 => _790()]), () => ( 0))) <= historyFetchedAt;
|
|
23460
23506
|
let lastOlderPersistedIndex = -1;
|
|
23461
23507
|
if (firstWindowIndex < 0) {
|
|
23462
23508
|
for (const [index, m] of existingMessages.entries()) {
|
|
@@ -23474,7 +23520,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23474
23520
|
} else if (pm.role === "assistant") {
|
|
23475
23521
|
windowHasUnstampedAssistant = true;
|
|
23476
23522
|
}
|
|
23477
|
-
const time = _optionalChain([pm, 'access',
|
|
23523
|
+
const time = _optionalChain([pm, 'access', _791 => _791.timestamp, 'optionalAccess', _792 => _792.getTime, 'call', _793 => _793()]);
|
|
23478
23524
|
if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
|
|
23479
23525
|
}
|
|
23480
23526
|
const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
|
|
@@ -23492,14 +23538,14 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23492
23538
|
const verdict = twinVerdict(windowSignals, m);
|
|
23493
23539
|
return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
|
|
23494
23540
|
}
|
|
23495
|
-
const time = _optionalChain([m, 'access',
|
|
23541
|
+
const time = _optionalChain([m, 'access', _794 => _794.timestamp, 'optionalAccess', _795 => _795.getTime, 'call', _796 => _796()]);
|
|
23496
23542
|
if (typeof time !== "number" || time > historyFetchedAt) return false;
|
|
23497
23543
|
if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
|
|
23498
23544
|
return twinVerdict(windowSignals, m) === "distinct";
|
|
23499
23545
|
};
|
|
23500
23546
|
const keepRealtime = (m) => {
|
|
23501
23547
|
if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
|
|
23502
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23548
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _797 => _797.timestamp, 'optionalAccess', _798 => _798.getTime, 'call', _799 => _799()]), () => ( 0))) <= historyFetchedAt;
|
|
23503
23549
|
return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
|
|
23504
23550
|
}
|
|
23505
23551
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -23524,7 +23570,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23524
23570
|
} else if (typeof m.streamSeq === "number") {
|
|
23525
23571
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
23526
23572
|
} else {
|
|
23527
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23573
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _800 => _800.timestamp, 'optionalAccess', _801 => _801.getTime, 'call', _802 => _802()]), () => ( 0))) <= historyFetchedAt;
|
|
23528
23574
|
}
|
|
23529
23575
|
if (covered) return false;
|
|
23530
23576
|
}
|
|
@@ -23619,7 +23665,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
23619
23665
|
function isHistoricalUserTurn(m) {
|
|
23620
23666
|
return !!m.owner;
|
|
23621
23667
|
}
|
|
23622
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
23668
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _803 => _803.type]) === "TEXT" && typeof d.text === "string";
|
|
23623
23669
|
var THINK_MS = 550;
|
|
23624
23670
|
var TOKEN_MS = 55;
|
|
23625
23671
|
var USER_MS = 480;
|
|
@@ -23716,8 +23762,8 @@ function useResizablePanelSize({
|
|
|
23716
23762
|
}) : null,
|
|
23717
23763
|
[enabled, storageKey]
|
|
23718
23764
|
);
|
|
23719
|
-
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23720
|
-
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23765
|
+
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)) }));
|
|
23766
|
+
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _807 => _807.load, 'call', _808 => _808(), 'optionalAccess', _809 => _809.size]), () => ( null)) };
|
|
23721
23767
|
if (chosen !== held) setChosen(chosen);
|
|
23722
23768
|
const chosenSize = chosen.size;
|
|
23723
23769
|
const clampSize = _react.useCallback.call(void 0,
|
|
@@ -23733,7 +23779,7 @@ function useResizablePanelSize({
|
|
|
23733
23779
|
(next) => {
|
|
23734
23780
|
const nextSize = Math.round(clampSize(next));
|
|
23735
23781
|
setChosen({ storage, size: nextSize });
|
|
23736
|
-
_optionalChain([storage, 'optionalAccess',
|
|
23782
|
+
_optionalChain([storage, 'optionalAccess', _810 => _810.save, 'call', _811 => _811({ size: nextSize })]);
|
|
23737
23783
|
},
|
|
23738
23784
|
[clampSize, storage]
|
|
23739
23785
|
);
|
|
@@ -24323,7 +24369,7 @@ function useChatDialogManager({
|
|
|
24323
24369
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
24324
24370
|
if (restoreTarget) {
|
|
24325
24371
|
try {
|
|
24326
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
24372
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _812 => _812(restoreTarget.id)]);
|
|
24327
24373
|
} catch (err) {
|
|
24328
24374
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
24329
24375
|
return;
|
|
@@ -24334,7 +24380,7 @@ function useChatDialogManager({
|
|
|
24334
24380
|
setRestoreTarget(null);
|
|
24335
24381
|
}, [restoreTarget, unarchiveDialog]);
|
|
24336
24382
|
const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
|
|
24337
|
-
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess',
|
|
24383
|
+
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _813 => _813.archived]) === true;
|
|
24338
24384
|
const handleBack = _react.useCallback.call(void 0, () => {
|
|
24339
24385
|
const wasArchived = isViewingArchived;
|
|
24340
24386
|
setViewingArchivedId(null);
|
|
@@ -24890,7 +24936,7 @@ function EmbeddableChatInner({
|
|
|
24890
24936
|
}),
|
|
24891
24937
|
[commandsUrl]
|
|
24892
24938
|
);
|
|
24893
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24939
|
+
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;
|
|
24894
24940
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24895
24941
|
if (modes) return modes;
|
|
24896
24942
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24905,7 +24951,7 @@ function EmbeddableChatInner({
|
|
|
24905
24951
|
if (controlledActiveMode === void 0) {
|
|
24906
24952
|
setUncontrolledActiveMode(next);
|
|
24907
24953
|
}
|
|
24908
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24954
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _821 => _821(next)]);
|
|
24909
24955
|
},
|
|
24910
24956
|
[controlledActiveMode, onActiveModeChange]
|
|
24911
24957
|
);
|
|
@@ -24932,7 +24978,7 @@ function EmbeddableChatInner({
|
|
|
24932
24978
|
);
|
|
24933
24979
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24934
24980
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24935
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24981
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _822 => _822.title]) === "string" ? guideWelcome.title : null)));
|
|
24936
24982
|
const {
|
|
24937
24983
|
messages: rawMessages,
|
|
24938
24984
|
isLoading: chatLoading,
|
|
@@ -24989,8 +25035,8 @@ function EmbeddableChatInner({
|
|
|
24989
25035
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24990
25036
|
() => ({
|
|
24991
25037
|
...dialogCapabilities,
|
|
24992
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24993
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
25038
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _823 => _823.canRename]), () => ( false)),
|
|
25039
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _824 => _824.canArchive]), () => ( false))
|
|
24994
25040
|
}),
|
|
24995
25041
|
[dialogCapabilities]
|
|
24996
25042
|
);
|
|
@@ -25005,7 +25051,7 @@ function EmbeddableChatInner({
|
|
|
25005
25051
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
25006
25052
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
25007
25053
|
});
|
|
25008
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
25054
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _825 => _825()]);
|
|
25009
25055
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
25010
25056
|
const {
|
|
25011
25057
|
attachments: stagedAttachments,
|
|
@@ -25016,7 +25062,7 @@ function EmbeddableChatInner({
|
|
|
25016
25062
|
clear: clearAttachments
|
|
25017
25063
|
} = useChatAttachments();
|
|
25018
25064
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
25019
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25065
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _826 => _826.maxItems]), () => ( 10));
|
|
25020
25066
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
25021
25067
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
25022
25068
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -25045,10 +25091,10 @@ function EmbeddableChatInner({
|
|
|
25045
25091
|
}, [composerKey, clearAttachments]);
|
|
25046
25092
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
25047
25093
|
const m = /* @__PURE__ */ new Map();
|
|
25048
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
25094
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _827 => _827.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
25049
25095
|
return m;
|
|
25050
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
25051
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
25096
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _828 => _828.entityTypes])]);
|
|
25097
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _829 => _829.entityTypes]);
|
|
25052
25098
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
25053
25099
|
const byType = /* @__PURE__ */ new Map();
|
|
25054
25100
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -25060,7 +25106,7 @@ function EmbeddableChatInner({
|
|
|
25060
25106
|
if (mentionActiveRef.current) {
|
|
25061
25107
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
25062
25108
|
if (contextItems.length >= contextMaxItems) return;
|
|
25063
|
-
_optionalChain([chatInputRef, 'access',
|
|
25109
|
+
_optionalChain([chatInputRef, 'access', _830 => _830.current, 'optionalAccess', _831 => _831.commitMention, 'call', _832 => _832(mentionTokenOf(key, mentionMarkerByType), {
|
|
25064
25110
|
label: item.label,
|
|
25065
25111
|
icon: resolveContextIcon(item)
|
|
25066
25112
|
})]);
|
|
@@ -25083,9 +25129,9 @@ function EmbeddableChatInner({
|
|
|
25083
25129
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
25084
25130
|
if (mentionKeysRef.current.has(key)) {
|
|
25085
25131
|
mentionKeysRef.current.delete(key);
|
|
25086
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
25132
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _833 => _833.current, 'optionalAccess', _834 => _834.getValue, 'call', _835 => _835()]), () => ( ""));
|
|
25087
25133
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
25088
|
-
_optionalChain([chatInputRef, 'access',
|
|
25134
|
+
_optionalChain([chatInputRef, 'access', _836 => _836.current, 'optionalAccess', _837 => _837.setValue, 'call', _838 => _838(next)]);
|
|
25089
25135
|
}
|
|
25090
25136
|
},
|
|
25091
25137
|
[mentionMarkerByType]
|
|
@@ -25107,7 +25153,7 @@ function EmbeddableChatInner({
|
|
|
25107
25153
|
}, []);
|
|
25108
25154
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
25109
25155
|
if (mentionActiveRef.current) {
|
|
25110
|
-
_optionalChain([chatInputRef, 'access',
|
|
25156
|
+
_optionalChain([chatInputRef, 'access', _839 => _839.current, 'optionalAccess', _840 => _840.removeMentionTrigger, 'call', _841 => _841()]);
|
|
25111
25157
|
}
|
|
25112
25158
|
setContextPickerOpen(false);
|
|
25113
25159
|
setMentionQuery(null);
|
|
@@ -25144,8 +25190,8 @@ function EmbeddableChatInner({
|
|
|
25144
25190
|
[effectiveAssistantIcon]
|
|
25145
25191
|
);
|
|
25146
25192
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
25147
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
25148
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
25193
|
+
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;
|
|
25194
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _847 => _847.avatarUrl, 'optionalAccess', _848 => _848.trim, 'call', _849 => _849()]) || void 0 : void 0;
|
|
25149
25195
|
const messages = _react.useMemo.call(void 0, () => {
|
|
25150
25196
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
25151
25197
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -25348,7 +25394,7 @@ function EmbeddableChatInner({
|
|
|
25348
25394
|
_react.useEffect.call(void 0, () => {
|
|
25349
25395
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
25350
25396
|
const ro = new ResizeObserver((entries) => {
|
|
25351
|
-
const w = _optionalChain([entries, 'access',
|
|
25397
|
+
const w = _optionalChain([entries, 'access', _850 => _850[0], 'optionalAccess', _851 => _851.contentRect, 'optionalAccess', _852 => _852.width]);
|
|
25352
25398
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
25353
25399
|
});
|
|
25354
25400
|
ro.observe(panelBoundary);
|
|
@@ -25394,18 +25440,18 @@ function EmbeddableChatInner({
|
|
|
25394
25440
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25395
25441
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25396
25442
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25397
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25443
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _853 => _853.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25398
25444
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25399
25445
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25400
25446
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25401
25447
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25402
25448
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25403
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25404
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25449
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _854 => _854.onCopyLink, 'optionalCall', _855 => _855(activeDialog)]) : void 0;
|
|
25450
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _856 => _856.compactDialog, 'optionalCall', _857 => _857(activeDialog)]) : void 0;
|
|
25405
25451
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25406
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25407
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25408
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25452
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _858 => _858.owner]) : void 0;
|
|
25453
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _859 => _859.name, 'optionalAccess', _860 => _860.trim, 'call', _861 => _861()]) || headerUserName;
|
|
25454
|
+
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;
|
|
25409
25455
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25410
25456
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25411
25457
|
resetToNewChat();
|
|
@@ -25784,7 +25830,7 @@ function EmbeddableChatInner({
|
|
|
25784
25830
|
onNewChat: () => setComposeOpen(true),
|
|
25785
25831
|
onExpand: onExpand && (() => {
|
|
25786
25832
|
const last = lastDialogIdRef.current;
|
|
25787
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25833
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _870 => _870[0], 'optionalAccess', _871 => _871.id]);
|
|
25788
25834
|
if (archiveOpen) closeArchive();
|
|
25789
25835
|
if (target) handleSelectDialog(target);
|
|
25790
25836
|
else handleNewChat();
|
|
@@ -25891,9 +25937,9 @@ function EmbeddableChatInner({
|
|
|
25891
25937
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25892
25938
|
subtitleLoading: emptyStateLoading,
|
|
25893
25939
|
...guideWelcome,
|
|
25894
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25895
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25896
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25940
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _872 => _872.title]))),
|
|
25941
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _873 => _873.icon]))),
|
|
25942
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _874 => _874.quickActions]), () => ( guideSuggestedActions)),
|
|
25897
25943
|
onQuickAction: (action) => {
|
|
25898
25944
|
setQuickActionPreview(null);
|
|
25899
25945
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25968,8 +26014,8 @@ function EmbeddableChatInner({
|
|
|
25968
26014
|
selectedContextItems: contextItems,
|
|
25969
26015
|
onToggleContextItem: toggleContextItem,
|
|
25970
26016
|
onRemoveContextItem: removeContextItem,
|
|
25971
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25972
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
26017
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _875 => _875.items]),
|
|
26018
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _876 => _876.onRemove]),
|
|
25973
26019
|
contextPickerOpen,
|
|
25974
26020
|
onOpenContextPicker: openContextPicker,
|
|
25975
26021
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -26182,7 +26228,7 @@ var GROUPS = [
|
|
|
26182
26228
|
}
|
|
26183
26229
|
];
|
|
26184
26230
|
function maskKey(key) {
|
|
26185
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
26231
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _877 => _877.exec, 'call', _878 => _878(key), 'optionalAccess', _879 => _879[0]]), () => ( ""));
|
|
26186
26232
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
26187
26233
|
}
|
|
26188
26234
|
function HeaderName({ children }) {
|
|
@@ -26219,8 +26265,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26219
26265
|
const errors = _react.useMemo.call(void 0, () => {
|
|
26220
26266
|
const out = {};
|
|
26221
26267
|
for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
26222
|
-
const value = _optionalChain([optional, 'access',
|
|
26223
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
26268
|
+
const value = _optionalChain([optional, 'access', _880 => _880[field], 'optionalAccess', _881 => _881.trim, 'call', _882 => _882()]);
|
|
26269
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _883 => _883[field], 'access', _884 => _884.validate, 'optionalCall', _885 => _885(value)]) : null;
|
|
26224
26270
|
if (message) out[field] = message;
|
|
26225
26271
|
}
|
|
26226
26272
|
return out;
|
|
@@ -26232,12 +26278,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26232
26278
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
26233
26279
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
26234
26280
|
..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
26235
|
-
const value = _optionalChain([optional, 'access',
|
|
26281
|
+
const value = _optionalChain([optional, 'access', _886 => _886[field], 'optionalAccess', _887 => _887.trim, 'call', _888 => _888()]);
|
|
26236
26282
|
return value ? [[header, value]] : [];
|
|
26237
26283
|
})
|
|
26238
26284
|
];
|
|
26239
26285
|
const save = () => {
|
|
26240
|
-
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
26286
|
+
const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _889 => _889.secret]);
|
|
26241
26287
|
const actAs = email.trim().toLowerCase();
|
|
26242
26288
|
if (!key || !actAs || hasErrors) {
|
|
26243
26289
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -26853,5 +26899,4 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26853
26899
|
|
|
26854
26900
|
|
|
26855
26901
|
|
|
26856
|
-
|
|
26857
|
-
exports.InfoHint = InfoHint; exports.Field = Field; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.HoverDropdown = HoverDropdown; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; exports.TRIAL_DAYS = TRIAL_DAYS; exports.TRIAL_LABELS = TRIAL_LABELS; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.clickupTaskUrl = clickupTaskUrl; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.openInNewTab = openInNewTab; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.ASK_AI_OPEN_EVENT = ASK_AI_OPEN_EVENT; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useShownAskPrompts = useShownAskPrompts; exports.useShownAskPromptIds = useShownAskPromptIds; exports.AssistantAskPrompts = AssistantAskPrompts; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.useNavLinkViaRuntime = useNavLinkViaRuntime; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getVendorLogo = getVendorLogo; exports.VendorIcon = VendorIcon; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.buildDiscussPrompt = buildDiscussPrompt; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
|
|
26902
|
+
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.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;
|