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