@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.
Files changed (72) hide show
  1. package/.agents/plugins/marketplace.json +2 -2
  2. package/.claude-plugin/marketplace.json +19 -4
  3. package/.codex/config.toml +9 -2
  4. package/ARCHITECTURE.md +16 -6
  5. package/README.md +69 -24
  6. package/dist/clerk.d.ts +35 -0
  7. package/dist/clerk.js +201 -0
  8. package/dist/cli.js +1589 -103
  9. package/dist/composio-catalog.d.ts +234 -0
  10. package/dist/composio-catalog.js +1894 -0
  11. package/dist/config.d.ts +16 -0
  12. package/dist/config.js +27 -1
  13. package/dist/durable-workflow.d.ts +45 -0
  14. package/dist/durable-workflow.js +90 -0
  15. package/dist/engine.d.ts +315 -6
  16. package/dist/engine.js +1778 -94
  17. package/dist/mcp-schema.d.ts +286 -0
  18. package/dist/mcp-schema.js +2559 -0
  19. package/dist/mcp.d.ts +2 -25
  20. package/dist/mcp.js +949 -507
  21. package/dist/memory-graph.d.ts +21 -0
  22. package/dist/memory-graph.js +173 -0
  23. package/dist/nl.js +214 -35
  24. package/dist/oauth.d.ts +32 -0
  25. package/dist/oauth.js +134 -0
  26. package/dist/policy.d.ts +190 -0
  27. package/dist/policy.js +1597 -0
  28. package/dist/providers/composio-instant.d.ts +4 -0
  29. package/dist/providers/composio-instant.js +890 -535
  30. package/dist/providers/composio-sdk.d.ts +126 -5
  31. package/dist/providers/composio-sdk.js +902 -79
  32. package/dist/providers/microsoft-governance.d.ts +89 -3
  33. package/dist/providers/microsoft-governance.js +673 -26
  34. package/dist/providers/stripe-billing.d.ts +42 -0
  35. package/dist/providers/stripe-billing.js +244 -5
  36. package/dist/providers/stripe-projects.d.ts +459 -4
  37. package/dist/providers/stripe-projects.js +2674 -122
  38. package/dist/providers/supermemory.d.ts +102 -6
  39. package/dist/providers/supermemory.js +609 -55
  40. package/dist/provisioning-managed.d.ts +50 -0
  41. package/dist/provisioning-managed.js +155 -0
  42. package/dist/sdk.d.ts +705 -7
  43. package/dist/sdk.js +488 -10
  44. package/dist/server.js +2646 -348
  45. package/dist/store.d.ts +138 -6
  46. package/dist/store.js +932 -58
  47. package/dist/types.d.ts +312 -4
  48. package/dist/ui/console-html.d.ts +62 -0
  49. package/dist/ui/console-html.js +3742 -2228
  50. package/dist/ui/design-tokens.d.ts +177 -0
  51. package/dist/ui/design-tokens.js +210 -0
  52. package/dist/version.d.ts +1 -0
  53. package/dist/version.js +1 -0
  54. package/package.json +5 -4
  55. package/plugins/muxo/.app.json +1 -1
  56. package/plugins/muxo/.claude-plugin/plugin.json +3 -3
  57. package/plugins/muxo/.codex-plugin/plugin.json +19 -10
  58. package/plugins/muxo/.cursor-plugin/plugin.json +30 -0
  59. package/plugins/muxo/.mcp.json +1 -33
  60. package/plugins/muxo/assets/logo.png +0 -0
  61. package/plugins/muxo/hooks/session-start.sh +16 -4
  62. package/plugins/muxo/hooks/user-prompt-submit.sh +14 -1
  63. package/plugins/muxo/mcp.json +0 -10
  64. package/plugins/muxo/plugin.json +65 -8
  65. package/plugins/muxo/skills/muxo/SKILL.md +142 -14
  66. package/plugins/muxo/skills/muxo/agents/openai.yaml +12 -0
  67. package/plugins/muxo/skills/muxo/references/cli.md +9 -3
  68. package/plugins/muxo/skills/muxo/references/mcp.md +22 -10
  69. package/plugins/muxo/skills/muxo-activity-summary/SKILL.md +81 -0
  70. package/plugins/muxo/skills/setup/SKILL.md +17 -3
  71. package/plugins/muxo/skills/setup/agents/openai.yaml +12 -0
  72. package/src/catalogues/stripe-projects-catalog.json +140 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Muxo-managed stand-ins for Stripe v2 Provisioning objects, returned when no Stripe key is
