@muxoai/platform 1.4.0 → 1.4.1

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 (54) hide show
  1. package/.agents/plugins/marketplace.json +2 -2
  2. package/.claude-plugin/marketplace.json +2 -2
  3. package/ARCHITECTURE.md +16 -6
  4. package/README.md +1 -1
  5. package/dist/cli.js +317 -10
  6. package/dist/composio-catalog.d.ts +58 -0
  7. package/dist/composio-catalog.js +474 -0
  8. package/dist/config.d.ts +10 -0
  9. package/dist/config.js +16 -0
  10. package/dist/durable-workflow.d.ts +45 -0
  11. package/dist/durable-workflow.js +90 -0
  12. package/dist/engine.d.ts +276 -5
  13. package/dist/engine.js +1261 -71
  14. package/dist/mcp-schema.d.ts +125 -0
  15. package/dist/mcp-schema.js +1076 -0
  16. package/dist/mcp.d.ts +2 -30
  17. package/dist/mcp.js +505 -539
  18. package/dist/memory-graph.d.ts +21 -0
  19. package/dist/memory-graph.js +173 -0
  20. package/dist/nl.js +155 -0
  21. package/dist/oauth.d.ts +32 -0
  22. package/dist/oauth.js +134 -0
  23. package/dist/policy.d.ts +75 -1
  24. package/dist/policy.js +1119 -0
  25. package/dist/providers/composio-instant.js +225 -5
  26. package/dist/providers/composio-sdk.d.ts +68 -5
  27. package/dist/providers/composio-sdk.js +683 -78
  28. package/dist/providers/microsoft-governance.d.ts +28 -1
  29. package/dist/providers/microsoft-governance.js +224 -11
  30. package/dist/providers/stripe-billing.d.ts +42 -0
  31. package/dist/providers/stripe-billing.js +230 -1
  32. package/dist/providers/stripe-projects.d.ts +451 -3
  33. package/dist/providers/stripe-projects.js +2106 -87
  34. package/dist/providers/supermemory.d.ts +74 -1
  35. package/dist/providers/supermemory.js +426 -0
  36. package/dist/provisioning-managed.d.ts +50 -0
  37. package/dist/provisioning-managed.js +155 -0
  38. package/dist/sdk.d.ts +440 -3
  39. package/dist/sdk.js +305 -3
  40. package/dist/server.js +1841 -232
  41. package/dist/store.d.ts +113 -6
  42. package/dist/store.js +675 -52
  43. package/dist/types.d.ts +192 -3
  44. package/dist/ui/console-html.d.ts +10 -1
  45. package/dist/ui/console-html.js +1082 -452
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/package.json +2 -2
  49. package/plugins/muxo/.claude-plugin/plugin.json +1 -1
  50. package/plugins/muxo/.codex-plugin/plugin.json +1 -1
  51. package/plugins/muxo/plugin.json +2 -2
  52. package/plugins/muxo/skills/muxo/SKILL.md +42 -1
  53. package/plugins/muxo/skills/muxo/references/mcp.md +3 -2
  54. package/plugins/muxo/skills/setup/SKILL.md +8 -0
