agent-relay 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +176 -6
- package/dist/bridge/config.d.ts +41 -0
- package/dist/bridge/config.d.ts.map +1 -0
- package/dist/bridge/config.js +143 -0
- package/dist/bridge/config.js.map +1 -0
- package/dist/bridge/index.d.ts +10 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +10 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/multi-project-client.d.ts +99 -0
- package/dist/bridge/multi-project-client.d.ts.map +1 -0
- package/dist/bridge/multi-project-client.js +386 -0
- package/dist/bridge/multi-project-client.js.map +1 -0
- package/dist/bridge/spawner.d.ts +46 -0
- package/dist/bridge/spawner.d.ts.map +1 -0
- package/dist/bridge/spawner.js +223 -0
- package/dist/bridge/spawner.js.map +1 -0
- package/dist/bridge/types.d.ts +55 -0
- package/dist/bridge/types.d.ts.map +1 -0
- package/dist/bridge/types.js +6 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/bridge/utils.d.ts +30 -0
- package/dist/bridge/utils.d.ts.map +1 -0
- package/dist/bridge/utils.js +54 -0
- package/dist/bridge/utils.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +906 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/daemon/agent-registry.d.ts +60 -0
- package/dist/daemon/agent-registry.d.ts.map +1 -0
- package/dist/daemon/agent-registry.js +163 -0
- package/dist/daemon/agent-registry.js.map +1 -0
- package/dist/daemon/connection.d.ts +33 -1
- package/dist/daemon/connection.d.ts.map +1 -1
- package/dist/daemon/connection.js +86 -11
- package/dist/daemon/connection.js.map +1 -1
- package/dist/daemon/index.d.ts +2 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +2 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/registry.d.ts +9 -0
- package/dist/daemon/registry.d.ts.map +1 -0
- package/dist/daemon/registry.js +9 -0
- package/dist/daemon/registry.js.map +1 -0
- package/dist/daemon/router.d.ts +61 -2
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +219 -4
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/server.d.ts +9 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +135 -16
- package/dist/daemon/server.js.map +1 -1
- package/dist/dashboard/metrics.d.ts +105 -0
- package/dist/dashboard/metrics.d.ts.map +1 -0
- package/dist/dashboard/metrics.js +192 -0
- package/dist/dashboard/metrics.js.map +1 -0
- package/dist/dashboard/needs-attention.d.ts +24 -0
- package/dist/dashboard/needs-attention.d.ts.map +1 -0
- package/dist/dashboard/needs-attention.js +78 -0
- package/dist/dashboard/needs-attention.js.map +1 -0
- package/dist/dashboard/public/bridge.html +1272 -0
- package/dist/dashboard/public/index.html +2094 -347
- package/dist/dashboard/public/js/app.js +184 -0
- package/dist/dashboard/public/js/app.js.map +7 -0
- package/dist/dashboard/public/metrics.html +999 -0
- package/dist/dashboard/server.d.ts +14 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +689 -16
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/start.js +1 -1
- package/dist/dashboard/start.js.map +1 -1
- package/dist/dashboard-v2/index.d.ts +10 -0
- package/dist/dashboard-v2/index.d.ts.map +1 -0
- package/dist/dashboard-v2/index.js +54 -0
- package/dist/dashboard-v2/index.js.map +1 -0
- package/dist/dashboard-v2/lib/api.d.ts +95 -0
- package/dist/dashboard-v2/lib/api.d.ts.map +1 -0
- package/dist/dashboard-v2/lib/api.js +270 -0
- package/dist/dashboard-v2/lib/api.js.map +1 -0
- package/dist/dashboard-v2/lib/colors.d.ts +61 -0
- package/dist/dashboard-v2/lib/colors.d.ts.map +1 -0
- package/dist/dashboard-v2/lib/colors.js +198 -0
- package/dist/dashboard-v2/lib/colors.js.map +1 -0
- package/dist/dashboard-v2/lib/hierarchy.d.ts +74 -0
- package/dist/dashboard-v2/lib/hierarchy.d.ts.map +1 -0
- package/dist/dashboard-v2/lib/hierarchy.js +196 -0
- package/dist/dashboard-v2/lib/hierarchy.js.map +1 -0
- package/dist/dashboard-v2/types/index.d.ts +154 -0
- package/dist/dashboard-v2/types/index.d.ts.map +1 -0
- package/dist/dashboard-v2/types/index.js +6 -0
- package/dist/dashboard-v2/types/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/protocol/types.d.ts +15 -1
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/storage/adapter.d.ts +74 -1
- package/dist/storage/adapter.d.ts.map +1 -1
- package/dist/storage/adapter.js +39 -0
- package/dist/storage/adapter.js.map +1 -1
- package/dist/storage/sqlite-adapter.d.ts +92 -1
- package/dist/storage/sqlite-adapter.d.ts.map +1 -1
- package/dist/storage/sqlite-adapter.js +615 -47
- package/dist/storage/sqlite-adapter.js.map +1 -1
- package/dist/utils/agent-config.d.ts +45 -0
- package/dist/utils/agent-config.d.ts.map +1 -0
- package/dist/utils/agent-config.js +118 -0
- package/dist/utils/agent-config.js.map +1 -0
- package/dist/utils/project-namespace.d.ts.map +1 -1
- package/dist/utils/project-namespace.js +22 -1
- package/dist/utils/project-namespace.js.map +1 -1
- package/dist/wrapper/client.d.ts +30 -3
- package/dist/wrapper/client.d.ts.map +1 -1
- package/dist/wrapper/client.js +85 -9
- package/dist/wrapper/client.js.map +1 -1
- package/dist/wrapper/parser.d.ts +127 -4
- package/dist/wrapper/parser.d.ts.map +1 -1
- package/dist/wrapper/parser.js +622 -86
- package/dist/wrapper/parser.js.map +1 -1
- package/dist/wrapper/tmux-wrapper.d.ts +136 -10
- package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
- package/dist/wrapper/tmux-wrapper.js +599 -79
- package/dist/wrapper/tmux-wrapper.js.map +1 -1
- package/docs/AGENTS.md +132 -27
- package/docs/ARCHITECTURE_DECISIONS.md +175 -0
- package/docs/CHANGELOG.md +1 -1
- package/docs/COMPETITIVE_ANALYSIS.md +897 -0
- package/docs/DESIGN_BRIDGE_STAFFING.md +878 -0
- package/docs/DESIGN_V2.md +1079 -0
- package/docs/INTEGRATION-GUIDE.md +926 -0
- package/docs/MONETIZATION.md +1679 -0
- package/docs/PROPOSAL-trajectories.md +1582 -0
- package/docs/PROTOCOL.md +3 -3
- package/docs/SCALING_ANALYSIS.md +280 -0
- package/docs/TMUX_IMPLEMENTATION_NOTES.md +9 -9
- package/docs/TMUX_IMPROVEMENTS.md +968 -0
- package/docs/agent-relay-snippet.md +61 -0
- package/docs/competitive-analysis-mcp-agent-mail.md +389 -0
- package/docs/dashboard-v2-plan.md +179 -0
- package/package.json +10 -3
package/dist/daemon/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
package/dist/daemon/index.js
CHANGED
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Registry (public entrypoint)
|
|
3
|
+
* Persists agent metadata across daemon restarts.
|
|
4
|
+
*
|
|
5
|
+
* This file mirrors docs/TMUX_IMPROVEMENTS.md guidance and re-exports the
|
|
6
|
+
* implementation from agent-registry.ts so both import paths work.
|
|
7
|
+
*/
|
|
8
|
+
export { AgentRegistry, type AgentRecord } from './agent-registry.js';
|
|
9
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/daemon/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Registry (public entrypoint)
|
|
3
|
+
* Persists agent metadata across daemon restarts.
|
|
4
|
+
*
|
|
5
|
+
* This file mirrors docs/TMUX_IMPROVEMENTS.md guidance and re-exports the
|
|
6
|
+
* implementation from agent-registry.ts so both import paths work.
|
|
7
|
+
*/
|
|
8
|
+
export { AgentRegistry } from './agent-registry.js';
|
|
9
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/daemon/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC"}
|
package/dist/daemon/router.d.ts
CHANGED
|
@@ -2,24 +2,45 @@
|
|
|
2
2
|
* Message router for the agent relay daemon.
|
|
3
3
|
* Handles routing messages between agents, topic subscriptions, and broadcast.
|
|
4
4
|
*/
|
|
5
|
-
import { type Envelope, type
|
|
5
|
+
import { type Envelope, type SendEnvelope, type AckPayload } from '../protocol/types.js';
|
|
6
6
|
import type { StorageAdapter } from '../storage/adapter.js';
|
|
7
|
+
import type { AgentRegistry } from './agent-registry.js';
|
|
7
8
|
export interface RoutableConnection {
|
|
8
9
|
id: string;
|
|
9
10
|
agentName?: string;
|
|
10
11
|
cli?: string;
|
|
12
|
+
program?: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
task?: string;
|
|
15
|
+
workingDirectory?: string;
|
|
11
16
|
sessionId: string;
|
|
12
17
|
close(): void;
|
|
13
18
|
send(envelope: Envelope): boolean;
|
|
14
19
|
getNextSeq(topic: string, peer: string): number;
|
|
15
20
|
}
|
|
21
|
+
export interface DeliveryReliabilityOptions {
|
|
22
|
+
/** How long to wait for an ACK before retrying (ms) */
|
|
23
|
+
ackTimeoutMs: number;
|
|
24
|
+
/** Maximum attempts (initial send counts as attempt 1) */
|
|
25
|
+
maxAttempts: number;
|
|
26
|
+
/** How long to keep retrying before dropping (ms) */
|
|
27
|
+
deliveryTtlMs: number;
|
|
28
|
+
}
|
|
16
29
|
export declare class Router {
|
|
17
30
|
private storage?;
|
|
18
31
|
private connections;
|
|
19
32
|
private agents;
|
|
20
33
|
private subscriptions;
|
|
34
|
+
private pendingDeliveries;
|
|
35
|
+
private processingAgents;
|
|
36
|
+
private deliveryOptions;
|
|
37
|
+
private registry?;
|
|
38
|
+
/** Default timeout for processing indicator (30 seconds) */
|
|
39
|
+
private static readonly PROCESSING_TIMEOUT_MS;
|
|
21
40
|
constructor(options?: {
|
|
22
41
|
storage?: StorageAdapter;
|
|
42
|
+
delivery?: Partial<DeliveryReliabilityOptions>;
|
|
43
|
+
registry?: AgentRegistry;
|
|
23
44
|
});
|
|
24
45
|
/**
|
|
25
46
|
* Register a connection after successful handshake.
|
|
@@ -40,7 +61,7 @@ export declare class Router {
|
|
|
40
61
|
/**
|
|
41
62
|
* Route a SEND message to its destination(s).
|
|
42
63
|
*/
|
|
43
|
-
route(from: RoutableConnection, envelope:
|
|
64
|
+
route(from: RoutableConnection, envelope: SendEnvelope): void;
|
|
44
65
|
/**
|
|
45
66
|
* Send a direct message to a specific agent.
|
|
46
67
|
*/
|
|
@@ -69,5 +90,43 @@ export declare class Router {
|
|
|
69
90
|
* Get number of active connections.
|
|
70
91
|
*/
|
|
71
92
|
get connectionCount(): number;
|
|
93
|
+
get pendingDeliveryCount(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Get list of agents currently processing (thinking).
|
|
96
|
+
* Returns an object with agent names as keys and processing info as values.
|
|
97
|
+
*/
|
|
98
|
+
getProcessingAgents(): Record<string, {
|
|
99
|
+
startedAt: number;
|
|
100
|
+
messageId: string;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Check if a specific agent is processing.
|
|
104
|
+
*/
|
|
105
|
+
isAgentProcessing(agentName: string): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Mark an agent as processing (called when they receive a message).
|
|
108
|
+
*/
|
|
109
|
+
private setProcessing;
|
|
110
|
+
/**
|
|
111
|
+
* Clear processing state for an agent (called when they send a message).
|
|
112
|
+
*/
|
|
113
|
+
private clearProcessing;
|
|
114
|
+
/**
|
|
115
|
+
* Handle ACK for previously delivered messages.
|
|
116
|
+
*/
|
|
117
|
+
handleAck(connection: RoutableConnection, envelope: Envelope<AckPayload>): void;
|
|
118
|
+
/**
|
|
119
|
+
* Clear pending deliveries for a connection (e.g., on disconnect).
|
|
120
|
+
*/
|
|
121
|
+
clearPendingForConnection(connectionId: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Track a delivery and schedule retries until ACKed or TTL/attempts exhausted.
|
|
124
|
+
*/
|
|
125
|
+
private trackDelivery;
|
|
126
|
+
private scheduleRetry;
|
|
127
|
+
/**
|
|
128
|
+
* Replay any pending (unacked) messages for a resumed session.
|
|
129
|
+
*/
|
|
130
|
+
replayPending(connection: RoutableConnection): Promise<void>;
|
|
72
131
|
}
|
|
73
132
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/daemon/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/daemon/router.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/router.js
CHANGED
|
@@ -4,13 +4,26 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { v4 as uuid } from 'uuid';
|
|
6
6
|
import { PROTOCOL_VERSION, } from '../protocol/types.js';
|
|
7
|
+
const DEFAULT_DELIVERY_OPTIONS = {
|
|
8
|
+
ackTimeoutMs: 2000,
|
|
9
|
+
maxAttempts: 5,
|
|
10
|
+
deliveryTtlMs: 60_000,
|
|
11
|
+
};
|
|
7
12
|
export class Router {
|
|
8
13
|
storage;
|
|
9
14
|
connections = new Map(); // connectionId -> Connection
|
|
10
15
|
agents = new Map(); // agentName -> Connection
|
|
11
16
|
subscriptions = new Map(); // topic -> Set<agentName>
|
|
17
|
+
pendingDeliveries = new Map(); // deliverId -> pending
|
|
18
|
+
processingAgents = new Map(); // agentName -> processing state
|
|
19
|
+
deliveryOptions;
|
|
20
|
+
registry;
|
|
21
|
+
/** Default timeout for processing indicator (30 seconds) */
|
|
22
|
+
static PROCESSING_TIMEOUT_MS = 30_000;
|
|
12
23
|
constructor(options = {}) {
|
|
13
24
|
this.storage = options.storage;
|
|
25
|
+
this.deliveryOptions = { ...DEFAULT_DELIVERY_OPTIONS, ...options.delivery };
|
|
26
|
+
this.registry = options.registry;
|
|
14
27
|
}
|
|
15
28
|
/**
|
|
16
29
|
* Register a connection after successful handshake.
|
|
@@ -25,6 +38,14 @@ export class Router {
|
|
|
25
38
|
this.connections.delete(existing.id);
|
|
26
39
|
}
|
|
27
40
|
this.agents.set(connection.agentName, connection);
|
|
41
|
+
this.registry?.registerOrUpdate({
|
|
42
|
+
name: connection.agentName,
|
|
43
|
+
cli: connection.cli,
|
|
44
|
+
program: connection.program,
|
|
45
|
+
model: connection.model,
|
|
46
|
+
task: connection.task,
|
|
47
|
+
workingDirectory: connection.workingDirectory,
|
|
48
|
+
});
|
|
28
49
|
}
|
|
29
50
|
}
|
|
30
51
|
/**
|
|
@@ -41,7 +62,10 @@ export class Router {
|
|
|
41
62
|
for (const subscribers of this.subscriptions.values()) {
|
|
42
63
|
subscribers.delete(connection.agentName);
|
|
43
64
|
}
|
|
65
|
+
// Clear processing state
|
|
66
|
+
this.clearProcessing(connection.agentName);
|
|
44
67
|
}
|
|
68
|
+
this.clearPendingForConnection(connection.id);
|
|
45
69
|
}
|
|
46
70
|
/**
|
|
47
71
|
* Subscribe an agent to a topic.
|
|
@@ -75,9 +99,12 @@ export class Router {
|
|
|
75
99
|
console.log(`[router] Dropping message - sender has no name`);
|
|
76
100
|
return;
|
|
77
101
|
}
|
|
102
|
+
// Agent is responding - clear their processing state
|
|
103
|
+
this.clearProcessing(senderName);
|
|
104
|
+
this.registry?.recordSend(senderName);
|
|
78
105
|
const to = envelope.to;
|
|
79
106
|
const topic = envelope.topic;
|
|
80
|
-
console.log(`[router] ${senderName} -> ${to}
|
|
107
|
+
console.log(`[router] ${senderName} -> ${to}:${envelope.payload.body?.substring(0, 50)}...`);
|
|
81
108
|
if (to === '*') {
|
|
82
109
|
// Broadcast to all (except sender)
|
|
83
110
|
this.broadcast(senderName, envelope, topic);
|
|
@@ -100,6 +127,12 @@ export class Router {
|
|
|
100
127
|
const sent = target.send(deliver);
|
|
101
128
|
console.log(`[router] Delivered to ${to}: ${sent ? 'success' : 'failed'}`);
|
|
102
129
|
this.persistDeliverEnvelope(deliver);
|
|
130
|
+
if (sent) {
|
|
131
|
+
this.trackDelivery(target, deliver);
|
|
132
|
+
this.registry?.recordReceive(to);
|
|
133
|
+
// Mark recipient as processing
|
|
134
|
+
this.setProcessing(to, deliver.id);
|
|
135
|
+
}
|
|
103
136
|
return sent;
|
|
104
137
|
}
|
|
105
138
|
/**
|
|
@@ -115,8 +148,14 @@ export class Router {
|
|
|
115
148
|
const target = this.agents.get(agentName);
|
|
116
149
|
if (target) {
|
|
117
150
|
const deliver = this.createDeliverEnvelope(from, agentName, envelope, target);
|
|
118
|
-
target.send(deliver);
|
|
119
|
-
this.persistDeliverEnvelope(deliver);
|
|
151
|
+
const sent = target.send(deliver);
|
|
152
|
+
this.persistDeliverEnvelope(deliver, true); // Mark as broadcast
|
|
153
|
+
if (sent) {
|
|
154
|
+
this.trackDelivery(target, deliver);
|
|
155
|
+
this.registry?.recordReceive(agentName);
|
|
156
|
+
// Mark recipient as processing
|
|
157
|
+
this.setProcessing(agentName, deliver.id);
|
|
158
|
+
}
|
|
120
159
|
}
|
|
121
160
|
}
|
|
122
161
|
}
|
|
@@ -133,6 +172,7 @@ export class Router {
|
|
|
133
172
|
to,
|
|
134
173
|
topic: original.topic,
|
|
135
174
|
payload: original.payload,
|
|
175
|
+
payload_meta: original.payload_meta,
|
|
136
176
|
delivery: {
|
|
137
177
|
seq: target.getNextSeq(original.topic ?? 'default', from),
|
|
138
178
|
session_id: target.sessionId,
|
|
@@ -142,7 +182,7 @@ export class Router {
|
|
|
142
182
|
/**
|
|
143
183
|
* Persist a delivered message if storage is configured.
|
|
144
184
|
*/
|
|
145
|
-
persistDeliverEnvelope(envelope) {
|
|
185
|
+
persistDeliverEnvelope(envelope, isBroadcast = false) {
|
|
146
186
|
if (!this.storage)
|
|
147
187
|
return;
|
|
148
188
|
this.storage.saveMessage({
|
|
@@ -154,9 +194,14 @@ export class Router {
|
|
|
154
194
|
kind: envelope.payload.kind,
|
|
155
195
|
body: envelope.payload.body,
|
|
156
196
|
data: envelope.payload.data,
|
|
197
|
+
payloadMeta: envelope.payload_meta,
|
|
198
|
+
thread: envelope.payload.thread,
|
|
157
199
|
deliverySeq: envelope.delivery.seq,
|
|
158
200
|
deliverySessionId: envelope.delivery.session_id,
|
|
159
201
|
sessionId: envelope.delivery.session_id,
|
|
202
|
+
status: 'unread',
|
|
203
|
+
is_urgent: false,
|
|
204
|
+
is_broadcast: isBroadcast || envelope.to === '*',
|
|
160
205
|
}).catch((err) => {
|
|
161
206
|
console.error('[router] Failed to persist message', err);
|
|
162
207
|
});
|
|
@@ -179,5 +224,175 @@ export class Router {
|
|
|
179
224
|
get connectionCount() {
|
|
180
225
|
return this.connections.size;
|
|
181
226
|
}
|
|
227
|
+
get pendingDeliveryCount() {
|
|
228
|
+
return this.pendingDeliveries.size;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get list of agents currently processing (thinking).
|
|
232
|
+
* Returns an object with agent names as keys and processing info as values.
|
|
233
|
+
*/
|
|
234
|
+
getProcessingAgents() {
|
|
235
|
+
const result = {};
|
|
236
|
+
for (const [name, state] of this.processingAgents.entries()) {
|
|
237
|
+
result[name] = { startedAt: state.startedAt, messageId: state.messageId };
|
|
238
|
+
}
|
|
239
|
+
return result;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Check if a specific agent is processing.
|
|
243
|
+
*/
|
|
244
|
+
isAgentProcessing(agentName) {
|
|
245
|
+
return this.processingAgents.has(agentName);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Mark an agent as processing (called when they receive a message).
|
|
249
|
+
*/
|
|
250
|
+
setProcessing(agentName, messageId) {
|
|
251
|
+
// Clear any existing processing state
|
|
252
|
+
this.clearProcessing(agentName);
|
|
253
|
+
const timer = setTimeout(() => {
|
|
254
|
+
this.clearProcessing(agentName);
|
|
255
|
+
console.log(`[router] Processing timeout for ${agentName}`);
|
|
256
|
+
}, Router.PROCESSING_TIMEOUT_MS);
|
|
257
|
+
this.processingAgents.set(agentName, {
|
|
258
|
+
startedAt: Date.now(),
|
|
259
|
+
messageId,
|
|
260
|
+
timer,
|
|
261
|
+
});
|
|
262
|
+
console.log(`[router] ${agentName} started processing (message: ${messageId})`);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Clear processing state for an agent (called when they send a message).
|
|
266
|
+
*/
|
|
267
|
+
clearProcessing(agentName) {
|
|
268
|
+
const state = this.processingAgents.get(agentName);
|
|
269
|
+
if (state) {
|
|
270
|
+
if (state.timer) {
|
|
271
|
+
clearTimeout(state.timer);
|
|
272
|
+
}
|
|
273
|
+
this.processingAgents.delete(agentName);
|
|
274
|
+
console.log(`[router] ${agentName} finished processing`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Handle ACK for previously delivered messages.
|
|
279
|
+
*/
|
|
280
|
+
handleAck(connection, envelope) {
|
|
281
|
+
const ackId = envelope.payload.ack_id;
|
|
282
|
+
const pending = this.pendingDeliveries.get(ackId);
|
|
283
|
+
if (!pending)
|
|
284
|
+
return;
|
|
285
|
+
// Only accept ACKs from the same connection that received the deliver
|
|
286
|
+
if (pending.connectionId !== connection.id)
|
|
287
|
+
return;
|
|
288
|
+
if (pending.timer) {
|
|
289
|
+
clearTimeout(pending.timer);
|
|
290
|
+
}
|
|
291
|
+
this.pendingDeliveries.delete(ackId);
|
|
292
|
+
const statusUpdate = this.storage?.updateMessageStatus?.(ackId, 'acked');
|
|
293
|
+
if (statusUpdate instanceof Promise) {
|
|
294
|
+
statusUpdate.catch(err => {
|
|
295
|
+
console.error('[router] Failed to record ACK status', err);
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
console.log(`[router] ACK received for ${ackId}`);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Clear pending deliveries for a connection (e.g., on disconnect).
|
|
302
|
+
*/
|
|
303
|
+
clearPendingForConnection(connectionId) {
|
|
304
|
+
for (const [id, pending] of this.pendingDeliveries.entries()) {
|
|
305
|
+
if (pending.connectionId === connectionId) {
|
|
306
|
+
if (pending.timer)
|
|
307
|
+
clearTimeout(pending.timer);
|
|
308
|
+
this.pendingDeliveries.delete(id);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Track a delivery and schedule retries until ACKed or TTL/attempts exhausted.
|
|
314
|
+
*/
|
|
315
|
+
trackDelivery(target, deliver) {
|
|
316
|
+
const pending = {
|
|
317
|
+
envelope: deliver,
|
|
318
|
+
connectionId: target.id,
|
|
319
|
+
attempts: 1,
|
|
320
|
+
firstSentAt: Date.now(),
|
|
321
|
+
};
|
|
322
|
+
pending.timer = this.scheduleRetry(deliver.id);
|
|
323
|
+
this.pendingDeliveries.set(deliver.id, pending);
|
|
324
|
+
}
|
|
325
|
+
scheduleRetry(deliverId) {
|
|
326
|
+
return setTimeout(() => {
|
|
327
|
+
const pending = this.pendingDeliveries.get(deliverId);
|
|
328
|
+
if (!pending)
|
|
329
|
+
return;
|
|
330
|
+
const now = Date.now();
|
|
331
|
+
const elapsed = now - pending.firstSentAt;
|
|
332
|
+
if (elapsed > this.deliveryOptions.deliveryTtlMs) {
|
|
333
|
+
console.warn(`[router] Dropping ${deliverId} after TTL (${this.deliveryOptions.deliveryTtlMs}ms)`);
|
|
334
|
+
this.pendingDeliveries.delete(deliverId);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
if (pending.attempts >= this.deliveryOptions.maxAttempts) {
|
|
338
|
+
console.warn(`[router] Dropping ${deliverId} after max attempts (${this.deliveryOptions.maxAttempts})`);
|
|
339
|
+
this.pendingDeliveries.delete(deliverId);
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
const target = this.connections.get(pending.connectionId);
|
|
343
|
+
if (!target) {
|
|
344
|
+
console.warn(`[router] Dropping ${deliverId} - connection unavailable`);
|
|
345
|
+
this.pendingDeliveries.delete(deliverId);
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
pending.attempts++;
|
|
349
|
+
const sent = target.send(pending.envelope);
|
|
350
|
+
if (!sent) {
|
|
351
|
+
console.warn(`[router] Retry failed for ${deliverId} (attempt ${pending.attempts})`);
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
console.log(`[router] Retried ${deliverId} (attempt ${pending.attempts})`);
|
|
355
|
+
}
|
|
356
|
+
pending.timer = this.scheduleRetry(deliverId);
|
|
357
|
+
}, this.deliveryOptions.ackTimeoutMs);
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Replay any pending (unacked) messages for a resumed session.
|
|
361
|
+
*/
|
|
362
|
+
async replayPending(connection) {
|
|
363
|
+
if (!this.storage?.getPendingMessagesForSession || !connection.agentName) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
const pending = await this.storage.getPendingMessagesForSession(connection.agentName, connection.sessionId);
|
|
367
|
+
if (!pending.length)
|
|
368
|
+
return;
|
|
369
|
+
console.log(`[router] Replaying ${pending.length} messages to ${connection.agentName}`);
|
|
370
|
+
for (const msg of pending) {
|
|
371
|
+
const deliver = {
|
|
372
|
+
v: PROTOCOL_VERSION,
|
|
373
|
+
type: 'DELIVER',
|
|
374
|
+
id: msg.id,
|
|
375
|
+
ts: msg.ts,
|
|
376
|
+
from: msg.from,
|
|
377
|
+
to: msg.to,
|
|
378
|
+
topic: msg.topic,
|
|
379
|
+
payload: {
|
|
380
|
+
kind: msg.kind,
|
|
381
|
+
body: msg.body,
|
|
382
|
+
data: msg.data,
|
|
383
|
+
thread: msg.thread,
|
|
384
|
+
},
|
|
385
|
+
payload_meta: msg.payloadMeta,
|
|
386
|
+
delivery: {
|
|
387
|
+
seq: msg.deliverySeq ?? connection.getNextSeq(msg.topic ?? 'default', msg.from),
|
|
388
|
+
session_id: msg.deliverySessionId ?? connection.sessionId,
|
|
389
|
+
},
|
|
390
|
+
};
|
|
391
|
+
const sent = connection.send(deliver);
|
|
392
|
+
if (sent) {
|
|
393
|
+
this.trackDelivery(connection, deliver);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
182
397
|
}
|
|
183
398
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/daemon/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/daemon/router.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/server.d.ts
CHANGED
|
@@ -24,11 +24,20 @@ export declare class Daemon {
|
|
|
24
24
|
private connections;
|
|
25
25
|
private storage?;
|
|
26
26
|
private storageInitialized;
|
|
27
|
+
private registry?;
|
|
28
|
+
private processingStateInterval?;
|
|
29
|
+
/** Interval for writing processing state file (500ms for responsive UI) */
|
|
30
|
+
private static readonly PROCESSING_STATE_INTERVAL_MS;
|
|
27
31
|
constructor(config?: Partial<DaemonConfig>);
|
|
28
32
|
/**
|
|
29
33
|
* Write current agents to agents.json for dashboard consumption.
|
|
30
34
|
*/
|
|
31
35
|
private writeAgentsFile;
|
|
36
|
+
/**
|
|
37
|
+
* Write processing state to processing-state.json for dashboard consumption.
|
|
38
|
+
* This file contains agents currently processing/thinking after receiving a message.
|
|
39
|
+
*/
|
|
40
|
+
private writeProcessingStateFile;
|
|
32
41
|
/**
|
|
33
42
|
* Initialize storage adapter (called during start).
|
|
34
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAc,KAAK,gBAAgB,EAAkB,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAc,KAAK,gBAAgB,EAAkB,MAAM,iBAAiB,CAAC;AAGpF,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtG,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAEF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IAEjD,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAO;gBAE/C,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAgB9C;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;YACW,WAAW;IAiBzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgIxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}
|