agent-dir 0.3.1 → 0.4.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 (98) hide show
  1. package/README.md +3 -2
  2. package/dist/bin/agent-dir.d.ts +0 -1
  3. package/dist/bin/agent-dir.js +11 -4
  4. package/dist/src/auth.d.ts +0 -1
  5. package/dist/src/auth.js +0 -1
  6. package/dist/src/codegraph.d.ts +0 -1
  7. package/dist/src/codegraph.js +0 -1
  8. package/dist/src/config.d.ts +0 -1
  9. package/dist/src/config.js +0 -1
  10. package/dist/src/logging.d.ts +0 -1
  11. package/dist/src/logging.js +1 -2
  12. package/dist/src/mcp.d.ts +0 -1
  13. package/dist/src/mcp.js +11 -2
  14. package/dist/src/server.d.ts +0 -1
  15. package/dist/src/server.js +42 -2
  16. package/dist/src/setup.d.ts +0 -1
  17. package/dist/src/setup.js +4 -3
  18. package/dist/src/telemetry/aggregate.d.ts +7 -1
  19. package/dist/src/telemetry/aggregate.js +39 -3
  20. package/dist/src/telemetry/config.d.ts +0 -1
  21. package/dist/src/telemetry/config.js +0 -1
  22. package/dist/src/telemetry/format.d.ts +0 -1
  23. package/dist/src/telemetry/format.js +1 -2
  24. package/dist/src/telemetry/privacy.d.ts +0 -1
  25. package/dist/src/telemetry/privacy.js +76 -3
  26. package/dist/src/telemetry/recorder.d.ts +0 -1
  27. package/dist/src/telemetry/recorder.js +0 -1
  28. package/dist/src/telemetry/types.d.ts +28 -3
  29. package/dist/src/telemetry/types.js +1 -2
  30. package/dist/src/tools/code.d.ts +0 -1
  31. package/dist/src/tools/code.js +0 -1
  32. package/dist/src/tools/commands.d.ts +0 -1
  33. package/dist/src/tools/commands.js +0 -1
  34. package/dist/src/tools/diagnostics.d.ts +0 -1
  35. package/dist/src/tools/diagnostics.js +0 -1
  36. package/dist/src/tools/files.d.ts +0 -1
  37. package/dist/src/tools/files.js +0 -1
  38. package/dist/src/tools/git.d.ts +0 -1
  39. package/dist/src/tools/git.js +0 -1
  40. package/dist/src/tools/metadata.d.ts +0 -1
  41. package/dist/src/tools/metadata.js +0 -1
  42. package/dist/src/tools/npm.d.ts +0 -1
  43. package/dist/src/tools/npm.js +0 -1
  44. package/dist/src/tools/skills.d.ts +0 -1
  45. package/dist/src/tools/skills.js +0 -1
  46. package/dist/src/tunnel.d.ts +1 -2
  47. package/dist/src/tunnel.js +243 -83
  48. package/dist/src/types.d.ts +24 -1
  49. package/dist/src/types.js +0 -1
  50. package/package.json +2 -2
  51. package/dist/bin/agent-dir.d.ts.map +0 -1
  52. package/dist/bin/agent-dir.js.map +0 -1
  53. package/dist/src/auth.d.ts.map +0 -1
  54. package/dist/src/auth.js.map +0 -1
  55. package/dist/src/codegraph.d.ts.map +0 -1
  56. package/dist/src/codegraph.js.map +0 -1
  57. package/dist/src/config.d.ts.map +0 -1
  58. package/dist/src/config.js.map +0 -1
  59. package/dist/src/logging.d.ts.map +0 -1
  60. package/dist/src/logging.js.map +0 -1
  61. package/dist/src/mcp.d.ts.map +0 -1
  62. package/dist/src/mcp.js.map +0 -1
  63. package/dist/src/server.d.ts.map +0 -1
  64. package/dist/src/server.js.map +0 -1
  65. package/dist/src/setup.d.ts.map +0 -1
  66. package/dist/src/setup.js.map +0 -1
  67. package/dist/src/telemetry/aggregate.d.ts.map +0 -1
  68. package/dist/src/telemetry/aggregate.js.map +0 -1
  69. package/dist/src/telemetry/config.d.ts.map +0 -1
  70. package/dist/src/telemetry/config.js.map +0 -1
  71. package/dist/src/telemetry/format.d.ts.map +0 -1
  72. package/dist/src/telemetry/format.js.map +0 -1
  73. package/dist/src/telemetry/privacy.d.ts.map +0 -1
  74. package/dist/src/telemetry/privacy.js.map +0 -1
  75. package/dist/src/telemetry/recorder.d.ts.map +0 -1
  76. package/dist/src/telemetry/recorder.js.map +0 -1
  77. package/dist/src/telemetry/types.d.ts.map +0 -1
  78. package/dist/src/telemetry/types.js.map +0 -1
  79. package/dist/src/tools/code.d.ts.map +0 -1
  80. package/dist/src/tools/code.js.map +0 -1
  81. package/dist/src/tools/commands.d.ts.map +0 -1
  82. package/dist/src/tools/commands.js.map +0 -1
  83. package/dist/src/tools/diagnostics.d.ts.map +0 -1
  84. package/dist/src/tools/diagnostics.js.map +0 -1
  85. package/dist/src/tools/files.d.ts.map +0 -1
  86. package/dist/src/tools/files.js.map +0 -1
  87. package/dist/src/tools/git.d.ts.map +0 -1
  88. package/dist/src/tools/git.js.map +0 -1
  89. package/dist/src/tools/metadata.d.ts.map +0 -1
  90. package/dist/src/tools/metadata.js.map +0 -1
  91. package/dist/src/tools/npm.d.ts.map +0 -1
  92. package/dist/src/tools/npm.js.map +0 -1
  93. package/dist/src/tools/skills.d.ts.map +0 -1
  94. package/dist/src/tools/skills.js.map +0 -1
  95. package/dist/src/tunnel.d.ts.map +0 -1
  96. package/dist/src/tunnel.js.map +0 -1
  97. package/dist/src/types.d.ts.map +0 -1
  98. package/dist/src/types.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export declare const TELEMETRY_LEVELS: readonly ["none", "anonymous", "basic", "detailed"];
