@animalabs/agent-framework 0.5.7 → 0.6.0
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/framework.d.ts +67 -0
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +469 -26
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +44 -1
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +152 -8
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/gate-script-worker.d.ts +2 -0
- package/dist/src/gate/gate-script-worker.d.ts.map +1 -0
- package/dist/src/gate/gate-script-worker.js +69 -0
- package/dist/src/gate/gate-script-worker.js.map +1 -0
- package/dist/src/gate/gate-script.d.ts +44 -0
- package/dist/src/gate/gate-script.d.ts.map +1 -0
- package/dist/src/gate/gate-script.js +164 -0
- package/dist/src/gate/gate-script.js.map +1 -0
- package/dist/src/gate/types.d.ts +18 -3
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +43 -1
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +82 -8
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.d.ts +7 -0
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
- package/dist/src/mcpl/checkpoint-manager.js +15 -0
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
- package/dist/src/mcpl/push-handler.d.ts.map +1 -1
- package/dist/src/mcpl/push-handler.js +1 -0
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +35 -30
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +145 -206
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/mcpl/transport.d.ts +98 -0
- package/dist/src/mcpl/transport.d.ts.map +1 -0
- package/dist/src/mcpl/transport.js +281 -0
- package/dist/src/mcpl/transport.js.map +1 -0
- package/dist/src/mcpl/types.d.ts +42 -2
- package/dist/src/mcpl/types.d.ts.map +1 -1
- package/dist/src/mcpl/types.js.map +1 -1
- package/dist/src/module-registry.d.ts +2 -0
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +9 -2
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/prose-segments.d.ts +18 -0
- package/dist/src/prose-segments.d.ts.map +1 -0
- package/dist/src/prose-segments.js +39 -0
- package/dist/src/prose-segments.js.map +1 -0
- package/dist/src/runtime/liveness-watchdog-worker.d.ts +2 -0
- package/dist/src/runtime/liveness-watchdog-worker.d.ts.map +1 -0
- package/dist/src/runtime/liveness-watchdog-worker.js +57 -0
- package/dist/src/runtime/liveness-watchdog-worker.js.map +1 -0
- package/dist/src/runtime/liveness-watchdog.d.ts +36 -0
- package/dist/src/runtime/liveness-watchdog.d.ts.map +1 -0
- package/dist/src/runtime/liveness-watchdog.js +106 -0
- package/dist/src/runtime/liveness-watchdog.js.map +1 -0
- package/dist/src/types/agent.d.ts +10 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +14 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +12 -0
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/test/channel-registry-routing.test.js +108 -1
- package/dist/test/channel-registry-routing.test.js.map +1 -1
- package/dist/test/checkpoint-attribution.test.d.ts +2 -0
- package/dist/test/checkpoint-attribution.test.d.ts.map +1 -0
- package/dist/test/checkpoint-attribution.test.js +40 -0
- package/dist/test/checkpoint-attribution.test.js.map +1 -0
- package/dist/test/event-gate-policy-mutation.test.d.ts +2 -0
- package/dist/test/event-gate-policy-mutation.test.d.ts.map +1 -0
- package/dist/test/event-gate-policy-mutation.test.js +137 -0
- package/dist/test/event-gate-policy-mutation.test.js.map +1 -0
- package/dist/test/event-gate-script.test.d.ts +2 -0
- package/dist/test/event-gate-script.test.d.ts.map +1 -0
- package/dist/test/event-gate-script.test.js +95 -0
- package/dist/test/event-gate-script.test.js.map +1 -0
- package/dist/test/event-gate-tags.test.d.ts +2 -0
- package/dist/test/event-gate-tags.test.d.ts.map +1 -0
- package/dist/test/event-gate-tags.test.js +76 -0
- package/dist/test/event-gate-tags.test.js.map +1 -0
- package/dist/test/liveness-watchdog.test.d.ts +2 -0
- package/dist/test/liveness-watchdog.test.d.ts.map +1 -0
- package/dist/test/liveness-watchdog.test.js +78 -0
- package/dist/test/liveness-watchdog.test.js.map +1 -0
- package/dist/test/mcpl-ws-transport.test.d.ts +2 -0
- package/dist/test/mcpl-ws-transport.test.d.ts.map +1 -0
- package/dist/test/mcpl-ws-transport.test.js +155 -0
- package/dist/test/mcpl-ws-transport.test.js.map +1 -0
- package/dist/test/prose-segments.test.d.ts +2 -0
- package/dist/test/prose-segments.test.d.ts.map +1 -0
- package/dist/test/prose-segments.test.js +52 -0
- package/dist/test/prose-segments.test.js.map +1 -0
- package/dist/test/trunk-channel-routing.test.d.ts +19 -0
- package/dist/test/trunk-channel-routing.test.d.ts.map +1 -0
- package/dist/test/trunk-channel-routing.test.js +175 -0
- package/dist/test/trunk-channel-routing.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/framework.ts +509 -24
- package/src/gate/event-gate.ts +153 -8
- package/src/gate/gate-script-worker.ts +73 -0
- package/src/gate/gate-script.ts +180 -0
- package/src/gate/types.ts +19 -3
- package/src/mcpl/channel-registry.ts +112 -8
- package/src/mcpl/checkpoint-manager.ts +16 -0
- package/src/mcpl/push-handler.ts +1 -0
- package/src/mcpl/server-connection.ts +153 -224
- package/src/mcpl/transport.ts +307 -0
- package/src/mcpl/types.ts +49 -2
- package/src/module-registry.ts +13 -2
- package/src/prose-segments.ts +42 -0
- package/src/runtime/liveness-watchdog-worker.ts +66 -0
- package/src/runtime/liveness-watchdog.ts +122 -0
- package/src/types/agent.ts +10 -0
- package/src/types/framework.ts +15 -0
- package/src/types/module.ts +13 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* McplTransport — the byte-level seam under McplServerConnection.
|
|
3
|
+
*
|
|
4
|
+
* An MCPL connection is newline-delimited JSON-RPC over a duplex stream. The
|
|
5
|
+
* only things the connection needs from its underlying transport are: write a
|
|
6
|
+
* line, receive lines, surface diagnostics/errors, and know when it closed. By
|
|
7
|
+
* abstracting exactly that, the handshake, message routing, and every send path
|
|
8
|
+
* stay transport-agnostic and run IDENTICALLY over a spawned stdio child or a
|
|
9
|
+
* WebSocket — which is the whole point of network MCPL.
|
|
10
|
+
*
|
|
11
|
+
* Two implementations:
|
|
12
|
+
* - StdioTransport — spawns `config.command` and speaks over stdin/stdout;
|
|
13
|
+
* child stderr is surfaced as 'stderr' lines.
|
|
14
|
+
* - WebSocketTransport — dials `config.url` (ws:// or wss://) with the `ws`
|
|
15
|
+
* library, appending `?token=` when `config.token` is
|
|
16
|
+
* set; each WS text frame is one JSON-RPC line.
|
|
17
|
+
*/
|
|
18
|
+
import { EventEmitter } from 'node:events';
|
|
19
|
+
import type { McplServerConfig } from './types.js';
|
|
20
|
+
/** Why/how a transport closed. `code`/`signal` are populated for stdio child
|
|
21
|
+
* exits; `reason` carries a WebSocket close reason or an error message. */
|
|
22
|
+
export interface TransportCloseInfo {
|
|
23
|
+
code?: number | null;
|
|
24
|
+
signal?: NodeJS.Signals | null;
|
|
25
|
+
reason?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A line-oriented duplex transport to an MCPL server.
|
|
29
|
+
*
|
|
30
|
+
* Events:
|
|
31
|
+
* - `'line'` `(line: string)` one inbound NDJSON line (no newline)
|
|
32
|
+
* - `'stderr'` `(line: string)` diagnostic line (stdio child stderr; never WS)
|
|
33
|
+
* - `'error'` `(err: Error)` transport-level error
|
|
34
|
+
* - `'close'` `(info: TransportCloseInfo)` transport closed (once)
|
|
35
|
+
*
|
|
36
|
+
* Inbound `'line'`/`'stderr'` events are buffered until the first matching
|
|
37
|
+
* listener attaches (and re-buffered whenever there are none), so no message is
|
|
38
|
+
* lost across the handshake→routing handoff regardless of attach timing.
|
|
39
|
+
*/
|
|
40
|
+
export declare abstract class McplTransport extends EventEmitter {
|
|
41
|
+
abstract readonly kind: 'stdio' | 'websocket';
|
|
42
|
+
private _closed;
|
|
43
|
+
private lineBuffer;
|
|
44
|
+
private stderrBuffer;
|
|
45
|
+
protected constructor();
|
|
46
|
+
get closed(): boolean;
|
|
47
|
+
/** Deliver an inbound line, buffering it if nobody is listening yet. */
|
|
48
|
+
protected pushLine(line: string): void;
|
|
49
|
+
/** Deliver a diagnostic line, buffering it if nobody is listening yet. */
|
|
50
|
+
protected pushStderr(line: string): void;
|
|
51
|
+
/** Emit 'close' exactly once. */
|
|
52
|
+
protected markClosed(info: TransportCloseInfo): void;
|
|
53
|
+
/** Write one JSON-RPC message as an NDJSON line. */
|
|
54
|
+
abstract writeLine(json: string): void;
|
|
55
|
+
/** Close the transport and release resources. Resolves once fully closed. */
|
|
56
|
+
abstract close(): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
export declare class StdioTransport extends McplTransport {
|
|
59
|
+
private readonly child;
|
|
60
|
+
private readonly rl;
|
|
61
|
+
readonly kind: "stdio";
|
|
62
|
+
private constructor();
|
|
63
|
+
/**
|
|
64
|
+
* Spawn `config.command` and return a ready stdio transport. Rejects if the
|
|
65
|
+
* command is missing (a config bug) or the process fails to spawn.
|
|
66
|
+
*/
|
|
67
|
+
static spawn(config: McplServerConfig): StdioTransport;
|
|
68
|
+
writeLine(json: string): void;
|
|
69
|
+
close(): Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
export declare class WebSocketTransport extends McplTransport {
|
|
72
|
+
private readonly ws;
|
|
73
|
+
readonly kind: "websocket";
|
|
74
|
+
private constructor();
|
|
75
|
+
/**
|
|
76
|
+
* Dial `config.url` and resolve once the socket is OPEN. Appends `?token=`
|
|
77
|
+
* when `config.token` is set. Rejects on connect error / timeout (and tears
|
|
78
|
+
* the socket down) so a failed dial never leaks an open handle.
|
|
79
|
+
*/
|
|
80
|
+
static open(config: McplServerConfig): Promise<WebSocketTransport>;
|
|
81
|
+
writeLine(json: string): void;
|
|
82
|
+
close(): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Build the dial URL: validate it's a ws(s):// URL and append the auth token as
|
|
86
|
+
* a `token` query param when provided (preserving any existing query).
|
|
87
|
+
*/
|
|
88
|
+
export declare function buildWebSocketUrl(config: McplServerConfig): string;
|
|
89
|
+
/** True when the config selects the WebSocket transport (explicit `transport`,
|
|
90
|
+
* or a `url` with no `command`). */
|
|
91
|
+
export declare function isWebSocketTransport(config: McplServerConfig): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Open the transport selected by `config` (WebSocket when `transport` is
|
|
94
|
+
* 'websocket' or a bare `url` is given; stdio otherwise). The returned transport
|
|
95
|
+
* is connected at the byte level but has NOT performed the MCPL handshake.
|
|
96
|
+
*/
|
|
97
|
+
export declare function openTransport(config: McplServerConfig): Promise<McplTransport>;
|
|
98
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/mcpl/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;4EAC4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,8BAAsB,aAAc,SAAQ,YAAY;IACtD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC;IAE9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAgB;IAEpC,SAAS;IAgBT,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKtC,0EAA0E;IAC1E,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxC,iCAAiC;IACjC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMpD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEtC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC;AAMD,qBAAa,cAAe,SAAQ,aAAa;IAI7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAJrB,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IAEjC,OAAO;IAuBP;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc;IActD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B;AASD,qBAAa,kBAAmB,SAAQ,aAAa;IAG/B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAFvC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAErC,OAAO;IAmBP;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiClE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAmBlE;AAMD;qCACqC;AACrC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAItE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAKpF"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* McplTransport — the byte-level seam under McplServerConnection.
|
|
3
|
+
*
|
|
4
|
+
* An MCPL connection is newline-delimited JSON-RPC over a duplex stream. The
|
|
5
|
+
* only things the connection needs from its underlying transport are: write a
|
|
6
|
+
* line, receive lines, surface diagnostics/errors, and know when it closed. By
|
|
7
|
+
* abstracting exactly that, the handshake, message routing, and every send path
|
|
8
|
+
* stay transport-agnostic and run IDENTICALLY over a spawned stdio child or a
|
|
9
|
+
* WebSocket — which is the whole point of network MCPL.
|
|
10
|
+
*
|
|
11
|
+
* Two implementations:
|
|
12
|
+
* - StdioTransport — spawns `config.command` and speaks over stdin/stdout;
|
|
13
|
+
* child stderr is surfaced as 'stderr' lines.
|
|
14
|
+
* - WebSocketTransport — dials `config.url` (ws:// or wss://) with the `ws`
|
|
15
|
+
* library, appending `?token=` when `config.token` is
|
|
16
|
+
* set; each WS text frame is one JSON-RPC line.
|
|
17
|
+
*/
|
|
18
|
+
import { spawn } from 'node:child_process';
|
|
19
|
+
import { createInterface } from 'node:readline';
|
|
20
|
+
import { EventEmitter } from 'node:events';
|
|
21
|
+
import WebSocket from 'ws';
|
|
22
|
+
/**
|
|
23
|
+
* A line-oriented duplex transport to an MCPL server.
|
|
24
|
+
*
|
|
25
|
+
* Events:
|
|
26
|
+
* - `'line'` `(line: string)` one inbound NDJSON line (no newline)
|
|
27
|
+
* - `'stderr'` `(line: string)` diagnostic line (stdio child stderr; never WS)
|
|
28
|
+
* - `'error'` `(err: Error)` transport-level error
|
|
29
|
+
* - `'close'` `(info: TransportCloseInfo)` transport closed (once)
|
|
30
|
+
*
|
|
31
|
+
* Inbound `'line'`/`'stderr'` events are buffered until the first matching
|
|
32
|
+
* listener attaches (and re-buffered whenever there are none), so no message is
|
|
33
|
+
* lost across the handshake→routing handoff regardless of attach timing.
|
|
34
|
+
*/
|
|
35
|
+
export class McplTransport extends EventEmitter {
|
|
36
|
+
_closed = false;
|
|
37
|
+
lineBuffer = [];
|
|
38
|
+
stderrBuffer = [];
|
|
39
|
+
constructor() {
|
|
40
|
+
super();
|
|
41
|
+
// Flush buffered inbound lines the moment a consumer subscribes.
|
|
42
|
+
this.on('newListener', (event) => {
|
|
43
|
+
if (event === 'line' && this.lineBuffer.length > 0) {
|
|
44
|
+
const pending = this.lineBuffer;
|
|
45
|
+
this.lineBuffer = [];
|
|
46
|
+
queueMicrotask(() => { for (const l of pending)
|
|
47
|
+
this.emit('line', l); });
|
|
48
|
+
}
|
|
49
|
+
else if (event === 'stderr' && this.stderrBuffer.length > 0) {
|
|
50
|
+
const pending = this.stderrBuffer;
|
|
51
|
+
this.stderrBuffer = [];
|
|
52
|
+
queueMicrotask(() => { for (const l of pending)
|
|
53
|
+
this.emit('stderr', l); });
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
get closed() {
|
|
58
|
+
return this._closed;
|
|
59
|
+
}
|
|
60
|
+
/** Deliver an inbound line, buffering it if nobody is listening yet. */
|
|
61
|
+
pushLine(line) {
|
|
62
|
+
if (this.listenerCount('line') > 0)
|
|
63
|
+
this.emit('line', line);
|
|
64
|
+
else
|
|
65
|
+
this.lineBuffer.push(line);
|
|
66
|
+
}
|
|
67
|
+
/** Deliver a diagnostic line, buffering it if nobody is listening yet. */
|
|
68
|
+
pushStderr(line) {
|
|
69
|
+
if (this.listenerCount('stderr') > 0)
|
|
70
|
+
this.emit('stderr', line);
|
|
71
|
+
else
|
|
72
|
+
this.stderrBuffer.push(line);
|
|
73
|
+
}
|
|
74
|
+
/** Emit 'close' exactly once. */
|
|
75
|
+
markClosed(info) {
|
|
76
|
+
if (this._closed)
|
|
77
|
+
return;
|
|
78
|
+
this._closed = true;
|
|
79
|
+
this.emit('close', info);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// stdio
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
export class StdioTransport extends McplTransport {
|
|
86
|
+
child;
|
|
87
|
+
rl;
|
|
88
|
+
kind = 'stdio';
|
|
89
|
+
constructor(child, rl) {
|
|
90
|
+
super();
|
|
91
|
+
this.child = child;
|
|
92
|
+
this.rl = rl;
|
|
93
|
+
this.rl.on('line', (line) => this.pushLine(line));
|
|
94
|
+
// Stitch stderr chunks into whole lines (a chunk can split a line).
|
|
95
|
+
let carry = '';
|
|
96
|
+
this.child.stderr?.on('data', (chunk) => {
|
|
97
|
+
const text = carry + chunk.toString('utf8');
|
|
98
|
+
const lines = text.split('\n');
|
|
99
|
+
carry = lines.pop() ?? '';
|
|
100
|
+
for (const l of lines)
|
|
101
|
+
if (l.length > 0)
|
|
102
|
+
this.pushStderr(l);
|
|
103
|
+
});
|
|
104
|
+
this.child.on('error', (err) => this.emit('error', err));
|
|
105
|
+
this.child.on('exit', (code, signal) => this.markClosed({ code, signal, reason: 'child process exited' }));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Spawn `config.command` and return a ready stdio transport. Rejects if the
|
|
109
|
+
* command is missing (a config bug) or the process fails to spawn.
|
|
110
|
+
*/
|
|
111
|
+
static spawn(config) {
|
|
112
|
+
if (!config.command) {
|
|
113
|
+
throw new Error(`MCPL server "${config.id}": stdio transport requires "command" (none provided)`);
|
|
114
|
+
}
|
|
115
|
+
const child = spawn(config.command, config.args ?? [], {
|
|
116
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
117
|
+
env: { ...process.env, ...config.env },
|
|
118
|
+
});
|
|
119
|
+
const rl = createInterface({ input: child.stdout });
|
|
120
|
+
return new StdioTransport(child, rl);
|
|
121
|
+
}
|
|
122
|
+
writeLine(json) {
|
|
123
|
+
// stdin may be gone if the child died between the closed-check and here.
|
|
124
|
+
this.child.stdin?.write(json + '\n');
|
|
125
|
+
}
|
|
126
|
+
async close() {
|
|
127
|
+
this.markClosed({ reason: 'closed by host' });
|
|
128
|
+
this.rl.close();
|
|
129
|
+
if (this.child && !this.child.killed) {
|
|
130
|
+
this.child.kill();
|
|
131
|
+
}
|
|
132
|
+
await new Promise((resolve) => {
|
|
133
|
+
if (!this.child || this.child.exitCode !== null || this.child.killed) {
|
|
134
|
+
resolve();
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.child.once('exit', () => resolve());
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
// WebSocket
|
|
144
|
+
// ---------------------------------------------------------------------------
|
|
145
|
+
/** Timeout for the WebSocket to reach OPEN before we give up (ms). */
|
|
146
|
+
const WS_OPEN_TIMEOUT_MS = 15_000;
|
|
147
|
+
export class WebSocketTransport extends McplTransport {
|
|
148
|
+
ws;
|
|
149
|
+
kind = 'websocket';
|
|
150
|
+
constructor(ws) {
|
|
151
|
+
super();
|
|
152
|
+
this.ws = ws;
|
|
153
|
+
this.ws.on('message', (data, isBinary) => {
|
|
154
|
+
// MCPL frames are UTF-8 JSON text. A frame MAY contain multiple
|
|
155
|
+
// newline-delimited messages or a trailing newline; split defensively.
|
|
156
|
+
const text = isBinary ? data.toString('utf8') : String(data);
|
|
157
|
+
for (const line of text.split('\n')) {
|
|
158
|
+
const trimmed = line.trim();
|
|
159
|
+
if (trimmed.length > 0)
|
|
160
|
+
this.pushLine(trimmed);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
this.ws.on('error', (err) => this.emit('error', err));
|
|
164
|
+
this.ws.on('close', (code, reason) => this.markClosed({ code, reason: reason?.toString('utf8') || 'websocket closed' }));
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Dial `config.url` and resolve once the socket is OPEN. Appends `?token=`
|
|
168
|
+
* when `config.token` is set. Rejects on connect error / timeout (and tears
|
|
169
|
+
* the socket down) so a failed dial never leaks an open handle.
|
|
170
|
+
*/
|
|
171
|
+
static open(config) {
|
|
172
|
+
const url = buildWebSocketUrl(config);
|
|
173
|
+
const ws = new WebSocket(url);
|
|
174
|
+
return new Promise((resolve, reject) => {
|
|
175
|
+
let settled = false;
|
|
176
|
+
const timer = setTimeout(() => {
|
|
177
|
+
if (settled)
|
|
178
|
+
return;
|
|
179
|
+
settled = true;
|
|
180
|
+
ws.removeAllListeners();
|
|
181
|
+
try {
|
|
182
|
+
ws.terminate();
|
|
183
|
+
}
|
|
184
|
+
catch { /* already gone */ }
|
|
185
|
+
reject(new Error(`MCPL server "${config.id}" WebSocket connect timed out after ${WS_OPEN_TIMEOUT_MS}ms (${url})`));
|
|
186
|
+
}, WS_OPEN_TIMEOUT_MS);
|
|
187
|
+
ws.once('open', () => {
|
|
188
|
+
if (settled)
|
|
189
|
+
return;
|
|
190
|
+
settled = true;
|
|
191
|
+
clearTimeout(timer);
|
|
192
|
+
ws.removeAllListeners('error'); // the instance re-attaches its own handlers
|
|
193
|
+
resolve(new WebSocketTransport(ws));
|
|
194
|
+
});
|
|
195
|
+
ws.once('error', (err) => {
|
|
196
|
+
if (settled)
|
|
197
|
+
return;
|
|
198
|
+
settled = true;
|
|
199
|
+
clearTimeout(timer);
|
|
200
|
+
ws.removeAllListeners();
|
|
201
|
+
try {
|
|
202
|
+
ws.terminate();
|
|
203
|
+
}
|
|
204
|
+
catch { /* already gone */ }
|
|
205
|
+
reject(new Error(`MCPL server "${config.id}" WebSocket connect failed: ${err.message} (${url})`));
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
writeLine(json) {
|
|
210
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
|
211
|
+
this.ws.send(json);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
async close() {
|
|
215
|
+
this.markClosed({ reason: 'closed by host' });
|
|
216
|
+
await new Promise((resolve) => {
|
|
217
|
+
if (this.ws.readyState === WebSocket.CLOSED) {
|
|
218
|
+
resolve();
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
this.ws.once('close', () => resolve());
|
|
222
|
+
try {
|
|
223
|
+
this.ws.close();
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
try {
|
|
227
|
+
this.ws.terminate();
|
|
228
|
+
}
|
|
229
|
+
catch { /* already gone */ }
|
|
230
|
+
resolve();
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Build the dial URL: validate it's a ws(s):// URL and append the auth token as
|
|
237
|
+
* a `token` query param when provided (preserving any existing query).
|
|
238
|
+
*/
|
|
239
|
+
export function buildWebSocketUrl(config) {
|
|
240
|
+
if (!config.url) {
|
|
241
|
+
throw new Error(`MCPL server "${config.id}": websocket transport requires "url" (none provided)`);
|
|
242
|
+
}
|
|
243
|
+
let parsed;
|
|
244
|
+
try {
|
|
245
|
+
parsed = new URL(config.url);
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
throw new Error(`MCPL server "${config.id}": invalid WebSocket url "${config.url}"`);
|
|
249
|
+
}
|
|
250
|
+
if (parsed.protocol !== 'ws:' && parsed.protocol !== 'wss:') {
|
|
251
|
+
throw new Error(`MCPL server "${config.id}": websocket url must be ws:// or wss://, got "${parsed.protocol}"`);
|
|
252
|
+
}
|
|
253
|
+
if (config.token) {
|
|
254
|
+
parsed.searchParams.set('token', config.token);
|
|
255
|
+
}
|
|
256
|
+
return parsed.toString();
|
|
257
|
+
}
|
|
258
|
+
// ---------------------------------------------------------------------------
|
|
259
|
+
// Factory
|
|
260
|
+
// ---------------------------------------------------------------------------
|
|
261
|
+
/** True when the config selects the WebSocket transport (explicit `transport`,
|
|
262
|
+
* or a `url` with no `command`). */
|
|
263
|
+
export function isWebSocketTransport(config) {
|
|
264
|
+
if (config.transport === 'websocket')
|
|
265
|
+
return true;
|
|
266
|
+
if (config.transport === 'stdio')
|
|
267
|
+
return false;
|
|
268
|
+
return Boolean(config.url) && !config.command;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Open the transport selected by `config` (WebSocket when `transport` is
|
|
272
|
+
* 'websocket' or a bare `url` is given; stdio otherwise). The returned transport
|
|
273
|
+
* is connected at the byte level but has NOT performed the MCPL handshake.
|
|
274
|
+
*/
|
|
275
|
+
export async function openTransport(config) {
|
|
276
|
+
if (isWebSocketTransport(config)) {
|
|
277
|
+
return WebSocketTransport.open(config);
|
|
278
|
+
}
|
|
279
|
+
return StdioTransport.spawn(config);
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/mcpl/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mcpl/types.d.ts
CHANGED
|
@@ -126,12 +126,33 @@ export interface McplChannelCapabilities {
|
|
|
126
126
|
export interface McplServerConfig {
|
|
127
127
|
/** Unique server identifier */
|
|
128
128
|
id: string;
|
|
129
|
-
/**
|
|
130
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Command to spawn the server process (stdio transport). Mutually exclusive
|
|
131
|
+
* with `url`. Required for the stdio transport; omit it (and set `url`) for
|
|
132
|
+
* the WebSocket transport.
|
|
133
|
+
*/
|
|
134
|
+
command?: string;
|
|
131
135
|
/** Arguments for the command */
|
|
132
136
|
args?: string[];
|
|
133
137
|
/** Environment variables for the child process */
|
|
134
138
|
env?: Record<string, string>;
|
|
139
|
+
/**
|
|
140
|
+
* WebSocket URL for the network transport (`ws://` or `wss://`). Mutually
|
|
141
|
+
* exclusive with `command`. When set (or `transport: 'websocket'`), the host
|
|
142
|
+
* dials this endpoint instead of spawning a process — newline-delimited
|
|
143
|
+
* JSON-RPC MCPL runs over the socket identically to stdio.
|
|
144
|
+
*/
|
|
145
|
+
url?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Transport selector. Defaults to `'websocket'` when a bare `url` is given
|
|
148
|
+
* (no `command`), `'stdio'` otherwise. Set explicitly to disambiguate.
|
|
149
|
+
*/
|
|
150
|
+
transport?: 'stdio' | 'websocket';
|
|
151
|
+
/**
|
|
152
|
+
* Bearer token for WebSocket auth. Appended to `url` as a `token` query
|
|
153
|
+
* parameter (`?token=…`) on connect. Ignored by the stdio transport.
|
|
154
|
+
*/
|
|
155
|
+
token?: string;
|
|
135
156
|
/** Feature sets to enable on connect */
|
|
136
157
|
enabledFeatureSets?: string[];
|
|
137
158
|
/** Feature sets to explicitly disable on connect */
|
|
@@ -223,6 +244,15 @@ export interface FeatureSetDeclaration {
|
|
|
223
244
|
rollback?: boolean;
|
|
224
245
|
/** Whether host manages state persistence for this feature set (Section 8.1) */
|
|
225
246
|
hostState?: boolean;
|
|
247
|
+
/** Optional, open-world tag ontology for this feature set's events
|
|
248
|
+
* (MCPL RFC-001 §5). A hint catalog — hosts tolerate undeclared tags. */
|
|
249
|
+
tagOntology?: {
|
|
250
|
+
coreTags?: string[];
|
|
251
|
+
tags?: Record<string, unknown>;
|
|
252
|
+
keyed?: Record<string, unknown>;
|
|
253
|
+
defaultTreatment?: unknown[];
|
|
254
|
+
open?: boolean;
|
|
255
|
+
};
|
|
226
256
|
}
|
|
227
257
|
/**
|
|
228
258
|
* featureSets/update params (Host → Server, Notification).
|
|
@@ -297,6 +327,12 @@ export interface StateCheckpoint {
|
|
|
297
327
|
checkpoint: string;
|
|
298
328
|
/** Parent checkpoint (null for root) */
|
|
299
329
|
parent: string | null;
|
|
330
|
+
/**
|
|
331
|
+
* Owning feature set, when the server tags it. Authoritative signal for
|
|
332
|
+
* attributing this checkpoint — lets the host record it to the right set
|
|
333
|
+
* instead of guessing when a server has more than one stateful feature set.
|
|
334
|
+
*/
|
|
335
|
+
featureSet?: string;
|
|
300
336
|
/**
|
|
301
337
|
* Full state data (for host-managed state).
|
|
302
338
|
* Mutually exclusive with `patch`.
|
|
@@ -352,6 +388,8 @@ export interface PushEventParams {
|
|
|
352
388
|
timestamp: string;
|
|
353
389
|
/** Provenance metadata (server-defined) */
|
|
354
390
|
origin?: Record<string, unknown>;
|
|
391
|
+
/** Semantic classification the host may route on (MCPL RFC-001). */
|
|
392
|
+
tags?: string[];
|
|
355
393
|
/** Event payload */
|
|
356
394
|
payload: {
|
|
357
395
|
/** Content for the model to interpret */
|
|
@@ -696,6 +734,8 @@ export interface ChannelIncomingMessage {
|
|
|
696
734
|
content: McplContentBlock[];
|
|
697
735
|
/** Platform-specific metadata */
|
|
698
736
|
metadata?: Record<string, unknown>;
|
|
737
|
+
/** Semantic classification the host may route on (MCPL RFC-001). */
|
|
738
|
+
tags?: string[];
|
|
699
739
|
}
|
|
700
740
|
/**
|
|
701
741
|
* channels/incoming params (Server → Host, Request).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcpl/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcpl/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcpl/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcpl/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAs9BH,+EAA+E;AAC/E,mDAAmD;AACnD,+EAA+E;AAE/E,oDAAoD;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IAEvB,gCAAgC;IAChC,eAAe,EAAE,yBAAyB;IAC1C,cAAc,EAAE,wBAAwB;IAExC,6DAA6D;IAC7D,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;IAEjC,6BAA6B;IAC7B,SAAS,EAAE,YAAY;IAEvB,eAAe;IACf,iBAAiB,EAAE,oBAAoB;IACvC,kBAAkB,EAAE,qBAAqB;IAEzC,gCAAgC;IAChC,YAAY,EAAE,eAAe;IAE7B,mCAAmC;IACnC,aAAa,EAAE,gBAAgB;IAE/B,WAAW;IACX,gBAAgB,EAAE,mBAAmB;IACrC,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,qBAAqB,EAAE,yBAAyB;IAChD,wBAAwB,EAAE,4BAA4B;IACtD,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;CACzB,CAAC"}
|
|
@@ -20,6 +20,7 @@ export declare class ModuleRegistry {
|
|
|
20
20
|
private queryMessagesFn;
|
|
21
21
|
private pushEventFn;
|
|
22
22
|
private onTraceFn;
|
|
23
|
+
private callToolFn;
|
|
23
24
|
constructor(store: JsStore, queue: ProcessQueue, options: {
|
|
24
25
|
getAgents: () => Agent[];
|
|
25
26
|
addMessage: (participant: string, content: ContentBlock[], metadata?: MessageMetadata) => MessageId;
|
|
@@ -29,6 +30,7 @@ export declare class ModuleRegistry {
|
|
|
29
30
|
queryMessages: (filter: MessageQuery) => MessageQueryResult;
|
|
30
31
|
pushEvent: (event: ProcessEvent) => void;
|
|
31
32
|
onTrace: (listener: TraceEventListener) => () => void;
|
|
33
|
+
callTool: (call: ToolCall) => Promise<ToolResult>;
|
|
32
34
|
});
|
|
33
35
|
/**
|
|
34
36
|
* Register and start a module.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/module-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,MAAM,EAEN,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EAGV,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcxC;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAA0F;IAC9G,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,eAAe,CAA+C;IAEtE,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,SAAS,CAA+C;
|
|
1
|
+
{"version":3,"file":"module-registry.d.ts","sourceRoot":"","sources":["../../src/module-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,MAAM,EAEN,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EAGV,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcxC;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAA0F;IAC9G,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,eAAe,CAA+C;IAEtE,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,UAAU,CAA0C;gBAG1D,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,KAAK,EAAE,CAAC;QACzB,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE,eAAe,KAAK,SAAS,CAAC;QACpG,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;QAC9D,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;QACvC,UAAU,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,aAAa,GAAG,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,kBAAkB,CAAC;QAC5D,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,MAAM,IAAI,CAAC;QACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KACnD;IAeH;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C9C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAInD;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOxD;;OAEG;IACH,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAQ/C;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAQpD;;OAEG;IACH,WAAW,IAAI,cAAc,EAAE;IAa/B;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA0CzD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,EACtB,OAAO,GAAE,oBAAyB,GACjC,IAAI;IAgBP;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMjD;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmBrF;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAsBhB,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -16,6 +16,7 @@ export class ModuleRegistry {
|
|
|
16
16
|
queryMessagesFn;
|
|
17
17
|
pushEventFn;
|
|
18
18
|
onTraceFn;
|
|
19
|
+
callToolFn;
|
|
19
20
|
constructor(store, queue, options) {
|
|
20
21
|
this.store = store;
|
|
21
22
|
this.queue = queue;
|
|
@@ -27,6 +28,7 @@ export class ModuleRegistry {
|
|
|
27
28
|
this.queryMessagesFn = options.queryMessages;
|
|
28
29
|
this.pushEventFn = options.pushEvent;
|
|
29
30
|
this.onTraceFn = options.onTrace;
|
|
31
|
+
this.callToolFn = options.callTool;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* Register and start a module.
|
|
@@ -50,7 +52,7 @@ export class ModuleRegistry {
|
|
|
50
52
|
const existingState = this.store.getStateJson(stateId);
|
|
51
53
|
const isRestart = existingState !== null;
|
|
52
54
|
// Create context
|
|
53
|
-
const context = new ModuleContextImpl(module.name, this.store, stateId, this.queue, this, isRestart, this.getAgents, this.addMessageFn, this.editMessageFn, this.removeMessageFn, this.getMessageFn, this.queryMessagesFn, this.pushEventFn, this.onTraceFn);
|
|
55
|
+
const context = new ModuleContextImpl(module.name, this.store, stateId, this.queue, this, isRestart, this.getAgents, this.addMessageFn, this.editMessageFn, this.removeMessageFn, this.getMessageFn, this.queryMessagesFn, this.pushEventFn, this.onTraceFn, this.callToolFn);
|
|
54
56
|
this.modules.set(module.name, module);
|
|
55
57
|
this.moduleContexts.set(module.name, context);
|
|
56
58
|
// Start the module
|
|
@@ -257,9 +259,10 @@ class ModuleContextImpl {
|
|
|
257
259
|
queryMessagesFn;
|
|
258
260
|
pushEventFn;
|
|
259
261
|
onTraceFn;
|
|
262
|
+
callToolFn;
|
|
260
263
|
// External ID mapping stored in module state
|
|
261
264
|
externalIdMap = new Map();
|
|
262
|
-
constructor(moduleName, store, stateId, queue, registry, isRestart, getAgents, addMessage, editMessage, removeMessage, getMessage, queryMessages, pushEvent, onTrace) {
|
|
265
|
+
constructor(moduleName, store, stateId, queue, registry, isRestart, getAgents, addMessage, editMessage, removeMessage, getMessage, queryMessages, pushEvent, onTrace, callTool) {
|
|
263
266
|
this.moduleName = moduleName;
|
|
264
267
|
this.store = store;
|
|
265
268
|
this.stateId = stateId;
|
|
@@ -274,6 +277,7 @@ class ModuleContextImpl {
|
|
|
274
277
|
this.queryMessagesFn = queryMessages;
|
|
275
278
|
this.pushEventFn = pushEvent;
|
|
276
279
|
this.onTraceFn = onTrace;
|
|
280
|
+
this.callToolFn = callTool;
|
|
277
281
|
// Load external ID map from state if exists
|
|
278
282
|
const state = this.getState();
|
|
279
283
|
if (state?.externalIdMap) {
|
|
@@ -298,6 +302,9 @@ class ModuleContextImpl {
|
|
|
298
302
|
onTrace(listener) {
|
|
299
303
|
return this.onTraceFn(listener);
|
|
300
304
|
}
|
|
305
|
+
callTool(call) {
|
|
306
|
+
return this.callToolFn(call);
|
|
307
|
+
}
|
|
301
308
|
addMessage(participant, content, metadata) {
|
|
302
309
|
const id = this.addMessageFn(participant, content, metadata);
|
|
303
310
|
// Track external ID if provided
|