@shuffleio/shuffle-mcps 0.0.22 → 0.0.23
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/index.d.mts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +58 -14
- package/dist/index.mjs +58 -14
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -62,6 +62,10 @@ interface ShuffleHostProps {
|
|
|
62
62
|
globalUrl?: string;
|
|
63
63
|
/** Userdata returned by `GET /api/v1/getinfo` (active_org, support, etc.). */
|
|
64
64
|
userdata?: any;
|
|
65
|
+
/** Optional theme mode forwarded through composed Shuffle surfaces. */
|
|
66
|
+
theme?: 'light' | 'dark' | 'system';
|
|
67
|
+
/** Legacy theme alias forwarded through composed Shuffle surfaces. */
|
|
68
|
+
colorMode?: 'light' | 'dark' | 'auto';
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
/**
|
|
@@ -182,6 +186,8 @@ interface ShuffleMCPProps extends ShuffleHostProps {
|
|
|
182
186
|
showCheckbox?: boolean;
|
|
183
187
|
multiSelect?: boolean;
|
|
184
188
|
selectedApps?: AlgoliaSearchApp[];
|
|
189
|
+
/** Disable automatic selection of already validated apps. Useful for explicit user pickers. */
|
|
190
|
+
disableAutoSelectValidatedApps?: boolean;
|
|
185
191
|
preventDefault?: boolean;
|
|
186
192
|
/** When true, results show inline on the page instead of as a dropdown */
|
|
187
193
|
inline?: boolean;
|
|
@@ -505,6 +511,10 @@ interface AgentUIProps {
|
|
|
505
511
|
apiBaseUrl?: string;
|
|
506
512
|
/** Optional Shuffle Org ID — sent as the `Org-Id` header on every call. */
|
|
507
513
|
orgId?: string;
|
|
514
|
+
/** Optional theme mode forwarded to nested Shuffle drawers. */
|
|
515
|
+
theme?: 'light' | 'dark' | 'system';
|
|
516
|
+
/** Legacy theme alias forwarded to nested Shuffle drawers. */
|
|
517
|
+
colorMode?: 'light' | 'dark' | 'auto';
|
|
508
518
|
/** Optional className forwarded to the root container. */
|
|
509
519
|
className?: string;
|
|
510
520
|
/** Style overrides merged into the root container sx. */
|
package/dist/index.d.ts
CHANGED
|
@@ -62,6 +62,10 @@ interface ShuffleHostProps {
|
|
|
62
62
|
globalUrl?: string;
|
|
63
63
|
/** Userdata returned by `GET /api/v1/getinfo` (active_org, support, etc.). */
|
|
64
64
|
userdata?: any;
|
|
65
|
+
/** Optional theme mode forwarded through composed Shuffle surfaces. */
|
|
66
|
+
theme?: 'light' | 'dark' | 'system';
|
|
67
|
+
/** Legacy theme alias forwarded through composed Shuffle surfaces. */
|
|
68
|
+
colorMode?: 'light' | 'dark' | 'auto';
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
/**
|
|
@@ -182,6 +186,8 @@ interface ShuffleMCPProps extends ShuffleHostProps {
|
|
|
182
186
|
showCheckbox?: boolean;
|
|
183
187
|
multiSelect?: boolean;
|
|
184
188
|
selectedApps?: AlgoliaSearchApp[];
|
|
189
|
+
/** Disable automatic selection of already validated apps. Useful for explicit user pickers. */
|
|
190
|
+
disableAutoSelectValidatedApps?: boolean;
|
|
185
191
|
preventDefault?: boolean;
|
|
186
192
|
/** When true, results show inline on the page instead of as a dropdown */
|
|
187
193
|
inline?: boolean;
|
|
@@ -505,6 +511,10 @@ interface AgentUIProps {
|
|
|
505
511
|
apiBaseUrl?: string;
|
|
506
512
|
/** Optional Shuffle Org ID — sent as the `Org-Id` header on every call. */
|
|
507
513
|
orgId?: string;
|
|
514
|
+
/** Optional theme mode forwarded to nested Shuffle drawers. */
|
|
515
|
+
theme?: 'light' | 'dark' | 'system';
|
|
516
|
+
/** Legacy theme alias forwarded to nested Shuffle drawers. */
|
|
517
|
+
colorMode?: 'light' | 'dark' | 'auto';
|
|
508
518
|
/** Optional className forwarded to the root container. */
|
|
509
519
|
className?: string;
|
|
510
520
|
/** Style overrides merged into the root container sx. */
|
package/dist/index.js
CHANGED
|
@@ -6235,6 +6235,7 @@ var ShuffleMCP = import_react12.default.forwardRef(({
|
|
|
6235
6235
|
showCheckbox = false,
|
|
6236
6236
|
multiSelect = false,
|
|
6237
6237
|
selectedApps = EMPTY_SELECTED_APPS,
|
|
6238
|
+
disableAutoSelectValidatedApps = false,
|
|
6238
6239
|
preventDefault = false,
|
|
6239
6240
|
inline = false,
|
|
6240
6241
|
initialQuery = "",
|
|
@@ -6345,6 +6346,7 @@ var ShuffleMCP = import_react12.default.forwardRef(({
|
|
|
6345
6346
|
fetchPrivateApps();
|
|
6346
6347
|
}, [apiKey, apiBaseUrl, privateAppsPath, disablePrivateApps, orgId]);
|
|
6347
6348
|
(0, import_react12.useEffect)(() => {
|
|
6349
|
+
if (disableAutoSelectValidatedApps) return;
|
|
6348
6350
|
if (authenticatedApps.length > 0 && results.length > 0) {
|
|
6349
6351
|
const validatedApps = authenticatedApps.filter((auth) => auth.validation?.valid);
|
|
6350
6352
|
const appsToAutoSelect = results.filter(
|
|
@@ -6363,7 +6365,7 @@ var ShuffleMCP = import_react12.default.forwardRef(({
|
|
|
6363
6365
|
}
|
|
6364
6366
|
}
|
|
6365
6367
|
}
|
|
6366
|
-
}, [authenticatedApps, results]);
|
|
6368
|
+
}, [authenticatedApps, results, disableAutoSelectValidatedApps]);
|
|
6367
6369
|
(0, import_react12.useEffect)(() => {
|
|
6368
6370
|
if (externalAuthenticatedApps) {
|
|
6369
6371
|
setAuthenticatedApps(externalAuthenticatedApps);
|
|
@@ -6861,8 +6863,12 @@ function AppSearchDrawer({
|
|
|
6861
6863
|
highlightDelayMs = 5e3,
|
|
6862
6864
|
multiSelect = false,
|
|
6863
6865
|
selectedApps,
|
|
6864
|
-
onSelectionChange
|
|
6866
|
+
onSelectionChange,
|
|
6867
|
+
globalUrl,
|
|
6868
|
+
theme,
|
|
6869
|
+
colorMode
|
|
6865
6870
|
}) {
|
|
6871
|
+
const themeScope = useShuffleMcpTheme();
|
|
6866
6872
|
const [detailAppName, setDetailAppName] = (0, import_react13.useState)(null);
|
|
6867
6873
|
const [detailAppId, setDetailAppId] = (0, import_react13.useState)(null);
|
|
6868
6874
|
const [highlightActive, setHighlightActive] = (0, import_react13.useState)(false);
|
|
@@ -6948,6 +6954,7 @@ function AppSearchDrawer({
|
|
|
6948
6954
|
anchor,
|
|
6949
6955
|
open: open && detailAppName === null,
|
|
6950
6956
|
onClose: handleClose,
|
|
6957
|
+
slotProps: { paper: { className: themeScope?.scopeClassName } },
|
|
6951
6958
|
sx: {
|
|
6952
6959
|
zIndex: 9999,
|
|
6953
6960
|
"& .MuiDrawer-paper": {
|
|
@@ -7101,7 +7108,10 @@ function AppSearchDrawer({
|
|
|
7101
7108
|
ShuffleMCP2,
|
|
7102
7109
|
{
|
|
7103
7110
|
apiKey: API_CONFIG.apiKey || void 0,
|
|
7104
|
-
apiBaseUrl: API_CONFIG.baseUrl,
|
|
7111
|
+
apiBaseUrl: globalUrl || API_CONFIG.baseUrl,
|
|
7112
|
+
globalUrl,
|
|
7113
|
+
theme,
|
|
7114
|
+
colorMode,
|
|
7105
7115
|
placeholder: initialQuery ? `Search ${initialQuery} integrations...` : "Search integrations...",
|
|
7106
7116
|
layout: "grid",
|
|
7107
7117
|
gridColumns: 2,
|
|
@@ -7113,8 +7123,17 @@ function AppSearchDrawer({
|
|
|
7113
7123
|
showCheckbox: multiSelect,
|
|
7114
7124
|
multiSelect,
|
|
7115
7125
|
selectedApps: multiSelect ? projectedSelectedApps : void 0,
|
|
7126
|
+
disableAutoSelectValidatedApps: multiSelect,
|
|
7116
7127
|
preventDefault: true,
|
|
7117
7128
|
onAppSelected: handleAppSelected,
|
|
7129
|
+
onSelectionChange: multiSelect ? (next) => {
|
|
7130
|
+
onSelectionChange?.(next.map((app) => ({
|
|
7131
|
+
name: app.name,
|
|
7132
|
+
id: app.objectID || null,
|
|
7133
|
+
icon: app.image_url || "",
|
|
7134
|
+
categories: app.categories || []
|
|
7135
|
+
})));
|
|
7136
|
+
} : void 0,
|
|
7118
7137
|
pinnedApps: pinnedApps?.map((p) => ({
|
|
7119
7138
|
name: p.name,
|
|
7120
7139
|
image_url: p.image_url,
|
|
@@ -7160,6 +7179,9 @@ function AppSearchDrawer({
|
|
|
7160
7179
|
appId: detailAppId,
|
|
7161
7180
|
anchor,
|
|
7162
7181
|
width,
|
|
7182
|
+
globalUrl,
|
|
7183
|
+
theme,
|
|
7184
|
+
colorMode,
|
|
7163
7185
|
onRefresh: onClose,
|
|
7164
7186
|
onAddToCanvas
|
|
7165
7187
|
}
|
|
@@ -9166,6 +9188,8 @@ var AgentUI = ({
|
|
|
9166
9188
|
apiKey,
|
|
9167
9189
|
apiBaseUrl,
|
|
9168
9190
|
orgId,
|
|
9191
|
+
theme,
|
|
9192
|
+
colorMode,
|
|
9169
9193
|
className,
|
|
9170
9194
|
sx,
|
|
9171
9195
|
contentSx
|
|
@@ -11715,6 +11739,9 @@ var AgentUI = ({
|
|
|
11715
11739
|
subtitle: appPickerSubtitle,
|
|
11716
11740
|
multiSelect: true,
|
|
11717
11741
|
selectedApps: chosenApps.map((a) => ({ name: a.name, id: a.id || null, icon: a.icon })),
|
|
11742
|
+
globalUrl: apiBaseUrl,
|
|
11743
|
+
theme,
|
|
11744
|
+
colorMode,
|
|
11718
11745
|
onSelectionChange: (next) => {
|
|
11719
11746
|
setChosenApps(
|
|
11720
11747
|
next.map((app) => {
|
|
@@ -11738,7 +11765,10 @@ var AgentUI = ({
|
|
|
11738
11765
|
onClose: () => setAuthDrawerApp(null),
|
|
11739
11766
|
appName: authDrawerApp?.name || null,
|
|
11740
11767
|
appId: authDrawerApp?.id || null,
|
|
11741
|
-
activeOrgId: orgId || null
|
|
11768
|
+
activeOrgId: orgId || null,
|
|
11769
|
+
globalUrl: apiBaseUrl,
|
|
11770
|
+
theme,
|
|
11771
|
+
colorMode
|
|
11742
11772
|
}
|
|
11743
11773
|
)
|
|
11744
11774
|
]
|
|
@@ -11776,6 +11806,7 @@ var AgentRunDrawer = ({
|
|
|
11776
11806
|
globalUrl
|
|
11777
11807
|
}) => {
|
|
11778
11808
|
useSyncHostBaseUrl(globalUrl);
|
|
11809
|
+
const themeScope = useShuffleMcpTheme();
|
|
11779
11810
|
const [activeTab, setActiveTab] = (0, import_react16.useState)(initialTab);
|
|
11780
11811
|
const prevOpenRef = (0, import_react16.useRef)(open);
|
|
11781
11812
|
(0, import_react16.useEffect)(() => {
|
|
@@ -11805,7 +11836,7 @@ var AgentRunDrawer = ({
|
|
|
11805
11836
|
onClose,
|
|
11806
11837
|
slotProps: {
|
|
11807
11838
|
paper: {
|
|
11808
|
-
className,
|
|
11839
|
+
className: [themeScope?.scopeClassName, className].filter(Boolean).join(" ") || void 0,
|
|
11809
11840
|
sx: [
|
|
11810
11841
|
{
|
|
11811
11842
|
width: { xs: "100%", sm: width },
|
|
@@ -12729,8 +12760,11 @@ var AgentExecutionDrawer = ({
|
|
|
12729
12760
|
headerSx,
|
|
12730
12761
|
bodySx,
|
|
12731
12762
|
topBanner,
|
|
12732
|
-
onSchedule
|
|
12763
|
+
onSchedule,
|
|
12764
|
+
theme,
|
|
12765
|
+
colorMode
|
|
12733
12766
|
}) => {
|
|
12767
|
+
const themeScope = useShuffleMcpTheme();
|
|
12734
12768
|
const statusKey = (run?.status || "").toUpperCase();
|
|
12735
12769
|
const cfg = STATUS_CONFIG[statusKey] || STATUS_CONFIG.WAITING;
|
|
12736
12770
|
const duration = run ? formatDuration(run) : "";
|
|
@@ -12742,7 +12776,7 @@ var AgentExecutionDrawer = ({
|
|
|
12742
12776
|
onClose,
|
|
12743
12777
|
slotProps: {
|
|
12744
12778
|
paper: {
|
|
12745
|
-
className,
|
|
12779
|
+
className: [themeScope?.scopeClassName, className].filter(Boolean).join(" ") || void 0,
|
|
12746
12780
|
sx: [
|
|
12747
12781
|
{
|
|
12748
12782
|
width: { xs: "100%", sm: width },
|
|
@@ -12878,7 +12912,9 @@ var AgentExecutionDrawer = ({
|
|
|
12878
12912
|
apiKey,
|
|
12879
12913
|
apiBaseUrl,
|
|
12880
12914
|
orgId,
|
|
12881
|
-
onSchedule
|
|
12915
|
+
onSchedule,
|
|
12916
|
+
theme,
|
|
12917
|
+
colorMode
|
|
12882
12918
|
},
|
|
12883
12919
|
run.execution_id
|
|
12884
12920
|
) : null
|
|
@@ -12904,7 +12940,9 @@ var AgentsView = ({
|
|
|
12904
12940
|
isLoaded,
|
|
12905
12941
|
isLoggedIn,
|
|
12906
12942
|
userdata,
|
|
12907
|
-
serverside
|
|
12943
|
+
serverside,
|
|
12944
|
+
theme,
|
|
12945
|
+
colorMode
|
|
12908
12946
|
}) => {
|
|
12909
12947
|
useSyncHostBaseUrl(globalUrl);
|
|
12910
12948
|
const [selectedRun, setSelectedRun] = (0, import_react18.useState)(null);
|
|
@@ -13030,7 +13068,9 @@ var AgentsView = ({
|
|
|
13030
13068
|
submitLabel: editing ? "Save" : void 0,
|
|
13031
13069
|
submitTooltip: editing ? "\u2318+Enter to save" : void 0,
|
|
13032
13070
|
disableSchedule: Boolean(editing),
|
|
13033
|
-
disableScheduleTooltip: editing ? "Scheduling is disabled while editing an existing schedule" : void 0
|
|
13071
|
+
disableScheduleTooltip: editing ? "Scheduling is disabled while editing an existing schedule" : void 0,
|
|
13072
|
+
theme,
|
|
13073
|
+
colorMode
|
|
13034
13074
|
},
|
|
13035
13075
|
prefill.key
|
|
13036
13076
|
),
|
|
@@ -13050,7 +13090,9 @@ var AgentsView = ({
|
|
|
13050
13090
|
onClose: () => setSelectedRun(null),
|
|
13051
13091
|
run: selectedRun,
|
|
13052
13092
|
apiBaseUrl: globalUrl,
|
|
13053
|
-
onSchedule
|
|
13093
|
+
onSchedule,
|
|
13094
|
+
theme,
|
|
13095
|
+
colorMode
|
|
13054
13096
|
}
|
|
13055
13097
|
),
|
|
13056
13098
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
@@ -13062,7 +13104,9 @@ var AgentsView = ({
|
|
|
13062
13104
|
globalUrl,
|
|
13063
13105
|
localLLMSlot: effectiveLocalLLMSlot,
|
|
13064
13106
|
permissionsSlot,
|
|
13065
|
-
|
|
13107
|
+
theme,
|
|
13108
|
+
colorMode,
|
|
13109
|
+
agentUIProps: { onSchedule, apiBaseUrl: globalUrl, theme, colorMode }
|
|
13066
13110
|
}
|
|
13067
13111
|
)
|
|
13068
13112
|
] });
|
|
@@ -13305,7 +13349,7 @@ var withMcpTheme = (Inner, displayName) => {
|
|
|
13305
13349
|
const Wrapped = ({ theme, colorMode, ...rest }) => import_react20.default.createElement(
|
|
13306
13350
|
ShuffleMcpThemeProvider,
|
|
13307
13351
|
{ mode: resolveMode(theme, colorMode) },
|
|
13308
|
-
import_react20.default.createElement(Inner, { ...rest })
|
|
13352
|
+
import_react20.default.createElement(Inner, { ...rest, theme, colorMode })
|
|
13309
13353
|
);
|
|
13310
13354
|
Wrapped.displayName = `ShuffleMCPs(${displayName})`;
|
|
13311
13355
|
return Wrapped;
|
|
@@ -13315,7 +13359,7 @@ var withMcpThemeRef = (Inner, displayName) => {
|
|
|
13315
13359
|
({ theme, colorMode, ...rest }, ref) => import_react20.default.createElement(
|
|
13316
13360
|
ShuffleMcpThemeProvider,
|
|
13317
13361
|
{ mode: resolveMode(theme, colorMode) },
|
|
13318
|
-
import_react20.default.createElement(Inner, { ...rest, ref })
|
|
13362
|
+
import_react20.default.createElement(Inner, { ...rest, theme, colorMode, ref })
|
|
13319
13363
|
)
|
|
13320
13364
|
);
|
|
13321
13365
|
Wrapped.displayName = `ShuffleMCPs(${displayName})`;
|
package/dist/index.mjs
CHANGED
|
@@ -5872,6 +5872,7 @@ var ShuffleMCP = React3.forwardRef(({
|
|
|
5872
5872
|
showCheckbox = false,
|
|
5873
5873
|
multiSelect = false,
|
|
5874
5874
|
selectedApps = EMPTY_SELECTED_APPS,
|
|
5875
|
+
disableAutoSelectValidatedApps = false,
|
|
5875
5876
|
preventDefault = false,
|
|
5876
5877
|
inline = false,
|
|
5877
5878
|
initialQuery = "",
|
|
@@ -5982,6 +5983,7 @@ var ShuffleMCP = React3.forwardRef(({
|
|
|
5982
5983
|
fetchPrivateApps();
|
|
5983
5984
|
}, [apiKey, apiBaseUrl, privateAppsPath, disablePrivateApps, orgId]);
|
|
5984
5985
|
useEffect8(() => {
|
|
5986
|
+
if (disableAutoSelectValidatedApps) return;
|
|
5985
5987
|
if (authenticatedApps.length > 0 && results.length > 0) {
|
|
5986
5988
|
const validatedApps = authenticatedApps.filter((auth) => auth.validation?.valid);
|
|
5987
5989
|
const appsToAutoSelect = results.filter(
|
|
@@ -6000,7 +6002,7 @@ var ShuffleMCP = React3.forwardRef(({
|
|
|
6000
6002
|
}
|
|
6001
6003
|
}
|
|
6002
6004
|
}
|
|
6003
|
-
}, [authenticatedApps, results]);
|
|
6005
|
+
}, [authenticatedApps, results, disableAutoSelectValidatedApps]);
|
|
6004
6006
|
useEffect8(() => {
|
|
6005
6007
|
if (externalAuthenticatedApps) {
|
|
6006
6008
|
setAuthenticatedApps(externalAuthenticatedApps);
|
|
@@ -6499,8 +6501,12 @@ function AppSearchDrawer({
|
|
|
6499
6501
|
highlightDelayMs = 5e3,
|
|
6500
6502
|
multiSelect = false,
|
|
6501
6503
|
selectedApps,
|
|
6502
|
-
onSelectionChange
|
|
6504
|
+
onSelectionChange,
|
|
6505
|
+
globalUrl,
|
|
6506
|
+
theme,
|
|
6507
|
+
colorMode
|
|
6503
6508
|
}) {
|
|
6509
|
+
const themeScope = useShuffleMcpTheme();
|
|
6504
6510
|
const [detailAppName, setDetailAppName] = useState10(null);
|
|
6505
6511
|
const [detailAppId, setDetailAppId] = useState10(null);
|
|
6506
6512
|
const [highlightActive, setHighlightActive] = useState10(false);
|
|
@@ -6586,6 +6592,7 @@ function AppSearchDrawer({
|
|
|
6586
6592
|
anchor,
|
|
6587
6593
|
open: open && detailAppName === null,
|
|
6588
6594
|
onClose: handleClose,
|
|
6595
|
+
slotProps: { paper: { className: themeScope?.scopeClassName } },
|
|
6589
6596
|
sx: {
|
|
6590
6597
|
zIndex: 9999,
|
|
6591
6598
|
"& .MuiDrawer-paper": {
|
|
@@ -6739,7 +6746,10 @@ function AppSearchDrawer({
|
|
|
6739
6746
|
ShuffleMCP2,
|
|
6740
6747
|
{
|
|
6741
6748
|
apiKey: API_CONFIG.apiKey || void 0,
|
|
6742
|
-
apiBaseUrl: API_CONFIG.baseUrl,
|
|
6749
|
+
apiBaseUrl: globalUrl || API_CONFIG.baseUrl,
|
|
6750
|
+
globalUrl,
|
|
6751
|
+
theme,
|
|
6752
|
+
colorMode,
|
|
6743
6753
|
placeholder: initialQuery ? `Search ${initialQuery} integrations...` : "Search integrations...",
|
|
6744
6754
|
layout: "grid",
|
|
6745
6755
|
gridColumns: 2,
|
|
@@ -6751,8 +6761,17 @@ function AppSearchDrawer({
|
|
|
6751
6761
|
showCheckbox: multiSelect,
|
|
6752
6762
|
multiSelect,
|
|
6753
6763
|
selectedApps: multiSelect ? projectedSelectedApps : void 0,
|
|
6764
|
+
disableAutoSelectValidatedApps: multiSelect,
|
|
6754
6765
|
preventDefault: true,
|
|
6755
6766
|
onAppSelected: handleAppSelected,
|
|
6767
|
+
onSelectionChange: multiSelect ? (next) => {
|
|
6768
|
+
onSelectionChange?.(next.map((app) => ({
|
|
6769
|
+
name: app.name,
|
|
6770
|
+
id: app.objectID || null,
|
|
6771
|
+
icon: app.image_url || "",
|
|
6772
|
+
categories: app.categories || []
|
|
6773
|
+
})));
|
|
6774
|
+
} : void 0,
|
|
6756
6775
|
pinnedApps: pinnedApps?.map((p) => ({
|
|
6757
6776
|
name: p.name,
|
|
6758
6777
|
image_url: p.image_url,
|
|
@@ -6798,6 +6817,9 @@ function AppSearchDrawer({
|
|
|
6798
6817
|
appId: detailAppId,
|
|
6799
6818
|
anchor,
|
|
6800
6819
|
width,
|
|
6820
|
+
globalUrl,
|
|
6821
|
+
theme,
|
|
6822
|
+
colorMode,
|
|
6801
6823
|
onRefresh: onClose,
|
|
6802
6824
|
onAddToCanvas
|
|
6803
6825
|
}
|
|
@@ -8836,6 +8858,8 @@ var AgentUI = ({
|
|
|
8836
8858
|
apiKey,
|
|
8837
8859
|
apiBaseUrl,
|
|
8838
8860
|
orgId,
|
|
8861
|
+
theme,
|
|
8862
|
+
colorMode,
|
|
8839
8863
|
className,
|
|
8840
8864
|
sx,
|
|
8841
8865
|
contentSx
|
|
@@ -11385,6 +11409,9 @@ var AgentUI = ({
|
|
|
11385
11409
|
subtitle: appPickerSubtitle,
|
|
11386
11410
|
multiSelect: true,
|
|
11387
11411
|
selectedApps: chosenApps.map((a) => ({ name: a.name, id: a.id || null, icon: a.icon })),
|
|
11412
|
+
globalUrl: apiBaseUrl,
|
|
11413
|
+
theme,
|
|
11414
|
+
colorMode,
|
|
11388
11415
|
onSelectionChange: (next) => {
|
|
11389
11416
|
setChosenApps(
|
|
11390
11417
|
next.map((app) => {
|
|
@@ -11408,7 +11435,10 @@ var AgentUI = ({
|
|
|
11408
11435
|
onClose: () => setAuthDrawerApp(null),
|
|
11409
11436
|
appName: authDrawerApp?.name || null,
|
|
11410
11437
|
appId: authDrawerApp?.id || null,
|
|
11411
|
-
activeOrgId: orgId || null
|
|
11438
|
+
activeOrgId: orgId || null,
|
|
11439
|
+
globalUrl: apiBaseUrl,
|
|
11440
|
+
theme,
|
|
11441
|
+
colorMode
|
|
11412
11442
|
}
|
|
11413
11443
|
)
|
|
11414
11444
|
]
|
|
@@ -11459,6 +11489,7 @@ var AgentRunDrawer = ({
|
|
|
11459
11489
|
globalUrl
|
|
11460
11490
|
}) => {
|
|
11461
11491
|
useSyncHostBaseUrl(globalUrl);
|
|
11492
|
+
const themeScope = useShuffleMcpTheme();
|
|
11462
11493
|
const [activeTab, setActiveTab] = useState13(initialTab);
|
|
11463
11494
|
const prevOpenRef = useRef9(open);
|
|
11464
11495
|
useEffect12(() => {
|
|
@@ -11488,7 +11519,7 @@ var AgentRunDrawer = ({
|
|
|
11488
11519
|
onClose,
|
|
11489
11520
|
slotProps: {
|
|
11490
11521
|
paper: {
|
|
11491
|
-
className,
|
|
11522
|
+
className: [themeScope?.scopeClassName, className].filter(Boolean).join(" ") || void 0,
|
|
11492
11523
|
sx: [
|
|
11493
11524
|
{
|
|
11494
11525
|
width: { xs: "100%", sm: width },
|
|
@@ -12441,8 +12472,11 @@ var AgentExecutionDrawer = ({
|
|
|
12441
12472
|
headerSx,
|
|
12442
12473
|
bodySx,
|
|
12443
12474
|
topBanner,
|
|
12444
|
-
onSchedule
|
|
12475
|
+
onSchedule,
|
|
12476
|
+
theme,
|
|
12477
|
+
colorMode
|
|
12445
12478
|
}) => {
|
|
12479
|
+
const themeScope = useShuffleMcpTheme();
|
|
12446
12480
|
const statusKey = (run?.status || "").toUpperCase();
|
|
12447
12481
|
const cfg = STATUS_CONFIG[statusKey] || STATUS_CONFIG.WAITING;
|
|
12448
12482
|
const duration = run ? formatDuration(run) : "";
|
|
@@ -12454,7 +12488,7 @@ var AgentExecutionDrawer = ({
|
|
|
12454
12488
|
onClose,
|
|
12455
12489
|
slotProps: {
|
|
12456
12490
|
paper: {
|
|
12457
|
-
className,
|
|
12491
|
+
className: [themeScope?.scopeClassName, className].filter(Boolean).join(" ") || void 0,
|
|
12458
12492
|
sx: [
|
|
12459
12493
|
{
|
|
12460
12494
|
width: { xs: "100%", sm: width },
|
|
@@ -12590,7 +12624,9 @@ var AgentExecutionDrawer = ({
|
|
|
12590
12624
|
apiKey,
|
|
12591
12625
|
apiBaseUrl,
|
|
12592
12626
|
orgId,
|
|
12593
|
-
onSchedule
|
|
12627
|
+
onSchedule,
|
|
12628
|
+
theme,
|
|
12629
|
+
colorMode
|
|
12594
12630
|
},
|
|
12595
12631
|
run.execution_id
|
|
12596
12632
|
) : null
|
|
@@ -12616,7 +12652,9 @@ var AgentsView = ({
|
|
|
12616
12652
|
isLoaded,
|
|
12617
12653
|
isLoggedIn,
|
|
12618
12654
|
userdata,
|
|
12619
|
-
serverside
|
|
12655
|
+
serverside,
|
|
12656
|
+
theme,
|
|
12657
|
+
colorMode
|
|
12620
12658
|
}) => {
|
|
12621
12659
|
useSyncHostBaseUrl(globalUrl);
|
|
12622
12660
|
const [selectedRun, setSelectedRun] = useState15(null);
|
|
@@ -12742,7 +12780,9 @@ var AgentsView = ({
|
|
|
12742
12780
|
submitLabel: editing ? "Save" : void 0,
|
|
12743
12781
|
submitTooltip: editing ? "\u2318+Enter to save" : void 0,
|
|
12744
12782
|
disableSchedule: Boolean(editing),
|
|
12745
|
-
disableScheduleTooltip: editing ? "Scheduling is disabled while editing an existing schedule" : void 0
|
|
12783
|
+
disableScheduleTooltip: editing ? "Scheduling is disabled while editing an existing schedule" : void 0,
|
|
12784
|
+
theme,
|
|
12785
|
+
colorMode
|
|
12746
12786
|
},
|
|
12747
12787
|
prefill.key
|
|
12748
12788
|
),
|
|
@@ -12762,7 +12802,9 @@ var AgentsView = ({
|
|
|
12762
12802
|
onClose: () => setSelectedRun(null),
|
|
12763
12803
|
run: selectedRun,
|
|
12764
12804
|
apiBaseUrl: globalUrl,
|
|
12765
|
-
onSchedule
|
|
12805
|
+
onSchedule,
|
|
12806
|
+
theme,
|
|
12807
|
+
colorMode
|
|
12766
12808
|
}
|
|
12767
12809
|
),
|
|
12768
12810
|
/* @__PURE__ */ jsx24(
|
|
@@ -12774,7 +12816,9 @@ var AgentsView = ({
|
|
|
12774
12816
|
globalUrl,
|
|
12775
12817
|
localLLMSlot: effectiveLocalLLMSlot,
|
|
12776
12818
|
permissionsSlot,
|
|
12777
|
-
|
|
12819
|
+
theme,
|
|
12820
|
+
colorMode,
|
|
12821
|
+
agentUIProps: { onSchedule, apiBaseUrl: globalUrl, theme, colorMode }
|
|
12778
12822
|
}
|
|
12779
12823
|
)
|
|
12780
12824
|
] });
|
|
@@ -13010,7 +13054,7 @@ var withMcpTheme = (Inner, displayName) => {
|
|
|
13010
13054
|
const Wrapped = ({ theme, colorMode, ...rest }) => React5.createElement(
|
|
13011
13055
|
ShuffleMcpThemeProvider,
|
|
13012
13056
|
{ mode: resolveMode(theme, colorMode) },
|
|
13013
|
-
React5.createElement(Inner, { ...rest })
|
|
13057
|
+
React5.createElement(Inner, { ...rest, theme, colorMode })
|
|
13014
13058
|
);
|
|
13015
13059
|
Wrapped.displayName = `ShuffleMCPs(${displayName})`;
|
|
13016
13060
|
return Wrapped;
|
|
@@ -13020,7 +13064,7 @@ var withMcpThemeRef = (Inner, displayName) => {
|
|
|
13020
13064
|
({ theme, colorMode, ...rest }, ref) => React5.createElement(
|
|
13021
13065
|
ShuffleMcpThemeProvider,
|
|
13022
13066
|
{ mode: resolveMode(theme, colorMode) },
|
|
13023
|
-
React5.createElement(Inner, { ...rest, ref })
|
|
13067
|
+
React5.createElement(Inner, { ...rest, theme, colorMode, ref })
|
|
13024
13068
|
)
|
|
13025
13069
|
);
|
|
13026
13070
|
Wrapped.displayName = `ShuffleMCPs(${displayName})`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shuffleio/shuffle-mcps",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "Turn 3,000+ SaaS tools into MCP servers your agents can use. Headless React component for search, selection, and OAuth handoff.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|