@muxoai/sdk 1.4.2 → 1.4.4
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 +15 -1
- package/dist/cli.js +217 -0
- package/dist/composio-catalog.d.ts +25 -0
- package/dist/composio-catalog.js +145 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.js +1 -0
- package/dist/durable-workflow.d.ts +71 -4
- package/dist/durable-workflow.js +199 -5
- package/dist/engine.d.ts +110 -4
- package/dist/engine.js +603 -24
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/mcp-schema.d.ts +14 -0
- package/dist/mcp-schema.js +85 -7
- package/dist/mcp.js +325 -5
- package/dist/memory-graph.d.ts +26 -2
- package/dist/memory-graph.js +127 -7
- package/dist/oss-suite.d.ts +401 -0
- package/dist/oss-suite.js +2065 -0
- package/dist/policy.js +59 -0
- package/dist/providers/composio-instant.js +54 -36
- package/dist/providers/composio-sdk.d.ts +10 -1
- package/dist/providers/composio-sdk.js +144 -31
- package/dist/sdk.d.ts +43 -1
- package/dist/sdk.js +85 -2
- package/dist/server.js +231 -3
- package/dist/skills-catalog.d.ts +66 -0
- package/dist/skills-catalog.js +801 -0
- package/dist/types.d.ts +51 -1
- package/dist/ui/console-html.js +23 -8
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/plugins/muxo/.claude-plugin/plugin.json +1 -1
- package/plugins/muxo/.codex-plugin/plugin.json +2 -2
- package/plugins/muxo/.cursor-plugin/plugin.json +1 -1
- package/plugins/muxo/plugin.json +2 -2
- package/plugins/muxo/skills/muxo/SKILL.md +13 -3
package/dist/durable-workflow.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Temporal-compatible Durable Workflows, Saga Compensations, Signals, and Cloudflare Workflows primitives,
|
|
3
|
+
* shared by the Node engine (src/engine.ts) and the Cloudflare Edge Worker (worker/index.ts).
|
|
4
|
+
*/
|
|
2
5
|
import { MuxoToolError } from "./mcp-schema.js";
|
|
3
6
|
export const WORKFLOW_RESOURCE_COMPLETED_EVENT = "v2.provisioning.resource.completed";
|
|
4
7
|
export function workflowNotFoundError(workflowId) {
|
|
@@ -14,12 +17,70 @@ export function normalizeWorkflowTarget(params) {
|
|
|
14
17
|
serviceRef: (params.serviceRef || "postgres").toLowerCase().trim(),
|
|
15
18
|
};
|
|
16
19
|
}
|
|
20
|
+
function appendTemporalEvent(history, eventType, attributes, now = new Date().toISOString()) {
|
|
21
|
+
history.push({
|
|
22
|
+
eventId: history.length + 1,
|
|
23
|
+
eventTime: now,
|
|
24
|
+
eventType,
|
|
25
|
+
taskQueue: "muxo-durable-execution-queue",
|
|
26
|
+
attributes,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
17
29
|
export function createCloudProvisioningWorkflow(params) {
|
|
18
30
|
const now = new Date().toISOString();
|
|
31
|
+
const region = params.region || "aws-us-east-1";
|
|
32
|
+
const apiVersion = params.apiVersion || "2026-09-30.preview";
|
|
33
|
+
const history = [];
|
|
34
|
+
appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", {
|
|
35
|
+
workflowType: "cloud_provisioning_pipeline",
|
|
36
|
+
workflowId: params.id,
|
|
37
|
+
workspaceId: params.workspaceId,
|
|
38
|
+
provider: params.provider,
|
|
39
|
+
serviceRef: params.serviceRef,
|
|
40
|
+
region,
|
|
41
|
+
}, now);
|
|
42
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
|
|
43
|
+
activityName: "check_stripe_v2_eligibility",
|
|
44
|
+
result: { status: "eligible", apiVersion },
|
|
45
|
+
}, now);
|
|
46
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
|
|
47
|
+
activityName: "ensure_payment_profile_and_provider_connection",
|
|
48
|
+
result: { provider: params.provider, paymentProfileStatus: "active" },
|
|
49
|
+
}, now);
|
|
50
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
|
|
51
|
+
activityName: "create_v2_provisioning_resource",
|
|
52
|
+
result: {
|
|
53
|
+
resourceId: params.resourceId,
|
|
54
|
+
provider: params.provider,
|
|
55
|
+
service_ref: params.serviceRef,
|
|
56
|
+
region,
|
|
57
|
+
},
|
|
58
|
+
compensationAction: `resource.${params.provider}.remove`,
|
|
59
|
+
}, now);
|
|
60
|
+
appendTemporalEvent(history, "EVENT_TYPE_TIMER_STARTED", {
|
|
61
|
+
waitingForSignal: WORKFLOW_RESOURCE_COMPLETED_EVENT,
|
|
62
|
+
resourceId: params.resourceId,
|
|
63
|
+
}, now);
|
|
64
|
+
const compensations = [
|
|
65
|
+
{
|
|
66
|
+
stepName: "ensure_payment_profile_and_provider_connection",
|
|
67
|
+
compensationAction: `provisioning.provider_connection.unlink`,
|
|
68
|
+
status: "registered",
|
|
69
|
+
description: `Unlink provider connection for ${params.provider} if downstream provisioning aborts`,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
stepName: "create_v2_provisioning_resource",
|
|
73
|
+
compensationAction: `resource.${params.provider}.remove`,
|
|
74
|
+
status: "registered",
|
|
75
|
+
description: `Deprovision ${params.provider}/${params.serviceRef} (${params.resourceId}) and release reservation`,
|
|
76
|
+
},
|
|
77
|
+
];
|
|
19
78
|
return {
|
|
20
79
|
id: params.id,
|
|
80
|
+
runId: `run_${params.id}`,
|
|
21
81
|
workspaceId: params.workspaceId,
|
|
22
82
|
workflowType: "cloud_provisioning_pipeline",
|
|
83
|
+
playbookSlug: null,
|
|
23
84
|
status: "waiting_for_event",
|
|
24
85
|
provider: params.provider,
|
|
25
86
|
serviceRef: params.serviceRef,
|
|
@@ -29,7 +90,7 @@ export function createCloudProvisioningWorkflow(params) {
|
|
|
29
90
|
name: "check_stripe_v2_eligibility",
|
|
30
91
|
primitive: "step.do",
|
|
31
92
|
status: "completed",
|
|
32
|
-
output: { status: "eligible", apiVersion
|
|
93
|
+
output: { status: "eligible", apiVersion },
|
|
33
94
|
completedAt: now,
|
|
34
95
|
},
|
|
35
96
|
{
|
|
@@ -38,6 +99,7 @@ export function createCloudProvisioningWorkflow(params) {
|
|
|
38
99
|
status: "completed",
|
|
39
100
|
output: { provider: params.provider, paymentProfileStatus: "active" },
|
|
40
101
|
completedAt: now,
|
|
102
|
+
compensationAction: "provisioning.provider_connection.unlink",
|
|
41
103
|
},
|
|
42
104
|
{
|
|
43
105
|
name: "create_v2_provisioning_resource",
|
|
@@ -47,22 +109,31 @@ export function createCloudProvisioningWorkflow(params) {
|
|
|
47
109
|
resourceId: params.resourceId,
|
|
48
110
|
provider: params.provider,
|
|
49
111
|
service_ref: params.serviceRef,
|
|
50
|
-
region
|
|
112
|
+
region,
|
|
51
113
|
},
|
|
52
114
|
completedAt: now,
|
|
115
|
+
compensationAction: `resource.${params.provider}.remove`,
|
|
53
116
|
},
|
|
54
117
|
{
|
|
55
118
|
name: "wait_for_v2_provisioning_resource_completed",
|
|
56
119
|
primitive: "step.waitForEvent",
|
|
57
120
|
status: "waiting",
|
|
58
|
-
output: {
|
|
121
|
+
output: {
|
|
122
|
+
expectedEvent: WORKFLOW_RESOURCE_COMPLETED_EVENT,
|
|
123
|
+
resourceId: params.resourceId,
|
|
124
|
+
},
|
|
59
125
|
},
|
|
60
126
|
{
|
|
61
127
|
name: "reveal_access_configuration_and_seal_vault",
|
|
62
128
|
primitive: "step.do",
|
|
63
129
|
status: "pending",
|
|
130
|
+
compensationAction: "vault.revoke_secrets",
|
|
64
131
|
},
|
|
65
132
|
],
|
|
133
|
+
compensations,
|
|
134
|
+
signals: [],
|
|
135
|
+
temporalEventHistory: history,
|
|
136
|
+
rollbackReason: null,
|
|
66
137
|
createdAt: now,
|
|
67
138
|
updatedAt: now,
|
|
68
139
|
};
|
|
@@ -70,6 +141,12 @@ export function createCloudProvisioningWorkflow(params) {
|
|
|
70
141
|
/** Completes every outstanding step once the resource-completed event (or a manual advance) arrives. */
|
|
71
142
|
export function completeCloudProvisioningWorkflow(wf, params) {
|
|
72
143
|
const now = new Date().toISOString();
|
|
144
|
+
const history = wf.temporalEventHistory || [];
|
|
145
|
+
const trigger = String(params.triggerEvent || WORKFLOW_RESOURCE_COMPLETED_EVENT);
|
|
146
|
+
appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED", {
|
|
147
|
+
signalName: trigger,
|
|
148
|
+
resourceId: wf.resourceId,
|
|
149
|
+
}, now);
|
|
73
150
|
for (const step of wf.steps) {
|
|
74
151
|
if (step.status === "completed")
|
|
75
152
|
continue;
|
|
@@ -80,11 +157,128 @@ export function completeCloudProvisioningWorkflow(wf, params) {
|
|
|
80
157
|
vaultEncrypted: true,
|
|
81
158
|
cipher: "AES-256-GCM",
|
|
82
159
|
secretKeys: params.secretKeys,
|
|
83
|
-
triggerEvent:
|
|
160
|
+
triggerEvent: trigger,
|
|
84
161
|
};
|
|
85
162
|
}
|
|
163
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
|
|
164
|
+
activityName: step.name,
|
|
165
|
+
result: step.output || { status: "completed" },
|
|
166
|
+
}, now);
|
|
86
167
|
}
|
|
168
|
+
appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", {
|
|
169
|
+
workflowId: wf.id,
|
|
170
|
+
status: "completed",
|
|
171
|
+
secretKeysSealed: params.secretKeys,
|
|
172
|
+
}, now);
|
|
173
|
+
wf.temporalEventHistory = history;
|
|
87
174
|
wf.status = "completed";
|
|
88
175
|
wf.updatedAt = now;
|
|
89
176
|
return wf;
|
|
90
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Executes LIFO Saga Compensations on a DurableWorkflow, rolling back completed steps in reverse order
|
|
180
|
+
* and recording Temporal compensation activity events.
|
|
181
|
+
*/
|
|
182
|
+
export function rollbackDurableWorkflow(wf, params) {
|
|
183
|
+
const now = new Date().toISOString();
|
|
184
|
+
const failedStepName = params?.failedStepName || params?.failedStep;
|
|
185
|
+
const reason = params?.reason ||
|
|
186
|
+
"Saga rollback requested by operator or downstream step failure";
|
|
187
|
+
const history = wf.temporalEventHistory || [];
|
|
188
|
+
const compensations = wf.compensations || [];
|
|
189
|
+
if (failedStepName) {
|
|
190
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_FAILED", {
|
|
191
|
+
activityName: failedStepName,
|
|
192
|
+
reason,
|
|
193
|
+
}, now);
|
|
194
|
+
}
|
|
195
|
+
// Execute registered compensations in reverse (LIFO) order
|
|
196
|
+
for (let i = compensations.length - 1; i >= 0; i--) {
|
|
197
|
+
const comp = compensations[i];
|
|
198
|
+
if (comp.status === "executed")
|
|
199
|
+
continue;
|
|
200
|
+
comp.status = "executed";
|
|
201
|
+
comp.executedAt = now;
|
|
202
|
+
comp.output = {
|
|
203
|
+
rolledBack: true,
|
|
204
|
+
action: comp.compensationAction,
|
|
205
|
+
resourceId: wf.resourceId,
|
|
206
|
+
reason,
|
|
207
|
+
};
|
|
208
|
+
appendTemporalEvent(history, "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", {
|
|
209
|
+
activityName: `compensate:${comp.stepName}`,
|
|
210
|
+
compensationAction: comp.compensationAction,
|
|
211
|
+
result: comp.output,
|
|
212
|
+
}, now);
|
|
213
|
+
}
|
|
214
|
+
for (const step of wf.steps) {
|
|
215
|
+
if (step.status === "completed" && step.compensationAction) {
|
|
216
|
+
step.status = "compensated";
|
|
217
|
+
step.compensatedAt = now;
|
|
218
|
+
}
|
|
219
|
+
else if (step.status === "waiting" || step.status === "pending") {
|
|
220
|
+
step.status = "failed";
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
appendTemporalEvent(history, "EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED", {
|
|
224
|
+
workflowId: wf.id,
|
|
225
|
+
status: "rolled_back",
|
|
226
|
+
reason,
|
|
227
|
+
compensatedStepsCount: compensations.filter((c) => c.status === "executed")
|
|
228
|
+
.length,
|
|
229
|
+
}, now);
|
|
230
|
+
wf.compensations = compensations;
|
|
231
|
+
wf.temporalEventHistory = history;
|
|
232
|
+
wf.rollbackReason = reason;
|
|
233
|
+
wf.status = "rolled_back";
|
|
234
|
+
wf.updatedAt = now;
|
|
235
|
+
return wf;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Sends a named Temporal signal to a DurableWorkflow (`human.approval.granted`, `oauth.connection.active`,
|
|
239
|
+
* `saga.abort`, or `v2.provisioning.resource.completed`).
|
|
240
|
+
*/
|
|
241
|
+
export function signalDurableWorkflow(wf, params) {
|
|
242
|
+
const now = new Date().toISOString();
|
|
243
|
+
const signalName = String(params.signalName || WORKFLOW_RESOURCE_COMPLETED_EVENT).trim();
|
|
244
|
+
const payload = params.payload || {};
|
|
245
|
+
wf.signals = wf.signals || [];
|
|
246
|
+
wf.signals.push({
|
|
247
|
+
signalName,
|
|
248
|
+
payload,
|
|
249
|
+
receivedAt: now,
|
|
250
|
+
});
|
|
251
|
+
if (signalName === "saga.abort" ||
|
|
252
|
+
signalName === "human.approval.rejected" ||
|
|
253
|
+
payload.action === "rollback") {
|
|
254
|
+
return rollbackDurableWorkflow(wf, {
|
|
255
|
+
reason: String(payload.reason || `Rolled back via signal ${signalName}`),
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
return completeCloudProvisioningWorkflow(wf, {
|
|
259
|
+
secretKeys: params.secretKeys || ["DATABASE_URL"],
|
|
260
|
+
triggerEvent: signalName,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Exports a DurableWorkflow in Temporal Web UI / `temporal workflow show` compatible EventHistory JSON format.
|
|
265
|
+
*/
|
|
266
|
+
export function exportTemporalEventHistory(wf) {
|
|
267
|
+
const events = wf.temporalEventHistory || [];
|
|
268
|
+
return {
|
|
269
|
+
namespace: `muxo.${wf.workspaceId}`,
|
|
270
|
+
workflowExecution: {
|
|
271
|
+
workflowId: wf.id,
|
|
272
|
+
runId: wf.runId || `run_${wf.id}`,
|
|
273
|
+
},
|
|
274
|
+
workflowType: {
|
|
275
|
+
name: wf.playbookSlug
|
|
276
|
+
? `MuxoPlaybookSaga::${wf.playbookSlug}`
|
|
277
|
+
: `MuxoWorkflow::${wf.workflowType}`,
|
|
278
|
+
},
|
|
279
|
+
status: wf.status,
|
|
280
|
+
eventsCount: events.length,
|
|
281
|
+
compensationsCount: (wf.compensations || []).length,
|
|
282
|
+
events,
|
|
283
|
+
};
|
|
284
|
+
}
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { MuxoConfig } from "./config.js";
|
|
2
|
-
import { type DurableWorkflow } from "./durable-workflow.js";
|
|
2
|
+
import { exportTemporalEventHistory, type DurableWorkflow } from "./durable-workflow.js";
|
|
3
|
+
import { type CommercialPlaybookDefinition, type CommercialRoiReport, type CompiledPolicyAsCodeBundle, type HarnessConfigurationBundle, type OtelTraceExportBundle, type PolicyAsCodeEvaluationResult, type RunReconciliationReport } from "./oss-suite.js";
|
|
3
4
|
import { type NaturalLanguageResolution } from "./nl.js";
|
|
4
5
|
import { describePolicyInPlainEnglish, type GuardrailCompileOptions, type LlmPolicyAndGovernanceBrief, type ParsedNaturalLanguageGuardrail, type PolicySimulationResult } from "./policy.js";
|
|
5
6
|
import { ComposioInstantAdapter } from "./providers/composio-instant.js";
|
|
@@ -48,6 +49,7 @@ export declare class MuxoEngine {
|
|
|
48
49
|
readonly governance: MicrosoftGovernanceAdapter;
|
|
49
50
|
readonly supermemory: SupermemoryAdapter;
|
|
50
51
|
private readonly durableWorkflows;
|
|
52
|
+
private readonly customPlaybooks;
|
|
51
53
|
constructor(config: MuxoConfig, store: MuxoStore);
|
|
52
54
|
getProfile(ctx: ExecutionContext): Record<string, unknown>;
|
|
53
55
|
getOrganization(ctx: ExecutionContext): Record<string, unknown>;
|
|
@@ -191,9 +193,15 @@ export declare class MuxoEngine {
|
|
|
191
193
|
}>;
|
|
192
194
|
/**
|
|
193
195
|
* Synthesizes a Bi-Temporal Knowledge Graph (entities, active relationships, superseded historical relationships,
|
|
194
|
-
* Mermaid diagram, and human + technical explanations)
|
|
196
|
+
* Mermaid diagram, point-in-time `asOf` time-travel, 2-hop BFS subgraph, and human + technical explanations)
|
|
197
|
+
* directly from SQLite temporal_facts, memories, resources, and connections.
|
|
195
198
|
*/
|
|
196
|
-
getMemoryGraph(ctx: ExecutionContext,
|
|
199
|
+
getMemoryGraph(ctx: ExecutionContext, queryOrOptions?: string | {
|
|
200
|
+
query?: string;
|
|
201
|
+
asOf?: string | null;
|
|
202
|
+
focalEntity?: string | null;
|
|
203
|
+
maxHops?: number;
|
|
204
|
+
}): Promise<MemoryKnowledgeGraph>;
|
|
197
205
|
activateWorkspaceKillSwitch(ctx: ExecutionContext, params: {
|
|
198
206
|
reason: string;
|
|
199
207
|
action?: "terminate" | "quarantine" | "suspend";
|
|
@@ -226,7 +234,9 @@ export declare class MuxoEngine {
|
|
|
226
234
|
governanceSignatureValid: boolean;
|
|
227
235
|
agenticReceiptValid: boolean;
|
|
228
236
|
explanation: HumanFriendlyExplanation;
|
|
237
|
+
businessSummary: NonNullable<ExecutionReceipt["businessSummary"]>;
|
|
229
238
|
};
|
|
239
|
+
reconcileRun(ctx: ExecutionContext, runOrPlanId: string): RunReconciliationReport;
|
|
230
240
|
listReceipts(ctx: ExecutionContext, limit?: number): {
|
|
231
241
|
receipts: Array<ExecutionReceipt & {
|
|
232
242
|
agenticReceipt: PortableAgenticReceipt;
|
|
@@ -338,7 +348,7 @@ export declare class MuxoEngine {
|
|
|
338
348
|
}): Promise<{
|
|
339
349
|
ok: boolean;
|
|
340
350
|
executed: boolean;
|
|
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";
|
|
351
|
+
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" | "playbook_listed" | "playbook_created" | "playbook_executed" | "workflow_rolled_back" | "workflow_signaled" | "workflow_history" | "cedar_compiled" | "cedar_evaluated" | "otel_exported" | "roi_analyzed" | "harness_configured" | "unresolved";
|
|
342
352
|
intent: NaturalLanguageResolution;
|
|
343
353
|
resolution: NaturalLanguageResolution;
|
|
344
354
|
plan?: ActionPlan;
|
|
@@ -359,6 +369,15 @@ export declare class MuxoEngine {
|
|
|
359
369
|
memoryRecord?: WorkspaceMemoryRecord;
|
|
360
370
|
memoryOverview?: Awaited<ReturnType<MuxoEngine["getMemoryOverview"]>>;
|
|
361
371
|
memoryGraph?: MemoryKnowledgeGraph;
|
|
372
|
+
playbooks?: CommercialPlaybookDefinition[];
|
|
373
|
+
playbook?: CommercialPlaybookDefinition;
|
|
374
|
+
workflow?: DurableWorkflow;
|
|
375
|
+
workflowHistory?: ReturnType<typeof exportTemporalEventHistory>;
|
|
376
|
+
cedarBundle?: CompiledPolicyAsCodeBundle;
|
|
377
|
+
cedarEvaluation?: PolicyAsCodeEvaluationResult;
|
|
378
|
+
otelTraces?: OtelTraceExportBundle;
|
|
379
|
+
roiReport?: CommercialRoiReport;
|
|
380
|
+
harnessConfig?: HarnessConfigurationBundle;
|
|
362
381
|
deletedMemoryId?: string;
|
|
363
382
|
governanceStatus?: ReturnType<MuxoEngine["getGovernanceOverview"]>;
|
|
364
383
|
poisoningScan?: ReturnType<MuxoEngine["scanForContextPoisoning"]>;
|
|
@@ -417,6 +436,93 @@ export declare class MuxoEngine {
|
|
|
417
436
|
}): Promise<DurableWorkflow>;
|
|
418
437
|
advanceDurableWorkflow(ctx: ExecutionContext, workflowId: string, eventPayload?: Record<string, unknown>): Promise<DurableWorkflow>;
|
|
419
438
|
listDurableWorkflows(workspaceId: string): DurableWorkflow[];
|
|
439
|
+
getDurableWorkflow(ctx: ExecutionContext, workflowId: string): DurableWorkflow;
|
|
440
|
+
getDurableWorkflowHistory(ctx: ExecutionContext, workflowId: string): {
|
|
441
|
+
namespace: string;
|
|
442
|
+
workflowExecution: {
|
|
443
|
+
workflowId: string;
|
|
444
|
+
runId: string;
|
|
445
|
+
};
|
|
446
|
+
workflowType: {
|
|
447
|
+
name: string;
|
|
448
|
+
};
|
|
449
|
+
status: DurableWorkflow["status"];
|
|
450
|
+
eventsCount: number;
|
|
451
|
+
compensationsCount: number;
|
|
452
|
+
events: import("./durable-workflow.js").TemporalHistoryEvent[];
|
|
453
|
+
};
|
|
454
|
+
signalDurableWorkflow(ctx: ExecutionContext, workflowId: string, params: {
|
|
455
|
+
signalName: string;
|
|
456
|
+
payload?: Record<string, unknown>;
|
|
457
|
+
}): DurableWorkflow;
|
|
458
|
+
rollbackDurableWorkflow(ctx: ExecutionContext, workflowId: string, params?: {
|
|
459
|
+
reason?: string;
|
|
460
|
+
failedStep?: string;
|
|
461
|
+
}): DurableWorkflow;
|
|
462
|
+
/**
|
|
463
|
+
* AWS Cedar & Open Policy Agent (OPA / Rego) Policy-as-Code Compiler & Evaluator.
|
|
464
|
+
*/
|
|
465
|
+
getPolicyAsCodeBundle(ctx: ExecutionContext): CompiledPolicyAsCodeBundle;
|
|
466
|
+
evaluatePolicyAsCode(ctx: ExecutionContext, params: {
|
|
467
|
+
toolSlug: string;
|
|
468
|
+
input?: Record<string, unknown>;
|
|
469
|
+
riskLevel?: RiskLevel;
|
|
470
|
+
creditCost?: number;
|
|
471
|
+
lane?: string;
|
|
472
|
+
}): Promise<PolicyAsCodeEvaluationResult>;
|
|
473
|
+
/**
|
|
474
|
+
* OpenTelemetry (OTel GenAI / MCP Semantic Conventions) & Langfuse Trace Exporter.
|
|
475
|
+
*/
|
|
476
|
+
exportOtelTraces(ctx: ExecutionContext, limit?: number): OtelTraceExportBundle;
|
|
477
|
+
/**
|
|
478
|
+
* Turnkey & Custom Commercial Business Saga Playbooks.
|
|
479
|
+
*/
|
|
480
|
+
listCommercialPlaybooks(ctx?: ExecutionContext): CommercialPlaybookDefinition[];
|
|
481
|
+
createCustomPlaybook(ctx: ExecutionContext, params: {
|
|
482
|
+
prompt?: string;
|
|
483
|
+
input?: Record<string, unknown>;
|
|
484
|
+
}): {
|
|
485
|
+
ok: true;
|
|
486
|
+
playbook: CommercialPlaybookDefinition;
|
|
487
|
+
playbooks: CommercialPlaybookDefinition[];
|
|
488
|
+
humanMessage: string;
|
|
489
|
+
};
|
|
490
|
+
runCommercialPlaybook(ctx: ExecutionContext, params: {
|
|
491
|
+
slug: string;
|
|
492
|
+
input?: Record<string, unknown>;
|
|
493
|
+
}): {
|
|
494
|
+
ok: true;
|
|
495
|
+
playbook: CommercialPlaybookDefinition;
|
|
496
|
+
workflow: DurableWorkflow;
|
|
497
|
+
temporalFact: import("./types.js").TemporalGraphFact;
|
|
498
|
+
usableResult: {
|
|
499
|
+
playbookSlug: string;
|
|
500
|
+
playbookName: string;
|
|
501
|
+
status: "completed";
|
|
502
|
+
summary: string;
|
|
503
|
+
deliverableOutcome: string;
|
|
504
|
+
targetProvider: string;
|
|
505
|
+
targetEntity: string;
|
|
506
|
+
completedStepsCount: number;
|
|
507
|
+
registeredCompensationsCount: number;
|
|
508
|
+
estimatedCostUsd: number;
|
|
509
|
+
creditsMetered: number;
|
|
510
|
+
estimatedMinutesSaved: number;
|
|
511
|
+
recoveryGuarantee: string;
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
/**
|
|
515
|
+
* Turnkey Harness Preset & One-Shot Agent Configurator.
|
|
516
|
+
*/
|
|
517
|
+
configureHarness(ctx: ExecutionContext, params?: {
|
|
518
|
+
preset?: string | null;
|
|
519
|
+
harness?: string | null;
|
|
520
|
+
prompt?: string | null;
|
|
521
|
+
}): Promise<HarnessConfigurationBundle>;
|
|
522
|
+
/**
|
|
523
|
+
* FinOps & Commercial ROI Unit-Economics Analytics.
|
|
524
|
+
*/
|
|
525
|
+
getCommercialRoiReport(ctx: ExecutionContext): CommercialRoiReport;
|
|
420
526
|
/**
|
|
421
527
|
* Hybrid Semantic Vector + Bi-Temporal Recall (`@cf/baai/bge-base-en-v1.5` + Vectorize model).
|
|
422
528
|
*/
|