@muxoai/sdk 1.3.0 → 1.4.2
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/.agents/plugins/marketplace.json +2 -2
- package/.claude-plugin/marketplace.json +19 -4
- package/.codex/config.toml +9 -2
- package/ARCHITECTURE.md +16 -6
- package/README.md +69 -24
- package/dist/clerk.d.ts +35 -0
- package/dist/clerk.js +201 -0
- package/dist/cli.js +1589 -103
- package/dist/composio-catalog.d.ts +234 -0
- package/dist/composio-catalog.js +1894 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.js +27 -1
- package/dist/durable-workflow.d.ts +45 -0
- package/dist/durable-workflow.js +90 -0
- package/dist/engine.d.ts +315 -6
- package/dist/engine.js +1778 -94
- package/dist/mcp-schema.d.ts +286 -0
- package/dist/mcp-schema.js +2559 -0
- package/dist/mcp.d.ts +2 -25
- package/dist/mcp.js +949 -507
- package/dist/memory-graph.d.ts +21 -0
- package/dist/memory-graph.js +173 -0
- package/dist/nl.js +214 -35
- package/dist/oauth.d.ts +32 -0
- package/dist/oauth.js +134 -0
- package/dist/policy.d.ts +190 -0
- package/dist/policy.js +1597 -0
- package/dist/providers/composio-instant.d.ts +4 -0
- package/dist/providers/composio-instant.js +890 -535
- package/dist/providers/composio-sdk.d.ts +126 -5
- package/dist/providers/composio-sdk.js +902 -79
- package/dist/providers/microsoft-governance.d.ts +89 -3
- package/dist/providers/microsoft-governance.js +673 -26
- package/dist/providers/stripe-billing.d.ts +42 -0
- package/dist/providers/stripe-billing.js +244 -5
- package/dist/providers/stripe-projects.d.ts +459 -4
- package/dist/providers/stripe-projects.js +2674 -122
- package/dist/providers/supermemory.d.ts +102 -6
- package/dist/providers/supermemory.js +609 -55
- package/dist/provisioning-managed.d.ts +50 -0
- package/dist/provisioning-managed.js +155 -0
- package/dist/sdk.d.ts +705 -7
- package/dist/sdk.js +488 -10
- package/dist/server.js +2646 -348
- package/dist/store.d.ts +138 -6
- package/dist/store.js +932 -58
- package/dist/types.d.ts +312 -4
- package/dist/ui/console-html.d.ts +62 -0
- package/dist/ui/console-html.js +3742 -2228
- package/dist/ui/design-tokens.d.ts +177 -0
- package/dist/ui/design-tokens.js +210 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +1 -0
- package/package.json +5 -4
- package/plugins/muxo/.app.json +1 -1
- package/plugins/muxo/.claude-plugin/plugin.json +3 -3
- package/plugins/muxo/.codex-plugin/plugin.json +19 -10
- package/plugins/muxo/.cursor-plugin/plugin.json +30 -0
- package/plugins/muxo/.mcp.json +1 -33
- package/plugins/muxo/assets/logo.png +0 -0
- package/plugins/muxo/hooks/session-start.sh +16 -4
- package/plugins/muxo/hooks/user-prompt-submit.sh +14 -1
- package/plugins/muxo/mcp.json +0 -10
- package/plugins/muxo/plugin.json +65 -8
- package/plugins/muxo/skills/muxo/SKILL.md +142 -14
- package/plugins/muxo/skills/muxo/agents/openai.yaml +12 -0
- package/plugins/muxo/skills/muxo/references/cli.md +9 -3
- package/plugins/muxo/skills/muxo/references/mcp.md +22 -10
- package/plugins/muxo/skills/muxo-activity-summary/SKILL.md +81 -0
- package/plugins/muxo/skills/setup/SKILL.md +17 -3
- package/plugins/muxo/skills/setup/agents/openai.yaml +12 -0
- package/src/catalogues/stripe-projects-catalog.json +140 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console copy of the muxo.ai / docs.muxo.ai design system.
|
|
3
|
+
* Source of truth: web/src/data/design-system.ts. tests/e2e.test.ts asserts these values stay identical.
|
|
4
|
+
*/
|
|
5
|
+
export declare const muxoThemes: Readonly<{
|
|
6
|
+
light: Readonly<{
|
|
7
|
+
bg: "#ffffff";
|
|
8
|
+
surface: "#ffffff";
|
|
9
|
+
"surface-2": "#f5f5f7";
|
|
10
|
+
elevated: "#ffffff";
|
|
11
|
+
sidebar: "#fafafa";
|
|
12
|
+
border: "#e5e5e7";
|
|
13
|
+
"border-strong": "#d2d2d7";
|
|
14
|
+
"control-border": "#8c8c91";
|
|
15
|
+
text: "#1d1d1f";
|
|
16
|
+
muted: "#6e6e73";
|
|
17
|
+
faint: "#86868b";
|
|
18
|
+
accent: "#0066cc";
|
|
19
|
+
"accent-hover": "#0057ad";
|
|
20
|
+
"accent-soft": "#edf5ff";
|
|
21
|
+
"button-primary": "#0071e3";
|
|
22
|
+
"button-primary-hover": "#0066cc";
|
|
23
|
+
"button-text": "#ffffff";
|
|
24
|
+
"button-danger": "#b42318";
|
|
25
|
+
"button-danger-hover": "#9f2118";
|
|
26
|
+
ok: "#247047";
|
|
27
|
+
"ok-bg": "#edf7ef";
|
|
28
|
+
"ok-border": "#cce5d3";
|
|
29
|
+
warn: "#83502b";
|
|
30
|
+
"warn-bg": "#fff7eb";
|
|
31
|
+
"warn-border": "#ead9be";
|
|
32
|
+
danger: "#b42318";
|
|
33
|
+
"danger-bg": "#fff1f0";
|
|
34
|
+
"danger-border": "#f1ccc8";
|
|
35
|
+
scrim: "rgba(0, 0, 0, .4)";
|
|
36
|
+
navigation: "rgba(255, 255, 255, .94)";
|
|
37
|
+
"logo-surface": "#ffffff";
|
|
38
|
+
}>;
|
|
39
|
+
dark: Readonly<{
|
|
40
|
+
bg: "#000000";
|
|
41
|
+
surface: "#161617";
|
|
42
|
+
"surface-2": "#1c1c1e";
|
|
43
|
+
elevated: "#242426";
|
|
44
|
+
sidebar: "#101012";
|
|
45
|
+
border: "#303034";
|
|
46
|
+
"border-strong": "#424245";
|
|
47
|
+
"control-border": "#737378";
|
|
48
|
+
text: "#f5f5f7";
|
|
49
|
+
muted: "#a1a1a6";
|
|
50
|
+
faint: "#98989d";
|
|
51
|
+
accent: "#2997ff";
|
|
52
|
+
"accent-hover": "#64b5ff";
|
|
53
|
+
"accent-soft": "#12243a";
|
|
54
|
+
"button-primary": "#0071e3";
|
|
55
|
+
"button-primary-hover": "#0066cc";
|
|
56
|
+
"button-text": "#ffffff";
|
|
57
|
+
"button-danger": "#b42318";
|
|
58
|
+
"button-danger-hover": "#9f2118";
|
|
59
|
+
ok: "#7edc96";
|
|
60
|
+
"ok-bg": "#14251b";
|
|
61
|
+
"ok-border": "#284b34";
|
|
62
|
+
warn: "#e9b66c";
|
|
63
|
+
"warn-bg": "#2e2215";
|
|
64
|
+
"warn-border": "#5e4630";
|
|
65
|
+
danger: "#ff6961";
|
|
66
|
+
"danger-bg": "#2b1818";
|
|
67
|
+
"danger-border": "#5b2927";
|
|
68
|
+
scrim: "rgba(0, 0, 0, .72)";
|
|
69
|
+
navigation: "rgba(0, 0, 0, .94)";
|
|
70
|
+
"logo-surface": "#f5f5f7";
|
|
71
|
+
}>;
|
|
72
|
+
}>;
|
|
73
|
+
export declare const muxoDesignTokens: Readonly<{
|
|
74
|
+
"font-sans": "-apple-system,BlinkMacSystemFont,system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif";
|
|
75
|
+
"font-display": "var(--font-sans)";
|
|
76
|
+
"font-mono": "ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,monospace";
|
|
77
|
+
"space-1": "4px";
|
|
78
|
+
"space-2": "8px";
|
|
79
|
+
"space-3": "12px";
|
|
80
|
+
"space-4": "16px";
|
|
81
|
+
"space-5": "20px";
|
|
82
|
+
"space-6": "24px";
|
|
83
|
+
"space-8": "32px";
|
|
84
|
+
"space-10": "40px";
|
|
85
|
+
"space-12": "48px";
|
|
86
|
+
"space-16": "64px";
|
|
87
|
+
"space-20": "80px";
|
|
88
|
+
"space-24": "96px";
|
|
89
|
+
"radius-sm": "8px";
|
|
90
|
+
"radius-md": "12px";
|
|
91
|
+
"radius-lg": "24px";
|
|
92
|
+
"radius-xl": "32px";
|
|
93
|
+
"radius-pill": "999px";
|
|
94
|
+
"radius-button": "var(--radius-pill)";
|
|
95
|
+
"radius-field": "var(--radius-md)";
|
|
96
|
+
"radius-grid": "2px";
|
|
97
|
+
"text-xs": "12px";
|
|
98
|
+
"text-sm": "13px";
|
|
99
|
+
"text-base": "15px";
|
|
100
|
+
"text-body": "17px";
|
|
101
|
+
"text-lg": "18px";
|
|
102
|
+
"text-heading": "24px";
|
|
103
|
+
"text-control": "16px";
|
|
104
|
+
"text-title": "clamp(28px,3.2vw,40px)";
|
|
105
|
+
"text-editorial": "clamp(36px,4.2vw,48px)";
|
|
106
|
+
"text-display": "clamp(40px,6vw,64px)";
|
|
107
|
+
"text-section": "clamp(24px,3vw,32px)";
|
|
108
|
+
"text-lead": "clamp(17px,2vw,21px)";
|
|
109
|
+
"leading-title": "1.1";
|
|
110
|
+
"leading-body": "1.5";
|
|
111
|
+
"leading-reading": "1.65";
|
|
112
|
+
"tracking-heading": "-.015em";
|
|
113
|
+
"tracking-display": "-.025em";
|
|
114
|
+
"weight-body": "400";
|
|
115
|
+
"weight-heading": "600";
|
|
116
|
+
"control-height": "44px";
|
|
117
|
+
"header-height": "52px";
|
|
118
|
+
"sidebar-width": "256px";
|
|
119
|
+
"content-width": "1080px";
|
|
120
|
+
"grid-width": "1440px";
|
|
121
|
+
"docs-width": "1480px";
|
|
122
|
+
"docs-nav-width": "256px";
|
|
123
|
+
"docs-toc-width": "192px";
|
|
124
|
+
"reading-width": "680px";
|
|
125
|
+
"page-gutter": "clamp(20px,4vw,48px)";
|
|
126
|
+
"section-space": "clamp(48px,6vw,80px)";
|
|
127
|
+
"panel-padding": "clamp(20px,3vw,32px)";
|
|
128
|
+
"motion-fast": "160ms";
|
|
129
|
+
"motion-normal": "240ms";
|
|
130
|
+
"ease-out": "cubic-bezier(.2,.8,.2,1)";
|
|
131
|
+
"shadow-card": "none";
|
|
132
|
+
"shadow-dialog": "0 24px 80px rgba(0,0,0,.16)";
|
|
133
|
+
}>;
|
|
134
|
+
export declare const THEME_STORAGE_KEY = "muxo-theme-v2";
|
|
135
|
+
/** Tokens, theme switching, and the base element styles shared by every Muxo surface. */
|
|
136
|
+
export declare const muxoBaseCss: string;
|
|
137
|
+
/** Runs before first paint so the saved theme never flashes. */
|
|
138
|
+
export declare const muxoThemeBootstrap: string;
|
|
139
|
+
/** Muxo's own mark (same markup as web/vendor/packages/runtime/src/brand.ts). */
|
|
140
|
+
export declare const muxoMark = "<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"><g stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 5h6l7 7\"/><path d=\"M2 12h13\"/><path d=\"M2 19h6l7-7\"/><path d=\"M15 12h4\"/></g><rect x=\"19\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\" fill=\"var(--color-button-primary, #0071e3)\"/></svg>";
|
|
141
|
+
export declare const iconPaths: {
|
|
142
|
+
readonly arrow: "<path d=\"M5 12h14m-5-5 5 5-5 5\"/>";
|
|
143
|
+
readonly book: "<path d=\"M12 6v14M3 4h4a5 5 0 0 1 5 2 5 5 0 0 1 5-2h4v15h-4a5 5 0 0 0-5 2 5 5 0 0 0-5-2H3z\"/>";
|
|
144
|
+
readonly check: "<path d=\"m5 12 4 4L19 6\"/>";
|
|
145
|
+
readonly chevron: "<path d=\"m9 5 7 7-7 7\"/>";
|
|
146
|
+
readonly close: "<path d=\"m6 6 12 12M18 6 6 18\"/>";
|
|
147
|
+
readonly code: "<path d=\"m8 7-5 5 5 5m8-10 5 5-5 5m-3-13-2 16\"/>";
|
|
148
|
+
readonly copy: "<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V4H4v12h4\"/>";
|
|
149
|
+
readonly cloud: "<path d=\"M7 18a5 5 0 0 1-1-9 6 6 0 0 1 11-2 5 5 0 1 1 1 11H7z\"/>";
|
|
150
|
+
readonly help: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M9.1 9a3 3 0 0 1 5.8 1c0 2-3 2-3 4m.1 3h.01\"/>";
|
|
151
|
+
readonly memory: "<rect x=\"5\" y=\"5\" width=\"14\" height=\"14\" rx=\"3\"/><path d=\"M9 9h6v6H9zM9 2v3m6-3v3M9 19v3m6-3v3M2 9h3m-3 6h3m14-6h3m-3 6h3\"/>";
|
|
152
|
+
readonly activity: "<path d=\"M3 12h4l3-8 4 16 3-8h4\"/>";
|
|
153
|
+
readonly usage: "<path d=\"M4 20h16M7 15V9m5 6V4m5 11v-3\"/>";
|
|
154
|
+
readonly users: "<circle cx=\"9\" cy=\"8\" r=\"3\"/><path d=\"M3 20v-2a6 6 0 0 1 12 0v2m2-15a3 3 0 0 1 0 6m1 3a5 5 0 0 1 3 4v2\"/>";
|
|
155
|
+
readonly grid: "<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"/>";
|
|
156
|
+
readonly key: "<circle cx=\"8\" cy=\"9\" r=\"5\"/><path d=\"m12 13 8 8m-3-3 3-3m-6 0 3-3\"/>";
|
|
157
|
+
readonly link: "<path d=\"M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7L11.5 5M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l1.5-1.5\"/>";
|
|
158
|
+
readonly lock: "<rect x=\"5\" y=\"10\" width=\"14\" height=\"11\" rx=\"2\"/><path d=\"M8 10V7a4 4 0 0 1 8 0v3m-4 4v3\"/>";
|
|
159
|
+
readonly menu: "<path d=\"M4 6h16M4 12h16M4 18h16\"/>";
|
|
160
|
+
readonly moon: "<path d=\"M20.9 13A9 9 0 0 1 11 3.1 9 9 0 1 0 20.9 13Z\"/>";
|
|
161
|
+
readonly plus: "<path d=\"M12 5v14M5 12h14\"/>";
|
|
162
|
+
readonly refresh: "<path d=\"M20 7v5h-5M4 17v-5h5m10-5a8 8 0 0 0-13-2L4 7m16 10-2 2a8 8 0 0 1-13-2\"/>";
|
|
163
|
+
readonly search: "<circle cx=\"10.5\" cy=\"10.5\" r=\"7.5\"/><path d=\"m16 16 5 5\"/>";
|
|
164
|
+
readonly sidebar: "<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3\"/><path d=\"M9 3v18\"/>";
|
|
165
|
+
readonly shield: "<path d=\"m12 3 8 3v6c0 5-8 9-8 9s-8-4-8-9V6z\"/><path d=\"m8 12 3 3 5-6\"/>";
|
|
166
|
+
readonly sun: "<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5\"/>";
|
|
167
|
+
readonly terminal: "<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 8 4 4-4 4m6 0h4\"/>";
|
|
168
|
+
readonly download: "<path d=\"M12 3v12m-5-5 5 5 5-5M4 16v5h16v-5\"/>";
|
|
169
|
+
readonly external: "<path d=\"M14 3h7v7m0-7L10 14m0-11H3v18h18v-7\"/>";
|
|
170
|
+
readonly home: "<path d=\"M3 11 12 4l9 7\"/><path d=\"M5 10v10h14V10\"/>";
|
|
171
|
+
readonly wallet: "<rect x=\"3\" y=\"6\" width=\"18\" height=\"14\" rx=\"3\"/><path d=\"M3 10h18M16 15h2\"/>";
|
|
172
|
+
readonly pause: "<rect x=\"6\" y=\"5\" width=\"4\" height=\"14\" rx=\"1\"/><rect x=\"14\" y=\"5\" width=\"4\" height=\"14\" rx=\"1\"/>";
|
|
173
|
+
readonly play: "<path d=\"M7 5v14l12-7z\"/>";
|
|
174
|
+
readonly spark: "<path d=\"M12 3v4m0 10v4M3 12h4m10 0h4M6 6l2.5 2.5m7 7L18 18M6 18l2.5-2.5m7-7L18 6\"/>";
|
|
175
|
+
};
|
|
176
|
+
export type IconName = keyof typeof iconPaths;
|
|
177
|
+
export declare function uiIcon(name: IconName, className?: string): string;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console copy of the muxo.ai / docs.muxo.ai design system.
|
|
3
|
+
* Source of truth: web/src/data/design-system.ts. tests/e2e.test.ts asserts these values stay identical.
|
|
4
|
+
*/
|
|
5
|
+
export const muxoThemes = Object.freeze({
|
|
6
|
+
light: Object.freeze({
|
|
7
|
+
bg: "#ffffff",
|
|
8
|
+
surface: "#ffffff",
|
|
9
|
+
"surface-2": "#f5f5f7",
|
|
10
|
+
elevated: "#ffffff",
|
|
11
|
+
sidebar: "#fafafa",
|
|
12
|
+
border: "#e5e5e7",
|
|
13
|
+
"border-strong": "#d2d2d7",
|
|
14
|
+
"control-border": "#8c8c91",
|
|
15
|
+
text: "#1d1d1f",
|
|
16
|
+
muted: "#6e6e73",
|
|
17
|
+
faint: "#86868b",
|
|
18
|
+
accent: "#0066cc",
|
|
19
|
+
"accent-hover": "#0057ad",
|
|
20
|
+
"accent-soft": "#edf5ff",
|
|
21
|
+
"button-primary": "#0071e3",
|
|
22
|
+
"button-primary-hover": "#0066cc",
|
|
23
|
+
"button-text": "#ffffff",
|
|
24
|
+
"button-danger": "#b42318",
|
|
25
|
+
"button-danger-hover": "#9f2118",
|
|
26
|
+
ok: "#247047",
|
|
27
|
+
"ok-bg": "#edf7ef",
|
|
28
|
+
"ok-border": "#cce5d3",
|
|
29
|
+
warn: "#83502b",
|
|
30
|
+
"warn-bg": "#fff7eb",
|
|
31
|
+
"warn-border": "#ead9be",
|
|
32
|
+
danger: "#b42318",
|
|
33
|
+
"danger-bg": "#fff1f0",
|
|
34
|
+
"danger-border": "#f1ccc8",
|
|
35
|
+
scrim: "rgba(0, 0, 0, .4)",
|
|
36
|
+
navigation: "rgba(255, 255, 255, .94)",
|
|
37
|
+
"logo-surface": "#ffffff",
|
|
38
|
+
}),
|
|
39
|
+
dark: Object.freeze({
|
|
40
|
+
bg: "#000000",
|
|
41
|
+
surface: "#161617",
|
|
42
|
+
"surface-2": "#1c1c1e",
|
|
43
|
+
elevated: "#242426",
|
|
44
|
+
sidebar: "#101012",
|
|
45
|
+
border: "#303034",
|
|
46
|
+
"border-strong": "#424245",
|
|
47
|
+
"control-border": "#737378",
|
|
48
|
+
text: "#f5f5f7",
|
|
49
|
+
muted: "#a1a1a6",
|
|
50
|
+
faint: "#98989d",
|
|
51
|
+
accent: "#2997ff",
|
|
52
|
+
"accent-hover": "#64b5ff",
|
|
53
|
+
"accent-soft": "#12243a",
|
|
54
|
+
"button-primary": "#0071e3",
|
|
55
|
+
"button-primary-hover": "#0066cc",
|
|
56
|
+
"button-text": "#ffffff",
|
|
57
|
+
"button-danger": "#b42318",
|
|
58
|
+
"button-danger-hover": "#9f2118",
|
|
59
|
+
ok: "#7edc96",
|
|
60
|
+
"ok-bg": "#14251b",
|
|
61
|
+
"ok-border": "#284b34",
|
|
62
|
+
warn: "#e9b66c",
|
|
63
|
+
"warn-bg": "#2e2215",
|
|
64
|
+
"warn-border": "#5e4630",
|
|
65
|
+
danger: "#ff6961",
|
|
66
|
+
"danger-bg": "#2b1818",
|
|
67
|
+
"danger-border": "#5b2927",
|
|
68
|
+
scrim: "rgba(0, 0, 0, .72)",
|
|
69
|
+
navigation: "rgba(0, 0, 0, .94)",
|
|
70
|
+
"logo-surface": "#f5f5f7",
|
|
71
|
+
}),
|
|
72
|
+
});
|
|
73
|
+
export const muxoDesignTokens = Object.freeze({
|
|
74
|
+
"font-sans": '-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif',
|
|
75
|
+
"font-display": "var(--font-sans)",
|
|
76
|
+
"font-mono": 'ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace',
|
|
77
|
+
"space-1": "4px",
|
|
78
|
+
"space-2": "8px",
|
|
79
|
+
"space-3": "12px",
|
|
80
|
+
"space-4": "16px",
|
|
81
|
+
"space-5": "20px",
|
|
82
|
+
"space-6": "24px",
|
|
83
|
+
"space-8": "32px",
|
|
84
|
+
"space-10": "40px",
|
|
85
|
+
"space-12": "48px",
|
|
86
|
+
"space-16": "64px",
|
|
87
|
+
"space-20": "80px",
|
|
88
|
+
"space-24": "96px",
|
|
89
|
+
"radius-sm": "8px",
|
|
90
|
+
"radius-md": "12px",
|
|
91
|
+
"radius-lg": "24px",
|
|
92
|
+
"radius-xl": "32px",
|
|
93
|
+
"radius-pill": "999px",
|
|
94
|
+
"radius-button": "var(--radius-pill)",
|
|
95
|
+
"radius-field": "var(--radius-md)",
|
|
96
|
+
"radius-grid": "2px",
|
|
97
|
+
"text-xs": "12px",
|
|
98
|
+
"text-sm": "13px",
|
|
99
|
+
"text-base": "15px",
|
|
100
|
+
"text-body": "17px",
|
|
101
|
+
"text-lg": "18px",
|
|
102
|
+
"text-heading": "24px",
|
|
103
|
+
"text-control": "16px",
|
|
104
|
+
"text-title": "clamp(28px,3.2vw,40px)",
|
|
105
|
+
"text-editorial": "clamp(36px,4.2vw,48px)",
|
|
106
|
+
"text-display": "clamp(40px,6vw,64px)",
|
|
107
|
+
"text-section": "clamp(24px,3vw,32px)",
|
|
108
|
+
"text-lead": "clamp(17px,2vw,21px)",
|
|
109
|
+
"leading-title": "1.1",
|
|
110
|
+
"leading-body": "1.5",
|
|
111
|
+
"leading-reading": "1.65",
|
|
112
|
+
"tracking-heading": "-.015em",
|
|
113
|
+
"tracking-display": "-.025em",
|
|
114
|
+
"weight-body": "400",
|
|
115
|
+
"weight-heading": "600",
|
|
116
|
+
"control-height": "44px",
|
|
117
|
+
"header-height": "52px",
|
|
118
|
+
"sidebar-width": "256px",
|
|
119
|
+
"content-width": "1080px",
|
|
120
|
+
"grid-width": "1440px",
|
|
121
|
+
"docs-width": "1480px",
|
|
122
|
+
"docs-nav-width": "256px",
|
|
123
|
+
"docs-toc-width": "192px",
|
|
124
|
+
"reading-width": "680px",
|
|
125
|
+
"page-gutter": "clamp(20px,4vw,48px)",
|
|
126
|
+
"section-space": "clamp(48px,6vw,80px)",
|
|
127
|
+
"panel-padding": "clamp(20px,3vw,32px)",
|
|
128
|
+
"motion-fast": "160ms",
|
|
129
|
+
"motion-normal": "240ms",
|
|
130
|
+
"ease-out": "cubic-bezier(.2,.8,.2,1)",
|
|
131
|
+
"shadow-card": "none",
|
|
132
|
+
"shadow-dialog": "0 24px 80px rgba(0,0,0,.16)",
|
|
133
|
+
});
|
|
134
|
+
export const THEME_STORAGE_KEY = "muxo-theme-v2";
|
|
135
|
+
const properties = (values, prefix = "") => Object.entries(values)
|
|
136
|
+
.map(([name, value]) => `--${prefix}${name}:${value};`)
|
|
137
|
+
.join("\n");
|
|
138
|
+
/** Tokens, theme switching, and the base element styles shared by every Muxo surface. */
|
|
139
|
+
export const muxoBaseCss = `
|
|
140
|
+
:root {
|
|
141
|
+
${properties(muxoThemes.light, "color-")}
|
|
142
|
+
${properties(muxoDesignTokens)}
|
|
143
|
+
color-scheme:light;
|
|
144
|
+
}
|
|
145
|
+
html[data-theme="dark"] {
|
|
146
|
+
${properties(muxoThemes.dark, "color-")}
|
|
147
|
+
--shadow-dialog:0 24px 80px rgba(0,0,0,.5);
|
|
148
|
+
color-scheme:dark;
|
|
149
|
+
}
|
|
150
|
+
*{box-sizing:border-box}
|
|
151
|
+
html{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-kerning:normal}
|
|
152
|
+
body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-body);line-height:var(--leading-body);background:var(--color-bg);color:var(--color-text)}
|
|
153
|
+
button,input,select,textarea{font:inherit;color:inherit}
|
|
154
|
+
button{appearance:none;-webkit-appearance:none;cursor:pointer}
|
|
155
|
+
button:disabled{cursor:not-allowed;opacity:.5}
|
|
156
|
+
button,a,input,select,textarea,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
|
|
157
|
+
input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}
|
|
158
|
+
h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);margin:0}
|
|
159
|
+
p{margin:0}
|
|
160
|
+
code,pre,kbd{font-family:var(--font-mono)}
|
|
161
|
+
a{color:var(--color-accent);text-underline-offset:4px}
|
|
162
|
+
.ui-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;pointer-events:none}
|
|
163
|
+
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
164
|
+
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}
|
|
165
|
+
[hidden]{display:none!important}
|
|
166
|
+
::selection{background:var(--color-accent-soft);color:var(--color-text)}
|
|
167
|
+
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
|
|
168
|
+
`;
|
|
169
|
+
/** Runs before first paint so the saved theme never flashes. */
|
|
170
|
+
export const muxoThemeBootstrap = `(function(){var t=null;try{t=localStorage.getItem("${THEME_STORAGE_KEY}")}catch(e){}var d=t==="light"?"light":"dark";document.documentElement.dataset.theme=d;var m=document.querySelector('meta[name="theme-color"]');if(m)m.setAttribute("content",d==="dark"?"${muxoThemes.dark.bg}":"${muxoThemes.light.bg}");})();`;
|
|
171
|
+
/** Muxo's own mark (same markup as web/vendor/packages/runtime/src/brand.ts). */
|
|
172
|
+
export const muxoMark = `<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"><g stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M2 5h6l7 7"/><path d="M2 12h13"/><path d="M2 19h6l7-7"/><path d="M15 12h4"/></g><rect x="19" y="10" width="4" height="4" rx="1" fill="var(--color-button-primary, #0071e3)"/></svg>`;
|
|
173
|
+
export const iconPaths = {
|
|
174
|
+
arrow: '<path d="M5 12h14m-5-5 5 5-5 5"/>',
|
|
175
|
+
book: '<path d="M12 6v14M3 4h4a5 5 0 0 1 5 2 5 5 0 0 1 5-2h4v15h-4a5 5 0 0 0-5 2 5 5 0 0 0-5-2H3z"/>',
|
|
176
|
+
check: '<path d="m5 12 4 4L19 6"/>',
|
|
177
|
+
chevron: '<path d="m9 5 7 7-7 7"/>',
|
|
178
|
+
close: '<path d="m6 6 12 12M18 6 6 18"/>',
|
|
179
|
+
code: '<path d="m8 7-5 5 5 5m8-10 5 5-5 5m-3-13-2 16"/>',
|
|
180
|
+
copy: '<rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V4H4v12h4"/>',
|
|
181
|
+
cloud: '<path d="M7 18a5 5 0 0 1-1-9 6 6 0 0 1 11-2 5 5 0 1 1 1 11H7z"/>',
|
|
182
|
+
help: '<circle cx="12" cy="12" r="9"/><path d="M9.1 9a3 3 0 0 1 5.8 1c0 2-3 2-3 4m.1 3h.01"/>',
|
|
183
|
+
memory: '<rect x="5" y="5" width="14" height="14" rx="3"/><path d="M9 9h6v6H9zM9 2v3m6-3v3M9 19v3m6-3v3M2 9h3m-3 6h3m14-6h3m-3 6h3"/>',
|
|
184
|
+
activity: '<path d="M3 12h4l3-8 4 16 3-8h4"/>',
|
|
185
|
+
usage: '<path d="M4 20h16M7 15V9m5 6V4m5 11v-3"/>',
|
|
186
|
+
users: '<circle cx="9" cy="8" r="3"/><path d="M3 20v-2a6 6 0 0 1 12 0v2m2-15a3 3 0 0 1 0 6m1 3a5 5 0 0 1 3 4v2"/>',
|
|
187
|
+
grid: '<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',
|
|
188
|
+
key: '<circle cx="8" cy="9" r="5"/><path d="m12 13 8 8m-3-3 3-3m-6 0 3-3"/>',
|
|
189
|
+
link: '<path d="M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7L11.5 5M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l1.5-1.5"/>',
|
|
190
|
+
lock: '<rect x="5" y="10" width="14" height="11" rx="2"/><path d="M8 10V7a4 4 0 0 1 8 0v3m-4 4v3"/>',
|
|
191
|
+
menu: '<path d="M4 6h16M4 12h16M4 18h16"/>',
|
|
192
|
+
moon: '<path d="M20.9 13A9 9 0 0 1 11 3.1 9 9 0 1 0 20.9 13Z"/>',
|
|
193
|
+
plus: '<path d="M12 5v14M5 12h14"/>',
|
|
194
|
+
refresh: '<path d="M20 7v5h-5M4 17v-5h5m10-5a8 8 0 0 0-13-2L4 7m16 10-2 2a8 8 0 0 1-13-2"/>',
|
|
195
|
+
search: '<circle cx="10.5" cy="10.5" r="7.5"/><path d="m16 16 5 5"/>',
|
|
196
|
+
sidebar: '<rect x="3" y="3" width="18" height="18" rx="3"/><path d="M9 3v18"/>',
|
|
197
|
+
shield: '<path d="m12 3 8 3v6c0 5-8 9-8 9s-8-4-8-9V6z"/><path d="m8 12 3 3 5-6"/>',
|
|
198
|
+
sun: '<circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5"/>',
|
|
199
|
+
terminal: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="m7 8 4 4-4 4m6 0h4"/>',
|
|
200
|
+
download: '<path d="M12 3v12m-5-5 5 5 5-5M4 16v5h16v-5"/>',
|
|
201
|
+
external: '<path d="M14 3h7v7m0-7L10 14m0-11H3v18h18v-7"/>',
|
|
202
|
+
home: '<path d="M3 11 12 4l9 7"/><path d="M5 10v10h14V10"/>',
|
|
203
|
+
wallet: '<rect x="3" y="6" width="18" height="14" rx="3"/><path d="M3 10h18M16 15h2"/>',
|
|
204
|
+
pause: '<rect x="6" y="5" width="4" height="14" rx="1"/><rect x="14" y="5" width="4" height="14" rx="1"/>',
|
|
205
|
+
play: '<path d="M7 5v14l12-7z"/>',
|
|
206
|
+
spark: '<path d="M12 3v4m0 10v4M3 12h4m10 0h4M6 6l2.5 2.5m7 7L18 18M6 18l2.5-2.5m7-7L18 6"/>',
|
|
207
|
+
};
|
|
208
|
+
export function uiIcon(name, className = "") {
|
|
209
|
+
return `<svg class="ui-icon ${className}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">${iconPaths[name]}</svg>`;
|
|
210
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MUXO_VERSION = "1.4.2";
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const MUXO_VERSION = "1.4.2";
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muxoai/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Muxo — Unified Execution, Provisioning & Governance Platform over Composio, Stripe Projects, Microsoft Agent Governance & Supermemory",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://muxo.ai",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
10
|
+
"url": "git+https://github.com/Muxoai/muxo3.git"
|
|
11
11
|
},
|
|
12
12
|
"keywords": [
|
|
13
13
|
"muxo",
|
|
@@ -52,12 +52,13 @@
|
|
|
52
52
|
"ARCHITECTURE.md"
|
|
53
53
|
],
|
|
54
54
|
"scripts": {
|
|
55
|
-
"build": "tsc",
|
|
55
|
+
"build": "tsc && tsc --noEmit -p worker/tsconfig.json",
|
|
56
56
|
"start": "node --no-warnings dist/server.js",
|
|
57
57
|
"dev": "tsx watch src/server.ts",
|
|
58
58
|
"cli": "tsx src/cli.ts",
|
|
59
59
|
"mcp": "tsx src/cli.ts mcp",
|
|
60
|
-
"test": "node --no-warnings --import tsx --test tests/*.test.ts"
|
|
60
|
+
"test": "node --no-warnings --import tsx --test tests/*.test.ts",
|
|
61
|
+
"test:browser": "node --no-warnings --import tsx --test tests/browser-cli-harness.test.ts"
|
|
61
62
|
},
|
|
62
63
|
"engines": {
|
|
63
64
|
"node": ">=22.0.0"
|
package/plugins/muxo/.app.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "muxo",
|
|
3
|
-
"version": "1.2
|
|
4
|
-
"description": "Governed agent execution across 1,000+ Connected Apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning,
|
|
3
|
+
"version": "1.4.2",
|
|
4
|
+
"description": "Governed agent execution across 1,000+ Connected Apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning, Workspace Memory recall, and verifiable audit records.",
|
|
5
5
|
"author": {
|
|
6
|
-
"name": "Muxo",
|
|
6
|
+
"name": "Muxo AI LLC",
|
|
7
7
|
"email": "founders@muxo.ai",
|
|
8
8
|
"url": "https://muxo.ai"
|
|
9
9
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "muxo",
|
|
3
|
-
"version": "1.2
|
|
4
|
-
"description": "Your agent decides what to do — Muxo governs, provisions, remembers, and executes it. Unified access to 1,000+
|
|
3
|
+
"version": "1.4.2",
|
|
4
|
+
"description": "Your agent decides what to do — Muxo governs, provisions, remembers, and executes it. Unified access to 1,000+ Connected Apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning (Postgres, Redis, SQLite, Storage), Workspace Memory recall, and verifiable audit records.",
|
|
5
5
|
"author": {
|
|
6
|
-
"name": "Muxo",
|
|
6
|
+
"name": "Muxo AI LLC",
|
|
7
7
|
"email": "founders@muxo.ai",
|
|
8
8
|
"url": "https://muxo.ai"
|
|
9
9
|
},
|
|
@@ -29,27 +29,36 @@
|
|
|
29
29
|
"skills": "./skills/",
|
|
30
30
|
"mcpServers": "./.mcp.json",
|
|
31
31
|
"apps": "./.app.json",
|
|
32
|
-
"
|
|
32
|
+
"extensions": {
|
|
33
|
+
"com.openai": {
|
|
34
|
+
"onboardingSkill": "./skills/setup/SKILL.md",
|
|
35
|
+
"publication": {
|
|
36
|
+
"release_notes": "Muxo v1.4.2: Unified governed execution across 1,000+ Connected Apps, Instant web/SEO tools, 94 Stripe Projects Cloud Infrastructure services, MCP 2026-07-28 compliance, and Workspace Memory."
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
33
40
|
"interface": {
|
|
34
41
|
"displayName": "Muxo",
|
|
35
|
-
"shortDescription": "Governed SaaS
|
|
36
|
-
"longDescription": "Discover, plan, authorize via OAuth handoff, and execute governed actions across 1,000+ Connected Apps (GitHub, Gmail, Slack, Notion, Linear), Instant Tools (web search, scrape, multi-page crawl, technical SEO audit), and live Cloud Infrastructure (
|
|
37
|
-
"developerName": "Muxo",
|
|
42
|
+
"shortDescription": "Governed SaaS, cloud & memory",
|
|
43
|
+
"longDescription": "Discover, plan, authorize via OAuth handoff, and execute governed actions across 1,000+ Connected Apps (GitHub, Gmail, Slack, Notion, Linear), Instant Tools (web search, scrape, multi-page crawl, technical SEO audit), and live Cloud Infrastructure (Turso SQLite, Neon Postgres, Supabase, Upstash Redis, Resend) with Workspace Memory recall and verifiable audit logs.",
|
|
44
|
+
"developerName": "Muxo AI LLC",
|
|
38
45
|
"category": "Productivity",
|
|
39
46
|
"capabilities": [
|
|
40
47
|
"Interactive",
|
|
41
48
|
"Write"
|
|
42
49
|
],
|
|
43
50
|
"websiteURL": "https://muxo.ai",
|
|
51
|
+
"supportURL": "https://muxo.ai/support",
|
|
44
52
|
"privacyPolicyURL": "https://muxo.ai/privacy",
|
|
45
53
|
"termsOfServiceURL": "https://muxo.ai/terms",
|
|
46
54
|
"defaultPrompt": [
|
|
47
55
|
"Audit https://muxo.ai for technical SEO and crawl its top pages.",
|
|
48
|
-
"Connect my
|
|
49
|
-
"Provision a
|
|
56
|
+
"Connect my Gmail or GitHub account via OAuth handoff and fetch recent items.",
|
|
57
|
+
"Provision a Turso SQLite database and store its connection secrets in the Muxo Vault."
|
|
50
58
|
],
|
|
51
59
|
"composerIcon": "./assets/logo.png",
|
|
52
60
|
"logo": "./assets/logo.png",
|
|
53
|
-
"brandColor": "#6366F1"
|
|
61
|
+
"brandColor": "#6366F1",
|
|
62
|
+
"brandColorDark": "#818CF8"
|
|
54
63
|
}
|
|
55
64
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "muxo",
|
|
3
|
+
"description": "Your agent decides what to do — Muxo governs, provisions, remembers, and executes it. Connect and operate 1,000+ external apps via managed OAuth, zero-auth Instant Tools (web search, scrape, crawl, SEO audit, remote workbench), live Cloud Infrastructure provisioning (Stripe Projects), and Workspace Memory from Cursor.",
|
|
4
|
+
"version": "1.4.2",
|
|
5
|
+
"mcpServers": "../mcp.json",
|
|
6
|
+
"skills": "../skills/",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Muxo AI LLC",
|
|
9
|
+
"email": "founders@muxo.ai",
|
|
10
|
+
"url": "https://muxo.ai"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://muxo.ai",
|
|
13
|
+
"repository": "https://github.com/muxo-ai/muxo",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"muxo",
|
|
17
|
+
"mcp",
|
|
18
|
+
"cursor",
|
|
19
|
+
"composio",
|
|
20
|
+
"stripe-projects",
|
|
21
|
+
"integrations",
|
|
22
|
+
"oauth",
|
|
23
|
+
"infrastructure",
|
|
24
|
+
"governance",
|
|
25
|
+
"supermemory",
|
|
26
|
+
"automation",
|
|
27
|
+
"productivity"
|
|
28
|
+
],
|
|
29
|
+
"logo": "../assets/logo.svg"
|
|
30
|
+
}
|
package/plugins/muxo/.mcp.json
CHANGED
|
@@ -1,40 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
|
|
3
2
|
"mcpServers": {
|
|
4
3
|
"muxo": {
|
|
5
|
-
"type": "streamable-http",
|
|
6
|
-
"url": "https://api.muxo.ai/mcp",
|
|
7
4
|
"command": "npx",
|
|
8
|
-
"args": ["-y", "@muxoai/
|
|
9
|
-
"oauth": {
|
|
10
|
-
"clientId": "muxo-openai-plugin",
|
|
11
|
-
"callbackPort": 3118,
|
|
12
|
-
"scopes": [
|
|
13
|
-
"muxo:mcp",
|
|
14
|
-
"muxo:read",
|
|
15
|
-
"muxo:execute",
|
|
16
|
-
"muxo:provision"
|
|
17
|
-
]
|
|
18
|
-
},
|
|
19
|
-
"extensions": {
|
|
20
|
-
"com.openai": {
|
|
21
|
-
"auth": {
|
|
22
|
-
"type": "mixed",
|
|
23
|
-
"client": {
|
|
24
|
-
"mode": "dcr"
|
|
25
|
-
},
|
|
26
|
-
"authorizationUrl": "https://api.muxo.ai/oauth/authorize",
|
|
27
|
-
"tokenUrl": "https://api.muxo.ai/oauth/token",
|
|
28
|
-
"registrationUrl": "https://api.muxo.ai/oauth/register",
|
|
29
|
-
"baseScopes": [
|
|
30
|
-
"muxo:mcp",
|
|
31
|
-
"muxo:read",
|
|
32
|
-
"muxo:execute",
|
|
33
|
-
"muxo:provision"
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
5
|
+
"args": ["-y", "@muxoai/cli@latest", "mcp"]
|
|
38
6
|
}
|
|
39
7
|
}
|
|
40
8
|
}
|
|
Binary file
|
|
@@ -23,10 +23,22 @@ if (command -v muxo >/dev/null 2>&1 || [ -f "$REPO_CLI" ]); then
|
|
|
23
23
|
(
|
|
24
24
|
tmp="$(mktemp "${CACHE}.XXXXXX" 2>/dev/null)" || exit 0
|
|
25
25
|
printf '%s\n' \
|
|
26
|
-
github gmail slack notion linear jira hubspot calendar
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
github gmail slack notion linear jira hubspot calendar googlecalendar \
|
|
27
|
+
discord googledrive airtable salesforce zendesk shopify pagerduty sentry \
|
|
28
|
+
stripe neon supabase turso upstash cloudflare vercel prisma mongodb \
|
|
29
|
+
planetscale clickhouse chroma clerk workos auth0 resend posthog datadog \
|
|
30
|
+
inngest railway flyio render netlify herenow e2b daytona browserbase steel \
|
|
31
|
+
exa firecrawl perplexity openrouter elevenlabs cloudinary agentmail twilio \
|
|
32
|
+
hackernews dns seo crawl scrape workbench supermemory governance guardrail receipt >"$tmp" 2>/dev/null
|
|
33
|
+
if command -v jq >/dev/null 2>&1; then
|
|
34
|
+
( run_muxo search "" --json 2>/dev/null \
|
|
35
|
+
| jq -r '(.tools // .)[]? | .provider // empty, .slug // empty' \
|
|
36
|
+
| tr '[:upper:]._' '[:lower:]\n\n' >>"$tmp" 2>/dev/null ) &
|
|
37
|
+
fpid=$!
|
|
38
|
+
wait "$fpid" 2>/dev/null || true
|
|
39
|
+
fi
|
|
29
40
|
if [ -s "$tmp" ]; then
|
|
41
|
+
sort -u "$tmp" >"${tmp}.u" 2>/dev/null && mv -f "${tmp}.u" "$tmp" 2>/dev/null || true
|
|
30
42
|
mv -f "$tmp" "$CACHE" 2>/dev/null || rm -f "$tmp" 2>/dev/null
|
|
31
43
|
else
|
|
32
44
|
rm -f "$tmp" 2>/dev/null
|
|
@@ -66,7 +78,7 @@ else
|
|
|
66
78
|
if whoami_output="$(run_muxo whoami 2>&1)" \
|
|
67
79
|
&& [ -n "$(printf '%s' "$whoami_output" | tr -d '[:space:]')" ] \
|
|
68
80
|
&& ! printf '%s' "$whoami_output" | grep -Eiq '"authenticated"[[:space:]]*:[[:space:]]*false|not[[:space:]-]+logged[[:space:]-]+in'; then
|
|
69
|
-
cli_status="The local Muxo CLI is available and signed in (
|
|
81
|
+
cli_status="The local Muxo CLI is available and signed in (Workspace Memory + Safety Guardrails active)."
|
|
70
82
|
fi
|
|
71
83
|
fi
|
|
72
84
|
|