agent-relay 3.1.10 → 3.1.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/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 +2 -2
- package/dist/src/cli/bootstrap.d.ts.map +1 -1
- package/dist/src/cli/bootstrap.js +2 -0
- package/dist/src/cli/bootstrap.js.map +1 -1
- package/dist/src/cli/commands/connect.d.ts +3 -0
- package/dist/src/cli/commands/connect.d.ts.map +1 -0
- package/dist/src/cli/commands/connect.js +18 -0
- package/dist/src/cli/commands/connect.js.map +1 -0
- package/dist/src/cli/lib/auth-ssh.d.ts.map +1 -1
- package/dist/src/cli/lib/auth-ssh.js +22 -270
- package/dist/src/cli/lib/auth-ssh.js.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.js +33 -0
- package/dist/src/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/src/cli/lib/connect-daytona.d.ts +15 -0
- package/dist/src/cli/lib/connect-daytona.d.ts.map +1 -0
- package/dist/src/cli/lib/connect-daytona.js +217 -0
- package/dist/src/cli/lib/connect-daytona.js.map +1 -0
- package/dist/src/cli/lib/ssh-interactive.d.ts +41 -0
- package/dist/src/cli/lib/ssh-interactive.d.ts.map +1 -0
- package/dist/src/cli/lib/ssh-interactive.js +320 -0
- package/dist/src/cli/lib/ssh-interactive.js.map +1 -0
- package/install.sh +2 -1
- package/package.json +13 -10
- package/packages/acp-bridge/package.json +2 -2
- package/packages/config/dist/cli-auth-config.d.ts +2 -0
- package/packages/config/dist/cli-auth-config.d.ts.map +1 -1
- package/packages/config/dist/cli-auth-config.js +1 -0
- package/packages/config/dist/cli-auth-config.js.map +1 -1
- package/packages/config/package.json +1 -1
- package/packages/config/src/cli-auth-config.ts +3 -0
- package/packages/hooks/package.json +4 -4
- package/packages/memory/package.json +2 -2
- package/packages/openclaw/dist/__tests__/gateway-control.test.js +13 -13
- package/packages/openclaw/dist/__tests__/gateway-control.test.js.map +1 -1
- package/packages/openclaw/dist/__tests__/gateway-poll-fallback.test.d.ts +2 -0
- package/packages/openclaw/dist/__tests__/gateway-poll-fallback.test.d.ts.map +1 -0
- package/packages/openclaw/dist/__tests__/gateway-poll-fallback.test.js +369 -0
- package/packages/openclaw/dist/__tests__/gateway-poll-fallback.test.js.map +1 -0
- package/packages/openclaw/dist/__tests__/gateway-threads.test.js +57 -16
- package/packages/openclaw/dist/__tests__/gateway-threads.test.js.map +1 -1
- package/packages/openclaw/dist/__tests__/ws-client.test.js +2 -0
- package/packages/openclaw/dist/__tests__/ws-client.test.js.map +1 -1
- package/packages/openclaw/dist/config.d.ts +2 -0
- package/packages/openclaw/dist/config.d.ts.map +1 -1
- package/packages/openclaw/dist/config.js +99 -12
- package/packages/openclaw/dist/config.js.map +1 -1
- package/packages/openclaw/dist/gateway.d.ts +56 -2
- package/packages/openclaw/dist/gateway.d.ts.map +1 -1
- package/packages/openclaw/dist/gateway.js +819 -127
- package/packages/openclaw/dist/gateway.js.map +1 -1
- package/packages/openclaw/dist/runtime/openclaw-config.d.ts +2 -0
- package/packages/openclaw/dist/runtime/openclaw-config.d.ts.map +1 -1
- package/packages/openclaw/dist/runtime/openclaw-config.js +1 -1
- package/packages/openclaw/dist/runtime/openclaw-config.js.map +1 -1
- package/packages/openclaw/dist/runtime/setup.d.ts +0 -2
- package/packages/openclaw/dist/runtime/setup.d.ts.map +1 -1
- package/packages/openclaw/dist/runtime/setup.js +53 -8
- package/packages/openclaw/dist/runtime/setup.js.map +1 -1
- package/packages/openclaw/dist/types.d.ts +28 -0
- package/packages/openclaw/dist/types.d.ts.map +1 -1
- package/packages/openclaw/package.json +2 -2
- package/packages/openclaw/skill/SKILL.md +150 -44
- package/packages/openclaw/src/__tests__/gateway-control.test.ts +14 -14
- package/packages/openclaw/src/__tests__/gateway-poll-fallback.test.ts +467 -0
- package/packages/openclaw/src/__tests__/gateway-threads.test.ts +73 -23
- package/packages/openclaw/src/__tests__/ws-client.test.ts +71 -51
- package/packages/openclaw/src/config.ts +121 -12
- package/packages/openclaw/src/gateway.ts +1155 -252
- package/packages/openclaw/src/runtime/openclaw-config.ts +3 -1
- package/packages/openclaw/src/runtime/setup.ts +57 -16
- package/packages/openclaw/src/types.ts +31 -0
- package/packages/openclaw/test/vitest.setup.ts +1 -0
- package/packages/policy/package.json +2 -2
- package/packages/sdk/dist/__tests__/unit.test.js +131 -129
- package/packages/sdk/dist/__tests__/unit.test.js.map +1 -1
- package/packages/sdk/dist/relay.js +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/runner.js +5 -3
- package/packages/sdk/dist/workflows/runner.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/src/__tests__/unit.test.ts +142 -157
- package/packages/sdk/src/relay.ts +1 -1
- package/packages/sdk/src/workflows/runner.ts +12 -9
- 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
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSH Interactive Session — Reusable SSH+PTY logic.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from auth-ssh.ts so it can be shared between the `auth` command
|
|
5
|
+
* (cloud API broker) and the `connect` command (direct Daytona broker).
|
|
6
|
+
*/
|
|
7
|
+
import { createServer } from 'node:net';
|
|
8
|
+
import { spawn as spawnProcess } from 'node:child_process';
|
|
9
|
+
import { stripAnsiCodes, findMatchingError } from '@agent-relay/config/cli-auth-config';
|
|
10
|
+
import { loadSSH2, createAskpassScript, buildSystemSshArgs, } from './auth-ssh.js';
|
|
11
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
12
|
+
const color = {
|
|
13
|
+
cyan: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
14
|
+
green: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
15
|
+
yellow: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
16
|
+
red: (s) => `\x1b[31m${s}\x1b[0m`,
|
|
17
|
+
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
18
|
+
};
|
|
19
|
+
function getSshErrorMessage(host, port, err) {
|
|
20
|
+
if (err.message.includes('Authentication')) {
|
|
21
|
+
return 'SSH authentication failed.';
|
|
22
|
+
}
|
|
23
|
+
if (err.message.includes('ECONNREFUSED')) {
|
|
24
|
+
return `Cannot connect to SSH server at ${host}:${port}. Is the workspace running and SSH enabled?`;
|
|
25
|
+
}
|
|
26
|
+
if (err.message.includes('ENOTFOUND') || err.message.includes('getaddrinfo')) {
|
|
27
|
+
return `Cannot resolve hostname: ${host}. Check network connectivity.`;
|
|
28
|
+
}
|
|
29
|
+
if (err.message.includes('ETIMEDOUT')) {
|
|
30
|
+
return `Connection timed out to ${host}:${port}. Is the workspace running?`;
|
|
31
|
+
}
|
|
32
|
+
return `SSH error: ${err.message}`;
|
|
33
|
+
}
|
|
34
|
+
// ── Main function ────────────────────────────────────────────────────────────
|
|
35
|
+
const DEFAULT_RUNTIME = {
|
|
36
|
+
loadSSH2,
|
|
37
|
+
createAskpassScript,
|
|
38
|
+
buildSystemSshArgs,
|
|
39
|
+
spawnProcess,
|
|
40
|
+
createServer,
|
|
41
|
+
setTimeout,
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Run an interactive SSH session with PTY.
|
|
45
|
+
*
|
|
46
|
+
* Connects via ssh2 (if available) or falls back to system ssh,
|
|
47
|
+
* sets up a local port tunnel, and runs the remote command in a PTY.
|
|
48
|
+
* Monitors output for success/error patterns.
|
|
49
|
+
*/
|
|
50
|
+
export async function runInteractiveSession(options) {
|
|
51
|
+
const { ssh, remoteCommand, successPatterns, errorPatterns, timeoutMs, io, tunnelPort = 1455, } = options;
|
|
52
|
+
const runtime = { ...DEFAULT_RUNTIME, ...options.runtime };
|
|
53
|
+
const ssh2 = await runtime.loadSSH2();
|
|
54
|
+
let execResult = null;
|
|
55
|
+
let execError = null;
|
|
56
|
+
if (ssh2) {
|
|
57
|
+
const { Client } = ssh2;
|
|
58
|
+
const sshClient = new Client();
|
|
59
|
+
let sshReady = false;
|
|
60
|
+
const tunnel = { server: null };
|
|
61
|
+
const sshReadyPromise = new Promise((resolve, reject) => {
|
|
62
|
+
sshClient.on('ready', () => {
|
|
63
|
+
sshReady = true;
|
|
64
|
+
tunnel.server = runtime.createServer((localSocket) => {
|
|
65
|
+
sshClient.forwardOut('127.0.0.1', tunnelPort, 'localhost', tunnelPort, (err, stream) => {
|
|
66
|
+
if (err) {
|
|
67
|
+
localSocket.end();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
localSocket.pipe(stream).pipe(localSocket);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
tunnel.server.on('error', (err) => {
|
|
74
|
+
if (err.code === 'EADDRINUSE') {
|
|
75
|
+
io.log(color.dim(`Note: Port ${tunnelPort} in use, OAuth callbacks may not work.`));
|
|
76
|
+
}
|
|
77
|
+
resolve();
|
|
78
|
+
});
|
|
79
|
+
tunnel.server.listen(tunnelPort, '127.0.0.1', () => {
|
|
80
|
+
resolve();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
sshClient.on('error', (err) => {
|
|
84
|
+
reject(new Error(getSshErrorMessage(ssh.host, ssh.port, err)));
|
|
85
|
+
});
|
|
86
|
+
sshClient.on('close', () => {
|
|
87
|
+
if (!sshReady) {
|
|
88
|
+
reject(new Error(`SSH connection to ${ssh.host}:${ssh.port} closed unexpectedly.`));
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
try {
|
|
93
|
+
sshClient.connect({
|
|
94
|
+
host: ssh.host,
|
|
95
|
+
port: ssh.port,
|
|
96
|
+
username: ssh.user,
|
|
97
|
+
password: ssh.password,
|
|
98
|
+
readyTimeout: 10000,
|
|
99
|
+
hostVerifier: () => true,
|
|
100
|
+
});
|
|
101
|
+
await Promise.race([
|
|
102
|
+
sshReadyPromise,
|
|
103
|
+
new Promise((_, reject) => runtime.setTimeout(() => reject(new Error('SSH connection timeout')), 15000)),
|
|
104
|
+
]);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
io.error(color.red(`Failed to connect via SSH: ${err instanceof Error ? err.message : String(err)}`));
|
|
108
|
+
if (tunnel.server)
|
|
109
|
+
tunnel.server.close();
|
|
110
|
+
sshClient.end();
|
|
111
|
+
throw err;
|
|
112
|
+
}
|
|
113
|
+
const execInteractive = async (command, commandTimeoutMs) => await new Promise((resolve, reject) => {
|
|
114
|
+
const cols = process.stdout.columns || 80;
|
|
115
|
+
const rows = process.stdout.rows || 24;
|
|
116
|
+
const term = process.env.TERM || 'xterm-256color';
|
|
117
|
+
// Use shell() instead of exec() — some CLIs (e.g. claude) only produce
|
|
118
|
+
// output inside a proper login shell with full TTY environment.
|
|
119
|
+
sshClient.shell({ term, cols, rows }, (err, stream) => {
|
|
120
|
+
if (err)
|
|
121
|
+
return reject(err);
|
|
122
|
+
// Send the command through the shell, then exit with its status
|
|
123
|
+
stream.write(`${command}; exit $?\n`);
|
|
124
|
+
let exitCode = null;
|
|
125
|
+
let exitSignal = null;
|
|
126
|
+
let authDetected = false;
|
|
127
|
+
let outputBuffer = '';
|
|
128
|
+
const stdin = process.stdin;
|
|
129
|
+
const stdout = process.stdout;
|
|
130
|
+
const stderr = process.stderr;
|
|
131
|
+
const wasRaw = stdin.isRaw ?? false;
|
|
132
|
+
try {
|
|
133
|
+
stdin.setRawMode?.(true);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// ignore
|
|
137
|
+
}
|
|
138
|
+
stdin.resume();
|
|
139
|
+
const onStdinData = (data) => {
|
|
140
|
+
if (authDetected && (data[0] === 0x1b || data[0] === 0x03)) {
|
|
141
|
+
cleanup();
|
|
142
|
+
clearTimeout(timer);
|
|
143
|
+
try {
|
|
144
|
+
stream.close();
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// ignore
|
|
148
|
+
}
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
stream.write(data);
|
|
152
|
+
};
|
|
153
|
+
stdin.on('data', onStdinData);
|
|
154
|
+
const cleanup = () => {
|
|
155
|
+
stdin.off('data', onStdinData);
|
|
156
|
+
stdout.off('resize', onResize);
|
|
157
|
+
try {
|
|
158
|
+
stdin.setRawMode?.(wasRaw);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
// ignore
|
|
162
|
+
}
|
|
163
|
+
stdin.pause();
|
|
164
|
+
};
|
|
165
|
+
const closeOnAuthSuccess = () => {
|
|
166
|
+
authDetected = true;
|
|
167
|
+
stdout.write('\n');
|
|
168
|
+
stdout.write(color.green(' ✓ Authentication successful!') + '\n');
|
|
169
|
+
stdout.write(color.dim(' Press Escape or Ctrl+C to exit.') + '\n');
|
|
170
|
+
stdout.write('\n');
|
|
171
|
+
};
|
|
172
|
+
stream.on('data', (data) => {
|
|
173
|
+
stdout.write(data);
|
|
174
|
+
outputBuffer += data.toString();
|
|
175
|
+
if (outputBuffer.length > 8192) {
|
|
176
|
+
outputBuffer = outputBuffer.slice(-8192);
|
|
177
|
+
}
|
|
178
|
+
if (!authDetected && successPatterns.length > 0) {
|
|
179
|
+
const clean = stripAnsiCodes(outputBuffer);
|
|
180
|
+
for (const pattern of successPatterns) {
|
|
181
|
+
if (pattern.test(clean)) {
|
|
182
|
+
closeOnAuthSuccess();
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (!authDetected && errorPatterns.length > 0) {
|
|
188
|
+
const matched = findMatchingError(outputBuffer, errorPatterns);
|
|
189
|
+
if (matched) {
|
|
190
|
+
clearTimeout(timer);
|
|
191
|
+
cleanup();
|
|
192
|
+
try {
|
|
193
|
+
stream.close();
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// ignore
|
|
197
|
+
}
|
|
198
|
+
reject(new Error(matched.message + (matched.hint ? ` ${matched.hint}` : '')));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
stream.stderr.on('data', (data) => {
|
|
203
|
+
stderr.write(data);
|
|
204
|
+
});
|
|
205
|
+
const onResize = () => {
|
|
206
|
+
try {
|
|
207
|
+
stream.setWindow(stdout.rows || 24, stdout.columns || 80, 0, 0);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
// ignore
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
stdout.on('resize', onResize);
|
|
214
|
+
const timer = runtime.setTimeout(() => {
|
|
215
|
+
cleanup();
|
|
216
|
+
try {
|
|
217
|
+
stream.close();
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
// ignore
|
|
221
|
+
}
|
|
222
|
+
reject(new Error(`Authentication timed out after ${Math.floor(commandTimeoutMs / 1000)}s`));
|
|
223
|
+
}, commandTimeoutMs);
|
|
224
|
+
stream.on('exit', (code, signal) => {
|
|
225
|
+
if (typeof code === 'number')
|
|
226
|
+
exitCode = code;
|
|
227
|
+
if (typeof signal === 'string')
|
|
228
|
+
exitSignal = signal;
|
|
229
|
+
});
|
|
230
|
+
stream.on('close', () => {
|
|
231
|
+
clearTimeout(timer);
|
|
232
|
+
cleanup();
|
|
233
|
+
resolve({ exitCode, exitSignal, authDetected });
|
|
234
|
+
});
|
|
235
|
+
stream.on('error', (streamErr) => {
|
|
236
|
+
clearTimeout(timer);
|
|
237
|
+
cleanup();
|
|
238
|
+
reject(streamErr instanceof Error ? streamErr : new Error(String(streamErr)));
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
try {
|
|
243
|
+
io.log(color.yellow('Starting interactive authentication...'));
|
|
244
|
+
io.log(color.dim('Follow the prompts below. The session will close automatically when auth completes.'));
|
|
245
|
+
io.log('');
|
|
246
|
+
execResult = await execInteractive(remoteCommand, timeoutMs);
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
execError = err instanceof Error ? err : new Error(String(err));
|
|
250
|
+
io.log('');
|
|
251
|
+
io.error(color.red(`Remote auth command failed: ${execError.message}`));
|
|
252
|
+
}
|
|
253
|
+
finally {
|
|
254
|
+
if (tunnel.server)
|
|
255
|
+
tunnel.server.close();
|
|
256
|
+
sshClient.end();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// Fallback: system ssh
|
|
261
|
+
const askpassPath = runtime.createAskpassScript(ssh.password);
|
|
262
|
+
try {
|
|
263
|
+
const sshArgs = runtime.buildSystemSshArgs({
|
|
264
|
+
host: ssh.host,
|
|
265
|
+
port: ssh.port,
|
|
266
|
+
username: ssh.user,
|
|
267
|
+
localPort: tunnelPort,
|
|
268
|
+
remotePort: tunnelPort,
|
|
269
|
+
});
|
|
270
|
+
sshArgs.push('-tt');
|
|
271
|
+
sshArgs.push(`${ssh.user}@${ssh.host}`);
|
|
272
|
+
sshArgs.push(remoteCommand);
|
|
273
|
+
io.log(color.yellow('Starting interactive authentication...'));
|
|
274
|
+
io.log(color.dim('Follow the prompts below.'));
|
|
275
|
+
io.log('');
|
|
276
|
+
const child = runtime.spawnProcess('ssh', sshArgs, {
|
|
277
|
+
stdio: 'inherit',
|
|
278
|
+
env: {
|
|
279
|
+
...process.env,
|
|
280
|
+
SSH_ASKPASS: askpassPath,
|
|
281
|
+
SSH_ASKPASS_REQUIRE: 'force',
|
|
282
|
+
DISPLAY: process.env.DISPLAY || ':0',
|
|
283
|
+
},
|
|
284
|
+
});
|
|
285
|
+
execResult = await new Promise((resolve) => {
|
|
286
|
+
child.on('exit', (code, signal) => {
|
|
287
|
+
resolve({
|
|
288
|
+
exitCode: code,
|
|
289
|
+
exitSignal: signal ? String(signal) : null,
|
|
290
|
+
authDetected: code === 0,
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
child.on('error', (err) => {
|
|
294
|
+
io.error(color.red(`Failed to launch ssh: ${err.message}`));
|
|
295
|
+
resolve({ exitCode: 1, exitSignal: null, authDetected: false });
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
execError = err instanceof Error ? err : new Error(String(err));
|
|
301
|
+
io.log('');
|
|
302
|
+
io.error(color.red(`SSH error: ${execError.message}`));
|
|
303
|
+
}
|
|
304
|
+
finally {
|
|
305
|
+
try {
|
|
306
|
+
const fs = await import('node:fs');
|
|
307
|
+
fs.unlinkSync(askpassPath);
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
// ignore
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
exitCode: execError ? 1 : (execResult?.exitCode ?? null),
|
|
316
|
+
exitSignal: execResult?.exitSignal ?? null,
|
|
317
|
+
authDetected: execError === null && (execResult?.authDetected === true || execResult?.exitCode === 0),
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=ssh-interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssh-interactive.js","sourceRoot":"","sources":["../../../../src/cli/lib/ssh-interactive.ts"],"names":[],"mappings":"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"}
|
package/install.sh
CHANGED
|
@@ -133,7 +133,8 @@ get_latest_version() {
|
|
|
133
133
|
error "Failed to fetch latest version"
|
|
134
134
|
fi
|
|
135
135
|
fi
|
|
136
|
-
# Remove
|
|
136
|
+
# Remove tag prefix (e.g., "openclaw-v3.1.10" -> "3.1.10", "v3.1.10" -> "3.1.10")
|
|
137
|
+
VERSION="${VERSION#openclaw-}"
|
|
137
138
|
VERSION="${VERSION#v}"
|
|
138
139
|
info "Installing version: $VERSION"
|
|
139
140
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-relay",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.12",
|
|
4
4
|
"description": "Real-time agent-to-agent communication system",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -69,7 +69,8 @@
|
|
|
69
69
|
"agent-relay": "dist/src/cli/bootstrap.js"
|
|
70
70
|
},
|
|
71
71
|
"workspaces": [
|
|
72
|
-
"packages/*"
|
|
72
|
+
"packages/*",
|
|
73
|
+
"openclaw-web"
|
|
73
74
|
],
|
|
74
75
|
"bundledDependencies": [
|
|
75
76
|
"@agent-relay/sdk",
|
|
@@ -139,7 +140,8 @@
|
|
|
139
140
|
"update:cli-versions": "node scripts/check-cli-versions.mjs --update && npm run codegen:models",
|
|
140
141
|
"codegen:models:ts": "node packages/shared/codegen-ts.mjs",
|
|
141
142
|
"codegen:models:py": "node packages/shared/codegen-py.mjs",
|
|
142
|
-
"prepare": "node scripts/prepare-husky.cjs"
|
|
143
|
+
"prepare": "node scripts/prepare-husky.cjs",
|
|
144
|
+
"dev:web": "cd openclaw-web && ../node_modules/.bin/sst dev"
|
|
143
145
|
},
|
|
144
146
|
"lint-staged": {
|
|
145
147
|
"*.{ts,tsx}": [
|
|
@@ -174,13 +176,13 @@
|
|
|
174
176
|
},
|
|
175
177
|
"homepage": "https://github.com/AgentWorkforce/relay#readme",
|
|
176
178
|
"dependencies": {
|
|
177
|
-
"@agent-relay/config": "3.1.
|
|
178
|
-
"@agent-relay/hooks": "3.1.
|
|
179
|
-
"@agent-relay/sdk": "3.1.
|
|
180
|
-
"@agent-relay/telemetry": "3.1.
|
|
181
|
-
"@agent-relay/trajectory": "3.1.
|
|
182
|
-
"@agent-relay/user-directory": "3.1.
|
|
183
|
-
"@agent-relay/utils": "3.1.
|
|
179
|
+
"@agent-relay/config": "3.1.12",
|
|
180
|
+
"@agent-relay/hooks": "3.1.12",
|
|
181
|
+
"@agent-relay/sdk": "3.1.12",
|
|
182
|
+
"@agent-relay/telemetry": "3.1.12",
|
|
183
|
+
"@agent-relay/trajectory": "3.1.12",
|
|
184
|
+
"@agent-relay/user-directory": "3.1.12",
|
|
185
|
+
"@agent-relay/utils": "3.1.12",
|
|
184
186
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
185
187
|
"@relaycast/sdk": "^0.4.0",
|
|
186
188
|
"chokidar": "^5.0.0",
|
|
@@ -222,6 +224,7 @@
|
|
|
222
224
|
"jsdom": "^25.0.1",
|
|
223
225
|
"knip": "^5.84.1",
|
|
224
226
|
"prettier": "^3.6.2",
|
|
227
|
+
"sst": "^4.2.2",
|
|
225
228
|
"syncpack": "^14.0.0",
|
|
226
229
|
"turbo": "^2.8.10",
|
|
227
230
|
"typescript": "^5.9.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/acp-bridge",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.12",
|
|
4
4
|
"description": "ACP (Agent Client Protocol) bridge for Agent Relay - expose relay agents to ACP-compatible editors like Zed",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@agent-relay/sdk": "3.1.
|
|
49
|
+
"@agent-relay/sdk": "3.1.12",
|
|
50
50
|
"@agentclientprotocol/sdk": "^0.12.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
@@ -57,6 +57,8 @@ export interface CLIAuthConfig {
|
|
|
57
57
|
waitTimeout: number;
|
|
58
58
|
/** Whether this provider supports device flow */
|
|
59
59
|
supportsDeviceFlow?: boolean;
|
|
60
|
+
/** Command to install the CLI if not preinstalled on the sandbox */
|
|
61
|
+
installCommand?: string;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* CLI commands and URL patterns for each provider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-auth-config.d.ts","sourceRoot":"","sources":["../src/cli-auth-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,mCAAmC;IACnC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-auth-config.d.ts","sourceRoot":"","sources":["../src/cli-auth-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,mCAAmC;IACnC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA0UzD,CAAC;AAEF;;GAEG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAGD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAG/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EAAE,EACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,aAAa,GAAG,IAAI,CAStB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,YAAY,EAAE,GAC7B,YAAY,GAAG,IAAI,CASrB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAM9F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACpB,MAAM,GAAG,IAAI,CAkDf;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CASrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-auth-config.js","sourceRoot":"","sources":["../src/cli-auth-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"cli-auth-config.js","sourceRoot":"","sources":["../src/cli-auth-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6DH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,SAAS,EAAE;QACT,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,6BAA6B;QAC7C,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,KAAK,EAAE,+CAA+C;QACnE,OAAO,EAAE;YACP;gBACE,+DAA+D;gBAC/D,OAAO,EAAE,0DAA0D;gBACnE,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,0BAA0B;aACxC;YACD;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,IAAI,EAAE,gCAAgC;gBAChD,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,kBAAkB;aAChC;YACD;gBACE,yFAAyF;gBACzF,OAAO,EAAE,sIAAsI;gBAC/I,QAAQ,EAAE,IAAI,EAAE,kEAAkE;gBAClF,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,0CAA0C;gBAC1C,OAAO,EAAE,8EAA8E;gBACvF,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;YACD;gBACE,6DAA6D;gBAC7D,wEAAwE;gBACxE,6BAA6B;gBAC7B,2CAA2C;gBAC3C,OAAO,EAAE,6GAA6G;gBACtH,QAAQ,EAAE,IAAI,EAAE,8CAA8C;gBAC9D,KAAK,EAAE,GAAG,EAAE,2CAA2C;gBACvD,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,4EAA4E;gBAC5E,qEAAqE;gBACrE,gFAAgF;gBAChF,OAAO,EAAE,yFAAyF;gBAClG,QAAQ,EAAE,IAAI,EAAE,2DAA2D;gBAC3E,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,iCAAiC;aAC/C;YACD;gBACE,wFAAwF;gBACxF,gEAAgE;gBAChE,+DAA+D;gBAC/D,iEAAiE;gBACjE,OAAO,EAAE,6FAA6F;gBACtG,QAAQ,EAAE,UAAU,EAAE,mDAAmD;gBACzE,KAAK,EAAE,GAAG,EAAE,gDAAgD;gBAC5D,WAAW,EAAE,gCAAgC;aAC9C;YACD;gBACE,oEAAoE;gBACpE,uDAAuD;gBACvD,2EAA2E;gBAC3E,2EAA2E;gBAC3E,OAAO,EAAE,oEAAoE;gBAC7E,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,2BAA2B,CAAC;QAC5F,aAAa,EAAE;YACb;gBACE,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,uEAAuE;gBAChF,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,qJAAqJ;aAC5J;YACD;gBACE,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,sCAAsC;gBAC/C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,8BAA8B;aACrC;YACD;gBACE,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,uCAAuC;gBAChD,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,4FAA4F;aACnG;YACD;gBACE,OAAO,EAAE,iDAAiD;gBAC1D,OAAO,EAAE,qCAAqC;gBAC9C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,sDAAsD;aAC7D;YACD;gBACE,OAAO,EAAE,sDAAsD;gBAC/D,OAAO,EAAE,mDAAmD;gBAC5D,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,uFAAuF;aAC9F;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,sBAAsB;QACvC,cAAc,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,kDAAkD;QAC9F,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,oBAAoB;QACpC,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,8BAA8B;QAC9C,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,oDAAoD;gBAC7D,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC;KAChE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,gGAAgG;gBAChG,OAAO,EAAE,gHAAgH;gBACzH,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,4EAA4E;gBAC5E,OAAO,EAAE,mGAAmG;gBAC5G,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,uBAAuB;aACrC;YACD;gBACE,qDAAqD;gBACrD,OAAO,EAAE,2FAA2F;gBACpG,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;YACD;gBACE,8BAA8B;gBAC9B,OAAO,EAAE,qDAAqD;gBAC9D,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC;KAC1E;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,yEAAyE;QACzE,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,mCAAmC;QACnD,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,oDAAoD;gBAC7D,QAAQ,EAAE,IAAI,EAAE,qDAAqD;gBACrE,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,IAAI,EAAE,6BAA6B;gBAC7C,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,0EAA0E;QAC1E,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;KAC9G;IACD,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,kCAAkC;gBAC3C,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,cAAc;aAC5B;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC;KAChE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,EAAE,iCAAiC;QACnD,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,oCAAoC;QACrD,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,sDAAsD;gBACtD,yEAAyE;gBACzE,mDAAmD;gBACnD,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,IAAI,EAAE,wBAAwB;gBACxC,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;YACD;gBACE,mDAAmD;gBACnD,mDAAmD;gBACnD,6BAA6B;gBAC7B,aAAa;gBACb,OAAO,EAAE,kGAAkG;gBAC3G,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,qDAAqD;gBACrD,OAAO,EAAE,4EAA4E;gBACrF,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,0CAA0C;gBAC1C,OAAO,EAAE,8EAA8E;gBACvF,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;YACD;gBACE,kCAAkC;gBAClC,OAAO,EAAE,wDAAwD;gBACjE,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,2BAA2B,CAAC;QAC5F,aAAa,EAAE;YACb;gBACE,OAAO,EAAE,oDAAoD;gBAC7D,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,8BAA8B;aACrC;YACD;gBACE,OAAO,EAAE,iDAAiD;gBAC1D,OAAO,EAAE,qCAAqC;gBAC9C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,sDAAsD;aAC7D;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,kDAAkD;QAC3E,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,wCAAwC;QACvF,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,oBAAoB;QAChC,wEAAwE;QACxE,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE;YACP;gBACE,mCAAmC;gBACnC,OAAO,EAAE,6EAA6E;gBACtF,QAAQ,EAAE,IAAI,EAAE,2CAA2C;gBAC3D,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,uBAAuB;aACrC;YACD;gBACE,8BAA8B;gBAC9B,OAAO,EAAE,4DAA4D;gBACrE,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,qBAAqB;aACnC;YACD;gBACE,0CAA0C;gBAC1C,OAAO,EAAE,wGAAwG;gBACjH,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;YACD;gBACE,kCAAkC;gBAClC,OAAO,EAAE,wDAAwD;gBACjE,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;gBACV,WAAW,EAAE,sBAAsB;aACpC;SACF;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,2BAA2B,EAAE,4BAA4B,CAAC;QAC1H,aAAa,EAAE;YACb;gBACE,OAAO,EAAE,oDAAoD;gBAC7D,OAAO,EAAE,8BAA8B;gBACvC,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,wEAAwE;aAC/E;YACD;gBACE,OAAO,EAAE,iDAAiD;gBAC1D,OAAO,EAAE,qCAAqC;gBAC9C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,sDAAsD;aAC7D;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,qCAAqC;AACrC,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,wCAAwC;IACxC,0EAA0E;IAC1E,oCAAoC;IACpC,+BAA+B;IAC/B,OAAO,IAAI;SACR,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,uDAAuD;SAC9F,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAK,8BAA8B;SACrE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAU,0BAA0B;AACtE,CAAC;AACD,oCAAoC;AAEpC;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,QAAkB;IACpE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAwB,EACxB,gBAA6B;IAE7B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,SAAS;QACvD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,aAA8B;IAE9B,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,EAAE;QACF,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,MAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,GAAG,UAAU,gCAAgC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,UAAU,2BAA2B,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,UAAU,iCAAiC,CAAC;IACxD,CAAC;IAED,uCAAuC;IACvC,MAAM,OAAO,GAAG,0BAA0B,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,UAAU,kDAAkD,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,GAAG,UAAU,oCAAoC,CAAC;IAC3D,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,UAAU,2CAA2C,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,UAAU,8BAA8B,CAAC;IACrD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,UAAU,YAAY,CAAC,4BAA4B,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,GAAG,UAAU,YAAY,CAAC,6BAA6B,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,GAAG,UAAU,YAAY,CAAC,2BAA2B,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,UAAU,sCAAsC,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -60,6 +60,8 @@ export interface CLIAuthConfig {
|
|
|
60
60
|
waitTimeout: number;
|
|
61
61
|
/** Whether this provider supports device flow */
|
|
62
62
|
supportsDeviceFlow?: boolean;
|
|
63
|
+
/** Command to install the CLI if not preinstalled on the sandbox */
|
|
64
|
+
installCommand?: string;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
/**
|
|
@@ -190,6 +192,7 @@ export const CLI_AUTH_CONFIG: Record<string, CLIAuthConfig> = {
|
|
|
190
192
|
urlPattern: /(https:\/\/[^\s]+)/,
|
|
191
193
|
credentialPath: '~/.codex/auth.json',
|
|
192
194
|
displayName: 'Codex',
|
|
195
|
+
installCommand: 'npm install -g @openai/codex',
|
|
193
196
|
waitTimeout: 30000,
|
|
194
197
|
prompts: [
|
|
195
198
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/hooks",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.12",
|
|
4
4
|
"description": "Hook emitter, registry, and trajectory hooks for Agent Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"test:watch": "vitest"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@agent-relay/config": "3.1.
|
|
41
|
-
"@agent-relay/trajectory": "3.1.
|
|
42
|
-
"@agent-relay/sdk": "3.1.
|
|
40
|
+
"@agent-relay/config": "3.1.12",
|
|
41
|
+
"@agent-relay/trajectory": "3.1.12",
|
|
42
|
+
"@agent-relay/sdk": "3.1.12"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/memory",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.12",
|
|
4
4
|
"description": "Semantic memory storage and retrieval system for agent-relay with multiple backend support",
|
|
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/hooks": "3.1.
|
|
25
|
+
"@agent-relay/hooks": "3.1.12"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|