@shuffleio/shuffle-mcps 0.0.67 → 0.0.68
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 +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +555 -51
- package/dist/index.mjs +685 -183
- package/dist/{shuffle-mcp-LXISGW4I.css → shuffle-mcp-ML4YQTUP.css} +0 -132
- package/package.json +1 -1
- package/dist/shuffle-core-LIQTRTFD.css +0 -169
|
@@ -4,138 +4,6 @@
|
|
|
4
4
|
* https://github.com/Shuffle/singul.js
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/* ============================================================================
|
|
8
|
-
* Standalone fallback tokens.
|
|
9
|
-
*
|
|
10
|
-
* The Shuffle-MCPs lib uses shadcn-style HSL CSS custom properties throughout
|
|
11
|
-
* its sx/styled code (e.g. `hsl(var(--card))`, `hsl(var(--border))`). When the
|
|
12
|
-
* lib is consumed in a host app that does NOT define those tokens (e.g. plain
|
|
13
|
-
* MUI apps like Shuffle Core), `var(--card)` resolves to nothing -> `hsl()` is
|
|
14
|
-
* invalid -> backgrounds render TRANSPARENT, which is what caused the
|
|
15
|
-
* AppDetailDrawer to look see-through.
|
|
16
|
-
*
|
|
17
|
-
* `:where(:root)` has specificity 0, so any host-defined `:root { --card: ... }`
|
|
18
|
-
* still wins. These defaults only kick in when the host has nothing.
|
|
19
|
-
*
|
|
20
|
-
* Values match the dark-theme defaults from the Shuffle Security host app.
|
|
21
|
-
* ============================================================================ */
|
|
22
|
-
:where(:root) {
|
|
23
|
-
--background: 0 0% 10%;
|
|
24
|
-
--background-elevated: 0 0% 13%;
|
|
25
|
-
--background-surface: 0 0% 16%;
|
|
26
|
-
--foreground: 0 0% 98%;
|
|
27
|
-
--card: 0 0% 13%;
|
|
28
|
-
--card-foreground: 0 0% 100%;
|
|
29
|
-
--popover: 0 0% 13%;
|
|
30
|
-
--popover-foreground: 0 0% 100%;
|
|
31
|
-
--primary: 22 100% 50%;
|
|
32
|
-
--primary-foreground: 0 0% 100%;
|
|
33
|
-
--secondary: 0 0% 16%;
|
|
34
|
-
--secondary-foreground: 0 0% 100%;
|
|
35
|
-
--muted: 0 0% 16%;
|
|
36
|
-
--muted-foreground: 0 0% 65%;
|
|
37
|
-
--accent: 22 100% 50%;
|
|
38
|
-
--accent-foreground: 0 0% 100%;
|
|
39
|
-
--destructive: 0 84% 60%;
|
|
40
|
-
--destructive-foreground: 0 0% 100%;
|
|
41
|
-
--border: 0 0% 20%;
|
|
42
|
-
--input: 0 0% 16%;
|
|
43
|
-
--ring: 22 100% 50%;
|
|
44
|
-
--severity-info: 210 90% 60%;
|
|
45
|
-
--severity-low: 142 70% 45%;
|
|
46
|
-
--severity-medium: 38 92% 50%;
|
|
47
|
-
--severity-high: 12 92% 52%;
|
|
48
|
-
--severity-critical: 0 84% 60%;
|
|
49
|
-
--infra-email: 210 90% 60%;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/* ============================================================================
|
|
53
|
-
* Scoped theme overrides for <ShuffleMcpThemeProvider mode="light|dark">.
|
|
54
|
-
*
|
|
55
|
-
* The provider stamps `shuffle-mcp-scope` (and `.dark` when applicable) on
|
|
56
|
-
* the wrapper div AND on portaled MUI paper (Drawer/Dialog/Menu/Popover/
|
|
57
|
-
* Tooltip). These rules redefine the HSL tokens locally so a pinned light
|
|
58
|
-
* subtree actually renders light, regardless of the host's <html> class.
|
|
59
|
-
*
|
|
60
|
-
* Light values mirror Shuffle Security's :root (src/index.css). Dark values
|
|
61
|
-
* mirror the :where(:root) defaults above and are repeated here so they win
|
|
62
|
-
* over any host-defined light tokens when a subtree is pinned to dark.
|
|
63
|
-
* ============================================================================ */
|
|
64
|
-
:root:not(.dark) .shuffle-mcp-scope:not(.dark),
|
|
65
|
-
html:not(.dark) .shuffle-mcp-scope:not(.dark),
|
|
66
|
-
body:not(.dark) .shuffle-mcp-scope:not(.dark),
|
|
67
|
-
.shuffle-mcp-scope.light {
|
|
68
|
-
--background: 0 0% 98%;
|
|
69
|
-
--background-elevated: 0 0% 100%;
|
|
70
|
-
--background-surface: 0 0% 96%;
|
|
71
|
-
--foreground: 0 0% 9%;
|
|
72
|
-
--card: 0 0% 100%;
|
|
73
|
-
--card-foreground: 0 0% 9%;
|
|
74
|
-
--popover: 0 0% 100%;
|
|
75
|
-
--popover-foreground: 0 0% 9%;
|
|
76
|
-
--secondary: 0 0% 94%;
|
|
77
|
-
--secondary-foreground: 0 0% 9%;
|
|
78
|
-
--muted: 0 0% 94%;
|
|
79
|
-
--muted-foreground: 0 0% 40%;
|
|
80
|
-
--accent: 0 0% 92%;
|
|
81
|
-
--accent-foreground: 0 0% 9%;
|
|
82
|
-
--destructive: 0 72% 51%;
|
|
83
|
-
--destructive-foreground: 0 0% 100%;
|
|
84
|
-
--border: 0 0% 78%;
|
|
85
|
-
--input: 0 0% 94%;
|
|
86
|
-
--severity-info: 215 90% 45%;
|
|
87
|
-
--severity-low: 142 72% 31%;
|
|
88
|
-
--severity-medium: 38 92% 33%;
|
|
89
|
-
--severity-high: 12 88% 46%;
|
|
90
|
-
--severity-critical: 0 72% 51%;
|
|
91
|
-
--infra-email: 215 90% 45%;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/* Scoped to Shuffle-MCPs' own tooltips only. The provider stamps
|
|
95
|
-
* `shuffle-mcp-scope` on the portaled `.MuiTooltip-tooltip`, so this styles
|
|
96
|
-
* our tooltips without leaking into host apps whose tooltips carry no scope
|
|
97
|
-
* class. */
|
|
98
|
-
.MuiTooltip-tooltip.shuffle-mcp-scope {
|
|
99
|
-
background-color: hsl(var(--popover)) !important;
|
|
100
|
-
color: hsl(var(--popover-foreground)) !important;
|
|
101
|
-
border: 1px solid hsl(var(--border)) !important;
|
|
102
|
-
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
|
|
103
|
-
border-radius: 8px !important;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.MuiTooltip-tooltip.shuffle-mcp-scope .MuiTooltip-arrow {
|
|
107
|
-
color: hsl(var(--popover)) !important;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.MuiTooltip-tooltip.shuffle-mcp-scope .MuiTooltip-arrow::before {
|
|
111
|
-
border: 1px solid hsl(var(--border)) !important;
|
|
112
|
-
box-sizing: border-box;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.dark .shuffle-mcp-scope:not(.light),
|
|
116
|
-
.shuffle-mcp-scope.dark {
|
|
117
|
-
--background: 0 0% 10%;
|
|
118
|
-
--background-elevated: 0 0% 13%;
|
|
119
|
-
--background-surface: 0 0% 16%;
|
|
120
|
-
--foreground: 0 0% 100%;
|
|
121
|
-
--card: 0 0% 13%;
|
|
122
|
-
--card-foreground: 0 0% 100%;
|
|
123
|
-
--popover: 0 0% 12%;
|
|
124
|
-
--popover-foreground: 0 0% 100%;
|
|
125
|
-
--secondary: 0 0% 18%;
|
|
126
|
-
--secondary-foreground: 0 0% 100%;
|
|
127
|
-
--muted: 0 0% 16%;
|
|
128
|
-
--muted-foreground: 0 0% 50%;
|
|
129
|
-
--accent: 0 0% 20%;
|
|
130
|
-
--accent-foreground: 0 0% 100%;
|
|
131
|
-
--destructive: 0 84% 60%;
|
|
132
|
-
--destructive-foreground: 0 0% 100%;
|
|
133
|
-
--border: 0 0% 20%;
|
|
134
|
-
--input: 0 0% 18%;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
7
|
.singul-container {
|
|
140
8
|
/* ============================================================
|
|
141
9
|
* Default theme: Shuffle-style dark (matches the rest of the app).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shuffleio/shuffle-mcps",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.68",
|
|
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": {
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shuffle-Core — Styles
|
|
3
|
-
*
|
|
4
|
-
* Standalone fallback tokens. The lib uses shadcn-style HSL CSS custom
|
|
5
|
-
* properties throughout its sx/styled code (e.g. `hsl(var(--card))`). When
|
|
6
|
-
* the lib is consumed in a host app that does NOT define those tokens,
|
|
7
|
-
* `var(--card)` resolves to nothing and backgrounds render transparent.
|
|
8
|
-
*
|
|
9
|
-
* `:where(:root)` has specificity 0, so any host-defined `:root { --card: ... }`
|
|
10
|
-
* still wins. These defaults only kick in when the host has nothing.
|
|
11
|
-
*/
|
|
12
|
-
:where(:root) {
|
|
13
|
-
--background: 0 0% 10%;
|
|
14
|
-
--background-elevated: 0 0% 13%;
|
|
15
|
-
--background-surface: 0 0% 16%;
|
|
16
|
-
--foreground: 0 0% 98%;
|
|
17
|
-
--foreground-muted: 0 0% 60%;
|
|
18
|
-
--card: 0 0% 13%;
|
|
19
|
-
--card-foreground: 0 0% 100%;
|
|
20
|
-
--popover: 0 0% 13%;
|
|
21
|
-
--popover-foreground: 0 0% 100%;
|
|
22
|
-
--primary: 22 100% 50%;
|
|
23
|
-
--primary-foreground: 0 0% 100%;
|
|
24
|
-
--secondary: 0 0% 16%;
|
|
25
|
-
--secondary-foreground: 0 0% 100%;
|
|
26
|
-
--muted: 0 0% 16%;
|
|
27
|
-
--muted-foreground: 0 0% 65%;
|
|
28
|
-
--accent: 22 100% 50%;
|
|
29
|
-
--accent-foreground: 0 0% 100%;
|
|
30
|
-
--destructive: 0 84% 60%;
|
|
31
|
-
--destructive-foreground: 0 0% 100%;
|
|
32
|
-
--border: 0 0% 20%;
|
|
33
|
-
--border-subtle: 0 0% 16%;
|
|
34
|
-
--input: 0 0% 16%;
|
|
35
|
-
--ring: 22 100% 50%;
|
|
36
|
-
--primary-glow: 24 100% 60%;
|
|
37
|
-
--severity-critical: 0 84% 60%;
|
|
38
|
-
--severity-high: 12 92% 52%;
|
|
39
|
-
--severity-medium: 45 93% 47%;
|
|
40
|
-
--severity-low: 142 71% 45%;
|
|
41
|
-
--severity-info: 210 100% 56%;
|
|
42
|
-
--sidebar-background: 0 0% 9%;
|
|
43
|
-
--sidebar-foreground: 0 0% 100%;
|
|
44
|
-
--sidebar-primary: 24 100% 50%;
|
|
45
|
-
--sidebar-primary-foreground: 0 0% 100%;
|
|
46
|
-
--sidebar-accent: 0 0% 16%;
|
|
47
|
-
--sidebar-accent-foreground: 0 0% 100%;
|
|
48
|
-
--sidebar-border: 0 0% 16%;
|
|
49
|
-
--sidebar-ring: 24 100% 50%;
|
|
50
|
-
--gradient-card: linear-gradient(145deg, hsl(0 0% 14%) 0%, hsl(0 0% 12%) 100%);
|
|
51
|
-
--gradient-accent: linear-gradient(135deg, hsl(24 100% 50%) 0%, hsl(24 100% 60%) 100%);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.shuffle-core-scope,
|
|
55
|
-
.shuffle-core-scope *,
|
|
56
|
-
.shuffle-core-scope *::before,
|
|
57
|
-
.shuffle-core-scope *::after {
|
|
58
|
-
box-sizing: border-box;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.shuffle-core-scope {
|
|
62
|
-
color: hsl(var(--foreground));
|
|
63
|
-
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
64
|
-
line-height: 1.5;
|
|
65
|
-
isolation: isolate;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.shuffle-core-scope button,
|
|
69
|
-
.shuffle-core-scope input,
|
|
70
|
-
.shuffle-core-scope textarea,
|
|
71
|
-
.shuffle-core-scope select {
|
|
72
|
-
font: inherit;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* Scoped theme overrides for <ShuffleCoreThemeProvider mode="light|dark">.
|
|
76
|
-
* Stamped on the wrapper div and portaled MUI paper. Light values mirror
|
|
77
|
-
* Shuffle Security's :root; dark values mirror the defaults above. */
|
|
78
|
-
:root:not(.dark) .shuffle-core-scope:not(.dark),
|
|
79
|
-
html:not(.dark) .shuffle-core-scope:not(.dark),
|
|
80
|
-
body:not(.dark) .shuffle-core-scope:not(.dark),
|
|
81
|
-
.shuffle-core-scope.light {
|
|
82
|
-
--background: 0 0% 98%;
|
|
83
|
-
--background-elevated: 0 0% 100%;
|
|
84
|
-
--background-surface: 0 0% 96%;
|
|
85
|
-
--foreground: 0 0% 9%;
|
|
86
|
-
--foreground-muted: 0 0% 40%;
|
|
87
|
-
--card: 0 0% 100%;
|
|
88
|
-
--card-foreground: 0 0% 9%;
|
|
89
|
-
--popover: 0 0% 100%;
|
|
90
|
-
--popover-foreground: 0 0% 9%;
|
|
91
|
-
--secondary: 0 0% 94%;
|
|
92
|
-
--secondary-foreground: 0 0% 9%;
|
|
93
|
-
--muted: 0 0% 94%;
|
|
94
|
-
--muted-foreground: 0 0% 40%;
|
|
95
|
-
--accent: 0 0% 92%;
|
|
96
|
-
--accent-foreground: 0 0% 9%;
|
|
97
|
-
--destructive: 0 72% 51%;
|
|
98
|
-
--destructive-foreground: 0 0% 100%;
|
|
99
|
-
--border: 0 0% 78%;
|
|
100
|
-
--border-subtle: 0 0% 86%;
|
|
101
|
-
--input: 0 0% 94%;
|
|
102
|
-
--severity-critical: 0 72% 51%;
|
|
103
|
-
--severity-high: 12 88% 46%;
|
|
104
|
-
--severity-medium: 38 92% 33%;
|
|
105
|
-
--severity-low: 142 72% 31%;
|
|
106
|
-
--severity-info: 215 90% 45%;
|
|
107
|
-
--sidebar-background: 0 0% 97%;
|
|
108
|
-
--sidebar-foreground: 0 0% 9%;
|
|
109
|
-
--sidebar-accent: 0 0% 94%;
|
|
110
|
-
--sidebar-accent-foreground: 0 0% 9%;
|
|
111
|
-
--sidebar-border: 0 0% 80%;
|
|
112
|
-
--gradient-card: linear-gradient(145deg, hsl(0 0% 100%) 0%, hsl(0 0% 98%) 100%);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.dark .shuffle-core-scope:not(.light),
|
|
116
|
-
.shuffle-core-scope.dark {
|
|
117
|
-
--background: 0 0% 10%;
|
|
118
|
-
--background-elevated: 0 0% 13%;
|
|
119
|
-
--background-surface: 0 0% 16%;
|
|
120
|
-
--foreground: 0 0% 100%;
|
|
121
|
-
--foreground-muted: 0 0% 60%;
|
|
122
|
-
--card: 0 0% 13%;
|
|
123
|
-
--card-foreground: 0 0% 100%;
|
|
124
|
-
--popover: 0 0% 12%;
|
|
125
|
-
--popover-foreground: 0 0% 100%;
|
|
126
|
-
--secondary: 0 0% 18%;
|
|
127
|
-
--secondary-foreground: 0 0% 100%;
|
|
128
|
-
--muted: 0 0% 16%;
|
|
129
|
-
--muted-foreground: 0 0% 50%;
|
|
130
|
-
--accent: 0 0% 20%;
|
|
131
|
-
--accent-foreground: 0 0% 100%;
|
|
132
|
-
--destructive: 0 84% 60%;
|
|
133
|
-
--destructive-foreground: 0 0% 100%;
|
|
134
|
-
--border: 0 0% 20%;
|
|
135
|
-
--border-subtle: 0 0% 16%;
|
|
136
|
-
--input: 0 0% 18%;
|
|
137
|
-
--severity-critical: 0 84% 60%;
|
|
138
|
-
--severity-high: 12 92% 52%;
|
|
139
|
-
--severity-medium: 45 93% 47%;
|
|
140
|
-
--severity-low: 142 71% 45%;
|
|
141
|
-
--severity-info: 210 100% 56%;
|
|
142
|
-
--sidebar-background: 0 0% 9%;
|
|
143
|
-
--sidebar-foreground: 0 0% 100%;
|
|
144
|
-
--sidebar-accent: 0 0% 16%;
|
|
145
|
-
--sidebar-accent-foreground: 0 0% 100%;
|
|
146
|
-
--sidebar-border: 0 0% 16%;
|
|
147
|
-
--gradient-card: linear-gradient(145deg, hsl(0 0% 14%) 0%, hsl(0 0% 12%) 100%);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/* Scoped to Shuffle-Core's own tooltips only. The provider stamps
|
|
151
|
-
* `shuffle-core-scope` on the portaled `.MuiTooltip-tooltip`, so this styles
|
|
152
|
-
* our tooltips without leaking into host apps (e.g. shaffuru) whose tooltips
|
|
153
|
-
* carry no scope class. */
|
|
154
|
-
.MuiTooltip-tooltip.shuffle-core-scope {
|
|
155
|
-
background-color: hsl(var(--popover)) !important;
|
|
156
|
-
color: hsl(var(--popover-foreground)) !important;
|
|
157
|
-
border: 1px solid hsl(var(--border)) !important;
|
|
158
|
-
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
|
|
159
|
-
border-radius: 8px !important;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.MuiTooltip-tooltip.shuffle-core-scope .MuiTooltip-arrow {
|
|
163
|
-
color: hsl(var(--popover)) !important;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.MuiTooltip-tooltip.shuffle-core-scope .MuiTooltip-arrow::before {
|
|
167
|
-
border: 1px solid hsl(var(--border)) !important;
|
|
168
|
-
box-sizing: border-box;
|
|
169
|
-
}
|