macro-agent 0.0.6 → 0.0.8
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/.claude/settings.local.json +2 -1
- package/README.md +67 -57
- package/dist/acp/index.d.ts +3 -3
- package/dist/acp/index.js +1 -1
- package/dist/acp/index.js.map +1 -1
- package/dist/cli/acp.d.ts +22 -20
- package/dist/cli/acp.d.ts.map +1 -1
- package/dist/cli/acp.js +134 -44
- package/dist/cli/acp.js.map +1 -1
- package/dist/cli/index.d.ts +5 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +6 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/map/adapter/acp-over-map.d.ts +77 -0
- package/dist/map/adapter/acp-over-map.d.ts.map +1 -0
- package/dist/map/adapter/acp-over-map.js +372 -0
- package/dist/map/adapter/acp-over-map.js.map +1 -0
- package/dist/map/adapter/index.d.ts +1 -0
- package/dist/map/adapter/index.d.ts.map +1 -1
- package/dist/map/adapter/index.js +2 -0
- package/dist/map/adapter/index.js.map +1 -1
- package/dist/map/adapter/interface.d.ts +22 -0
- package/dist/map/adapter/interface.d.ts.map +1 -1
- package/dist/map/adapter/map-adapter.d.ts +25 -1
- package/dist/map/adapter/map-adapter.d.ts.map +1 -1
- package/dist/map/adapter/map-adapter.js +147 -21
- package/dist/map/adapter/map-adapter.js.map +1 -1
- package/dist/map/adapter/rpc-handler.d.ts.map +1 -1
- package/dist/map/adapter/rpc-handler.js +4 -0
- package/dist/map/adapter/rpc-handler.js.map +1 -1
- package/dist/map/adapter/subscription-manager.js.map +1 -1
- package/dist/server/combined-server.d.ts.map +1 -1
- package/dist/server/combined-server.js +8 -1
- package/dist/server/combined-server.js.map +1 -1
- package/dist/store/event-store.js +7 -1
- package/dist/store/event-store.js.map +1 -1
- package/docs/configuration.md +27 -18
- package/docs/sudocode-integration.md +1 -1
- package/docs/troubleshooting.md +3 -3
- package/package.json +4 -4
- package/src/acp/index.ts +4 -4
- package/src/cli/__tests__/acp.test.ts +48 -40
- package/src/cli/acp.ts +149 -55
- package/src/cli/index.ts +6 -2
- package/src/map/adapter/acp-over-map.ts +516 -0
- package/src/map/adapter/index.ts +8 -0
- package/src/map/adapter/interface.ts +30 -6
- package/src/map/adapter/map-adapter.ts +325 -76
- package/src/map/adapter/rpc-handler.ts +4 -0
- package/src/map/adapter/subscription-manager.ts +10 -10
- package/src/server/combined-server.ts +8 -1
- package/src/store/event-store.ts +8 -2
- package/src/trigger/__tests__/wake-manager.test.ts +26 -9
package/README.md
CHANGED
|
@@ -25,8 +25,8 @@ macro-agent can integrate with [sudocode](https://github.com/sudocode-ai/sudocod
|
|
|
25
25
|
export MACRO_TASK_BACKEND=sudocode
|
|
26
26
|
export SUDOCODE_PROJECT_PATH=/path/to/project
|
|
27
27
|
|
|
28
|
-
# Start macro-agent
|
|
29
|
-
npx multiagent
|
|
28
|
+
# Start macro-agent server (full mode with ACP + MAP + REST)
|
|
29
|
+
npx multiagent
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
With sudocode enabled:
|
|
@@ -45,26 +45,33 @@ npm install macro-agent
|
|
|
45
45
|
|
|
46
46
|
## Quick Start
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### Server Mode (Default)
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
# Start
|
|
52
|
-
npx multiagent
|
|
51
|
+
# Start full server with ACP + MAP + REST API
|
|
52
|
+
npx multiagent
|
|
53
53
|
|
|
54
|
+
# Custom port and host
|
|
55
|
+
npx multiagent --port 8080 --host 0.0.0.0
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### CLI Tools
|
|
59
|
+
|
|
60
|
+
```bash
|
|
54
61
|
# Start interactive chat
|
|
55
|
-
npx multiagent chat
|
|
62
|
+
npx multiagent-cli chat
|
|
56
63
|
|
|
57
64
|
# Check system status
|
|
58
|
-
npx multiagent status
|
|
65
|
+
npx multiagent-cli status
|
|
59
66
|
|
|
60
67
|
# View agent hierarchy
|
|
61
|
-
npx multiagent hierarchy
|
|
68
|
+
npx multiagent-cli hierarchy
|
|
62
69
|
|
|
63
70
|
# List all agents
|
|
64
|
-
npx multiagent agents
|
|
71
|
+
npx multiagent-cli agents
|
|
65
72
|
|
|
66
73
|
# List all tasks
|
|
67
|
-
npx multiagent tasks
|
|
74
|
+
npx multiagent-cli tasks
|
|
68
75
|
```
|
|
69
76
|
|
|
70
77
|
### Programmatic Usage
|
|
@@ -243,43 +250,36 @@ Fallback chain: `inject()` → `interruptWith()` → high-priority message
|
|
|
243
250
|
| `inject_context` | Inject context into another agent |
|
|
244
251
|
| `wait_for_activity` | Wait for system events (Monitor) |
|
|
245
252
|
|
|
246
|
-
##
|
|
253
|
+
## Server Mode (ACP + MAP)
|
|
247
254
|
|
|
248
|
-
macro-agent
|
|
255
|
+
macro-agent runs as an ACP-compliant agent server with MAP (Multi-Agent Protocol) support, enabling external systems to spawn and control agents programmatically.
|
|
249
256
|
|
|
250
|
-
###
|
|
257
|
+
### Full Server Mode (Default)
|
|
251
258
|
|
|
252
259
|
```bash
|
|
253
|
-
#
|
|
254
|
-
npx multiagent
|
|
255
|
-
```
|
|
260
|
+
# Start combined server with all protocols
|
|
261
|
+
npx multiagent
|
|
256
262
|
|
|
257
|
-
|
|
263
|
+
# Custom configuration
|
|
264
|
+
npx multiagent --port 8080 --host 0.0.0.0 --cwd /path/to/project
|
|
265
|
+
```
|
|
258
266
|
|
|
259
|
-
|
|
267
|
+
### Stdio ACP (Embedded Use)
|
|
260
268
|
|
|
261
269
|
```bash
|
|
262
|
-
#
|
|
263
|
-
npx multiagent
|
|
264
|
-
|
|
265
|
-
# WebSocket + HTTP API together
|
|
266
|
-
npx multiagent-acp --ws --ws-port 3001 --api --port 3000
|
|
267
|
-
|
|
268
|
-
# All transports: stdio + WebSocket + HTTP API
|
|
269
|
-
npx multiagent-acp --ws --ws-port 3001 --api --port 3000
|
|
270
|
+
# Run as stdio ACP server (for spawning via acp-factory)
|
|
271
|
+
npx multiagent --acp
|
|
272
|
+
npx multiagent --acp --cwd /path/to/project
|
|
270
273
|
```
|
|
271
274
|
|
|
272
|
-
###
|
|
275
|
+
### Server Options
|
|
273
276
|
|
|
274
277
|
| Option | Description |
|
|
275
278
|
|--------|-------------|
|
|
279
|
+
| `--port <port>` | Server port (default: 3001) |
|
|
280
|
+
| `--host <host>` | Server host (default: localhost) |
|
|
276
281
|
| `--cwd <path>` | Working directory for agents |
|
|
277
|
-
| `--
|
|
278
|
-
| `--ws-port <port>` | WebSocket port (default: 3001) |
|
|
279
|
-
| `--ws-host <host>` | WebSocket host (default: localhost) |
|
|
280
|
-
| `--api` | Enable HTTP API server |
|
|
281
|
-
| `--port <port>` | HTTP API port (auto-discovers if not specified) |
|
|
282
|
-
| `--host <host>` | HTTP API host (default: localhost) |
|
|
282
|
+
| `--acp` | Stdio ACP-only mode (for embedded use with acp-factory) |
|
|
283
283
|
|
|
284
284
|
### Multi-Client Architecture
|
|
285
285
|
|
|
@@ -316,55 +316,65 @@ Each client can:
|
|
|
316
316
|
- Send prompts to their mounted agents
|
|
317
317
|
- See agents spawned by other clients
|
|
318
318
|
|
|
319
|
-
### Programmatic
|
|
319
|
+
### Programmatic Usage
|
|
320
320
|
|
|
321
321
|
```typescript
|
|
322
322
|
import { registerMacroAgent } from 'macro-agent';
|
|
323
323
|
import { AgentFactory } from 'acp-factory';
|
|
324
324
|
|
|
325
|
-
// Register macro-agent with acp-factory
|
|
325
|
+
// Register macro-agent with acp-factory (uses --acp flag for stdio mode)
|
|
326
326
|
registerMacroAgent();
|
|
327
327
|
|
|
328
|
-
// Spawn via ACP
|
|
328
|
+
// Spawn via ACP (stdio mode)
|
|
329
329
|
const handle = await AgentFactory.spawn('macro-agent', {
|
|
330
330
|
permissionMode: 'auto-approve',
|
|
331
331
|
});
|
|
332
332
|
|
|
333
|
-
// Or connect to
|
|
334
|
-
const
|
|
335
|
-
|
|
333
|
+
// Or connect to server mode (default when running `multiagent`)
|
|
334
|
+
const acpWs = new WebSocket('ws://localhost:3001/acp'); // ACP protocol
|
|
335
|
+
const mapWs = new WebSocket('ws://localhost:3001/map'); // MAP protocol
|
|
336
336
|
```
|
|
337
337
|
|
|
338
338
|
## CLI Commands
|
|
339
339
|
|
|
340
|
+
### multiagent (Server)
|
|
341
|
+
|
|
340
342
|
```
|
|
341
|
-
multiagent
|
|
342
|
-
|
|
343
|
-
|
|
343
|
+
multiagent [options] Start the agent server (full mode by default)
|
|
344
|
+
--port <port> Port (default: 3001)
|
|
345
|
+
--host <host> Host (default: localhost)
|
|
344
346
|
--cwd <path> Working directory
|
|
347
|
+
--acp Stdio ACP-only mode (for acp-factory)
|
|
348
|
+
```
|
|
345
349
|
|
|
346
|
-
|
|
350
|
+
Server endpoints (default mode):
|
|
351
|
+
- `ws://host:port/acp` - ACP protocol (WebSocket)
|
|
352
|
+
- `ws://host:port/map` - MAP protocol (WebSocket)
|
|
353
|
+
- `ws://host:port/api/ws` - Real-time subscriptions
|
|
354
|
+
- `http://host:port/api/*` - REST API
|
|
355
|
+
- `http://host:port/health` - Health check
|
|
347
356
|
|
|
348
|
-
multiagent
|
|
357
|
+
### multiagent-cli (Management Tools)
|
|
349
358
|
|
|
350
|
-
|
|
359
|
+
```
|
|
360
|
+
multiagent-cli start [options] Start REST-only server (legacy)
|
|
361
|
+
-p, --port <port> Port (default: 3000)
|
|
362
|
+
-h, --host <host> Host (default: localhost)
|
|
363
|
+
--cwd <path> Working directory
|
|
351
364
|
|
|
352
|
-
multiagent
|
|
365
|
+
multiagent-cli chat Interactive chat mode
|
|
353
366
|
|
|
354
|
-
multiagent
|
|
367
|
+
multiagent-cli status Show system status
|
|
355
368
|
|
|
356
|
-
multiagent
|
|
369
|
+
multiagent-cli agents [id] List agents or show details
|
|
357
370
|
|
|
358
|
-
multiagent
|
|
371
|
+
multiagent-cli tasks [id] List tasks or show details
|
|
359
372
|
|
|
360
|
-
multiagent-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
--api Enable HTTP API server
|
|
366
|
-
--port <port> HTTP API port (auto-discovers)
|
|
367
|
-
--host <host> HTTP API host (default: localhost)
|
|
373
|
+
multiagent-cli hierarchy [root] Show agent hierarchy tree
|
|
374
|
+
|
|
375
|
+
multiagent-cli stop [agentId] Stop agent(s)
|
|
376
|
+
|
|
377
|
+
multiagent-cli clear Reset the system
|
|
368
378
|
```
|
|
369
379
|
|
|
370
380
|
## Development
|
package/dist/acp/index.d.ts
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export interface RegisterOptions {
|
|
8
8
|
/**
|
|
9
|
-
* Custom command to run macro-agent ACP
|
|
10
|
-
* Defaults to "npx" with args ["multiagent
|
|
9
|
+
* Custom command to run macro-agent in ACP mode.
|
|
10
|
+
* Defaults to "npx" with args ["multiagent", "--acp"]
|
|
11
11
|
*/
|
|
12
12
|
command?: string;
|
|
13
13
|
/**
|
|
14
14
|
* Custom arguments for the command.
|
|
15
|
-
* Defaults to ["multiagent
|
|
15
|
+
* Defaults to ["multiagent", "--acp"]
|
|
16
16
|
*/
|
|
17
17
|
args?: string[];
|
|
18
18
|
/**
|
package/dist/acp/index.js
CHANGED
|
@@ -33,7 +33,7 @@ import { AgentFactory } from "acp-factory";
|
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
35
|
export function registerMacroAgent(options = {}) {
|
|
36
|
-
const { command = "npx", args = ["multiagent
|
|
36
|
+
const { command = "npx", args = ["multiagent", "--acp"], env, } = options;
|
|
37
37
|
AgentFactory.register("macro-agent", {
|
|
38
38
|
command,
|
|
39
39
|
args,
|
package/dist/acp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB3C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,MAAM,EACJ,OAAO,GAAG,KAAK,EACf,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB3C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,MAAM,EACJ,OAAO,GAAG,KAAK,EACf,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,EAC9B,GAAG,GACJ,GAAG,OAAO,CAAC;IAEZ,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE;QACnC,OAAO;QACP,IAAI;QACJ,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AAkCD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,kDAAkD;AAClD,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAErE,kDAAkD;AAClD,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,gDAAgD;AAChD,OAAO,EACL,wBAAwB,GAIzB,MAAM,uBAAuB,CAAC"}
|
package/dist/cli/acp.d.ts
CHANGED
|
@@ -1,48 +1,50 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Multi-Agent Server Entry Point
|
|
4
4
|
*
|
|
5
|
-
* Runs macro-agent as
|
|
6
|
-
*
|
|
5
|
+
* Runs macro-agent as a full server with ACP + MAP + REST support.
|
|
6
|
+
* This is the primary entry point for running macro-agent.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* multiagent
|
|
9
|
+
* multiagent [options]
|
|
10
10
|
*
|
|
11
11
|
* Options:
|
|
12
12
|
* --cwd <path> Working directory for agents
|
|
13
|
-
* --
|
|
14
|
-
* --
|
|
15
|
-
* --
|
|
13
|
+
* --port <port> Port for server (default: 3001)
|
|
14
|
+
* --host <host> Host for server (default: localhost)
|
|
15
|
+
* --acp Stdio ACP-only mode (for embedded use with acp-factory)
|
|
16
16
|
*
|
|
17
17
|
* Examples:
|
|
18
|
-
* #
|
|
19
|
-
* multiagent
|
|
18
|
+
* # Full server mode (default): WebSocket ACP + MAP + REST API
|
|
19
|
+
* multiagent
|
|
20
|
+
* multiagent --port 8080
|
|
21
|
+
* multiagent --host 0.0.0.0 --port 3001
|
|
20
22
|
*
|
|
21
|
-
* #
|
|
22
|
-
* multiagent
|
|
23
|
-
* multiagent
|
|
24
|
-
* multiagent-acp --api --host 0.0.0.0 --port 3001
|
|
23
|
+
* # Stdio ACP-only mode (for spawning via acp-factory)
|
|
24
|
+
* multiagent --acp
|
|
25
|
+
* multiagent --acp --cwd /path/to/project
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
+
* Server endpoints (default mode):
|
|
27
28
|
* ws://host:port/acp - ACP protocol (WebSocket)
|
|
29
|
+
* ws://host:port/map - MAP protocol (WebSocket)
|
|
28
30
|
* ws://host:port/api/ws - Real-time subscriptions (WebSocket)
|
|
29
31
|
* http://host:port/api/* - REST API endpoints
|
|
30
32
|
* http://host:port/health - Health check
|
|
31
33
|
*
|
|
32
|
-
*
|
|
34
|
+
* For embedded use with acp-factory:
|
|
33
35
|
* AgentFactory.register('macro-agent', {
|
|
34
36
|
* command: 'npx',
|
|
35
|
-
* args: ['multiagent
|
|
37
|
+
* args: ['multiagent', '--acp'],
|
|
36
38
|
* });
|
|
37
39
|
*/
|
|
38
40
|
export interface ACPServerOptions {
|
|
39
41
|
/** Working directory for agents */
|
|
40
42
|
cwd?: string;
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
/** Port for
|
|
43
|
+
/** Stdio ACP-only mode (for embedded use with acp-factory) */
|
|
44
|
+
acp?: boolean;
|
|
45
|
+
/** Port for server (default: 3001) */
|
|
44
46
|
port?: number;
|
|
45
|
-
/** Host for
|
|
47
|
+
/** Host for server (default: localhost) */
|
|
46
48
|
host?: string;
|
|
47
49
|
}
|
|
48
50
|
/**
|
package/dist/cli/acp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/cli/acp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../src/cli/acp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAoCH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAyB3D"}
|
package/dist/cli/acp.js
CHANGED
|
@@ -1,41 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Multi-Agent Server Entry Point
|
|
4
4
|
*
|
|
5
|
-
* Runs macro-agent as
|
|
6
|
-
*
|
|
5
|
+
* Runs macro-agent as a full server with ACP + MAP + REST support.
|
|
6
|
+
* This is the primary entry point for running macro-agent.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* multiagent
|
|
9
|
+
* multiagent [options]
|
|
10
10
|
*
|
|
11
11
|
* Options:
|
|
12
12
|
* --cwd <path> Working directory for agents
|
|
13
|
-
* --
|
|
14
|
-
* --
|
|
15
|
-
* --
|
|
13
|
+
* --port <port> Port for server (default: 3001)
|
|
14
|
+
* --host <host> Host for server (default: localhost)
|
|
15
|
+
* --acp Stdio ACP-only mode (for embedded use with acp-factory)
|
|
16
16
|
*
|
|
17
17
|
* Examples:
|
|
18
|
-
* #
|
|
19
|
-
* multiagent
|
|
18
|
+
* # Full server mode (default): WebSocket ACP + MAP + REST API
|
|
19
|
+
* multiagent
|
|
20
|
+
* multiagent --port 8080
|
|
21
|
+
* multiagent --host 0.0.0.0 --port 3001
|
|
20
22
|
*
|
|
21
|
-
* #
|
|
22
|
-
* multiagent
|
|
23
|
-
* multiagent
|
|
24
|
-
* multiagent-acp --api --host 0.0.0.0 --port 3001
|
|
23
|
+
* # Stdio ACP-only mode (for spawning via acp-factory)
|
|
24
|
+
* multiagent --acp
|
|
25
|
+
* multiagent --acp --cwd /path/to/project
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
+
* Server endpoints (default mode):
|
|
27
28
|
* ws://host:port/acp - ACP protocol (WebSocket)
|
|
29
|
+
* ws://host:port/map - MAP protocol (WebSocket)
|
|
28
30
|
* ws://host:port/api/ws - Real-time subscriptions (WebSocket)
|
|
29
31
|
* http://host:port/api/* - REST API endpoints
|
|
30
32
|
* http://host:port/health - Health check
|
|
31
33
|
*
|
|
32
|
-
*
|
|
34
|
+
* For embedded use with acp-factory:
|
|
33
35
|
* AgentFactory.register('macro-agent', {
|
|
34
36
|
* command: 'npx',
|
|
35
|
-
* args: ['multiagent
|
|
37
|
+
* args: ['multiagent', '--acp'],
|
|
36
38
|
* });
|
|
37
39
|
*/
|
|
40
|
+
import { readFileSync } from "node:fs";
|
|
41
|
+
import { dirname, join } from "node:path";
|
|
38
42
|
import { Readable } from "node:stream";
|
|
43
|
+
import { fileURLToPath } from "node:url";
|
|
39
44
|
import { AgentSideConnection, ndJsonStream, } from "@agentclientprotocol/sdk";
|
|
40
45
|
import { createEventStore } from "../store/event-store.js";
|
|
41
46
|
import { createAgentManager } from "../agent/agent-manager.js";
|
|
@@ -53,12 +58,18 @@ export function parseArgs(argv) {
|
|
|
53
58
|
const args = argv ?? process.argv.slice(2);
|
|
54
59
|
const options = {};
|
|
55
60
|
for (let i = 0; i < args.length; i++) {
|
|
56
|
-
if (args[i] === "--
|
|
61
|
+
if (args[i] === "--version" || args[i] === "-v") {
|
|
62
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
63
|
+
const pkg = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf-8"));
|
|
64
|
+
console.log(pkg.version);
|
|
65
|
+
process.exit(0);
|
|
66
|
+
}
|
|
67
|
+
else if (args[i] === "--cwd" && args[i + 1]) {
|
|
57
68
|
options.cwd = args[i + 1];
|
|
58
69
|
i++;
|
|
59
70
|
}
|
|
60
|
-
else if (args[i] === "--
|
|
61
|
-
options.
|
|
71
|
+
else if (args[i] === "--acp") {
|
|
72
|
+
options.acp = true;
|
|
62
73
|
}
|
|
63
74
|
else if (args[i] === "--port" && args[i + 1]) {
|
|
64
75
|
options.port = parseInt(args[i + 1], 10);
|
|
@@ -105,8 +116,97 @@ async function main() {
|
|
|
105
116
|
const defaultCwd = options.cwd ?? process.cwd();
|
|
106
117
|
// Initialize services
|
|
107
118
|
const eventStore = await createEventStore({ inMemory: false });
|
|
108
|
-
|
|
109
|
-
|
|
119
|
+
// We need to create agentManager first (with a placeholder router),
|
|
120
|
+
// then wire the sessionChecker/wakeHandler into the router,
|
|
121
|
+
// then update agentManager with the real router.
|
|
122
|
+
// However, to avoid circular dependency, we'll create the session checker
|
|
123
|
+
// lazily since it only needs agentManager methods.
|
|
124
|
+
// Create a deferred agentManager reference for the session checker
|
|
125
|
+
let agentManager;
|
|
126
|
+
// Create session checker that the MessageRouter uses to decide wake actions
|
|
127
|
+
const sessionChecker = {
|
|
128
|
+
hasActiveSession(agentId) {
|
|
129
|
+
return agentManager?.hasActiveSession(agentId) ?? false;
|
|
130
|
+
},
|
|
131
|
+
isPrompting(agentId) {
|
|
132
|
+
return agentManager?.isPrompting(agentId) ?? false;
|
|
133
|
+
},
|
|
134
|
+
supportsInjection(_agentId) {
|
|
135
|
+
// Default to true; actual injection support is checked during inject()
|
|
136
|
+
return true;
|
|
137
|
+
},
|
|
138
|
+
isStopped(agentId) {
|
|
139
|
+
const agent = agentManager?.get(agentId);
|
|
140
|
+
return agent?.state === "stopped";
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
// Create wake handler that the MessageRouter calls when messages should wake agents
|
|
144
|
+
const routerWakeHandler = async (agentId, decision, messageId) => {
|
|
145
|
+
if (!agentManager)
|
|
146
|
+
return;
|
|
147
|
+
const session = agentManager.getSession(agentId);
|
|
148
|
+
if (!session) {
|
|
149
|
+
// No session, message is queued - agent will see it on next check_messages
|
|
150
|
+
console.error(`[acp] Message ${messageId} queued for agent ${agentId} (no session)`);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// Format the message notification
|
|
154
|
+
const message = `[New Message Received]\nMessage ID: ${messageId}\nUse check_messages to read your pending messages.`;
|
|
155
|
+
if (decision.shouldInterrupt) {
|
|
156
|
+
// Interrupt the current work
|
|
157
|
+
try {
|
|
158
|
+
const iterable = session.interruptWith(message);
|
|
159
|
+
const iterator = iterable[Symbol.asyncIterator]();
|
|
160
|
+
await iterator.next(); // Start the interrupt
|
|
161
|
+
console.error(`[acp] Interrupted agent ${agentId} for message ${messageId}`);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error(`[acp] Failed to interrupt agent ${agentId}:`, error);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else if (decision.action === "inject") {
|
|
168
|
+
// Try to inject into current session
|
|
169
|
+
try {
|
|
170
|
+
const result = await session.inject(message);
|
|
171
|
+
if (result.success) {
|
|
172
|
+
console.error(`[acp] Injected message notification to agent ${agentId}`);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.error(`[acp] Injection not supported for agent ${agentId}, message queued`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
console.error(`[acp] Failed to inject to agent ${agentId}:`, error);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (decision.shouldWake) {
|
|
183
|
+
// Wake the agent by starting a new prompt
|
|
184
|
+
try {
|
|
185
|
+
const promptIterable = agentManager.prompt(agentId, message);
|
|
186
|
+
// Fire and forget - just start the iteration
|
|
187
|
+
(async () => {
|
|
188
|
+
try {
|
|
189
|
+
for await (const _ of promptIterable) {
|
|
190
|
+
break; // Exit after first update
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
// Ignore background errors
|
|
195
|
+
}
|
|
196
|
+
})();
|
|
197
|
+
console.error(`[acp] Woke agent ${agentId} for message ${messageId}`);
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.error(`[acp] Failed to wake agent ${agentId}:`, error);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
const messageRouter = createMessageRouter(eventStore, {
|
|
205
|
+
sessionChecker,
|
|
206
|
+
wakeHandler: routerWakeHandler,
|
|
207
|
+
});
|
|
208
|
+
// Now create the agentManager with the real router
|
|
209
|
+
agentManager = createAgentManager(eventStore, messageRouter);
|
|
110
210
|
const taskManager = createTaskManager(eventStore);
|
|
111
211
|
// Create ActivityWatcher for event-driven agent waking
|
|
112
212
|
const sessionProvider = createSessionProviderFromAgentManager(agentManager);
|
|
@@ -183,13 +283,6 @@ async function main() {
|
|
|
183
283
|
await eventStore.close();
|
|
184
284
|
};
|
|
185
285
|
try {
|
|
186
|
-
// Start combined server if --api is enabled
|
|
187
|
-
if (options.api) {
|
|
188
|
-
const host = options.host ?? "localhost";
|
|
189
|
-
const port = options.port ?? 3001;
|
|
190
|
-
combinedServer = createCombinedServer({ eventStore, agentManager, taskManager, messageRouter, activityWatcher }, { port, host, defaultCwd });
|
|
191
|
-
await combinedServer.start();
|
|
192
|
-
}
|
|
193
286
|
// Handle graceful shutdown
|
|
194
287
|
process.on("SIGINT", async () => {
|
|
195
288
|
await cleanup();
|
|
@@ -199,22 +292,8 @@ async function main() {
|
|
|
199
292
|
await cleanup();
|
|
200
293
|
process.exit(0);
|
|
201
294
|
});
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
// 1. MACRO_AGENT_SERVER_ONLY env var is set (spawned by MacroAgentServerManager)
|
|
205
|
-
// 2. Or stdin detection fails (fallback)
|
|
206
|
-
const serverOnlyEnv = process.env.MACRO_AGENT_SERVER_ONLY === "1";
|
|
207
|
-
const skipStdioAcp = options.api && serverOnlyEnv;
|
|
208
|
-
if (skipStdioAcp) {
|
|
209
|
-
// WebSocket-only mode: just keep the process alive until shutdown signal
|
|
210
|
-
console.error("[acp] Running in server-only mode (stdin not connected)");
|
|
211
|
-
// Keep process alive - will exit via SIGINT/SIGTERM handlers
|
|
212
|
-
await new Promise(() => {
|
|
213
|
-
// Never resolves - process stays alive until signal
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
// Standard mode: set up stdio ACP connection
|
|
295
|
+
if (options.acp) {
|
|
296
|
+
// Stdio ACP-only mode (for embedded use with acp-factory)
|
|
218
297
|
const { input, output } = createStdioStreams();
|
|
219
298
|
const stream = ndJsonStream(output, input);
|
|
220
299
|
// Create ACP connection with MacroAgent
|
|
@@ -229,6 +308,17 @@ async function main() {
|
|
|
229
308
|
// Clean up on normal close
|
|
230
309
|
await cleanup();
|
|
231
310
|
}
|
|
311
|
+
else {
|
|
312
|
+
// Full server mode (default): WebSocket ACP + MAP + REST API
|
|
313
|
+
const host = options.host ?? "localhost";
|
|
314
|
+
const port = options.port ?? 3001;
|
|
315
|
+
combinedServer = createCombinedServer({ eventStore, agentManager, taskManager, messageRouter, activityWatcher }, { port, host, defaultCwd });
|
|
316
|
+
await combinedServer.start();
|
|
317
|
+
// Keep process alive - will exit via SIGINT/SIGTERM handlers
|
|
318
|
+
await new Promise(() => {
|
|
319
|
+
// Never resolves - process stays alive until signal
|
|
320
|
+
});
|
|
321
|
+
}
|
|
232
322
|
}
|
|
233
323
|
catch (error) {
|
|
234
324
|
// Log errors to stderr (not stdout, which is used for ACP)
|
package/dist/cli/acp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/cli/acp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../src/cli/acp.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Multi-Agent CLI
|
|
4
4
|
*
|
|
5
|
-
* Command-line interface for the multi-agent
|
|
5
|
+
* Command-line interface for inspecting and managing the multi-agent system.
|
|
6
|
+
* For running the server, use `multiagent` instead.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* multiagent-cli <command> [options]
|
|
6
10
|
*/
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Multi-Agent CLI
|
|
4
4
|
*
|
|
5
|
-
* Command-line interface for the multi-agent
|
|
5
|
+
* Command-line interface for inspecting and managing the multi-agent system.
|
|
6
|
+
* For running the server, use `multiagent` instead.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* multiagent-cli <command> [options]
|
|
6
10
|
*/
|
|
7
11
|
import { Command } from "commander";
|
|
8
12
|
import chalk from "chalk";
|
|
@@ -83,7 +87,7 @@ function printHierarchy(agent, getChildren, indent = 0) {
|
|
|
83
87
|
// ─────────────────────────────────────────────────────────────────
|
|
84
88
|
const program = new Command();
|
|
85
89
|
program
|
|
86
|
-
.name("multiagent")
|
|
90
|
+
.name("multiagent-cli")
|
|
87
91
|
.description("Multi-agent orchestration system CLI")
|
|
88
92
|
.version("0.0.1");
|
|
89
93
|
// ─────────────────────────────────────────────────────────────────
|