@apify/mcpc 0.3.0-beta.1 → 0.3.1-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 (106) hide show
  1. package/CHANGELOG.md +28 -2
  2. package/README.md +141 -66
  3. package/dist/bridge/index.js +32 -40
  4. package/dist/bridge/index.js.map +1 -1
  5. package/dist/cli/commands/clean.d.ts.map +1 -1
  6. package/dist/cli/commands/clean.js +3 -2
  7. package/dist/cli/commands/clean.js.map +1 -1
  8. package/dist/cli/commands/logs.d.ts +8 -0
  9. package/dist/cli/commands/logs.d.ts.map +1 -0
  10. package/dist/cli/commands/logs.js +143 -0
  11. package/dist/cli/commands/logs.js.map +1 -0
  12. package/dist/cli/commands/sessions.d.ts +6 -4
  13. package/dist/cli/commands/sessions.d.ts.map +1 -1
  14. package/dist/cli/commands/sessions.js +141 -85
  15. package/dist/cli/commands/sessions.js.map +1 -1
  16. package/dist/cli/commands/skills.d.ts +20 -0
  17. package/dist/cli/commands/skills.d.ts.map +1 -0
  18. package/dist/cli/commands/skills.js +160 -0
  19. package/dist/cli/commands/skills.js.map +1 -0
  20. package/dist/cli/commands/x402.d.ts.map +1 -1
  21. package/dist/cli/commands/x402.js +14 -4
  22. package/dist/cli/commands/x402.js.map +1 -1
  23. package/dist/cli/index.js +113 -24
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/output.d.ts +13 -0
  26. package/dist/cli/output.d.ts.map +1 -1
  27. package/dist/cli/output.js +114 -20
  28. package/dist/cli/output.js.map +1 -1
  29. package/dist/cli/parser.d.ts +1 -1
  30. package/dist/cli/parser.d.ts.map +1 -1
  31. package/dist/cli/parser.js +25 -2
  32. package/dist/cli/parser.js.map +1 -1
  33. package/dist/cli/shell.js.map +1 -1
  34. package/dist/core/capabilities.d.ts +3 -0
  35. package/dist/core/capabilities.d.ts.map +1 -0
  36. package/dist/core/capabilities.js +14 -0
  37. package/dist/core/capabilities.js.map +1 -0
  38. package/dist/core/index.d.ts +1 -0
  39. package/dist/core/index.d.ts.map +1 -1
  40. package/dist/core/index.js +1 -0
  41. package/dist/core/index.js.map +1 -1
  42. package/dist/core/mcp-client.d.ts +4 -0
  43. package/dist/core/mcp-client.d.ts.map +1 -1
  44. package/dist/core/mcp-client.js +34 -12
  45. package/dist/core/mcp-client.js.map +1 -1
  46. package/dist/lib/bridge-client.d.ts +4 -1
  47. package/dist/lib/bridge-client.d.ts.map +1 -1
  48. package/dist/lib/bridge-client.js +29 -3
  49. package/dist/lib/bridge-client.js.map +1 -1
  50. package/dist/lib/bridge-manager.d.ts +2 -2
  51. package/dist/lib/bridge-manager.d.ts.map +1 -1
  52. package/dist/lib/bridge-manager.js +31 -15
  53. package/dist/lib/bridge-manager.js.map +1 -1
  54. package/dist/lib/cleanup.d.ts.map +1 -1
  55. package/dist/lib/cleanup.js +20 -19
  56. package/dist/lib/cleanup.js.map +1 -1
  57. package/dist/lib/config.d.ts +14 -0
  58. package/dist/lib/config.d.ts.map +1 -1
  59. package/dist/lib/config.js +41 -27
  60. package/dist/lib/config.js.map +1 -1
  61. package/dist/lib/errors.d.ts +0 -1
  62. package/dist/lib/errors.d.ts.map +1 -1
  63. package/dist/lib/errors.js +2 -4
  64. package/dist/lib/errors.js.map +1 -1
  65. package/dist/lib/index.d.ts +1 -0
  66. package/dist/lib/index.d.ts.map +1 -1
  67. package/dist/lib/index.js +1 -0
  68. package/dist/lib/index.js.map +1 -1
  69. package/dist/lib/log-reader.d.ts +28 -0
  70. package/dist/lib/log-reader.d.ts.map +1 -0
  71. package/dist/lib/log-reader.js +278 -0
  72. package/dist/lib/log-reader.js.map +1 -0
  73. package/dist/lib/session-client.d.ts.map +1 -1
  74. package/dist/lib/session-client.js +3 -5
  75. package/dist/lib/session-client.js.map +1 -1
  76. package/dist/lib/stderr-tail.d.ts +10 -0
  77. package/dist/lib/stderr-tail.d.ts.map +1 -0
  78. package/dist/lib/stderr-tail.js +28 -0
  79. package/dist/lib/stderr-tail.js.map +1 -0
  80. package/dist/lib/types.d.ts +6 -1
  81. package/dist/lib/types.d.ts.map +1 -1
  82. package/dist/lib/types.js +1 -0
  83. package/dist/lib/types.js.map +1 -1
  84. package/dist/lib/utils.d.ts +1 -0
  85. package/dist/lib/utils.d.ts.map +1 -1
  86. package/dist/lib/utils.js +12 -2
  87. package/dist/lib/utils.js.map +1 -1
  88. package/dist/lib/x402/fetch-middleware.d.ts +3 -2
  89. package/dist/lib/x402/fetch-middleware.d.ts.map +1 -1
  90. package/dist/lib/x402/fetch-middleware.js +37 -24
  91. package/dist/lib/x402/fetch-middleware.js.map +1 -1
  92. package/dist/lib/x402/signer.d.ts +7 -1
  93. package/dist/lib/x402/signer.d.ts.map +1 -1
  94. package/dist/lib/x402/signer.js +249 -5
  95. package/dist/lib/x402/signer.js.map +1 -1
  96. package/docs/README.md +1 -0
  97. package/docs/claude-skill/SKILL.md +151 -117
  98. package/docs/examples/company-lookup.sh +6 -6
  99. package/docs/vhs/README.md +79 -0
  100. package/docs/vhs/grep.tape +56 -0
  101. package/docs/vhs/mcpc-demo.tape +179 -0
  102. package/docs/vhs/proxy.tape +69 -0
  103. package/docs/vhs/quickstart.tape +59 -0
  104. package/docs/vhs/scripting.tape +69 -0
  105. package/docs/vhs/tools.tape +66 -0
  106. package/package.json +20 -20
