staff-mcp 2.0.1 → 2.0.3
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/CHANGELOG.md +14 -0
- package/README.md +37 -39
- package/README_zh.md +37 -39
- package/dist/src/data/HttpDataSession.d.ts +0 -1
- package/dist/src/data/HttpDataSession.js +0 -3
- package/dist/src/data/HttpDataSession.js.map +1 -1
- package/dist/src/docker-proxy.js +7 -0
- package/dist/src/docker-proxy.js.map +1 -1
- package/dist/src/extensions/config.d.ts +1 -15
- package/dist/src/extensions/config.js +2 -36
- package/dist/src/extensions/config.js.map +1 -1
- package/dist/src/extensions/runtime.js +0 -5
- package/dist/src/extensions/runtime.js.map +1 -1
- package/dist/src/file-manager/transfers.d.ts +0 -2
- package/dist/src/file-manager/transfers.js +0 -14
- package/dist/src/file-manager/transfers.js.map +1 -1
- package/dist/src/index.js +17 -57
- package/dist/src/index.js.map +1 -1
- package/dist/src/reverse/SseTransport.d.ts +22 -0
- package/dist/src/reverse/SseTransport.js +176 -30
- package/dist/src/reverse/SseTransport.js.map +1 -1
- package/dist/src/server.js +8 -6
- package/dist/src/server.js.map +1 -1
- package/dist/src/terminal/pty.d.ts +4 -2
- package/dist/src/terminal/pty.js +96 -72
- package/dist/src/terminal/pty.js.map +1 -1
- package/dist/src/terminal/session.d.ts +0 -2
- package/dist/src/terminal/session.js +0 -18
- package/dist/src/terminal/session.js.map +1 -1
- package/dist/src/transports/http.d.ts +1 -10
- package/dist/src/transports/http.js +3 -48
- package/dist/src/transports/http.js.map +1 -1
- package/dist/src/transports/reverse.js +7 -0
- package/dist/src/transports/reverse.js.map +1 -1
- package/docs/file-manager.md +8 -7
- package/docs/terminal.md +12 -7
- package/package.json +2 -2
- package/dist/src/utils/server-activity.d.ts +0 -6
- package/dist/src/utils/server-activity.js +0 -46
- package/dist/src/utils/server-activity.js.map +0 -1
package/dist/src/index.js
CHANGED
|
@@ -7,12 +7,12 @@ import { createServerFactory } from './server.js';
|
|
|
7
7
|
import { buildDockerNameHint, runDockerProxy, preflightDockerExtensions, } from './docker-proxy.js';
|
|
8
8
|
import { STAFF_MCP_PACKAGE_ROOT, STAFF_MCP_VERSION } from './package-info.js';
|
|
9
9
|
import { redirectStdioLogsToStderr, startStdioServer, } from './transports/stdio.js';
|
|
10
|
-
import { getHttpAuthToken, startHttpServer
|
|
10
|
+
import { getHttpAuthToken, startHttpServer } from './transports/http.js';
|
|
11
11
|
import { startReverseServer } from './transports/reverse.js';
|
|
12
12
|
import { ensureStaffDirs, STAFF_TOOLS_DIR, STAFF_SKILLS_DIR, STAFF_PROFILES_DIR, } from './utils/paths.js';
|
|
13
13
|
import { ensureRipgrep } from './utils/tool-utils.js';
|
|
14
14
|
import { configureGlobalProxy } from './utils/proxy.js';
|
|
15
|
-
import { dockerPrivatePaths, parseExtensions,
|
|
15
|
+
import { dockerPrivatePaths, parseExtensions, resolveExtensionOptions, } from './extensions/config.js';
|
|
16
16
|
// Global error handlers to prevent the MCP server from crashing due to unhandled child process errors
|
|
17
17
|
process.on('uncaughtException', (err) => {
|
|
18
18
|
if (err.code === 'ENOENT' &&
|
|
@@ -86,13 +86,6 @@ program
|
|
|
86
86
|
.option('-p, --port <number>', 'Port for HTTP server', '3000')
|
|
87
87
|
.option('-h, --host <address>', 'Host for HTTP server', '127.0.0.1')
|
|
88
88
|
.option('--ht, --http-token <token>', 'Optional bearer token for HTTP transport')
|
|
89
|
-
.option('--http-max-sessions <count>', 'Maximum HTTP sessions per listener, including startup and cleanup', (value) => {
|
|
90
|
-
const count = Number(value);
|
|
91
|
-
if (!Number.isSafeInteger(count) || count <= 0)
|
|
92
|
-
throw new InvalidArgumentError('Expected a positive safe integer.');
|
|
93
|
-
return count;
|
|
94
|
-
}, HTTP_MAX_SESSIONS)
|
|
95
|
-
.option('--http-session-idle-ms <ms>', 'HTTP session idle timeout; active operations and resources prevent eviction', (value) => milliseconds(value), HTTP_SESSION_IDLE_MS)
|
|
96
89
|
.option('--ru, --reverse-url <url>', 'HTTP(S) Web reverse endpoint (e.g. https://web.example/api/mcp/reverse)')
|
|
97
90
|
.option('--rt, --reverse-token <token>', 'Security token for Reverse MCP')
|
|
98
91
|
.option('--rn, --reverse-name <name>', 'Server name for Reverse MCP')
|
|
@@ -113,18 +106,6 @@ program
|
|
|
113
106
|
throw new InvalidArgumentError(error.message);
|
|
114
107
|
}
|
|
115
108
|
})
|
|
116
|
-
.option('--file-root <id=path>', 'Files root (repeatable; defaults to main=workspace; system=/ explicitly allows the full filesystem)', (value, previous = []) => {
|
|
117
|
-
try {
|
|
118
|
-
const root = parseFileRoot(value);
|
|
119
|
-
if (previous.some((item) => item.rootId === root.rootId))
|
|
120
|
-
throw new Error('Duplicate file root id');
|
|
121
|
-
return [...previous, root];
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
throw new InvalidArgumentError(error.message);
|
|
125
|
-
}
|
|
126
|
-
})
|
|
127
|
-
.option('--shell <path>', 'Terminal shell (default: executable $SHELL or /bin/bash)')
|
|
128
109
|
.addOption(new Option('--internal-file-private-path <path>')
|
|
129
110
|
.hideHelp()
|
|
130
111
|
.argParser((value, previous = []) => {
|
|
@@ -143,9 +124,7 @@ program
|
|
|
143
124
|
try {
|
|
144
125
|
extensions = resolveExtensionOptions({
|
|
145
126
|
enabled: options.extensions,
|
|
146
|
-
|
|
147
|
-
shell: options.shell,
|
|
148
|
-
}, path.resolve(options.workingDir));
|
|
127
|
+
});
|
|
149
128
|
}
|
|
150
129
|
catch (error) {
|
|
151
130
|
command.error(error.message);
|
|
@@ -154,10 +133,6 @@ program
|
|
|
154
133
|
if (options.transport === 'http') {
|
|
155
134
|
try {
|
|
156
135
|
getHttpAuthToken(options.httpToken);
|
|
157
|
-
resolveHttpSessionPolicy({
|
|
158
|
-
maxSessions: options.httpMaxSessions,
|
|
159
|
-
idleTimeoutMs: options.httpSessionIdleMs,
|
|
160
|
-
});
|
|
161
136
|
}
|
|
162
137
|
catch (error) {
|
|
163
138
|
console.error(`[staff-mcp] ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -240,20 +215,18 @@ program
|
|
|
240
215
|
bind(dockerToolsDir, `${containerStaffDir}/tools`);
|
|
241
216
|
bind(STAFF_SKILLS_DIR, `${containerStaffDir}/skills`);
|
|
242
217
|
bind(STAFF_PROFILES_DIR, `${containerStaffDir}/profiles`);
|
|
243
|
-
// 4.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
if (extensions.enabled.includes('files')) {
|
|
253
|
-
bind(root.directory, directory);
|
|
254
|
-
}
|
|
255
|
-
return { rootId: root.rootId, directory };
|
|
218
|
+
// 4. Reuse allowed-directory mounts for both tools and files. Docker
|
|
219
|
+
// forbids mounting onto container /, so a host filesystem root gets
|
|
220
|
+
// a dedicated target; ordinary directories keep their existing paths.
|
|
221
|
+
const allowedMounts = options.allowedDir.map((dir, index) => {
|
|
222
|
+
const source = path.resolve(dir);
|
|
223
|
+
const target = source === path.parse(source).root
|
|
224
|
+
? `/opt/staff-allowed/root-${index}`
|
|
225
|
+
: source;
|
|
226
|
+
return { source, target };
|
|
256
227
|
});
|
|
228
|
+
for (const mount of allowedMounts)
|
|
229
|
+
bind(mount.source, mount.target);
|
|
257
230
|
// 5. Handle HTTP port forwarding
|
|
258
231
|
if (options.transport === 'http') {
|
|
259
232
|
dockerArgs.push('-p', `${options.port}:${options.port}`);
|
|
@@ -287,8 +260,6 @@ program
|
|
|
287
260
|
// Inside container, we must listen on all interfaces for HTTP to be exposed
|
|
288
261
|
if (options.transport === 'http') {
|
|
289
262
|
dockerArgs.push('-h', '0.0.0.0');
|
|
290
|
-
dockerArgs.push('--http-max-sessions', String(options.httpMaxSessions));
|
|
291
|
-
dockerArgs.push('--http-session-idle-ms', String(options.httpSessionIdleMs));
|
|
292
263
|
if (options.httpToken !== undefined) {
|
|
293
264
|
dockerArgs.push('--http-token', options.httpToken);
|
|
294
265
|
}
|
|
@@ -304,10 +275,8 @@ program
|
|
|
304
275
|
])) {
|
|
305
276
|
dockerArgs.push('--internal-file-private-path', privatePath);
|
|
306
277
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
dockerArgs.push('-d', path.resolve(dir)); // paths inside container match host
|
|
310
|
-
});
|
|
278
|
+
for (const mount of allowedMounts) {
|
|
279
|
+
dockerArgs.push('-d', mount.target);
|
|
311
280
|
}
|
|
312
281
|
dockerArgs.push('-r', options.profile);
|
|
313
282
|
dockerArgs.push('-m', String(options.maxMcpSessions));
|
|
@@ -317,12 +286,6 @@ program
|
|
|
317
286
|
if (extensions.enabled.length) {
|
|
318
287
|
dockerArgs.push('--extensions', extensions.enabled.join(','));
|
|
319
288
|
}
|
|
320
|
-
for (const root of dockerRoots ?? []) {
|
|
321
|
-
dockerArgs.push('--file-root', `${root.rootId}=${root.directory}`);
|
|
322
|
-
}
|
|
323
|
-
if (extensions.shell !== undefined) {
|
|
324
|
-
dockerArgs.push('--shell', extensions.shell);
|
|
325
|
-
}
|
|
326
289
|
// Forward an explicit --proxy so the containerized process uses it too.
|
|
327
290
|
// (Env-var proxies reach the container through docker's own env injection
|
|
328
291
|
// or user-supplied -D "-e HTTP_PROXY=..." args.)
|
|
@@ -371,10 +334,7 @@ program
|
|
|
371
334
|
return;
|
|
372
335
|
}
|
|
373
336
|
if (options.transport === 'http') {
|
|
374
|
-
await runHostService(() => startHttpServer(serverFactory, parseInt(options.port, 10), options.host, options.httpToken,
|
|
375
|
-
maxSessions: options.httpMaxSessions,
|
|
376
|
-
idleTimeoutMs: options.httpSessionIdleMs,
|
|
377
|
-
}), process.env.STAFF_MCP_IS_DOCKER === '1');
|
|
337
|
+
await runHostService(() => startHttpServer(serverFactory, parseInt(options.port, 10), options.host, options.httpToken), process.env.STAFF_MCP_IS_DOCKER === '1');
|
|
378
338
|
}
|
|
379
339
|
else if (options.transport === 'reverse') {
|
|
380
340
|
if (!options.reverseUrl ||
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
2
|
import type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
export interface ReverseControlDiagnostic {
|
|
4
|
+
reason: 'control-post-slow' | 'ping-post-slow';
|
|
5
|
+
bytes: number;
|
|
6
|
+
queuedMs: number;
|
|
7
|
+
elapsedMs: number;
|
|
8
|
+
status: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ReverseControlFailure {
|
|
11
|
+
reason: 'connect-timeout' | 'read-timeout' | 'sse-rejected' | 'sse-ended' | 'sse-read-failed' | 'sse-too-large' | 'sse-invalid-event' | 'control-queue-exceeded' | 'message-post-rejected' | 'message-post-failed';
|
|
12
|
+
status?: number;
|
|
13
|
+
bytes?: number;
|
|
14
|
+
elapsedMs?: number;
|
|
15
|
+
queuedMs?: number;
|
|
16
|
+
networkCode?: string;
|
|
17
|
+
}
|
|
3
18
|
/** Outbound-only reverse control: SSE receives JSON-RPC, POST sends JSON-RPC. No resume/replay. */
|
|
4
19
|
export declare class ReverseSseTransport implements Transport {
|
|
5
20
|
private readonly base;
|
|
@@ -10,8 +25,10 @@ export declare class ReverseSseTransport implements Transport {
|
|
|
10
25
|
onclose?: () => void;
|
|
11
26
|
onerror?: (error: Error) => void;
|
|
12
27
|
onmessage?: Transport['onmessage'];
|
|
28
|
+
ondiagnostic?: (detail: ReverseControlDiagnostic) => void;
|
|
13
29
|
readonly closed: Promise<void>;
|
|
14
30
|
sessionId?: string;
|
|
31
|
+
failure?: ReverseControlFailure;
|
|
15
32
|
private resolveClosed;
|
|
16
33
|
private readonly abort;
|
|
17
34
|
private stopped;
|
|
@@ -19,6 +36,10 @@ export declare class ReverseSseTransport implements Transport {
|
|
|
19
36
|
private endpoint?;
|
|
20
37
|
private queue;
|
|
21
38
|
private queuedBytes;
|
|
39
|
+
private pingQueue;
|
|
40
|
+
private queuedPings;
|
|
41
|
+
private readonly pendingPings;
|
|
42
|
+
private nextDiagnosticAt;
|
|
22
43
|
private readTimer?;
|
|
23
44
|
private readyResolve?;
|
|
24
45
|
private readyReject?;
|
|
@@ -27,6 +48,7 @@ export declare class ReverseSseTransport implements Transport {
|
|
|
27
48
|
start(): Promise<void>;
|
|
28
49
|
private read;
|
|
29
50
|
private event;
|
|
51
|
+
private takePing;
|
|
30
52
|
send(message: JSONRPCMessage): Promise<void>;
|
|
31
53
|
private armReadTimeout;
|
|
32
54
|
private fail;
|
|
@@ -1,6 +1,25 @@
|
|
|
1
|
-
import { JSONRPCMessageSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import { JSONRPCMessageSchema, PingRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
const MESSAGE_LIMIT = 4 * 1024 * 1024;
|
|
3
3
|
const QUEUE_LIMIT = 8 * 1024 * 1024;
|
|
4
|
+
const PING_LIMIT = 32;
|
|
5
|
+
const SLOW_POST_MS = 1000;
|
|
6
|
+
const DIAGNOSTIC_INTERVAL_MS = 10000;
|
|
7
|
+
/** Only fixed diagnostics, never remote bodies, URLs, headers or exception text. */
|
|
8
|
+
class ControlFailure extends Error {
|
|
9
|
+
detail;
|
|
10
|
+
constructor(detail) {
|
|
11
|
+
super(`Reverse control failed: ${detail.reason}`);
|
|
12
|
+
this.detail = detail;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function networkCode(error) {
|
|
16
|
+
const cause = error;
|
|
17
|
+
const code = cause?.cause?.code ?? cause?.code;
|
|
18
|
+
return typeof code === 'string' &&
|
|
19
|
+
/^(?:ECONNRESET|ECONNREFUSED|ENOTFOUND|EAI_AGAIN|ETIMEDOUT|EPIPE|UND_ERR_(?:CONNECT_TIMEOUT|HEADERS_TIMEOUT|BODY_TIMEOUT|SOCKET|ABORTED))$/.test(code)
|
|
20
|
+
? code
|
|
21
|
+
: undefined;
|
|
22
|
+
}
|
|
4
23
|
/** Outbound-only reverse control: SSE receives JSON-RPC, POST sends JSON-RPC. No resume/replay. */
|
|
5
24
|
export class ReverseSseTransport {
|
|
6
25
|
base;
|
|
@@ -11,8 +30,10 @@ export class ReverseSseTransport {
|
|
|
11
30
|
onclose;
|
|
12
31
|
onerror;
|
|
13
32
|
onmessage;
|
|
33
|
+
ondiagnostic;
|
|
14
34
|
closed;
|
|
15
35
|
sessionId;
|
|
36
|
+
failure;
|
|
16
37
|
resolveClosed;
|
|
17
38
|
abort = new AbortController();
|
|
18
39
|
stopped = false;
|
|
@@ -20,6 +41,12 @@ export class ReverseSseTransport {
|
|
|
20
41
|
endpoint;
|
|
21
42
|
queue = Promise.resolve();
|
|
22
43
|
queuedBytes = 0;
|
|
44
|
+
pingQueue = Promise.resolve();
|
|
45
|
+
queuedPings = 0;
|
|
46
|
+
// Typed keys keep numeric and string IDs distinct. Entries live only until
|
|
47
|
+
// reply, cancellation, ID reuse or close; no eviction can prioritize a stale ID.
|
|
48
|
+
pendingPings = new Map();
|
|
49
|
+
nextDiagnosticAt = 0;
|
|
23
50
|
readTimer;
|
|
24
51
|
readyResolve;
|
|
25
52
|
readyReject;
|
|
@@ -43,10 +70,15 @@ export class ReverseSseTransport {
|
|
|
43
70
|
this.readyReject = reject;
|
|
44
71
|
});
|
|
45
72
|
const timer = this.connectTimeout > 0
|
|
46
|
-
? setTimeout(() => this.fail(), this.connectTimeout)
|
|
73
|
+
? setTimeout(() => this.fail({ reason: 'connect-timeout' }), this.connectTimeout)
|
|
47
74
|
: undefined;
|
|
48
75
|
timer?.unref();
|
|
49
|
-
void this.read().catch(() => this.fail(
|
|
76
|
+
void this.read().catch((error) => this.fail(error instanceof ControlFailure
|
|
77
|
+
? error.detail
|
|
78
|
+
: {
|
|
79
|
+
reason: 'sse-read-failed',
|
|
80
|
+
networkCode: networkCode(error),
|
|
81
|
+
}));
|
|
50
82
|
try {
|
|
51
83
|
await ready;
|
|
52
84
|
}
|
|
@@ -66,7 +98,10 @@ export class ReverseSseTransport {
|
|
|
66
98
|
?.startsWith('text/event-stream') ||
|
|
67
99
|
!response.body) {
|
|
68
100
|
await response.body?.cancel();
|
|
69
|
-
throw new
|
|
101
|
+
throw new ControlFailure({
|
|
102
|
+
reason: 'sse-rejected',
|
|
103
|
+
status: response.status,
|
|
104
|
+
});
|
|
70
105
|
}
|
|
71
106
|
this.reader = response.body.getReader();
|
|
72
107
|
const decoder = new TextDecoder('utf-8', { fatal: true });
|
|
@@ -77,8 +112,16 @@ export class ReverseSseTransport {
|
|
|
77
112
|
let afterCR = false;
|
|
78
113
|
const completeLine = () => {
|
|
79
114
|
if (line === '') {
|
|
80
|
-
if (data.length)
|
|
81
|
-
|
|
115
|
+
if (data.length) {
|
|
116
|
+
try {
|
|
117
|
+
this.event(event, data.join('\n'));
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
throw new ControlFailure({
|
|
121
|
+
reason: 'sse-invalid-event',
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
82
125
|
event = 'message';
|
|
83
126
|
data = [];
|
|
84
127
|
blockBytes = 0;
|
|
@@ -100,7 +143,7 @@ export class ReverseSseTransport {
|
|
|
100
143
|
this.armReadTimeout();
|
|
101
144
|
const part = await this.reader.read();
|
|
102
145
|
if (part.done)
|
|
103
|
-
throw new
|
|
146
|
+
throw new ControlFailure({ reason: 'sse-ended' });
|
|
104
147
|
const text = decoder.decode(part.value, { stream: true });
|
|
105
148
|
// Bound complete and partial events before they can grow an unbounded JSON buffer.
|
|
106
149
|
for (const character of text) {
|
|
@@ -111,7 +154,10 @@ export class ReverseSseTransport {
|
|
|
111
154
|
afterCR = character === '\r';
|
|
112
155
|
blockBytes += Buffer.byteLength(character);
|
|
113
156
|
if (blockBytes > MESSAGE_LIMIT + 1024)
|
|
114
|
-
throw new
|
|
157
|
+
throw new ControlFailure({
|
|
158
|
+
reason: 'sse-too-large',
|
|
159
|
+
bytes: blockBytes,
|
|
160
|
+
});
|
|
115
161
|
if (character === '\r' || character === '\n')
|
|
116
162
|
completeLine();
|
|
117
163
|
else
|
|
@@ -145,56 +191,153 @@ export class ReverseSseTransport {
|
|
|
145
191
|
}
|
|
146
192
|
if (event !== 'message' || !this.endpoint)
|
|
147
193
|
throw new Error('Unexpected reverse SSE event');
|
|
148
|
-
|
|
194
|
+
const message = JSONRPCMessageSchema.parse(JSON.parse(data));
|
|
195
|
+
if ('method' in message &&
|
|
196
|
+
'id' in message &&
|
|
197
|
+
(typeof message.id === 'string' || typeof message.id === 'number')) {
|
|
198
|
+
// Reused IDs are not valid concurrent JSON-RPC requests. Never retain
|
|
199
|
+
// ping priority when a subsequent ordinary request uses the same ID.
|
|
200
|
+
this.takePing(message.id);
|
|
201
|
+
if (PingRequestSchema.safeParse(message).success) {
|
|
202
|
+
const bytes = Buffer.byteLength(JSON.stringify(message.id));
|
|
203
|
+
if (this.pendingPings.size + this.queuedPings >= PING_LIMIT ||
|
|
204
|
+
this.queuedBytes + bytes > QUEUE_LIMIT) {
|
|
205
|
+
this.fail({ reason: 'control-queue-exceeded', bytes });
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
// Tracked IDs share the existing byte budget with both POST lanes.
|
|
209
|
+
this.queuedBytes += bytes;
|
|
210
|
+
this.pendingPings.set(message.id, bytes);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else if ('method' in message &&
|
|
214
|
+
message.method === 'notifications/cancelled') {
|
|
215
|
+
const id = message.params?.requestId;
|
|
216
|
+
if (typeof id === 'string' || typeof id === 'number')
|
|
217
|
+
this.takePing(id);
|
|
218
|
+
}
|
|
219
|
+
this.onmessage?.(message);
|
|
220
|
+
}
|
|
221
|
+
takePing(id) {
|
|
222
|
+
const bytes = this.pendingPings.get(id);
|
|
223
|
+
if (bytes === undefined)
|
|
224
|
+
return false;
|
|
225
|
+
this.pendingPings.delete(id);
|
|
226
|
+
this.queuedBytes -= bytes;
|
|
227
|
+
return true;
|
|
149
228
|
}
|
|
150
229
|
async send(message) {
|
|
151
230
|
if (this.stopped || !this.endpoint)
|
|
152
231
|
throw new Error('Reverse transport unavailable');
|
|
153
232
|
const body = JSON.stringify(message);
|
|
154
233
|
const bytes = Buffer.byteLength(body);
|
|
155
|
-
|
|
156
|
-
|
|
234
|
+
// Only responses to admitted inbound pings may bypass the control FIFO.
|
|
235
|
+
// Delete synchronously: a second response with the same ID is ordinary.
|
|
236
|
+
const ping = !('method' in message) &&
|
|
237
|
+
message.id !== undefined &&
|
|
238
|
+
this.takePing(message.id);
|
|
239
|
+
if (bytes > MESSAGE_LIMIT ||
|
|
240
|
+
this.queuedBytes + bytes > QUEUE_LIMIT ||
|
|
241
|
+
(ping && this.queuedPings >= PING_LIMIT)) {
|
|
242
|
+
this.fail({ reason: 'control-queue-exceeded', bytes });
|
|
157
243
|
throw new Error('Reverse control queue exceeded');
|
|
158
244
|
}
|
|
159
245
|
this.queuedBytes += bytes;
|
|
160
|
-
|
|
246
|
+
if (ping)
|
|
247
|
+
this.queuedPings++;
|
|
248
|
+
const enqueuedAt = performance.now();
|
|
249
|
+
const queue = ping ? this.pingQueue : this.queue;
|
|
250
|
+
const operation = queue.then(async () => {
|
|
161
251
|
if (this.stopped)
|
|
162
252
|
throw new Error('Reverse transport closed');
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
253
|
+
const startedAt = performance.now();
|
|
254
|
+
const queuedMs = Math.round(startedAt - enqueuedAt);
|
|
255
|
+
try {
|
|
256
|
+
const response = await this.fetch(this.endpoint, {
|
|
257
|
+
method: 'POST',
|
|
258
|
+
headers: {
|
|
259
|
+
...this.headers,
|
|
260
|
+
'Content-Type': 'application/json',
|
|
261
|
+
},
|
|
262
|
+
body,
|
|
263
|
+
signal: this.abort.signal,
|
|
264
|
+
redirect: 'manual',
|
|
265
|
+
});
|
|
266
|
+
const status = response.status;
|
|
267
|
+
await response.body?.cancel();
|
|
268
|
+
if (this.stopped)
|
|
269
|
+
throw new Error('Reverse transport closed');
|
|
270
|
+
const elapsedMs = Math.round(performance.now() - startedAt);
|
|
271
|
+
if (status !== 202) {
|
|
272
|
+
throw new ControlFailure({
|
|
273
|
+
reason: 'message-post-rejected',
|
|
274
|
+
status,
|
|
275
|
+
bytes,
|
|
276
|
+
queuedMs,
|
|
277
|
+
elapsedMs,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
if ((queuedMs >= SLOW_POST_MS || elapsedMs >= SLOW_POST_MS) &&
|
|
281
|
+
performance.now() >= this.nextDiagnosticAt) {
|
|
282
|
+
this.nextDiagnosticAt =
|
|
283
|
+
performance.now() + DIAGNOSTIC_INTERVAL_MS;
|
|
284
|
+
try {
|
|
285
|
+
this.ondiagnostic?.({
|
|
286
|
+
reason: ping
|
|
287
|
+
? 'ping-post-slow'
|
|
288
|
+
: 'control-post-slow',
|
|
289
|
+
bytes,
|
|
290
|
+
queuedMs,
|
|
291
|
+
elapsedMs,
|
|
292
|
+
status,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
catch {
|
|
296
|
+
// Observability must not change POST acceptance semantics.
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw error instanceof ControlFailure
|
|
302
|
+
? error
|
|
303
|
+
: new ControlFailure({
|
|
304
|
+
reason: 'message-post-failed',
|
|
305
|
+
bytes,
|
|
306
|
+
queuedMs,
|
|
307
|
+
elapsedMs: Math.round(performance.now() - startedAt),
|
|
308
|
+
networkCode: networkCode(error),
|
|
309
|
+
});
|
|
310
|
+
}
|
|
177
311
|
});
|
|
178
|
-
|
|
312
|
+
const settled = operation.catch((error) => this.fail(error instanceof ControlFailure
|
|
313
|
+
? error.detail
|
|
314
|
+
: { reason: 'message-post-failed' }));
|
|
315
|
+
if (ping)
|
|
316
|
+
this.pingQueue = settled;
|
|
317
|
+
else
|
|
318
|
+
this.queue = settled;
|
|
179
319
|
try {
|
|
180
320
|
await operation;
|
|
181
321
|
}
|
|
182
322
|
finally {
|
|
183
323
|
this.queuedBytes -= bytes;
|
|
324
|
+
if (ping)
|
|
325
|
+
this.queuedPings--;
|
|
184
326
|
}
|
|
185
327
|
}
|
|
186
328
|
armReadTimeout() {
|
|
187
329
|
clearTimeout(this.readTimer);
|
|
188
330
|
if (this.readTimeout > 0) {
|
|
189
|
-
this.readTimer = setTimeout(() => this.fail(), this.readTimeout);
|
|
331
|
+
this.readTimer = setTimeout(() => this.fail({ reason: 'read-timeout' }), this.readTimeout);
|
|
190
332
|
this.readTimer.unref();
|
|
191
333
|
}
|
|
192
334
|
}
|
|
193
|
-
fail() {
|
|
335
|
+
fail(detail) {
|
|
194
336
|
if (this.stopped)
|
|
195
337
|
return;
|
|
338
|
+
this.failure = detail;
|
|
196
339
|
try {
|
|
197
|
-
this.onerror?.(new
|
|
340
|
+
this.onerror?.(new ControlFailure(detail));
|
|
198
341
|
}
|
|
199
342
|
finally {
|
|
200
343
|
void this.close();
|
|
@@ -205,6 +348,9 @@ export class ReverseSseTransport {
|
|
|
205
348
|
return;
|
|
206
349
|
this.stopped = true;
|
|
207
350
|
clearTimeout(this.readTimer);
|
|
351
|
+
for (const bytes of this.pendingPings.values())
|
|
352
|
+
this.queuedBytes -= bytes;
|
|
353
|
+
this.pendingPings.clear();
|
|
208
354
|
this.abort.abort();
|
|
209
355
|
void this.reader?.cancel().catch(() => { });
|
|
210
356
|
this.readyReject?.(new Error('Reverse connection closed'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SseTransport.js","sourceRoot":"","sources":["../../../src/reverse/SseTransport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SseTransport.js","sourceRoot":"","sources":["../../../src/reverse/SseTransport.ts"],"names":[],"mappings":"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"}
|