1
+ export declare const TELEMETRY_LEVELS: readonly ["none", "anonymous", "basic", "detailed", "diagnostic"];
2
2
  export type TelemetryLevel = (typeof TELEMETRY_LEVELS)[number];
3
3
  export interface TelemetryConfig {
4
4
  level: TelemetryLevel;
@@ -6,6 +6,15 @@ export interface TelemetryConfig {
6
6
  persist?: boolean;
7
7
  sessionId?: string;
8
8
  }
9
+ export interface TelemetryHttpRequestEvent {
10
+ event: "http_request";
11
+ method: string;
12
+ route: "mcp" | "tree" | "root" | "file" | "other";
13
+ status: number;
14
+ success: boolean;
15
+ durationMs: number;
16
+ authenticated: boolean;
17
+ }
9
18
  export interface TelemetryMcpRequestEvent {
10
19
  event: "mcp_request";
11
20
  method: string;
@@ -35,6 +44,14 @@ export interface TelemetryCommandEvent {
35
44
  outputBytes?: number;
36
45
  errorCategory?: string;
37
46
  }
47
+ export interface TelemetryTunnelEvent {
48
+ event: "tunnel";
49
+ state: "online" | "disconnected" | "reconnecting" | "reconnected" | "failed";
50
+ attempt?: number;
51
+ attempts?: number;
52
+ durationMs?: number;
53
+ reasonCategory?: string;
54
+ }
38
55
  export interface TelemetrySessionEvent {
39
56
  event: "session";
40
57
  wallClockDurationMs: number;
@@ -44,7 +61,7 @@ export interface TelemetrySessionEvent {
44
61
  toolCallCount: number;
45
62
  commandCallCount: number;
46
63
  }
47
- export type AnonymousTelemetryEvent = TelemetryMcpRequestEvent | TelemetryToolEvent | TelemetryCommandEvent | TelemetrySessionEvent;
64
+ export type AnonymousTelemetryEvent = TelemetryHttpRequestEvent | TelemetryMcpRequestEvent | TelemetryToolEvent | TelemetryCommandEvent | TelemetryTunnelEvent | TelemetrySessionEvent;
48
65
  export interface TelemetryRuntimeContext {
49
66
  agentDirVersion: string;
50
67
  nodeMajor: number;
@@ -52,8 +69,17 @@ export interface TelemetryRuntimeContext {
52
69
  arch: string;
53
70
  mcpClientName?: string;
54
71
  mcpClientVersion?: string;
72
+ nodeVersion?: string;
73
+ hostname?: string;
74
+ username?: string;
75
+ processId?: number;
76
+ parentProcessId?: number;
77
+ processUptimeMs?: number;
78
+ memoryRssBytes?: number;
55
79
  }
56
80
  export interface TelemetryProjectContext {
81
+ projectRoot?: string;
82
+ workingDirectory?: string;
57
83
  language?: "typescript" | "javascript" | "python" | "go" | "rust" | "java" | "other";
58
84
  framework?: "nextjs" | "react" | "hono" | "node" | "other";
59
85
  packageManager?: "npm" | "pnpm" | "yarn" | "bun" | "other";
@@ -71,4 +97,3 @@ export interface TelemetryEnvelope {
71
97
  runtime?: TelemetryRuntimeContext;
72
98
  project?: TelemetryProjectContext;
73
99
  }
74
- //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1 @@
1
- export const TELEMETRY_LEVELS = ["none", "anonymous", "basic", "detailed"];
2
- //# sourceMappingURL=types.js.map
1
+ export const TELEMETRY_LEVELS = ["none", "anonymous", "basic", "detailed", "diagnostic"];
@@ -24,4 +24,3 @@ export declare function findDefinition(root: string, symbol: string, maxResults?
24
24
  export declare function findReferences(root: string, symbol: string, maxResults?: number, maxBytes?: number): Promise<SearchMatch[]>;
25
25
  export declare function findImports(root: string, maxResults?: number, maxBytes?: number): Promise<ImportMatch[]>;
26
26
  export declare function findExports(root: string, maxResults?: number, maxBytes?: number): Promise<ExportMatch[]>;
27
- //# sourceMappingURL=code.d.ts.map
@@ -177,4 +177,3 @@ function symbolKind(line) {
177
177
  return "type";
178
178
  return "symbol";
179
179
  }
180
- //# sourceMappingURL=code.js.map
@@ -6,4 +6,3 @@ export interface CommandResult {
6
6
  }
7
7
  export declare function isCommandBlacklisted(command: string, args?: string[], blacklistedCommands?: string[]): boolean;
8
8
  export declare function runCommand(root: string, command: string, args?: string[], allowedCommands?: string[], blacklistedCommands?: string[], timeoutMs?: number, signal?: AbortSignal): Promise<CommandResult>;
9
- //# sourceMappingURL=commands.d.ts.map
@@ -67,4 +67,3 @@ export function runCommand(root, command, args = [], allowedCommands = [], black
67
67
  });
68
68
  });
69
69
  }
70
- //# sourceMappingURL=commands.js.map
@@ -6,4 +6,3 @@ export interface Diagnostic {
6
6
  message: string;
7
7
  }
8
8
  export declare function diagnostics(root: string, maxResults?: number): Promise<Diagnostic[]>;
9
- //# sourceMappingURL=diagnostics.d.ts.map
@@ -80,4 +80,3 @@ export async function diagnostics(root, maxResults = 200) {
80
80
  }
81
81
  return results;
82
82
  }
83
- //# sourceMappingURL=diagnostics.js.map
@@ -55,4 +55,3 @@ export interface AppliedFileChange {
55
55
  dryRun?: boolean;
56
56
  }
57
57
  export declare function applyFileChanges(root: string, changes: FileChange[], dryRun?: boolean): Promise<AppliedFileChange[]>;
58
- //# sourceMappingURL=files.d.ts.map
@@ -258,4 +258,3 @@ export async function applyFileChanges(root, changes, dryRun = false) {
258
258
  }
259
259
  return prepared.map(({ target: _target, ...change }) => change);
260
260
  }
