@flamingo-stack/openframe-frontend-core 0.0.755 → 0.0.757
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-AG4HR6Z6.cjs → chunk-2ANICXS7.cjs} +16 -16
- package/dist/{chunk-NS5DO6QK.cjs → chunk-33PJH2TF.cjs} +22 -22
- package/dist/{chunk-2HWKYPJB.cjs → chunk-33RJU565.cjs} +6 -6
- package/dist/{chunk-NE3T3ZIG.cjs → chunk-3C4U4UW6.cjs} +21 -21
- package/dist/{chunk-HAL6HBTM.cjs → chunk-7RADSQJF.cjs} +428 -411
- package/dist/{chunk-MGF3FUKD.cjs → chunk-AKK3EO37.cjs} +4 -1
- package/dist/{chunk-3GG3QAPT.cjs → chunk-AXBVN5SW.cjs} +63 -57
- package/dist/{chunk-FOVNP5HU.cjs → chunk-AZFSHHWT.cjs} +6 -6
- package/dist/{chunk-SZGUEPJC.cjs → chunk-BLYP7ZT4.cjs} +36 -36
- package/dist/{chunk-YXX6UMG3.cjs → chunk-CT3UDNAV.cjs} +42 -42
- package/dist/{chunk-P6F6PHVK.cjs → chunk-EFTUFJS2.cjs} +4 -4
- package/dist/{chunk-LVO7FALW.cjs → chunk-F64VMOIB.cjs} +5 -5
- package/dist/{chunk-BQ5KRCSJ.cjs → chunk-HB3QFOHD.cjs} +22 -22
- package/dist/{chunk-5WHEQ63L.cjs → chunk-JEIAB7JQ.cjs} +4 -4
- package/dist/{chunk-JV4VVA2V.cjs → chunk-L2RNZOCI.cjs} +11 -11
- package/dist/{chunk-YRULLK7N.cjs → chunk-LOFDIDSD.cjs} +8 -2
- package/dist/{chunk-HSWNJAIK.cjs → chunk-ORC3ZKHT.cjs} +11 -11
- package/dist/{chunk-SDF5UUTE.cjs → chunk-QTYSYEHK.cjs} +74 -74
- package/dist/{chunk-Q2MSW2IW.cjs → chunk-RPADJ2E6.cjs} +7 -7
- package/dist/{chunk-32IKIBPY.cjs → chunk-S5ITKW6G.cjs} +73 -73
- package/dist/{chunk-RRE6C3ZU.cjs → chunk-UWXUGP3V.cjs} +3 -3
- package/dist/{chunk-BVEUGFIN.cjs → chunk-VD4HVLXG.cjs} +38 -38
- package/dist/{chunk-UNRNLSG4.cjs → chunk-VUSXDMCE.cjs} +2 -2
- package/dist/{chunk-RRCHQTZW.cjs → chunk-WSRMYHIV.cjs} +4 -4
- package/dist/{cloud-tenants-S7RR2UDJ.cjs → cloud-tenants-PA5UU2KQ.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/chat/embeddable-chat.js +8 -6
- package/dist/components/chat/index.cjs +7 -7
- package/dist/components/contact/index.cjs +11 -11
- package/dist/components/context-menu.d.ts +2 -2
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/context-menu.js +19 -12
- package/dist/components/docs/index.cjs +14 -14
- package/dist/components/embeds/index.cjs +11 -11
- package/dist/components/faq/index.cjs +12 -12
- package/dist/components/features/index.cjs +10 -10
- package/dist/components/features/time-tracker/time-tracker-header-button.d.ts.map +1 -1
- package/dist/components/features/time-tracker/time-tracker-header-button.js +3 -1
- package/dist/components/help-center-pages/index.cjs +71 -71
- package/dist/components/index.cjs +44 -44
- package/dist/components/meeting-scheduler/index.cjs +35 -35
- package/dist/components/navigation/index.cjs +13 -13
- package/dist/components/onboarding-guides/index.cjs +13 -13
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +3 -1
- package/dist/components/product-demo/index.cjs +9 -9
- package/dist/components/tickets/index.cjs +15 -15
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +9 -4
- package/dist/components/ui/dropdown-menu.d.ts +2 -2
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +4 -1
- package/dist/components/ui/file-manager/index.cjs +6 -6
- package/dist/components/ui/index.cjs +10 -10
- package/dist/components/ui/menubar.d.ts +2 -2
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +22 -15
- package/dist/components/ui/modal-v2.d.ts.map +1 -1
- package/dist/components/ui/modal-v2.js +5 -2
- package/dist/components/ui/searchable-select.d.ts.map +1 -1
- package/dist/components/ui/searchable-select.js +3 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +27 -23
- package/dist/components/ui/tag-select-dropdown.d.ts.map +1 -1
- package/dist/components/ui/tag-select-dropdown.js +3 -1
- package/dist/{devices-KCD2WSEV.cjs → devices-72YSJM4Z.cjs} +11 -11
- package/dist/{embeddable-chat-OGUGNKLP.cjs → embeddable-chat-CHHWPGAY.cjs} +85 -83
- package/dist/index.cjs +14 -14
- package/dist/{knowledge-OX5PYEPE.cjs → knowledge-76RIDA7P.cjs} +11 -11
- package/dist/{logs-ZVOBADLB.cjs → logs-ODMJ3KOP.cjs} +18 -18
- package/dist/{policies-NSHPEZTR.cjs → policies-5BZ5X2S4.cjs} +14 -14
- package/dist/{remote-session-57DGC4X3.cjs → remote-session-SKNXYG6K.cjs} +7 -7
- package/dist/{scripts-OHMKBEXO.cjs → scripts-TWQPG46M.cjs} +17 -17
- package/dist/{software-update-WMLGMSBQ.cjs → software-update-TSGISQV5.cjs} +14 -14
- package/dist/{tickets-board-EP6L3BSV.cjs → tickets-board-B2FH7Z4B.cjs} +9 -9
- package/eslint-config/base.js +7 -1
- package/eslint-config/popup-portal.js +68 -0
- package/package.json +1 -1
- package/src/components/chat/embeddable-chat.tsx +10 -6
- package/src/components/context-menu.tsx +20 -13
- package/src/components/features/time-tracker/time-tracker-header-button.tsx +3 -1
- package/src/components/popover.tsx +3 -1
- package/src/components/ui/date-picker.tsx +9 -4
- package/src/components/ui/dropdown-menu.tsx +4 -1
- package/src/components/ui/menubar.tsx +23 -16
- package/src/components/ui/modal-v2.tsx +17 -3
- package/src/components/ui/searchable-select.tsx +3 -1
- package/src/components/ui/select.tsx +28 -24
- package/src/components/ui/tag-select-dropdown.tsx +3 -1
|
@@ -59,19 +59,19 @@ require('./chunk-24I6RFVU.cjs');
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
var
|
|
62
|
+
var _chunkQTYSYEHKcjs = require('./chunk-QTYSYEHK.cjs');
|
|
63
63
|
|
|
64
64
|
|
|
65
|
-
var
|
|
65
|
+
var _chunkF64VMOIBcjs = require('./chunk-F64VMOIB.cjs');
|
|
66
66
|
require('./chunk-3RFQPQ7Z.cjs');
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
var
|
|
71
|
+
var _chunkLOFDIDSDcjs = require('./chunk-LOFDIDSD.cjs');
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
var
|
|
74
|
+
var _chunkEFTUFJS2cjs = require('./chunk-EFTUFJS2.cjs');
|
|
75
75
|
require('./chunk-ZOZR3QI2.cjs');
|
|
76
76
|
require('./chunk-OMV5S5PI.cjs');
|
|
77
77
|
require('./chunk-KHPX3KU4.cjs');
|
|
@@ -1914,7 +1914,7 @@ require('./chunk-HOTM4UM6.cjs');
|
|
|
1914
1914
|
|
|
1915
1915
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
1916
1916
|
require('./chunk-K6VWTUCH.cjs');
|
|
1917
|
-
require('./chunk-
|
|
1917
|
+
require('./chunk-AKK3EO37.cjs');
|
|
1918
1918
|
|
|
1919
1919
|
|
|
1920
1920
|
var _chunkZ74QE57Tcjs = require('./chunk-Z74QE57T.cjs');
|
|
@@ -2133,7 +2133,7 @@ function splitCitedSources(sources, content) {
|
|
|
2133
2133
|
}
|
|
2134
2134
|
const cited = sources.filter((source) => firstMentionAt.has(source.index)).sort((a, b) => (_nullishCoalesce(firstMentionAt.get(a.index), () => ( 0))) - (_nullishCoalesce(firstMentionAt.get(b.index), () => ( 0))));
|
|
2135
2135
|
const uncited = sources.filter((source) => !firstMentionAt.has(source.index));
|
|
2136
|
-
return { cited:
|
|
2136
|
+
return { cited: _chunkQTYSYEHKcjs.groupSourcesByTable.call(void 0, cited), uncited: _chunkQTYSYEHKcjs.groupSourcesByTable.call(void 0, uncited) };
|
|
2137
2137
|
}
|
|
2138
2138
|
|
|
2139
2139
|
// src/components/chat/utils/host-message.ts
|
|
@@ -2184,7 +2184,7 @@ function pruneTimestampCache(timestampCache, liveIds) {
|
|
|
2184
2184
|
// src/components/chat/embeddable-chat.tsx
|
|
2185
2185
|
var _jsxruntime = require('react/jsx-runtime');
|
|
2186
2186
|
var HISTORY_RAIL_WIDTH = 320;
|
|
2187
|
-
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH +
|
|
2187
|
+
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + _chunkQTYSYEHKcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
2188
2188
|
var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
|
|
2189
2189
|
var DRAWER_WIDTH_KEY = "mingo-chat-width-v4";
|
|
2190
2190
|
var DRAWER_DEFAULT_WIDTH_PX = 750;
|
|
@@ -2265,7 +2265,7 @@ function dispatchSlashCommandAction(actionId, cmdId, ref) {
|
|
|
2265
2265
|
if (!input) return;
|
|
2266
2266
|
switch (actionId) {
|
|
2267
2267
|
case "browse":
|
|
2268
|
-
input.submit(
|
|
2268
|
+
input.submit(_chunkQTYSYEHKcjs.formatSingularLookupInvocation.call(void 0, cmdId));
|
|
2269
2269
|
return;
|
|
2270
2270
|
case "search":
|
|
2271
2271
|
input.setValue(`/${cmdId} `);
|
|
@@ -2291,7 +2291,7 @@ function SourceChip({
|
|
|
2291
2291
|
}) {
|
|
2292
2292
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2293
2293
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
2294
|
-
const cta =
|
|
2294
|
+
const cta = _chunkQTYSYEHKcjs.resolveSourceRowCTA.call(void 0,
|
|
2295
2295
|
{
|
|
2296
2296
|
sourceRepo: src.sourceRepo,
|
|
2297
2297
|
documentType: src.documentType,
|
|
@@ -2301,15 +2301,15 @@ function SourceChip({
|
|
|
2301
2301
|
targetPlatform: _nullishCoalesce(src.targetPlatform, () => ( null)),
|
|
2302
2302
|
path: src.path
|
|
2303
2303
|
},
|
|
2304
|
-
|
|
2304
|
+
_chunkQTYSYEHKcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
|
|
2305
2305
|
);
|
|
2306
2306
|
const Icon = cta.icon;
|
|
2307
2307
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
2308
|
-
const chipClass =
|
|
2308
|
+
const chipClass = _chunkQTYSYEHKcjs.chatChipClass.call(void 0, { tone: "secondary" });
|
|
2309
2309
|
const decideTab = (href, targetPlatform) => _chunk7Z4EQOIXcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
2310
2310
|
if (src.items && src.items.length > 0) {
|
|
2311
2311
|
const dropdownItems = src.items.map((item) => {
|
|
2312
|
-
const itemCta =
|
|
2312
|
+
const itemCta = _chunkQTYSYEHKcjs.resolveSourceRowCTA.call(void 0,
|
|
2313
2313
|
{
|
|
2314
2314
|
sourceRepo: src.sourceRepo,
|
|
2315
2315
|
documentType: item.documentType,
|
|
@@ -2319,7 +2319,7 @@ function SourceChip({
|
|
|
2319
2319
|
targetPlatform: _nullishCoalesce(item.targetPlatform, () => ( null)),
|
|
2320
2320
|
path: item.path
|
|
2321
2321
|
},
|
|
2322
|
-
|
|
2322
|
+
_chunkQTYSYEHKcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
|
|
2323
2323
|
);
|
|
2324
2324
|
const ItemIcon = itemCta.icon;
|
|
2325
2325
|
const itemChatRef = itemCta.chatRef;
|
|
@@ -2339,13 +2339,13 @@ function SourceChip({
|
|
|
2339
2339
|
};
|
|
2340
2340
|
});
|
|
2341
2341
|
const itemIndices = src.items.flatMap((item) => item.index === void 0 ? [] : [item.index]);
|
|
2342
|
-
const groupIndices = itemIndices.length > 0 ?
|
|
2342
|
+
const groupIndices = itemIndices.length > 0 ? _chunkQTYSYEHKcjs.formatCitationIndices.call(void 0, itemIndices) : `${src.index}`;
|
|
2343
2343
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2344
2344
|
_chunkNTGIQP7Ocjs.HoverDropdown,
|
|
2345
2345
|
{
|
|
2346
2346
|
items: dropdownItems,
|
|
2347
2347
|
renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2348
|
-
|
|
2348
|
+
_chunkQTYSYEHKcjs.NavLinkAnchorViaRuntime,
|
|
2349
2349
|
{
|
|
2350
2350
|
href,
|
|
2351
2351
|
targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
|
|
@@ -2378,10 +2378,10 @@ function SourceChip({
|
|
|
2378
2378
|
] });
|
|
2379
2379
|
const wrapChip = (clickable) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "inline-flex items-center", children: [
|
|
2380
2380
|
clickable,
|
|
2381
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2381
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.SourceActionButton, { chatRef: cta.chatRef, onDiscuss, density: "inline", className: "-mr-1 ml-1" })
|
|
2382
2382
|
] });
|
|
2383
2383
|
const buildClickHandler = (href, path, targetPlatform, isNewTab) => (e) => {
|
|
2384
|
-
const handled =
|
|
2384
|
+
const handled = _chunkQTYSYEHKcjs.executeNavigation.call(void 0, {
|
|
2385
2385
|
event: e,
|
|
2386
2386
|
runtime,
|
|
2387
2387
|
href,
|
|
@@ -2527,7 +2527,7 @@ function EmbeddableChatInner({
|
|
|
2527
2527
|
defaultActiveMode,
|
|
2528
2528
|
shell = "drawer",
|
|
2529
2529
|
closable = true,
|
|
2530
|
-
appearance =
|
|
2530
|
+
appearance = _chunkLOFDIDSDcjs.CHAT_APPEARANCE.CLASSIC,
|
|
2531
2531
|
onCollapse,
|
|
2532
2532
|
collapseTo = "list",
|
|
2533
2533
|
onExpand,
|
|
@@ -2549,11 +2549,11 @@ function EmbeddableChatInner({
|
|
|
2549
2549
|
handleRef
|
|
2550
2550
|
}) {
|
|
2551
2551
|
const shellLess = shell !== "drawer";
|
|
2552
|
-
const isV2 = appearance ===
|
|
2552
|
+
const isV2 = appearance === _chunkLOFDIDSDcjs.CHAT_APPEARANCE.V2;
|
|
2553
2553
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2554
2554
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
2555
2555
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
2556
|
-
const { attachmentsEnabled, user: identityUser } =
|
|
2556
|
+
const { attachmentsEnabled, user: identityUser } = _chunkQTYSYEHKcjs.useChatIdentity.call(void 0, );
|
|
2557
2557
|
const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
|
|
2558
2558
|
_react.useEffect.call(void 0, () => {
|
|
2559
2559
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -2607,9 +2607,9 @@ function EmbeddableChatInner({
|
|
|
2607
2607
|
const [quickActionPreview, setQuickActionPreview] = _react.useState.call(void 0, null);
|
|
2608
2608
|
const slashCommandsProp = _react.useMemo.call(void 0,
|
|
2609
2609
|
() => ({
|
|
2610
|
-
fetchCommands: (prefix, signal) =>
|
|
2610
|
+
fetchCommands: (prefix, signal) => _chunkQTYSYEHKcjs.fetchSlashCommands.call(void 0, prefix, signal, commandsUrl),
|
|
2611
2611
|
resolveSourceIcon: (sourceId) => {
|
|
2612
|
-
const iconName =
|
|
2612
|
+
const iconName = _chunkQTYSYEHKcjs.getSourceIconName.call(void 0, sourceId);
|
|
2613
2613
|
if (!iconName) return void 0;
|
|
2614
2614
|
return { Icon: _chunkKTPR66EEcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
|
|
2615
2615
|
},
|
|
@@ -2638,7 +2638,7 @@ function EmbeddableChatInner({
|
|
|
2638
2638
|
},
|
|
2639
2639
|
[controlledActiveMode, onActiveModeChange]
|
|
2640
2640
|
);
|
|
2641
|
-
const { commands: commandsList, loaded: commandsLoaded } =
|
|
2641
|
+
const { commands: commandsList, loaded: commandsLoaded } = _chunkQTYSYEHKcjs.useSlashCommandRegistry.call(void 0, commandsUrl, {
|
|
2642
2642
|
enabled: activeMode === "guide"
|
|
2643
2643
|
});
|
|
2644
2644
|
const commandsById = _react.useMemo.call(void 0, () => {
|
|
@@ -2649,7 +2649,7 @@ function EmbeddableChatInner({
|
|
|
2649
2649
|
const resolveAgentConfigUrl = _nullishCoalesce(_nullishCoalesce(aiAgentConfigUrlProp, () => ( runtime.endpoints.aiAgentConfigUrl)), () => ( DEFAULT_AI_AGENT_CONFIG_URL));
|
|
2650
2650
|
const agentConfigUrl = activeAgentSlug ? resolveAgentConfigUrl(activeAgentSlug) : void 0;
|
|
2651
2651
|
const emptyStateUrl = _nullishCoalesce(agentConfigUrl, () => ( runtime.endpoints.emptyStateUrl));
|
|
2652
|
-
const { config: emptyStateConfig, loading: emptyStateLoading } =
|
|
2652
|
+
const { config: emptyStateConfig, loading: emptyStateLoading } = _chunkQTYSYEHKcjs.useEmptyStateConfig.call(void 0, emptyStateUrl, {
|
|
2653
2653
|
enabled: activeMode === "guide" || !!activeAgentSlug
|
|
2654
2654
|
});
|
|
2655
2655
|
const effectiveGreeting = _nullishCoalesce(emptyStateConfig.greeting, () => ( emptyStateGreeting));
|
|
@@ -2696,7 +2696,7 @@ function EmbeddableChatInner({
|
|
|
2696
2696
|
hasMoreMessages,
|
|
2697
2697
|
loadMoreMessages,
|
|
2698
2698
|
dialogCapabilities
|
|
2699
|
-
} =
|
|
2699
|
+
} = _chunkQTYSYEHKcjs.useUnifiedChat.call(void 0, {
|
|
2700
2700
|
modes: effectiveModes,
|
|
2701
2701
|
activeMode,
|
|
2702
2702
|
mingoStateOverride: mingoState,
|
|
@@ -2743,8 +2743,8 @@ function EmbeddableChatInner({
|
|
|
2743
2743
|
addFiles: addAttachmentFiles,
|
|
2744
2744
|
removeAttachment,
|
|
2745
2745
|
clear: clearAttachments
|
|
2746
|
-
} =
|
|
2747
|
-
const { panelRef: galleryPanelRef, modal: galleryModal } =
|
|
2746
|
+
} = _chunkQTYSYEHKcjs.useChatAttachments.call(void 0, );
|
|
2747
|
+
const { panelRef: galleryPanelRef, modal: galleryModal } = _chunkQTYSYEHKcjs.useChatAttachmentImageGallery.call(void 0, );
|
|
2748
2748
|
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _16 => _16.maxItems]), () => ( 10));
|
|
2749
2749
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
2750
2750
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
@@ -2864,7 +2864,7 @@ function EmbeddableChatInner({
|
|
|
2864
2864
|
const askAboutRef = _react.useRef.call(void 0, discussRef);
|
|
2865
2865
|
const askAbout = _react.useCallback.call(void 0, (reference) => askAboutRef.current(reference), []);
|
|
2866
2866
|
const renderEntityCard = _react.useCallback.call(void 0,
|
|
2867
|
-
(reference) =>
|
|
2867
|
+
(reference) => _chunkQTYSYEHKcjs.renderChatInlineEntityCard.call(void 0, reference, {
|
|
2868
2868
|
onDiscuss: askAbout,
|
|
2869
2869
|
onDisplay: displayRef,
|
|
2870
2870
|
baseRoute: resolvedBaseRoute,
|
|
@@ -2874,7 +2874,7 @@ function EmbeddableChatInner({
|
|
|
2874
2874
|
[askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
|
|
2875
2875
|
);
|
|
2876
2876
|
const mingoAssistantIcon = _react.useMemo.call(void 0,
|
|
2877
|
-
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2877
|
+
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF64VMOIBcjs.AgentMark, { agent: "mingo", className: "h-6 w-6" }),
|
|
2878
2878
|
[effectiveAssistantIcon]
|
|
2879
2879
|
);
|
|
2880
2880
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
@@ -2886,13 +2886,13 @@ function EmbeddableChatInner({
|
|
|
2886
2886
|
pruneTimestampCache(timestampCache, new Set(rawMessages.map((m) => m.id)));
|
|
2887
2887
|
return mapped;
|
|
2888
2888
|
}, [rawMessages, guideUserName, guideUserAvatar, timestampCache]);
|
|
2889
|
-
const whatToAsk =
|
|
2889
|
+
const whatToAsk = _chunkQTYSYEHKcjs.useWhatToAsk.call(void 0, {
|
|
2890
2890
|
dialogId: activeDialogId,
|
|
2891
2891
|
content: typeof whatToAskContent === "function" ? void 0 : whatToAskContent,
|
|
2892
2892
|
user: {
|
|
2893
2893
|
name: _nullishCoalesce(headerUserName, () => ( "You")),
|
|
2894
2894
|
avatar: _optionalChain([identityUser, 'optionalAccess', _40 => _40.avatarUrl, 'optionalAccess', _41 => _41.trim, 'call', _42 => _42()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _43 => _43.trim, 'call', _44 => _44()]) || null,
|
|
2895
|
-
authorType:
|
|
2895
|
+
authorType: _chunkLOFDIDSDcjs.AUTHOR_TYPE.ADMIN
|
|
2896
2896
|
},
|
|
2897
2897
|
assistant: { name: "Mingo", assistantType: "mingo" }
|
|
2898
2898
|
});
|
|
@@ -2905,7 +2905,7 @@ function EmbeddableChatInner({
|
|
|
2905
2905
|
noteWhatToAskSend();
|
|
2906
2906
|
let augmentedText = text;
|
|
2907
2907
|
if (readyAttachments.length > 0) {
|
|
2908
|
-
const markdown = readyAttachments.map((att) =>
|
|
2908
|
+
const markdown = readyAttachments.map((att) => _chunkQTYSYEHKcjs.formatChatAttachmentMarkdownForBubble.call(void 0, att, viewUrlPrefix)).join("");
|
|
2909
2909
|
augmentedText = `${text}${markdown}`;
|
|
2910
2910
|
}
|
|
2911
2911
|
void sendMessage(augmentedText, {
|
|
@@ -2944,7 +2944,7 @@ function EmbeddableChatInner({
|
|
|
2944
2944
|
// agent/persona (`icon_props.color`) wins; the built-in slug map
|
|
2945
2945
|
// (fae→pink, mingo→cyan) is only the fallback for unconfigured
|
|
2946
2946
|
// built-in agents.
|
|
2947
|
-
accent: _nullishCoalesce(
|
|
2947
|
+
accent: _nullishCoalesce(_chunkQTYSYEHKcjs.accentFromIdentityIcon.call(void 0, effectiveAssistantIcon), () => ( _chunkQTYSYEHKcjs.getAgentAccent.call(void 0, activeAgentSlug)))
|
|
2948
2948
|
}));
|
|
2949
2949
|
}
|
|
2950
2950
|
return (_nullishCoalesce(effectiveSuggestedQueries, () => ( []))).map((q, i) => ({
|
|
@@ -2992,7 +2992,7 @@ function EmbeddableChatInner({
|
|
|
2992
2992
|
unarchiveDialog: mingoCaps.unarchiveDialog
|
|
2993
2993
|
});
|
|
2994
2994
|
const handleOpen = _react.useCallback.call(void 0, () => setIsOpen(true), [setIsOpen]);
|
|
2995
|
-
|
|
2995
|
+
_chunkQTYSYEHKcjs.useCloseOnNavigation.call(void 0, handleNavigationClose, null);
|
|
2996
2996
|
_react.useEffect.call(void 0, () => {
|
|
2997
2997
|
const handler = (e) => {
|
|
2998
2998
|
const detail = e.detail;
|
|
@@ -3000,8 +3000,8 @@ function EmbeddableChatInner({
|
|
|
3000
3000
|
setIsOpen(true);
|
|
3001
3001
|
setTimeout(() => askAbout(detail.ref), 0);
|
|
3002
3002
|
};
|
|
3003
|
-
window.addEventListener(
|
|
3004
|
-
return () => window.removeEventListener(
|
|
3003
|
+
window.addEventListener(_chunkQTYSYEHKcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3004
|
+
return () => window.removeEventListener(_chunkQTYSYEHKcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3005
3005
|
}, [source, askAbout, setIsOpen]);
|
|
3006
3006
|
const pendingAskRef = _react.useRef.call(void 0, null);
|
|
3007
3007
|
const isDraft = activeDialogId == null && messages.length === 0;
|
|
@@ -3035,10 +3035,10 @@ function EmbeddableChatInner({
|
|
|
3035
3035
|
const prompt = typeof detail.prompt === "string" ? detail.prompt.trim() : "";
|
|
3036
3036
|
if (prompt) setTimeout(() => sendAskPrompt(prompt), 0);
|
|
3037
3037
|
};
|
|
3038
|
-
window.addEventListener(
|
|
3039
|
-
return () => window.removeEventListener(
|
|
3038
|
+
window.addEventListener(_chunkQTYSYEHKcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3039
|
+
return () => window.removeEventListener(_chunkQTYSYEHKcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3040
3040
|
}, [source, setIsOpen, sendAskPrompt]);
|
|
3041
|
-
_react.useEffect.call(void 0, () =>
|
|
3041
|
+
_react.useEffect.call(void 0, () => _chunkQTYSYEHKcjs.chatListensForAskAiOpens.call(void 0, ), []);
|
|
3042
3042
|
const hasMessages = messages.length > 0;
|
|
3043
3043
|
const dialogsInitialLoading = isDialogsLoading && dialogs.length === 0;
|
|
3044
3044
|
const dialogsLoadError = dialogsError && dialogs.length === 0;
|
|
@@ -3074,7 +3074,7 @@ function EmbeddableChatInner({
|
|
|
3074
3074
|
(message, index) => {
|
|
3075
3075
|
if (message.role !== "assistant") return null;
|
|
3076
3076
|
if (chatLoading && index === messages.length - 1) return null;
|
|
3077
|
-
const { cited, uncited } = splitCitedSources(message.sources,
|
|
3077
|
+
const { cited, uncited } = splitCitedSources(message.sources, _chunkQTYSYEHKcjs.flattenAssistantContent.call(void 0, message.content));
|
|
3078
3078
|
if (cited.length === 0 && uncited.length === 0) return null;
|
|
3079
3079
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3080
3080
|
SourceChips,
|
|
@@ -3092,7 +3092,7 @@ function EmbeddableChatInner({
|
|
|
3092
3092
|
);
|
|
3093
3093
|
const [portalHost, setPortalHost] = _react.useState.call(void 0, null);
|
|
3094
3094
|
const [panelBoundary, setPanelBoundary] = _react.useState.call(void 0, null);
|
|
3095
|
-
const splitMinWidth = (isV2 ?
|
|
3095
|
+
const splitMinWidth = (isV2 ? _chunkQTYSYEHKcjs.MINGO_V2_RAIL_WIDTH : HISTORY_RAIL_WIDTH) + _chunkQTYSYEHKcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
3096
3096
|
const [canSplit, setCanSplit] = _react.useState.call(void 0, false);
|
|
3097
3097
|
_react.useEffect.call(void 0, () => {
|
|
3098
3098
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
@@ -3111,7 +3111,7 @@ function EmbeddableChatInner({
|
|
|
3111
3111
|
[splitMinWidth]
|
|
3112
3112
|
);
|
|
3113
3113
|
const [railCollapsed, setRailCollapsed] = _react.useState.call(void 0, false);
|
|
3114
|
-
const railStorageHydrated =
|
|
3114
|
+
const railStorageHydrated = _chunkQTYSYEHKcjs.useIsHydrated.call(void 0, );
|
|
3115
3115
|
const [railStorageRead, setRailStorageRead] = _react.useState.call(void 0, false);
|
|
3116
3116
|
if (railStorageHydrated && !railStorageRead) {
|
|
3117
3117
|
setRailStorageRead(true);
|
|
@@ -3165,7 +3165,7 @@ function EmbeddableChatInner({
|
|
|
3165
3165
|
resetToNewChat();
|
|
3166
3166
|
}, [clearWhatToAskDraft, resetToNewChat]);
|
|
3167
3167
|
const activeDialogStatus = activeDialog && dialogStatusOf ? dialogStatusOf(activeDialog) : void 0;
|
|
3168
|
-
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _65 => _65.length]), () => ( 0))) > 0 ||
|
|
3168
|
+
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _65 => _65.length]), () => ( 0))) > 0 || _chunkQTYSYEHKcjs.awaitsDecision.call(void 0, hostMessages);
|
|
3169
3169
|
const showWhatToAsk = (content, newChat = false) => {
|
|
3170
3170
|
if (!newChat && activeDialogId && hasConversation && !isViewingArchived && !isMessagesLoading && !isChatBlocked) {
|
|
3171
3171
|
whatToAsk.ask("current", content);
|
|
@@ -3268,7 +3268,7 @@ function EmbeddableChatInner({
|
|
|
3268
3268
|
}),
|
|
3269
3269
|
[resetToNewChat, contextMaxItems]
|
|
3270
3270
|
);
|
|
3271
|
-
const splitHeaderMenuItems =
|
|
3271
|
+
const splitHeaderMenuItems = _chunkQTYSYEHKcjs.chatDialogMenuItems.call(void 0, {
|
|
3272
3272
|
onCopyLink: headerOnCopyLink,
|
|
3273
3273
|
onRename: headerOnRename,
|
|
3274
3274
|
onCompact: headerOnCompact,
|
|
@@ -3314,7 +3314,9 @@ function EmbeddableChatInner({
|
|
|
3314
3314
|
};
|
|
3315
3315
|
const mingoRailProps = {
|
|
3316
3316
|
dialogs,
|
|
3317
|
-
|
|
3317
|
+
// The archive takes the chat column: the open chat stays selected (closing
|
|
3318
|
+
// the archive returns to it) but is not what the list marks as on screen.
|
|
3319
|
+
activeDialogId: archiveOpen ? void 0 : _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
3318
3320
|
// Beside a new chat (wide only: narrow, the list is its own screen).
|
|
3319
3321
|
// A new chat holding only "What to ask?" exchanges is still that new chat.
|
|
3320
3322
|
draftTitle: wideMingo && (!hasConversation || isWhatToAskDraft) && !archiveOpen ? freshConversationTitle : void 0,
|
|
@@ -3348,16 +3350,16 @@ function EmbeddableChatInner({
|
|
|
3348
3350
|
onRetry: reloadDialogs
|
|
3349
3351
|
};
|
|
3350
3352
|
const v2Header = isV2 && !stackedListView ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "col-start-2 row-start-1 min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3351
|
-
|
|
3353
|
+
_chunkQTYSYEHKcjs.MingoChatHeader,
|
|
3352
3354
|
{
|
|
3353
|
-
title: headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3354
|
-
subtitle: headerPersonName,
|
|
3355
|
-
avatar: headerAvatar,
|
|
3355
|
+
title: archiveOpen ? "Chat Archive" : headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3356
|
+
subtitle: archiveOpen ? void 0 : headerPersonName,
|
|
3357
|
+
avatar: archiveOpen ? void 0 : headerAvatar,
|
|
3356
3358
|
onToggleList: wideMingo ? toggleRailCollapsed : headerShowBack ? headerOnBack : () => setComposeOpen(false),
|
|
3357
3359
|
listOpen: splitActive,
|
|
3358
|
-
menuItems: headerShowBack && !isViewingArchived ? splitHeaderMenuItems : [],
|
|
3360
|
+
menuItems: headerShowBack && !isViewingArchived && !archiveOpen ? splitHeaderMenuItems : [],
|
|
3359
3361
|
extraMenuItems: isViewingArchived || archiveOpen ? void 0 : chatMenuExtraItems,
|
|
3360
|
-
onRestore: isViewingArchived ? headerOnRestore : void 0,
|
|
3362
|
+
onRestore: isViewingArchived && !archiveOpen ? headerOnRestore : void 0,
|
|
3361
3363
|
onCollapse: wideMingo && onCollapse ? () => {
|
|
3362
3364
|
if (collapseTo === "list" && hasConversation) headerOnBack();
|
|
3363
3365
|
onCollapse();
|
|
@@ -3368,7 +3370,7 @@ function EmbeddableChatInner({
|
|
|
3368
3370
|
const body = (
|
|
3369
3371
|
// The whole panel reads the appearance (the composer's footer too), not
|
|
3370
3372
|
// only the thread `ChatMessageList` provides it to.
|
|
3371
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3373
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRB6BSE3Ocjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRB6BSE3Ocjs.CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
|
|
3372
3374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3373
3375
|
"div",
|
|
3374
3376
|
{
|
|
@@ -3376,7 +3378,7 @@ function EmbeddableChatInner({
|
|
|
3376
3378
|
"data-surface": isV2 ? "mingo" : void 0,
|
|
3377
3379
|
className: `flex h-full flex-col overflow-hidden transition-colors duration-200 ${!isV2 && (archiveOpen && !splitActive || stackedListView) ? "bg-ods-card" : "bg-ods-bg"} ${previewMode ? "pointer-events-none select-none" : ""}`,
|
|
3378
3380
|
children: archiveOpen && !splitActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col duration-200 animate-in fade-in-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3379
|
-
|
|
3381
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3380
3382
|
{
|
|
3381
3383
|
dialogs: archivedDialogs,
|
|
3382
3384
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3406,7 +3408,7 @@ function EmbeddableChatInner({
|
|
|
3406
3408
|
narrow: true,
|
|
3407
3409
|
className: "col-start-1 row-span-3 row-start-1",
|
|
3408
3410
|
innerClassName: "flex min-h-0 flex-col",
|
|
3409
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3411
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.MingoChatRail, { ...mingoRailProps, className: "w-full border-r-0" })
|
|
3410
3412
|
}
|
|
3411
3413
|
),
|
|
3412
3414
|
isV2 ? v2Header : showWideHeader ? (
|
|
@@ -3430,7 +3432,7 @@ function EmbeddableChatInner({
|
|
|
3430
3432
|
// Back is a full-height leading cell, matching the other
|
|
3431
3433
|
// header cells (not a small inline chevron).
|
|
3432
3434
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3433
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3435
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { divider: "right", onClick: closeArchive, "aria-label": "Back to chats", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24 }) }),
|
|
3434
3436
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h3", children: "Chat Archive" }) })
|
|
3435
3437
|
] })
|
|
3436
3438
|
) : (
|
|
@@ -3440,7 +3442,7 @@ function EmbeddableChatInner({
|
|
|
3440
3442
|
// (Figma 116:51217) and the magnifier toggle is hidden.
|
|
3441
3443
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3442
3444
|
railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3443
|
-
|
|
3445
|
+
_chunkQTYSYEHKcjs.ChatHeaderSearchField,
|
|
3444
3446
|
{
|
|
3445
3447
|
initialValue: mingoCaps.searchQuery,
|
|
3446
3448
|
onSearchChange: mingoCaps.onSearchChange,
|
|
@@ -3449,7 +3451,7 @@ function EmbeddableChatInner({
|
|
|
3449
3451
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3450
3452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h3", children: "Current Chats" }) }),
|
|
3451
3453
|
mingoCaps.onSearchChange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3452
|
-
|
|
3454
|
+
_chunkQTYSYEHKcjs.ChatHeaderIconButton,
|
|
3453
3455
|
{
|
|
3454
3456
|
onClick: () => setRailSearchOpen((o) => !o),
|
|
3455
3457
|
"aria-label": "Search chats",
|
|
@@ -3458,7 +3460,7 @@ function EmbeddableChatInner({
|
|
|
3458
3460
|
}
|
|
3459
3461
|
)
|
|
3460
3462
|
] }),
|
|
3461
|
-
headerOnOpenArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3463
|
+
headerOnOpenArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { onClick: headerOnOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7JKBT3LTcjs.ClockHistoryIcon, { size: 24 }) })
|
|
3462
3464
|
] })
|
|
3463
3465
|
) }),
|
|
3464
3466
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1", children: [
|
|
@@ -3495,17 +3497,17 @@ function EmbeddableChatInner({
|
|
|
3495
3497
|
)
|
|
3496
3498
|
) : null
|
|
3497
3499
|
] }),
|
|
3498
|
-
isViewingArchived && headerOnRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3500
|
+
isViewingArchived && headerOnRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { onClick: headerOnRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPX2JK6Pcjs.Refresh01LeftIcon, { size: 24 }) }),
|
|
3499
3501
|
headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3500
|
-
|
|
3502
|
+
_chunkEFTUFJS2cjs.ActionsMenuDropdown,
|
|
3501
3503
|
{
|
|
3502
3504
|
triggerAriaLabel: "Chat actions",
|
|
3503
3505
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
3504
3506
|
groups: [{ items: splitHeaderMenuItems }],
|
|
3505
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3507
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWHUL32Wcjs.Ellipsis01Icon, { size: 24 }) })
|
|
3506
3508
|
}
|
|
3507
3509
|
),
|
|
3508
|
-
closeControl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3510
|
+
closeControl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { onClick: closeControl, "aria-label": "Close", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { size: 24 }) })
|
|
3509
3511
|
] })
|
|
3510
3512
|
] })
|
|
3511
3513
|
) : (
|
|
@@ -3513,10 +3515,10 @@ function EmbeddableChatInner({
|
|
|
3513
3515
|
// guide, resolved into `narrowHeaderProps` above. (Wide layouts,
|
|
3514
3516
|
// including rail-collapsed, use the wide header above.) Embedded
|
|
3515
3517
|
// previews (hero demo tabs) force the compact bar via `compact`.
|
|
3516
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3518
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
|
|
3517
3519
|
),
|
|
3518
3520
|
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3519
|
-
|
|
3521
|
+
_chunkQTYSYEHKcjs.GuideModeBanner,
|
|
3520
3522
|
{
|
|
3521
3523
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "duration-200 animate-in fade-in-0", isV2 && "col-start-2 row-start-2")
|
|
3522
3524
|
}
|
|
@@ -3526,7 +3528,7 @@ function EmbeddableChatInner({
|
|
|
3526
3528
|
// Archive list inside the rail (header lives in the split
|
|
3527
3529
|
// header's left cell above). Right chat block stays put.
|
|
3528
3530
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3529
|
-
|
|
3531
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3530
3532
|
{
|
|
3531
3533
|
embedded: true,
|
|
3532
3534
|
dialogs: archivedDialogs,
|
|
@@ -3540,7 +3542,7 @@ function EmbeddableChatInner({
|
|
|
3540
3542
|
}
|
|
3541
3543
|
)
|
|
3542
3544
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3543
|
-
|
|
3545
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3544
3546
|
{
|
|
3545
3547
|
dialogs,
|
|
3546
3548
|
activeDialogId: _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
@@ -3567,7 +3569,7 @@ function EmbeddableChatInner({
|
|
|
3567
3569
|
// v2: the archive opens in the chat column under the chat's
|
|
3568
3570
|
// header; the list stays, and "Chat Archive" there toggles back.
|
|
3569
3571
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3570
|
-
|
|
3572
|
+
_chunkQTYSYEHKcjs.MingoArchiveList,
|
|
3571
3573
|
{
|
|
3572
3574
|
dialogs: archivedDialogs,
|
|
3573
3575
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3580,7 +3582,7 @@ function EmbeddableChatInner({
|
|
|
3580
3582
|
}
|
|
3581
3583
|
)
|
|
3582
3584
|
) : stackedListView && isV2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3583
|
-
|
|
3585
|
+
_chunkQTYSYEHKcjs.MingoChatRail,
|
|
3584
3586
|
{
|
|
3585
3587
|
...mingoRailProps,
|
|
3586
3588
|
onNewChat: () => setComposeOpen(true),
|
|
@@ -3599,7 +3601,7 @@ function EmbeddableChatInner({
|
|
|
3599
3601
|
// single-column view. No composer here; "Start New Chat" opens
|
|
3600
3602
|
// the compose view.
|
|
3601
3603
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3602
|
-
|
|
3604
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3603
3605
|
{
|
|
3604
3606
|
className: "duration-200 animate-in fade-in-0",
|
|
3605
3607
|
dialogs,
|
|
@@ -3639,14 +3641,14 @@ function EmbeddableChatInner({
|
|
|
3639
3641
|
// skeleton overflows a short panel and grows its OWN
|
|
3640
3642
|
// scrollbar — ugly. `fill` top-anchors + clips overflow so
|
|
3641
3643
|
// it reads as "the whole panel is loading" and never scrolls.
|
|
3642
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3644
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatMessageListSkeleton, { fullWidth: true, fill: previewMode, className: "flex-1" })
|
|
3643
3645
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3644
|
-
|
|
3646
|
+
_chunkQTYSYEHKcjs.ChatMessageList,
|
|
3645
3647
|
{
|
|
3646
3648
|
messages,
|
|
3647
3649
|
appearance,
|
|
3648
3650
|
isTyping: chatLoading,
|
|
3649
|
-
typingMessage: streamingProgress ?
|
|
3651
|
+
typingMessage: streamingProgress ? _chunkQTYSYEHKcjs.chatProgressLabel.call(void 0, streamingProgress) : void 0,
|
|
3650
3652
|
pendingApprovals,
|
|
3651
3653
|
autoScroll: !previewMode,
|
|
3652
3654
|
pinBottom: previewMode,
|
|
@@ -3659,7 +3661,7 @@ function EmbeddableChatInner({
|
|
|
3659
3661
|
renderMention,
|
|
3660
3662
|
renderAfterMessage: renderMessageSources,
|
|
3661
3663
|
onAskSelect: chatLoading || previewMode ? void 0 : handleAskSelect,
|
|
3662
|
-
NavLinkAnchor:
|
|
3664
|
+
NavLinkAnchor: _chunkQTYSYEHKcjs.NavLinkAnchorViaRuntime,
|
|
3663
3665
|
className: previewMode ? "pointer-events-auto flex-1" : "flex-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3664
3666
|
contentClassName: "max-w-none pb-0",
|
|
3665
3667
|
fullWidth: true,
|
|
@@ -3673,7 +3675,7 @@ function EmbeddableChatInner({
|
|
|
3673
3675
|
quick-action chips. Guide mode keeps the slash-command
|
|
3674
3676
|
onboarding list below. */
|
|
3675
3677
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3676
|
-
|
|
3678
|
+
_chunkQTYSYEHKcjs.MingoWelcome,
|
|
3677
3679
|
{
|
|
3678
3680
|
onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
|
|
3679
3681
|
...mingoWelcome,
|
|
@@ -3688,7 +3690,7 @@ function EmbeddableChatInner({
|
|
|
3688
3690
|
+ slash-command onboarding list share one scroll region,
|
|
3689
3691
|
with a pinned quick-action chip row above the composer. */
|
|
3690
3692
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3691
|
-
|
|
3693
|
+
_chunkQTYSYEHKcjs.GuideWelcome,
|
|
3692
3694
|
{
|
|
3693
3695
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
3694
3696
|
subtitleLoading: emptyStateLoading,
|
|
@@ -3705,7 +3707,7 @@ function EmbeddableChatInner({
|
|
|
3705
3707
|
agentSlug: activeAgentSlug,
|
|
3706
3708
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
3707
3709
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3708
|
-
|
|
3710
|
+
_chunkQTYSYEHKcjs.MingoOnboardingCardSkeleton,
|
|
3709
3711
|
{
|
|
3710
3712
|
titleWidth: variant.titleWidth,
|
|
3711
3713
|
slashWidth: variant.slashWidth,
|
|
@@ -3723,7 +3725,7 @@ function EmbeddableChatInner({
|
|
|
3723
3725
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
3724
3726
|
}));
|
|
3725
3727
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3726
|
-
|
|
3728
|
+
_chunkLOFDIDSDcjs.MingoOnboardingCard,
|
|
3727
3729
|
{
|
|
3728
3730
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
3729
3731
|
title: label,
|
|
@@ -3743,7 +3745,7 @@ function EmbeddableChatInner({
|
|
|
3743
3745
|
) }),
|
|
3744
3746
|
aboveComposer != null && aboveComposer !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 px-[var(--spacing-system-m)] pb-[var(--spacing-system-m)]", children: aboveComposer }),
|
|
3745
3747
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3746
|
-
|
|
3748
|
+
_chunkQTYSYEHKcjs.ChatAttachmentChipStrip,
|
|
3747
3749
|
{
|
|
3748
3750
|
attachments: stagedAttachments,
|
|
3749
3751
|
onRemove: removeAttachment,
|
|
@@ -3751,7 +3753,7 @@ function EmbeddableChatInner({
|
|
|
3751
3753
|
}
|
|
3752
3754
|
),
|
|
3753
3755
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3754
|
-
|
|
3756
|
+
_chunkQTYSYEHKcjs.ChatComposer,
|
|
3755
3757
|
{
|
|
3756
3758
|
archived: isViewingArchived,
|
|
3757
3759
|
lock: composerLock,
|
|
@@ -3802,7 +3804,7 @@ function EmbeddableChatInner({
|
|
|
3802
3804
|
),
|
|
3803
3805
|
galleryModal,
|
|
3804
3806
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3805
|
-
|
|
3807
|
+
_chunkQTYSYEHKcjs.ChatDialogModals,
|
|
3806
3808
|
{
|
|
3807
3809
|
renameTarget,
|
|
3808
3810
|
setRenameTarget,
|
|
@@ -3818,13 +3820,13 @@ function EmbeddableChatInner({
|
|
|
3818
3820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
3819
3821
|
] }) }) })
|
|
3820
3822
|
);
|
|
3821
|
-
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3823
|
+
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQTYSYEHKcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: [
|
|
3822
3824
|
shell === "none" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Title, { children: [
|
|
3823
3825
|
sourceLabel,
|
|
3824
3826
|
" AI Assistant"
|
|
3825
3827
|
] }) }),
|
|
3826
3828
|
body
|
|
3827
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNTGIQP7Ocjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3829
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNTGIQP7Ocjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3828
3830
|
_chunkNTGIQP7Ocjs.DrawerContent,
|
|
3829
3831
|
{
|
|
3830
3832
|
side: "right",
|
|
@@ -3857,7 +3859,7 @@ function EmbeddableChatInner({
|
|
|
3857
3859
|
_chunk2QMBXGMQcjs.Button,
|
|
3858
3860
|
{
|
|
3859
3861
|
onClick: handleOpen,
|
|
3860
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3862
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF64VMOIBcjs.AgentMark, { agent: "mingo", className: "h-5 w-5" }),
|
|
3861
3863
|
tabIndex: isOpen ? -1 : 0,
|
|
3862
3864
|
className: `pointer-events-auto !w-auto shadow-lg ${isOpen ? "!pointer-events-none" : ""}`,
|
|
3863
3865
|
children: "Ask AI"
|