@flamingo-stack/openframe-frontend-core 0.0.710 → 0.0.711
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-36BCTE7D.js → chunk-2JTGK64G.js} +4 -4
- package/dist/{chunk-YBUT4AMG.cjs → chunk-3UNL26CD.cjs} +2 -2
- package/dist/{chunk-4L6XCMOU.js → chunk-5HB7FLCV.js} +1 -1
- package/dist/{chunk-6IW7TWPV.js → chunk-62KNLDXK.js} +1 -1
- package/dist/{chunk-AOWDNSTM.cjs → chunk-6AMIRXKM.cjs} +40 -40
- package/dist/{chunk-LNW45N2C.js → chunk-6GLQLTJI.js} +5 -5
- package/dist/{chunk-QAOFMK2A.cjs → chunk-6K7QZDA6.cjs} +3 -3
- package/dist/{chunk-SEXWHIMS.cjs → chunk-7AM6C6XH.cjs} +42 -37
- package/dist/{chunk-CNWOMQQJ.js → chunk-AGDVEUVL.js} +1 -1
- package/dist/{chunk-3AHTOSXJ.cjs → chunk-C4HRRB3V.cjs} +9 -9
- package/dist/{chunk-NSGXARGJ.cjs → chunk-CDM7OSFB.cjs} +70 -70
- package/dist/{chunk-4UM2ETLM.js → chunk-EQWD4IJE.js} +2 -2
- package/dist/{chunk-6I4ZAFO2.cjs → chunk-EX6GGCAC.cjs} +9 -9
- package/dist/{chunk-L6Y6OOKG.cjs → chunk-FEMAJES4.cjs} +20 -20
- package/dist/{chunk-P42V6N34.cjs → chunk-FYOKS5RI.cjs} +313 -313
- package/dist/{chunk-B73373AG.cjs → chunk-G47AP6LX.cjs} +20 -20
- package/dist/{chunk-I3ST4PLM.js → chunk-IFWLJ66M.js} +1 -1
- package/dist/{chunk-F5FF4DME.js → chunk-K4PTDK34.js} +3 -3
- package/dist/{chunk-ZCLBYT2V.cjs → chunk-K6Y5NX6L.cjs} +24 -24
- package/dist/{chunk-6YKAT7NV.js → chunk-NF7GNGYG.js} +2 -2
- package/dist/{chunk-2G7UYK35.cjs → chunk-P6G3JZNC.cjs} +32 -32
- package/dist/{chunk-JRU2CXLB.cjs → chunk-PRX7HVLE.cjs} +2 -2
- package/dist/{chunk-CZSZSDD4.js → chunk-Q6B35Y7O.js} +4 -4
- package/dist/{chunk-2KXTOP6G.cjs → chunk-QA6TROME.cjs} +14 -14
- package/dist/{chunk-LFFB6EMB.js → chunk-QGZPZ3RL.js} +2 -2
- package/dist/{chunk-PO33GZVY.js → chunk-SMAAV3HL.js} +8 -3
- package/dist/{chunk-DA5UDTLG.js → chunk-TKZXHVBG.js} +2 -2
- package/dist/{chunk-SS5MBHDP.js → chunk-VMMHJFHG.js} +2 -2
- package/dist/{chunk-MR3A4MZV.js → chunk-VWFZRMQR.js} +1 -1
- package/dist/{chunk-TDYIREDJ.js → chunk-WJUIXU6Y.js} +4 -4
- package/dist/{chunk-2RNB5DTN.cjs → chunk-XWEBHS7O.cjs} +7 -7
- package/dist/{chunk-OJLR5MEO.cjs → chunk-YD4LJZV4.cjs} +4 -4
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +4 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/chat/types/component.types.d.ts +4 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/unified-chat-state.types.d.ts +12 -0
- package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +70 -70
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +36 -36
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +25 -25
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +7 -7
- package/dist/index.js +6 -6
- package/package.json +1 -1
- package/src/components/chat/embeddable-chat.tsx +2 -0
- package/src/components/chat/hooks/use-chat-dialog-manager.ts +22 -4
- package/src/components/chat/hooks/use-unified-chat.ts +1 -0
- package/src/components/chat/types/component.types.ts +4 -0
- package/src/components/chat/types/unified-chat-state.types.ts +13 -0
|
@@ -22957,6 +22957,7 @@ function useUnifiedChat(options) {
|
|
|
22957
22957
|
// Dialog management (forwarded from active adapter)
|
|
22958
22958
|
dialogs: activeState.dialogs,
|
|
22959
22959
|
activeDialogId: activeState.activeDialogId,
|
|
22960
|
+
activeDialog: activeState.activeDialog,
|
|
22960
22961
|
selectDialog,
|
|
22961
22962
|
startNewDialog,
|
|
22962
22963
|
deleteDialog,
|
|
@@ -23961,6 +23962,7 @@ function HoverDropdown({
|
|
|
23961
23962
|
function useChatDialogManager({
|
|
23962
23963
|
dialogs,
|
|
23963
23964
|
activeDialogId,
|
|
23965
|
+
activeDialog: hostActiveDialog,
|
|
23964
23966
|
selectDialog,
|
|
23965
23967
|
clearMessages,
|
|
23966
23968
|
renameDialog,
|
|
@@ -24070,7 +24072,8 @@ function useChatDialogManager({
|
|
|
24070
24072
|
}
|
|
24071
24073
|
setRestoreTarget(null);
|
|
24072
24074
|
}, [restoreTarget, unarchiveDialog]);
|
|
24073
|
-
const
|
|
24075
|
+
const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
|
|
24076
|
+
const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _753 => _753.archived]) === true;
|
|
24074
24077
|
const handleBack = _react.useCallback.call(void 0, () => {
|
|
24075
24078
|
const wasArchived = isViewingArchived;
|
|
24076
24079
|
setViewingArchivedId(null);
|
|
@@ -24087,8 +24090,8 @@ function useChatDialogManager({
|
|
|
24087
24090
|
setArchiveOpen(false);
|
|
24088
24091
|
}, [selectDialog, clearMessages]);
|
|
24089
24092
|
const activeDialog = _react.useMemo.call(void 0,
|
|
24090
|
-
() => _nullishCoalesce(dialogs.find((d) => d.id === activeDialogId), () => ( archivedDialogs.find((d) => d.id === activeDialogId))),
|
|
24091
|
-
[dialogs, archivedDialogs, activeDialogId]
|
|
24093
|
+
() => _nullishCoalesce(_nullishCoalesce(dialogs.find((d) => d.id === activeDialogId), () => ( archivedDialogs.find((d) => d.id === activeDialogId))), () => ( hostDialog)),
|
|
24094
|
+
[dialogs, archivedDialogs, activeDialogId, hostDialog]
|
|
24092
24095
|
);
|
|
24093
24096
|
return {
|
|
24094
24097
|
// capability passthroughs (gate the archive / restore affordances)
|
|
@@ -24626,7 +24629,7 @@ function EmbeddableChatInner({
|
|
|
24626
24629
|
}),
|
|
24627
24630
|
[commandsUrl]
|
|
24628
24631
|
);
|
|
24629
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24632
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _754 => _754.name, 'optionalAccess', _755 => _755.trim, 'call', _756 => _756()]) || [_optionalChain([identityUser, 'optionalAccess', _757 => _757.firstName]), _optionalChain([identityUser, 'optionalAccess', _758 => _758.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _759 => _759.trim, 'call', _760 => _760()]) || void 0;
|
|
24630
24633
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24631
24634
|
if (modes) return modes;
|
|
24632
24635
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24641,7 +24644,7 @@ function EmbeddableChatInner({
|
|
|
24641
24644
|
if (controlledActiveMode === void 0) {
|
|
24642
24645
|
setUncontrolledActiveMode(next);
|
|
24643
24646
|
}
|
|
24644
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24647
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _761 => _761(next)]);
|
|
24645
24648
|
},
|
|
24646
24649
|
[controlledActiveMode, onActiveModeChange]
|
|
24647
24650
|
);
|
|
@@ -24668,7 +24671,7 @@ function EmbeddableChatInner({
|
|
|
24668
24671
|
);
|
|
24669
24672
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24670
24673
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24671
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24674
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _762 => _762.title]) === "string" ? guideWelcome.title : null)));
|
|
24672
24675
|
const {
|
|
24673
24676
|
messages: rawMessages,
|
|
24674
24677
|
isLoading: chatLoading,
|
|
@@ -24688,6 +24691,7 @@ function EmbeddableChatInner({
|
|
|
24688
24691
|
// ─── Dialog management (Mingo-mode inline history) ───
|
|
24689
24692
|
dialogs,
|
|
24690
24693
|
activeDialogId,
|
|
24694
|
+
activeDialog: hostActiveDialog,
|
|
24691
24695
|
selectDialog,
|
|
24692
24696
|
renameDialog,
|
|
24693
24697
|
archiveDialog,
|
|
@@ -24724,8 +24728,8 @@ function EmbeddableChatInner({
|
|
|
24724
24728
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24725
24729
|
() => ({
|
|
24726
24730
|
...dialogCapabilities,
|
|
24727
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24728
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24731
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _763 => _763.canRename]), () => ( false)),
|
|
24732
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _764 => _764.canArchive]), () => ( false))
|
|
24729
24733
|
}),
|
|
24730
24734
|
[dialogCapabilities]
|
|
24731
24735
|
);
|
|
@@ -24740,7 +24744,7 @@ function EmbeddableChatInner({
|
|
|
24740
24744
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
24741
24745
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
24742
24746
|
});
|
|
24743
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
24747
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _765 => _765()]);
|
|
24744
24748
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
24745
24749
|
const {
|
|
24746
24750
|
attachments: stagedAttachments,
|
|
@@ -24751,7 +24755,7 @@ function EmbeddableChatInner({
|
|
|
24751
24755
|
clear: clearAttachments
|
|
24752
24756
|
} = useChatAttachments();
|
|
24753
24757
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
24754
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24758
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _766 => _766.maxItems]), () => ( 10));
|
|
24755
24759
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
24756
24760
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
24757
24761
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -24780,10 +24784,10 @@ function EmbeddableChatInner({
|
|
|
24780
24784
|
}, [composerKey, clearAttachments]);
|
|
24781
24785
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
24782
24786
|
const m = /* @__PURE__ */ new Map();
|
|
24783
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24787
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _767 => _767.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
24784
24788
|
return m;
|
|
24785
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
24786
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
24789
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _768 => _768.entityTypes])]);
|
|
24790
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _769 => _769.entityTypes]);
|
|
24787
24791
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
24788
24792
|
const byType = /* @__PURE__ */ new Map();
|
|
24789
24793
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -24795,7 +24799,7 @@ function EmbeddableChatInner({
|
|
|
24795
24799
|
if (mentionActiveRef.current) {
|
|
24796
24800
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
24797
24801
|
if (contextItems.length >= contextMaxItems) return;
|
|
24798
|
-
_optionalChain([chatInputRef, 'access',
|
|
24802
|
+
_optionalChain([chatInputRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.commitMention, 'call', _772 => _772(mentionTokenOf(key, mentionMarkerByType), {
|
|
24799
24803
|
label: item.label,
|
|
24800
24804
|
icon: resolveContextIcon(item)
|
|
24801
24805
|
})]);
|
|
@@ -24818,9 +24822,9 @@ function EmbeddableChatInner({
|
|
|
24818
24822
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
24819
24823
|
if (mentionKeysRef.current.has(key)) {
|
|
24820
24824
|
mentionKeysRef.current.delete(key);
|
|
24821
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
24825
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _773 => _773.current, 'optionalAccess', _774 => _774.getValue, 'call', _775 => _775()]), () => ( ""));
|
|
24822
24826
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
24823
|
-
_optionalChain([chatInputRef, 'access',
|
|
24827
|
+
_optionalChain([chatInputRef, 'access', _776 => _776.current, 'optionalAccess', _777 => _777.setValue, 'call', _778 => _778(next)]);
|
|
24824
24828
|
}
|
|
24825
24829
|
},
|
|
24826
24830
|
[mentionMarkerByType]
|
|
@@ -24842,7 +24846,7 @@ function EmbeddableChatInner({
|
|
|
24842
24846
|
}, []);
|
|
24843
24847
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
24844
24848
|
if (mentionActiveRef.current) {
|
|
24845
|
-
_optionalChain([chatInputRef, 'access',
|
|
24849
|
+
_optionalChain([chatInputRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.removeMentionTrigger, 'call', _781 => _781()]);
|
|
24846
24850
|
}
|
|
24847
24851
|
setContextPickerOpen(false);
|
|
24848
24852
|
setMentionQuery(null);
|
|
@@ -24879,8 +24883,8 @@ function EmbeddableChatInner({
|
|
|
24879
24883
|
[effectiveAssistantIcon]
|
|
24880
24884
|
);
|
|
24881
24885
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
24882
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
24883
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
24886
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _782 => _782.firstName]), _optionalChain([identityUser, 'optionalAccess', _783 => _783.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _784 => _784.name, 'optionalAccess', _785 => _785.trim, 'call', _786 => _786()]) || void 0 : void 0;
|
|
24887
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _787 => _787.avatarUrl, 'optionalAccess', _788 => _788.trim, 'call', _789 => _789()]) || void 0 : void 0;
|
|
24884
24888
|
const messages = _react.useMemo.call(void 0, () => {
|
|
24885
24889
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
24886
24890
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -24970,6 +24974,7 @@ function EmbeddableChatInner({
|
|
|
24970
24974
|
} = useChatDialogManager({
|
|
24971
24975
|
dialogs,
|
|
24972
24976
|
activeDialogId,
|
|
24977
|
+
activeDialog: hostActiveDialog,
|
|
24973
24978
|
selectDialog,
|
|
24974
24979
|
clearMessages,
|
|
24975
24980
|
renameDialog,
|
|
@@ -25056,7 +25061,7 @@ function EmbeddableChatInner({
|
|
|
25056
25061
|
_react.useEffect.call(void 0, () => {
|
|
25057
25062
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
25058
25063
|
const ro = new ResizeObserver((entries) => {
|
|
25059
|
-
const w = _optionalChain([entries, 'access',
|
|
25064
|
+
const w = _optionalChain([entries, 'access', _790 => _790[0], 'optionalAccess', _791 => _791.contentRect, 'optionalAccess', _792 => _792.width]);
|
|
25060
25065
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
25061
25066
|
});
|
|
25062
25067
|
ro.observe(panelBoundary);
|
|
@@ -25102,18 +25107,18 @@ function EmbeddableChatInner({
|
|
|
25102
25107
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25103
25108
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25104
25109
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25105
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25110
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _793 => _793.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25106
25111
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25107
25112
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25108
25113
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25109
25114
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25110
25115
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25111
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25112
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25116
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _794 => _794.onCopyLink, 'optionalCall', _795 => _795(activeDialog)]) : void 0;
|
|
25117
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _796 => _796.compactDialog, 'optionalCall', _797 => _797(activeDialog)]) : void 0;
|
|
25113
25118
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25114
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25115
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25116
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25119
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _798 => _798.owner]) : void 0;
|
|
25120
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _799 => _799.name, 'optionalAccess', _800 => _800.trim, 'call', _801 => _801()]) || headerUserName;
|
|
25121
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _802 => _802.avatarUrl, 'optionalAccess', _803 => _803.trim, 'call', _804 => _804()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _805 => _805.avatarUrl, 'optionalAccess', _806 => _806.trim, 'call', _807 => _807()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _808 => _808.trim, 'call', _809 => _809()]) || void 0;
|
|
25117
25122
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25118
25123
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25119
25124
|
resetToNewChat();
|
|
@@ -25492,7 +25497,7 @@ function EmbeddableChatInner({
|
|
|
25492
25497
|
onNewChat: () => setComposeOpen(true),
|
|
25493
25498
|
onExpand: onExpand && (() => {
|
|
25494
25499
|
const last = lastDialogIdRef.current;
|
|
25495
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25500
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _810 => _810[0], 'optionalAccess', _811 => _811.id]);
|
|
25496
25501
|
if (archiveOpen) closeArchive();
|
|
25497
25502
|
if (target) handleSelectDialog(target);
|
|
25498
25503
|
else handleNewChat();
|
|
@@ -25599,9 +25604,9 @@ function EmbeddableChatInner({
|
|
|
25599
25604
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25600
25605
|
subtitleLoading: emptyStateLoading,
|
|
25601
25606
|
...guideWelcome,
|
|
25602
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25603
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25604
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25607
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _812 => _812.title]))),
|
|
25608
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _813 => _813.icon]))),
|
|
25609
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _814 => _814.quickActions]), () => ( guideSuggestedActions)),
|
|
25605
25610
|
onQuickAction: (action) => {
|
|
25606
25611
|
setQuickActionPreview(null);
|
|
25607
25612
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25676,8 +25681,8 @@ function EmbeddableChatInner({
|
|
|
25676
25681
|
selectedContextItems: contextItems,
|
|
25677
25682
|
onToggleContextItem: toggleContextItem,
|
|
25678
25683
|
onRemoveContextItem: removeContextItem,
|
|
25679
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25680
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
25684
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _815 => _815.items]),
|
|
25685
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _816 => _816.onRemove]),
|
|
25681
25686
|
contextPickerOpen,
|
|
25682
25687
|
onOpenContextPicker: openContextPicker,
|
|
25683
25688
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -25890,7 +25895,7 @@ var GROUPS = [
|
|
|
25890
25895
|
}
|
|
25891
25896
|
];
|
|
25892
25897
|
function maskKey(key) {
|
|
25893
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
25898
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _817 => _817.exec, 'call', _818 => _818(key), 'optionalAccess', _819 => _819[0]]), () => ( ""));
|
|
25894
25899
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
25895
25900
|
}
|
|
25896
25901
|
function HeaderName({ children }) {
|
|
@@ -25927,8 +25932,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25927
25932
|
const errors = _react.useMemo.call(void 0, () => {
|
|
25928
25933
|
const out = {};
|
|
25929
25934
|
for (const { field } of _chunkLM7TXMLUcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
25930
|
-
const value = _optionalChain([optional, 'access',
|
|
25931
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
25935
|
+
const value = _optionalChain([optional, 'access', _820 => _820[field], 'optionalAccess', _821 => _821.trim, 'call', _822 => _822()]);
|
|
25936
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _823 => _823[field], 'access', _824 => _824.validate, 'optionalCall', _825 => _825(value)]) : null;
|
|
25932
25937
|
if (message) out[field] = message;
|
|
25933
25938
|
}
|
|
25934
25939
|
return out;
|
|
@@ -25940,12 +25945,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25940
25945
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
25941
25946
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
25942
25947
|
..._chunkLM7TXMLUcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
25943
|
-
const value = _optionalChain([optional, 'access',
|
|
25948
|
+
const value = _optionalChain([optional, 'access', _826 => _826[field], 'optionalAccess', _827 => _827.trim, 'call', _828 => _828()]);
|
|
25944
25949
|
return value ? [[header, value]] : [];
|
|
25945
25950
|
})
|
|
25946
25951
|
];
|
|
25947
25952
|
const save = () => {
|
|
25948
|
-
const key = secret.trim() || _optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
25953
|
+
const key = secret.trim() || _optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _829 => _829.secret]);
|
|
25949
25954
|
const actAs = email.trim().toLowerCase();
|
|
25950
25955
|
if (!key || !actAs || hasErrors) {
|
|
25951
25956
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -10,7 +10,7 @@ var _chunkPLYEKV3Ncjs = require('./chunk-PLYEKV3N.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -63,7 +63,7 @@ function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
|
|
|
63
63
|
var _react = require('react');
|
|
64
64
|
|
|
65
65
|
function DevSectionView({ sectionKey, hero, preControls, children, showHeading = true }) {
|
|
66
|
-
const section =
|
|
66
|
+
const section = _chunkFYOKS5RIcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
|
|
67
67
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
68
68
|
const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
|
|
69
69
|
const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
|
|
@@ -114,7 +114,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
|
|
|
114
114
|
preControls,
|
|
115
115
|
(search || filter) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
116
116
|
search && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
117
|
-
|
|
117
|
+
_chunkFYOKS5RIcjs.SearchInput,
|
|
118
118
|
{
|
|
119
119
|
showDropdown: false,
|
|
120
120
|
placeholder: search.placeholder,
|
|
@@ -124,7 +124,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
|
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
126
|
filter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
127
|
-
|
|
127
|
+
_chunkFYOKS5RIcjs.StatusFilterComponent,
|
|
128
128
|
{
|
|
129
129
|
selectedStatus: currentFilterValue,
|
|
130
130
|
onStatusChange: handleFilterChange,
|
|
@@ -148,7 +148,7 @@ function DevSectionPage({
|
|
|
148
148
|
shell = true
|
|
149
149
|
}) {
|
|
150
150
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
151
|
-
const section =
|
|
151
|
+
const section = _chunkFYOKS5RIcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
|
|
152
152
|
const backCfg = backButton === false ? void 0 : {
|
|
153
153
|
label: _nullishCoalesce((backButton ? backButton.label : void 0), () => ( "Back to home")),
|
|
154
154
|
onClick: () => router.push(_nullishCoalesce((backButton ? backButton.href : void 0), () => ( "/")))
|
|
@@ -161,7 +161,7 @@ function DevSectionPage({
|
|
|
161
161
|
// duplicate title. (The hero icon is intentionally dropped: TitleBlock is
|
|
162
162
|
// frozen and renders title-only.)
|
|
163
163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
|
-
|
|
164
|
+
_chunkFYOKS5RIcjs.PageLayout,
|
|
165
165
|
{
|
|
166
166
|
title: _nullishCoalesce(title, () => ( section.hero.title)),
|
|
167
167
|
subtitle: _nullishCoalesce(subtitle, () => ( section.hero.description)),
|
|
@@ -172,7 +172,7 @@ function DevSectionPage({
|
|
|
172
172
|
}
|
|
173
173
|
)
|
|
174
174
|
);
|
|
175
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
175
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
// src/components/shared/dev-section/dev-card-row.tsx
|
|
@@ -230,8 +230,8 @@ function getRelativeTime(timestamp) {
|
|
|
230
230
|
}
|
|
231
231
|
function DeliveryRow({ item, href, target, caption, id, className }) {
|
|
232
232
|
const taskType = item.taskType;
|
|
233
|
-
const typeBadgeLabel =
|
|
234
|
-
const typeBadgeTextColor =
|
|
233
|
+
const typeBadgeLabel = _chunkFYOKS5RIcjs.TASK_TYPE_LABELS[taskType] || "TASK";
|
|
234
|
+
const typeBadgeTextColor = _chunkFYOKS5RIcjs.TASK_TYPE_TEXT_COLORS[taskType] || "";
|
|
235
235
|
const statusBadgeScheme = _chunk6NTPY5QAcjs.getStatusColorScheme.call(void 0, item.status);
|
|
236
236
|
const relativeTime = getRelativeTime(item.dateUpdated);
|
|
237
237
|
const subtitle = `ACTIVE ${relativeTime}${item.listNames.length > 0 ? `, ${item.listNames.join(", ")}` : ""}, ${item.id}`;
|