@flamingo-stack/openframe-frontend-core 0.0.754 → 0.0.756
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-U4I3QR2A.cjs → chunk-4YL4Y3BV.cjs} +11 -11
- package/dist/{chunk-YSFOYBYC.cjs → chunk-57JA37HP.cjs} +428 -411
- package/dist/{chunk-TPJTFN7O.cjs → chunk-7KPU7RGS.cjs} +73 -73
- package/dist/{chunk-MGF3FUKD.cjs → chunk-AKK3EO37.cjs} +4 -1
- package/dist/{chunk-3GG3QAPT.cjs → chunk-AXBVN5SW.cjs} +63 -57
- package/dist/{chunk-JXACH52M.cjs → chunk-BTIYXBA2.cjs} +4 -4
- package/dist/{chunk-BLZIUELR.cjs → chunk-CYDWQYIQ.cjs} +22 -22
- package/dist/{chunk-P6F6PHVK.cjs → chunk-EFTUFJS2.cjs} +4 -4
- package/dist/{chunk-LVO7FALW.cjs → chunk-F64VMOIB.cjs} +5 -5
- package/dist/{chunk-MOEILCEX.cjs → chunk-KFUC2XF7.cjs} +7 -7
- package/dist/{chunk-GQYCVZJI.cjs → chunk-KNNJ4WLF.cjs} +4 -4
- package/dist/{chunk-BQQ3JGEO.cjs → chunk-KSU3CXKY.cjs} +3 -3
- package/dist/{chunk-YRULLK7N.cjs → chunk-LOFDIDSD.cjs} +8 -2
- package/dist/{chunk-EDSFLB7J.cjs → chunk-MBQTLZAG.cjs} +11 -11
- package/dist/{chunk-TBDVF4SN.cjs → chunk-MDXZMTCK.cjs} +38 -38
- package/dist/{chunk-FAFFWYEH.cjs → chunk-MR5KMPSE.cjs} +6 -6
- package/dist/{chunk-ZNV5FE4T.cjs → chunk-PUK27ZB6.cjs} +22 -22
- package/dist/{chunk-RTQN35EP.cjs → chunk-QKFJ6ORK.cjs} +21 -21
- package/dist/{chunk-SDF5UUTE.cjs → chunk-QTYSYEHK.cjs} +74 -74
- package/dist/{chunk-OGKV5NOP.cjs → chunk-TAEEGNFL.cjs} +42 -42
- package/dist/{chunk-DW5OKTUP.cjs → chunk-VOXDBCBV.cjs} +36 -36
- package/dist/{chunk-UNRNLSG4.cjs → chunk-VUSXDMCE.cjs} +2 -2
- package/dist/{chunk-IVAAQSOU.cjs → chunk-W5MEHJRQ.cjs} +6 -6
- package/dist/{cloud-tenants-5OTPO7FL.cjs → cloud-tenants-NOZGXQZY.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +20 -20
- package/dist/components/chat/embeddable-chat.js +11 -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-MBGMD7BO.cjs → devices-M4KBTOTC.cjs} +11 -11
- package/dist/{embeddable-chat-CMEHSDV7.cjs → embeddable-chat-KGJVVG2V.cjs} +88 -83
- package/dist/index.cjs +14 -14
- package/dist/{knowledge-LO5RK6PM.cjs → knowledge-VVF6CJEG.cjs} +11 -11
- package/dist/{logs-QRGJSZ4G.cjs → logs-7E6HBJ55.cjs} +18 -18
- package/dist/{policies-OIQDO6F5.cjs → policies-UMZLJTBD.cjs} +14 -14
- package/dist/{remote-session-57DGC4X3.cjs → remote-session-SKNXYG6K.cjs} +7 -7
- package/dist/{scripts-XULUNPDV.cjs → scripts-XVNAEYCH.cjs} +17 -17
- package/dist/{software-update-SRF55434.cjs → software-update-U43ZFHMC.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 +13 -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,9 +3165,9 @@ 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 ||
|
|
3169
|
-
const showWhatToAsk = (content) => {
|
|
3170
|
-
if (activeDialogId && hasConversation && !isViewingArchived && !isMessagesLoading && !isChatBlocked) {
|
|
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
|
+
const showWhatToAsk = (content, newChat = false) => {
|
|
3170
|
+
if (!newChat && activeDialogId && hasConversation && !isViewingArchived && !isMessagesLoading && !isChatBlocked) {
|
|
3171
3171
|
whatToAsk.ask("current", content);
|
|
3172
3172
|
return;
|
|
3173
3173
|
}
|
|
@@ -3193,15 +3193,15 @@ function EmbeddableChatInner({
|
|
|
3193
3193
|
showWhatToAskRef.current = showWhatToAsk;
|
|
3194
3194
|
});
|
|
3195
3195
|
const whatToAskPendingRef = _react.useRef.call(void 0, false);
|
|
3196
|
-
const requestWhatToAsk = () => {
|
|
3196
|
+
const requestWhatToAsk = (newChat) => {
|
|
3197
3197
|
if (!whatToAskContent) return;
|
|
3198
3198
|
if (typeof whatToAskContent !== "function") {
|
|
3199
|
-
showWhatToAsk(whatToAskContent);
|
|
3199
|
+
showWhatToAsk(whatToAskContent, newChat);
|
|
3200
3200
|
return;
|
|
3201
3201
|
}
|
|
3202
3202
|
if (whatToAskPendingRef.current) return;
|
|
3203
3203
|
whatToAskPendingRef.current = true;
|
|
3204
|
-
whatToAskContent().then((content) => showWhatToAskRef.current(content)).catch((err) => console.error("[EmbeddableChat] whatToAsk failed:", err)).finally(() => {
|
|
3204
|
+
whatToAskContent().then((content) => showWhatToAskRef.current(content, newChat)).catch((err) => console.error("[EmbeddableChat] whatToAsk failed:", err)).finally(() => {
|
|
3205
3205
|
whatToAskPendingRef.current = false;
|
|
3206
3206
|
});
|
|
3207
3207
|
};
|
|
@@ -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,
|
|
@@ -3323,7 +3323,12 @@ function EmbeddableChatInner({
|
|
|
3323
3323
|
onOpenArchive: headerOnOpenArchive && (archiveOpen ? closeArchive : headerOnOpenArchive),
|
|
3324
3324
|
archiveActive: archiveOpen,
|
|
3325
3325
|
// The suggestions a new chat opens on, unless the host has a surface of its own.
|
|
3326
|
-
|
|
3326
|
+
// From the archive list no chat is on screen, even though the one open
|
|
3327
|
+
// before it is still the active dialog: that click opens a new chat.
|
|
3328
|
+
onWhatToAsk: () => {
|
|
3329
|
+
const fromArchive = archiveOpen;
|
|
3330
|
+
leaveArchiveThen(_nullishCoalesce(onWhatToAsk, () => ( (whatToAskContent ? () => requestWhatToAsk(fromArchive) : handleNewChat))))();
|
|
3331
|
+
},
|
|
3327
3332
|
statusOf: dialogStatusOf,
|
|
3328
3333
|
onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
|
|
3329
3334
|
onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
|
|
@@ -3343,7 +3348,7 @@ function EmbeddableChatInner({
|
|
|
3343
3348
|
onRetry: reloadDialogs
|
|
3344
3349
|
};
|
|
3345
3350
|
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,
|
|
3346
|
-
|
|
3351
|
+
_chunkQTYSYEHKcjs.MingoChatHeader,
|
|
3347
3352
|
{
|
|
3348
3353
|
title: headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3349
3354
|
subtitle: headerPersonName,
|
|
@@ -3363,7 +3368,7 @@ function EmbeddableChatInner({
|
|
|
3363
3368
|
const body = (
|
|
3364
3369
|
// The whole panel reads the appearance (the composer's footer too), not
|
|
3365
3370
|
// only the thread `ChatMessageList` provides it to.
|
|
3366
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3371
|
+
/* @__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: [
|
|
3367
3372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3368
3373
|
"div",
|
|
3369
3374
|
{
|
|
@@ -3371,7 +3376,7 @@ function EmbeddableChatInner({
|
|
|
3371
3376
|
"data-surface": isV2 ? "mingo" : void 0,
|
|
3372
3377
|
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" : ""}`,
|
|
3373
3378
|
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,
|
|
3374
|
-
|
|
3379
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3375
3380
|
{
|
|
3376
3381
|
dialogs: archivedDialogs,
|
|
3377
3382
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3401,7 +3406,7 @@ function EmbeddableChatInner({
|
|
|
3401
3406
|
narrow: true,
|
|
3402
3407
|
className: "col-start-1 row-span-3 row-start-1",
|
|
3403
3408
|
innerClassName: "flex min-h-0 flex-col",
|
|
3404
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3409
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.MingoChatRail, { ...mingoRailProps, className: "w-full border-r-0" })
|
|
3405
3410
|
}
|
|
3406
3411
|
),
|
|
3407
3412
|
isV2 ? v2Header : showWideHeader ? (
|
|
@@ -3425,7 +3430,7 @@ function EmbeddableChatInner({
|
|
|
3425
3430
|
// Back is a full-height leading cell, matching the other
|
|
3426
3431
|
// header cells (not a small inline chevron).
|
|
3427
3432
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3428
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3433
|
+
/* @__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 }) }),
|
|
3429
3434
|
/* @__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" }) })
|
|
3430
3435
|
] })
|
|
3431
3436
|
) : (
|
|
@@ -3435,7 +3440,7 @@ function EmbeddableChatInner({
|
|
|
3435
3440
|
// (Figma 116:51217) and the magnifier toggle is hidden.
|
|
3436
3441
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3437
3442
|
railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3438
|
-
|
|
3443
|
+
_chunkQTYSYEHKcjs.ChatHeaderSearchField,
|
|
3439
3444
|
{
|
|
3440
3445
|
initialValue: mingoCaps.searchQuery,
|
|
3441
3446
|
onSearchChange: mingoCaps.onSearchChange,
|
|
@@ -3444,7 +3449,7 @@ function EmbeddableChatInner({
|
|
|
3444
3449
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3445
3450
|
/* @__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" }) }),
|
|
3446
3451
|
mingoCaps.onSearchChange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3447
|
-
|
|
3452
|
+
_chunkQTYSYEHKcjs.ChatHeaderIconButton,
|
|
3448
3453
|
{
|
|
3449
3454
|
onClick: () => setRailSearchOpen((o) => !o),
|
|
3450
3455
|
"aria-label": "Search chats",
|
|
@@ -3453,7 +3458,7 @@ function EmbeddableChatInner({
|
|
|
3453
3458
|
}
|
|
3454
3459
|
)
|
|
3455
3460
|
] }),
|
|
3456
|
-
headerOnOpenArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3461
|
+
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 }) })
|
|
3457
3462
|
] })
|
|
3458
3463
|
) }),
|
|
3459
3464
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1", children: [
|
|
@@ -3490,17 +3495,17 @@ function EmbeddableChatInner({
|
|
|
3490
3495
|
)
|
|
3491
3496
|
) : null
|
|
3492
3497
|
] }),
|
|
3493
|
-
isViewingArchived && headerOnRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3498
|
+
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 }) }),
|
|
3494
3499
|
headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3495
|
-
|
|
3500
|
+
_chunkEFTUFJS2cjs.ActionsMenuDropdown,
|
|
3496
3501
|
{
|
|
3497
3502
|
triggerAriaLabel: "Chat actions",
|
|
3498
3503
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
3499
3504
|
groups: [{ items: splitHeaderMenuItems }],
|
|
3500
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3505
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWHUL32Wcjs.Ellipsis01Icon, { size: 24 }) })
|
|
3501
3506
|
}
|
|
3502
3507
|
),
|
|
3503
|
-
closeControl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3508
|
+
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 }) })
|
|
3504
3509
|
] })
|
|
3505
3510
|
] })
|
|
3506
3511
|
) : (
|
|
@@ -3508,10 +3513,10 @@ function EmbeddableChatInner({
|
|
|
3508
3513
|
// guide, resolved into `narrowHeaderProps` above. (Wide layouts,
|
|
3509
3514
|
// including rail-collapsed, use the wide header above.) Embedded
|
|
3510
3515
|
// previews (hero demo tabs) force the compact bar via `compact`.
|
|
3511
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3516
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
|
|
3512
3517
|
),
|
|
3513
3518
|
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3514
|
-
|
|
3519
|
+
_chunkQTYSYEHKcjs.GuideModeBanner,
|
|
3515
3520
|
{
|
|
3516
3521
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "duration-200 animate-in fade-in-0", isV2 && "col-start-2 row-start-2")
|
|
3517
3522
|
}
|
|
@@ -3521,7 +3526,7 @@ function EmbeddableChatInner({
|
|
|
3521
3526
|
// Archive list inside the rail (header lives in the split
|
|
3522
3527
|
// header's left cell above). Right chat block stays put.
|
|
3523
3528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3524
|
-
|
|
3529
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3525
3530
|
{
|
|
3526
3531
|
embedded: true,
|
|
3527
3532
|
dialogs: archivedDialogs,
|
|
@@ -3535,7 +3540,7 @@ function EmbeddableChatInner({
|
|
|
3535
3540
|
}
|
|
3536
3541
|
)
|
|
3537
3542
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3538
|
-
|
|
3543
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3539
3544
|
{
|
|
3540
3545
|
dialogs,
|
|
3541
3546
|
activeDialogId: _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
@@ -3562,7 +3567,7 @@ function EmbeddableChatInner({
|
|
|
3562
3567
|
// v2: the archive opens in the chat column under the chat's
|
|
3563
3568
|
// header; the list stays, and "Chat Archive" there toggles back.
|
|
3564
3569
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3565
|
-
|
|
3570
|
+
_chunkQTYSYEHKcjs.MingoArchiveList,
|
|
3566
3571
|
{
|
|
3567
3572
|
dialogs: archivedDialogs,
|
|
3568
3573
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3575,7 +3580,7 @@ function EmbeddableChatInner({
|
|
|
3575
3580
|
}
|
|
3576
3581
|
)
|
|
3577
3582
|
) : stackedListView && isV2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3578
|
-
|
|
3583
|
+
_chunkQTYSYEHKcjs.MingoChatRail,
|
|
3579
3584
|
{
|
|
3580
3585
|
...mingoRailProps,
|
|
3581
3586
|
onNewChat: () => setComposeOpen(true),
|
|
@@ -3594,7 +3599,7 @@ function EmbeddableChatInner({
|
|
|
3594
3599
|
// single-column view. No composer here; "Start New Chat" opens
|
|
3595
3600
|
// the compose view.
|
|
3596
3601
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3597
|
-
|
|
3602
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3598
3603
|
{
|
|
3599
3604
|
className: "duration-200 animate-in fade-in-0",
|
|
3600
3605
|
dialogs,
|
|
@@ -3634,14 +3639,14 @@ function EmbeddableChatInner({
|
|
|
3634
3639
|
// skeleton overflows a short panel and grows its OWN
|
|
3635
3640
|
// scrollbar — ugly. `fill` top-anchors + clips overflow so
|
|
3636
3641
|
// it reads as "the whole panel is loading" and never scrolls.
|
|
3637
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3642
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatMessageListSkeleton, { fullWidth: true, fill: previewMode, className: "flex-1" })
|
|
3638
3643
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3639
|
-
|
|
3644
|
+
_chunkQTYSYEHKcjs.ChatMessageList,
|
|
3640
3645
|
{
|
|
3641
3646
|
messages,
|
|
3642
3647
|
appearance,
|
|
3643
3648
|
isTyping: chatLoading,
|
|
3644
|
-
typingMessage: streamingProgress ?
|
|
3649
|
+
typingMessage: streamingProgress ? _chunkQTYSYEHKcjs.chatProgressLabel.call(void 0, streamingProgress) : void 0,
|
|
3645
3650
|
pendingApprovals,
|
|
3646
3651
|
autoScroll: !previewMode,
|
|
3647
3652
|
pinBottom: previewMode,
|
|
@@ -3654,7 +3659,7 @@ function EmbeddableChatInner({
|
|
|
3654
3659
|
renderMention,
|
|
3655
3660
|
renderAfterMessage: renderMessageSources,
|
|
3656
3661
|
onAskSelect: chatLoading || previewMode ? void 0 : handleAskSelect,
|
|
3657
|
-
NavLinkAnchor:
|
|
3662
|
+
NavLinkAnchor: _chunkQTYSYEHKcjs.NavLinkAnchorViaRuntime,
|
|
3658
3663
|
className: previewMode ? "pointer-events-auto flex-1" : "flex-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3659
3664
|
contentClassName: "max-w-none pb-0",
|
|
3660
3665
|
fullWidth: true,
|
|
@@ -3668,7 +3673,7 @@ function EmbeddableChatInner({
|
|
|
3668
3673
|
quick-action chips. Guide mode keeps the slash-command
|
|
3669
3674
|
onboarding list below. */
|
|
3670
3675
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3671
|
-
|
|
3676
|
+
_chunkQTYSYEHKcjs.MingoWelcome,
|
|
3672
3677
|
{
|
|
3673
3678
|
onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
|
|
3674
3679
|
...mingoWelcome,
|
|
@@ -3683,7 +3688,7 @@ function EmbeddableChatInner({
|
|
|
3683
3688
|
+ slash-command onboarding list share one scroll region,
|
|
3684
3689
|
with a pinned quick-action chip row above the composer. */
|
|
3685
3690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3686
|
-
|
|
3691
|
+
_chunkQTYSYEHKcjs.GuideWelcome,
|
|
3687
3692
|
{
|
|
3688
3693
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
3689
3694
|
subtitleLoading: emptyStateLoading,
|
|
@@ -3700,7 +3705,7 @@ function EmbeddableChatInner({
|
|
|
3700
3705
|
agentSlug: activeAgentSlug,
|
|
3701
3706
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
3702
3707
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3703
|
-
|
|
3708
|
+
_chunkQTYSYEHKcjs.MingoOnboardingCardSkeleton,
|
|
3704
3709
|
{
|
|
3705
3710
|
titleWidth: variant.titleWidth,
|
|
3706
3711
|
slashWidth: variant.slashWidth,
|
|
@@ -3718,7 +3723,7 @@ function EmbeddableChatInner({
|
|
|
3718
3723
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
3719
3724
|
}));
|
|
3720
3725
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3721
|
-
|
|
3726
|
+
_chunkLOFDIDSDcjs.MingoOnboardingCard,
|
|
3722
3727
|
{
|
|
3723
3728
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
3724
3729
|
title: label,
|
|
@@ -3738,7 +3743,7 @@ function EmbeddableChatInner({
|
|
|
3738
3743
|
) }),
|
|
3739
3744
|
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 }),
|
|
3740
3745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3741
|
-
|
|
3746
|
+
_chunkQTYSYEHKcjs.ChatAttachmentChipStrip,
|
|
3742
3747
|
{
|
|
3743
3748
|
attachments: stagedAttachments,
|
|
3744
3749
|
onRemove: removeAttachment,
|
|
@@ -3746,7 +3751,7 @@ function EmbeddableChatInner({
|
|
|
3746
3751
|
}
|
|
3747
3752
|
),
|
|
3748
3753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3749
|
-
|
|
3754
|
+
_chunkQTYSYEHKcjs.ChatComposer,
|
|
3750
3755
|
{
|
|
3751
3756
|
archived: isViewingArchived,
|
|
3752
3757
|
lock: composerLock,
|
|
@@ -3797,7 +3802,7 @@ function EmbeddableChatInner({
|
|
|
3797
3802
|
),
|
|
3798
3803
|
galleryModal,
|
|
3799
3804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3800
|
-
|
|
3805
|
+
_chunkQTYSYEHKcjs.ChatDialogModals,
|
|
3801
3806
|
{
|
|
3802
3807
|
renameTarget,
|
|
3803
3808
|
setRenameTarget,
|
|
@@ -3813,13 +3818,13 @@ function EmbeddableChatInner({
|
|
|
3813
3818
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
3814
3819
|
] }) }) })
|
|
3815
3820
|
);
|
|
3816
|
-
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3821
|
+
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQTYSYEHKcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: [
|
|
3817
3822
|
shell === "none" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Title, { children: [
|
|
3818
3823
|
sourceLabel,
|
|
3819
3824
|
" AI Assistant"
|
|
3820
3825
|
] }) }),
|
|
3821
3826
|
body
|
|
3822
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNTGIQP7Ocjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3827
|
+
] }) : /* @__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,
|
|
3823
3828
|
_chunkNTGIQP7Ocjs.DrawerContent,
|
|
3824
3829
|
{
|
|
3825
3830
|
side: "right",
|
|
@@ -3852,7 +3857,7 @@ function EmbeddableChatInner({
|
|
|
3852
3857
|
_chunk2QMBXGMQcjs.Button,
|
|
3853
3858
|
{
|
|
3854
3859
|
onClick: handleOpen,
|
|
3855
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3860
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF64VMOIBcjs.AgentMark, { agent: "mingo", className: "h-5 w-5" }),
|
|
3856
3861
|
tabIndex: isOpen ? -1 : 0,
|
|
3857
3862
|
className: `pointer-events-auto !w-auto shadow-lg ${isOpen ? "!pointer-events-none" : ""}`,
|
|
3858
3863
|
children: "Ask AI"
|