261
- //# sourceMappingURL=files.js.map
@@ -12,4 +12,3 @@ export declare function gitStatus(root: string): Promise<GitResult>;
12
12
  export declare function gitDiff(root: string, staged?: boolean, pathspec?: string): Promise<GitResult>;
13
13
  export declare function gitRestore(root: string, paths: string[], staged?: boolean): Promise<GitResult>;
14
14
  export declare function gitLog(root: string, limit?: number, pathspec?: string): Promise<GitResult>;
15
- //# sourceMappingURL=git.d.ts.map
@@ -101,4 +101,3 @@ export function gitLog(root, limit = 20, pathspec) {
101
101
  args.push("--", pathspec);
102
102
  return runGit(root, args);
103
103
  }
104
- //# sourceMappingURL=git.js.map
@@ -17,4 +17,3 @@ export interface ProjectOverview {
17
17
  export declare function fileInfo(root: string, relativePath: string): Promise<Record<string, unknown>>;
18
18
  export declare function packageInfo(root: string): Promise<Record<string, unknown>>;
19
19
  export declare function projectOverview(root: string): Promise<ProjectOverview>;
20
- //# sourceMappingURL=metadata.d.ts.map
@@ -98,4 +98,3 @@ export async function projectOverview(root) {
98
98
  git,
99
99
  };
100
100
  }
