@flamingo-stack/openframe-frontend-core 0.0.755 → 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-HSWNJAIK.cjs → chunk-4YL4Y3BV.cjs} +11 -11
- package/dist/{chunk-HAL6HBTM.cjs → chunk-57JA37HP.cjs} +428 -411
- package/dist/{chunk-32IKIBPY.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-RRCHQTZW.cjs → chunk-BTIYXBA2.cjs} +4 -4
- package/dist/{chunk-BQ5KRCSJ.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-Q2MSW2IW.cjs → chunk-KFUC2XF7.cjs} +7 -7
- package/dist/{chunk-5WHEQ63L.cjs → chunk-KNNJ4WLF.cjs} +4 -4
- package/dist/{chunk-RRE6C3ZU.cjs → chunk-KSU3CXKY.cjs} +3 -3
- package/dist/{chunk-YRULLK7N.cjs → chunk-LOFDIDSD.cjs} +8 -2
- package/dist/{chunk-JV4VVA2V.cjs → chunk-MBQTLZAG.cjs} +11 -11
- package/dist/{chunk-BVEUGFIN.cjs → chunk-MDXZMTCK.cjs} +38 -38
- package/dist/{chunk-FOVNP5HU.cjs → chunk-MR5KMPSE.cjs} +6 -6
- package/dist/{chunk-NS5DO6QK.cjs → chunk-PUK27ZB6.cjs} +22 -22
- package/dist/{chunk-NE3T3ZIG.cjs → chunk-QKFJ6ORK.cjs} +21 -21
- package/dist/{chunk-SDF5UUTE.cjs → chunk-QTYSYEHK.cjs} +74 -74
- package/dist/{chunk-YXX6UMG3.cjs → chunk-TAEEGNFL.cjs} +42 -42
- package/dist/{chunk-SZGUEPJC.cjs → chunk-VOXDBCBV.cjs} +36 -36
- package/dist/{chunk-UNRNLSG4.cjs → chunk-VUSXDMCE.cjs} +2 -2
- package/dist/{chunk-2HWKYPJB.cjs → chunk-W5MEHJRQ.cjs} +6 -6
- package/dist/{cloud-tenants-S7RR2UDJ.cjs → cloud-tenants-NOZGXQZY.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +20 -20
- 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-M4KBTOTC.cjs} +11 -11
- package/dist/{embeddable-chat-OGUGNKLP.cjs → embeddable-chat-KGJVVG2V.cjs} +77 -77
- package/dist/index.cjs +14 -14
- package/dist/{knowledge-OX5PYEPE.cjs → knowledge-VVF6CJEG.cjs} +11 -11
- package/dist/{logs-ZVOBADLB.cjs → logs-7E6HBJ55.cjs} +18 -18
- package/dist/{policies-NSHPEZTR.cjs → policies-UMZLJTBD.cjs} +14 -14
- package/dist/{remote-session-57DGC4X3.cjs → remote-session-SKNXYG6K.cjs} +7 -7
- package/dist/{scripts-OHMKBEXO.cjs → scripts-XVNAEYCH.cjs} +17 -17
- package/dist/{software-update-WMLGMSBQ.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/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,
|
|
@@ -3348,7 +3348,7 @@ function EmbeddableChatInner({
|
|
|
3348
3348
|
onRetry: reloadDialogs
|
|
3349
3349
|
};
|
|
3350
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,
|
|
3351
|
-
|
|
3351
|
+
_chunkQTYSYEHKcjs.MingoChatHeader,
|
|
3352
3352
|
{
|
|
3353
3353
|
title: headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3354
3354
|
subtitle: headerPersonName,
|
|
@@ -3368,7 +3368,7 @@ function EmbeddableChatInner({
|
|
|
3368
3368
|
const body = (
|
|
3369
3369
|
// The whole panel reads the appearance (the composer's footer too), not
|
|
3370
3370
|
// only the thread `ChatMessageList` provides it to.
|
|
3371
|
-
/* @__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: [
|
|
3372
3372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3373
3373
|
"div",
|
|
3374
3374
|
{
|
|
@@ -3376,7 +3376,7 @@ function EmbeddableChatInner({
|
|
|
3376
3376
|
"data-surface": isV2 ? "mingo" : void 0,
|
|
3377
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" : ""}`,
|
|
3378
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,
|
|
3379
|
-
|
|
3379
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3380
3380
|
{
|
|
3381
3381
|
dialogs: archivedDialogs,
|
|
3382
3382
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3406,7 +3406,7 @@ function EmbeddableChatInner({
|
|
|
3406
3406
|
narrow: true,
|
|
3407
3407
|
className: "col-start-1 row-span-3 row-start-1",
|
|
3408
3408
|
innerClassName: "flex min-h-0 flex-col",
|
|
3409
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3409
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.MingoChatRail, { ...mingoRailProps, className: "w-full border-r-0" })
|
|
3410
3410
|
}
|
|
3411
3411
|
),
|
|
3412
3412
|
isV2 ? v2Header : showWideHeader ? (
|
|
@@ -3430,7 +3430,7 @@ function EmbeddableChatInner({
|
|
|
3430
3430
|
// Back is a full-height leading cell, matching the other
|
|
3431
3431
|
// header cells (not a small inline chevron).
|
|
3432
3432
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3433
|
-
/* @__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 }) }),
|
|
3434
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" }) })
|
|
3435
3435
|
] })
|
|
3436
3436
|
) : (
|
|
@@ -3440,7 +3440,7 @@ function EmbeddableChatInner({
|
|
|
3440
3440
|
// (Figma 116:51217) and the magnifier toggle is hidden.
|
|
3441
3441
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3442
3442
|
railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3443
|
-
|
|
3443
|
+
_chunkQTYSYEHKcjs.ChatHeaderSearchField,
|
|
3444
3444
|
{
|
|
3445
3445
|
initialValue: mingoCaps.searchQuery,
|
|
3446
3446
|
onSearchChange: mingoCaps.onSearchChange,
|
|
@@ -3449,7 +3449,7 @@ function EmbeddableChatInner({
|
|
|
3449
3449
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3450
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" }) }),
|
|
3451
3451
|
mingoCaps.onSearchChange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3452
|
-
|
|
3452
|
+
_chunkQTYSYEHKcjs.ChatHeaderIconButton,
|
|
3453
3453
|
{
|
|
3454
3454
|
onClick: () => setRailSearchOpen((o) => !o),
|
|
3455
3455
|
"aria-label": "Search chats",
|
|
@@ -3458,7 +3458,7 @@ function EmbeddableChatInner({
|
|
|
3458
3458
|
}
|
|
3459
3459
|
)
|
|
3460
3460
|
] }),
|
|
3461
|
-
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 }) })
|
|
3462
3462
|
] })
|
|
3463
3463
|
) }),
|
|
3464
3464
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1", children: [
|
|
@@ -3495,17 +3495,17 @@ function EmbeddableChatInner({
|
|
|
3495
3495
|
)
|
|
3496
3496
|
) : null
|
|
3497
3497
|
] }),
|
|
3498
|
-
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 }) }),
|
|
3499
3499
|
headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3500
|
-
|
|
3500
|
+
_chunkEFTUFJS2cjs.ActionsMenuDropdown,
|
|
3501
3501
|
{
|
|
3502
3502
|
triggerAriaLabel: "Chat actions",
|
|
3503
3503
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
3504
3504
|
groups: [{ items: splitHeaderMenuItems }],
|
|
3505
|
-
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 }) })
|
|
3506
3506
|
}
|
|
3507
3507
|
),
|
|
3508
|
-
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 }) })
|
|
3509
3509
|
] })
|
|
3510
3510
|
] })
|
|
3511
3511
|
) : (
|
|
@@ -3513,10 +3513,10 @@ function EmbeddableChatInner({
|
|
|
3513
3513
|
// guide, resolved into `narrowHeaderProps` above. (Wide layouts,
|
|
3514
3514
|
// including rail-collapsed, use the wide header above.) Embedded
|
|
3515
3515
|
// previews (hero demo tabs) force the compact bar via `compact`.
|
|
3516
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3516
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
|
|
3517
3517
|
),
|
|
3518
3518
|
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3519
|
-
|
|
3519
|
+
_chunkQTYSYEHKcjs.GuideModeBanner,
|
|
3520
3520
|
{
|
|
3521
3521
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "duration-200 animate-in fade-in-0", isV2 && "col-start-2 row-start-2")
|
|
3522
3522
|
}
|
|
@@ -3526,7 +3526,7 @@ function EmbeddableChatInner({
|
|
|
3526
3526
|
// Archive list inside the rail (header lives in the split
|
|
3527
3527
|
// header's left cell above). Right chat block stays put.
|
|
3528
3528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3529
|
-
|
|
3529
|
+
_chunkQTYSYEHKcjs.ChatArchivePage,
|
|
3530
3530
|
{
|
|
3531
3531
|
embedded: true,
|
|
3532
3532
|
dialogs: archivedDialogs,
|
|
@@ -3540,7 +3540,7 @@ function EmbeddableChatInner({
|
|
|
3540
3540
|
}
|
|
3541
3541
|
)
|
|
3542
3542
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3543
|
-
|
|
3543
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3544
3544
|
{
|
|
3545
3545
|
dialogs,
|
|
3546
3546
|
activeDialogId: _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
@@ -3567,7 +3567,7 @@ function EmbeddableChatInner({
|
|
|
3567
3567
|
// v2: the archive opens in the chat column under the chat's
|
|
3568
3568
|
// header; the list stays, and "Chat Archive" there toggles back.
|
|
3569
3569
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3570
|
-
|
|
3570
|
+
_chunkQTYSYEHKcjs.MingoArchiveList,
|
|
3571
3571
|
{
|
|
3572
3572
|
dialogs: archivedDialogs,
|
|
3573
3573
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3580,7 +3580,7 @@ function EmbeddableChatInner({
|
|
|
3580
3580
|
}
|
|
3581
3581
|
)
|
|
3582
3582
|
) : stackedListView && isV2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3583
|
-
|
|
3583
|
+
_chunkQTYSYEHKcjs.MingoChatRail,
|
|
3584
3584
|
{
|
|
3585
3585
|
...mingoRailProps,
|
|
3586
3586
|
onNewChat: () => setComposeOpen(true),
|
|
@@ -3599,7 +3599,7 @@ function EmbeddableChatInner({
|
|
|
3599
3599
|
// single-column view. No composer here; "Start New Chat" opens
|
|
3600
3600
|
// the compose view.
|
|
3601
3601
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3602
|
-
|
|
3602
|
+
_chunkQTYSYEHKcjs.MingoHistoryRail,
|
|
3603
3603
|
{
|
|
3604
3604
|
className: "duration-200 animate-in fade-in-0",
|
|
3605
3605
|
dialogs,
|
|
@@ -3639,14 +3639,14 @@ function EmbeddableChatInner({
|
|
|
3639
3639
|
// skeleton overflows a short panel and grows its OWN
|
|
3640
3640
|
// scrollbar — ugly. `fill` top-anchors + clips overflow so
|
|
3641
3641
|
// it reads as "the whole panel is loading" and never scrolls.
|
|
3642
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3642
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQTYSYEHKcjs.ChatMessageListSkeleton, { fullWidth: true, fill: previewMode, className: "flex-1" })
|
|
3643
3643
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3644
|
-
|
|
3644
|
+
_chunkQTYSYEHKcjs.ChatMessageList,
|
|
3645
3645
|
{
|
|
3646
3646
|
messages,
|
|
3647
3647
|
appearance,
|
|
3648
3648
|
isTyping: chatLoading,
|
|
3649
|
-
typingMessage: streamingProgress ?
|
|
3649
|
+
typingMessage: streamingProgress ? _chunkQTYSYEHKcjs.chatProgressLabel.call(void 0, streamingProgress) : void 0,
|
|
3650
3650
|
pendingApprovals,
|
|
3651
3651
|
autoScroll: !previewMode,
|
|
3652
3652
|
pinBottom: previewMode,
|
|
@@ -3659,7 +3659,7 @@ function EmbeddableChatInner({
|
|
|
3659
3659
|
renderMention,
|
|
3660
3660
|
renderAfterMessage: renderMessageSources,
|
|
3661
3661
|
onAskSelect: chatLoading || previewMode ? void 0 : handleAskSelect,
|
|
3662
|
-
NavLinkAnchor:
|
|
3662
|
+
NavLinkAnchor: _chunkQTYSYEHKcjs.NavLinkAnchorViaRuntime,
|
|
3663
3663
|
className: previewMode ? "pointer-events-auto flex-1" : "flex-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3664
3664
|
contentClassName: "max-w-none pb-0",
|
|
3665
3665
|
fullWidth: true,
|
|
@@ -3673,7 +3673,7 @@ function EmbeddableChatInner({
|
|
|
3673
3673
|
quick-action chips. Guide mode keeps the slash-command
|
|
3674
3674
|
onboarding list below. */
|
|
3675
3675
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3676
|
-
|
|
3676
|
+
_chunkQTYSYEHKcjs.MingoWelcome,
|
|
3677
3677
|
{
|
|
3678
3678
|
onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
|
|
3679
3679
|
...mingoWelcome,
|
|
@@ -3688,7 +3688,7 @@ function EmbeddableChatInner({
|
|
|
3688
3688
|
+ slash-command onboarding list share one scroll region,
|
|
3689
3689
|
with a pinned quick-action chip row above the composer. */
|
|
3690
3690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3691
|
-
|
|
3691
|
+
_chunkQTYSYEHKcjs.GuideWelcome,
|
|
3692
3692
|
{
|
|
3693
3693
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
3694
3694
|
subtitleLoading: emptyStateLoading,
|
|
@@ -3705,7 +3705,7 @@ function EmbeddableChatInner({
|
|
|
3705
3705
|
agentSlug: activeAgentSlug,
|
|
3706
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: [
|
|
3707
3707
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3708
|
-
|
|
3708
|
+
_chunkQTYSYEHKcjs.MingoOnboardingCardSkeleton,
|
|
3709
3709
|
{
|
|
3710
3710
|
titleWidth: variant.titleWidth,
|
|
3711
3711
|
slashWidth: variant.slashWidth,
|
|
@@ -3723,7 +3723,7 @@ function EmbeddableChatInner({
|
|
|
3723
3723
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
3724
3724
|
}));
|
|
3725
3725
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3726
|
-
|
|
3726
|
+
_chunkLOFDIDSDcjs.MingoOnboardingCard,
|
|
3727
3727
|
{
|
|
3728
3728
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
3729
3729
|
title: label,
|
|
@@ -3743,7 +3743,7 @@ function EmbeddableChatInner({
|
|
|
3743
3743
|
) }),
|
|
3744
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 }),
|
|
3745
3745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3746
|
-
|
|
3746
|
+
_chunkQTYSYEHKcjs.ChatAttachmentChipStrip,
|
|
3747
3747
|
{
|
|
3748
3748
|
attachments: stagedAttachments,
|
|
3749
3749
|
onRemove: removeAttachment,
|
|
@@ -3751,7 +3751,7 @@ function EmbeddableChatInner({
|
|
|
3751
3751
|
}
|
|
3752
3752
|
),
|
|
3753
3753
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3754
|
-
|
|
3754
|
+
_chunkQTYSYEHKcjs.ChatComposer,
|
|
3755
3755
|
{
|
|
3756
3756
|
archived: isViewingArchived,
|
|
3757
3757
|
lock: composerLock,
|
|
@@ -3802,7 +3802,7 @@ function EmbeddableChatInner({
|
|
|
3802
3802
|
),
|
|
3803
3803
|
galleryModal,
|
|
3804
3804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3805
|
-
|
|
3805
|
+
_chunkQTYSYEHKcjs.ChatDialogModals,
|
|
3806
3806
|
{
|
|
3807
3807
|
renameTarget,
|
|
3808
3808
|
setRenameTarget,
|
|
@@ -3818,13 +3818,13 @@ function EmbeddableChatInner({
|
|
|
3818
3818
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
3819
3819
|
] }) }) })
|
|
3820
3820
|
);
|
|
3821
|
-
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: [
|
|
3822
3822
|
shell === "none" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Title, { children: [
|
|
3823
3823
|
sourceLabel,
|
|
3824
3824
|
" AI Assistant"
|
|
3825
3825
|
] }) }),
|
|
3826
3826
|
body
|
|
3827
|
-
] }) : /* @__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,
|
|
3828
3828
|
_chunkNTGIQP7Ocjs.DrawerContent,
|
|
3829
3829
|
{
|
|
3830
3830
|
side: "right",
|
|
@@ -3857,7 +3857,7 @@ function EmbeddableChatInner({
|
|
|
3857
3857
|
_chunk2QMBXGMQcjs.Button,
|
|
3858
3858
|
{
|
|
3859
3859
|
onClick: handleOpen,
|
|
3860
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3860
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkF64VMOIBcjs.AgentMark, { agent: "mingo", className: "h-5 w-5" }),
|
|
3861
3861
|
tabIndex: isOpen ? -1 : 0,
|
|
3862
3862
|
className: `pointer-events-auto !w-auto shadow-lg ${isOpen ? "!pointer-events-none" : ""}`,
|
|
3863
3863
|
children: "Ask AI"
|