@0xmaxma/claude-gateway 1.2.31 → 1.3.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 (49) hide show
  1. package/README.md +23 -4
  2. package/config.template.json +5 -5
  3. package/dist/api/packages.d.ts +2 -0
  4. package/dist/api/packages.d.ts.map +1 -1
  5. package/dist/api/packages.js +125 -27
  6. package/dist/api/packages.js.map +1 -1
  7. package/dist/api/router.d.ts.map +1 -1
  8. package/dist/api/router.js +2 -4
  9. package/dist/api/router.js.map +1 -1
  10. package/dist/apps/agent-manager.d.ts.map +1 -1
  11. package/dist/apps/agent-manager.js +0 -1
  12. package/dist/apps/agent-manager.js.map +1 -1
  13. package/dist/config/watcher.d.ts.map +1 -1
  14. package/dist/config/watcher.js +21 -4
  15. package/dist/config/watcher.js.map +1 -1
  16. package/dist/index.js +8 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/session/process.d.ts.map +1 -1
  19. package/dist/session/process.js +32 -5
  20. package/dist/session/process.js.map +1 -1
  21. package/dist/shell/args.d.ts +22 -0
  22. package/dist/shell/args.d.ts.map +1 -0
  23. package/dist/shell/args.js +105 -0
  24. package/dist/shell/args.js.map +1 -0
  25. package/dist/shell/claude-pty-shell.d.ts +3 -0
  26. package/dist/shell/claude-pty-shell.d.ts.map +1 -0
  27. package/dist/shell/claude-pty-shell.js +407 -0
  28. package/dist/shell/claude-pty-shell.js.map +1 -0
  29. package/dist/shell/emitter.d.ts +36 -0
  30. package/dist/shell/emitter.d.ts.map +1 -0
  31. package/dist/shell/emitter.js +85 -0
  32. package/dist/shell/emitter.js.map +1 -0
  33. package/dist/shell/pty-host.d.ts +21 -0
  34. package/dist/shell/pty-host.d.ts.map +1 -0
  35. package/dist/shell/pty-host.js +102 -0
  36. package/dist/shell/pty-host.js.map +1 -0
  37. package/dist/shell/screen.d.ts +44 -0
  38. package/dist/shell/screen.d.ts.map +1 -0
  39. package/dist/shell/screen.js +89 -0
  40. package/dist/shell/screen.js.map +1 -0
  41. package/dist/shell/tailer.d.ts +64 -0
  42. package/dist/shell/tailer.d.ts.map +1 -0
  43. package/dist/shell/tailer.js +181 -0
  44. package/dist/shell/tailer.js.map +1 -0
  45. package/dist/types.d.ts +7 -1
  46. package/dist/types.d.ts.map +1 -1
  47. package/mcp/tools/telegram/dedup.ts +46 -0
  48. package/mcp/tools/telegram/receiver-server.ts +25 -0
  49. package/package.json +3 -1
package/README.md CHANGED
@@ -29,6 +29,7 @@ A self-hosted multi-agent gateway for Claude Code. Connect Claude agents to Tele
29
29
  - **App Store** — install, update, and host Docker-compose apps on the gateway; apps get a reverse proxy at `/app/:name/:portName/*`, optional Unix socket bridge for host scripts, and optional AI agent injection
30
30
  - **Self-update API** — check for newer versions of `claude-gateway` and `claude-code` and trigger an update via a single API call; no SSH or shell access needed
31
31
  - **Session persistence** — conversation history saved and restored across restarts
32
+ - **PTY backend** — optional interactive pseudo-terminal backend (`gateway.headless: false`) for tools that require a real TTY; uses `TranscriptTailer` for reliable output instead of ANSI parsing; app-agents always stay headless
32
33
 
33
34
  ---
34
35
 
