@apify/mcpc 0.1.11-beta.4 → 0.2.0-beta.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 (53) hide show
  1. package/CHANGELOG.md +40 -37
  2. package/README.md +61 -26
  3. package/dist/bridge/index.js +39 -26
  4. package/dist/bridge/index.js.map +1 -1
  5. package/dist/cli/commands/sessions.d.ts.map +1 -1
  6. package/dist/cli/commands/sessions.js +156 -158
  7. package/dist/cli/commands/sessions.js.map +1 -1
  8. package/dist/cli/commands/tools.d.ts +1 -1
  9. package/dist/cli/commands/tools.d.ts.map +1 -1
  10. package/dist/cli/commands/tools.js +77 -17
  11. package/dist/cli/commands/tools.js.map +1 -1
  12. package/dist/cli/commands/x402.d.ts.map +1 -1
  13. package/dist/cli/commands/x402.js +20 -6
  14. package/dist/cli/commands/x402.js.map +1 -1
  15. package/dist/cli/helpers.d.ts +1 -1
  16. package/dist/cli/helpers.d.ts.map +1 -1
  17. package/dist/cli/helpers.js +4 -18
  18. package/dist/cli/helpers.js.map +1 -1
  19. package/dist/cli/index.js +43 -36
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/cli/output.d.ts +4 -2
  22. package/dist/cli/output.d.ts.map +1 -1
  23. package/dist/cli/output.js +74 -23
  24. package/dist/cli/output.js.map +1 -1
  25. package/dist/cli/parser.d.ts.map +1 -1
  26. package/dist/cli/parser.js +0 -2
  27. package/dist/cli/parser.js.map +1 -1
  28. package/dist/cli/shell.js +4 -4
  29. package/dist/cli/shell.js.map +1 -1
  30. package/dist/core/mcp-client.d.ts +10 -4
  31. package/dist/core/mcp-client.d.ts.map +1 -1
  32. package/dist/core/mcp-client.js +75 -7
  33. package/dist/core/mcp-client.js.map +1 -1
  34. package/dist/lib/auth/keychain.d.ts.map +1 -1
  35. package/dist/lib/auth/keychain.js +3 -2
  36. package/dist/lib/auth/keychain.js.map +1 -1
  37. package/dist/lib/auth/oauth-flow.d.ts.map +1 -1
  38. package/dist/lib/auth/oauth-flow.js +87 -10
  39. package/dist/lib/auth/oauth-flow.js.map +1 -1
  40. package/dist/lib/bridge-client.js +1 -1
  41. package/dist/lib/bridge-manager.js +1 -1
  42. package/dist/lib/bridge-manager.js.map +1 -1
  43. package/dist/lib/session-client.d.ts +6 -3
  44. package/dist/lib/session-client.d.ts.map +1 -1
  45. package/dist/lib/session-client.js +13 -6
  46. package/dist/lib/session-client.js.map +1 -1
  47. package/dist/lib/types.d.ts +9 -3
  48. package/dist/lib/types.d.ts.map +1 -1
  49. package/dist/lib/x402/fetch-middleware.d.ts.map +1 -1
  50. package/dist/lib/x402/fetch-middleware.js +41 -8
  51. package/dist/lib/x402/fetch-middleware.js.map +1 -1
  52. package/docs/TODOs.md +0 -2
  53. package/package.json +1 -1
@@ -33,182 +33,166 @@ async function checkPortAvailable(host, port) {
33
33
  });
34
34
  }