101
- //# sourceMappingURL=metadata.js.map
@@ -1,3 +1,2 @@
1
1
  import type { CommandResult } from "./commands.js";
2
2
  export declare function runNpm(root: string, script: string, timeoutMs?: number, allowedScripts?: string[], signal?: AbortSignal): Promise<CommandResult>;
3
- //# sourceMappingURL=npm.d.ts.map
@@ -73,4 +73,3 @@ export function runNpm(root, script, timeoutMs = 120000, allowedScripts = [], si
73
73
  });
74
74
  })();
75
75
  }
76
- //# sourceMappingURL=npm.js.map
@@ -30,4 +30,3 @@ export declare function listSkillResources(root: string): Promise<Array<{
30
30
  mimeType: string;
31
31
  }>>;
32
32
  export declare function skillResourceUrisForPath(root: string, relativePath: string): Promise<string[]>;
33
- //# sourceMappingURL=skills.d.ts.map
@@ -237,4 +237,3 @@ function mimeTypeFor(filePath) {
237
237
  return "text/plain";
238
238
  }
239
239
  }
240
- //# sourceMappingURL=skills.js.map
@@ -1,3 +1,2 @@
1
1
  import type { TunnelOptions, TunnelResult } from "./types.js";
2
- export declare function startTunnel({ provider, port, subdomain, random, }: TunnelOptions): Promise<TunnelResult>;
3
- //# sourceMappingURL=tunnel.d.ts.map
2
+ export declare function startTunnel(options: TunnelOptions): Promise<TunnelResult>;
@@ -1,5 +1,11 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { TelemetryRecorder } from "./telemetry/recorder.js";
2
3
  const STARTUP_TIMEOUT_MS = 15_000;
4
+ const HEALTH_INTERVAL_MS = 15_000;
5
+ const HEALTH_TIMEOUT_MS = 5_000;
6
+ const HEALTH_FAILURE_THRESHOLD = 2;
7
+ const RECONNECT_DELAY_MS = 1_000;
8
+ const MAX_RECONNECT_ATTEMPTS = 5;
3
9
  const ANSI_ESCAPE = new RegExp(String.fromCharCode(0x1b) + String.raw `\[[0-?]*[ -/]*[@-~]`, "g");
