agent-relay 3.2.10 → 3.2.12
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/README.md +2 -2
- 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 +858 -519
- package/package.json +8 -8
- 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/cli-registry.d.ts +42 -0
- package/packages/sdk/dist/cli-registry.d.ts.map +1 -0
- package/packages/sdk/dist/cli-registry.js +126 -0
- package/packages/sdk/dist/cli-registry.js.map +1 -0
- package/packages/sdk/dist/cli-resolver.d.ts +30 -0
- package/packages/sdk/dist/cli-resolver.d.ts.map +1 -0
- package/packages/sdk/dist/cli-resolver.js +132 -0
- package/packages/sdk/dist/cli-resolver.js.map +1 -0
- package/packages/sdk/dist/index.d.ts +2 -0
- package/packages/sdk/dist/index.d.ts.map +1 -1
- package/packages/sdk/dist/index.js +2 -0
- package/packages/sdk/dist/index.js.map +1 -1
- package/packages/sdk/dist/spawn-from-env.d.ts.map +1 -1
- package/packages/sdk/dist/spawn-from-env.js +6 -15
- package/packages/sdk/dist/spawn-from-env.js.map +1 -1
- package/packages/sdk/dist/workflows/builder.d.ts +5 -0
- package/packages/sdk/dist/workflows/builder.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/builder.js +36 -5
- package/packages/sdk/dist/workflows/builder.js.map +1 -1
- package/packages/sdk/dist/workflows/collectors/opencode.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/collectors/opencode.js +26 -0
- package/packages/sdk/dist/workflows/collectors/opencode.js.map +1 -1
- package/packages/sdk/dist/workflows/default-logger.d.ts +9 -0
- package/packages/sdk/dist/workflows/default-logger.d.ts.map +1 -0
- package/packages/sdk/dist/workflows/default-logger.js +104 -0
- package/packages/sdk/dist/workflows/default-logger.js.map +1 -0
- package/packages/sdk/dist/workflows/index.d.ts +1 -0
- package/packages/sdk/dist/workflows/index.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/index.js +1 -0
- package/packages/sdk/dist/workflows/index.js.map +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/runner.js +16 -45
- package/packages/sdk/dist/workflows/runner.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/src/__tests__/workflow-runner.test.ts +2 -2
- package/packages/sdk/src/cli-registry.ts +148 -0
- package/packages/sdk/src/cli-resolver.ts +155 -0
- package/packages/sdk/src/index.ts +2 -0
- package/packages/sdk/src/spawn-from-env.ts +6 -17
- package/packages/sdk/src/workflows/builder.ts +44 -4
- package/packages/sdk/src/workflows/collectors/opencode.ts +26 -0
- package/packages/sdk/src/workflows/default-logger.ts +120 -0
- package/packages/sdk/src/workflows/index.ts +1 -0
- package/packages/sdk/src/workflows/runner.ts +16 -43
- 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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* persists state to DB, and supports pause/resume/abort with retries.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { spawn as cpSpawn
|
|
7
|
+
import { spawn as cpSpawn } from 'node:child_process';
|
|
8
8
|
import { randomBytes } from 'node:crypto';
|
|
9
9
|
import {
|
|
10
10
|
createWriteStream,
|
|
@@ -25,6 +25,8 @@ import { parse as parseYaml } from 'yaml';
|
|
|
25
25
|
import { stripAnsi as stripAnsiFn } from '../pty.js';
|
|
26
26
|
import type { BrokerEvent } from '../protocol.js';
|
|
27
27
|
import { resolveSpawnPolicy } from '../spawn-from-env.js';
|
|
28
|
+
import { getCliDefinition } from '../cli-registry.js';
|
|
29
|
+
import { resolveCliSync } from '../cli-resolver.js';
|
|
28
30
|
|
|
29
31
|
import {
|
|
30
32
|
loadCustomSteps,
|
|
@@ -278,25 +280,12 @@ interface ChannelEvidenceOptions {
|
|
|
278
280
|
|
|
279
281
|
/**
|
|
280
282
|
* Resolve `cursor` to the concrete cursor agent binary available in PATH.
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
* Result is memoized after the first call to avoid repeated sync PATH lookups.
|
|
283
|
+
* Delegates to the consolidated cli-resolver which checks PATH + well-known
|
|
284
|
+
* install directories. Falls back to `agent` if nothing found.
|
|
284
285
|
*/
|
|
285
|
-
let _resolvedCursorCli: 'cursor-agent' | 'agent' | undefined;
|
|
286
286
|
function resolveCursorCli(): 'cursor-agent' | 'agent' {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
for (const candidate of candidates) {
|
|
290
|
-
try {
|
|
291
|
-
execFileSync('which', [candidate], { stdio: 'ignore' });
|
|
292
|
-
_resolvedCursorCli = candidate;
|
|
293
|
-
return candidate;
|
|
294
|
-
} catch {
|
|
295
|
-
// not in PATH, try next
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
_resolvedCursorCli = 'agent'; // last-resort default
|
|
299
|
-
return _resolvedCursorCli;
|
|
287
|
+
const resolved = resolveCliSync('cursor');
|
|
288
|
+
return (resolved?.binary as 'cursor-agent' | 'agent') ?? 'agent';
|
|
300
289
|
}
|
|
301
290
|
|
|
302
291
|
// ── WorkflowRunner ──────────────────────────────────────────────────────────
|
|
@@ -4738,38 +4727,22 @@ export class WorkflowRunner {
|
|
|
4738
4727
|
|
|
4739
4728
|
/**
|
|
4740
4729
|
* Build the CLI command and arguments for a non-interactive agent execution.
|
|
4741
|
-
*
|
|
4730
|
+
* Delegates to the consolidated CLI registry for per-CLI arg formats.
|
|
4742
4731
|
*/
|
|
4743
4732
|
static buildNonInteractiveCommand(
|
|
4744
4733
|
cli: AgentCli,
|
|
4745
4734
|
task: string,
|
|
4746
4735
|
extraArgs: string[] = []
|
|
4747
4736
|
): { cmd: string; args: string[] } {
|
|
4748
|
-
|
|
4749
|
-
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
return { cmd: 'claude', args: ['-p', '--dangerously-skip-permissions', task, ...extraArgs] };
|
|
4753
|
-
case 'codex':
|
|
4754
|
-
return { cmd: 'codex', args: ['exec', task, ...extraArgs] };
|
|
4755
|
-
case 'gemini':
|
|
4756
|
-
return { cmd: 'gemini', args: ['-p', task, ...extraArgs] };
|
|
4757
|
-
case 'opencode':
|
|
4758
|
-
return { cmd: 'opencode', args: ['--prompt', task, ...extraArgs] };
|
|
4759
|
-
case 'droid':
|
|
4760
|
-
return { cmd: 'droid', args: ['exec', task, ...extraArgs] };
|
|
4761
|
-
case 'aider':
|
|
4762
|
-
return { cmd: 'aider', args: ['--message', task, '--yes-always', '--no-git', ...extraArgs] };
|
|
4763
|
-
case 'goose':
|
|
4764
|
-
return { cmd: 'goose', args: ['run', '--text', task, '--no-session', ...extraArgs] };
|
|
4765
|
-
case 'cursor-agent':
|
|
4766
|
-
case 'agent':
|
|
4767
|
-
return { cmd: cli, args: ['--force', '-p', task, ...extraArgs] };
|
|
4768
|
-
case 'cursor':
|
|
4769
|
-
// Should not reach here after resolveAgentDef resolves to agent/cursor-agent,
|
|
4770
|
-
// but handle as fallback.
|
|
4771
|
-
return { cmd: resolveCursorCli(), args: ['--force', '-p', task, ...extraArgs] };
|
|
4737
|
+
const resolvedCli: AgentCli = cli === 'cursor' ? resolveCursorCli() : cli;
|
|
4738
|
+
const def = getCliDefinition(resolvedCli);
|
|
4739
|
+
if (!def) {
|
|
4740
|
+
throw new Error(`Unknown CLI: ${resolvedCli}`);
|
|
4772
4741
|
}
|
|
4742
|
+
return {
|
|
4743
|
+
cmd: def.binaries[0],
|
|
4744
|
+
args: def.nonInteractiveArgs(task, extraArgs),
|
|
4745
|
+
};
|
|
4773
4746
|
}
|
|
4774
4747
|
|
|
4775
4748
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/trajectory",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.12",
|
|
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.12"
|
|
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.12",
|
|
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.12"
|
|
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.12",
|
|
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.12",
|
|
116
116
|
"compare-versions": "^6.1.1"
|
|
117
117
|
},
|
|
118
118
|
"publishConfig": {
|