@@ -1,6 +1,6 @@
1
1
  import { readdir, unlink, stat } from 'fs/promises';
2
2
  import { join } from 'path';
3
- import { getLogsDir, getBridgesDir, getSocketPath, fileExists } from './utils.js';
3
+ import { getLogsDir, getBridgesDir, getShortSocketDir, getSocketPath, fileExists, } from './utils.js';
4
4
  import { createLogger } from './logger.js';
5
5
  const logger = createLogger('cleanup');
6
6
  export async function cleanupOrphanedLogFiles(activeSessions, options = {}) {
@@ -50,10 +50,6 @@ export async function cleanupOrphanedSockets(activeSessions, options = {}) {
50
50
  if (process.platform === 'win32') {
51
51
  return 0;
52
52
  }
53
- const bridgesDir = getBridgesDir();
54
- if (!(await fileExists(bridgesDir))) {
55
- return 0;
56
- }
57
53
  const activeSocketPaths = new Set();
58
54
  for (const [name, session] of Object.entries(activeSessions)) {
59
55
  if (session?.pid) {
@@ -62,22 +58,27 @@ export async function cleanupOrphanedSockets(activeSessions, options = {}) {
62
58
  }
63
59
  const cutoffTime = Date.now() - minAgeSeconds * 1000;
64
60
  let deletedCount = 0;
65
- const files = await readdir(bridgesDir);
66
- for (const file of files) {
67
- if (!file.endsWith('.sock'))
61
+ const socketDirs = [...new Set([getBridgesDir(), getShortSocketDir()])];
62
+ for (const socketDir of socketDirs) {
63
+ if (!(await fileExists(socketDir)))
68
64
  continue;
69
- const filePath = join(bridgesDir, file);
70
- if (activeSocketPaths.has(filePath))
71
- continue;
72
- try {
73
- const fileStats = await stat(filePath);
74
- if (fileStats.mtime.getTime() < cutoffTime) {
75
- await unlink(filePath);
76
- deletedCount++;
77
- logger.debug(`Removed orphaned socket: ${file}`);
65
+ const files = await readdir(socketDir);
66
+ for (const file of files) {
67
+ if (!file.endsWith('.sock'))
68
+ continue;
69
+ const filePath = join(socketDir, file);
70
+ if (activeSocketPaths.has(filePath))
71
+ continue;
72
+ try {
73
+ const fileStats = await stat(filePath);
74
+ if (fileStats.mtime.getTime() < cutoffTime) {
75
+ await unlink(filePath);
76
+ deletedCount++;
77
+ logger.debug(`Removed orphaned socket: ${file}`);
78
+ }
79
+ }
80
+ catch {
78
81
  }
79
- }
80
- catch {
81
82
  }
82
83
  }
83
84
  return deletedCount;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/lib/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/lib/cleanup.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,20 @@ export declare function getStandardMcpConfigPaths(options?: {
18
18
  platform?: NodeJS.Platform;
19
19
  appData?: string;
20
20
  }): ConfigCandidate[];
21
+ export interface ConfigError extends ConfigCandidate {
22
+ error: string;
23
+ }
24
+ export interface McpConfigScan {
25
+ discovered: DiscoveredConfig[];
26
+ empty: ConfigCandidate[];
27
+ errors: ConfigError[];
28
+ }
29
+ export declare function scanMcpConfigFiles(options?: {
30
+ homeDir?: string;
31
+ cwd?: string;
32
+ platform?: NodeJS.Platform;
33
+ appData?: string;
34
+ }): McpConfigScan;
21
35
  export declare function discoverMcpConfigFiles(options?: {
22
36
  homeDir?: string;
23
37
  cwd?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAkDxD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAiBnF;AAgGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,CAEvD;AASD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAoClE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1E;AASD,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC7B;AAKD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAEvD,MAAM,EAAE,SAAS,CAAC;IAElB,WAAW,EAAE,MAAM,CAAC;CACrB;AAqBD,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,EAAE,CA8DpB;AAqDD,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,gBAAgB,EAAE,CAkBrB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAkDxD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAiBnF;AAgGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,CAEvD;AASD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAoClE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1E;AASD,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC7B;AAKD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAEvD,MAAM,EAAE,SAAS,CAAC;IAElB,WAAW,EAAE,MAAM,CAAC;CACrB;AAqBD,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,EAAE,CA8DpB;AAiCD,MAAM,WAAW,WAAY,SAAQ,eAAe;IAElD,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAM/B,KAAK,EAAE,eAAe,EAAE,CAAC;IAEzB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAcD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,aAAa,CA2ChB;AAYD,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,gBAAgB,EAAE,CAErB"}
@@ -161,25 +161,7 @@ export function getStandardMcpConfigPaths(options) {
161
161
  }
162
162
  return deduped;
163
163
  }
164
- function tryReadMcpConfig(configPath) {
165
- let content;
166
- try {
167
- const stat = statSync(configPath);
168
- if (!stat.isFile())
169
- return null;
170
- content = readFileSync(configPath, 'utf-8');
171
- }
172
- catch {
173
- return null;
174
- }
175
- let parsed;
176
- try {
177
- parsed = JSON.parse(content);
178
- }
179
- catch (error) {
180
- logger.warn(`Skipping invalid JSON in ${configPath}: ${error.message}`);
181
- return null;
182
- }
164
+ function asMcpConfig(parsed) {
183
165
  if (!parsed || typeof parsed !== 'object')
184
166
  return null;
185
167
  const obj = parsed;
@@ -191,20 +173,52 @@ function tryReadMcpConfig(configPath) {
191
173
  }
192
174
  return null;
193
175
  }
194
- export function discoverMcpConfigFiles(options) {
176
+ function sanitizeJsonError(message) {
177
+ return message.replace(/, "[\s\S]*"\.{0,3} is not valid JSON$/, '. Not a valid JSON file.');
178
+ }
179
+ export function scanMcpConfigFiles(options) {
195
180
  const candidates = getStandardMcpConfigPaths(options);
196
181
  const discovered = [];
182
+ const empty = [];
183
+ const errors = [];
197
184
  for (const candidate of candidates) {
198
- const config = tryReadMcpConfig(candidate.path);
199
- if (!config)
185
+ let content;
186
+ try {
187
+ if (!statSync(candidate.path).isFile())
188
+ continue;
189
+ content = readFileSync(candidate.path, 'utf-8');
190
+ }
191
+ catch (error) {
192
+ const err = error;
193
+ if (err.code === 'ENOENT')
194
+ continue;
195
+ errors.push({ ...candidate, error: err.message });
200
196
  continue;
201
- const serverCount = Object.keys(config.mcpServers).length;
202
- if (serverCount === 0) {
203
- logger.debug(`Skipping ${candidate.path} — no servers defined`);
197
+ }
198
+ let parsed;
199
+ try {
200
+ parsed = JSON.parse(content);
201
+ }
202
+ catch (error) {
203
+ errors.push({ ...candidate, error: sanitizeJsonError(error.message) });
204
204
  continue;
205
205
  }
206
- discovered.push({ ...candidate, config, serverCount });
206
+ const config = asMcpConfig(parsed);
207
+ if (!config) {
208
+ if (candidate.scope === 'project') {
209
+ errors.push({ ...candidate, error: 'No "mcpServers" or "servers" property.' });
210
+ }
211
+ continue;
212
+ }
213
+ const serverCount = Object.keys(config.mcpServers).length;
214
+ if (serverCount === 0)
215
+ empty.push(candidate);
216
+ else
217
+ discovered.push({ ...candidate, config, serverCount });
207
218
  }
208
- return discovered;
219
+ return { discovered, empty, errors };
220
+ }
221
+ export function discoverMcpConfigFiles(options) {
222
+ return scanMcpConfigFiles(options).discovered;
209
223
  }
210
224
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ export declare class AuthError extends McpError {
19
19
  export declare function isAuthenticationError(errorMessage: string): boolean;
20
20
  export declare function createServerAuthError(target: string, options?: {
21
21
  sessionName?: string;
22
- logPath?: string;
23
22
  originalError?: Error;
24
23
  }): AuthError;
25
24
  export declare function isMcpError(error: unknown): error is McpError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAeA,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAe5D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlC;AAMD,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,SAAU,SAAQ,QAAQ;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAOD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAInE;AAQD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,GAC1E,SAAS,CAsBX;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AASD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAuBvD;AAMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAUnD;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CAcxE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAeA,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAe5D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlC;AAMD,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAMD,qBAAa,SAAU,SAAQ,QAAQ;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAG/C;AAOD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAInE;AAQD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD,SAAS,CAmBX;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AASD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAuBvD;AAMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAUnD;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CAcxE"}
@@ -50,15 +50,13 @@ export function createServerAuthError(target, options) {
50
50
  ` mcpc ${options.sessionName} restart\n\n` +
51
51
  `If the error persists, re-authenticate:\n` +
52
52
  ` mcpc login ${target}\n` +
53
- ` mcpc ${options.sessionName} restart`;
53
+ ` mcpc ${options.sessionName} restart\n\n` +
54
+ `For details, run: mcpc ${options.sessionName} logs`;
54
55
  }
55
56
  else {
56
57
  hint =
57
58
  `To authenticate, run:\n` + ` mcpc login ${target}\n\n` + `Then run your command again.`;
58
59
  }
59
- if (options?.logPath) {
60
- hint += `\n\nFor details, check logs at ${options.logPath}`;
61
- }
62
60
  return new AuthError(`Authentication required by server.\n\n` + hint, options?.originalError ? { originalError: options.originalError } : undefined);
63
61
  }
64
62
  export function isMcpError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export * from './errors.js';
3
3
  export * from './logger.js';
4
4
  export * from './utils.js';
5
5
  export * from './file-logger.js';
6
+ export * from './stderr-tail.js';
6
7
  export * from './cleanup.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC"}
package/dist/lib/index.js CHANGED
@@ -3,5 +3,6 @@ export * from './errors.js';
3
3
  export * from './logger.js';
4
4
  export * from './utils.js';
5
5
  export * from './file-logger.js';
6
+ export * from './stderr-tail.js';
6
7
  export * from './cleanup.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,28 @@
1
+ export interface LogRecord {
2
+ time?: string;
3
+ level?: string;
4
+ context?: string;
5
+ msg?: string;
6
+ raw?: string;
7
+ }
8
+ export interface ReadLogsOptions {
9
+ tail?: number;
10
+ since?: Date;
11
+ }
12
+ export declare const ENTRY_START_RE: RegExp;
13
+ export declare function getBridgeLogPath(sessionName: string): string;
14
+ export declare function parseLogLine(line: string): LogRecord;
15
+ export declare function appendContinuation(record: LogRecord, line: string): void;
16
+ export declare function parseLogLines(lines: string[]): LogRecord[];
17
+ export declare function listLogFiles(sessionName: string): Promise<string[]>;
18
+ export declare function readRecentLogLines(sessionName: string, options?: ReadLogsOptions): Promise<string[]>;
19
+ export declare function parseDuration(input: string): number | null;
20
+ export declare function resolveSince(input: string): Date | null;
21
+ export interface FollowOptions {
22
+ pollIntervalMs?: number;
23
+ startAtBeginning?: boolean;
24
+ }
25
+ export declare function followLog(sessionName: string, onLine: (line: string) => void, options?: FollowOptions): {
26
+ stop: () => Promise<void>;
27
+ };
28
+ //# sourceMappingURL=log-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-reader.d.ts","sourceRoot":"","sources":["../../src/lib/log-reader.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,SAAS;IAExB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAE9B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,IAAI,CAAC;CACd;AASD,eAAO,MAAM,cAAc,QAAwD,CAAC;AAMpF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAYpD;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMxE;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAW1D;AAMD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCzE;AAaD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CAoDnB;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB1D;AAOD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAUvD;AAED,MAAM,WAAW,aAAa;IAK5B,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,OAAO,GAAE,aAAkB,GAC1B;IAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA0H/B"}
@@ -0,0 +1,278 @@
1
+ import { readdir, readFile, stat } from 'fs/promises';
2
+ import { createReadStream, watch as fsWatch } from 'fs';
3
+ import { join } from 'path';
4
+ import { getLogsDir } from './utils.js';
5
+ const LINE_RE = /^\[(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)\] \[([A-Z]+)\](?: \[([^\]]+)\])?\s?(.*)$/;
6
+ export const ENTRY_START_RE = /^\[\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z\]/;
7
+ export function getBridgeLogPath(sessionName) {
8
+ return join(getLogsDir(), `bridge-${sessionName}.log`);
9
+ }
10
+ export function parseLogLine(line) {
11
+ const m = LINE_RE.exec(line);
12
+ if (!m) {
13
+ return { raw: line };
14
+ }
15
+ const rec = {};
16
+ if (m[1])
17
+ rec.time = m[1];
18
+ if (m[2])
19
+ rec.level = m[2].toLowerCase();
20
+ if (m[3])
21
+ rec.context = m[3];
22
+ rec.msg = m[4] ?? '';
23
+ return rec;
24
+ }
25
+ export function appendContinuation(record, line) {
26
+ if (record.msg !== undefined) {
27
+ record.msg += '\n' + line;
28
+ }
29
+ else {
30
+ record.raw = (record.raw ?? '') + '\n' + line;
31
+ }
32
+ }
33
+ export function parseLogLines(lines) {
34
+ const records = [];
35
+ for (const line of lines) {
36
+ const prev = records[records.length - 1];
37
+ if (prev && !ENTRY_START_RE.test(line)) {
38
+ appendContinuation(prev, line);
39
+ }
40
+ else {
41
+ records.push(parseLogLine(line));
42
+ }
43
+ }
44
+ return records;
45
+ }
46
+ export async function listLogFiles(sessionName) {
47
+ const dir = getLogsDir();
48
+ const baseName = `bridge-${sessionName}.log`;
49
+ const basePath = join(dir, baseName);
50
+ let files;
51
+ try {
52
+ files = await readdir(dir);
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ const rotated = [];
58
+ for (const file of files) {
59
+ if (file.startsWith(baseName + '.')) {
60
+ const numStr = file.substring(baseName.length + 1);
61
+ const num = parseInt(numStr, 10);
62
+ if (!isNaN(num)) {
63
+ rotated.push({ path: join(dir, file), num });
64
+ }
65
+ }
66
+ }
67
+ rotated.sort((a, b) => b.num - a.num);
68
+ const result = rotated.map((r) => r.path);
69
+ try {
70
+ await stat(basePath);
71
+ result.push(basePath);
72
+ }
73
+ catch {
74
+ }
75
+ return result;
76
+ }
77
+ function parseLineTimestamp(line) {
78
+ const m = LINE_RE.exec(line);
79
+ if (!m || !m[1])
80
+ return null;
81
+ const t = Date.parse(m[1]);
82
+ return isNaN(t) ? null : t;
83
+ }
84
+ export async function readRecentLogLines(sessionName, options = {}) {
85
+ const files = await listLogFiles(sessionName);
86
+ if (files.length === 0)
87
+ return [];
88
+ const cutoff = options.since ? options.since.getTime() : null;
89
+ const collected = [];
90
+ for (let i = files.length - 1; i >= 0; i--) {
91
+ const path = files[i];
92
+ if (!path)
93
+ continue;
94
+ let content;
95
+ try {
96
+ content = await readFile(path, 'utf8');
97
+ }
98
+ catch {
99
+ continue;
100
+ }
101
+ const rawLines = content.split('\n');
102
+ if (rawLines.length > 0 && rawLines[rawLines.length - 1] === '') {
103
+ rawLines.pop();
104
+ }
105
+ let kept = rawLines;
106
+ if (cutoff !== null) {
107
+ kept = rawLines.filter((line) => {
108
+ const ts = parseLineTimestamp(line);
109
+ return ts === null || ts >= cutoff;
110
+ });
111
+ }
112
+ collected.unshift(...kept);
113
+ if (cutoff === null && options.tail !== undefined && collected.length >= options.tail) {
114
+ break;
115
+ }
116
+ if (cutoff !== null && rawLines.length > 0) {
117
+ const allBeforeCutoff = rawLines.every((line) => {
118
+ const ts = parseLineTimestamp(line);
119
+ return ts !== null && ts < cutoff;
120
+ });
121
+ if (allBeforeCutoff)
122
+ break;
123
+ }
124
+ }
125
+ if (options.tail !== undefined && collected.length > options.tail) {
126
+ return collected.slice(collected.length - options.tail);
127
+ }
128
+ return collected;
129
+ }
130
+ export function parseDuration(input) {
131
+ const m = /^(\d+)\s*(s|sec|secs|m|min|mins|h|hr|hrs|d|day|days|w|wk|wks)$/i.exec(input.trim());
132
+ if (!m || !m[1] || !m[2])
133
+ return null;
134
+ const n = parseInt(m[1], 10);
135
+ const unit = m[2].toLowerCase();
136
+ const SEC = 1000;
137
+ const MIN = 60 * SEC;
138
+ const HOUR = 60 * MIN;
139
+ const DAY = 24 * HOUR;
140
+ const WEEK = 7 * DAY;
141
+ if (unit.startsWith('s'))
142
+ return n * SEC;
143
+ if (unit.startsWith('mi') || unit === 'm')
144
+ return n * MIN;
145
+ if (unit.startsWith('h'))
146
+ return n * HOUR;
147
+ if (unit.startsWith('d'))
148
+ return n * DAY;
149
+ if (unit.startsWith('w'))
150
+ return n * WEEK;
151
+ return null;
152
+ }
153
+ export function resolveSince(input) {
154
+ const ms = parseDuration(input);
155
+ if (ms !== null) {
156
+ return new Date(Date.now() - ms);
157
+ }
158
+ const t = Date.parse(input);
159
+ if (!isNaN(t)) {
160
+ return new Date(t);
161
+ }
162
+ return null;
163
+ }
164
+ export function followLog(sessionName, onLine, options = {}) {
165
+ const path = getBridgeLogPath(sessionName);
166
+ const pollIntervalMs = options.pollIntervalMs ?? 1000;
167
+ let position = 0;
168
+ let inode = null;
169
+ let watcher = null;
170
+ let reading = false;
171
+ let queued = false;
172
+ let stopped = false;
173
+ let buffer = '';
174
+ const flush = (chunk) => {
175
+ buffer += chunk;
176
+ let idx = buffer.indexOf('\n');
177
+ while (idx !== -1) {
178
+ const line = buffer.slice(0, idx);
179
+ buffer = buffer.slice(idx + 1);
180
+ onLine(line);
181
+ idx = buffer.indexOf('\n');
182
+ }
183
+ };
184
+ const drainPending = async () => {
185
+ if (stopped)
186
+ return;
187
+ if (reading) {
188
+ queued = true;
189
+ return;
190
+ }
191
+ reading = true;
192
+ try {
193
+ let st;
194
+ try {
195
+ st = await stat(path);
196
+ }
197
+ catch {
198
+ return;
199
+ }
200
+ if (inode !== null && (st.ino !== inode || st.size < position)) {
201
+ position = 0;
202
+ if (buffer) {
203
+ onLine(buffer);
204
+ buffer = '';
205
+ }
206
+ }
207
+ inode = st.ino;
208
+ if (st.size <= position) {
209
+ return;
210
+ }
211
+ await new Promise((resolve, reject) => {
212
+ const stream = createReadStream(path, {
213
+ start: position,
214
+ end: st.size - 1,
215
+ encoding: 'utf8',
216
+ });
217
+ stream.on('data', (chunk) => flush(chunk));
218
+ stream.on('error', reject);
219
+ stream.on('end', () => {
220
+ position = st.size;
221
+ resolve();
222
+ });
223
+ });
224
+ }
225
+ finally {
226
+ reading = false;
227
+ if (queued && !stopped) {
228
+ queued = false;
229
+ void drainPending();
230
+ }
231
+ }
232
+ };
233
+ void (async () => {
234
+ try {
235
+ const st = await stat(path);
236
+ position = options.startAtBeginning ? 0 : st.size;
237
+ inode = st.ino;
238
+ if (options.startAtBeginning) {
239
+ await drainPending();
240
+ }
241
+ }
242
+ catch {
243
+ position = 0;
244
+ }
245
+ if (stopped)
246
+ return;
247
+ try {
248
+ watcher = fsWatch(path, () => void drainPending());
249
+ watcher.on('error', () => {
250
+ });
251
+ }
252
+ catch {
253
+ }
254
+ })();
255
+ const poll = setInterval(() => {
256
+ void drainPending();
257
+ }, pollIntervalMs);
258
+ return {
259
+ stop: async () => {
260
+ stopped = true;
261
+ clearInterval(poll);
262
+ if (watcher) {
263
+ try {
264
+ watcher.close();
265
+ }
266
+ catch {
267
+ }
268
+ watcher = null;
269
+ }
270
+ await drainPending();
271
+ if (buffer) {
272
+ onLine(buffer);
273
+ buffer = '';
274
+ }
275
+ },
276
+ };
277
+ }
278
+ //# sourceMappingURL=log-reader.js.map