agent-relay 3.2.6 → 3.2.7
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/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/index.cjs +26 -3
- package/dist/src/cli/commands/setup.d.ts +8 -1
- package/dist/src/cli/commands/setup.d.ts.map +1 -1
- package/dist/src/cli/commands/setup.js +94 -10
- package/dist/src/cli/commands/setup.js.map +1 -1
- package/package.json +10 -10
- package/packages/acp-bridge/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/hooks/package.json +4 -4
- package/packages/memory/package.json +2 -2
- package/packages/openclaw/package.json +2 -2
- package/packages/policy/package.json +2 -2
- package/packages/sdk/dist/workflows/builder.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/builder.js +7 -2
- package/packages/sdk/dist/workflows/builder.js.map +1 -1
- package/packages/sdk/dist/workflows/run.d.ts +6 -0
- package/packages/sdk/dist/workflows/run.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/run.js +9 -1
- package/packages/sdk/dist/workflows/run.js.map +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts +1 -0
- package/packages/sdk/dist/workflows/runner.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/runner.js +14 -0
- package/packages/sdk/dist/workflows/runner.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/src/workflows/builder.ts +8 -2
- package/packages/sdk/src/workflows/run.ts +17 -1
- package/packages/sdk/src/workflows/runner.ts +13 -0
- package/packages/sdk-py/pyproject.toml +1 -1
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/sdk",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"typescript": "^5.7.3"
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
|
-
"@agent-relay/config": "3.2.
|
|
105
|
+
"@agent-relay/config": "3.2.7",
|
|
106
106
|
"@relaycast/sdk": "^0.4.0",
|
|
107
107
|
"@sinclair/typebox": "^0.34.48",
|
|
108
108
|
"ws": "^8.18.3",
|
|
@@ -367,8 +367,14 @@ export class WorkflowBuilder {
|
|
|
367
367
|
runner.on(options.onEvent);
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
-
|
|
371
|
-
const
|
|
370
|
+
// Auto-detect RESUME_RUN_ID env var for resuming failed runs
|
|
371
|
+
const resumeRunId = process.env.RESUME_RUN_ID;
|
|
372
|
+
if (resumeRunId) {
|
|
373
|
+
return runner.resume(resumeRunId, options.vars);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
const startFrom = this._startFrom ?? options.startFrom ?? process.env.START_FROM;
|
|
377
|
+
const previousRunId = this._previousRunId ?? options.previousRunId ?? process.env.PREVIOUS_RUN_ID;
|
|
372
378
|
const executeOptions: WorkflowExecuteOptions | undefined = startFrom
|
|
373
379
|
? { startFrom, previousRunId }
|
|
374
380
|
: undefined;
|
|
@@ -21,6 +21,12 @@ export interface RunWorkflowOptions {
|
|
|
21
21
|
trajectories?: TrajectoryConfig | false;
|
|
22
22
|
/** Validate and show execution plan without running. */
|
|
23
23
|
dryRun?: boolean;
|
|
24
|
+
/** Resume a failed run by its ID instead of starting fresh. */
|
|
25
|
+
resume?: string;
|
|
26
|
+
/** Skip to a specific step (re-uses cached outputs from earlier steps). */
|
|
27
|
+
startFrom?: string;
|
|
28
|
+
/** Previous run ID whose cached step outputs are used with startFrom. */
|
|
29
|
+
previousRunId?: string;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
/**
|
|
@@ -68,5 +74,15 @@ export async function runWorkflow(
|
|
|
68
74
|
runner.on(options.onEvent);
|
|
69
75
|
}
|
|
70
76
|
|
|
71
|
-
|
|
77
|
+
// Resume a previous run if requested
|
|
78
|
+
const resumeRunId = options.resume ?? process.env.RESUME_RUN_ID;
|
|
79
|
+
if (resumeRunId) {
|
|
80
|
+
return runner.resume(resumeRunId, options.vars);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const startFrom = options.startFrom ?? process.env.START_FROM;
|
|
84
|
+
const previousRunId = options.previousRunId ?? process.env.PREVIOUS_RUN_ID;
|
|
85
|
+
const executeOptions = startFrom ? { startFrom, previousRunId } : undefined;
|
|
86
|
+
|
|
87
|
+
return runner.execute(config, options.workflow, options.vars, executeOptions);
|
|
72
88
|
}
|
|
@@ -1834,6 +1834,7 @@ export class WorkflowRunner {
|
|
|
1834
1834
|
};
|
|
1835
1835
|
|
|
1836
1836
|
await this.db.insertRun(run);
|
|
1837
|
+
this.persistRunIdHint(runId);
|
|
1837
1838
|
|
|
1838
1839
|
// Build step rows
|
|
1839
1840
|
const stepStates = new Map<string, StepState>();
|
|
@@ -1925,6 +1926,7 @@ export class WorkflowRunner {
|
|
|
1925
1926
|
if (!run) {
|
|
1926
1927
|
throw new Error(`Run "${runId}" not found`);
|
|
1927
1928
|
}
|
|
1929
|
+
this.persistRunIdHint(runId);
|
|
1928
1930
|
|
|
1929
1931
|
if (run.status !== 'running' && run.status !== 'failed') {
|
|
1930
1932
|
throw new Error(`Run "${runId}" is in status "${run.status}" and cannot be resumed`);
|
|
@@ -6116,6 +6118,17 @@ export class WorkflowRunner {
|
|
|
6116
6118
|
|
|
6117
6119
|
// ── ID generation ─────────────────────────────────────────────────────
|
|
6118
6120
|
|
|
6121
|
+
private persistRunIdHint(runId: string): void {
|
|
6122
|
+
const target = process.env.AGENT_RELAY_RUN_ID_FILE?.trim();
|
|
6123
|
+
if (!target) return;
|
|
6124
|
+
try {
|
|
6125
|
+
mkdirSync(path.dirname(target), { recursive: true });
|
|
6126
|
+
writeFileSync(target, runId + '\n', 'utf8');
|
|
6127
|
+
} catch {
|
|
6128
|
+
// Ignore hint persistence failures.
|
|
6129
|
+
}
|
|
6130
|
+
}
|
|
6131
|
+
|
|
6119
6132
|
private generateId(): string {
|
|
6120
6133
|
return randomBytes(12).toString('hex');
|
|
6121
6134
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/trajectory",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.7",
|
|
4
4
|
"description": "Trajectory integration utilities (trail/PDERO) for Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/config": "3.2.
|
|
25
|
+
"@agent-relay/config": "3.2.7"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/user-directory",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.7",
|
|
4
4
|
"description": "User directory service for agent-relay (per-user credential storage)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/utils": "3.2.
|
|
25
|
+
"@agent-relay/utils": "3.2.7"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/utils",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.7",
|
|
4
4
|
"description": "Shared utilities for agent-relay: logging, name generation, command resolution, update checking",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"vitest": "^3.2.4"
|
|
113
113
|
},
|
|
114
114
|
"dependencies": {
|
|
115
|
-
"@agent-relay/config": "3.2.
|
|
115
|
+
"@agent-relay/config": "3.2.7",
|
|
116
116
|
"compare-versions": "^6.1.1"
|
|
117
117
|
},
|
|
118
118
|
"publishConfig": {
|