agent-relay 2.0.23 → 2.0.25
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/dist/src/cli/index.js +160 -17
- package/package.json +18 -52
- package/packages/api-types/package.json +1 -1
- package/packages/bridge/package.json +8 -8
- package/packages/cli-tester/package.json +1 -1
- package/packages/config/package.json +2 -2
- package/packages/continuity/package.json +1 -1
- package/packages/daemon/package.json +12 -12
- package/packages/hooks/package.json +4 -4
- package/packages/mcp/package.json +2 -2
- package/packages/memory/package.json +2 -2
- package/packages/policy/package.json +2 -2
- package/packages/protocol/package.json +1 -1
- package/packages/resiliency/package.json +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/spawner/package.json +1 -1
- package/packages/state/package.json +1 -1
- package/packages/storage/package.json +2 -2
- 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 +1 -1
- package/packages/wrapper/package.json +6 -6
- package/deploy/init-db.sql +0 -5
- package/deploy/scripts/setup-fly-workspaces.sh +0 -69
- package/deploy/scripts/setup-railway.sh +0 -75
- package/dist/src/cloud/index.d.ts +0 -8
- package/dist/src/cloud/index.js +0 -8
- package/packages/cloud/dist/api/admin.d.ts +0 -8
- package/packages/cloud/dist/api/admin.js +0 -225
- package/packages/cloud/dist/api/auth.d.ts +0 -20
- package/packages/cloud/dist/api/auth.js +0 -138
- package/packages/cloud/dist/api/billing.d.ts +0 -7
- package/packages/cloud/dist/api/billing.js +0 -564
- package/packages/cloud/dist/api/cli-pty-runner.d.ts +0 -53
- package/packages/cloud/dist/api/cli-pty-runner.js +0 -175
- package/packages/cloud/dist/api/codex-auth-helper.d.ts +0 -21
- package/packages/cloud/dist/api/codex-auth-helper.js +0 -327
- package/packages/cloud/dist/api/consensus.d.ts +0 -13
- package/packages/cloud/dist/api/consensus.js +0 -261
- package/packages/cloud/dist/api/coordinators.d.ts +0 -8
- package/packages/cloud/dist/api/coordinators.js +0 -750
- package/packages/cloud/dist/api/daemons.d.ts +0 -12
- package/packages/cloud/dist/api/daemons.js +0 -535
- package/packages/cloud/dist/api/email-auth.d.ts +0 -11
- package/packages/cloud/dist/api/email-auth.js +0 -347
- package/packages/cloud/dist/api/generic-webhooks.d.ts +0 -8
- package/packages/cloud/dist/api/generic-webhooks.js +0 -129
- package/packages/cloud/dist/api/git.d.ts +0 -8
- package/packages/cloud/dist/api/git.js +0 -269
- package/packages/cloud/dist/api/github-app.d.ts +0 -11
- package/packages/cloud/dist/api/github-app.js +0 -223
- package/packages/cloud/dist/api/middleware/planLimits.d.ts +0 -43
- package/packages/cloud/dist/api/middleware/planLimits.js +0 -202
- package/packages/cloud/dist/api/monitoring.d.ts +0 -11
- package/packages/cloud/dist/api/monitoring.js +0 -578
- package/packages/cloud/dist/api/nango-auth.d.ts +0 -9
- package/packages/cloud/dist/api/nango-auth.js +0 -741
- package/packages/cloud/dist/api/onboarding.d.ts +0 -15
- package/packages/cloud/dist/api/onboarding.js +0 -679
- package/packages/cloud/dist/api/policy.d.ts +0 -8
- package/packages/cloud/dist/api/policy.js +0 -229
- package/packages/cloud/dist/api/provider-env.d.ts +0 -26
- package/packages/cloud/dist/api/provider-env.js +0 -141
- package/packages/cloud/dist/api/providers.d.ts +0 -7
- package/packages/cloud/dist/api/providers.js +0 -574
- package/packages/cloud/dist/api/repos.d.ts +0 -8
- package/packages/cloud/dist/api/repos.js +0 -577
- package/packages/cloud/dist/api/sessions.d.ts +0 -11
- package/packages/cloud/dist/api/sessions.js +0 -302
- package/packages/cloud/dist/api/teams.d.ts +0 -7
- package/packages/cloud/dist/api/teams.js +0 -281
- package/packages/cloud/dist/api/test-helpers.d.ts +0 -10
- package/packages/cloud/dist/api/test-helpers.js +0 -745
- package/packages/cloud/dist/api/usage.d.ts +0 -7
- package/packages/cloud/dist/api/usage.js +0 -111
- package/packages/cloud/dist/api/webhooks.d.ts +0 -8
- package/packages/cloud/dist/api/webhooks.js +0 -645
- package/packages/cloud/dist/api/workspaces.d.ts +0 -25
- package/packages/cloud/dist/api/workspaces.js +0 -1799
- package/packages/cloud/dist/billing/index.d.ts +0 -9
- package/packages/cloud/dist/billing/index.js +0 -9
- package/packages/cloud/dist/billing/plans.d.ts +0 -39
- package/packages/cloud/dist/billing/plans.js +0 -245
- package/packages/cloud/dist/billing/service.d.ts +0 -80
- package/packages/cloud/dist/billing/service.js +0 -388
- package/packages/cloud/dist/billing/types.d.ts +0 -141
- package/packages/cloud/dist/billing/types.js +0 -7
- package/packages/cloud/dist/config.d.ts +0 -5
- package/packages/cloud/dist/config.js +0 -5
- package/packages/cloud/dist/db/bulk-ingest.d.ts +0 -89
- package/packages/cloud/dist/db/bulk-ingest.js +0 -268
- package/packages/cloud/dist/db/drizzle.d.ts +0 -290
- package/packages/cloud/dist/db/drizzle.js +0 -1422
- package/packages/cloud/dist/db/index.d.ts +0 -56
- package/packages/cloud/dist/db/index.js +0 -70
- package/packages/cloud/dist/db/schema.d.ts +0 -5117
- package/packages/cloud/dist/db/schema.js +0 -656
- package/packages/cloud/dist/index.d.ts +0 -11
- package/packages/cloud/dist/index.js +0 -38
- package/packages/cloud/dist/provisioner/index.d.ts +0 -207
- package/packages/cloud/dist/provisioner/index.js +0 -2118
- package/packages/cloud/dist/server.d.ts +0 -17
- package/packages/cloud/dist/server.js +0 -2055
- package/packages/cloud/dist/services/auto-scaler.d.ts +0 -152
- package/packages/cloud/dist/services/auto-scaler.js +0 -439
- package/packages/cloud/dist/services/capacity-manager.d.ts +0 -148
- package/packages/cloud/dist/services/capacity-manager.js +0 -449
- package/packages/cloud/dist/services/ci-agent-spawner.d.ts +0 -49
- package/packages/cloud/dist/services/ci-agent-spawner.js +0 -373
- package/packages/cloud/dist/services/cloud-message-bus.d.ts +0 -28
- package/packages/cloud/dist/services/cloud-message-bus.js +0 -19
- package/packages/cloud/dist/services/compute-enforcement.d.ts +0 -57
- package/packages/cloud/dist/services/compute-enforcement.js +0 -175
- package/packages/cloud/dist/services/coordinator.d.ts +0 -62
- package/packages/cloud/dist/services/coordinator.js +0 -389
- package/packages/cloud/dist/services/index.d.ts +0 -17
- package/packages/cloud/dist/services/index.js +0 -25
- package/packages/cloud/dist/services/intro-expiration.d.ts +0 -60
- package/packages/cloud/dist/services/intro-expiration.js +0 -252
- package/packages/cloud/dist/services/mention-handler.d.ts +0 -65
- package/packages/cloud/dist/services/mention-handler.js +0 -405
- package/packages/cloud/dist/services/nango.d.ts +0 -219
- package/packages/cloud/dist/services/nango.js +0 -424
- package/packages/cloud/dist/services/persistence.d.ts +0 -131
- package/packages/cloud/dist/services/persistence.js +0 -200
- package/packages/cloud/dist/services/planLimits.d.ts +0 -147
- package/packages/cloud/dist/services/planLimits.js +0 -335
- package/packages/cloud/dist/services/presence-registry.d.ts +0 -56
- package/packages/cloud/dist/services/presence-registry.js +0 -91
- package/packages/cloud/dist/services/scaling-orchestrator.d.ts +0 -159
- package/packages/cloud/dist/services/scaling-orchestrator.js +0 -502
- package/packages/cloud/dist/services/scaling-policy.d.ts +0 -121
- package/packages/cloud/dist/services/scaling-policy.js +0 -415
- package/packages/cloud/dist/services/ssh-security.d.ts +0 -31
- package/packages/cloud/dist/services/ssh-security.js +0 -63
- package/packages/cloud/dist/services/workspace-keepalive.d.ts +0 -76
- package/packages/cloud/dist/services/workspace-keepalive.js +0 -234
- package/packages/cloud/dist/shims/consensus.d.ts +0 -23
- package/packages/cloud/dist/shims/consensus.js +0 -5
- package/packages/cloud/dist/webhooks/index.d.ts +0 -24
- package/packages/cloud/dist/webhooks/index.js +0 -29
- package/packages/cloud/dist/webhooks/parsers/github.d.ts +0 -8
- package/packages/cloud/dist/webhooks/parsers/github.js +0 -234
- package/packages/cloud/dist/webhooks/parsers/index.d.ts +0 -23
- package/packages/cloud/dist/webhooks/parsers/index.js +0 -30
- package/packages/cloud/dist/webhooks/parsers/linear.d.ts +0 -9
- package/packages/cloud/dist/webhooks/parsers/linear.js +0 -258
- package/packages/cloud/dist/webhooks/parsers/slack.d.ts +0 -9
- package/packages/cloud/dist/webhooks/parsers/slack.js +0 -214
- package/packages/cloud/dist/webhooks/responders/github.d.ts +0 -8
- package/packages/cloud/dist/webhooks/responders/github.js +0 -73
- package/packages/cloud/dist/webhooks/responders/index.d.ts +0 -23
- package/packages/cloud/dist/webhooks/responders/index.js +0 -30
- package/packages/cloud/dist/webhooks/responders/linear.d.ts +0 -9
- package/packages/cloud/dist/webhooks/responders/linear.js +0 -149
- package/packages/cloud/dist/webhooks/responders/slack.d.ts +0 -20
- package/packages/cloud/dist/webhooks/responders/slack.js +0 -178
- package/packages/cloud/dist/webhooks/router.d.ts +0 -25
- package/packages/cloud/dist/webhooks/router.js +0 -504
- package/packages/cloud/dist/webhooks/rules-engine.d.ts +0 -24
- package/packages/cloud/dist/webhooks/rules-engine.js +0 -287
- package/packages/cloud/dist/webhooks/types.d.ts +0 -186
- package/packages/cloud/dist/webhooks/types.js +0 -8
- package/packages/cloud/package.json +0 -60
- package/scripts/run-migrations.js +0 -43
- package/scripts/setup-stripe-products.ts +0 -312
- package/scripts/verify-schema.js +0 -134
package/dist/src/cli/index.js
CHANGED
|
@@ -26,12 +26,12 @@ import fs from 'node:fs';
|
|
|
26
26
|
import path from 'node:path';
|
|
27
27
|
import readline from 'node:readline';
|
|
28
28
|
import { promisify } from 'node:util';
|
|
29
|
-
import { exec } from 'node:child_process';
|
|
29
|
+
import { exec, spawn as spawnProcess } from 'node:child_process';
|
|
30
30
|
import { fileURLToPath } from 'node:url';
|
|
31
31
|
const RELAY_DASHBOARD_REPO = 'https://github.com/AgentWorkforce/relay-dashboard';
|
|
32
32
|
/**
|
|
33
33
|
* Prompt user to choose how to handle missing dashboard package.
|
|
34
|
-
* Returns: 'install' | 'skip'
|
|
34
|
+
* Returns: 'npx' | 'install' | 'skip'
|
|
35
35
|
*/
|
|
36
36
|
async function promptDashboardInstall() {
|
|
37
37
|
const rl = readline.createInterface({
|
|
@@ -39,17 +39,21 @@ async function promptDashboardInstall() {
|
|
|
39
39
|
output: process.stdout,
|
|
40
40
|
});
|
|
41
41
|
console.log(`
|
|
42
|
-
The web dashboard
|
|
42
|
+
The web dashboard requires @agent-relay/dashboard-server package.
|
|
43
43
|
|
|
44
44
|
How would you like to proceed?
|
|
45
|
-
1.
|
|
46
|
-
2.
|
|
45
|
+
1. Start with npx (recommended - auto-installs temporarily)
|
|
46
|
+
2. View installation instructions
|
|
47
|
+
3. Skip and continue without dashboard
|
|
47
48
|
`);
|
|
48
49
|
return new Promise((resolve) => {
|
|
49
|
-
rl.question('Choose [1/2]: ', (answer) => {
|
|
50
|
+
rl.question('Choose [1/2/3]: ', (answer) => {
|
|
50
51
|
rl.close();
|
|
51
52
|
const choice = answer.trim();
|
|
52
53
|
if (choice === '1') {
|
|
54
|
+
resolve('npx');
|
|
55
|
+
}
|
|
56
|
+
else if (choice === '2') {
|
|
53
57
|
resolve('install');
|
|
54
58
|
}
|
|
55
59
|
else {
|
|
@@ -59,25 +63,68 @@ How would you like to proceed?
|
|
|
59
63
|
});
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
|
-
* Show instructions for installing the external
|
|
66
|
+
* Show instructions for installing the external dashboard package.
|
|
63
67
|
*/
|
|
64
68
|
function showDashboardInstallInstructions() {
|
|
65
69
|
console.log(`
|
|
66
|
-
To install the
|
|
67
|
-
|
|
68
|
-
${RELAY_DASHBOARD_REPO}
|
|
70
|
+
To install the dashboard, run:
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
npm install @agent-relay/dashboard-server @agent-relay/dashboard
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
Then restart with:
|
|
73
75
|
|
|
74
|
-
|
|
76
|
+
agent-relay up --dashboard
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
See the repository README for full configuration options.
|
|
78
|
+
For more options, see: ${RELAY_DASHBOARD_REPO}
|
|
79
79
|
`);
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Start dashboard via npx (downloads and runs if not installed).
|
|
83
|
+
* Returns the spawned child process and port.
|
|
84
|
+
*/
|
|
85
|
+
function startDashboardViaNpx(options) {
|
|
86
|
+
console.log('Starting dashboard via npx (this may take a moment on first run)...');
|
|
87
|
+
const dashboardProcess = spawnProcess('npx', [
|
|
88
|
+
'--yes',
|
|
89
|
+
'@agent-relay/dashboard-server',
|
|
90
|
+
'--integrated',
|
|
91
|
+
'--port', String(options.port),
|
|
92
|
+
'--data-dir', options.dataDir,
|
|
93
|
+
'--team-dir', options.teamDir,
|
|
94
|
+
'--project-root', options.projectRoot,
|
|
95
|
+
], {
|
|
96
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
97
|
+
env: {
|
|
98
|
+
...process.env,
|
|
99
|
+
// Pass any additional env vars needed
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
// Forward dashboard output with prefix
|
|
103
|
+
dashboardProcess.stdout?.on('data', (data) => {
|
|
104
|
+
const lines = data.toString().split('\n').filter(Boolean);
|
|
105
|
+
for (const line of lines) {
|
|
106
|
+
// Don't duplicate the "Dashboard:" line
|
|
107
|
+
if (!line.includes('Dashboard:')) {
|
|
108
|
+
console.log(`[dashboard] ${line}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
dashboardProcess.stderr?.on('data', (data) => {
|
|
113
|
+
const lines = data.toString().split('\n').filter(Boolean);
|
|
114
|
+
for (const line of lines) {
|
|
115
|
+
console.error(`[dashboard] ${line}`);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
dashboardProcess.on('error', (err) => {
|
|
119
|
+
console.error('Failed to start dashboard via npx:', err.message);
|
|
120
|
+
});
|
|
121
|
+
dashboardProcess.on('exit', (code) => {
|
|
122
|
+
if (code !== 0 && code !== null) {
|
|
123
|
+
console.error(`Dashboard process exited with code ${code}`);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
return { process: dashboardProcess, port: options.port };
|
|
127
|
+
}
|
|
81
128
|
dotenvConfig();
|
|
82
129
|
const DEFAULT_DASHBOARD_PORT = process.env.AGENT_RELAY_DASHBOARD_PORT || '3888';
|
|
83
130
|
// Read version from package.json
|
|
@@ -488,7 +535,103 @@ program
|
|
|
488
535
|
try {
|
|
489
536
|
await daemon.start();
|
|
490
537
|
console.log('Daemon started.');
|
|
491
|
-
|
|
538
|
+
let dashboardPort = undefined;
|
|
539
|
+
// Try to start dashboard if --dashboard flag is set OR if package is available (auto-detect)
|
|
540
|
+
// --no-dashboard explicitly disables dashboard
|
|
541
|
+
const wantsDashboard = options.dashboard !== false;
|
|
542
|
+
const dashboardRequested = options.dashboard === true;
|
|
543
|
+
if (wantsDashboard) {
|
|
544
|
+
const port = parseInt(options.port, 10);
|
|
545
|
+
try {
|
|
546
|
+
// Dynamic import - works with both local packages and npm installed
|
|
547
|
+
// Use string variable to prevent TypeScript from requiring the module at compile time
|
|
548
|
+
const moduleName = '@agent-relay/dashboard-server';
|
|
549
|
+
const dashboardServer = await import(/* webpackIgnore: true */ moduleName);
|
|
550
|
+
const { startDashboard } = dashboardServer;
|
|
551
|
+
dashboardPort = await startDashboard({
|
|
552
|
+
port,
|
|
553
|
+
dataDir: paths.dataDir,
|
|
554
|
+
teamDir: paths.teamDir,
|
|
555
|
+
projectRoot: paths.projectRoot,
|
|
556
|
+
enableSpawner: true,
|
|
557
|
+
onMarkSpawning: (name) => daemon.markSpawning(name),
|
|
558
|
+
onClearSpawning: (name) => daemon.clearSpawning(name),
|
|
559
|
+
});
|
|
560
|
+
console.log(`Dashboard: http://localhost:${dashboardPort}`);
|
|
561
|
+
// Hook daemon log output to dashboard WebSocket broadcast
|
|
562
|
+
daemon.onLogOutput = (agentName, data) => {
|
|
563
|
+
const broadcast = global.__broadcastLogOutput;
|
|
564
|
+
if (broadcast) {
|
|
565
|
+
broadcast(agentName, data);
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
catch (err) {
|
|
570
|
+
if (err.code === 'ERR_MODULE_NOT_FOUND' || err.code === 'MODULE_NOT_FOUND') {
|
|
571
|
+
// Dashboard package not installed
|
|
572
|
+
if (dashboardRequested) {
|
|
573
|
+
// User explicitly asked for dashboard but it's not installed
|
|
574
|
+
// Only prompt interactively if stdin is a TTY (not in Docker/CI)
|
|
575
|
+
if (process.stdin.isTTY) {
|
|
576
|
+
console.log('');
|
|
577
|
+
const action = await promptDashboardInstall();
|
|
578
|
+
if (action === 'npx') {
|
|
579
|
+
// Start dashboard via npx
|
|
580
|
+
const { process: dashboardProcess, port: npxPort } = startDashboardViaNpx({
|
|
581
|
+
port,
|
|
582
|
+
dataDir: paths.dataDir,
|
|
583
|
+
teamDir: paths.teamDir,
|
|
584
|
+
projectRoot: paths.projectRoot,
|
|
585
|
+
});
|
|
586
|
+
dashboardPort = npxPort;
|
|
587
|
+
// Clean up dashboard process on exit
|
|
588
|
+
const cleanupDashboard = () => {
|
|
589
|
+
if (dashboardProcess && !dashboardProcess.killed) {
|
|
590
|
+
dashboardProcess.kill('SIGTERM');
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
process.on('SIGINT', cleanupDashboard);
|
|
594
|
+
process.on('SIGTERM', cleanupDashboard);
|
|
595
|
+
process.on('exit', cleanupDashboard);
|
|
596
|
+
// Wait a moment for dashboard to start
|
|
597
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
598
|
+
console.log(`Dashboard: http://localhost:${dashboardPort}`);
|
|
599
|
+
}
|
|
600
|
+
else if (action === 'install') {
|
|
601
|
+
showDashboardInstallInstructions();
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
else {
|
|
605
|
+
// Non-interactive: try npx automatically
|
|
606
|
+
console.log('Dashboard package not installed. Starting via npx...');
|
|
607
|
+
const { process: dashboardProcess, port: npxPort } = startDashboardViaNpx({
|
|
608
|
+
port,
|
|
609
|
+
dataDir: paths.dataDir,
|
|
610
|
+
teamDir: paths.teamDir,
|
|
611
|
+
projectRoot: paths.projectRoot,
|
|
612
|
+
});
|
|
613
|
+
dashboardPort = npxPort;
|
|
614
|
+
// Clean up dashboard process on exit
|
|
615
|
+
const cleanupDashboard = () => {
|
|
616
|
+
if (dashboardProcess && !dashboardProcess.killed) {
|
|
617
|
+
dashboardProcess.kill('SIGTERM');
|
|
618
|
+
}
|
|
619
|
+
};
|
|
620
|
+
process.on('SIGINT', cleanupDashboard);
|
|
621
|
+
process.on('SIGTERM', cleanupDashboard);
|
|
622
|
+
process.on('exit', cleanupDashboard);
|
|
623
|
+
// Wait a moment for dashboard to start
|
|
624
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
|
625
|
+
console.log(`Dashboard: http://localhost:${dashboardPort}`);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
// Silent if user didn't explicitly request dashboard
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
console.error('Failed to start dashboard:', err.message);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
492
635
|
// Determine if we should auto-spawn agents
|
|
493
636
|
// --spawn: force spawn
|
|
494
637
|
// --no-spawn: never spawn
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-relay",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Real-time agent-to-agent communication system",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"postinstall": "npm rebuild better-sqlite3 && node scripts/postinstall.js",
|
|
19
19
|
"build": "npm run clean && npm run build:rust && turbo run build --filter='./packages/*' && tsc",
|
|
20
|
-
"build:sequential": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:
|
|
21
|
-
"build:workspace": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:
|
|
20
|
+
"build:sequential": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:daemon && npm run build:sdk && npm run build:api-types && npm run build:spawner && tsc",
|
|
21
|
+
"build:workspace": "npm run clean && npm run build:rust && npm run build:protocol && npm run build:config && npm run build:storage && npm run build:state && npm run build:policy && npm run build:trajectory && npm run build:hooks && npm run build:memory && npm run build:utils && npm run build:continuity && npm run build:resiliency && npm run build:user-directory && npm run build:wrapper && npm run build:mcp && npm run build:bridge && npm run build:telemetry && npm run build:daemon && npm run build:sdk && npm run build:api-types && npm run build:spawner && tsc",
|
|
22
22
|
"build:packages": "turbo run build --filter='./packages/*'",
|
|
23
23
|
"build:packages:watch": "turbo run build --filter='./packages/*' --watch",
|
|
24
24
|
"build:mcp": "cd packages/mcp && npm run build",
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"build:resiliency": "cd packages/resiliency && npm run build",
|
|
37
37
|
"build:user-directory": "cd packages/user-directory && npm run build",
|
|
38
38
|
"build:wrapper": "cd packages/wrapper && npm run build",
|
|
39
|
-
"build:cloud": "cd packages/cloud && npm run build",
|
|
40
39
|
"build:daemon": "cd packages/daemon && npm run build",
|
|
41
40
|
"build:sdk": "cd packages/sdk && npm run build",
|
|
42
41
|
"build:api-types": "cd packages/api-types && npm run build",
|
|
@@ -54,30 +53,11 @@
|
|
|
54
53
|
"daemon": "node packages/daemon/dist/server.js",
|
|
55
54
|
"pretest": "npm run build",
|
|
56
55
|
"test": "vitest run",
|
|
57
|
-
"test:integration": "vitest run test/cloud/*.integration.test.ts",
|
|
58
|
-
"test:qa": "./scripts/run-cloud-qa.sh",
|
|
59
|
-
"qa": "./scripts/manual-qa.sh",
|
|
60
|
-
"qa:stop": "./scripts/manual-qa.sh --stop",
|
|
61
56
|
"pretest:coverage": "npm run build",
|
|
62
57
|
"test:coverage": "vitest run --coverage",
|
|
63
58
|
"test:watch": "vitest",
|
|
64
59
|
"lint": "eslint src --ext .ts",
|
|
65
60
|
"clean": "rm -rf dist && find packages -maxdepth 2 -name dist -type d -exec rm -rf {} + 2>/dev/null || true",
|
|
66
|
-
"db:generate": "drizzle-kit generate",
|
|
67
|
-
"db:migrate": "drizzle-kit migrate",
|
|
68
|
-
"db:migrate:run": "node scripts/run-migrations.js",
|
|
69
|
-
"db:migrate:verify": "node scripts/verify-schema.js",
|
|
70
|
-
"db:push": "drizzle-kit push",
|
|
71
|
-
"db:studio": "drizzle-kit studio",
|
|
72
|
-
"stripe:setup": "npx tsx scripts/setup-stripe-products.ts",
|
|
73
|
-
"stripe:setup:dry": "npx tsx scripts/setup-stripe-products.ts --dry-run",
|
|
74
|
-
"services:up": "docker compose -f docker-compose.dev.yml up -d postgres redis && echo '✓ Postgres and Redis running'",
|
|
75
|
-
"services:down": "docker compose -f docker-compose.dev.yml down",
|
|
76
|
-
"services:logs": "docker compose -f docker-compose.dev.yml logs -f postgres redis",
|
|
77
|
-
"cloud:setup": "./scripts/cloud-setup.sh",
|
|
78
|
-
"cloud:api": "WORKSPACE_IMAGE=relay-workspace:local WORKSPACE_DEV_MOUNT=true node -r dotenv/config packages/cloud/dist/index.js",
|
|
79
|
-
"precloud": "./scripts/cloud-setup.sh --skip-data",
|
|
80
|
-
"cloud": "npm run cloud:api",
|
|
81
61
|
"docs:dev": "cd docs && npm run dev",
|
|
82
62
|
"cli-tester:start": "cd packages/cli-tester && ./scripts/start.sh",
|
|
83
63
|
"cli-tester:start:clean": "cd packages/cli-tester && ./scripts/start.sh --clean",
|
|
@@ -107,41 +87,31 @@
|
|
|
107
87
|
},
|
|
108
88
|
"homepage": "https://github.com/AgentWorkforce/relay#readme",
|
|
109
89
|
"dependencies": {
|
|
110
|
-
"@agent-relay/bridge": "2.0.
|
|
111
|
-
"@agent-relay/config": "2.0.
|
|
112
|
-
"@agent-relay/continuity": "2.0.
|
|
113
|
-
"@agent-relay/daemon": "2.0.
|
|
114
|
-
"@agent-relay/hooks": "2.0.
|
|
115
|
-
"@agent-relay/mcp": "2.0.
|
|
116
|
-
"@agent-relay/protocol": "2.0.
|
|
117
|
-
"@agent-relay/resiliency": "2.0.
|
|
118
|
-
"@agent-relay/sdk": "2.0.
|
|
119
|
-
"@agent-relay/storage": "2.0.
|
|
120
|
-
"@agent-relay/telemetry": "2.0.
|
|
121
|
-
"@agent-relay/trajectory": "2.0.
|
|
122
|
-
"@agent-relay/user-directory": "2.0.
|
|
123
|
-
"@agent-relay/utils": "2.0.
|
|
124
|
-
"@agent-relay/wrapper": "2.0.
|
|
125
|
-
"@nangohq/node": "^0.69.20",
|
|
126
|
-
"@types/jsonwebtoken": "^9.0.10",
|
|
90
|
+
"@agent-relay/bridge": "2.0.25",
|
|
91
|
+
"@agent-relay/config": "2.0.25",
|
|
92
|
+
"@agent-relay/continuity": "2.0.25",
|
|
93
|
+
"@agent-relay/daemon": "2.0.25",
|
|
94
|
+
"@agent-relay/hooks": "2.0.25",
|
|
95
|
+
"@agent-relay/mcp": "2.0.25",
|
|
96
|
+
"@agent-relay/protocol": "2.0.25",
|
|
97
|
+
"@agent-relay/resiliency": "2.0.25",
|
|
98
|
+
"@agent-relay/sdk": "2.0.25",
|
|
99
|
+
"@agent-relay/storage": "2.0.25",
|
|
100
|
+
"@agent-relay/telemetry": "2.0.25",
|
|
101
|
+
"@agent-relay/trajectory": "2.0.25",
|
|
102
|
+
"@agent-relay/user-directory": "2.0.25",
|
|
103
|
+
"@agent-relay/utils": "2.0.25",
|
|
104
|
+
"@agent-relay/wrapper": "2.0.25",
|
|
127
105
|
"agent-trajectories": "^0.2.3",
|
|
128
106
|
"better-sqlite3": "^12.6.2",
|
|
129
107
|
"chokidar": "^5.0.0",
|
|
130
108
|
"commander": "^12.1.0",
|
|
131
109
|
"compare-versions": "^6.1.1",
|
|
132
|
-
"connect-redis": "^9.0.0",
|
|
133
110
|
"cors": "^2.8.5",
|
|
134
111
|
"dotenv": "^17.2.3",
|
|
135
|
-
"drizzle-orm": "^0.45.1",
|
|
136
112
|
"express": "^5.2.1",
|
|
137
|
-
"express-session": "^1.18.2",
|
|
138
|
-
"helmet": "^8.1.0",
|
|
139
113
|
"http-proxy-middleware": "^3.0.5",
|
|
140
|
-
"jsonwebtoken": "^9.0.3",
|
|
141
|
-
"pg": "^8.16.3",
|
|
142
|
-
"redis": "^5.10.0",
|
|
143
114
|
"ssh2": "^1.17.0",
|
|
144
|
-
"stripe": "^20.1.0",
|
|
145
115
|
"uuid": "^10.0.0",
|
|
146
116
|
"ws": "^8.18.3"
|
|
147
117
|
},
|
|
@@ -152,10 +122,7 @@
|
|
|
152
122
|
"@types/better-sqlite3": "^7.6.13",
|
|
153
123
|
"@types/cors": "^2.8.19",
|
|
154
124
|
"@types/express": "^5.0.6",
|
|
155
|
-
"@types/express-session": "^1.18.2",
|
|
156
|
-
"@types/helmet": "^0.0.48",
|
|
157
125
|
"@types/node": "^22.19.3",
|
|
158
|
-
"@types/pg": "^8.16.0",
|
|
159
126
|
"@types/ssh2": "^1.15.5",
|
|
160
127
|
"@types/uuid": "^10.0.0",
|
|
161
128
|
"@types/ws": "^8.18.1",
|
|
@@ -163,7 +130,6 @@
|
|
|
163
130
|
"@typescript-eslint/parser": "^8.18.2",
|
|
164
131
|
"@vitest/coverage-v8": "^2.1.8",
|
|
165
132
|
"concurrently": "^9.2.1",
|
|
166
|
-
"drizzle-kit": "^0.31.8",
|
|
167
133
|
"esbuild": "^0.27.2",
|
|
168
134
|
"eslint": "^8.57.1",
|
|
169
135
|
"jsdom": "^25.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/bridge",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Multi-project bridge client utilities for Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/protocol": "2.0.
|
|
26
|
-
"@agent-relay/config": "2.0.
|
|
27
|
-
"@agent-relay/utils": "2.0.
|
|
28
|
-
"@agent-relay/policy": "2.0.
|
|
29
|
-
"@agent-relay/user-directory": "2.0.
|
|
30
|
-
"@agent-relay/wrapper": "2.0.
|
|
31
|
-
"@agent-relay/mcp": "2.0.
|
|
25
|
+
"@agent-relay/protocol": "2.0.25",
|
|
26
|
+
"@agent-relay/config": "2.0.25",
|
|
27
|
+
"@agent-relay/utils": "2.0.25",
|
|
28
|
+
"@agent-relay/policy": "2.0.25",
|
|
29
|
+
"@agent-relay/user-directory": "2.0.25",
|
|
30
|
+
"@agent-relay/wrapper": "2.0.25",
|
|
31
|
+
"@agent-relay/mcp": "2.0.25"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/config",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Shared configuration schemas and loaders for Agent Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"test:watch": "vitest"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
|
-
"@agent-relay/protocol": "2.0.
|
|
86
|
+
"@agent-relay/protocol": "2.0.25",
|
|
87
87
|
"zod": "^3.23.8",
|
|
88
88
|
"zod-to-json-schema": "^3.23.1"
|
|
89
89
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/daemon",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Relay daemon server - agent coordination and message routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/protocol": "2.0.
|
|
26
|
-
"@agent-relay/config": "2.0.
|
|
27
|
-
"@agent-relay/storage": "2.0.
|
|
28
|
-
"@agent-relay/bridge": "2.0.
|
|
29
|
-
"@agent-relay/utils": "2.0.
|
|
30
|
-
"@agent-relay/policy": "2.0.
|
|
31
|
-
"@agent-relay/memory": "2.0.
|
|
32
|
-
"@agent-relay/resiliency": "2.0.
|
|
33
|
-
"@agent-relay/user-directory": "2.0.
|
|
34
|
-
"@agent-relay/wrapper": "2.0.
|
|
35
|
-
"@agent-relay/telemetry": "2.0.
|
|
25
|
+
"@agent-relay/protocol": "2.0.25",
|
|
26
|
+
"@agent-relay/config": "2.0.25",
|
|
27
|
+
"@agent-relay/storage": "2.0.25",
|
|
28
|
+
"@agent-relay/bridge": "2.0.25",
|
|
29
|
+
"@agent-relay/utils": "2.0.25",
|
|
30
|
+
"@agent-relay/policy": "2.0.25",
|
|
31
|
+
"@agent-relay/memory": "2.0.25",
|
|
32
|
+
"@agent-relay/resiliency": "2.0.25",
|
|
33
|
+
"@agent-relay/user-directory": "2.0.25",
|
|
34
|
+
"@agent-relay/wrapper": "2.0.25",
|
|
35
|
+
"@agent-relay/telemetry": "2.0.25",
|
|
36
36
|
"ws": "^8.18.3",
|
|
37
37
|
"better-sqlite3": "^12.6.2",
|
|
38
38
|
"pg": "^8.16.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/hooks",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
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/protocol": "2.0.
|
|
41
|
-
"@agent-relay/config": "2.0.
|
|
42
|
-
"@agent-relay/trajectory": "2.0.
|
|
40
|
+
"@agent-relay/protocol": "2.0.25",
|
|
41
|
+
"@agent-relay/config": "2.0.25",
|
|
42
|
+
"@agent-relay/trajectory": "2.0.25"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/mcp",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "MCP server for Agent Relay - native messaging tools for AI agents in Claude, Cursor, and VS Code",
|
|
5
5
|
"author": "Agent Workforce Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"prepublishOnly": "npm run clean && npm run build && npm test"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@agent-relay/config": "2.0.
|
|
50
|
+
"@agent-relay/config": "2.0.25",
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
52
52
|
"smol-toml": "^1.6.0",
|
|
53
53
|
"zod": "^3.23.8"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/memory",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
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": "2.0.
|
|
25
|
+
"@agent-relay/hooks": "2.0.25"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/policy",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Agent policy management with multi-level fallback (repo, local PRPM, cloud workspace)",
|
|
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": "2.0.
|
|
25
|
+
"@agent-relay/config": "2.0.25"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Lightweight SDK for agent-to-agent communication via Agent Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@agent-relay/protocol": "2.0.
|
|
58
|
+
"@agent-relay/protocol": "2.0.25"
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|
|
61
61
|
"node": ">=18.0.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/storage",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
4
4
|
"description": "Storage adapters and interfaces for Relay message/session persistence",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@agent-relay/protocol": "2.0.
|
|
59
|
+
"@agent-relay/protocol": "2.0.25"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/trajectory",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.25",
|
|
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": "2.0.
|
|
25
|
+
"@agent-relay/config": "2.0.25"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|