3
+ * configured so both the Node server and the edge worker answer with the same shapes.
4
+ */
5
+ export type ManagedProvisioningObject = Record<string, unknown> & {
6
+ source: "muxo_managed";
7
+ };
8
+ export type ManagedResourceAction = "remove" | "unlink" | "rotate_credentials" | "submit_information";
9
+ export declare function managedProviderConnectionList(): ManagedProvisioningObject;
10
+ export declare function managedProviderConnectionUnlink(id: string): ManagedProvisioningObject;
11
+ export declare function managedProviderConnectionRequest(params: {
12
+ id?: string;
13
+ provider?: string;
14
+ requestStatus?: string;
15
+ }): ManagedProvisioningObject;
16
+ export declare function managedResource(params: {
17
+ id?: string;
18
+ provider?: string;
19
+ serviceRef?: string;
20
+ name?: string | null;
21
+ environment?: string;
22
+ catalog?: string;
23
+ status?: string;
24
+ }): ManagedProvisioningObject;
25
+ export declare function managedResourceAction(id: string, action: ManagedResourceAction): ManagedProvisioningObject;
26
+ export declare function managedConnectedAccount(params: {
27
+ id?: string;
28
+ contactEmail?: string;
29
+ displayName?: string;
30
+ country?: string;
31
+ entityType?: "individual" | "company";
32
+ }): ManagedProvisioningObject;
33
+ export declare function managedConnectedAccountLink(account: string): ManagedProvisioningObject;
34
+ export declare function managedConnectedAccountSession(params: {
35
+ account: string;
36
+ enableAccountManagement?: boolean;
37
+ enableNotificationBanner?: boolean;
38
+ }): ManagedProvisioningObject;
39
+ export declare function managedPaymentMethodRequest(params: {
40
+ publicWebUrl: string;
41
+ livemode: boolean;
42
+ }): ManagedProvisioningObject;
43
+ export declare const DEFAULT_PROVISIONING_EVENT_TYPES: string[];
44
+ export declare function managedEventDestination(params: {
45
+ url: string;
46
+ name?: string;
47
+ events?: string[];
48
+ }): ManagedProvisioningObject;
49
+ /** What Muxo does with a Stripe v2 thin event, keyed by event type. */
50
+ export declare function provisioningEventAction(eventType: string, hasRelatedObject: boolean): string;
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Muxo-managed stand-ins for Stripe v2 Provisioning objects, returned when no Stripe key is
3
+ * configured so both the Node server and the edge worker answer with the same shapes.
4
+ */
5
+ function managedId(prefix) {
6
+ const bytes = new Uint8Array(8);
7
+ crypto.getRandomValues(bytes);
8
+ return `${prefix}_muxo_${Array.from(bytes)
9
+ .map((b) => b.toString(16).padStart(2, "0"))
10
+ .join("")}`;
11
+ }
12
+ export function managedProviderConnectionList() {
13
+ return {
14
+ object: "v2.list",
15
+ data: [],
16
+ next_page_url: null,
17
+ previous_page_url: null,
18
+ source: "muxo_managed",
19
+ };
20
+ }
21
+ export function managedProviderConnectionUnlink(id) {
22
+ return {
23
+ id,
24
+ object: "v2.provisioning.provider_connection",
25
+ provider: null,
26
+ status: "unlinked",
27
+ livemode: false,
28
+ source: "muxo_managed",
29
+ };
30
+ }
31
+ export function managedProviderConnectionRequest(params) {
32
+ return {
33
+ id: params.id || managedId("pcr"),
34
+ object: "v2.provisioning.provider_connection_request",
35
+ provider: params.provider || null,
36
+ request_status: params.requestStatus || "requested",
37
+ redirect_url: null,
38
+ needs_information_schema: null,
39
+ provider_connection: null,
40
+ created: new Date().toISOString(),
41
+ livemode: false,
42
+ source: "muxo_managed",
43
+ };
44
+ }
45
+ export function managedResource(params) {
46
+ return {
47
+ id: params.id || managedId("res"),
48
+ object: "v2.provisioning.resource",
49
+ provider: params.provider || null,
50
+ service_ref: params.serviceRef || null,
51
+ name: params.name ?? null,
52
+ environment: params.environment === "dev" ? "dev" : "prod",
53
+ catalog: params.catalog || "prod",
54
+ status: params.status || "pending",
55
+ pending_action: null,
56
+ created: new Date().toISOString(),
57
+ livemode: false,
58
+ source: "muxo_managed",
59
+ };
60
+ }
61
+ const ACTION_STATUS = {
62
+ remove: "removed",
63
+ unlink: "unlinked",
64
+ rotate_credentials: "active",
65
+ submit_information: "provisioning",
66
+ };
67
+ export function managedResourceAction(id, action) {
68
+ return {
69
+ ...managedResource({ id, status: ACTION_STATUS[action] }),
70
+ action,
71
+ ...(action === "rotate_credentials" ? { credentials_rotated_at: new Date().toISOString() } : {}),
72
+ };
73
+ }
74
+ function hexOf(text, length) {
75
+ return Array.from(new TextEncoder().encode(text))
76
+ .map((b) => b.toString(16).padStart(2, "0"))
77
+ .join("")
78
+ .slice(0, length);
79
+ }
80
+ export function managedConnectedAccount(params) {
81
+ return {
82
+ id: params.id || `acct_v2_${hexOf(`${params.contactEmail || ""}:${params.displayName || ""}`, 12)}`,
83
+ object: "v2.core.account",
84
+ ...(params.contactEmail ? { contact_email: params.contactEmail } : {}),
85
+ display_name: params.displayName || "Muxo Tenant Account",
86
+ identity: { country: params.country || "US", entity_type: params.entityType || "company" },
87
+ configuration: { developer: { capabilities: { projects: { requested: true, status: "active" } } } },
88
+ requirements: { currently_due: [], eventually_due: [], past_due: [], entries: [] },
89
+ livemode: false,
90
+ source: "muxo_managed",
91
+ };
92
+ }
93
+ export function managedConnectedAccountLink(account) {
94
+ return {
95
+ object: "v2.core.account_link",
96
+ account,
97
+ url: `https://connect.stripe.com/setup/e/${encodeURIComponent(account)}/onboarding`,
98
+ created: new Date().toISOString(),
99
+ expires_at: new Date(Date.now() + 3600_000).toISOString(),
100
+ livemode: false,
101
+ source: "muxo_managed",
102
+ };
103
+ }
104
+ export function managedConnectedAccountSession(params) {
105
+ return {
106
+ object: "account_session",
107
+ account: params.account,
108
+ client_secret: `accs_secret_muxo_${hexOf(params.account, 16)}`,
109
+ components: {
110
+ account_onboarding: { enabled: true },
111
+ ...(params.enableAccountManagement ? { account_management: { enabled: true } } : {}),
112
+ ...(params.enableNotificationBanner !== false ? { notification_banner: { enabled: true } } : {}),
113
+ },
114
+ expires_at: Math.floor(Date.now() / 1000) + 3600,
115
+ livemode: false,
116
+ source: "muxo_managed",
117
+ };
118
+ }
119
+ export function managedPaymentMethodRequest(params) {
120
+ return {
121
+ object: "v2.provisioning.payment_method_request",
122
+ checkout_session_url: `${params.publicWebUrl}/?checkout=payment_method_request`,
123
+ status: "checkout_initiated",
124
+ livemode: params.livemode,
125
+ source: "muxo_managed",
126
+ };
127
+ }
128
+ export const DEFAULT_PROVISIONING_EVENT_TYPES = [
129
+ "v2.provisioning.resource.completed",
130
+ "v2.provisioning.resource.errored",
131
+ "v2.core.account[requirements].updated",
132
+ ];
133
+ export function managedEventDestination(params) {
134
+ return {
135
+ id: `ed_v2_${hexOf(params.url, 12)}`,
136
+ object: "v2.core.event_destination",
137
+ name: params.name || "Muxo Provisioning & Connect v2 Event Stream",
138
+ status: "enabled",
139
+ enabled_events: params.events?.length ? params.events : DEFAULT_PROVISIONING_EVENT_TYPES,
140
+ webhook_endpoint: { url: params.url },
141
+ livemode: false,
142
+ source: "muxo_managed",
143
+ };
144
+ }
145
+ /** What Muxo does with a Stripe v2 thin event, keyed by event type. */
146
+ export function provisioningEventAction(eventType, hasRelatedObject) {
147
+ if (eventType === "v2.provisioning.resource.completed" && hasRelatedObject) {
148
+ return "revealed_access_configuration_and_synced_vault";
149
+ }
150
+ if (eventType === "v2.provisioning.resource.errored")
151
+ return "marked_resource_errored";
152
+ if (eventType === "v2.core.account[requirements].updated")
153
+ return "flagged_connected_account_requirements_due";
154
+ return "recorded_v2_event";
155
+ }