@muxoai/platform 1.4.1 → 1.4.3
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 +1 -1
- package/.claude-plugin/marketplace.json +2 -2
- package/README.md +1 -1
- package/dist/cli.js +94 -3
- package/dist/composio-catalog.d.ts +177 -1
- package/dist/composio-catalog.js +1427 -7
- package/dist/config.d.ts +6 -0
- package/dist/config.js +11 -1
- package/dist/durable-workflow.d.ts +71 -4
- package/dist/durable-workflow.js +199 -5
- package/dist/engine.d.ts +82 -3
- package/dist/engine.js +406 -41
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/mcp-schema.d.ts +162 -1
- package/dist/mcp-schema.js +1544 -40
- package/dist/mcp.d.ts +2 -2
- package/dist/mcp.js +474 -26
- package/dist/memory-graph.d.ts +26 -2
- package/dist/memory-graph.js +127 -7
- package/dist/oss-suite.d.ts +217 -0
- package/dist/oss-suite.js +836 -0
- package/dist/policy.d.ts +108 -1
- package/dist/policy.js +406 -1
- package/dist/providers/composio-instant.js +38 -3
- package/dist/providers/composio-sdk.d.ts +59 -2
- package/dist/providers/composio-sdk.js +273 -59
- package/dist/providers/stripe-projects.d.ts +4 -0
- package/dist/providers/stripe-projects.js +548 -126
- package/dist/sdk.d.ts +24 -1
- package/dist/sdk.js +53 -2
- package/dist/server.js +659 -64
- package/dist/store.js +2 -0
- package/dist/types.d.ts +34 -1
- package/dist/ui/console-html.d.ts +31 -1
- package/dist/ui/console-html.js +922 -368
- package/dist/ui/design-tokens.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
- package/plugins/muxo/.claude-plugin/plugin.json +2 -2
- package/plugins/muxo/.codex-plugin/plugin.json +15 -8
- package/plugins/muxo/.cursor-plugin/plugin.json +30 -0
- package/plugins/muxo/hooks/session-start.sh +15 -3
- package/plugins/muxo/hooks/user-prompt-submit.sh +14 -1
- package/plugins/muxo/mcp.json +0 -10
- package/plugins/muxo/plugin.json +4 -4
- package/plugins/muxo/skills/muxo/SKILL.md +25 -16
- package/plugins/muxo/skills/muxo/references/cli.md +5 -1
- package/plugins/muxo/skills/muxo/references/mcp.md +11 -6
- package/plugins/muxo/skills/muxo-activity-summary/SKILL.md +81 -0
- package/plugins/muxo/skills/setup/SKILL.md +1 -1
- package/src/catalogues/stripe-projects-catalog.json +140 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"plugins": [
|
|
7
7
|
{
|
|
8
8
|
"name": "muxo",
|
|
9
|
-
"version": "1.4.
|
|
9
|
+
"version": "1.4.3",
|
|
10
10
|
"description": "Governed execution across 1,000+ Connected Apps, Instant Tools (search, scrape, crawl, SEO audit), Cloud Infrastructure provisioning, Workspace Memory recall, and cryptographic execution receipts.",
|
|
11
11
|
"source": {
|
|
12
12
|
"source": "local",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"metadata": {
|
|
10
10
|
"description": "Official Muxo plugin marketplace for governed execution across Connected Apps, Instant Tools, Cloud Infrastructure, and Workspace Memory.",
|
|
11
|
-
"version": "1.4.
|
|
11
|
+
"version": "1.4.3"
|
|
12
12
|
},
|
|
13
13
|
"plugins": [
|
|
14
14
|
{
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"strict": false,
|
|
21
21
|
"description": "Governed execution across 1,000+ Connected Apps, Instant Tools (search, scrape, crawl, SEO audit), Cloud Infrastructure provisioning, Workspace Memory recall, and verifiable audit records.",
|
|
22
|
-
"version": "1.4.
|
|
22
|
+
"version": "1.4.3",
|
|
23
23
|
"category": "Productivity",
|
|
24
24
|
"skills": [
|
|
25
25
|
"./plugins/muxo/skills/muxo",
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Muxo (`@muxoai/platform` / `@muxoai/cli` / `@muxoai/sdk`)
|
|
2
2
|
|
|
3
|
-
Muxo (`v1.4.
|
|
3
|
+
Muxo (`v1.4.3`) is the unified execution, cloud infrastructure provisioning, contextual memory, and cryptographic governance platform for AI agents and applications. Customers and their agents interact exclusively with **Muxo** — either via structured tool slugs or free-form **Natural Language** (`muxo do`, `POST /api/v1/do`, `client.do()`, and MCP `plan_action`).
|
|
4
4
|
|
|
5
5
|
See [`ARCHITECTURE.md`](./ARCHITECTURE.md) for the complete internal engineering blueprint, open-source ecosystem Keep/Adopt/Drop matrix, and 4-pillar architecture.
|
|
6
6
|
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ import path from "node:path";
|
|
|
5
5
|
import readline from "node:readline";
|
|
6
6
|
import { getConfig } from "./config.js";
|
|
7
7
|
import { MuxoEngine } from "./engine.js";
|
|
8
|
-
import { handleJsonRpcMcpRequest } from "./mcp.js";
|
|
8
|
+
import { handleJsonRpcMcpRequest, LATEST_MCP_PROTOCOL_VERSION } from "./mcp.js";
|
|
9
9
|
import { DEFAULT_WORKSPACE_POLICY, describePolicyInPlainEnglish, sanitizePolicyPatch, } from "./policy.js";
|
|
10
10
|
import { RING_LABELS } from "./providers/microsoft-governance.js";
|
|
11
11
|
import { BYOK_PROVIDER_CATALOG, MuxoStore } from "./store.js";
|
|
@@ -532,6 +532,9 @@ async function runCli() {
|
|
|
532
532
|
if (mcpSessionId) {
|
|
533
533
|
headers["Mcp-Session-Id"] = mcpSessionId;
|
|
534
534
|
}
|
|
535
|
+
if (typeof rpc.method === "string" && rpc.method.trim()) {
|
|
536
|
+
headers["Mcp-Method"] = rpc.method.trim();
|
|
537
|
+
}
|
|
535
538
|
const res = await fetch(`${remoteUrl}/mcp`, {
|
|
536
539
|
method: "POST",
|
|
537
540
|
headers,
|
|
@@ -654,7 +657,7 @@ async function runCli() {
|
|
|
654
657
|
});
|
|
655
658
|
await runCheck("mcp_initialize", "MCP server accepts a session", async () => {
|
|
656
659
|
const result = await mcpCall(1, "initialize", {
|
|
657
|
-
protocolVersion:
|
|
660
|
+
protocolVersion: LATEST_MCP_PROTOCOL_VERSION,
|
|
658
661
|
capabilities: {},
|
|
659
662
|
clientInfo: { name: "muxo-cli-harness", version: MUXO_VERSION },
|
|
660
663
|
});
|
|
@@ -710,7 +713,7 @@ async function runCli() {
|
|
|
710
713
|
jsonrpc: "2.0",
|
|
711
714
|
id: 1,
|
|
712
715
|
method: "initialize",
|
|
713
|
-
params: { protocolVersion:
|
|
716
|
+
params: { protocolVersion: LATEST_MCP_PROTOCOL_VERSION, capabilities: {} },
|
|
714
717
|
});
|
|
715
718
|
const info = res?.result?.serverInfo;
|
|
716
719
|
assertCheck(info?.name, "initialize returned no serverInfo");
|
|
@@ -2318,6 +2321,90 @@ async function runCli() {
|
|
|
2318
2321
|
console.log(JSON.stringify(result, null, 2));
|
|
2319
2322
|
return;
|
|
2320
2323
|
}
|
|
2324
|
+
if (cmd === "playbooks" || cmd === "playbook") {
|
|
2325
|
+
const sub = positional[1];
|
|
2326
|
+
if (sub === "run") {
|
|
2327
|
+
const slug = positional[2] ||
|
|
2328
|
+
flags.slug ||
|
|
2329
|
+
"fullstack-cloud-bootstrap";
|
|
2330
|
+
const input = flags.input
|
|
2331
|
+
? JSON.parse(String(flags.input))
|
|
2332
|
+
: {};
|
|
2333
|
+
if (remoteUrl) {
|
|
2334
|
+
const res = await remoteFetch(`/api/v1/playbooks/${encodeURIComponent(slug)}/run`, {
|
|
2335
|
+
method: "POST",
|
|
2336
|
+
body: { input },
|
|
2337
|
+
});
|
|
2338
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2339
|
+
return;
|
|
2340
|
+
}
|
|
2341
|
+
const { engine, ctx } = getLocalContext();
|
|
2342
|
+
const res = engine.runCommercialPlaybook(ctx, { slug, input });
|
|
2343
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2344
|
+
return;
|
|
2345
|
+
}
|
|
2346
|
+
if (remoteUrl) {
|
|
2347
|
+
const res = await remoteFetch("/api/v1/playbooks");
|
|
2348
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2349
|
+
return;
|
|
2350
|
+
}
|
|
2351
|
+
const { engine } = getLocalContext();
|
|
2352
|
+
const playbooks = engine.listCommercialPlaybooks();
|
|
2353
|
+
console.log(JSON.stringify({ ok: true, count: playbooks.length, playbooks }, null, 2));
|
|
2354
|
+
return;
|
|
2355
|
+
}
|
|
2356
|
+
if (cmd === "roi") {
|
|
2357
|
+
if (remoteUrl) {
|
|
2358
|
+
const res = await remoteFetch("/api/v1/analytics/roi");
|
|
2359
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2360
|
+
return;
|
|
2361
|
+
}
|
|
2362
|
+
const { engine, ctx } = getLocalContext();
|
|
2363
|
+
console.log(JSON.stringify({ ok: true, ...engine.getCommercialRoiReport(ctx) }, null, 2));
|
|
2364
|
+
return;
|
|
2365
|
+
}
|
|
2366
|
+
if (cmd === "cedar") {
|
|
2367
|
+
const sub = positional[1];
|
|
2368
|
+
if (sub === "evaluate" || sub === "eval") {
|
|
2369
|
+
const toolSlug = positional[2] || flags.tool || "instant.web.search";
|
|
2370
|
+
const input = flags.input
|
|
2371
|
+
? JSON.parse(String(flags.input))
|
|
2372
|
+
: {};
|
|
2373
|
+
if (remoteUrl) {
|
|
2374
|
+
const res = await remoteFetch("/api/v1/governance/cedar/evaluate", {
|
|
2375
|
+
method: "POST",
|
|
2376
|
+
body: { toolSlug, input },
|
|
2377
|
+
});
|
|
2378
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2379
|
+
return;
|
|
2380
|
+
}
|
|
2381
|
+
const { engine, ctx } = getLocalContext();
|
|
2382
|
+
console.log(JSON.stringify({
|
|
2383
|
+
ok: true,
|
|
2384
|
+
...engine.evaluatePolicyAsCode(ctx, { toolSlug, input }),
|
|
2385
|
+
}, null, 2));
|
|
2386
|
+
return;
|
|
2387
|
+
}
|
|
2388
|
+
if (remoteUrl) {
|
|
2389
|
+
const res = await remoteFetch("/api/v1/governance/cedar");
|
|
2390
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2391
|
+
return;
|
|
2392
|
+
}
|
|
2393
|
+
const { engine, ctx } = getLocalContext();
|
|
2394
|
+
console.log(JSON.stringify({ ok: true, ...engine.getPolicyAsCodeBundle(ctx) }, null, 2));
|
|
2395
|
+
return;
|
|
2396
|
+
}
|
|
2397
|
+
if (cmd === "telemetry" || cmd === "otel") {
|
|
2398
|
+
const limit = flags.limit ? Number(flags.limit) : 25;
|
|
2399
|
+
if (remoteUrl) {
|
|
2400
|
+
const res = await remoteFetch(`/api/v1/telemetry/otlp?limit=${limit}`);
|
|
2401
|
+
console.log(JSON.stringify(res, null, 2));
|
|
2402
|
+
return;
|
|
2403
|
+
}
|
|
2404
|
+
const { engine, ctx } = getLocalContext();
|
|
2405
|
+
console.log(JSON.stringify({ ok: true, ...engine.exportOtelTraces(ctx, limit) }, null, 2));
|
|
2406
|
+
return;
|
|
2407
|
+
}
|
|
2321
2408
|
console.log(`
|
|
2322
2409
|
Muxo CLI — Unified Agent Execution, Cloud Infrastructure, Memory & Safety Platform
|
|
2323
2410
|
|
|
@@ -2362,6 +2449,10 @@ Core Commands:
|
|
|
2362
2449
|
muxo governance scan <text> Check text for prompt injection before storing or sending it
|
|
2363
2450
|
muxo governance policy [--mode enforce|monitor] [--ring 0-3] [--require-approval write,admin|none]
|
|
2364
2451
|
[--block-destructive-sql true|false] [--max-credits <n>]
|
|
2452
|
+
muxo cedar [evaluate <tool_slug>] Compile or evaluate AWS Cedar 4.x & OPA Rego v1 policy-as-code
|
|
2453
|
+
muxo telemetry [--limit 25] Export OpenTelemetry GenAI / MCP OTLP & Langfuse trace spans
|
|
2454
|
+
muxo playbooks [run <slug>] List or execute Temporal-compatible commercial Saga playbooks
|
|
2455
|
+
muxo roi Compute FinOps unit economics, BYOK savings, and engineering ROI
|
|
2365
2456
|
muxo harness Check API, MCP, auth, governance and catalog; print MCP config
|
|
2366
2457
|
muxo serve [--port 4310] Start unified HTTP Console, Landing, OAuth Callback & MCP server
|
|
2367
2458
|
muxo mcp Run stdio MCP server (19 canonical tools)
|
|
@@ -8,29 +8,44 @@ export interface ComposioToolkitMetadata {
|
|
|
8
8
|
pinnedVersion: string;
|
|
9
9
|
readOnlyScopes: string[];
|
|
10
10
|
fullAccessScopes: string[];
|
|
11
|
+
lane?: "composio_sdk" | "stripe_projects" | "composio_instant" | "stripe_billing";
|
|
11
12
|
sampleActions: Array<{
|
|
12
13
|
upstreamSlug: string;
|
|
13
14
|
muxoSlug: string;
|
|
14
15
|
name: string;
|
|
15
|
-
riskLevel: "read" | "write" | "destructive" | "financial";
|
|
16
|
+
riskLevel: "read" | "write" | "destructive" | "financial" | "provisioning" | "admin";
|
|
16
17
|
}>;
|
|
17
18
|
}
|
|
19
|
+
export type ComposioWebhookEventType = "composio.trigger.message" | "composio.trigger.disabled" | "composio.connected_account.expired" | "composio.connected_account.activated";
|
|
20
|
+
export declare const COMPOSIO_V3_WEBHOOK_EVENTS: ComposioWebhookEventType[];
|
|
18
21
|
export interface ComposioTriggerSubscription {
|
|
19
22
|
id: string;
|
|
23
|
+
upstreamTriggerId?: string;
|
|
20
24
|
workspaceId: string;
|
|
25
|
+
userId?: string;
|
|
21
26
|
triggerSlug: string;
|
|
22
27
|
providerSlug: string;
|
|
23
28
|
connectedAccountId: string;
|
|
24
29
|
webhookUrl: string;
|
|
25
30
|
config: Record<string, unknown>;
|
|
26
31
|
status: "active" | "paused" | "disabled";
|
|
32
|
+
source?: "composio_v3_sdk" | "muxo_managed";
|
|
27
33
|
createdAt: string;
|
|
28
34
|
}
|
|
29
35
|
export interface ComposioTriggerEventRecord {
|
|
30
36
|
id: string;
|
|
31
37
|
workspaceId: string;
|
|
38
|
+
eventType?: ComposioWebhookEventType | string;
|
|
39
|
+
webhookVersion?: "V3" | "V2" | "V1" | "direct";
|
|
40
|
+
signatureVerified?: boolean;
|
|
41
|
+
webhookId?: string;
|
|
42
|
+
triggerId?: string;
|
|
32
43
|
triggerSlug: string;
|
|
33
44
|
providerSlug: string;
|
|
45
|
+
connectedAccountId?: string;
|
|
46
|
+
userId?: string;
|
|
47
|
+
projectId?: string;
|
|
48
|
+
orgId?: string;
|
|
34
49
|
receivedAt: string;
|
|
35
50
|
promptInjectionScan: {
|
|
36
51
|
safe: boolean;
|
|
@@ -47,12 +62,173 @@ export interface ComposioTriggerType {
|
|
|
47
62
|
providerSlug: string;
|
|
48
63
|
name: string;
|
|
49
64
|
description: string;
|
|
65
|
+
config: Record<string, unknown>;
|
|
50
66
|
}
|
|
51
67
|
export declare const COMPOSIO_TRIGGER_CATALOGUE: ComposioTriggerType[];
|
|
52
68
|
export declare function listComposioTriggerTypes(providerSlug?: string): ComposioTriggerType[];
|
|
69
|
+
export declare function getComposioTriggerType(slug: string): ComposioTriggerType | null;
|
|
70
|
+
/**
|
|
71
|
+
* Verifies a Composio V3 webhook HMAC-SHA256 signature (`v1,<base64>`) across Node and Cloudflare Workers.
|
|
72
|
+
* Signing input: `${webhookId}.${webhookTimestamp}.${rawPayload}`
|
|
73
|
+
*/
|
|
74
|
+
export declare function verifyComposioWebhookSignature(params: {
|
|
75
|
+
rawPayload: string;
|
|
76
|
+
signatureHeader?: string | null;
|
|
77
|
+
webhookIdHeader?: string | null;
|
|
78
|
+
webhookTimestampHeader?: string | null;
|
|
79
|
+
secret?: string | null;
|
|
80
|
+
toleranceSeconds?: number;
|
|
81
|
+
}): Promise<{
|
|
82
|
+
verified: boolean;
|
|
83
|
+
reason?: string;
|
|
84
|
+
}>;
|
|
85
|
+
export interface ParsedComposioWebhookEnvelope {
|
|
86
|
+
eventType: ComposioWebhookEventType | string;
|
|
87
|
+
webhookVersion: "V3" | "V2" | "V1" | "direct";
|
|
88
|
+
webhookId?: string;
|
|
89
|
+
timestamp?: string;
|
|
90
|
+
triggerId?: string;
|
|
91
|
+
triggerSlug: string;
|
|
92
|
+
providerSlug: string;
|
|
93
|
+
connectedAccountId?: string;
|
|
94
|
+
connectionStatus?: "active" | "expired" | "disabled";
|
|
95
|
+
userId?: string;
|
|
96
|
+
projectId?: string;
|
|
97
|
+
orgId?: string;
|
|
98
|
+
payloadObj: Record<string, unknown>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Normalizes Composio V3 webhook events (`composio.trigger.message`, `composio.trigger.disabled`,
|
|
102
|
+
* `composio.connected_account.expired`, `composio.connected_account.activated`) as well as direct
|
|
103
|
+
* trigger webhook payloads into a single canonical envelope.
|
|
104
|
+
*/
|
|
105
|
+
export declare function parseComposioWebhookEnvelope(body: Record<string, unknown>, headers?: {
|
|
106
|
+
webhookId?: string | null;
|
|
107
|
+
webhookTimestamp?: string | null;
|
|
108
|
+
webhookVersion?: string | null;
|
|
109
|
+
}): ParsedComposioWebhookEnvelope;
|
|
53
110
|
export declare function filterComposioToolkits(params?: {
|
|
54
111
|
category?: string;
|
|
55
112
|
search?: string;
|
|
56
113
|
}): ComposioToolkitMetadata[];
|
|
57
114
|
/** Least-privilege scopes for a custom auth config: explicit scopes win, then the toolkit's read-only or full set. */
|
|
58
115
|
export declare function composioAuthConfigScopes(toolkitSlug: string, scopeMode: "read_only" | "full_access", customScopes?: string[]): string[];
|
|
116
|
+
export interface MuxoConnectInputField {
|
|
117
|
+
name: string;
|
|
118
|
+
type?: string;
|
|
119
|
+
label?: string;
|
|
120
|
+
description?: string;
|
|
121
|
+
required?: boolean;
|
|
122
|
+
default?: string | null;
|
|
123
|
+
}
|
|
124
|
+
export interface MuxoConnectLinkMetadata {
|
|
125
|
+
token: string;
|
|
126
|
+
toolkitSlug: string;
|
|
127
|
+
toolkitName: string;
|
|
128
|
+
connectedAccountId: string | null;
|
|
129
|
+
authMode: string;
|
|
130
|
+
status: string;
|
|
131
|
+
callbackUrl: string | null;
|
|
132
|
+
expectedInputFields: MuxoConnectInputField[];
|
|
133
|
+
}
|
|
134
|
+
export declare function ensureOAuthCallbackParams(callbackUrl: string, workspaceId: string, providerSlug: string): string;
|
|
135
|
+
/**
|
|
136
|
+
* Normalizes upstream Composio hosted link URLs (`connect.composio.dev/link/lk_...`,
|
|
137
|
+
* `dashboard.composio.dev/link/lk_...`, `backend.composio.dev/api/v3/s/...`, or
|
|
138
|
+
* legacy `/oauth/connect/lk_...`) directly to Composio's native hosted OAuth URL
|
|
139
|
+
* (`https://connect.composio.dev/link/<token>`), avoiding intermediate custom pages.
|
|
140
|
+
*/
|
|
141
|
+
export declare function wrapMuxoConnectUrl(rawUrl: string | null | undefined, _baseUrl?: string, _params?: {
|
|
142
|
+
workspaceId?: string;
|
|
143
|
+
providerSlug?: string;
|
|
144
|
+
callbackUrl?: string | null;
|
|
145
|
+
externalAccountId?: string | null;
|
|
146
|
+
}): string | null;
|
|
147
|
+
export declare function fetchMuxoConnectLinkMetadata(token: string, fallback?: {
|
|
148
|
+
workspaceId?: string;
|
|
149
|
+
providerSlug?: string;
|
|
150
|
+
callbackUrl?: string | null;
|
|
151
|
+
connectedAccountId?: string | null;
|
|
152
|
+
}): Promise<MuxoConnectLinkMetadata>;
|
|
153
|
+
export declare function submitMuxoConnectLink(token: string, input?: Record<string, unknown>, fallback?: {
|
|
154
|
+
workspaceId?: string;
|
|
155
|
+
providerSlug?: string;
|
|
156
|
+
callbackUrl?: string | null;
|
|
157
|
+
connectedAccountId?: string | null;
|
|
158
|
+
}): Promise<{
|
|
159
|
+
ok: boolean;
|
|
160
|
+
status: string;
|
|
161
|
+
redirectUrl: string | null;
|
|
162
|
+
connectedAccountId: string | null;
|
|
163
|
+
error?: string;
|
|
164
|
+
}>;
|
|
165
|
+
/**
|
|
166
|
+
* Canonical Stripe Projects Cloud Infrastructure providers (`stripe_projects` lane).
|
|
167
|
+
* These providers are provisioned and deployed directly through Stripe Projects
|
|
168
|
+
* (and/or Muxo instant cloud provisioning) without Composio OAuth handoffs.
|
|
169
|
+
*/
|
|
170
|
+
export declare const STRIPE_PROJECTS_PROVIDER_SLUGS: Set<string>;
|
|
171
|
+
export declare const STRIPE_PROJECTS_HOSTING_PROVIDERS: Set<string>;
|
|
172
|
+
export declare const STRIPE_PROJECTS_DATABASE_PROVIDERS: ReadonlySet<string>;
|
|
173
|
+
export declare const STRIPE_PROJECTS_MESSAGING_PROVIDERS: ReadonlySet<string>;
|
|
174
|
+
export declare const STRIPE_PROJECTS_AI_SEARCH_PROVIDERS: ReadonlySet<string>;
|
|
175
|
+
export declare const STRIPE_PROJECTS_SANDBOX_BROWSER_PROVIDERS: ReadonlySet<string>;
|
|
176
|
+
export declare const STRIPE_PROJECTS_CANONICAL_RESOURCE_SLUG: Record<string, string>;
|
|
177
|
+
/**
|
|
178
|
+
* Multi-service deployable slugs supported per Stripe Projects provider.
|
|
179
|
+
*/
|
|
180
|
+
export declare const STRIPE_PROJECTS_MULTI_SERVICE_MAP: Record<string, Record<string, string>>;
|
|
181
|
+
export interface StripeProjectsDeployableCatalogEntry {
|
|
182
|
+
slug: string;
|
|
183
|
+
upstreamSlug: string;
|
|
184
|
+
providerSlug: string;
|
|
185
|
+
providerName: string;
|
|
186
|
+
serviceId: string;
|
|
187
|
+
name: string;
|
|
188
|
+
description: string;
|
|
189
|
+
categories: string[];
|
|
190
|
+
defaultPlan: string;
|
|
191
|
+
availablePlans: string[];
|
|
192
|
+
providerUrl: string;
|
|
193
|
+
llmContextUrl?: string;
|
|
194
|
+
}
|
|
195
|
+
export declare const STRIPE_PROJECTS_DEPLOYABLE_CATALOG: StripeProjectsDeployableCatalogEntry[];
|
|
196
|
+
/**
|
|
197
|
+
* Stripe Projects Toolkits Catalog exposed alongside Enterprise Connected Apps in `/api/v1/toolkits`
|
|
198
|
+
* and `filterComposioToolkits` so every Stripe Projects provider and its services are discoverable as toolkits.
|
|
199
|
+
*/
|
|
200
|
+
export declare const STRIPE_PROJECTS_TOOLKITS_CATALOG: ComposioToolkitMetadata[];
|
|
201
|
+
export declare function normalizeStripeProjectsProviderSlug(raw: string): string;
|
|
202
|
+
export declare function isStripeProjectsExclusiveProvider(rawSlug: string): boolean;
|
|
203
|
+
export declare function isStripeProjectsHostingProvider(rawSlug: string): boolean;
|
|
204
|
+
export declare function isStripeProjectsDatabaseProvider(rawSlug: string): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Resolves any tool or provider reference targeting a Stripe Projects provider
|
|
207
|
+
* (including `app.vercel.deploy`, `app.vercel.create_deployment`, `resource.vercel.deploy`,
|
|
208
|
+
* `vercel/deploy`, `app.netlify.deploy`, `app.turso.create_database`, `supabase_migration`,
|
|
209
|
+
* `resource.cloudflare.d1`, `resource.upstash.vector`, `resource.railway.postgres`, etc.)
|
|
210
|
+
* to its canonical `resource.<provider>.<service>` tool slug on the `stripe_projects` lane.
|
|
211
|
+
*/
|
|
212
|
+
export declare function resolveStripeProjectsCanonicalToolSlug(rawSlug: string): string | null;
|
|
213
|
+
export declare function extractHostedHtmlFromInput(input: Record<string, unknown>): {
|
|
214
|
+
html: string | null;
|
|
215
|
+
files: Record<string, string>;
|
|
216
|
+
envVars: Record<string, string>;
|
|
217
|
+
};
|
|
218
|
+
export declare function extractDatabaseMigrationsFromInput(input: Record<string, unknown>): {
|
|
219
|
+
hasMigrations: boolean;
|
|
220
|
+
sqlStatements: string[];
|
|
221
|
+
tablesCreated: string[];
|
|
222
|
+
};
|
|
223
|
+
export declare function buildStandardStripeProjectsSecrets(params: {
|
|
224
|
+
providerSlug: string;
|
|
225
|
+
resourceName: string;
|
|
226
|
+
workspaceSlug?: string;
|
|
227
|
+
liveUrl?: string;
|
|
228
|
+
}): Record<string, string>;
|
|
229
|
+
export declare function renderDefaultHostedSiteHtml(params: {
|
|
230
|
+
resourceName: string;
|
|
231
|
+
providerName: string;
|
|
232
|
+
providerSlug: string;
|
|
233
|
+
liveUrl: string;
|
|
234
|
+
}): string;
|