staff-mcp 1.2.0 → 2.0.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.
Files changed (133) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +178 -49
  3. package/README_zh.md +176 -47
  4. package/dist/src/data/HttpDataSession.d.ts +22 -0
  5. package/dist/src/data/HttpDataSession.js +925 -0
  6. package/dist/src/data/HttpDataSession.js.map +1 -0
  7. package/dist/src/data/node.d.ts +4 -0
  8. package/dist/src/data/node.js +93 -0
  9. package/dist/src/data/node.js.map +1 -0
  10. package/dist/src/data/types.d.ts +54 -0
  11. package/dist/src/data/types.js +2 -0
  12. package/dist/src/data/types.js.map +1 -0
  13. package/dist/src/data-stdio-docker.d.ts +10 -0
  14. package/dist/src/data-stdio-docker.js +140 -0
  15. package/dist/src/data-stdio-docker.js.map +1 -0
  16. package/dist/src/docker-proxy.d.ts +6 -1
  17. package/dist/src/docker-proxy.js +324 -147
  18. package/dist/src/docker-proxy.js.map +1 -1
  19. package/dist/src/extensions/apps.d.ts +12 -0
  20. package/dist/src/extensions/apps.js +85 -0
  21. package/dist/src/extensions/apps.js.map +1 -0
  22. package/dist/src/extensions/config.d.ts +27 -0
  23. package/dist/src/extensions/config.js +91 -0
  24. package/dist/src/extensions/config.js.map +1 -0
  25. package/dist/src/extensions/protocol.d.ts +35 -0
  26. package/dist/src/extensions/protocol.js +47 -0
  27. package/dist/src/extensions/protocol.js.map +1 -0
  28. package/dist/src/extensions/runtime.d.ts +16 -0
  29. package/dist/src/extensions/runtime.js +266 -0
  30. package/dist/src/extensions/runtime.js.map +1 -0
  31. package/dist/src/file-manager/extension.d.ts +21 -0
  32. package/dist/src/file-manager/extension.js +514 -0
  33. package/dist/src/file-manager/extension.js.map +1 -0
  34. package/dist/src/file-manager/file-core.d.ts +128 -0
  35. package/dist/src/file-manager/file-core.js +750 -0
  36. package/dist/src/file-manager/file-core.js.map +1 -0
  37. package/dist/src/file-manager/transfers.d.ts +423 -0
  38. package/dist/src/file-manager/transfers.js +540 -0
  39. package/dist/src/file-manager/transfers.js.map +1 -0
  40. package/dist/src/file-manager/ui/index.html +81 -0
  41. package/dist/src/index.js +289 -128
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/lsp/manager.d.ts +2 -0
  44. package/dist/src/lsp/manager.js +22 -10
  45. package/dist/src/lsp/manager.js.map +1 -1
  46. package/dist/src/reverse/SseTransport.d.ts +34 -0
  47. package/dist/src/reverse/SseTransport.js +215 -0
  48. package/dist/src/reverse/SseTransport.js.map +1 -0
  49. package/dist/src/reverse/http.d.ts +7 -0
  50. package/dist/src/reverse/http.js +85 -0
  51. package/dist/src/reverse/http.js.map +1 -0
  52. package/dist/src/server.d.ts +4 -2
  53. package/dist/src/server.js +80 -18
  54. package/dist/src/server.js.map +1 -1
  55. package/dist/src/terminal/extension.d.ts +4 -0
  56. package/dist/src/terminal/extension.js +108 -0
  57. package/dist/src/terminal/extension.js.map +1 -0
  58. package/dist/src/terminal/pty.d.ts +14 -0
  59. package/dist/src/terminal/pty.js +121 -0
  60. package/dist/src/terminal/pty.js.map +1 -0
  61. package/dist/src/terminal/session.d.ts +136 -0
  62. package/dist/src/terminal/session.js +422 -0
  63. package/dist/src/terminal/session.js.map +1 -0
  64. package/dist/src/terminal/ui/index.html +183 -0
  65. package/dist/src/tools/file-tools.d.ts +2 -1
  66. package/dist/src/tools/file-tools.js +19 -7
  67. package/dist/src/tools/file-tools.js.map +1 -1
  68. package/dist/src/tools/mcp-client-tools.js +244 -104
  69. package/dist/src/tools/mcp-client-tools.js.map +1 -1
  70. package/dist/src/tools/shell-tools.js +1 -1
  71. package/dist/src/tools/shell-tools.js.map +1 -1
  72. package/dist/src/tools/skills.js +26 -1
  73. package/dist/src/tools/skills.js.map +1 -1
  74. package/dist/src/tools/system-tools.d.ts +9 -3
  75. package/dist/src/tools/system-tools.js +31 -48
  76. package/dist/src/tools/system-tools.js.map +1 -1
  77. package/dist/src/transports/http.d.ts +16 -2
  78. package/dist/src/transports/http.js +261 -59
  79. package/dist/src/transports/http.js.map +1 -1
  80. package/dist/src/transports/reverse.d.ts +23 -19
  81. package/dist/src/transports/reverse.js +130 -74
  82. package/dist/src/transports/reverse.js.map +1 -1
  83. package/dist/src/transports/stdio.d.ts +6 -2
  84. package/dist/src/transports/stdio.js +131 -19
  85. package/dist/src/transports/stdio.js.map +1 -1
  86. package/dist/src/utils/proxy.d.ts +3 -3
  87. package/dist/src/utils/proxy.js +84 -62
  88. package/dist/src/utils/proxy.js.map +1 -1
  89. package/dist/src/utils/server-activity.d.ts +6 -0
  90. package/dist/src/utils/server-activity.js +46 -0
  91. package/dist/src/utils/server-activity.js.map +1 -0
  92. package/dist/src/utils/server-lifecycle.d.ts +5 -0
  93. package/dist/src/utils/server-lifecycle.js +51 -0
  94. package/dist/src/utils/server-lifecycle.js.map +1 -0
  95. package/docs/file-manager.md +179 -0
  96. package/docs/terminal.md +66 -0
  97. package/package.json +40 -19
  98. package/dist/src/transports/fte-lifecycle.d.ts +0 -13
  99. package/dist/src/transports/fte-lifecycle.js +0 -76
  100. package/dist/src/transports/fte-lifecycle.js.map +0 -1
  101. package/dist/tests/docker-proxy.test.d.ts +0 -1
  102. package/dist/tests/docker-proxy.test.js +0 -395
  103. package/dist/tests/docker-proxy.test.js.map +0 -1
  104. package/dist/tests/file-write-queue.test.d.ts +0 -1
  105. package/dist/tests/file-write-queue.test.js +0 -105
  106. package/dist/tests/file-write-queue.test.js.map +0 -1
  107. package/dist/tests/fte-lifecycle.test.d.ts +0 -1
  108. package/dist/tests/fte-lifecycle.test.js +0 -118
  109. package/dist/tests/fte-lifecycle.test.js.map +0 -1
  110. package/dist/tests/lsp-client.test.d.ts +0 -1
  111. package/dist/tests/lsp-client.test.js +0 -52
  112. package/dist/tests/lsp-client.test.js.map +0 -1
  113. package/dist/tests/package-info.test.d.ts +0 -1
  114. package/dist/tests/package-info.test.js +0 -54
  115. package/dist/tests/package-info.test.js.map +0 -1
  116. package/dist/tests/proxy-no-proxy.test.d.ts +0 -1
  117. package/dist/tests/proxy-no-proxy.test.js +0 -156
  118. package/dist/tests/proxy-no-proxy.test.js.map +0 -1
  119. package/dist/tests/proxy.test.d.ts +0 -1
  120. package/dist/tests/proxy.test.js +0 -89
  121. package/dist/tests/proxy.test.js.map +0 -1
  122. package/dist/tests/reverse-reconnect.test.d.ts +0 -1
  123. package/dist/tests/reverse-reconnect.test.js +0 -89
  124. package/dist/tests/reverse-reconnect.test.js.map +0 -1
  125. package/dist/tests/security.test.d.ts +0 -1
  126. package/dist/tests/security.test.js +0 -21
  127. package/dist/tests/security.test.js.map +0 -1
  128. package/dist/tests/shell-tools.test.d.ts +0 -1
  129. package/dist/tests/shell-tools.test.js +0 -113
  130. package/dist/tests/shell-tools.test.js.map +0 -1
  131. package/dist/tests/test_files/test.d.ts +0 -1
  132. package/dist/tests/test_files/test.js +0 -4
  133. package/dist/tests/test_files/test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../../src/transports/reverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../../src/transports/reverse.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function startStdioServer(server: McpServer): Promise<void>;
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function redirectStdioLogsToStderr(): void;
3
+ export declare function startStdioServer(server: McpServer): Promise<{
4
+ stop: () => Promise<void>;
5
+ closed: Promise<void>;
6
+ }>;
@@ -1,29 +1,141 @@
1
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
1
+ import { createServer } from 'node:http';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { HttpDataSession } from '../data/HttpDataSession.js';
4
+ import { handleNodeRequest } from '../data/node.js';
5
+ import { readDockerDataBaseUrl } from '../data-stdio-docker.js';
6
+ import { configureExtensionData } from '../extensions/runtime.js';
7
+ import { extensionError } from '../extensions/protocol.js';
8
+ export function redirectStdioLogsToStderr() {
9
+ // MCP stdio reserves stdout for JSON-RPC frames.
10
+ console.log = (...args) => console.error(...args);
11
+ }
2
12
  export async function startStdioServer(server) {
13
+ configureExtensionData(server, async (binding, accept, signal, origin, supportsPurpose) => {
14
+ if (origin !== undefined)
15
+ extensionError('INVALID_PARAMS', 'Stdio data does not accept an advertised origin');
16
+ const dockerBase = await readDockerDataBaseUrl();
17
+ signal.throwIfAborted();
18
+ const host = dockerBase
19
+ ? process.env.STAFF_MCP_DATA_HOST
20
+ : '127.0.0.1';
21
+ const port = dockerBase
22
+ ? Number(process.env.STAFF_MCP_DATA_PORT)
23
+ : 0;
24
+ if (dockerBase && (host !== '0.0.0.0' || port !== 39173))
25
+ throw new Error('Invalid Docker data listener configuration.');
26
+ let session;
27
+ const listener = createServer((request, response) => {
28
+ if (!session) {
29
+ response.writeHead(503);
30
+ response.end();
31
+ return;
32
+ }
33
+ void handleNodeRequest(session, request, response).then((handled) => {
34
+ if (!handled) {
35
+ response.writeHead(404);
36
+ response.end();
37
+ }
38
+ });
39
+ });
40
+ const close = () => new Promise((resolve) => {
41
+ listener.closeAllConnections();
42
+ listener.close(() => resolve());
43
+ });
44
+ const onAbort = () => {
45
+ void close();
46
+ };
47
+ signal.addEventListener('abort', onAbort, { once: true });
48
+ try {
49
+ await new Promise((resolve, reject) => {
50
+ listener.once('error', reject);
51
+ listener.listen(port, host, () => {
52
+ listener.removeListener('error', reject);
53
+ resolve();
54
+ });
55
+ });
56
+ signal.throwIfAborted();
57
+ const localBase = `http://127.0.0.1:${listener.address().port}`;
58
+ const endpoint = `${dockerBase ?? localBase}/mcp/data/${binding}`;
59
+ session = new HttpDataSession({
60
+ role: 'remote',
61
+ binding,
62
+ endpoint,
63
+ accept,
64
+ supportsPurpose,
65
+ // Listener mode must never follow a peer-supplied outbound descriptor.
66
+ fetch: async () => {
67
+ throw new Error('Outbound data is unavailable in stdio listener mode');
68
+ },
69
+ validateEndpoint: () => {
70
+ throw new Error('Outbound data endpoint is unavailable in stdio listener mode');
71
+ },
72
+ });
73
+ return {
74
+ session,
75
+ endpoint,
76
+ close: () => {
77
+ signal.removeEventListener('abort', onAbort);
78
+ return close();
79
+ },
80
+ };
81
+ }
82
+ catch (error) {
83
+ signal.removeEventListener('abort', onAbort);
84
+ session?.close();
85
+ await close();
86
+ throw error;
87
+ }
88
+ });
3
89
  const transport = new StdioServerTransport();
4
- // Redirect stdout to stderr so console.log doesn't break protocol
5
- const originalLog = console.log;
6
- console.log = (...args) => {
7
- console.error(...args);
90
+ let resolveClosed;
91
+ let rejectClosed;
92
+ const closed = new Promise((resolve, reject) => {
93
+ resolveClosed = resolve;
94
+ rejectClosed = reject;
95
+ });
96
+ // EOF may arrive before the caller receives the controller.
97
+ void closed.catch(() => { });
98
+ let stopping;
99
+ let inputError;
100
+ const stop = () => {
101
+ stopping ??= Promise.resolve().then(async () => {
102
+ process.stdin.removeListener('end', onStdinClosed);
103
+ process.stdin.removeListener('close', onStdinClosed);
104
+ process.stdin.removeListener('error', onStdinError);
105
+ try {
106
+ await server.close();
107
+ if (inputError)
108
+ throw inputError;
109
+ resolveClosed();
110
+ }
111
+ catch (error) {
112
+ rejectClosed(error);
113
+ throw error;
114
+ }
115
+ });
116
+ return stopping;
117
+ };
118
+ const onStdinClosed = () => {
119
+ void stop().catch(() => { });
8
120
  };
121
+ const onStdinError = () => {
122
+ inputError = new Error('MCP input stream failed.');
123
+ onStdinClosed();
124
+ };
125
+ transport.onclose = onStdinClosed;
126
+ process.stdin.once('end', onStdinClosed);
127
+ process.stdin.once('close', onStdinClosed);
128
+ process.stdin.once('error', onStdinError);
9
129
  try {
10
130
  await server.connect(transport);
11
- console.error("MCP Server (Stdio) is running.");
12
- // The SDK's StdioServerTransport only listens for 'data'/'error' on stdin
13
- // and never notices EOF. When the client goes away, stdin closes — shut
14
- // down instead of lingering as an orphan held up by long-lived handles
15
- // (LSP servers, intervals, background tasks). The process 'exit' hook
16
- // registered by the shell tools also cleans up any background task groups.
17
- const onStdinClosed = () => {
18
- console.error("[staff-mcp] stdin closed (client disconnected), shutting down.");
19
- process.exit(0);
20
- };
21
- process.stdin.on("end", onStdinClosed);
22
- process.stdin.on("close", onStdinClosed);
131
+ if (process.stdin.readableEnded || process.stdin.destroyed)
132
+ onStdinClosed();
133
+ console.error('MCP Server (Stdio) is running.');
134
+ return { stop, closed };
23
135
  }
24
136
  catch (error) {
25
- console.error("Stdio connection failed:", error);
26
- process.exit(1);
137
+ await stop().catch(() => { });
138
+ throw error;
27
139
  }
28
140
  }
29
141
  //# sourceMappingURL=stdio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/transports/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB;IACtD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,kEAAkE;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEhD,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/transports/stdio.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Agent, Dispatcher } from "undici";
1
+ import { Agent, Dispatcher } from 'undici';
2
2
  /**
3
3
  * Whether proxy environment variables are present (NO_PROXY alone does not count).
4
4
  */
5
5
  export declare function hasProxyEnv(env?: NodeJS.ProcessEnv): boolean;
6
- export type NoProxyEntryKind = "wildcard" | "exact" | "suffix" | "cidr4" | "cidr6";
6
+ export type NoProxyEntryKind = 'wildcard' | 'exact' | 'suffix' | 'cidr4' | 'cidr6';
7
7
  export interface NoProxyEntry {
8
8
  kind: NoProxyEntryKind;
9
9
  /** normalized host: lowercase, no trailing dot, no IPv6 brackets */
@@ -50,7 +50,7 @@ export declare class EnvProxyDispatcher extends Dispatcher {
50
50
  private noProxyEntries;
51
51
  private ownedAgents;
52
52
  constructor(opts?: EnvProxyDispatcherOptions);
53
- dispatch(options: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;
53
+ dispatch(options: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandler): boolean;
54
54
  close(): Promise<void>;
55
55
  destroy(): Promise<void>;
56
56
  }
@@ -1,7 +1,7 @@
1
- import { Agent, Dispatcher, ProxyAgent, getGlobalDispatcher, setGlobalDispatcher } from "undici";
2
- const ENV_HTTP_PROXY = ["HTTP_PROXY", "http_proxy"];
3
- const ENV_HTTPS_PROXY = ["HTTPS_PROXY", "https_proxy"];
4
- const ENV_NO_PROXY = ["NO_PROXY", "no_proxy"];
1
+ import { Agent, Dispatcher, ProxyAgent, getGlobalDispatcher, setGlobalDispatcher, } from 'undici';
2
+ const ENV_HTTP_PROXY = ['HTTP_PROXY', 'http_proxy'];
3
+ const ENV_HTTPS_PROXY = ['HTTPS_PROXY', 'https_proxy'];
4
+ const ENV_NO_PROXY = ['NO_PROXY', 'no_proxy'];
5
5
  /**
6
6
  * Whether proxy environment variables are present (NO_PROXY alone does not count).
7
7
  */
@@ -33,7 +33,7 @@ function matchIpv4Cidr(ip, base, bits) {
33
33
  /** Parse an IPv6 literal (with "::" compression and optional embedded IPv4 tail) into a 128-bit bigint. */
34
34
  function parseIpv6ToBigInt(ipInput) {
35
35
  let ip = ipInput;
36
- const zoneIdx = ip.indexOf("%"); // strip zone id, e.g. fe80::1%eth0
36
+ const zoneIdx = ip.indexOf('%'); // strip zone id, e.g. fe80::1%eth0
37
37
  if (zoneIdx >= 0)
38
38
  ip = ip.slice(0, zoneIdx);
39
39
  ip = ip.toLowerCase();
@@ -41,7 +41,7 @@ function parseIpv6ToBigInt(ipInput) {
41
41
  return null;
42
42
  const expandV4Tail = (groups) => {
43
43
  const last = groups[groups.length - 1];
44
- if (last && last.includes(".")) {
44
+ if (last && last.includes('.')) {
45
45
  const v4 = parseIpv4ToInt(last);
46
46
  if (v4 === null)
47
47
  return null;
@@ -51,22 +51,26 @@ function parseIpv6ToBigInt(ipInput) {
51
51
  return groups;
52
52
  };
53
53
  let groups;
54
- if (ip.includes("::")) {
55
- const halves = ip.split("::");
54
+ if (ip.includes('::')) {
55
+ const halves = ip.split('::');
56
56
  if (halves.length !== 2)
57
57
  return null; // at most one "::"
58
- const head = halves[0] ? halves[0].split(":") : [];
59
- const tail = halves[1] ? halves[1].split(":") : [];
58
+ const head = halves[0] ? halves[0].split(':') : [];
59
+ const tail = halves[1] ? halves[1].split(':') : [];
60
60
  const expandedTail = expandV4Tail(tail);
61
61
  if (expandedTail === null)
62
62
  return null;
63
63
  const missing = 8 - (head.length + expandedTail.length);
64
64
  if (missing < 1)
65
65
  return null;
66
- groups = [...head, ...Array(missing).fill("0"), ...expandedTail];
66
+ groups = [
67
+ ...head,
68
+ ...Array(missing).fill('0'),
69
+ ...expandedTail,
70
+ ];
67
71
  }
68
72
  else {
69
- const expanded = expandV4Tail(ip.split(":"));
73
+ const expanded = expandV4Tail(ip.split(':'));
70
74
  if (expanded === null)
71
75
  return null;
72
76
  groups = expanded;
@@ -97,13 +101,13 @@ function parsePort(value) {
97
101
  }
98
102
  function makeEntry(hostInput, port) {
99
103
  let host = hostInput.toLowerCase();
100
- if (host.endsWith("."))
104
+ if (host.endsWith('.'))
101
105
  host = host.slice(0, -1); // strip FQDN trailing dot
102
- if (host.includes("/")) {
103
- let [base, bitsStr] = host.split("/", 2);
106
+ if (host.includes('/')) {
107
+ let [base, bitsStr] = host.split('/', 2);
104
108
  // Optional port after the prefix length: "10.0.0.0/8:8080"
105
- if (bitsStr.includes(":")) {
106
- const [bitsPart, portPart] = bitsStr.split(":", 2);
109
+ if (bitsStr.includes(':')) {
110
+ const [bitsPart, portPart] = bitsStr.split(':', 2);
107
111
  const parsed = parsePort(portPart);
108
112
  if (parsed !== null) {
109
113
  bitsStr = bitsPart;
@@ -113,20 +117,20 @@ function makeEntry(hostInput, port) {
113
117
  const bits = Number(bitsStr);
114
118
  const v4 = parseIpv4ToInt(base);
115
119
  if (v4 !== null && Number.isInteger(bits) && bits >= 0 && bits <= 32) {
116
- return { kind: "cidr4", host, port, network: v4, bits };
120
+ return { kind: 'cidr4', host, port, network: v4, bits };
117
121
  }
118
122
  const v6 = parseIpv6ToBigInt(base);
119
123
  if (v6 !== null && Number.isInteger(bits) && bits >= 0 && bits <= 128) {
120
- return { kind: "cidr6", host, port, network: v6, bits };
124
+ return { kind: 'cidr6', host, port, network: v6, bits };
121
125
  }
122
126
  // Unparseable CIDR: never matches (fail closed toward proxying, like undici).
123
- return { kind: "exact", host: "invalid", port };
127
+ return { kind: 'exact', host: 'invalid', port };
124
128
  }
125
- if (host.startsWith("*."))
126
- return { kind: "suffix", host: host.slice(2), port };
127
- if (host.startsWith("."))
128
- return { kind: "suffix", host: host.slice(1), port };
129
- return { kind: "exact", host, port };
129
+ if (host.startsWith('*.'))
130
+ return { kind: 'suffix', host: host.slice(2), port };
131
+ if (host.startsWith('.'))
132
+ return { kind: 'suffix', host: host.slice(1), port };
133
+ return { kind: 'exact', host, port };
130
134
  }
131
135
  /**
132
136
  * Parse a NO_PROXY value into matchable entries.
@@ -138,21 +142,23 @@ export function parseNoProxy(value) {
138
142
  if (!value)
139
143
  return [];
140
144
  const entries = [];
141
- for (const raw of value.split(",")) {
145
+ for (const raw of value.split(',')) {
142
146
  const token0 = raw.trim();
143
147
  if (!token0)
144
148
  continue;
145
- if (token0 === "*") {
146
- entries.push({ kind: "wildcard", host: "*", port: null });
149
+ if (token0 === '*') {
150
+ entries.push({ kind: 'wildcard', host: '*', port: null });
147
151
  continue;
148
152
  }
149
153
  // Bracketed IPv6, optionally with port: "[::1]" / "[::1]:8080"
150
- if (token0.startsWith("[")) {
151
- const close = token0.indexOf("]");
154
+ if (token0.startsWith('[')) {
155
+ const close = token0.indexOf(']');
152
156
  if (close > 0) {
153
157
  const inner = token0.slice(1, close);
154
158
  const rest = token0.slice(close + 1);
155
- const port = rest.startsWith(":") ? parsePort(rest.slice(1)) : null;
159
+ const port = rest.startsWith(':')
160
+ ? parsePort(rest.slice(1))
161
+ : null;
156
162
  entries.push(makeEntry(inner, port));
157
163
  continue;
158
164
  }
@@ -160,10 +166,10 @@ export function parseNoProxy(value) {
160
166
  // "host:port" — only when there is exactly one colon (otherwise it is IPv6)
161
167
  let host = token0;
162
168
  let port = null;
163
- if (!token0.includes("/")) {
169
+ if (!token0.includes('/')) {
164
170
  const colonCount = (token0.match(/:/g) || []).length;
165
171
  if (colonCount === 1) {
166
- const [h, p] = token0.split(":");
172
+ const [h, p] = token0.split(':');
167
173
  const parsed = parsePort(p);
168
174
  if (parsed !== null) {
169
175
  host = h;
@@ -176,43 +182,45 @@ export function parseNoProxy(value) {
176
182
  return entries;
177
183
  }
178
184
  function isIpLiteral(host) {
179
- return parseIpv4ToInt(host) !== null || host.includes(":");
185
+ return parseIpv4ToInt(host) !== null || host.includes(':');
180
186
  }
181
187
  /** Whether a target host:port matches any NO_PROXY entry (i.e. should bypass the proxy). */
182
188
  export function matchesNoProxy(hostname, port, entries) {
183
189
  if (!hostname)
184
190
  return false;
185
191
  let host = hostname.toLowerCase();
186
- if (host.startsWith("[") && host.endsWith("]"))
192
+ if (host.startsWith('[') && host.endsWith(']'))
187
193
  host = host.slice(1, -1);
188
- if (host.endsWith("."))
194
+ if (host.endsWith('.'))
189
195
  host = host.slice(0, -1);
190
196
  for (const entry of entries) {
191
- if (entry.kind === "wildcard")
197
+ if (entry.kind === 'wildcard')
192
198
  return true;
193
199
  if (entry.port !== null && entry.port !== port)
194
200
  continue;
195
201
  switch (entry.kind) {
196
- case "exact":
202
+ case 'exact':
197
203
  if (host === entry.host)
198
204
  return true;
199
205
  // Bare-domain entries also cover subdomains (curl/wget semantics).
200
206
  if (!isIpLiteral(entry.host) && host.endsWith(`.${entry.host}`))
201
207
  return true;
202
208
  break;
203
- case "suffix":
209
+ case 'suffix':
204
210
  if (host === entry.host || host.endsWith(`.${entry.host}`))
205
211
  return true;
206
212
  break;
207
- case "cidr4": {
213
+ case 'cidr4': {
208
214
  const v4 = parseIpv4ToInt(host);
209
- if (v4 !== null && matchIpv4Cidr(v4, entry.network, entry.bits))
215
+ if (v4 !== null &&
216
+ matchIpv4Cidr(v4, entry.network, entry.bits))
210
217
  return true;
211
218
  break;
212
219
  }
213
- case "cidr6": {
220
+ case 'cidr6': {
214
221
  const v6 = parseIpv6ToBigInt(host);
215
- if (v6 !== null && matchIpv6Cidr(v6, entry.network, entry.bits))
222
+ if (v6 !== null &&
223
+ matchIpv6Cidr(v6, entry.network, entry.bits))
216
224
  return true;
217
225
  break;
218
226
  }
@@ -227,18 +235,18 @@ export function matchesNoProxy(hostname, port, entries) {
227
235
  export function selectProxyForOrigin(origin, config) {
228
236
  let url;
229
237
  try {
230
- url = typeof origin === "string" ? new URL(origin) : origin;
238
+ url = typeof origin === 'string' ? new URL(origin) : origin;
231
239
  }
232
240
  catch {
233
241
  return null;
234
242
  }
235
243
  const protocol = url.protocol.toLowerCase();
236
- if (protocol !== "http:" && protocol !== "https:")
244
+ if (protocol !== 'http:' && protocol !== 'https:')
237
245
  return null;
238
- const port = url.port ? Number(url.port) : protocol === "https:" ? 443 : 80;
246
+ const port = url.port ? Number(url.port) : protocol === 'https:' ? 443 : 80;
239
247
  if (matchesNoProxy(url.hostname, port, parseNoProxy(config.noProxy)))
240
248
  return null;
241
- if (protocol === "https:")
249
+ if (protocol === 'https:')
242
250
  return config.httpsProxy ?? config.httpProxy ?? null;
243
251
  return config.httpProxy ?? null;
244
252
  }
@@ -265,17 +273,26 @@ export class EnvProxyDispatcher extends Dispatcher {
265
273
  this.ownedAgents.push(agent);
266
274
  return agent;
267
275
  };
268
- this.httpAgent = opts.httpProxy ? mkProxy(opts.httpProxy) : this.directAgent;
269
- this.httpsAgent = opts.httpsProxy ? mkProxy(opts.httpsProxy) : this.httpAgent;
276
+ this.httpAgent = opts.httpProxy
277
+ ? mkProxy(opts.httpProxy)
278
+ : this.directAgent;
279
+ this.httpsAgent = opts.httpsProxy
280
+ ? mkProxy(opts.httpsProxy)
281
+ : this.httpAgent;
270
282
  }
271
283
  dispatch(options, handler) {
272
284
  let agent = this.directAgent;
273
285
  try {
274
286
  const url = new URL(options.origin);
275
287
  const protocol = url.protocol.toLowerCase();
276
- const port = url.port ? Number(url.port) : protocol === "https:" ? 443 : 80;
288
+ const port = url.port
289
+ ? Number(url.port)
290
+ : protocol === 'https:'
291
+ ? 443
292
+ : 80;
277
293
  if (!matchesNoProxy(url.hostname, port, this.noProxyEntries)) {
278
- agent = protocol === "https:" ? this.httpsAgent : this.httpAgent;
294
+ agent =
295
+ protocol === 'https:' ? this.httpsAgent : this.httpAgent;
279
296
  }
280
297
  }
281
298
  catch {
@@ -308,11 +325,11 @@ export function configureGlobalProxy(explicitProxyUrl) {
308
325
  if (explicitProxyUrl) {
309
326
  try {
310
327
  setGlobalDispatcher(new ProxyAgent(explicitProxyUrl));
311
- console.error(`[staff-mcp] Outbound proxy: using ${explicitProxyUrl} for all traffic (NO_PROXY not applied)`);
328
+ console.error('[staff-mcp] Outbound proxy: explicit proxy enabled for all traffic (NO_PROXY not applied)');
312
329
  return true;
313
330
  }
314
- catch (err) {
315
- console.error(`[staff-mcp] Outbound proxy: failed to configure explicit proxy "${explicitProxyUrl}": ${err?.message ?? err}`);
331
+ catch {
332
+ console.error('[staff-mcp] Outbound proxy: failed to configure explicit proxy');
316
333
  return false;
317
334
  }
318
335
  }
@@ -321,8 +338,13 @@ export function configureGlobalProxy(explicitProxyUrl) {
321
338
  const noProxy = process.env.NO_PROXY || process.env.no_proxy;
322
339
  if (httpProxy || httpsProxy) {
323
340
  setGlobalDispatcher(new EnvProxyDispatcher({ httpProxy, httpsProxy, noProxy }));
324
- const proxiesFound = [httpProxy && "HTTP_PROXY", httpsProxy && "HTTPS_PROXY"].filter(Boolean).join("/");
325
- console.error(`[staff-mcp] Outbound proxy: honoring ${proxiesFound}${noProxy ? "/NO_PROXY" : ""} environment variables`);
341
+ const proxiesFound = [
342
+ httpProxy && 'HTTP_PROXY',
343
+ httpsProxy && 'HTTPS_PROXY',
344
+ ]
345
+ .filter(Boolean)
346
+ .join('/');
347
+ console.error(`[staff-mcp] Outbound proxy: honoring ${proxiesFound}${noProxy ? '/NO_PROXY' : ''} environment variables`);
326
348
  return true;
327
349
  }
328
350
  return false;
@@ -331,21 +353,21 @@ export function maskProxyUrl(url) {
331
353
  try {
332
354
  const u = new URL(url);
333
355
  if (u.username || u.password) {
334
- u.username = "***";
335
- u.password = "***";
356
+ u.username = '***';
357
+ u.password = '***';
336
358
  }
337
359
  return u.toString();
338
360
  }
339
361
  catch {
340
- return "<invalid proxy URL>";
362
+ return '<invalid proxy URL>';
341
363
  }
342
364
  }
343
365
  export function logGlobalDispatcherDebug() {
344
366
  const d = getGlobalDispatcher();
345
- const name = d?.constructor?.name ?? "unknown";
367
+ const name = d?.constructor?.name ?? 'unknown';
346
368
  const proxyKeys = Object.getOwnPropertySymbols(d)
347
369
  .map((s) => s.toString())
348
- .filter((s) => s.includes("proxy") || s.includes("Proxy"));
349
- console.error(`[staff-mcp][debug] global dispatcher: ${name} symbols: ${proxyKeys.join(", ") || "none"}`);
370
+ .filter((s) => s.includes('proxy') || s.includes('Proxy'));
371
+ console.error(`[staff-mcp][debug] global dispatcher: ${name} symbols: ${proxyKeys.join(', ') || 'none'}`);
350
372
  }
351
373
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/utils/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/utils/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /** Install before business handlers. SDK-owned initialize/ping handlers stay untouched. */
3
+ export declare function installRequestActivity(server: McpServer): void;
4
+ /** Predicates read their owner's existing state; they must not renew or sweep resources. */
5
+ export declare function registerServerActivity(server: McpServer, predicate: () => boolean): void;
6
+ export declare function hasServerActivity(server: McpServer): boolean;