4
10
  function cleanOutput(value) {
5
11
  return value.toString().replace(ANSI_ESCAPE, "");
@@ -10,105 +16,259 @@ function writeLine(line = "") {
10
16
  function publicUrl(subdomain) {
11
17
  return `https://${subdomain}.wormhole.bar`;
12
18
  }
19
+ function reasonCategory(reason) {
20
+ if (/timeout/i.test(reason))
21
+ return "timeout";
22
+ if (/auth/i.test(reason))
23
+ return "authentication";
24
+ if (/registration|subdomain/i.test(reason))
25
+ return "startup";
26
+ if (/exit|process|error/i.test(reason))
27
+ return "execution";
28
+ return "unknown";
29
+ }
13
30
  function failureFromLine(line) {
14
- if (/subdomain limit reached/i.test(line)) {
15
- return "Wormhole rejected the tunnel: subdomain limit reached. Release an existing subdomain first.";
16
- }
31
+ if (/subdomain limit reached/i.test(line))
32
+ return "Wormhole rejected the tunnel: subdomain limit reached.";
17
33
  const registration = line.match(/registration failed:\s*(.+?)(?:\n|$)/i);
18
- const reason = registration?.[1];
19
- if (reason) {
20
- return `Wormhole registration failed: ${reason.trim()}`;
21
- }
22
- return undefined;
34
+ return registration?.[1] ? `Wormhole registration failed: ${registration[1].trim()}` : undefined;
23
35
  }
24
- export function startTunnel({ provider, port, subdomain, random, }) {
25
- if (provider !== "wormhole")
26
- throw new Error(`Unsupported tunnel provider: ${provider}. Use --tunnel wormhole or --no-tunnel.`);
36
+ export function startTunnel(options) {
37
+ if (options.provider !== "wormhole")
38
+ return Promise.reject(new Error(`Unsupported tunnel provider: ${options.provider}`));
27
39
  return new Promise((resolve, reject) => {
28
- const args = ["http", String(port)];
29
- if (!random && subdomain)
30
- args.push("--subdomain", subdomain);
31
- const child = spawn("wormhole", args, {
32
- stdio: ["ignore", "pipe", "pipe"],
33
- });
34
- let settled = false;
35
- let buffer = "";
40
+ const telemetry = options.telemetry && options.telemetry.level !== "none"
41
+ ? new TelemetryRecorder({
42
+ ...options.telemetry,
43
+ persist: options.telemetry.persist ?? true,
44
+ sessionId: options.telemetry.sessionId ?? `tunnel-${Date.now().toString(36)}`,
45
+ })
46
+ : undefined;
47
+ let child;
48
+ let url;
49
+ let startup = true;
50
+ let resolved = false;
51
+ let reconnecting = false;
52
+ let attempts = 0;
36
53
  let timer;
37
- const cleanup = () => {
54
+ let reconnectTimer;
55
+ let healthTimer;
56
+ let stopped = false;
57
+ let healthFailures = 0;
58
+ const record = (event) => {
59
+ if (!telemetry)
60
+ return;
61
+ if (event.type === "online")
62
+ telemetry.record({ event: "tunnel", state: "online", attempt: event.attempt });
63
+ else if (event.type === "disconnected")
64
+ telemetry.record({
65
+ event: "tunnel",
66
+ state: "disconnected",
67
+ reasonCategory: reasonCategory(event.reason),
68
+ });
69
+ else if (event.type === "reconnecting")
70
+ telemetry.record({
71
+ event: "tunnel",
72
+ state: "reconnecting",
73
+ attempt: event.attempt,
74
+ reasonCategory: reasonCategory(event.reason),
75
+ });
76
+ else if (event.type === "reconnected")
77
+ telemetry.record({ event: "tunnel", state: "reconnected", attempt: event.attempt });
78
+ else
79
+ telemetry.record({
80
+ event: "tunnel",
81
+ state: "failed",
82
+ attempts: event.attempts,
83
+ reasonCategory: reasonCategory(event.reason),
84
+ });
85
+ };
86
+ const emit = (event) => {
87
+ record(event);
88
+ if (event.type === "online") {
89
+ writeLine();
90
+ writeLine(" ✓ TUNNEL ONLINE");
91
+ writeLine(` Public URL : ${event.url}`);
92
+ writeLine(` MCP endpoint : ${event.url}/mcp`);
93
+ writeLine(` Forwarding : ${event.url} → http://127.0.0.1:${options.port}`);
94
+ writeLine();
95
+ }
96
+ else if (event.type === "disconnected") {
97
+ writeLine();
98
+ writeLine(` ⚠ TUNNEL DISCONNECTED ${event.reason}`);
99
+ }
100
+ else if (event.type === "reconnecting") {
101
+ writeLine(` Reconnecting : attempt ${event.attempt}/${MAX_RECONNECT_ATTEMPTS}`);
102
+ }
103
+ else if (event.type === "reconnected") {
104
+ writeLine(` ✓ TUNNEL RECONNECTED attempt ${event.attempt}`);
105
+ writeLine(` Public URL : ${event.url}`);
106
+ writeLine(` MCP endpoint : ${event.url}/mcp`);
107
+ writeLine();
108
+ }
109
+ else {
110
+ writeLine(` ✖ TUNNEL OFFLINE ${event.reason}`);
111
+ writeLine(` Reconnect attempts exhausted: ${event.attempts}`);
112
+ }
113
+ };
114
+ const cleanupTimers = () => {
38
115
  if (timer)
39
116
  clearTimeout(timer);
40
- child.stdout?.removeListener("data", onData);
41
- child.stderr?.removeListener("data", onData);
42
- child.removeListener("error", onError);
43
- child.removeListener("exit", onExit);
117
+ if (reconnectTimer)
118
+ clearTimeout(reconnectTimer);
119
+ if (healthTimer)
120
+ clearInterval(healthTimer);
121
+ timer = undefined;
122
+ reconnectTimer = undefined;
123
+ healthTimer = undefined;
44
124
  };
45
- const fail = (message) => {
46
- if (settled)
47
- return;
48
- settled = true;
49
- cleanup();
50
- if (!child.killed)
125
+ const stop = () => {
126
+ stopped = true;
127
+ cleanupTimers();
128
+ if (child && !child.killed)
51
129
  child.kill("SIGTERM");
52
- reject(new Error(message));
53
130
  };
54
- const succeed = (url) => {
55
- if (settled)
131
+ const startHealthChecks = () => {
132
+ if (!url || stopped || healthTimer)
56
133
  return;
57
- settled = true;
58
- cleanup();
59
- writeLine();
60
- writeLine(" ✓ TUNNEL ONLINE");
61
- writeLine(` Public URL : ${url}`);
62
- writeLine(` MCP endpoint : ${url}/mcp`);
63
- writeLine(` Forwarding : ${url} → http://127.0.0.1:${port}`);
64
- writeLine();
65
- resolve({ child, url });
134
+ healthTimer = setInterval(async () => {
135
+ if (!url || stopped || reconnecting)
136
+ return;
137
+ try {
138
+ const response = await fetch(url, {
139
+ method: "HEAD",
140
+ ...(options.token ? { headers: { authorization: `Bearer ${options.token}` } } : {}),
141
+ signal: AbortSignal.timeout(HEALTH_TIMEOUT_MS),
142
+ });
143
+ healthFailures = 0;
144
+ if (!response)
145
+ return;
146
+ }
147
+ catch {
148
+ healthFailures += 1;
149
+ if (healthFailures >= HEALTH_FAILURE_THRESHOLD) {
150
+ healthFailures = 0;
151
+ handleDisconnect("Public tunnel health check failed.");
152
+ }
153
+ }
154
+ }, HEALTH_INTERVAL_MS);
155
+ healthTimer.unref();
66
156
  };
67
- const processLine = (rawLine) => {
68
- const line = cleanOutput(rawLine).trim();
69
- if (!line)
157
+ const spawnTunnel = (attempt) => {
158
+ if (stopped)
70
159
  return;
71
- const failure = failureFromLine(line);
72
- if (failure) {
73
- fail(failure);
160
+ const args = ["http", String(options.port)];
161
+ if (!options.random && options.subdomain)
162
+ args.push("--subdomain", options.subdomain);
163
+ child = spawn("wormhole", args, { stdio: ["ignore", "pipe", "pipe"] });
164
+ let buffer = "";
165
+ let connected = false;
166
+ const cleanupAttempt = () => {
167
+ if (timer)
168
+ clearTimeout(timer);
169
+ timer = undefined;
170
+ child?.stdout?.removeListener("data", onData);
171
+ child?.stderr?.removeListener("data", onData);
172
+ child?.removeListener("error", onError);
173
+ child?.removeListener("exit", onExit);
174
+ };
175
+ const disconnect = (reason) => {
176
+ cleanupAttempt();
177
+ if (child && !child.killed)
178
+ child.kill("SIGTERM");
179
+ if (stopped)
180
+ return;
181
+ if (startup) {
182
+ stop();
183
+ reject(new Error(reason));
184
+ return;
185
+ }
186
+ handleDisconnect(reason);
187
+ };
188
+ const connectedAt = (nextUrl) => {
189
+ if (connected || stopped)
190
+ return;
191
+ connected = true;
192
+ url = nextUrl;
193
+ if (timer)
194
+ clearTimeout(timer);
195
+ timer = undefined;
196
+ if (startup) {
197
+ startup = false;
198
+ emit({ type: "online", url, attempt });
199
+ startHealthChecks();
200
+ if (!resolved) {
201
+ if (!child) {
202
+ stop();
203
+ reject(new Error("Wormhole connected without a child process."));
204
+ return;
205
+ }
206
+ resolved = true;
207
+ resolve({ child, url, onEvent: emit, stop });
208
+ }
209
+ }
210
+ else {
211
+ reconnecting = false;
212
+ attempts = 0;
213
+ healthFailures = 0;
214
+ emit({ type: "reconnected", url, attempt });
215
+ startHealthChecks();
216
+ }
217
+ };
218
+ const processLine = (raw) => {
219
+ const line = cleanOutput(raw).trim();
220
+ if (!line)
221
+ return;
222
+ const failure = failureFromLine(line);
223
+ if (failure) {
224
+ disconnect(failure);
225
+ return;
226
+ }
227
+ const explicit = line.match(/https:\/\/[^\s"'<>]+/)?.[0]?.replace(/[),.;]+$/, "");
228
+ if (explicit)
229
+ connectedAt(explicit);
230
+ else if (/Status\s+.*connected/i.test(line) && options.subdomain)
231
+ connectedAt(publicUrl(options.subdomain));
232
+ };
233
+ const onData = (chunk) => {
234
+ buffer += cleanOutput(chunk);
235
+ const lines = buffer.split(/\r\n|\n|\r/);
236
+ buffer = lines.pop() ?? "";
237
+ for (const line of lines)
238
+ processLine(line);
239
+ };
240
+ const onError = (error) => disconnect(`Wormhole error: ${error.message}`);
241
+ const onExit = (code, signal) => {
242
+ const detail = signal ? `signal ${signal}` : `code ${code}`;
243
+ disconnect(startup
244
+ ? `Wormhole exited before the tunnel was established (${detail}).`
245
+ : `Wormhole process exited (${detail}).`);
246
+ };
247
+ child.stdout?.on("data", onData);
248
+ child.stderr?.on("data", onData);
249
+ child.once("error", onError);
250
+ child.once("exit", onExit);
251
+ timer = setTimeout(() => {
252
+ if (!connected)
253
+ disconnect(`Timed out waiting for Wormhole to establish the tunnel after ${STARTUP_TIMEOUT_MS / 1000}s.`);
254
+ }, STARTUP_TIMEOUT_MS);
255
+ };
256
+ const handleDisconnect = (reason) => {
257
+ if (stopped || reconnecting)
74
258
  return;
75
- }
76
- const explicitUrl = line.match(/https:\/\/[^\s"'<>]+/)?.[0]?.replace(/[),.;]+$/, "");
77
- if (explicitUrl) {
78
- succeed(explicitUrl);
259
+ reconnecting = true;
260
+ emit({ type: "disconnected", reason });
261
+ if (attempts >= MAX_RECONNECT_ATTEMPTS) {
262
+ emit({ type: "failed", reason, attempts });
79
263
  return;
80
264
  }
81
- if (/Status\s+.*connected/i.test(line)) {
82
- if (subdomain)
83
- succeed(publicUrl(subdomain));
84
- }
85
- };
86
- const onData = (chunk) => {
87
- buffer += cleanOutput(chunk);
88
- const lines = buffer.split(/\r\n|\n|\r/);
89
- buffer = lines.pop() ?? "";
90
- for (const line of lines) {
91
- processLine(line);
92
- if (settled)
93
- break;
94
- }
95
- };
96
- const onError = (error) => {
97
- fail(`Unable to start Wormhole: ${error.message}`);
98
- };
99
- const onExit = (code, signal) => {
100
- if (settled)
101
- return;
102
- const detail = signal ? `signal ${signal}` : `code ${code}`;
103
- fail(`Wormhole exited before the tunnel was established (${detail}).`);
265
+ attempts += 1;
266
+ emit({ type: "reconnecting", attempt: attempts, reason });
267
+ reconnectTimer = setTimeout(() => {
268
+ reconnectTimer = undefined;
269
+ spawnTunnel(attempts);
270
+ }, RECONNECT_DELAY_MS * attempts);
104
271
  };
105
- child.stdout?.on("data", onData);
106
- child.stderr?.on("data", onData);
107
- child.once("error", onError);
108
- child.once("exit", onExit);
109
- timer = setTimeout(() => {
110
- fail(`Timed out waiting for Wormhole to establish the tunnel after ${STARTUP_TIMEOUT_MS / 1000}s.`);
111
- }, STARTUP_TIMEOUT_MS);
272
+ spawnTunnel(0);
112
273
  });
113
274
  }
114
- //# sourceMappingURL=tunnel.js.map
@@ -44,9 +44,32 @@ export interface TunnelOptions {
44
44
  port: number;
45
45
  subdomain?: string;
46
46
  random?: boolean;
47
+ token?: string;
48
+ telemetry?: TelemetryConfig;
47
49
  }
48
50
  export interface TunnelResult {
49
51
  child: ChildProcess;
50
52
  url: string;
53
+ onEvent?: (event: TunnelEvent) => void;
54
+ stop?: () => void;
51
55
  }
52
- //# sourceMappingURL=types.d.ts.map
56
+ export type TunnelEvent = {
57
+ type: "online";
58
+ url: string;
59
+ attempt: number;
60
+ } | {
61
+ type: "disconnected";
62
+ reason: string;
63
+ } | {
64
+ type: "reconnecting";
65
+ attempt: number;
66
+ reason: string;
67
+ } | {
68
+ type: "reconnected";
69
+ url: string;
70
+ attempt: number;
71
+ } | {
72
+ type: "failed";
73
+ reason: string;
74
+ attempts: number;
75
+ };
package/dist/src/types.js CHANGED
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-dir",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Expose a local project to an AI agent through authenticated MCP, filesystem tools, and allowlisted development commands",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "node": ">=24"
21
21
  },
22
22
  "scripts": {
23
- "build": "tsc",
23
+ "build": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\" && tsc",
24
24
  "test": "npm run build && node --test dist/test/**/*.test.js",
25
25
  "start": "node ./dist/bin/agent-dir.js .",
26
26
  "typecheck": "tsc --noEmit",
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-dir.d.ts","sourceRoot":"","sources":["../../bin/agent-dir.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-dir.js","sourceRoot":"","sources":["../../bin/agent-dir.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrE;AAQD,wBAAgB,YAAY,IAAI,QAAQ,CASvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,KAAa;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,UAAU,KAAK,IAAI,IAAI,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9D,OAAO,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE;QAC7D,MAAM,EAAE,GAAG;QACX,OAAO,EAAE;YACP,cAAc,EAAE,iCAAiC;YACjD,kBAAkB,EAAE,QAAQ;YAC5B,eAAe,EAAE,UAAU;SAC5B;KACF,CAAC,CAAC;AACL,CAAC"}