@muxoai/platform 1.4.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 +2 -2
- package/ARCHITECTURE.md +16 -6
- package/README.md +2 -2
- package/dist/cli.js +323 -13
- 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 +293 -5
- package/dist/engine.js +1502 -88
- package/dist/mcp-schema.d.ts +286 -0
- package/dist/mcp-schema.js +2559 -0
- package/dist/mcp.d.ts +2 -30
- package/dist/mcp.js +913 -558
- package/dist/memory-graph.d.ts +21 -0
- package/dist/memory-graph.js +173 -0
- package/dist/nl.js +155 -0
- package/dist/oauth.d.ts +32 -0
- package/dist/oauth.js +134 -0
- package/dist/policy.d.ts +182 -1
- package/dist/policy.js +1524 -0
- package/dist/providers/composio-instant.js +262 -7
- package/dist/providers/composio-sdk.d.ts +125 -5
- package/dist/providers/composio-sdk.js +901 -82
- package/dist/providers/microsoft-governance.d.ts +28 -1
- package/dist/providers/microsoft-governance.js +224 -11
- package/dist/providers/stripe-billing.d.ts +42 -0
- package/dist/providers/stripe-billing.js +230 -1
- package/dist/providers/stripe-projects.d.ts +455 -3
- package/dist/providers/stripe-projects.js +2570 -129
- package/dist/providers/supermemory.d.ts +74 -1
- package/dist/providers/supermemory.js +426 -0
- package/dist/provisioning-managed.d.ts +50 -0
- package/dist/provisioning-managed.js +155 -0
- package/dist/sdk.d.ts +440 -3
- package/dist/sdk.js +305 -3
- package/dist/server.js +2343 -264
- package/dist/store.d.ts +113 -6
- package/dist/store.js +677 -52
- package/dist/types.d.ts +207 -3
- package/dist/ui/console-html.d.ts +40 -1
- package/dist/ui/console-html.js +1813 -629
- package/dist/ui/design-tokens.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -3
- 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 +59 -9
- package/plugins/muxo/skills/muxo/references/cli.md +5 -1
- package/plugins/muxo/skills/muxo/references/mcp.md +13 -7
- package/plugins/muxo/skills/muxo-activity-summary/SKILL.md +81 -0
- package/plugins/muxo/skills/setup/SKILL.md +9 -1
- package/src/catalogues/stripe-projects-catalog.json +140 -0
package/dist/config.d.ts
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
+
import type { ClerkEnv } from "./clerk.js";
|
|
1
2
|
export declare const ROOT_DIR: string;
|
|
2
3
|
export interface MuxoConfig {
|
|
3
4
|
port: number;
|
|
4
5
|
baseUrl: string;
|
|
5
6
|
dbPath: string;
|
|
6
7
|
composioApiKey: string;
|
|
8
|
+
composioInstantApiKey: string;
|
|
7
9
|
composioBaseUrl: string;
|
|
10
|
+
composioWebhookSecret: string;
|
|
11
|
+
composioWebhookSubscriptionId: string;
|
|
12
|
+
composioProjectId: string;
|
|
13
|
+
composioOrgId: string;
|
|
14
|
+
composioUserId: string;
|
|
8
15
|
stripeSecretKey: string;
|
|
16
|
+
stripePublishableKey: string;
|
|
17
|
+
stripeApiBaseUrl: string;
|
|
18
|
+
stripeProvisioningApiVersion: string;
|
|
19
|
+
stripeProjectId: string;
|
|
20
|
+
stripeConnectedAccountId?: string;
|
|
9
21
|
stripeStarterPriceId: string;
|
|
10
22
|
stripeCreditsPriceId: string;
|
|
11
23
|
stripeWebhookSecret: string;
|
|
@@ -16,5 +28,9 @@ export interface MuxoConfig {
|
|
|
16
28
|
publicWebUrl: string;
|
|
17
29
|
docsUrl: string;
|
|
18
30
|
vaultMasterKey: Buffer;
|
|
31
|
+
/** Clerk sign-in settings; sign-in stays password-based unless CLERK_PUBLISHABLE_KEY is set. */
|
|
32
|
+
clerkEnv?: ClerkEnv & {
|
|
33
|
+
MUXO_OWNER_EMAILS?: string;
|
|
34
|
+
};
|
|
19
35
|
}
|
|
20
36
|
export declare function getConfig(): MuxoConfig;
|
package/dist/config.js
CHANGED
|
@@ -65,11 +65,30 @@ export function getConfig() {
|
|
|
65
65
|
dbPath: process.env.MUXO_DB_PATH || path.join(dataDir, "muxo.db"),
|
|
66
66
|
composioApiKey: process.env.MUXO_EXTERNAL_MODE === "1"
|
|
67
67
|
? ""
|
|
68
|
-
: process.env.COMPOSIO_API_KEY || "",
|
|
68
|
+
: process.env.COMPOSIO_API_KEY || process.env.COMPOSIO_INSTANT_API_KEY || "",
|
|
69
|
+
composioInstantApiKey: process.env.MUXO_EXTERNAL_MODE === "1"
|
|
70
|
+
? ""
|
|
71
|
+
: process.env.COMPOSIO_INSTANT_API_KEY || process.env.COMPOSIO_API_KEY || "",
|
|
69
72
|
composioBaseUrl: process.env.COMPOSIO_BASE_URL || "https://backend.composio.dev/api/v3",
|
|
73
|
+
composioWebhookSecret: process.env.MUXO_EXTERNAL_MODE === "1"
|
|
74
|
+
? ""
|
|
75
|
+
: process.env.COMPOSIO_WEBHOOK_SECRET || "",
|
|
76
|
+
composioWebhookSubscriptionId: process.env.COMPOSIO_WEBHOOK_SUBSCRIPTION_ID || "",
|
|
77
|
+
composioProjectId: process.env.COMPOSIO_PROJECT_ID || "",
|
|
78
|
+
composioOrgId: process.env.COMPOSIO_ORG_ID || "",
|
|
79
|
+
composioUserId: process.env.COMPOSIO_USER_ID || "",
|
|
70
80
|
stripeSecretKey: process.env.MUXO_EXTERNAL_MODE === "1"
|
|
71
81
|
? ""
|
|
72
82
|
: process.env.STRIPE_SECRET_KEY || "",
|
|
83
|
+
stripePublishableKey: process.env.MUXO_EXTERNAL_MODE === "1"
|
|
84
|
+
? ""
|
|
85
|
+
: process.env.STRIPE_PUBLISHABLE_KEY || "",
|
|
86
|
+
stripeApiBaseUrl: process.env.STRIPE_API_BASE_URL || "https://api.stripe.com",
|
|
87
|
+
stripeProvisioningApiVersion: process.env.STRIPE_PROVISIONING_API_VERSION || "2026-09-30.preview",
|
|
88
|
+
stripeProjectId: process.env.STRIPE_PROJECT_ID || "",
|
|
89
|
+
stripeConnectedAccountId: process.env.STRIPE_CONNECTED_ACCOUNT_ID ||
|
|
90
|
+
process.env.STRIPE_CONTEXT ||
|
|
91
|
+
"",
|
|
73
92
|
stripeStarterPriceId: process.env.STRIPE_STARTER_PRICE_ID || "",
|
|
74
93
|
stripeCreditsPriceId: process.env.STRIPE_CREDITS_PRICE_ID || "",
|
|
75
94
|
stripeWebhookSecret: process.env.STRIPE_WEBHOOK_SECRET || "",
|
|
@@ -85,5 +104,12 @@ export function getConfig() {
|
|
|
85
104
|
publicWebUrl: process.env.MUXO_PUBLIC_WEB_URL || "https://muxo.ai",
|
|
86
105
|
docsUrl: process.env.MUXO_DOCS_URL || "https://docs.muxo.ai",
|
|
87
106
|
vaultMasterKey: deriveVaultMasterKey(),
|
|
107
|
+
clerkEnv: {
|
|
108
|
+
CLERK_PUBLISHABLE_KEY: process.env.CLERK_PUBLISHABLE_KEY,
|
|
109
|
+
CLERK_SECRET_KEY: process.env.CLERK_SECRET_KEY,
|
|
110
|
+
CLERK_JWT_KEY: process.env.CLERK_JWT_KEY,
|
|
111
|
+
CLERK_AUTHORIZED_PARTIES: process.env.CLERK_AUTHORIZED_PARTIES,
|
|
112
|
+
MUXO_OWNER_EMAILS: process.env.MUXO_OWNER_EMAILS,
|
|
113
|
+
},
|
|
88
114
|
};
|
|
89
115
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Cloud provisioning pipeline modelled on Cloudflare Workflows primitives, shared by the Node engine and the edge worker. */
|
|
2
|
+
import { MuxoToolError } from "./mcp-schema.js";
|
|
3
|
+
export type DurableWorkflowStepStatus = "completed" | "waiting" | "pending";
|
|
4
|
+
export interface DurableWorkflowStep {
|
|
5
|
+
name: string;
|
|
6
|
+
primitive: "step.do" | "step.waitForEvent" | "step.sleep";
|
|
7
|
+
status: DurableWorkflowStepStatus;
|
|
8
|
+
output?: Record<string, unknown>;
|
|
9
|
+
completedAt?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface DurableWorkflow {
|
|
12
|
+
id: string;
|
|
13
|
+
workspaceId: string;
|
|
14
|
+
workflowType: "cloud_provisioning_pipeline" | "approval_handoff_pipeline";
|
|
15
|
+
status: "running" | "waiting_for_event" | "completed" | "failed";
|
|
16
|
+
provider: string;
|
|
17
|
+
serviceRef: string;
|
|
18
|
+
resourceId: string | null;
|
|
19
|
+
steps: DurableWorkflowStep[];
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const WORKFLOW_RESOURCE_COMPLETED_EVENT = "v2.provisioning.resource.completed";
|
|
24
|
+
export declare function workflowNotFoundError(workflowId: string): MuxoToolError;
|
|
25
|
+
export declare function normalizeWorkflowTarget(params: {
|
|
26
|
+
provider?: string;
|
|
27
|
+
serviceRef?: string;
|
|
28
|
+
}): {
|
|
29
|
+
provider: string;
|
|
30
|
+
serviceRef: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function createCloudProvisioningWorkflow(params: {
|
|
33
|
+
id: string;
|
|
34
|
+
workspaceId: string;
|
|
35
|
+
resourceId: string;
|
|
36
|
+
provider: string;
|
|
37
|
+
serviceRef: string;
|
|
38
|
+
region?: string;
|
|
39
|
+
apiVersion?: string;
|
|
40
|
+
}): DurableWorkflow;
|
|
41
|
+
/** Completes every outstanding step once the resource-completed event (or a manual advance) arrives. */
|
|
42
|
+
export declare function completeCloudProvisioningWorkflow(wf: DurableWorkflow, params: {
|
|
43
|
+
secretKeys: string[];
|
|
44
|
+
triggerEvent?: unknown;
|
|
45
|
+
}): DurableWorkflow;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Cloud provisioning pipeline modelled on Cloudflare Workflows primitives, shared by the Node engine and the edge worker. */
|
|
2
|
+
import { MuxoToolError } from "./mcp-schema.js";
|
|
3
|
+
export const WORKFLOW_RESOURCE_COMPLETED_EVENT = "v2.provisioning.resource.completed";
|
|
4
|
+
export function workflowNotFoundError(workflowId) {
|
|
5
|
+
return new MuxoToolError(`Durable workflow not found: ${workflowId}`, {
|
|
6
|
+
code: "workflow_not_found",
|
|
7
|
+
statusCode: 404,
|
|
8
|
+
payload: { workflowId },
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
export function normalizeWorkflowTarget(params) {
|
|
12
|
+
return {
|
|
13
|
+
provider: (params.provider || "neon").toLowerCase().trim(),
|
|
14
|
+
serviceRef: (params.serviceRef || "postgres").toLowerCase().trim(),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export function createCloudProvisioningWorkflow(params) {
|
|
18
|
+
const now = new Date().toISOString();
|
|
19
|
+
return {
|
|
20
|
+
id: params.id,
|
|
21
|
+
workspaceId: params.workspaceId,
|
|
22
|
+
workflowType: "cloud_provisioning_pipeline",
|
|
23
|
+
status: "waiting_for_event",
|
|
24
|
+
provider: params.provider,
|
|
25
|
+
serviceRef: params.serviceRef,
|
|
26
|
+
resourceId: params.resourceId,
|
|
27
|
+
steps: [
|
|
28
|
+
{
|
|
29
|
+
name: "check_stripe_v2_eligibility",
|
|
30
|
+
primitive: "step.do",
|
|
31
|
+
status: "completed",
|
|
32
|
+
output: { status: "eligible", apiVersion: params.apiVersion || "2026-09-30.preview" },
|
|
33
|
+
completedAt: now,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "ensure_payment_profile_and_provider_connection",
|
|
37
|
+
primitive: "step.do",
|
|
38
|
+
status: "completed",
|
|
39
|
+
output: { provider: params.provider, paymentProfileStatus: "active" },
|
|
40
|
+
completedAt: now,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "create_v2_provisioning_resource",
|
|
44
|
+
primitive: "step.do",
|
|
45
|
+
status: "completed",
|
|
46
|
+
output: {
|
|
47
|
+
resourceId: params.resourceId,
|
|
48
|
+
provider: params.provider,
|
|
49
|
+
service_ref: params.serviceRef,
|
|
50
|
+
region: params.region || "aws-us-east-1",
|
|
51
|
+
},
|
|
52
|
+
completedAt: now,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "wait_for_v2_provisioning_resource_completed",
|
|
56
|
+
primitive: "step.waitForEvent",
|
|
57
|
+
status: "waiting",
|
|
58
|
+
output: { expectedEvent: WORKFLOW_RESOURCE_COMPLETED_EVENT, resourceId: params.resourceId },
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "reveal_access_configuration_and_seal_vault",
|
|
62
|
+
primitive: "step.do",
|
|
63
|
+
status: "pending",
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
createdAt: now,
|
|
67
|
+
updatedAt: now,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** Completes every outstanding step once the resource-completed event (or a manual advance) arrives. */
|
|
71
|
+
export function completeCloudProvisioningWorkflow(wf, params) {
|
|
72
|
+
const now = new Date().toISOString();
|
|
73
|
+
for (const step of wf.steps) {
|
|
74
|
+
if (step.status === "completed")
|
|
75
|
+
continue;
|
|
76
|
+
step.status = "completed";
|
|
77
|
+
step.completedAt = now;
|
|
78
|
+
if (step.name === "reveal_access_configuration_and_seal_vault") {
|
|
79
|
+
step.output = {
|
|
80
|
+
vaultEncrypted: true,
|
|
81
|
+
cipher: "AES-256-GCM",
|
|
82
|
+
secretKeys: params.secretKeys,
|
|
83
|
+
triggerEvent: params.triggerEvent || WORKFLOW_RESOURCE_COMPLETED_EVENT,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
wf.status = "completed";
|
|
88
|
+
wf.updatedAt = now;
|
|
89
|
+
return wf;
|
|
90
|
+
}
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
import type { MuxoConfig } from "./config.js";
|
|
2
|
+
import { type DurableWorkflow } from "./durable-workflow.js";
|
|
2
3
|
import { type NaturalLanguageResolution } from "./nl.js";
|
|
4
|
+
import { describePolicyInPlainEnglish, type GuardrailCompileOptions, type LlmPolicyAndGovernanceBrief, type ParsedNaturalLanguageGuardrail, type PolicySimulationResult } from "./policy.js";
|
|
3
5
|
import { ComposioInstantAdapter } from "./providers/composio-instant.js";
|
|
4
6
|
import { ComposioSdkAdapter } from "./providers/composio-sdk.js";
|
|
5
7
|
import { MicrosoftGovernanceAdapter } from "./providers/microsoft-governance.js";
|
|
6
8
|
import { StripeBillingAdapter } from "./providers/stripe-billing.js";
|
|
7
9
|
import { StripeProjectsAdapter } from "./providers/stripe-projects.js";
|
|
8
|
-
import { SupermemoryAdapter } from "./providers/supermemory.js";
|
|
10
|
+
import { SupermemoryAdapter, type ActiveMemoryDefaults } from "./providers/supermemory.js";
|
|
9
11
|
import type { MuxoStore } from "./store.js";
|
|
10
|
-
import type { ActionPlan, ConnectionRecord, ExecutionReceipt, ExecutionRun, GovernanceDecisionRecord, MemoryContextSummary, MuxoTool, ProviderLane, RiskLevel, User, Workspace, WorkspaceMemoryRecord } from "./types.js";
|
|
12
|
+
import type { ActionPlan, ConnectionRecord, ExecutionReceipt, ExecutionRun, GovernanceDecisionRecord, HumanFriendlyExplanation, HumanHandoff, LanguageMode, LlmGuidance, MemoryContextSummary, MemoryKnowledgeGraph, MuxoTool, PortableAgenticReceipt, ProviderLane, RiskLevel, User, Workspace, WorkspaceMemoryRecord } from "./types.js";
|
|
13
|
+
export type RunContextPayload = {
|
|
14
|
+
workspaceId: string;
|
|
15
|
+
workspaceSlug: string;
|
|
16
|
+
projectsEnvironment: string;
|
|
17
|
+
policy: Workspace["policy"];
|
|
18
|
+
plainEnglishPolicy: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
19
|
+
languageMode: LanguageMode;
|
|
20
|
+
customInstructions: string[];
|
|
21
|
+
activeDefaults: ActiveMemoryDefaults;
|
|
22
|
+
activeGuardrails: string[];
|
|
23
|
+
creditsBalance: number;
|
|
24
|
+
monthlyActionsRemaining: number;
|
|
25
|
+
provisionedResources: ReturnType<MuxoStore["listResources"]>;
|
|
26
|
+
environmentVariablesRedacted: Record<string, string>;
|
|
27
|
+
supermemoryBrain: MemoryContextSummary;
|
|
28
|
+
temporalFacts: NonNullable<MemoryContextSummary["temporalFacts"]>;
|
|
29
|
+
governance: ReturnType<MicrosoftGovernanceAdapter["getStatus"]>;
|
|
30
|
+
trustScore: ReturnType<MicrosoftGovernanceAdapter["getWorkspaceTrustScore"]>;
|
|
31
|
+
llmSystemPrompt: string;
|
|
32
|
+
explanation: HumanFriendlyExplanation;
|
|
33
|
+
envPullHint: string;
|
|
34
|
+
};
|
|
11
35
|
export interface ExecutionContext {
|
|
12
36
|
user: User;
|
|
13
37
|
workspace: Workspace;
|
|
@@ -23,6 +47,7 @@ export declare class MuxoEngine {
|
|
|
23
47
|
readonly stripeBilling: StripeBillingAdapter;
|
|
24
48
|
readonly governance: MicrosoftGovernanceAdapter;
|
|
25
49
|
readonly supermemory: SupermemoryAdapter;
|
|
50
|
+
private readonly durableWorkflows;
|
|
26
51
|
constructor(config: MuxoConfig, store: MuxoStore);
|
|
27
52
|
getProfile(ctx: ExecutionContext): Record<string, unknown>;
|
|
28
53
|
getOrganization(ctx: ExecutionContext): Record<string, unknown>;
|
|
@@ -41,6 +66,7 @@ export declare class MuxoEngine {
|
|
|
41
66
|
provider?: string;
|
|
42
67
|
syncLive?: boolean;
|
|
43
68
|
}): Promise<Record<string, unknown>>;
|
|
69
|
+
getHostedSiteHtml(slug: string, filePath?: string): string | null;
|
|
44
70
|
startConnection(ctx: ExecutionContext, params: {
|
|
45
71
|
provider: string;
|
|
46
72
|
lane?: ProviderLane;
|
|
@@ -54,11 +80,16 @@ export declare class MuxoEngine {
|
|
|
54
80
|
timeoutSeconds?: number;
|
|
55
81
|
pollIntervalMs?: number;
|
|
56
82
|
}): Promise<{
|
|
83
|
+
ok: true;
|
|
57
84
|
connected: boolean;
|
|
85
|
+
ready: boolean;
|
|
86
|
+
timedOut: boolean;
|
|
58
87
|
provider: string;
|
|
59
88
|
status: ConnectionRecord["status"];
|
|
60
89
|
connection: ConnectionRecord;
|
|
61
90
|
redirectUrl: string | null;
|
|
91
|
+
polledAttempts: number;
|
|
92
|
+
elapsedMs: number;
|
|
62
93
|
message: string;
|
|
63
94
|
}>;
|
|
64
95
|
handleOAuthCallback(params: {
|
|
@@ -92,17 +123,46 @@ export declare class MuxoEngine {
|
|
|
92
123
|
externalAccountId: string | null;
|
|
93
124
|
instructions: string;
|
|
94
125
|
};
|
|
126
|
+
humanHandoff?: HumanHandoff;
|
|
127
|
+
llmGuidance: LlmGuidance;
|
|
95
128
|
nextStep: string;
|
|
96
129
|
}>;
|
|
97
130
|
getPlan(ctx: ExecutionContext, planId: string): ActionPlan;
|
|
131
|
+
waitForPlanApproval(ctx: ExecutionContext, params: {
|
|
132
|
+
planId: string;
|
|
133
|
+
timeoutSeconds?: number;
|
|
134
|
+
pollIntervalMs?: number;
|
|
135
|
+
}): Promise<{
|
|
136
|
+
ok: true;
|
|
137
|
+
approved: boolean;
|
|
138
|
+
rejected: boolean;
|
|
139
|
+
timedOut: boolean;
|
|
140
|
+
waitedForApproval: true;
|
|
141
|
+
approvalStatus: ActionPlan["approvalStatus"];
|
|
142
|
+
approvalUrl: string;
|
|
143
|
+
waitedMs: number;
|
|
144
|
+
plan: ActionPlan;
|
|
145
|
+
}>;
|
|
98
146
|
approvePlan(ctx: ExecutionContext, planId: string, decision?: "approved" | "rejected"): ActionPlan;
|
|
147
|
+
private buildApprovalHandoff;
|
|
148
|
+
private buildOAuthHandoff;
|
|
149
|
+
private buildPlanLlmGuidance;
|
|
99
150
|
private enrichMemoryContext;
|
|
100
|
-
getRunContext(ctx: ExecutionContext, query?: string): Promise<
|
|
151
|
+
getRunContext(ctx: ExecutionContext, query?: string): Promise<{
|
|
152
|
+
explanation: HumanFriendlyExplanation;
|
|
153
|
+
plainEnglishPolicy: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
154
|
+
activeDefaults: ActiveMemoryDefaults;
|
|
155
|
+
activeGuardrails: string[];
|
|
156
|
+
[key: string]: unknown;
|
|
157
|
+
}>;
|
|
101
158
|
getMemoryOverview(ctx: ExecutionContext, query?: string): Promise<{
|
|
102
159
|
enabled: boolean;
|
|
103
160
|
namespace: string;
|
|
104
161
|
fundingSource: string;
|
|
105
162
|
context: MemoryContextSummary;
|
|
163
|
+
activeDefaults: ActiveMemoryDefaults;
|
|
164
|
+
activeGuardrails: string[];
|
|
165
|
+
explanation: HumanFriendlyExplanation;
|
|
106
166
|
recentMemories: WorkspaceMemoryRecord[];
|
|
107
167
|
memories: WorkspaceMemoryRecord[];
|
|
108
168
|
temporalFacts: ReturnType<MuxoStore["listTemporalFacts"]>;
|
|
@@ -129,6 +189,11 @@ export declare class MuxoEngine {
|
|
|
129
189
|
deletedMemories: WorkspaceMemoryRecord[];
|
|
130
190
|
invalidatedFacts: ReturnType<MuxoStore["listTemporalFacts"]>;
|
|
131
191
|
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Synthesizes a Bi-Temporal Knowledge Graph (entities, active relationships, superseded historical relationships,
|
|
194
|
+
* Mermaid diagram, and human + technical explanations) directly from SQLite temporal_facts, memories, resources, and connections.
|
|
195
|
+
*/
|
|
196
|
+
getMemoryGraph(ctx: ExecutionContext, query?: string): Promise<MemoryKnowledgeGraph>;
|
|
132
197
|
activateWorkspaceKillSwitch(ctx: ExecutionContext, params: {
|
|
133
198
|
reason: string;
|
|
134
199
|
action?: "terminate" | "quarantine" | "suspend";
|
|
@@ -140,14 +205,129 @@ export declare class MuxoEngine {
|
|
|
140
205
|
}>;
|
|
141
206
|
getRun(ctx: ExecutionContext, runId: string): ExecutionRun;
|
|
142
207
|
cancelRun(ctx: ExecutionContext, runId: string, reason?: string): {
|
|
208
|
+
ok: true;
|
|
209
|
+
cancelled: true;
|
|
210
|
+
alreadyCancelled: boolean;
|
|
211
|
+
previousStatus: ExecutionRun["status"];
|
|
143
212
|
run: ExecutionRun;
|
|
144
|
-
receipt: ExecutionReceipt
|
|
213
|
+
receipt: ExecutionReceipt;
|
|
214
|
+
signatureValid: boolean;
|
|
215
|
+
message: string;
|
|
145
216
|
};
|
|
217
|
+
explainReceipt(receipt: ExecutionReceipt, verification: {
|
|
218
|
+
signatureValid: boolean;
|
|
219
|
+
governanceSignatureValid: boolean;
|
|
220
|
+
agenticReceiptValid?: boolean;
|
|
221
|
+
}, policy?: Partial<Workspace["policy"]> | null, languageMode?: LanguageMode): HumanFriendlyExplanation;
|
|
146
222
|
getReceipt(ctx: ExecutionContext, receiptOrRunId: string): {
|
|
147
223
|
receipt: ExecutionReceipt;
|
|
224
|
+
agenticReceipt: PortableAgenticReceipt;
|
|
148
225
|
signatureValid: boolean;
|
|
149
226
|
governanceSignatureValid: boolean;
|
|
227
|
+
agenticReceiptValid: boolean;
|
|
228
|
+
explanation: HumanFriendlyExplanation;
|
|
229
|
+
};
|
|
230
|
+
listReceipts(ctx: ExecutionContext, limit?: number): {
|
|
231
|
+
receipts: Array<ExecutionReceipt & {
|
|
232
|
+
agenticReceipt: PortableAgenticReceipt;
|
|
233
|
+
signatureValid: boolean;
|
|
234
|
+
governanceSignatureValid: boolean;
|
|
235
|
+
agenticReceiptValid: boolean;
|
|
236
|
+
explanation: HumanFriendlyExplanation;
|
|
237
|
+
}>;
|
|
238
|
+
total: number;
|
|
239
|
+
explanation: HumanFriendlyExplanation;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Verifies the entire cryptographic receipt chain (`prevReceiptHash` -> `receiptHash`,
|
|
243
|
+
* HMAC vault signatures, Ed25519 Governance DecisionRecords, and portable Ed25519 AgenticReceipts).
|
|
244
|
+
*/
|
|
245
|
+
verifyReceiptChain(ctx: ExecutionContext, limit?: number): {
|
|
246
|
+
ok: true;
|
|
247
|
+
valid: boolean;
|
|
248
|
+
workspaceId: string;
|
|
249
|
+
agentDid: string;
|
|
250
|
+
publicKeyHex: string;
|
|
251
|
+
chainValid: boolean;
|
|
252
|
+
hashLinksValid: boolean;
|
|
253
|
+
allHmacValid: boolean;
|
|
254
|
+
allEd25519AgenticValid: boolean;
|
|
255
|
+
allGovernanceValid: boolean;
|
|
256
|
+
totalReceipts: number;
|
|
257
|
+
totalChecked: number;
|
|
258
|
+
validCount: number;
|
|
259
|
+
brokenLinks: Array<{
|
|
260
|
+
receiptId: string;
|
|
261
|
+
runId: string;
|
|
262
|
+
reason: string;
|
|
263
|
+
}>;
|
|
264
|
+
genesisHash: string;
|
|
265
|
+
headReceiptHash: string;
|
|
266
|
+
links: Array<{
|
|
267
|
+
index: number;
|
|
268
|
+
receiptId: string;
|
|
269
|
+
runId: string;
|
|
270
|
+
toolSlug: string;
|
|
271
|
+
prevReceiptHash: string;
|
|
272
|
+
receiptHash: string;
|
|
273
|
+
hashLinkValid: boolean;
|
|
274
|
+
hmacValid: boolean;
|
|
275
|
+
ed25519AgenticValid: boolean;
|
|
276
|
+
governanceValid: boolean;
|
|
277
|
+
issuedAt: string;
|
|
278
|
+
}>;
|
|
279
|
+
explanation: HumanFriendlyExplanation;
|
|
280
|
+
};
|
|
281
|
+
getGovernanceOverview(ctx: ExecutionContext): {
|
|
282
|
+
workspaceId: string;
|
|
283
|
+
killSwitch: {
|
|
284
|
+
active: boolean;
|
|
285
|
+
reason: string | null;
|
|
286
|
+
};
|
|
287
|
+
governance: ReturnType<MicrosoftGovernanceAdapter["getStatus"]>;
|
|
288
|
+
trustScore: ReturnType<MicrosoftGovernanceAdapter["getWorkspaceTrustScore"]>;
|
|
289
|
+
policy: Workspace["policy"];
|
|
290
|
+
plainEnglish: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
291
|
+
llmPolicyBrief: LlmPolicyAndGovernanceBrief;
|
|
292
|
+
explanation: HumanFriendlyExplanation;
|
|
150
293
|
};
|
|
294
|
+
resetWorkspaceGuardrails(ctx: ExecutionContext): {
|
|
295
|
+
ok: true;
|
|
296
|
+
action: "reset_guardrails";
|
|
297
|
+
workspace: Workspace;
|
|
298
|
+
policy: Workspace["policy"];
|
|
299
|
+
plainEnglish: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
300
|
+
llmPolicyBrief: LlmPolicyAndGovernanceBrief;
|
|
301
|
+
explanation: HumanFriendlyExplanation;
|
|
302
|
+
};
|
|
303
|
+
checkToolPolicy(ctx: ExecutionContext, params: {
|
|
304
|
+
toolSlug: string;
|
|
305
|
+
input?: Record<string, unknown>;
|
|
306
|
+
}): Promise<PolicySimulationResult>;
|
|
307
|
+
setKillSwitch(ctx: ExecutionContext, active: boolean, reason?: string): Workspace;
|
|
308
|
+
scanForContextPoisoning(workspaceId: string, text: string): {
|
|
309
|
+
poisoned: boolean;
|
|
310
|
+
severity: string;
|
|
311
|
+
matchedPatterns: string[];
|
|
312
|
+
findingsCount: number;
|
|
313
|
+
integrityValid: boolean;
|
|
314
|
+
};
|
|
315
|
+
getGuardrailsSummary(ctx: ExecutionContext): {
|
|
316
|
+
workspaceId: string;
|
|
317
|
+
policy: Workspace["policy"];
|
|
318
|
+
plainEnglish: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
319
|
+
llmPolicyBrief: LlmPolicyAndGovernanceBrief;
|
|
320
|
+
activeDefaults: ActiveMemoryDefaults;
|
|
321
|
+
activeGuardrails: string[];
|
|
322
|
+
};
|
|
323
|
+
applyNaturalLanguageGuardrail(ctx: ExecutionContext, prompt: string, options?: GuardrailCompileOptions): Promise<{
|
|
324
|
+
ok: boolean;
|
|
325
|
+
workspace: Workspace;
|
|
326
|
+
guardrail: ParsedNaturalLanguageGuardrail;
|
|
327
|
+
plainEnglish: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
328
|
+
llmPolicyBrief: LlmPolicyAndGovernanceBrief;
|
|
329
|
+
memoryRecord?: WorkspaceMemoryRecord;
|
|
330
|
+
}>;
|
|
151
331
|
doNaturalLanguage(ctx: ExecutionContext, params: {
|
|
152
332
|
prompt: string;
|
|
153
333
|
input?: Record<string, unknown>;
|
|
@@ -158,13 +338,38 @@ export declare class MuxoEngine {
|
|
|
158
338
|
}): Promise<{
|
|
159
339
|
ok: boolean;
|
|
160
340
|
executed: boolean;
|
|
161
|
-
status: "executed" | "planned_dry_run" | "awaiting_approval" | "awaiting_oauth_connection" | "missing_inputs" | "unresolved";
|
|
341
|
+
status: "executed" | "planned_dry_run" | "awaiting_approval" | "awaiting_oauth_connection" | "missing_inputs" | "guardrail_applied" | "memory_saved" | "memory_forgotten" | "memory_recalled" | "memory_graph" | "governance_updated" | "governance_scanned" | "governance_status" | "context_inspected" | "receipt_explained" | "receipt_chain_verified" | "unresolved";
|
|
162
342
|
intent: NaturalLanguageResolution;
|
|
163
343
|
resolution: NaturalLanguageResolution;
|
|
164
344
|
plan?: ActionPlan;
|
|
165
345
|
run?: ExecutionRun;
|
|
166
346
|
receipt?: ExecutionReceipt;
|
|
347
|
+
receiptVerification?: {
|
|
348
|
+
receipt: ExecutionReceipt;
|
|
349
|
+
agenticReceipt?: PortableAgenticReceipt;
|
|
350
|
+
signatureValid: boolean;
|
|
351
|
+
governanceSignatureValid: boolean;
|
|
352
|
+
agenticReceiptValid?: boolean;
|
|
353
|
+
explanation: HumanFriendlyExplanation;
|
|
354
|
+
};
|
|
355
|
+
receiptsList?: ReturnType<MuxoEngine["listReceipts"]>;
|
|
356
|
+
receiptChain?: ReturnType<MuxoEngine["verifyReceiptChain"]>;
|
|
357
|
+
guardrail?: ParsedNaturalLanguageGuardrail;
|
|
358
|
+
plainEnglishGuardrails?: ReturnType<typeof describePolicyInPlainEnglish>;
|
|
359
|
+
memoryRecord?: WorkspaceMemoryRecord;
|
|
360
|
+
memoryOverview?: Awaited<ReturnType<MuxoEngine["getMemoryOverview"]>>;
|
|
361
|
+
memoryGraph?: MemoryKnowledgeGraph;
|
|
362
|
+
deletedMemoryId?: string;
|
|
363
|
+
governanceStatus?: ReturnType<MuxoEngine["getGovernanceOverview"]>;
|
|
364
|
+
poisoningScan?: ReturnType<MuxoEngine["scanForContextPoisoning"]>;
|
|
365
|
+
runContext?: Awaited<ReturnType<MuxoEngine["getRunContext"]>>;
|
|
366
|
+
explanation?: HumanFriendlyExplanation;
|
|
367
|
+
activeDefaults?: ActiveMemoryDefaults;
|
|
368
|
+
activeMemoryDefaults?: ActiveMemoryDefaults;
|
|
369
|
+
memoryAutoFilled?: Record<string, unknown>;
|
|
167
370
|
authHandoff?: Record<string, unknown>;
|
|
371
|
+
humanHandoff?: HumanHandoff;
|
|
372
|
+
llmGuidance?: LlmGuidance;
|
|
168
373
|
byokPrompt?: {
|
|
169
374
|
needed: boolean;
|
|
170
375
|
provider: string;
|
|
@@ -174,4 +379,87 @@ export declare class MuxoEngine {
|
|
|
174
379
|
};
|
|
175
380
|
humanMessage: string;
|
|
176
381
|
}>;
|
|
382
|
+
/**
|
|
383
|
+
* Parallel Governed Multi-Tool Batch Execution (`COMPOSIO_MULTI_EXECUTE_TOOL` pattern).
|
|
384
|
+
* Evaluates governance & policy across every item, then executes all approved plans concurrently.
|
|
385
|
+
*/
|
|
386
|
+
executeBatchPlans(ctx: ExecutionContext, params: {
|
|
387
|
+
items: Array<{
|
|
388
|
+
toolSlug: string;
|
|
389
|
+
input: Record<string, unknown>;
|
|
390
|
+
reason: string;
|
|
391
|
+
}>;
|
|
392
|
+
autoApprove?: boolean;
|
|
393
|
+
}): Promise<{
|
|
394
|
+
batchId: string;
|
|
395
|
+
totalRequested: number;
|
|
396
|
+
succeededCount: number;
|
|
397
|
+
blockedOrPendingCount: number;
|
|
398
|
+
results: Array<{
|
|
399
|
+
toolSlug: string;
|
|
400
|
+
status: "succeeded" | "failed" | "awaiting_approval" | "awaiting_oauth";
|
|
401
|
+
planId?: string;
|
|
402
|
+
runId?: string;
|
|
403
|
+
receiptId?: string;
|
|
404
|
+
output?: Record<string, unknown>;
|
|
405
|
+
error?: string;
|
|
406
|
+
}>;
|
|
407
|
+
}>;
|
|
408
|
+
/**
|
|
409
|
+
* Cloudflare Workflows (`step.do`, `step.waitForEvent`, `step.sleep`) Durable Orchestrator
|
|
410
|
+
* for multi-stage async Stripe v2 Cloud Provisioning & Vault Secret Injection.
|
|
411
|
+
*/
|
|
412
|
+
startDurableWorkflow(ctx: ExecutionContext, params: {
|
|
413
|
+
provider?: string;
|
|
414
|
+
serviceRef?: string;
|
|
415
|
+
name?: string;
|
|
416
|
+
region?: string;
|
|
417
|
+
}): Promise<DurableWorkflow>;
|
|
418
|
+
advanceDurableWorkflow(ctx: ExecutionContext, workflowId: string, eventPayload?: Record<string, unknown>): Promise<DurableWorkflow>;
|
|
419
|
+
listDurableWorkflows(workspaceId: string): DurableWorkflow[];
|
|
420
|
+
/**
|
|
421
|
+
* Hybrid Semantic Vector + Bi-Temporal Recall (`@cf/baai/bge-base-en-v1.5` + Vectorize model).
|
|
422
|
+
*/
|
|
423
|
+
searchMemoryHybrid(workspaceId: string, query: string, limit?: number): {
|
|
424
|
+
rankedMemories: Array<WorkspaceMemoryRecord & {
|
|
425
|
+
hybridScore: number;
|
|
426
|
+
vectorSimilarity: number;
|
|
427
|
+
lexicalOverlap: number;
|
|
428
|
+
}>;
|
|
429
|
+
vectorDimensions: number;
|
|
430
|
+
embeddingModel: string;
|
|
431
|
+
topScore: number;
|
|
432
|
+
};
|
|
433
|
+
/**
|
|
434
|
+
* Tamper-Evident R2 / WORM Audit Archive Bundle signed by the workspace's Ed25519 AgentIdentity.
|
|
435
|
+
*/
|
|
436
|
+
exportTamperEvidentArchive(workspaceId: string): {
|
|
437
|
+
archiveId: string;
|
|
438
|
+
workspaceId: string;
|
|
439
|
+
storageTarget: string;
|
|
440
|
+
retentionMode: string;
|
|
441
|
+
exportedAt: string;
|
|
442
|
+
chainIntegrity: {
|
|
443
|
+
verified: boolean;
|
|
444
|
+
algorithm: string;
|
|
445
|
+
agentDid: string;
|
|
446
|
+
publicKeyFingerprint: string;
|
|
447
|
+
headMerkleHash: string;
|
|
448
|
+
bundleDigest: string;
|
|
449
|
+
};
|
|
450
|
+
counts: {
|
|
451
|
+
receipts: number;
|
|
452
|
+
governanceDecisions: number;
|
|
453
|
+
auditLogs: number;
|
|
454
|
+
temporalFacts: number;
|
|
455
|
+
};
|
|
456
|
+
merkleChain: {
|
|
457
|
+
sequence: number;
|
|
458
|
+
receiptId: string;
|
|
459
|
+
toolSlug: string;
|
|
460
|
+
prevHash: string;
|
|
461
|
+
entryHash: string;
|
|
462
|
+
createdAt: string;
|
|
463
|
+
}[];
|
|
464
|
+
};
|
|
177
465
|
}
|