@@ -38,6 +39,7 @@ A self-hosted multi-agent gateway for Claude Code. Connect Claude agents to Tele
38
39
  - [Claude Code CLI](https://claude.ai/code) v2.1.0+ installed and authenticated — `channels mode` is required (`claude --version`)
39
40
  - [Bun](https://bun.sh) — runs the MCP server subprocess (`mcp/server.ts`)
40
41
  - A bot token per agent — Telegram (from [@BotFather](https://t.me/BotFather)) or Discord (from [Discord Developer Portal](https://discord.com/developers/applications))
42
+ - **PTY backend only** (`claude.headless: false`): native build tools required for `node-pty` — `gcc`, `python3`, and `node-gyp` must be available at `npm install` time (pre-built binaries are included for common platforms; build tools are only needed if a pre-built binary is unavailable for your platform)
41
43
 
42
44
  ---
43
45
 
@@ -201,7 +203,6 @@ Config lives at `~/.claude-gateway/config.json` (or set `GATEWAY_CONFIG` env var
201
203
  },
202
204
  "claude": {
203
205
  "model": "claude-sonnet-4-6",
204
- "dangerouslySkipPermissions": true,
205
206
  "extraFlags": []
206
207
  },
207
208
  "heartbeat": {
@@ -268,9 +269,28 @@ Access policy is configured per-channel in the agent's workspace state file, not
268
269
  | `open` | Anyone can DM the agent |
269
270
  | `pairing` | New users DM the bot to receive a pairing code; approve with `npm run pair` |
270
271
 
271
- ### `dangerouslySkipPermissions`
272
+ ### `gateway.headless`
272
273
 
273
- Set to `true` for all agents running headless (no interactive terminal). Without it the agent cannot use MCP tools like sending Telegram replies.
274
+ Controls the Claude subprocess backend for all non-app agents.
275
+
276
+ | Value | Backend | Description |
277
+ |-------|---------|-------------|
278
+ | `true` *(default)* | Headless (`--print`) | Stateless invocation, lowest overhead |
279
+ | `false` | PTY shell wrapper | Interactive pseudo-terminal — full TUI support |
280
+
281
+ **App-agents always run headless** regardless of this setting.
282
+
283
+ `--dangerously-skip-permissions` is always injected by the gateway automatically — there is no per-agent config field for it.
284
+
285
+ ```json
286
+ {
287
+ "gateway": {
288
+ "headless": false
289
+ }
290
+ }
291
+ ```
292
+
293
+ This setting is hot-reloadable — new sessions pick it up without a restart.
274
294
 
275
295
  ### `gateway.api.keys`
276
296
 
@@ -877,7 +897,6 @@ npm run typecheck
877
897
 
878
898
  **Agent fails to start**
879
899
  - Check workspace path exists and contains `AGENTS.md`
880
- - Check `dangerouslySkipPermissions: true` is set in config
881
900
  - Check logs in `~/.claude-gateway/logs/<id>.log`
882
901
 
883
902
  **Agent not responding to messages**
@@ -6,10 +6,11 @@
6
6
  ],
7
7
  "removePaths": [
8
8
  "telegram.allowedUsers",
9
- "telegram.dmPolicy"
9
+ "telegram.dmPolicy",
10
+ "claude.dangerouslySkipPermissions"
10
11
  ]
11
12
  },
12
- "configVersion": "1.0.7",
13
+ "configVersion": "1.0.8",
13
14
  "gateway": {
14
15
  "logDir": "~/.claude-gateway/logs",
15
16
  "timezone": "Asia/Bangkok",
@@ -39,7 +40,8 @@
39
40
  "retentionDays": 60,
40
41
  "cleanupHour": 0,
41
42
  "cleanupTimezone": "UTC"
42
- }
43
+ },
44
+ "headless": true
43
45
  },
44
46
  "agents": [
45
47
  {
@@ -52,7 +54,6 @@
52
54
  },
53
55
  "claude": {
54
56
  "model": "claude-opus-4-6",
55
- "dangerouslySkipPermissions": true,
56
57
  "extraFlags": []
57
58
  },
58
59
  "signatureEmoji": "",
@@ -77,7 +78,6 @@
77
78
  },
78
79
  "claude": {
79
80
  "model": "claude-sonnet-4-6",
80
- "dangerouslySkipPermissions": false,
81
81
  "extraFlags": []
82
82
  },
83
83
  "session": {
@@ -1,5 +1,7 @@
1
1
  import { Router } from 'express';
2
2
  import { ApiKey } from '../types';
3
3
  export declare function _resetCache(): void;
4
+ export declare function _resetLock(): void;
5
+ export declare function _setLock(): void;
4
6
  export declare function createPackagesRouter(apiKeys?: ApiKey[]): Router;
5
7
  //# sourceMappingURL=packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2BlC,wBAAgB,WAAW,IAAI,IAAI,CAElC;AA0CD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA6G/D"}
1
+ {"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA4BlC,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAsFD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAwJ/D"}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._resetCache = _resetCache;
4
+ exports._resetLock = _resetLock;
5
+ exports._setLock = _setLock;
4
6
  exports.createPackagesRouter = createPackagesRouter;
5
7
  const express_1 = require("express");
6
8
  const child_process_1 = require("child_process");
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
7
11
  const auth_1 = require("./auth");
8
12
  // URL param "name" → npm package name
9
13
  const PACKAGE_MAP = {
@@ -12,9 +16,16 @@ const PACKAGE_MAP = {
12
16
  };
13
17
  const CACHE_TTL_MS = 5 * 60 * 1000;
14
18
  let versionCache = null;
19
+ let isUpdating = false;
15
20
  function _resetCache() {
16
21
  versionCache = null;
17
22
  }
23
+ function _resetLock() {
24
+ isUpdating = false;
25
+ }
26
+ function _setLock() {
27
+ isUpdating = true;
28
+ }
18
29
  function getNpmListVersion(packageName) {
19
30
  try {
20
31
  const output = (0, child_process_1.execSync)(`npm list -g ${packageName} --depth=0 --json`, {
@@ -52,6 +63,50 @@ async function fetchAllPackageVersions() {
52
63
  };
53
64
  }));
54
65
  }
66
+ function getNpmGlobalRoot() {
67
+ return (0, child_process_1.execSync)('npm root -g', {
68
+ encoding: 'utf-8',
69
+ stdio: ['pipe', 'pipe', 'pipe'],
70
+ timeout: 10000,
71
+ }).trim();
72
+ }
73
+ function cleanStaleNpmTempDirs(npmRoot, packageName) {
74
+ const match = packageName.match(/^(@[^/]+)\/(.+)$/);
75
+ if (!match)
76
+ return;
77
+ const [, scope, basename] = match;
78
+ const scopeDir = (0, path_1.join)(npmRoot, scope);
79
+ let entries;
80
+ try {
81
+ entries = (0, fs_1.readdirSync)(scopeDir, { withFileTypes: false });
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ const prefix = `.${basename}-`;
87
+ for (const entry of entries) {
88
+ if (entry.startsWith(prefix)) {
89
+ try {
90
+ (0, fs_1.rmSync)((0, path_1.join)(scopeDir, entry), { recursive: true, force: true });
91
+ }
92
+ catch {
93
+ // best-effort: ignore errors on individual temp dir removal
94
+ }
95
+ }
96
+ }
97
+ }
98
+ function removePackageDir(npmRoot, packageName) {
99
+ const match = packageName.match(/^(@[^/]+)\/(.+)$/);
100
+ if (!match)
101
+ return;
102
+ const [, scope, basename] = match;
103
+ try {
104
+ (0, fs_1.rmSync)((0, path_1.join)(npmRoot, scope, basename), { recursive: true, force: true });
105
+ }
106
+ catch {
107
+ // best-effort
108
+ }
109
+ }
55
110
  function createPackagesRouter(apiKeys) {
56
111
  const router = (0, express_1.Router)();
57
112
  if (apiKeys?.length) {
@@ -114,36 +169,79 @@ function createPackagesRouter(apiKeys) {
114
169
  res.json({ package: packageName, from, to: from, updated: false, warning: null });
115
170
  return;
116
171
  }
117
- // Run npm install
118
- try {
119
- (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
120
- stdio: ['pipe', 'pipe', 'pipe'],
121
- timeout: 120000,
122
- });
123
- }
124
- catch (err) {
125
- const stderr = err.stderr?.toString() ?? 'install failed';
126
- res.status(500).json({ error: stderr });
172
+ // Reject if another update is already in progress
173
+ if (isUpdating) {
174
+ res.status(409).json({ error: 'update already in progress' });
127
175
  return;
128
176
  }
129
- // Invalidate version cache after successful install
130
- versionCache = null;
131
- const to = getNpmListVersion(packageName);
132
- if (name === 'claude-gateway') {
133
- const isSystemd = !!process.env.INVOCATION_ID;
134
- const isPm2 = !!process.env.PM2_HOME || process.env.pm_id !== undefined;
135
- const isManaged = isSystemd || isPm2;
136
- res.json({
137
- package: packageName,
138
- from,
139
- to,
140
- updated: true,
141
- warning: isManaged ? 'service will restart' : 'process will stop — restart manually',
142
- });
143
- setTimeout(() => process.kill(process.pid, 'SIGTERM'), 500);
177
+ isUpdating = true;
178
+ try {
179
+ // Resolve npm global root for temp dir cleanup
180
+ let npmRoot = '';
181
+ try {
182
+ npmRoot = getNpmGlobalRoot();
183
+ }
184
+ catch {
185
+ // non-fatal: skip pre-clean if npm root unavailable
186
+ }
187
+ // Pre-clean any stale npm temp dirs left by previous interrupted installs
188
+ if (npmRoot) {
189
+ cleanStaleNpmTempDirs(npmRoot, packageName);
190
+ }
191
+ let installErr = null;
192
+ try {
193
+ (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
194
+ stdio: ['pipe', 'pipe', 'pipe'],
195
+ timeout: 300000,
196
+ });
197
+ }
198
+ catch (err) {
199
+ const stderr = err.stderr?.toString() ?? '';
200
+ if (npmRoot && (stderr.includes('ENOTEMPTY') || stderr.includes('ENOTDIR'))) {
201
+ // Remove stale temp dirs and the partially-installed package dir, then retry once
202
+ cleanStaleNpmTempDirs(npmRoot, packageName);
203
+ removePackageDir(npmRoot, packageName);
204
+ try {
205
+ (0, child_process_1.execSync)(`npm install -g ${packageName}@latest`, {
206
+ stdio: ['pipe', 'pipe', 'pipe'],
207
+ timeout: 300000,
208
+ });
209
+ }
210
+ catch (retryErr) {
211
+ installErr = retryErr;
212
+ }
213
+ }
214
+ else {
215
+ installErr = err;
216
+ }
217
+ }
218
+ if (installErr !== null) {
219
+ const stderr = installErr.stderr?.toString() ?? 'install failed';
220
+ res.status(500).json({ error: stderr });
221
+ return;
222
+ }
223
+ // Invalidate version cache after successful install
224
+ versionCache = null;
225
+ const to = getNpmListVersion(packageName);
226
+ if (name === 'claude-gateway') {
227
+ const isSystemd = !!process.env.INVOCATION_ID;
228
+ const isPm2 = !!process.env.PM2_HOME || process.env.pm_id !== undefined;
229
+ const isManaged = isSystemd || isPm2;
230
+ res.json({
231
+ package: packageName,
232
+ from,
233
+ to,
234
+ updated: true,
235
+ warning: isManaged ? 'service will restart' : 'process will stop — restart manually',
236
+ });
237
+ setTimeout(() => process.kill(process.pid, 'SIGTERM'), 500);
238
+ }
239
+ else {
240
+ res.json({ package: packageName, from, to, updated: true, warning: null });
241
+ }
144
242
  }
145
- else {
146
- res.json({ package: packageName, from, to, updated: true, warning: null });
243
+ finally {
244
+ isUpdating = false;
147
245
  }
148
246
  });
149
247
  return router;
@@ -1 +1 @@
1
- {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/api/packages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAOpD,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAwLzE,wBAAgB,eAAe,CAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EAAE,GACrB,MAAM,CAwjER"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAOpD,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAwLzE,wBAAgB,eAAe,CAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACtC,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EAAE,GACrB,MAAM,CAsjER"}
@@ -555,7 +555,6 @@ function createApiRouter(agentRunners, agentConfigs, apiKeys, configPath, models
555
555
  env: path.join('~', '.claude-gateway', 'agents', id, 'workspace', '.env'),
556
556
  claude: {
557
557
  model: typeof model === 'string' && model.trim() ? model.trim() : 'claude-sonnet-4-6',
558
- dangerouslySkipPermissions: false,
559
558
  extraFlags: [],
560
559
  },
561
560
  };
@@ -582,7 +581,6 @@ function createApiRouter(agentRunners, agentConfigs, apiKeys, configPath, models
582
581
  env: path.join(workspaceAbs, '.env'),
583
582
  claude: {
584
583
  model: typeof model === 'string' && model.trim() ? model.trim() : 'claude-sonnet-4-6',
585
- dangerouslySkipPermissions: false,
586
584
  extraFlags: [],
587
585
  },
588
586
  });
@@ -859,7 +857,7 @@ function createApiRouter(agentRunners, agentConfigs, apiKeys, configPath, models
859
857
  description: wizard.prompt.slice(0, 200).trim(),
860
858
  workspace: absToTildePath(workspaceDirAbs),
861
859
  env: absToTildePath(path.join(workspaceDirAbs, '.env')),
862
- claude: { model: defaultModel, dangerouslySkipPermissions: false, extraFlags: [] },
860
+ claude: { model: defaultModel, extraFlags: [] },
863
861
  };
864
862
  if (wizard.signatureEmoji)
865
863
  newAgent.signatureEmoji = wizard.signatureEmoji;
@@ -882,7 +880,7 @@ function createApiRouter(agentRunners, agentConfigs, apiKeys, configPath, models
882
880
  description: wizard.prompt.slice(0, 200).trim(),
883
881
  workspace: workspaceDirAbs,
884
882
  env: path.join(workspaceDirAbs, '.env'),
885
- claude: { model: defaultModel, dangerouslySkipPermissions: false, extraFlags: [] },
883
+ claude: { model: defaultModel, extraFlags: [] },
886
884
  ...(wizard.signatureEmoji ? { signatureEmoji: wizard.signatureEmoji } : {}),
887
885
  ...(avatarFilename ? { avatar: avatarFilename } : {}),
888
886
  });