35
35
  export async function connectSession(target, name, options) {
36
- try {
37
- if (!isValidSessionName(name)) {
38
- throw new ClientError(`Invalid session name: ${name}\n` +
39
- `Session names must start with @ and be followed by 1-64 characters, alphanumeric with hyphens or underscores only (e.g., @my-session).`);
40
- }
41
- if (options.profile) {
42
- validateProfileName(options.profile);
43
- }
44
- let proxyConfig;
45
- if (options.proxy) {
46
- proxyConfig = parseProxyArg(options.proxy);
47
- logger.debug(`Proxy config: ${proxyConfig.host}:${proxyConfig.port}`);
48
- const portAvailable = await checkPortAvailable(proxyConfig.host, proxyConfig.port);
49
- if (!portAvailable) {
50
- throw new ClientError(`Port ${proxyConfig.port} is already in use on ${proxyConfig.host}. ` +
51
- `Choose a different port with --proxy [host:]port`);
52
- }
53
- }
54
- if (options.proxyBearerToken && !options.proxy) {
55
- throw new ClientError('--proxy-bearer-token requires --proxy to be specified');
36
+ if (!isValidSessionName(name)) {
37
+ throw new ClientError(`Invalid session name: ${name}\n` +
38
+ `Session names must start with @ and be followed by 1-64 characters, alphanumeric with hyphens or underscores only (e.g., @my-session).`);
39
+ }
40
+ if (options.profile) {
41
+ validateProfileName(options.profile);
42
+ }
43
+ let proxyConfig;
44
+ if (options.proxy) {
45
+ proxyConfig = parseProxyArg(options.proxy);
46
+ logger.debug(`Proxy config: ${proxyConfig.host}:${proxyConfig.port}`);
47
+ const portAvailable = await checkPortAvailable(proxyConfig.host, proxyConfig.port);
48
+ if (!portAvailable) {
49
+ throw new ClientError(`Port ${proxyConfig.port} is already in use on ${proxyConfig.host}. ` +
50
+ `Choose a different port with --proxy [host:]port`);
56
51
  }
57
- const existingSession = await getSession(name);
58
- if (existingSession) {
59
- const bridgeStatus = getBridgeStatus(existingSession);
60
- if (bridgeStatus === 'live') {
61
- if (options.outputMode === 'human') {
62
- console.log(formatSuccess(`Session ${name} is already active`));
63
- }
64
- await showServerDetails(name, { ...options, hideTarget: false });
65
- return;
66
- }
52
+ }
53
+ if (options.proxyBearerToken && !options.proxy) {
54
+ throw new ClientError('--proxy-bearer-token requires --proxy to be specified');
55
+ }
56
+ const existingSession = await getSession(name);
57
+ if (existingSession) {
58
+ const bridgeStatus = getBridgeStatus(existingSession);
59
+ if (bridgeStatus === 'live') {
67
60
  if (options.outputMode === 'human') {
68
- console.log(chalk.yellow(`Session ${name} exists but bridge is ${bridgeStatus}, reconnecting...`));
69
- }
70
- try {
71
- await stopBridge(name);
72
- }
73
- catch {
61
+ console.log(formatSuccess(`Session ${name} is already active`));
74
62
  }
63
+ await showServerDetails(name, { ...options, hideTarget: false });
64
+ return;
75
65
  }
76
- const serverConfig = await resolveTarget(target, options);
77
- const hasExplicitAuthHeader = serverConfig.headers?.Authorization !== undefined;
78
- const hasExplicitProfile = options.profile !== undefined;
79
- if (hasExplicitAuthHeader && hasExplicitProfile) {
80
- throw new ClientError(`Cannot combine --profile with --header "Authorization: ...".\n\n` +
81
- `Use either:\n` +
82
- ` --profile ${options.profile} (OAuth authentication via saved profile)\n` +
83
- ` --header "Authorization: Bearer <token>" (static bearer token)`);
84
- }
85
- let profileName;
86
- if (serverConfig.url) {
87
- if (options.noProfile) {
88
- logger.debug('Skipping OAuth profile: --no-profile specified');
89
- }
90
- else if (hasExplicitAuthHeader) {
91
- logger.debug('Skipping OAuth profile auto-detection: explicit Authorization header provided via --header');
92
- }
93
- else {
94
- profileName = await resolveAuthProfile(serverConfig.url, target, options.profile, {
95
- sessionName: name,
96
- });
97
- }
66
+ if (options.outputMode === 'human') {
67
+ console.log(chalk.yellow(`Session ${name} exists but bridge is ${bridgeStatus}, reconnecting...`));
98
68
  }
99
- let headers;
100
- if (Object.keys(serverConfig.headers || {}).length > 0) {
101
- headers = { ...serverConfig.headers };
102
- if (Object.keys(headers).length > 0) {
103
- logger.debug(`Storing ${Object.keys(headers).length} headers for session ${name} in keychain`);
104
- await storeKeychainSessionHeaders(name, headers);
105
- }
106
- else {
107
- headers = undefined;
108
- }
69
+ try {
70
+ await stopBridge(name);
109
71
  }
110
- if (options.proxyBearerToken) {
111
- logger.debug(`Storing proxy bearer token for session ${name} in keychain`);
112
- await storeKeychainProxyBearerToken(name, options.proxyBearerToken);
72
+ catch {
113
73
  }
114
- if (options.x402) {
115
- const wallet = await getWallet();
116
- if (!wallet) {
117
- throw new ClientError('x402 wallet not found. Create one with: mcpc x402 init');
118
- }
119
- logger.debug(`Using x402 wallet: ${wallet.address}`);
74
+ }
75
+ const serverConfig = await resolveTarget(target, options);
76
+ const hasExplicitAuthHeader = serverConfig.headers?.Authorization !== undefined;
77
+ const hasExplicitProfile = options.profile !== undefined;
78
+ if (hasExplicitAuthHeader && hasExplicitProfile) {
79
+ throw new ClientError(`Cannot combine --profile with --header "Authorization: ...".\n\n` +
80
+ `Use either:\n` +
81
+ ` --profile ${options.profile} (OAuth authentication via saved profile)\n` +
82
+ ` --header "Authorization: Bearer <token>" (static bearer token)`);
83
+ }
84
+ let profileName;
85
+ if (serverConfig.url) {
86
+ if (options.noProfile) {
87
+ logger.debug('Skipping OAuth profile: --no-profile specified');
120
88
  }
121
- const isReconnect = !!existingSession;
122
- const { headers: _originalHeaders, ...baseTransportConfig } = serverConfig;
123
- const sessionTransportConfig = {
124
- ...baseTransportConfig,
125
- ...(headers && { headers: redactHeaders(headers) }),
126
- };
127
- const sessionUpdate = {
128
- server: sessionTransportConfig,
129
- ...(profileName && { profileName }),
130
- ...(proxyConfig && { proxy: proxyConfig }),
131
- ...(options.x402 && { x402: true }),
132
- ...(options.insecure && { insecure: true }),
133
- };
134
- if (isReconnect) {
135
- await updateSession(name, sessionUpdate);
136
- logger.debug(`Session record updated for reconnect: ${name}`);
89
+ else if (hasExplicitAuthHeader) {
90
+ logger.debug('Skipping OAuth profile auto-detection: explicit Authorization header provided via --header');
137
91
  }
138
92
  else {
139
- await saveSession(name, {
140
- server: sessionTransportConfig,
141
- createdAt: new Date().toISOString(),
142
- ...sessionUpdate,
93
+ profileName = await resolveAuthProfile(serverConfig.url, target, options.profile, {
94
+ sessionName: name,
143
95
  });
144
- logger.debug(`Initial session record created for: ${name}`);
145
96
  }
146
- try {
147
- const bridgeOptions = {
148
- sessionName: name,
149
- serverConfig: serverConfig,
150
- verbose: options.verbose || false,
151
- };
152
- if (headers) {
153
- bridgeOptions.headers = headers;
154
- }
155
- if (profileName) {
156
- bridgeOptions.profileName = profileName;
157
- }
158
- if (proxyConfig) {
159
- bridgeOptions.proxyConfig = proxyConfig;
160
- }
161
- if (options.x402) {
162
- bridgeOptions.x402 = true;
163
- }
164
- if (options.insecure) {
165
- bridgeOptions.insecure = true;
166
- }
167
- const { pid } = await startBridge(bridgeOptions);
168
- await updateSession(name, { pid });
169
- logger.debug(`Session ${name} updated with bridge PID: ${pid}`);
170
- }
171
- catch (error) {
172
- logger.debug(`Bridge start failed, cleaning up session ${name}`);
173
- if (!isReconnect) {
174
- try {
175
- await deleteSession(name);
176
- }
177
- catch {
178
- }
179
- }
180
- throw error;
97
+ }
98
+ let headers;
99
+ if (Object.keys(serverConfig.headers || {}).length > 0) {
100
+ headers = { ...serverConfig.headers };
101
+ if (Object.keys(headers).length > 0) {
102
+ logger.debug(`Storing ${Object.keys(headers).length} headers for session ${name} in keychain`);
103
+ await storeKeychainSessionHeaders(name, headers);
181
104
  }
182
- if (options.outputMode === 'human') {
183
- console.log(formatSuccess(`Session ${name} ${isReconnect ? 'reconnected' : 'created'}`));
105
+ else {
106
+ headers = undefined;
184
107
  }
185
- try {
186
- await showServerDetails(name, {
187
- ...options,
188
- hideTarget: false,
189
- });
108
+ }
109
+ if (options.proxyBearerToken) {
110
+ logger.debug(`Storing proxy bearer token for session ${name} in keychain`);
111
+ await storeKeychainProxyBearerToken(name, options.proxyBearerToken);
112
+ }
113
+ if (options.x402) {
114
+ const wallet = await getWallet();
115
+ if (!wallet) {
116
+ throw new ClientError('x402 wallet not found. Create one with: mcpc x402 init');
190
117
  }
191
- catch (detailsError) {
192
- if (detailsError instanceof AuthError) {
193
- throw detailsError;
194
- }
195
- logger.debug(`showServerDetails failed for new session ${name}: ${detailsError.message}`);
118
+ logger.debug(`Using x402 wallet: ${wallet.address}`);
119
+ }
120
+ const isReconnect = !!existingSession;
121
+ const { headers: _originalHeaders, ...baseTransportConfig } = serverConfig;
122
+ const sessionTransportConfig = {
123
+ ...baseTransportConfig,
124
+ ...(headers && { headers: redactHeaders(headers) }),
125
+ };
126
+ const sessionUpdate = {
127
+ server: sessionTransportConfig,
128
+ ...(profileName && { profileName }),
129
+ ...(proxyConfig && { proxy: proxyConfig }),
130
+ ...(options.x402 && { x402: true }),
131
+ ...(options.insecure && { insecure: true }),
132
+ };
133
+ if (isReconnect) {
134
+ await updateSession(name, sessionUpdate);
135
+ logger.debug(`Session record updated for reconnect: ${name}`);
136
+ }
137
+ else {
138
+ await saveSession(name, {
139
+ server: sessionTransportConfig,
140
+ createdAt: new Date().toISOString(),
141
+ ...sessionUpdate,
142
+ });
143
+ logger.debug(`Initial session record created for: ${name}`);
144
+ }
145
+ try {
146
+ const bridgeOptions = {
147
+ sessionName: name,
148
+ serverConfig: serverConfig,
149
+ verbose: options.verbose || false,
150
+ };
151
+ if (headers) {
152
+ bridgeOptions.headers = headers;
153
+ }
154
+ if (profileName) {
155
+ bridgeOptions.profileName = profileName;
156
+ }
157
+ if (proxyConfig) {
158
+ bridgeOptions.proxyConfig = proxyConfig;
196
159
  }
160
+ if (options.x402) {
161
+ bridgeOptions.x402 = true;
162
+ }
163
+ if (options.insecure) {
164
+ bridgeOptions.insecure = true;
165
+ }
166
+ const { pid } = await startBridge(bridgeOptions);
167
+ await updateSession(name, { pid });
168
+ logger.debug(`Session ${name} updated with bridge PID: ${pid}`);
197
169
  }
198
170
  catch (error) {
199
- if (options.outputMode === 'human') {
200
- console.error(formatError(error.message));
201
- }
202
- else {
203
- console.error(formatOutput({
204
- sessionName: name,
205
- target,
206
- created: false,
207
- error: error.message,
208
- }, 'json'));
171
+ logger.debug(`Bridge start failed, cleaning up session ${name}`);
172
+ if (!isReconnect) {
173
+ try {
174
+ await deleteSession(name);
175
+ }
176
+ catch {
177
+ }
209
178
  }
210
179
  throw error;
211
180
  }
181
+ if (options.outputMode === 'human') {
182
+ console.log(formatSuccess(`Session ${name} ${isReconnect ? 'reconnected' : 'created'}`));
183
+ }
184
+ try {
185
+ await showServerDetails(name, {
186
+ ...options,
187
+ hideTarget: false,
188
+ });
189
+ }
190
+ catch (detailsError) {
191
+ if (detailsError instanceof AuthError) {
192
+ throw detailsError;
193
+ }
194
+ logger.debug(`showServerDetails failed for new session ${name}: ${detailsError.message}`);
195
+ }
212
196
  }
213
197
  function getBridgeStatus(session) {
214
198
  if (session.status === 'unauthorized') {
@@ -368,8 +352,10 @@ export async function showServerDetails(target, options) {
368
352
  await withMcpClient(target, options, async (client, context) => {
369
353
  const serverDetails = await client.getServerDetails();
370
354
  const { serverInfo, capabilities, instructions, protocolVersion } = serverDetails;
355
+ const cachedToolsResult = await client.listAllTools();
356
+ const tools = cachedToolsResult.tools;
371
357
  if (options.outputMode === 'human') {
372
- console.log(formatServerDetails(serverDetails, target));
358
+ console.log(formatServerDetails(serverDetails, target, tools));
373
359
  }
374
360
  else {
375
361
  const server = {
@@ -388,6 +374,7 @@ export async function showServerDetails(target, options) {
388
374
  capabilities,
389
375
  serverInfo,
390
376
  instructions,
377
+ ...(tools.length > 0 && { tools }),
391
378
  }, 'json'));
392
379
  }
393
380
  });
@@ -420,8 +407,19 @@ export async function restartSession(name, options) {
420
407
  if (headers) {
421
408
  bridgeOptions.headers = headers;
422
409
  }
423
- if (session.profileName) {
424
- bridgeOptions.profileName = session.profileName;
410
+ const hasExplicitAuthHeader = headers?.Authorization !== undefined;
411
+ let profileName = session.profileName;
412
+ if (!profileName && serverConfig.url && !hasExplicitAuthHeader) {
413
+ profileName = await resolveAuthProfile(serverConfig.url, serverConfig.url, undefined, {
414
+ sessionName: name,
415
+ });
416
+ if (profileName) {
417
+ logger.debug(`Discovered auth profile "${profileName}" for session ${name}`);
418
+ await updateSession(name, { profileName });
419
+ }
420
+ }
421
+ if (profileName) {
422
+ bridgeOptions.profileName = profileName;
425
423
  }
426
424
  if (session.proxy) {
427
425
  bridgeOptions.proxyConfig = session.proxy;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli/commands/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare function listTools(target: string, options: CommandOptions & {
5
5
  export declare function getTool(target: string, name: string, options: CommandOptions): Promise<void>;
6
6
  export declare function callTool(target: string, name: string, options: CommandOptions & {
7
7
  args?: string[];
8
- async?: boolean;
8
+ task?: boolean;
9
9
  detach?: boolean;
10
10
  }): Promise<void>;
11
11
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAgBrE,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgBf;AAKD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAsCD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CA4If"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAgBrE,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAUf;AAKD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AA+ED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAmLf"}
@@ -7,14 +7,11 @@ import { parseCommandArgs, hasStdinData, readStdinArgs } from '../parser.js';
7
7
  import { loadSchemaFromFile, validateToolSchema, formatValidationError, } from '../../lib/schema-validator.js';
8
8
  export async function listTools(target, options) {
9
9
  await withMcpClient(target, options, async (client, _context) => {
10
- const allTools = [];
11
- let cursor = undefined;
12
- do {
13
- const result = await client.listTools(cursor);
14
- allTools.push(...result.tools);
15
- cursor = result.nextCursor;
16
- } while (cursor);
17
- console.log(formatOutput(allTools, options.outputMode, options.full ? { full: true } : undefined));
10
+ const result = await client.listAllTools({ refreshCache: true });
11
+ console.log(formatOutput(result.tools, options.outputMode, {
12
+ ...(options.full && { full: true }),
13
+ sessionName: target,
14
+ }));
18
15
  });
19
16
  }
20
17
  export async function getTool(target, name, options) {
@@ -23,8 +20,12 @@ export async function getTool(target, name, options) {
23
20
  expectedSchema = (await loadSchemaFromFile(options.schema));
24
21
  }
25
22
  await withMcpClient(target, options, async (client, _context) => {
26
- const result = await client.listTools();
27
- const tool = result.tools.find((t) => t.name === name);
23
+ let result = await client.listAllTools();
24
+ let tool = result.tools.find((t) => t.name === name);
25
+ if (!tool) {
26
+ result = await client.listAllTools({ refreshCache: true });
27
+ tool = result.tools.find((t) => t.name === name);
28
+ }
28
29
  if (!tool) {
29
30
  throw new ClientError(`Tool not found: ${name}`);
30
31
  }
@@ -64,6 +65,34 @@ async function shouldUseTask(client, async_) {
64
65
  const details = await client.getServerDetails();
65
66
  return !!details.capabilities?.tasks?.requests?.tools?.call;
66
67
  }
68
+ function setupEscListener(enabled, canDetach) {
69
+ if (!enabled || !process.stdin.isTTY) {
70
+ return { promise: null, cleanup: () => { } };
71
+ }
72
+ const ESC = '\x1b';
73
+ let cleaned = false;
74
+ let cleanupFn = () => { };
75
+ const promise = new Promise((resolve) => {
76
+ const onData = (key) => {
77
+ if (key.toString() === ESC && canDetach()) {
78
+ cleanupFn();
79
+ resolve('detached');
80
+ }
81
+ };
82
+ process.stdin.setRawMode(true);
83
+ process.stdin.resume();
84
+ process.stdin.on('data', onData);
85
+ cleanupFn = () => {
86
+ if (cleaned)
87
+ return;
88
+ cleaned = true;
89
+ process.stdin.off('data', onData);
90
+ process.stdin.setRawMode(false);
91
+ process.stdin.pause();
92
+ };
93
+ });
94
+ return { promise, cleanup: () => cleanupFn() };
95
+ }
67
96
  export async function callTool(target, name, options) {
68
97
  let parsedArgs;
69
98
  if (options.args && options.args.length > 0) {
@@ -97,11 +126,11 @@ export async function callTool(target, name, options) {
97
126
  }
98
127
  }
99
128
  }
100
- const useAsync = options.detach || options.async;
101
- const useTask = await shouldUseTask(client, useAsync);
102
- if (useAsync && !useTask) {
129
+ const taskRequested = options.detach || options.task;
130
+ const useTask = await shouldUseTask(client, taskRequested);
131
+ if (taskRequested && !useTask) {
103
132
  if (options.outputMode === 'human') {
104
- console.log(formatWarning('Server does not support async tasks, falling back to synchronous execution'));
133
+ console.log(formatWarning('Server does not support tasks, falling back to synchronous execution'));
105
134
  }
106
135
  }
107
136
  let result;
@@ -120,12 +149,16 @@ export async function callTool(target, name, options) {
120
149
  let spinner = null;
121
150
  let timerInterval = null;
122
151
  let lastStatusMessage;
152
+ let lastProgressMessage;
153
+ let capturedTaskId;
123
154
  const updateSpinnerText = () => {
124
155
  if (!spinner)
125
156
  return;
126
157
  const elapsed = formatElapsed(Date.now() - startTime);
127
- const statusSuffix = lastStatusMessage ? ` ${chalk.dim(lastStatusMessage)}` : '';
128
- spinner.text = `Running tool ${chalk.bold(name)}... (${elapsed})${statusSuffix}`;
158
+ const progressSuffix = lastProgressMessage ? ` ${chalk.dim(lastProgressMessage)}` : '';
159
+ const statusSuffix = !lastProgressMessage && lastStatusMessage ? ` ${chalk.dim(lastStatusMessage)}` : '';
160
+ const escHint = capturedTaskId && escListener.promise ? ` ${chalk.dim('(ESC to detach)')}` : '';
161
+ spinner.text = `Running tool ${chalk.bold(name)}... (${elapsed})${progressSuffix}${statusSuffix}${escHint}`;
129
162
  };
130
163
  if (options.outputMode === 'human') {
131
164
  spinner = ora({
@@ -135,21 +168,48 @@ export async function callTool(target, name, options) {
135
168
  timerInterval = setInterval(updateSpinnerText, 1000);
136
169
  }
137
170
  const onUpdate = (update) => {
171
+ if (update.taskId) {
172
+ capturedTaskId = update.taskId;
173
+ }
138
174
  if (update.statusMessage) {
139
175
  lastStatusMessage = update.statusMessage;
140
176
  }
177
+ if (update.progressMessage) {
178
+ lastProgressMessage = update.progressMessage;
179
+ }
141
180
  if (spinner) {
142
181
  updateSpinnerText();
143
182
  }
144
183
  };
184
+ const escListener = setupEscListener(options.outputMode === 'human' && !process.stdin.isRaw, () => !!capturedTaskId);
145
185
  try {
146
- result = await client.callToolWithTask(name, parsedArgs, onUpdate);
186
+ const taskPromise = client.callToolWithTask(name, parsedArgs, onUpdate);
187
+ if (escListener.promise) {
188
+ const raceResult = await Promise.race([
189
+ taskPromise.then((r) => ({ type: 'completed', result: r })),
190
+ escListener.promise.then(() => ({ type: 'detached' })),
191
+ ]);
192
+ escListener.cleanup();
193
+ if (raceResult.type === 'detached') {
194
+ if (timerInterval)
195
+ clearInterval(timerInterval);
196
+ if (spinner) {
197
+ spinner.info(`Detached. Task ${chalk.bold(capturedTaskId)} continues in background`);
198
+ }
199
+ return;
200
+ }
201
+ result = raceResult.result;
202
+ }
203
+ else {
204
+ result = await taskPromise;
205
+ }
147
206
  const elapsed = formatElapsed(Date.now() - startTime);
148
207
  if (spinner) {
149
208
  spinner.succeed(`Tool ${chalk.bold(name)} executed successfully (${elapsed})`);
150
209
  }
151
210
  }
152
211
  catch (error) {
212
+ escListener.cleanup();
153
213
  const elapsed = formatElapsed(Date.now() - startTime);
154
214
  if (spinner) {
155
215
  spinner.fail(`Tool ${chalk.bold(name)} failed (${elapsed})`);