@@ -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
+ }
package/dist/sdk.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ActionPlan, ByokKeyRecord, ConnectionRecord, ExecutionReceipt, ExecutionRun, GovernancePolicy, MuxoTool, ProviderLane, ProvisionedResource, RiskLevel, SupplierSettlementSummary, TemporalGraphFact, Workspace, WorkspaceMemoryRecord } from "./types.js";
1
+ import type { ActionPlan, ByokKeyRecord, ConnectionRecord, ExecutionReceipt, ExecutionRun, GovernancePolicy, HumanFriendlyExplanation, HumanHandoff, LlmGuidance, MemoryKnowledgeGraph, MuxoTool, ProviderLane, ProvisionedResource, RiskLevel, SupplierSettlementSummary, TeamOnboardingKit, TemporalGraphFact, Workspace, WorkspaceMemoryRecord, WorkspaceRole, WorkspaceSummary } from "./types.js";
2
2
  export interface MuxoTrustScore {
3
3
  overall: number;
4
4
  tier: string;
@@ -115,6 +115,7 @@ export declare class MuxoClient {
115
115
  user: Record<string, unknown>;
116
116
  workspace: Workspace;
117
117
  apiKey: string;
118
+ sessionToken: string;
118
119
  token: string;
119
120
  }>;
120
121
  static login(params: {
@@ -125,6 +126,7 @@ export declare class MuxoClient {
125
126
  user: Record<string, unknown>;
126
127
  workspace: Workspace;
127
128
  apiKey: string;
129
+ sessionToken: string;
128
130
  token: string;
129
131
  }>;
130
132
  register(params: {
@@ -137,6 +139,7 @@ export declare class MuxoClient {
137
139
  user: Record<string, unknown>;
138
140
  workspace: Workspace;
139
141
  apiKey: string;
142
+ sessionToken: string;
140
143
  token: string;
141
144
  }>;
142
145
  login(params: {
@@ -147,6 +150,7 @@ export declare class MuxoClient {
147
150
  user: Record<string, unknown>;
148
151
  workspace: Workspace;
149
152
  apiKey: string;
153
+ sessionToken: string;
150
154
  token: string;
151
155
  }>;
152
156
  signupAgent(params: {
@@ -200,12 +204,31 @@ export declare class MuxoClient {
200
204
  waitTool: string;
201
205
  instructions: string;
202
206
  };
207
+ humanHandoff?: HumanHandoff;
208
+ llmGuidance?: LlmGuidance;
203
209
  }>;
204
- getPlan(planId: string): Promise<{
210
+ getPlan(planId: string, options?: {
211
+ waitForApproval?: boolean;
212
+ timeoutSeconds?: number;
213
+ }): Promise<{
205
214
  ok: true;
206
215
  plan: ActionPlan;
216
+ approved?: boolean;
217
+ rejected?: boolean;
218
+ timedOut?: boolean;
219
+ humanHandoff?: HumanHandoff;
220
+ llmGuidance?: LlmGuidance;
207
221
  }>;
208
- approvePlan(planId: string): Promise<{
222
+ waitForPlanApproval(planId: string, timeoutSeconds?: number): Promise<{
223
+ ok: true;
224
+ plan: ActionPlan;
225
+ approved: boolean;
226
+ rejected: boolean;
227
+ timedOut: boolean;
228
+ humanHandoff?: HumanHandoff;
229
+ llmGuidance?: LlmGuidance;
230
+ }>;
231
+ approvePlan(planId: string, decision?: "approved" | "rejected"): Promise<{
209
232
  ok: true;
210
233
  plan: ActionPlan;
211
234
  }>;
@@ -239,7 +262,28 @@ export declare class MuxoClient {
239
262
  valid: boolean;
240
263
  verified: boolean;
241
264
  receipt: ExecutionReceipt;
265
+ agenticReceiptValid?: boolean;
266
+ explanation?: HumanFriendlyExplanation;
242
267
  }>;
268
+ verifyReceiptChain(limit?: number): Promise<{
269
+ ok: boolean;
270
+ valid: boolean;
271
+ workspaceId: string;
272
+ totalChecked: number;
273
+ validCount: number;
274
+ brokenLinks: Array<{
275
+ receiptId: string;
276
+ runId: string;
277
+ reason: string;
278
+ }>;
279
+ headReceiptHash: string;
280
+ agentDid: string;
281
+ publicKeyHex: string;
282
+ explanation: HumanFriendlyExplanation;
283
+ }>;
284
+ getMemoryGraph(query?: string): Promise<{
285
+ ok: true;
286
+ } & MemoryKnowledgeGraph>;
243
287
  startConnection(paramsOrProvider: string | {
244
288
  provider: string;
245
289
  lane?: ProviderLane;
@@ -375,6 +419,64 @@ export declare class MuxoClient {
375
419
  auditChain?: Record<string, unknown>;
376
420
  };
377
421
  workspacePolicy: GovernancePolicy;
422
+ plainEnglishGuardrails?: {
423
+ headline: string;
424
+ postureLabel: string;
425
+ rules: string[];
426
+ badges: Array<{
427
+ label: string;
428
+ tone: "safe" | "warn" | "strict";
429
+ }>;
430
+ };
431
+ activeMemoryDefaults?: Record<string, unknown>;
432
+ activeGuardrails?: string[];
433
+ }>;
434
+ getGuardrails(): Promise<{
435
+ ok: true;
436
+ workspaceId: string;
437
+ policy: GovernancePolicy;
438
+ plainEnglish: {
439
+ headline: string;
440
+ postureLabel: string;
441
+ rules: string[];
442
+ badges: Array<{
443
+ label: string;
444
+ tone: "safe" | "warn" | "strict";
445
+ }>;
446
+ };
447
+ activeDefaults: Record<string, unknown>;
448
+ activeGuardrails: string[];
449
+ }>;
450
+ setGuardrail(promptOrParams: string | {
451
+ prompt: string;
452
+ }): Promise<{
453
+ ok: true;
454
+ workspace: Workspace;
455
+ guardrail: Record<string, unknown>;
456
+ plainEnglish: {
457
+ headline: string;
458
+ postureLabel: string;
459
+ rules: string[];
460
+ badges: Array<{
461
+ label: string;
462
+ tone: "safe" | "warn" | "strict";
463
+ }>;
464
+ };
465
+ humanMessage: string;
466
+ }>;
467
+ resetGuardrails(): Promise<{
468
+ ok: true;
469
+ workspace: Workspace;
470
+ plainEnglish: {
471
+ headline: string;
472
+ postureLabel: string;
473
+ rules: string[];
474
+ badges: Array<{
475
+ label: string;
476
+ tone: "safe" | "warn" | "strict";
477
+ }>;
478
+ };
479
+ humanMessage: string;
378
480
  }>;
379
481
  setKillSwitch(action: "quarantine" | "terminate" | "suspend" | "resume", reason?: string): Promise<{
380
482
  ok: true;
@@ -407,6 +509,45 @@ export declare class MuxoClient {
407
509
  ok: true;
408
510
  workspace: Workspace;
409
511
  }>;
512
+ getPolicy(): Promise<{
513
+ ok: true;
514
+ policy: GovernancePolicy;
515
+ plainEnglish: Record<string, unknown>;
516
+ explanation?: HumanFriendlyExplanation;
517
+ activeDefaults: Record<string, unknown>;
518
+ activeGuardrails: string[];
519
+ }>;
520
+ getContext(query?: string): Promise<{
521
+ ok: true;
522
+ workspaceId: string;
523
+ workspaceSlug: string;
524
+ policy: GovernancePolicy;
525
+ plainEnglishPolicy?: Record<string, unknown>;
526
+ languageMode?: string;
527
+ customInstructions?: string[];
528
+ activeDefaults?: Record<string, unknown>;
529
+ activeGuardrails?: string[];
530
+ creditsBalance: number;
531
+ llmSystemPrompt?: string;
532
+ explanation?: HumanFriendlyExplanation;
533
+ supermemoryBrain?: Record<string, unknown>;
534
+ [key: string]: unknown;
535
+ }>;
536
+ listReceipts(limit?: number): Promise<{
537
+ ok: true;
538
+ receipts: Array<ExecutionReceipt & {
539
+ explanation?: HumanFriendlyExplanation;
540
+ }>;
541
+ total: number;
542
+ explanation?: HumanFriendlyExplanation;
543
+ }>;
544
+ remember(instruction: string): Promise<{
545
+ ok: true;
546
+ memory: WorkspaceMemoryRecord;
547
+ activeDefaults?: Record<string, unknown>;
548
+ explanation?: HumanFriendlyExplanation;
549
+ humanMessage?: string;
550
+ }>;
410
551
  do(prompt: string, options?: {
411
552
  input?: Record<string, unknown>;
412
553
  autoApprove?: boolean;
@@ -511,4 +652,300 @@ export declare class MuxoClient {
511
652
  workspace: Workspace | null;
512
653
  kind: string;
513
654
  }>;
655
+ createProvisioningConnectedAccount(params?: {
656
+ contact_email?: string;
657
+ display_name?: string;
658
+ country?: string;
659
+ entity_type?: "individual" | "company";
660
+ }): Promise<{
661
+ ok: true;
662
+ apiVersion: string;
663
+ id: string;
664
+ object: "v2.core.account";
665
+ contact_email?: string;
666
+ display_name?: string;
667
+ configuration?: Record<string, unknown>;
668
+ requirements?: Record<string, unknown>;
669
+ livemode?: boolean;
670
+ }>;
671
+ getProvisioningConnectedAccount(accountId?: string): Promise<any>;
672
+ createProvisioningConnectedAccountLink(params?: {
673
+ account?: string;
674
+ type?: "account_onboarding" | "account_update";
675
+ fields?: "currently_due" | "eventually_due";
676
+ future_requirements?: "include" | "omit";
677
+ refresh_url?: string;
678
+ return_url?: string;
679
+ auto_create?: boolean;
680
+ }): Promise<{
681
+ ok: true;
682
+ apiVersion: string;
683
+ object: "v2.core.account_link";
684
+ account: string;
685
+ url: string;
686
+ expires_at?: string;
687
+ livemode?: boolean;
688
+ }>;
689
+ createProvisioningConnectedAccountSession(params?: {
690
+ account?: string;
691
+ enable_account_management?: boolean;
692
+ disable_stripe_user_authentication?: boolean;
693
+ external_account_collection?: boolean;
694
+ fields?: "currently_due" | "eventually_due";
695
+ future_requirements?: "include" | "omit";
696
+ auto_create?: boolean;
697
+ }): Promise<{
698
+ ok: true;
699
+ apiVersion: string;
700
+ object: "account_session";
701
+ account: string;
702
+ client_secret: string;
703
+ publishable_key: string | null;
704
+ embedded_component: "account-onboarding";
705
+ collection_options: {
706
+ fields: "currently_due" | "eventually_due";
707
+ future_requirements: "include" | "omit";
708
+ };
709
+ components: Record<string, unknown>;
710
+ expires_at: number;
711
+ livemode: boolean;
712
+ }>;
713
+ checkProvisioningEligibility(): Promise<{
714
+ ok: true;
715
+ apiVersion: string;
716
+ object: "v2.provisioning.eligibility";
717
+ is_eligible: boolean;
718
+ livemode: boolean;
719
+ requirements: string[];
720
+ ready?: boolean;
721
+ platform_action?: string;
722
+ source: string;
723
+ }>;
724
+ listProvisioningProviders(params?: {
725
+ catalog?: "dev" | "prod" | "testing";
726
+ limit?: number;
727
+ page?: string;
728
+ }): Promise<{
729
+ ok: true;
730
+ apiVersion: string;
731
+ object: "v2.list";
732
+ data: Array<Record<string, unknown>>;
733
+ next_page_url: string | null;
734
+ previous_page_url: string | null;
735
+ source: string;
736
+ }>;
737
+ listProvisioningServices(params?: {
738
+ catalog?: "dev" | "prod" | "testing";
739
+ provider_name?: string;
740
+ provider_id?: string;
741
+ limit?: number;
742
+ page?: string;
743
+ }): Promise<{
744
+ ok: true;
745
+ apiVersion: string;
746
+ object: "v2.list";
747
+ data: Array<Record<string, unknown>>;
748
+ next_page_url: string | null;
749
+ previous_page_url: string | null;
750
+ source: string;
751
+ }>;
752
+ getProvisioningPaymentProfile(params?: {
753
+ provider?: string;
754
+ livemode?: boolean;
755
+ }): Promise<{
756
+ ok: true;
757
+ apiVersion: string;
758
+ object: "v2.provisioning.payment_profile";
759
+ card_last4: string | null;
760
+ usage_limits: Record<string, unknown> | null;
761
+ providers: Array<Record<string, unknown>>;
762
+ payment_method_owner: string | null;
763
+ livemode: boolean;
764
+ has_payment_method?: boolean;
765
+ source: string;
766
+ }>;
767
+ createProvisioningPaymentMethodRequest(params?: {
768
+ usage_limits?: Record<string, unknown>;
769
+ livemode?: boolean;
770
+ }): Promise<Record<string, unknown>>;
771
+ listProvisioningProviderConnections(params?: {
772
+ provider?: string;
773
+ limit?: number;
774
+ page?: string;
775
+ }): Promise<{
776
+ ok: true;
777
+ apiVersion: string;
778
+ object: "list";
779
+ data: Array<Record<string, unknown>>;
780
+ has_more?: boolean;
781
+ }>;
782
+ createProvisioningProviderConnectionRequest(params: {
783
+ provider: string;
784
+ configuration?: Record<string, string>;
785
+ project?: string;
786
+ }): Promise<Record<string, unknown>>;
787
+ listProvisioningProjects(params?: {
788
+ limit?: number;
789
+ page?: string;
790
+ }): Promise<{
791
+ ok: true;
792
+ apiVersion: string;
793
+ object: "list";
794
+ data: Array<Record<string, unknown>>;
795
+ has_more?: boolean;
796
+ }>;
797
+ createProvisioningProject(params: {
798
+ name: string;
799
+ catalog?: "dev" | "prod" | "testing";
800
+ project_profile?: string;
801
+ }): Promise<Record<string, unknown>>;
802
+ listProvisioningResources(params?: {
803
+ project?: string;
804
+ provider?: string;
805
+ limit?: number;
806
+ page?: string;
807
+ }): Promise<{
808
+ ok: true;
809
+ apiVersion: string;
810
+ object: "list";
811
+ data: Array<Record<string, unknown>>;
812
+ has_more?: boolean;
813
+ }>;
814
+ createProvisioningResource(params: {
815
+ provider: string;
816
+ service_ref: string;
817
+ configuration?: Record<string, unknown>;
818
+ name?: string;
819
+ project?: string;
820
+ environment?: "dev" | "prod";
821
+ catalog?: "dev" | "prod" | "testing";
822
+ livemode?: boolean;
823
+ }): Promise<Record<string, unknown>>;
824
+ revealResourceAccessConfiguration(resourceId: string): Promise<{
825
+ ok: true;
826
+ apiVersion: string;
827
+ object: string;
828
+ resource: string;
829
+ configuration: Record<string, string>;
830
+ created: string;
831
+ expires_at?: string | null;
832
+ livemode: boolean;
833
+ source: string;
834
+ }>;
835
+ getResourceSecrets(resourceId: string): Promise<{
836
+ ok: true;
837
+ resourceId: string;
838
+ resourceName: string;
839
+ workspaceId: string;
840
+ envVarKeys: string[];
841
+ secrets: Record<string, string>;
842
+ }>;
843
+ listWorkspaces(): Promise<{
844
+ ok: true;
845
+ currentWorkspaceId: string;
846
+ workspaces: WorkspaceSummary[];
847
+ }>;
848
+ createWorkspace(params: {
849
+ name: string;
850
+ teamName?: string;
851
+ environment?: "live" | "test";
852
+ }): Promise<{
853
+ ok: true;
854
+ workspace: Workspace;
855
+ apiKey: string;
856
+ workspaces: WorkspaceSummary[];
857
+ }>;
858
+ switchWorkspace(workspaceId: string): Promise<{
859
+ ok: true;
860
+ workspace: Workspace;
861
+ workspaces: WorkspaceSummary[];
862
+ }>;
863
+ joinWorkspaceWithApiKey(apiKey: string): Promise<{
864
+ ok: true;
865
+ mode: "api_key_join";
866
+ workspace: Workspace;
867
+ apiKey: string;
868
+ sessionToken: string | null;
869
+ keyRecord: {
870
+ id: string;
871
+ name: string;
872
+ keyPrefix: string;
873
+ teamName: string | null;
874
+ role: WorkspaceRole;
875
+ environment: "live" | "test";
876
+ };
877
+ workspaces: WorkspaceSummary[];
878
+ message: string;
879
+ }>;
880
+ onboardTeam(params: {
881
+ teamName: string;
882
+ role?: WorkspaceRole;
883
+ mode?: "shared_workspace" | "dedicated_workspace";
884
+ environment?: "live" | "test";
885
+ scopes?: string[];
886
+ }): Promise<{
887
+ ok: true;
888
+ kit: TeamOnboardingKit;
889
+ workspace: Workspace;
890
+ apiKey: string;
891
+ workspaces: WorkspaceSummary[];
892
+ }>;
893
+ updateProvisioningSpendLimit(params: {
894
+ max_amount: string | number;
895
+ currency?: string;
896
+ recurring_interval?: string;
897
+ provider?: string;
898
+ }): Promise<Record<string, unknown>>;
899
+ createProvisioningEventDestination(params: {
900
+ name?: string;
901
+ url: string;
902
+ events?: string[];
903
+ }): Promise<Record<string, unknown>>;
904
+ recordBillingMeterEvent(params: {
905
+ event_name?: string;
906
+ value: number;
907
+ lane?: string;
908
+ tool_slug?: string;
909
+ identifier?: string;
910
+ }): Promise<Record<string, unknown>>;
911
+ listBillingMeterEvents(limit?: number): Promise<Record<string, unknown>>;
912
+ listToolkits(params?: {
913
+ category?: string;
914
+ search?: string;
915
+ }): Promise<Record<string, unknown>>;
916
+ createCustomAuthConfig(params: {
917
+ toolkitSlug: string;
918
+ authScheme: "OAUTH2" | "API_KEY";
919
+ scopeMode?: "read_only" | "full_access";
920
+ customScopes?: string[];
921
+ credentials?: Record<string, string>;
922
+ }): Promise<Record<string, unknown>>;
923
+ listTriggers(provider?: string): Promise<Record<string, unknown>>;
924
+ enableTrigger(params: {
925
+ triggerSlug: string;
926
+ providerSlug: string;
927
+ webhookUrl?: string;
928
+ config?: Record<string, unknown>;
929
+ }): Promise<Record<string, unknown>>;
930
+ ingestTriggerWebhook(params: {
931
+ triggerSlug: string;
932
+ providerSlug?: string;
933
+ payload: Record<string, unknown>;
934
+ }): Promise<Record<string, unknown>>;
935
+ executeBatchPlans(params: {
936
+ items: Array<{
937
+ toolSlug: string;
938
+ input: Record<string, unknown>;
939
+ reason: string;
940
+ }>;
941
+ autoApprove?: boolean;
942
+ }): Promise<Record<string, unknown>>;
943
+ searchMemoryHybrid(query: string, limit?: number): Promise<Record<string, unknown>>;
944
+ startDurableWorkflow(params: {
945
+ provider?: string;
946
+ serviceRef?: string;
947
+ region?: string;
948
+ }): Promise<Record<string, unknown>>;
949
+ advanceDurableWorkflow(workflowId: string, eventPayload?: Record<string, unknown>): Promise<Record<string, unknown>>;
950
+ exportGovernanceArchive(): Promise<Record<string, unknown>>;
514
951
  }