@muxoai/sdk 1.3.0 → 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 +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 +1677 -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 +112 -0
- package/dist/durable-workflow.js +284 -0
- package/dist/engine.d.ts +377 -6
- package/dist/engine.js +1919 -94
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/mcp-schema.d.ts +286 -0
- package/dist/mcp-schema.js +2580 -0
- package/dist/mcp.d.ts +2 -25
- package/dist/mcp.js +1008 -507
- package/dist/memory-graph.d.ts +45 -0
- package/dist/memory-graph.js +293 -0
- package/dist/nl.js +214 -35
- package/dist/oauth.d.ts +32 -0
- package/dist/oauth.js +134 -0
- package/dist/oss-suite.d.ts +217 -0
- package/dist/oss-suite.js +836 -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 +728 -7
- package/dist/sdk.js +539 -10
- package/dist/server.js +2744 -321
- package/dist/store.d.ts +138 -6
- package/dist/store.js +932 -58
- package/dist/types.d.ts +330 -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 +6 -5
- 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
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,74 @@
|
|
|
1
1
|
export type RiskLevel = "read" | "write" | "admin" | "financial" | "provisioning" | "destructive";
|
|
2
2
|
export type ProviderLane = "composio_sdk" | "composio_instant" | "stripe_projects";
|
|
3
|
-
export type SubscriptionTier = "free" | "starter";
|
|
3
|
+
export type SubscriptionTier = "free" | "starter" | "pro";
|
|
4
|
+
export type SubscriptionStatus = "none" | "active" | "trialing" | "past_due" | "unpaid" | "canceled" | "incomplete" | "comped";
|
|
5
|
+
export interface WorkspaceBilling {
|
|
6
|
+
interval: "month" | "year" | null;
|
|
7
|
+
status: SubscriptionStatus;
|
|
8
|
+
cancelAtPeriodEnd: boolean;
|
|
9
|
+
/** When Stripe next renews or ends the subscription. */
|
|
10
|
+
currentPeriodEnd: string | null;
|
|
11
|
+
/** Monthly usage periods are counted from this moment. */
|
|
12
|
+
usagePeriodAnchor: string;
|
|
13
|
+
usagePeriodStart: string;
|
|
14
|
+
usagePeriodEnd: string;
|
|
15
|
+
/** usagePeriodStart of the last period whose plan credits were granted. */
|
|
16
|
+
creditsGrantedFor: string | null;
|
|
17
|
+
paymentFailedAt?: string | null;
|
|
18
|
+
/** Subscription whose start (fresh usage period and first credits) was already applied. */
|
|
19
|
+
startedSubscriptionId?: string | null;
|
|
20
|
+
}
|
|
21
|
+
export type LanguageMode = "non_technical" | "technical" | "hybrid";
|
|
22
|
+
export interface HumanFriendlyExplanation {
|
|
23
|
+
headline: string;
|
|
24
|
+
preferred: string;
|
|
25
|
+
nonTechnical: string;
|
|
26
|
+
technical: string;
|
|
27
|
+
languageMode: LanguageMode;
|
|
28
|
+
customInstructions?: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A structured handoff telling the caller (LLM or human) that a person must
|
|
32
|
+
* complete a step in the browser before the plan can proceed.
|
|
33
|
+
*/
|
|
34
|
+
export interface HumanHandoff {
|
|
35
|
+
kind: "approval" | "oauth" | "byok";
|
|
36
|
+
brand?: string;
|
|
37
|
+
url: string | null;
|
|
38
|
+
ctaLabel: string;
|
|
39
|
+
headline: string;
|
|
40
|
+
instructions: string;
|
|
41
|
+
markdownForUser?: string;
|
|
42
|
+
planId?: string;
|
|
43
|
+
provider?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Machine-readable guidance for LLM harnesses on exactly which Muxo tool to
|
|
47
|
+
* call next once a handoff or gate clears.
|
|
48
|
+
*/
|
|
49
|
+
export interface LlmGuidance {
|
|
50
|
+
summary: string;
|
|
51
|
+
nextToolCalls: Array<{
|
|
52
|
+
tool: string;
|
|
53
|
+
input: Record<string, unknown>;
|
|
54
|
+
when: string;
|
|
55
|
+
}>;
|
|
56
|
+
}
|
|
57
|
+
export type WorkspaceRole = "owner" | "admin" | "operator" | "member";
|
|
58
|
+
export type ParameterRuleOperator = "equals" | "must_equal" | "not_equals" | "contains" | "not_contains" | "starts_with" | "must_start_with" | "ends_with" | "must_end_with" | "domain_in" | "domain_not_in" | "max_number" | "min_number" | "gt" | "gte" | "lt" | "lte" | "in" | "not_in" | "regex";
|
|
59
|
+
export type ParameterRuleAction = "block" | "require_approval" | "allow" | "auto_approve";
|
|
60
|
+
export interface ParameterPolicyRule {
|
|
61
|
+
id: string;
|
|
62
|
+
toolPattern?: string;
|
|
63
|
+
parameter: string;
|
|
64
|
+
operator: ParameterRuleOperator;
|
|
65
|
+
value: string | number | string[];
|
|
66
|
+
unit?: "usd" | "cents" | "credits" | "raw";
|
|
67
|
+
action: ParameterRuleAction;
|
|
68
|
+
elseAction?: ParameterRuleAction;
|
|
69
|
+
description: string;
|
|
70
|
+
source?: "deterministic" | "llm" | "mcp_harness" | "user";
|
|
71
|
+
}
|
|
4
72
|
export interface GovernancePolicy {
|
|
5
73
|
mode: "monitor" | "enforce";
|
|
6
74
|
requireApprovalFor: RiskLevel[];
|
|
@@ -8,15 +76,65 @@ export interface GovernancePolicy {
|
|
|
8
76
|
allowProvisioning: boolean;
|
|
9
77
|
maxCreditsPerRun: number;
|
|
10
78
|
blockedToolSlugs?: string[];
|
|
79
|
+
parameterRules?: ParameterPolicyRule[];
|
|
80
|
+
executionRing?: 0 | 1 | 2 | 3;
|
|
81
|
+
killSwitchActive?: boolean;
|
|
82
|
+
killSwitchReason?: string | null;
|
|
83
|
+
blockDestructiveSql?: boolean;
|
|
84
|
+
naturalLanguageRules?: string[];
|
|
85
|
+
languageMode?: LanguageMode;
|
|
86
|
+
customInstructions?: string[];
|
|
11
87
|
}
|
|
12
88
|
export interface User {
|
|
13
89
|
id: string;
|
|
14
90
|
email: string;
|
|
15
91
|
name: string;
|
|
16
92
|
workspaceId: string;
|
|
17
|
-
role:
|
|
93
|
+
role: WorkspaceRole;
|
|
94
|
+
createdAt: string;
|
|
95
|
+
}
|
|
96
|
+
export interface WorkspaceMembership {
|
|
97
|
+
id: string;
|
|
98
|
+
workspaceId: string;
|
|
99
|
+
userId: string;
|
|
100
|
+
role: WorkspaceRole;
|
|
101
|
+
teamName: string | null;
|
|
102
|
+
joinedViaKeyId?: string | null;
|
|
103
|
+
joinedVia?: "owner" | "created" | "api_key" | "team_key" | "invite" | "claim" | string;
|
|
104
|
+
apiKeyId?: string | null;
|
|
105
|
+
createdAt: string;
|
|
106
|
+
}
|
|
107
|
+
export interface WorkspaceSummary {
|
|
108
|
+
id: string;
|
|
109
|
+
name: string;
|
|
110
|
+
slug: string;
|
|
111
|
+
tier: SubscriptionTier;
|
|
112
|
+
creditsBalance: number;
|
|
113
|
+
monthlyActionsUsed: number;
|
|
114
|
+
monthlyActionsLimit: number;
|
|
115
|
+
role: WorkspaceRole;
|
|
116
|
+
teamName: string | null;
|
|
117
|
+
joinedVia?: "owner" | "created" | "api_key" | "team_key" | "invite" | "claim" | string;
|
|
118
|
+
isCurrent: boolean;
|
|
18
119
|
createdAt: string;
|
|
19
120
|
}
|
|
121
|
+
export interface TeamOnboardingKit {
|
|
122
|
+
ok?: boolean;
|
|
123
|
+
mode: "shared_workspace" | "dedicated_workspace";
|
|
124
|
+
workspace: Workspace | Pick<Workspace, "id" | "name" | "slug" | "tier" | "creditsBalance">;
|
|
125
|
+
teamName: string;
|
|
126
|
+
role: WorkspaceRole;
|
|
127
|
+
apiKey: string;
|
|
128
|
+
keyRecord: ApiKeyRecord;
|
|
129
|
+
claimUrl?: string | null;
|
|
130
|
+
consoleUrl?: string;
|
|
131
|
+
consoleJoinUrl?: string;
|
|
132
|
+
mcpEndpoint?: string;
|
|
133
|
+
cliSetupCommand: string;
|
|
134
|
+
mcpConfig?: Record<string, unknown>;
|
|
135
|
+
mcpConfigSnippet?: string;
|
|
136
|
+
instructions: string[];
|
|
137
|
+
}
|
|
20
138
|
export interface Workspace {
|
|
21
139
|
id: string;
|
|
22
140
|
name: string;
|
|
@@ -28,6 +146,8 @@ export interface Workspace {
|
|
|
28
146
|
creditsBalance: number;
|
|
29
147
|
stripeCustomerId: string | null;
|
|
30
148
|
stripeSubscriptionId: string | null;
|
|
149
|
+
stripeConnectedAccountId?: string | null;
|
|
150
|
+
billing?: WorkspaceBilling;
|
|
31
151
|
projectsEnvName: string;
|
|
32
152
|
policy: GovernancePolicy;
|
|
33
153
|
createdAt: string;
|
|
@@ -40,6 +160,9 @@ export interface ApiKeyRecord {
|
|
|
40
160
|
keyPrefix: string;
|
|
41
161
|
environment: "live" | "test";
|
|
42
162
|
scopes: string[];
|
|
163
|
+
teamName?: string | null;
|
|
164
|
+
role?: WorkspaceRole;
|
|
165
|
+
createdByEmail?: string | null;
|
|
43
166
|
lastUsedAt: string | null;
|
|
44
167
|
revokedAt: string | null;
|
|
45
168
|
createdAt: string;
|
|
@@ -56,7 +179,7 @@ export interface MuxoTool {
|
|
|
56
179
|
riskLevel: RiskLevel;
|
|
57
180
|
requiresAuth: boolean;
|
|
58
181
|
creditCost: number;
|
|
59
|
-
billingMode: "customer_oauth" | "provider_wallet" | "resource_provisioning";
|
|
182
|
+
billingMode: "customer_oauth" | "customer_byok" | "provider_wallet" | "resource_provisioning";
|
|
60
183
|
inputSchema: Record<string, unknown>;
|
|
61
184
|
llmContextUrl?: string;
|
|
62
185
|
providerUrl?: string;
|
|
@@ -126,15 +249,146 @@ export interface GovernanceDecisionRecord {
|
|
|
126
249
|
previousHash: string;
|
|
127
250
|
chainVerified: boolean;
|
|
128
251
|
};
|
|
252
|
+
protocolFacets?: {
|
|
253
|
+
sql?: {
|
|
254
|
+
verb: string;
|
|
255
|
+
target: string;
|
|
256
|
+
tables: string;
|
|
257
|
+
functions: string;
|
|
258
|
+
destructive?: boolean;
|
|
259
|
+
};
|
|
260
|
+
k8s?: {
|
|
261
|
+
verb: string;
|
|
262
|
+
resource: string;
|
|
263
|
+
namespace: string;
|
|
264
|
+
name: string;
|
|
265
|
+
subresource: string;
|
|
266
|
+
};
|
|
267
|
+
infra?: {
|
|
268
|
+
provider: string;
|
|
269
|
+
service: string;
|
|
270
|
+
action: string;
|
|
271
|
+
destructive: boolean;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
ringEnforcement?: {
|
|
275
|
+
agentRing: number;
|
|
276
|
+
requiredRing: number;
|
|
277
|
+
allowed: boolean;
|
|
278
|
+
ringLabel: string;
|
|
279
|
+
};
|
|
280
|
+
trustScore?: {
|
|
281
|
+
overall: number;
|
|
282
|
+
tier: "Untrusted" | "Provisional" | "Trusted" | "Verified";
|
|
283
|
+
reliability: number;
|
|
284
|
+
consistency: number;
|
|
285
|
+
};
|
|
286
|
+
contextPoisoning?: {
|
|
287
|
+
safe: boolean;
|
|
288
|
+
riskLevel: "none" | "low" | "medium" | "high" | "critical";
|
|
289
|
+
findingsCount: number;
|
|
290
|
+
findings: Array<{
|
|
291
|
+
patternId: string;
|
|
292
|
+
patternName: string;
|
|
293
|
+
severity: string;
|
|
294
|
+
description: string;
|
|
295
|
+
}>;
|
|
296
|
+
};
|
|
297
|
+
killSwitch?: {
|
|
298
|
+
active: boolean;
|
|
299
|
+
killedAt?: string | null;
|
|
300
|
+
reason?: string | null;
|
|
301
|
+
};
|
|
129
302
|
ed25519Signature: string;
|
|
130
303
|
signature: string;
|
|
131
304
|
bindingHash: string;
|
|
132
305
|
decidedAt: string;
|
|
306
|
+
explanation?: HumanFriendlyExplanation;
|
|
133
307
|
}
|
|
134
308
|
export type MemoryRecordKind = "fact" | "preference" | "resource_note" | "operator_note" | "execution_outcome" | "resource_topology" | "policy_decision";
|
|
309
|
+
export interface TemporalGraphFact {
|
|
310
|
+
id: string;
|
|
311
|
+
workspaceId: string;
|
|
312
|
+
subject: string;
|
|
313
|
+
predicate: string;
|
|
314
|
+
object: string;
|
|
315
|
+
summary: string;
|
|
316
|
+
confidence: number;
|
|
317
|
+
validFrom: string;
|
|
318
|
+
validTo: string | null;
|
|
319
|
+
transactionFrom?: string;
|
|
320
|
+
transactionTo?: string | null;
|
|
321
|
+
episodeId?: string | null;
|
|
322
|
+
supersededById?: string | null;
|
|
323
|
+
sourceKind: MemoryRecordKind | "system" | "manual";
|
|
324
|
+
sourceReferenceId?: string | null;
|
|
325
|
+
metadata: Record<string, unknown>;
|
|
326
|
+
createdAt: string;
|
|
327
|
+
}
|
|
328
|
+
export interface MemoryGraphNode {
|
|
329
|
+
id: string;
|
|
330
|
+
kind: "workspace" | "entity" | "preference" | "guardrail" | "connection" | "resource" | "tool" | "memory" | "episode";
|
|
331
|
+
label: string;
|
|
332
|
+
summary: string;
|
|
333
|
+
status: "active" | "historical";
|
|
334
|
+
hopDistance?: number;
|
|
335
|
+
metadata?: Record<string, unknown>;
|
|
336
|
+
}
|
|
337
|
+
export interface MemoryGraphEdge {
|
|
338
|
+
id: string;
|
|
339
|
+
source: string;
|
|
340
|
+
target: string;
|
|
341
|
+
subject?: string;
|
|
342
|
+
object?: string;
|
|
343
|
+
predicate: string;
|
|
344
|
+
summary: string;
|
|
345
|
+
confidence: number;
|
|
346
|
+
status: "active" | "historical";
|
|
347
|
+
validFrom: string;
|
|
348
|
+
validTo: string | null;
|
|
349
|
+
transactionFrom?: string;
|
|
350
|
+
transactionTo?: string | null;
|
|
351
|
+
episodeId?: string | null;
|
|
352
|
+
supersededById: string | null;
|
|
353
|
+
sourceKind: TemporalGraphFact["sourceKind"];
|
|
354
|
+
sourceReferenceId: string | null;
|
|
355
|
+
}
|
|
356
|
+
export interface MemoryKnowledgeGraph {
|
|
357
|
+
workspaceId: string;
|
|
358
|
+
workspaceSlug: string;
|
|
359
|
+
namespace: string;
|
|
360
|
+
generatedAt: string;
|
|
361
|
+
asOf?: string | null;
|
|
362
|
+
focalEntity?: string | null;
|
|
363
|
+
maxHops?: number;
|
|
364
|
+
query: string | null;
|
|
365
|
+
nodes: MemoryGraphNode[];
|
|
366
|
+
edges: MemoryGraphEdge[];
|
|
367
|
+
activeEdges: MemoryGraphEdge[];
|
|
368
|
+
historicalEdges: MemoryGraphEdge[];
|
|
369
|
+
subgraph?: {
|
|
370
|
+
focalEntity: string;
|
|
371
|
+
maxHops: number;
|
|
372
|
+
nodes: MemoryGraphNode[];
|
|
373
|
+
edges: MemoryGraphEdge[];
|
|
374
|
+
hopDistances: Record<string, number>;
|
|
375
|
+
} | null;
|
|
376
|
+
stats: {
|
|
377
|
+
nodesCount: number;
|
|
378
|
+
activeEdgesCount: number;
|
|
379
|
+
historicalEdgesCount: number;
|
|
380
|
+
memoriesCount: number;
|
|
381
|
+
resourcesCount: number;
|
|
382
|
+
connectionsCount: number;
|
|
383
|
+
episodesCount?: number;
|
|
384
|
+
};
|
|
385
|
+
mermaid: string;
|
|
386
|
+
explanation: HumanFriendlyExplanation;
|
|
387
|
+
}
|
|
135
388
|
export interface MemoryContextSummary {
|
|
136
389
|
enabled: boolean;
|
|
137
390
|
namespace: string;
|
|
391
|
+
fundingSource?: "muxo_funded" | "customer_byok_supermemory" | "local_fallback";
|
|
138
392
|
staticFacts: string[];
|
|
139
393
|
dynamicContext: string[];
|
|
140
394
|
recalledMemories: Array<{
|
|
@@ -145,6 +399,7 @@ export interface MemoryContextSummary {
|
|
|
145
399
|
createdAt?: string;
|
|
146
400
|
}>;
|
|
147
401
|
formattedPromptContext: string;
|
|
402
|
+
profileMarkdown?: string;
|
|
148
403
|
profile: {
|
|
149
404
|
static: string[];
|
|
150
405
|
dynamic: string[];
|
|
@@ -157,6 +412,16 @@ export interface MemoryContextSummary {
|
|
|
157
412
|
similarity: number;
|
|
158
413
|
createdAt?: string;
|
|
159
414
|
}>;
|
|
415
|
+
temporalFacts?: TemporalGraphFact[];
|
|
416
|
+
activeDefaults?: Record<string, unknown>;
|
|
417
|
+
autoFilledInput?: Record<string, unknown>;
|
|
418
|
+
activeGuardrails?: string[];
|
|
419
|
+
contextPoisoningScan?: {
|
|
420
|
+
safe: boolean;
|
|
421
|
+
riskLevel: "none" | "low" | "medium" | "high" | "critical";
|
|
422
|
+
findingsCount: number;
|
|
423
|
+
};
|
|
424
|
+
explanation?: HumanFriendlyExplanation;
|
|
160
425
|
}
|
|
161
426
|
export interface WorkspaceMemoryRecord {
|
|
162
427
|
id: string;
|
|
@@ -167,6 +432,7 @@ export interface WorkspaceMemoryRecord {
|
|
|
167
432
|
content: string;
|
|
168
433
|
kind: MemoryRecordKind;
|
|
169
434
|
metadata: Record<string, unknown>;
|
|
435
|
+
fundingSource?: string;
|
|
170
436
|
createdAt: string;
|
|
171
437
|
}
|
|
172
438
|
export interface ByokKeyRecord {
|
|
@@ -209,6 +475,29 @@ export interface SupplierSettlementSummary {
|
|
|
209
475
|
supplierWholesalePaidCents: number;
|
|
210
476
|
muxoNetMarginCents: number;
|
|
211
477
|
}>;
|
|
478
|
+
masterWalletProtection?: {
|
|
479
|
+
status: "healthy" | "failover_active";
|
|
480
|
+
zeroChargeOnFailure: boolean;
|
|
481
|
+
instantFailoverMode: "zero_cost_native_edge";
|
|
482
|
+
paidProvisioningPolicy: "muxo_master_wallet_or_customer_stripe_byok";
|
|
483
|
+
retailToWholesaleCoverageRatio: number;
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
export interface HumanHandoffDescriptor {
|
|
487
|
+
required: boolean;
|
|
488
|
+
kind: "none" | "oauth_connection" | "human_approval" | "oauth_and_approval";
|
|
489
|
+
status: "ready" | "awaiting_oauth" | "awaiting_approval" | "awaiting_oauth_and_approval" | "connected" | "approved" | "rejected";
|
|
490
|
+
headline: string;
|
|
491
|
+
markdownForUser: string;
|
|
492
|
+
agentNextToolCall: {
|
|
493
|
+
tool: string;
|
|
494
|
+
arguments: Record<string, unknown>;
|
|
495
|
+
description: string;
|
|
496
|
+
};
|
|
497
|
+
actionUrl: string | null;
|
|
498
|
+
approvalUrl: string | null;
|
|
499
|
+
oauthRedirectUrl: string | null;
|
|
500
|
+
consoleUrl: string;
|
|
212
501
|
}
|
|
213
502
|
export interface ActionPlan {
|
|
214
503
|
id: string;
|
|
@@ -228,6 +517,19 @@ export interface ActionPlan {
|
|
|
228
517
|
decisionRecord?: GovernanceDecisionRecord | null;
|
|
229
518
|
memoryContext?: MemoryContextSummary | null;
|
|
230
519
|
supplierSettlement?: SupplierSettlement | null;
|
|
520
|
+
surfaceVersion?: string;
|
|
521
|
+
surfaceAudience?: string;
|
|
522
|
+
surfaceConnectionId?: string | null;
|
|
523
|
+
surfaceContext?: Array<{
|
|
524
|
+
recordId: string;
|
|
525
|
+
revision: number;
|
|
526
|
+
contentHash: string;
|
|
527
|
+
}>;
|
|
528
|
+
surfaceFunding?: {
|
|
529
|
+
resource_id: string;
|
|
530
|
+
mode: "customer_funded" | "muxo_funded";
|
|
531
|
+
} | null;
|
|
532
|
+
surfaceOperationId?: string;
|
|
231
533
|
createdAt: string;
|
|
232
534
|
expiresAt: string;
|
|
233
535
|
}
|
|
@@ -243,6 +545,7 @@ export interface ExecutionRun {
|
|
|
243
545
|
input: Record<string, unknown>;
|
|
244
546
|
output: Record<string, unknown> | null;
|
|
245
547
|
error: string | null;
|
|
548
|
+
errorMessage?: string | null;
|
|
246
549
|
actionsMetered: number;
|
|
247
550
|
creditsMetered: number;
|
|
248
551
|
durationMs: number | null;
|
|
@@ -250,6 +553,27 @@ export interface ExecutionRun {
|
|
|
250
553
|
startedAt: string;
|
|
251
554
|
completedAt: string | null;
|
|
252
555
|
}
|
|
556
|
+
export type AgenticReceiptActionType = "ToolCall" | "ModelInference" | "GpuWorkload" | "RagRetrieval" | "ApiCall" | "DistributedJob";
|
|
557
|
+
export interface PortableAgenticReceipt {
|
|
558
|
+
version: string;
|
|
559
|
+
receipt_id: string;
|
|
560
|
+
agent_id: string;
|
|
561
|
+
task_id: string;
|
|
562
|
+
action_type: AgenticReceiptActionType;
|
|
563
|
+
tool_name: string | null;
|
|
564
|
+
model_id: string | null;
|
|
565
|
+
input_hash: string;
|
|
566
|
+
output_hash: string;
|
|
567
|
+
started_at: string;
|
|
568
|
+
completed_at: string;
|
|
569
|
+
latency_ms: number;
|
|
570
|
+
nonce: string;
|
|
571
|
+
previous_receipt_hash: string | null;
|
|
572
|
+
receipt_hash: string;
|
|
573
|
+
signature_algorithm: "Ed25519";
|
|
574
|
+
public_key_hex: string;
|
|
575
|
+
signature_hex: string;
|
|
576
|
+
}
|
|
253
577
|
export interface ExecutionReceipt {
|
|
254
578
|
id: string;
|
|
255
579
|
runId: string;
|
|
@@ -268,13 +592,15 @@ export interface ExecutionReceipt {
|
|
|
268
592
|
receiptHash: string;
|
|
269
593
|
signature: string;
|
|
270
594
|
decisionRecord?: GovernanceDecisionRecord | null;
|
|
595
|
+
agenticReceipt?: PortableAgenticReceipt | null;
|
|
271
596
|
supplierSettlement?: SupplierSettlement | null;
|
|
272
597
|
issuedAt: string;
|
|
598
|
+
explanation?: HumanFriendlyExplanation;
|
|
273
599
|
}
|
|
274
600
|
export interface LedgerEntry {
|
|
275
601
|
id: string;
|
|
276
602
|
workspaceId: string;
|
|
277
|
-
kind: "plan_grant" | "credit_topup" | "run_deduction" | "subscription_upgrade" | "manual_adjustment";
|
|
603
|
+
kind: "plan_grant" | "credit_topup" | "run_deduction" | "subscription_upgrade" | "plan_change" | "refund" | "manual_adjustment";
|
|
278
604
|
actionsDelta: number;
|
|
279
605
|
creditsDelta: number;
|
|
280
606
|
balanceAfter: number;
|
|
@@ -1,2 +1,64 @@
|
|
|
1
|
+
export type ConsoleView = "overview" | "catalog" | "setup" | "workspaces" | "activity" | "billing" | "login" | "signup";
|
|
2
|
+
/** Every path that serves the console shell, mapped to the view it opens. */
|
|
3
|
+
export declare const CONSOLE_ROUTES: Readonly<Record<string, ConsoleView>>;
|
|
4
|
+
export declare function isConsolePath(pathname: string): boolean;
|
|
1
5
|
export declare function renderConsoleHtml(): string;
|
|
2
6
|
export declare function renderLandingHtml(): string;
|
|
7
|
+
export interface OAuthConsentOptions {
|
|
8
|
+
error?: string;
|
|
9
|
+
clientName?: string;
|
|
10
|
+
redirectOrigin?: string;
|
|
11
|
+
clerk?: {
|
|
12
|
+
publishableKey: string;
|
|
13
|
+
frontendApi: string;
|
|
14
|
+
} | null;
|
|
15
|
+
request?: Record<string, string>;
|
|
16
|
+
/** Renders the workspace-claim variant, which posts to `action` instead of /oauth/authorize. */
|
|
17
|
+
claim?: {
|
|
18
|
+
workspaceName: string;
|
|
19
|
+
targetEmail: string;
|
|
20
|
+
action: string;
|
|
21
|
+
cancelUrl: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** Consent screen for MCP clients (ChatGPT, Claude, CLIs) asking to use a Muxo workspace. */
|
|
25
|
+
export declare function renderOAuthConsentHtml(opts: OAuthConsentOptions): string;
|
|
26
|
+
export interface ApprovalPageOptions {
|
|
27
|
+
planId: string;
|
|
28
|
+
clerk?: {
|
|
29
|
+
publishableKey: string;
|
|
30
|
+
frontendApi: string;
|
|
31
|
+
} | null;
|
|
32
|
+
}
|
|
33
|
+
/** One-click approval screen for plans held by workspace guardrails (`/approve/:planId`). */
|
|
34
|
+
export declare function renderApprovalPageHtml(opts: ApprovalPageOptions): string;
|
|
35
|
+
export interface OAuthConnectPageField {
|
|
36
|
+
name: string;
|
|
37
|
+
type?: string;
|
|
38
|
+
label?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
default?: string | null;
|
|
42
|
+
}
|
|
43
|
+
export interface OAuthConnectPageOptions {
|
|
44
|
+
token: string;
|
|
45
|
+
toolkitSlug: string;
|
|
46
|
+
toolkitName: string;
|
|
47
|
+
workspaceId?: string;
|
|
48
|
+
authMode?: string;
|
|
49
|
+
status?: string;
|
|
50
|
+
callbackUrl?: string | null;
|
|
51
|
+
expectedInputFields?: OAuthConnectPageField[];
|
|
52
|
+
error?: string | null;
|
|
53
|
+
}
|
|
54
|
+
/** Muxo-branded OAuth connection handoff screen (`/oauth/connect/:token`). */
|
|
55
|
+
export declare function renderOAuthConnectPageHtml(opts: OAuthConnectPageOptions): string;
|
|
56
|
+
export interface OAuthCallbackPageOptions {
|
|
57
|
+
providerSlug: string;
|
|
58
|
+
providerName: string;
|
|
59
|
+
status: string;
|
|
60
|
+
workspaceId: string;
|
|
61
|
+
externalAccountId?: string | null;
|
|
62
|
+
}
|
|
63
|
+
/** Muxo-branded OAuth callback completion screen (`/oauth/callback`). */
|
|
64
|
+
export declare function renderOAuthCallbackPageHtml(opts: OAuthCallbackPageOptions): string;
|