@animalabs/agent-framework 0.5.7 → 0.6.2
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/agent.d.ts +4 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +15 -0
- package/dist/src/agent.js.map +1 -1
- package/dist/src/framework.d.ts +243 -0
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1378 -114
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +64 -2
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +212 -12
- 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/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +60 -2
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +114 -9
- 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 +5 -0
- package/dist/src/mcpl/push-handler.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +64 -30
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +247 -210
- 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 +59 -3
- 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 +17 -1
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +101 -6
- 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 +47 -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 +58 -0
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +42 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/test/agent-cache-ttl.test.d.ts +2 -0
- package/dist/test/agent-cache-ttl.test.d.ts.map +1 -0
- package/dist/test/agent-cache-ttl.test.js +25 -0
- package/dist/test/agent-cache-ttl.test.js.map +1 -0
- 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/conversation-fork-injection-scoping.test.d.ts +2 -0
- package/dist/test/conversation-fork-injection-scoping.test.d.ts.map +1 -0
- package/dist/test/conversation-fork-injection-scoping.test.js +184 -0
- package/dist/test/conversation-fork-injection-scoping.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/gather-context-timeout.test.d.ts +2 -0
- package/dist/test/gather-context-timeout.test.d.ts.map +1 -0
- package/dist/test/gather-context-timeout.test.js +120 -0
- package/dist/test/gather-context-timeout.test.js.map +1 -0
- package/dist/test/inference-exhaustion-rewind.test.d.ts +2 -0
- package/dist/test/inference-exhaustion-rewind.test.d.ts.map +1 -0
- package/dist/test/inference-exhaustion-rewind.test.js +181 -0
- package/dist/test/inference-exhaustion-rewind.test.js.map +1 -0
- package/dist/test/inference-failure-observability.test.js +4 -0
- package/dist/test/inference-failure-observability.test.js.map +1 -1
- 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-reconnect-events.test.d.ts +2 -0
- package/dist/test/mcpl-reconnect-events.test.d.ts.map +1 -0
- package/dist/test/mcpl-reconnect-events.test.js +119 -0
- package/dist/test/mcpl-reconnect-events.test.js.map +1 -0
- package/dist/test/mcpl-reconnect-reregistration.test.d.ts +2 -0
- package/dist/test/mcpl-reconnect-reregistration.test.d.ts.map +1 -0
- package/dist/test/mcpl-reconnect-reregistration.test.js +181 -0
- package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -0
- package/dist/test/mcpl-request-timeout.test.d.ts +2 -0
- package/dist/test/mcpl-request-timeout.test.d.ts.map +1 -0
- package/dist/test/mcpl-request-timeout.test.js +123 -0
- package/dist/test/mcpl-request-timeout.test.js.map +1 -0
- package/dist/test/mcpl-runtime-lifecycle.test.d.ts +7 -0
- package/dist/test/mcpl-runtime-lifecycle.test.d.ts.map +1 -0
- package/dist/test/mcpl-runtime-lifecycle.test.js +142 -0
- package/dist/test/mcpl-runtime-lifecycle.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/refusal-rewind.test.d.ts +2 -0
- package/dist/test/refusal-rewind.test.d.ts.map +1 -0
- package/dist/test/refusal-rewind.test.js +108 -0
- package/dist/test/refusal-rewind.test.js.map +1 -0
- package/dist/test/state-scaling-e2e.test.d.ts +22 -0
- package/dist/test/state-scaling-e2e.test.d.ts.map +1 -0
- package/dist/test/state-scaling-e2e.test.js +200 -0
- package/dist/test/state-scaling-e2e.test.js.map +1 -0
- package/dist/test/state-scaling.test.d.ts +12 -0
- package/dist/test/state-scaling.test.d.ts.map +1 -0
- package/dist/test/state-scaling.test.js +243 -0
- package/dist/test/state-scaling.test.js.map +1 -0
- package/dist/test/tool-result-content.test.d.ts +2 -0
- package/dist/test/tool-result-content.test.d.ts.map +1 -0
- package/dist/test/tool-result-content.test.js +37 -0
- package/dist/test/tool-result-content.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 +4 -3
- package/src/agent.ts +16 -0
- package/src/framework.ts +1576 -121
- package/src/gate/event-gate.ts +209 -12
- 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/index.ts +10 -0
- package/src/mcpl/channel-registry.ts +143 -8
- package/src/mcpl/checkpoint-manager.ts +16 -0
- package/src/mcpl/push-handler.ts +5 -0
- package/src/mcpl/server-connection.ts +262 -227
- package/src/mcpl/transport.ts +307 -0
- package/src/mcpl/types.ts +68 -3
- package/src/module-registry.ts +126 -6
- 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 +48 -0
- package/src/types/framework.ts +15 -0
- package/src/types/module.ts +65 -0
- package/src/types/trace.ts +51 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* McplServerConnection — manages a single JSON-RPC 2.0 connection to an MCPL server.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Connects over a pluggable {@link McplTransport} (a spawned stdio child OR a
|
|
5
|
+
* WebSocket), performs the MCP initialize handshake with MCPL capability
|
|
6
|
+
* negotiation, and provides typed methods for all outbound MCPL messages plus
|
|
7
|
+
* EventEmitter events for inbound messages. The handshake, message routing, and
|
|
8
|
+
* every send path are transport-agnostic — they operate on NDJSON lines, so
|
|
9
|
+
* stdio and WebSocket behave identically above the transport seam.
|
|
7
10
|
*/
|
|
8
|
-
import { type ChildProcess } from 'node:child_process';
|
|
9
|
-
import { type Interface as ReadlineInterface } from 'node:readline';
|
|
10
11
|
import { EventEmitter } from 'node:events';
|
|
11
12
|
import type { McplServerConfig, McplCapabilities, McplHostCapabilities, BeforeInferenceParams, BeforeInferenceResult, AfterInferenceParams, AfterInferenceResult, FeatureSetsUpdateParams, InferenceChunkParams, StateRollbackParams, StateRollbackResult, ChannelsOpenParams, ChannelsOpenResult, ChannelsCloseParams, ChannelsCloseResult, ChannelsListResult, ChannelsPublishParams, ChannelsPublishResult, ChannelsOutgoingChunkParams, ChannelsOutgoingCompleteParams, McpToolDefinition, McpToolCallResult } from './types.js';
|
|
12
13
|
/**
|
|
@@ -24,26 +25,40 @@ import type { McplServerConfig, McplCapabilities, McplHostCapabilities, BeforeIn
|
|
|
24
25
|
* - `'feature-sets-changed'` — Server sent `featureSets/changed`
|
|
25
26
|
* - `'error'` — Connection-level error
|
|
26
27
|
* - `'close'` — Connection closed
|
|
28
|
+
* - `'connect-failed'` — Initial connect failed; background retry scheduled
|
|
29
|
+
* - `'reconnect-failed'` — A background reconnect attempt failed; next retry scheduled
|
|
30
|
+
* - `'reconnect'` — Background reconnect succeeded
|
|
27
31
|
*/
|
|
28
32
|
export declare class McplServerConnection extends EventEmitter {
|
|
29
33
|
/** Unique server identifier from config. */
|
|
30
34
|
readonly id: string;
|
|
31
35
|
/** MCPL capabilities negotiated during the initialize handshake, or null if the server does not support MCPL. */
|
|
32
36
|
capabilities: McplCapabilities | null;
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
/** The active transport (stdio child or WebSocket). Null for a disconnected
|
|
38
|
+
* stub awaiting its first background reconnect. */
|
|
39
|
+
private transport;
|
|
40
|
+
/** Whether the connection currently has a live transport. False for closed
|
|
41
|
+
* connections and disconnected reconnect-stubs awaiting a retry. */
|
|
42
|
+
get isConnected(): boolean;
|
|
35
43
|
private nextRequestId;
|
|
36
44
|
private pendingRequests;
|
|
37
45
|
private closed;
|
|
46
|
+
/** Per-request timeout in ms (0 disables). See McplServerConfig.requestTimeoutMs. */
|
|
47
|
+
private requestTimeoutMs;
|
|
38
48
|
private readyFlag;
|
|
39
49
|
private bufferedEvents;
|
|
40
50
|
private config;
|
|
41
51
|
private hostCapabilities;
|
|
42
52
|
private reconnectEnabled;
|
|
43
53
|
private reconnectIntervalMs;
|
|
54
|
+
private reconnectMaxIntervalMs;
|
|
44
55
|
private reconnectTimer;
|
|
45
|
-
/**
|
|
46
|
-
|
|
56
|
+
/** Consecutive failed connect attempts since the last successful handshake.
|
|
57
|
+
* Drives the exponential backoff and is reported on reconnect events. */
|
|
58
|
+
private reconnectAttempts;
|
|
59
|
+
/** Whether a background reconnect loop will revive this connection after a
|
|
60
|
+
* drop. False once close() has been called (explicit close stops retrying). */
|
|
61
|
+
get willReconnect(): boolean;
|
|
47
62
|
/**
|
|
48
63
|
* Private constructor. Use `McplServerConnection.connect()` instead.
|
|
49
64
|
*/
|
|
@@ -60,19 +75,22 @@ export declare class McplServerConnection extends EventEmitter {
|
|
|
60
75
|
*/
|
|
61
76
|
emit(event: string | symbol, ...args: unknown[]): boolean;
|
|
62
77
|
/**
|
|
63
|
-
*
|
|
64
|
-
* supplied callback. The callback can be swapped at any time via `rebind`
|
|
65
|
-
* (used during reconnect, when we want already-wired pipes to target a new
|
|
66
|
-
* emitter).
|
|
67
|
-
*/
|
|
68
|
-
private static wireStderrForwarding;
|
|
69
|
-
/**
|
|
70
|
-
* Spawn a server process, perform the MCP initialize handshake with MCPL
|
|
78
|
+
* Open the transport, perform the MCP initialize handshake with MCPL
|
|
71
79
|
* capability negotiation, and return a ready-to-use connection.
|
|
72
80
|
*
|
|
73
|
-
*
|
|
81
|
+
* Works over stdio (spawned child) or WebSocket, selected by `config` (see
|
|
82
|
+
* {@link openTransport}). Throws if the transport can't be opened, the server
|
|
83
|
+
* closes/errors before the handshake, or the handshake times out.
|
|
74
84
|
*/
|
|
75
85
|
static connect(config: McplServerConfig, hostCapabilities: McplHostCapabilities): Promise<McplServerConnection>;
|
|
86
|
+
/**
|
|
87
|
+
* Open a fresh transport and run the MCP/MCPL initialize handshake over it,
|
|
88
|
+
* returning the connected transport plus the negotiated capabilities. Shared
|
|
89
|
+
* by {@link connect} and {@link attemptReconnect} so both transports handshake
|
|
90
|
+
* identically. On any failure the transport is closed so a spawned child /
|
|
91
|
+
* open socket never leaks.
|
|
92
|
+
*/
|
|
93
|
+
private static handshake;
|
|
76
94
|
/**
|
|
77
95
|
* Connect with reconnect support.
|
|
78
96
|
* When `config.reconnect` is true and the initial connection fails,
|
|
@@ -86,15 +104,6 @@ export declare class McplServerConnection extends EventEmitter {
|
|
|
86
104
|
* @internal
|
|
87
105
|
*/
|
|
88
106
|
private static createDisconnectedStub;
|
|
89
|
-
/**
|
|
90
|
-
* Extract internals for transfer during reconnection.
|
|
91
|
-
* Strips the source connection — caller takes ownership of the process/readline.
|
|
92
|
-
* @internal Used only by attemptReconnect().
|
|
93
|
-
*/
|
|
94
|
-
extractInternals(): {
|
|
95
|
-
process: ChildProcess;
|
|
96
|
-
readline: ReadlineInterface;
|
|
97
|
-
};
|
|
98
107
|
/** Send `context/beforeInference` and await result. */
|
|
99
108
|
sendBeforeInference(params: BeforeInferenceParams): Promise<BeforeInferenceResult>;
|
|
100
109
|
/**
|
|
@@ -146,15 +155,32 @@ export declare class McplServerConnection extends EventEmitter {
|
|
|
146
155
|
close(): Promise<void>;
|
|
147
156
|
/**
|
|
148
157
|
* Schedule a background reconnection attempt.
|
|
158
|
+
*
|
|
159
|
+
* Delay grows exponentially with consecutive failures (base
|
|
160
|
+
* `reconnectIntervalMs`, doubling per failure, capped at
|
|
161
|
+
* `reconnectMaxIntervalMs`) with ±25% jitter so a fleet of servers that
|
|
162
|
+
* died together doesn't thundering-herd the same instant. The counter
|
|
163
|
+
* resets on a successful handshake, so a later disconnect starts over at
|
|
164
|
+
* the base interval.
|
|
149
165
|
*/
|
|
150
166
|
private scheduleReconnect;
|
|
151
167
|
/**
|
|
152
|
-
* Attempt to reconnect by
|
|
168
|
+
* Attempt to reconnect by opening a fresh transport and performing the
|
|
169
|
+
* handshake, then adopting that transport in place. Unlike the previous
|
|
170
|
+
* approach this builds no throwaway connection instance, so there are no
|
|
171
|
+
* leaked listeners on a dead object.
|
|
153
172
|
*/
|
|
154
173
|
private attemptReconnect;
|
|
155
174
|
/**
|
|
156
175
|
* Send a JSON-RPC request and return a promise that resolves with the result
|
|
157
176
|
* or rejects with a JSON-RPC error.
|
|
177
|
+
*
|
|
178
|
+
* Every request carries a timeout (default 60s, configurable via
|
|
179
|
+
* McplServerConfig.requestTimeoutMs, 0 disables): a live-but-stuck server
|
|
180
|
+
* that accepts a request and never answers rejects the pending promise with
|
|
181
|
+
* a descriptive error instead of freezing the caller forever. For tools/call
|
|
182
|
+
* the framework maps the rejection to an isError tool_result, so a hung tool
|
|
183
|
+
* surfaces as a normal tool error and the turn completes.
|
|
158
184
|
*/
|
|
159
185
|
private sendRequest;
|
|
160
186
|
/**
|
|
@@ -166,7 +192,13 @@ export declare class McplServerConnection extends EventEmitter {
|
|
|
166
192
|
*/
|
|
167
193
|
private static readonly METHOD_TO_EVENT;
|
|
168
194
|
/**
|
|
169
|
-
*
|
|
195
|
+
* Bind all transport-level handlers (inbound routing, lifecycle, stderr) to a
|
|
196
|
+
* transport. Called from the constructor and again from attemptReconnect when
|
|
197
|
+
* a new transport is adopted.
|
|
198
|
+
*/
|
|
199
|
+
private wireTransport;
|
|
200
|
+
/**
|
|
201
|
+
* Wire up the transport's line stream to route incoming JSON-RPC messages.
|
|
170
202
|
*/
|
|
171
203
|
private setupMessageRouting;
|
|
172
204
|
/**
|
|
@@ -182,7 +214,9 @@ export declare class McplServerConnection extends EventEmitter {
|
|
|
182
214
|
*/
|
|
183
215
|
private sendErrorResponse;
|
|
184
216
|
/**
|
|
185
|
-
* Set up
|
|
217
|
+
* Set up transport error/close handlers. An unexpected transport close
|
|
218
|
+
* (child exit or WebSocket drop) rejects in-flight requests, emits 'close',
|
|
219
|
+
* and — when enabled — schedules a background reconnect.
|
|
186
220
|
*/
|
|
187
221
|
private setupLifecycle;
|
|
188
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
|