@0xmaxma/claude-gateway 1.3.21 → 1.3.23
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.
- package/README.md +1 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +22 -4
- package/dist/agent/runner.js.map +1 -1
- package/dist/session/claude-bin.d.ts +52 -0
- package/dist/session/claude-bin.d.ts.map +1 -0
- package/dist/session/claude-bin.js +171 -0
- package/dist/session/claude-bin.js.map +1 -0
- package/dist/session/compactor.d.ts.map +1 -1
- package/dist/session/compactor.js +10 -2
- package/dist/session/compactor.js.map +1 -1
- package/dist/session/process.d.ts +4 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +86 -3
- package/dist/session/process.js.map +1 -1
- package/dist/shell/claude-pty-shell.js +25 -1
- package/dist/shell/claude-pty-shell.js.map +1 -1
- package/dist/shell/orphan-wake.d.ts +37 -0
- package/dist/shell/orphan-wake.d.ts.map +1 -0
- package/dist/shell/orphan-wake.js +29 -0
- package/dist/shell/orphan-wake.js.map +1 -0
- package/dist/shell/screen.d.ts +4 -2
- package/dist/shell/screen.d.ts.map +1 -1
- package/dist/shell/screen.js +55 -6
- package/dist/shell/screen.js.map +1 -1
- package/mcp/tools/telegram/receiver-server.ts +16 -1
- package/mcp/tools/telegram/typing.ts +193 -29
- package/package.json +1 -1
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.nativeClaudeBinDir = nativeClaudeBinDir;
|
|
37
|
+
exports.isExecutableFile = isExecutableFile;
|
|
38
|
+
exports.resolveClaudeBin = resolveClaudeBin;
|
|
39
|
+
exports.pathWithNativeBin = pathWithNativeBin;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const os = __importStar(require("os"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
/**
|
|
44
|
+
* Resolution of the `claude` executable shared by every host-side spawn site
|
|
45
|
+
* (session subprocess in `process.ts`, `claude --print` in `compactor.ts`).
|
|
46
|
+
*
|
|
47
|
+
* The Claude Code native-installer migration (2026-07) moved the binary out of
|
|
48
|
+
* the legacy npm/nvm layout into `~/.local`, so a gateway launched with a minimal
|
|
49
|
+
* PATH can no longer find `claude` on PATH alone. Centralizing the probe here
|
|
50
|
+
* keeps every spawn site consistent and avoids re-introducing the bug one call
|
|
51
|
+
* site at a time.
|
|
52
|
+
*
|
|
53
|
+
* NOTE: this resolves against the HOST filesystem. App-agents run claude inside a
|
|
54
|
+
* docker container, so they must NOT use this — a host path is meaningless in the
|
|
55
|
+
* container. Those call sites keep bare `claude` (resolved by the container PATH).
|
|
56
|
+
*/
|
|
57
|
+
/** Directory holding the native-installer stable `claude` symlink (`~/.local/bin`). */
|
|
58
|
+
function nativeClaudeBinDir(homeDir = os.homedir()) {
|
|
59
|
+
return path.join(homeDir, '.local', 'bin');
|
|
60
|
+
}
|
|
61
|
+
/** True if `p` is an existing, executable regular file (symlinks are followed). */
|
|
62
|
+
function isExecutableFile(p) {
|
|
63
|
+
try {
|
|
64
|
+
if (!fs.statSync(p).isFile())
|
|
65
|
+
return false;
|
|
66
|
+
fs.accessSync(p, fs.constants.X_OK);
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** Resolve `cmd` against a PATH string, returning the first executable hit. */
|
|
74
|
+
function findOnPath(cmd, pathEnv) {
|
|
75
|
+
if (!pathEnv)
|
|
76
|
+
return null;
|
|
77
|
+
for (const dir of pathEnv.split(path.delimiter)) {
|
|
78
|
+
if (!dir)
|
|
79
|
+
continue;
|
|
80
|
+
const candidate = path.join(dir, cmd);
|
|
81
|
+
if (isExecutableFile(candidate))
|
|
82
|
+
return candidate;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Return the newest executable `claude` under a native-installer versions dir.
|
|
88
|
+
* Each version may be the binary itself (`versions/<ver>`) or a directory
|
|
89
|
+
* containing it (`versions/<ver>/claude`). Newest is decided by numeric-aware
|
|
90
|
+
* descending name sort so `2.1.206` beats `2.1.99`.
|
|
91
|
+
*/
|
|
92
|
+
function newestNativeVersion(versionsDir) {
|
|
93
|
+
let entries;
|
|
94
|
+
try {
|
|
95
|
+
entries = fs.readdirSync(versionsDir);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const sorted = entries.sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
|
|
101
|
+
for (const name of sorted) {
|
|
102
|
+
const base = path.join(versionsDir, name);
|
|
103
|
+
if (isExecutableFile(base))
|
|
104
|
+
return base;
|
|
105
|
+
const nested = path.join(base, 'claude');
|
|
106
|
+
if (isExecutableFile(nested))
|
|
107
|
+
return nested;
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve the `claude` executable when `CLAUDE_BIN` is not set. Probe order:
|
|
113
|
+
* 1. bare `claude` on PATH — respects the operator's environment when present
|
|
114
|
+
* 2. native stable symlink `~/.local/bin/claude`
|
|
115
|
+
* 3. newest native version under `~/.local/share/claude/versions/`
|
|
116
|
+
* 4. legacy npm-under-nvm `~/.nvm/versions/node/<v>/bin/claude`
|
|
117
|
+
* If every probe misses, fall back to bare `claude` so spawn still runs (and the
|
|
118
|
+
* failure surfaces through the caller's error log with the searched paths).
|
|
119
|
+
*
|
|
120
|
+
* LIMITATION: the PATH probe accepts the first *executable* `claude` it finds,
|
|
121
|
+
* so a broken drop-in shim that is executable but exits non-zero (the exact
|
|
122
|
+
* failure that motivated this) still wins here. Detecting that would require
|
|
123
|
+
* running the binary, which is out of scope (see issue #192 — the deployed host
|
|
124
|
+
* shim is an ops fix). The child PATH is hardened with the native bin dir (see
|
|
125
|
+
* pathWithNativeBin) so a genuine native install is preferred when both exist.
|
|
126
|
+
*/
|
|
127
|
+
function resolveClaudeBin(env = process.env, homeDir = os.homedir()) {
|
|
128
|
+
const searched = [];
|
|
129
|
+
searched.push('claude (PATH)');
|
|
130
|
+
if (findOnPath('claude', env.PATH)) {
|
|
131
|
+
return { bin: 'claude', source: 'PATH', searched };
|
|
132
|
+
}
|
|
133
|
+
const nativeBin = path.join(nativeClaudeBinDir(homeDir), 'claude');
|
|
134
|
+
searched.push(nativeBin);
|
|
135
|
+
if (isExecutableFile(nativeBin)) {
|
|
136
|
+
return { bin: nativeBin, source: 'native-bin', searched };
|
|
137
|
+
}
|
|
138
|
+
const versionsDir = path.join(homeDir, '.local', 'share', 'claude', 'versions');
|
|
139
|
+
searched.push(path.join(versionsDir, '*'));
|
|
140
|
+
const nativeVersion = newestNativeVersion(versionsDir);
|
|
141
|
+
if (nativeVersion) {
|
|
142
|
+
return { bin: nativeVersion, source: 'native-versions', searched };
|
|
143
|
+
}
|
|
144
|
+
const nvmDir = path.join(homeDir, '.nvm', 'versions', 'node');
|
|
145
|
+
searched.push(path.join(nvmDir, '*', 'bin', 'claude'));
|
|
146
|
+
try {
|
|
147
|
+
for (const node of fs.readdirSync(nvmDir).sort((a, b) => b.localeCompare(a, undefined, { numeric: true }))) {
|
|
148
|
+
const candidate = path.join(nvmDir, node, 'bin', 'claude');
|
|
149
|
+
if (isExecutableFile(candidate)) {
|
|
150
|
+
return { bin: candidate, source: 'legacy-npm', searched };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
/* no nvm layout */
|
|
156
|
+
}
|
|
157
|
+
return { bin: 'claude', source: 'fallback', searched };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* PATH with the native-installer bin dir prepended when it holds an executable
|
|
161
|
+
* `claude`, so a spawned child resolves the native install ahead of a stale
|
|
162
|
+
* legacy shim even if the gateway itself launched with a pre-migration PATH.
|
|
163
|
+
* Returns the original PATH unchanged when there is no native install.
|
|
164
|
+
*/
|
|
165
|
+
function pathWithNativeBin(homeDir = os.homedir(), pathEnv = process.env.PATH) {
|
|
166
|
+
const nativeBinDir = nativeClaudeBinDir(homeDir);
|
|
167
|
+
return isExecutableFile(path.join(nativeBinDir, 'claude'))
|
|
168
|
+
? `${nativeBinDir}${path.delimiter}${pathEnv ?? ''}`
|
|
169
|
+
: pathEnv;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=claude-bin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-bin.js","sourceRoot":"","sources":["../../src/session/claude-bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,EAAE,MAAM;CAI1B;AAqBD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,OAAO,CACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAkB,GAC5D,OAAO,CAAC,gBAAgB,CAAC;YA2Cd,qBAAqB;IA0BnC,OAAO,CAAC,eAAe;YAkBT,oBAAoB;CAgCnC"}
|
|
@@ -37,6 +37,7 @@ exports.SessionCompactor = exports.NotEnoughMessagesError = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const child_process_1 = require("child_process");
|
|
40
|
+
const claude_bin_1 = require("./claude-bin");
|
|
40
41
|
class NotEnoughMessagesError extends Error {
|
|
41
42
|
constructor(count) {
|
|
42
43
|
super(`Not enough messages to compact (${count} messages, minimum 5 required)`);
|
|
@@ -131,11 +132,18 @@ class SessionCompactor {
|
|
|
131
132
|
async callClaudeForSummary(text, instruction = SINGLE_SUMMARY_INSTRUCTION) {
|
|
132
133
|
// Wrap content in XML tags so claude treats it as data to analyze, not an active conversation
|
|
133
134
|
const prompt = `${COMPACTOR_SYSTEM_PROMPT}\n\n${instruction}\n\n<transcript>\n${text}\n</transcript>\n\nWrite a concise summary of the above transcript now:`;
|
|
134
|
-
|
|
135
|
+
// Resolve claude the same way the session subprocess does: honor CLAUDE_BIN
|
|
136
|
+
// (which may carry args), else probe PATH and the native/legacy install
|
|
137
|
+
// locations. This runs in the gateway's own (possibly minimal) PATH, so
|
|
138
|
+
// without resolution `claude --print` would fail identically to a session
|
|
139
|
+
// spawn after the native-installer migration.
|
|
140
|
+
const claudeBinRaw = process.env.CLAUDE_BIN ?? (0, claude_bin_1.resolveClaudeBin)().bin;
|
|
141
|
+
const [claudeBin, ...claudeBinArgs] = claudeBinRaw.split(' ');
|
|
142
|
+
const result = (0, child_process_1.spawnSync)(claudeBin, [...claudeBinArgs, '--print'], {
|
|
135
143
|
input: prompt,
|
|
136
144
|
encoding: 'utf-8',
|
|
137
145
|
timeout: 300000,
|
|
138
|
-
env: process.env,
|
|
146
|
+
env: { ...process.env, PATH: (0, claude_bin_1.pathWithNativeBin)() },
|
|
139
147
|
});
|
|
140
148
|
if (result.error) {
|
|
141
149
|
throw new Error(`claude CLI error: ${result.error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAA0C;
|
|
1
|
+
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,10 @@ export declare class SessionProcess extends EventEmitter {
|
|
|
34
34
|
queryMode: boolean;
|
|
35
35
|
private lastTotalTokens;
|
|
36
36
|
private thinkingRecoveryCount;
|
|
37
|
+
private lastClaudeBin;
|
|
38
|
+
private lastStderrLine;
|
|
39
|
+
private stderrBuffer;
|
|
40
|
+
private resolvedBinLogged;
|
|
37
41
|
private _queryResolve?;
|
|
38
42
|
private _queryBuffer;
|
|
39
43
|
private _queryTimer?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
|
package/dist/session/process.js
CHANGED
|
@@ -46,6 +46,7 @@ const chokidar_1 = __importDefault(require("chokidar"));
|
|
|
46
46
|
const logger_1 = require("../logger");
|
|
47
47
|
const pty_stream_registry_1 = require("../shell/pty-stream-registry");
|
|
48
48
|
const screen_1 = require("../shell/screen");
|
|
49
|
+
const claude_bin_1 = require("./claude-bin");
|
|
49
50
|
const tool_labels_1 = require("../utils/tool-labels");
|
|
50
51
|
exports.MAX_HISTORY_MESSAGES = 50;
|
|
51
52
|
const AUTO_RESTART_DELAY_MS = 5000;
|
|
@@ -81,6 +82,16 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
81
82
|
// reset to 0 until the first tokenUsage event fires.
|
|
82
83
|
this.lastTotalTokens = 0;
|
|
83
84
|
this.thinkingRecoveryCount = 0;
|
|
85
|
+
// Binary path last spawned and the last non-empty stderr line, retained so a
|
|
86
|
+
// fatal `Session max restarts reached` names what actually failed (e.g. an
|
|
87
|
+
// unresolvable `claude` binary) instead of ending in silence. `stderrBuffer`
|
|
88
|
+
// holds an unterminated trailing fragment so a line split across two `data`
|
|
89
|
+
// chunks is not captured as two partial lines.
|
|
90
|
+
this.lastClaudeBin = 'claude';
|
|
91
|
+
this.lastStderrLine = null;
|
|
92
|
+
this.stderrBuffer = '';
|
|
93
|
+
// Log the resolved-binary source once per instance, not on every restart spawn.
|
|
94
|
+
this.resolvedBinLogged = false;
|
|
84
95
|
this._queryBuffer = '';
|
|
85
96
|
this._querySettled = false;
|
|
86
97
|
this.sessionId = sessionId;
|
|
@@ -381,7 +392,41 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
381
392
|
const containerRestartPath = isAppAgent ? toContainerPath(this.restartSignalPath) : this.restartSignalPath;
|
|
382
393
|
const freshModel = this.readFreshModel();
|
|
383
394
|
const args = this.buildArgs(effectiveMcpPath, freshModel);
|
|
384
|
-
|
|
395
|
+
// Resolve the claude binary. An explicit CLAUDE_BIN (which may carry args) is
|
|
396
|
+
// trusted verbatim; otherwise probe PATH and the native-installer / legacy
|
|
397
|
+
// install locations so a gateway launched with a minimal PATH still finds it.
|
|
398
|
+
let claudeBinRaw;
|
|
399
|
+
if (process.env.CLAUDE_BIN) {
|
|
400
|
+
claudeBinRaw = process.env.CLAUDE_BIN;
|
|
401
|
+
}
|
|
402
|
+
else if (isAppAgent) {
|
|
403
|
+
// App-agents run claude INSIDE the container; host-side resolution would
|
|
404
|
+
// point at a host path that need not exist in the container. Keep bare
|
|
405
|
+
// `claude` so the container's own PATH resolves it (agentConfig.claudeBin
|
|
406
|
+
// overrides below when the image installs claude elsewhere).
|
|
407
|
+
claudeBinRaw = 'claude';
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
const resolution = (0, claude_bin_1.resolveClaudeBin)();
|
|
411
|
+
claudeBinRaw = resolution.bin;
|
|
412
|
+
if (resolution.source === 'fallback') {
|
|
413
|
+
this.logger.warn('Could not resolve the claude binary — spawning bare "claude" as a last resort', {
|
|
414
|
+
sessionId: this.sessionId,
|
|
415
|
+
searched: resolution.searched,
|
|
416
|
+
hint: 'set CLAUDE_BIN to the claude executable path (native install: ~/.local/bin/claude)',
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
else if (resolution.source !== 'PATH' && !this.resolvedBinLogged) {
|
|
420
|
+
// Log the non-PATH resolution once per instance; auto-restarts re-resolve
|
|
421
|
+
// the same location and would otherwise repeat this line on every spawn.
|
|
422
|
+
this.resolvedBinLogged = true;
|
|
423
|
+
this.logger.info('Resolved claude binary from an install location', {
|
|
424
|
+
sessionId: this.sessionId,
|
|
425
|
+
bin: resolution.bin,
|
|
426
|
+
source: resolution.source,
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
}
|
|
385
430
|
const claudeBinParts = claudeBinRaw.split(' ');
|
|
386
431
|
let claudeBin = claudeBinParts[0];
|
|
387
432
|
let allArgs = [...claudeBinParts.slice(1), ...args];
|
|
@@ -422,6 +467,9 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
422
467
|
backend: usePtyShell ? 'pty-shell' : 'headless',
|
|
423
468
|
});
|
|
424
469
|
const spawnBin = isAppAgent ? 'docker' : claudeBin;
|
|
470
|
+
// Record the claude binary targeted this spawn so a fatal restart failure
|
|
471
|
+
// can name it (app-agents run claude inside the container).
|
|
472
|
+
this.lastClaudeBin = isAppAgent ? (this.agentConfig.claudeBin ?? claudeBinRaw) : claudeBinRaw;
|
|
425
473
|
// env vars that must be forwarded into the container via `docker exec -e`
|
|
426
474
|
let containerUid = 1000;
|
|
427
475
|
try {
|
|
@@ -453,9 +501,14 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
453
501
|
ptyStreamSocketPath = pty_stream_registry_1.ptyStreamRegistry.socketPath(this.sessionId);
|
|
454
502
|
pty_stream_registry_1.ptyStreamRegistry.listen(this.sessionId, ptyStreamSocketPath);
|
|
455
503
|
}
|
|
504
|
+
// Ensure the native-installer bin dir is on the child's PATH when it exists,
|
|
505
|
+
// so a bare `claude` resolves even if the gateway itself was launched with a
|
|
506
|
+
// minimal PATH that predates the native-installer migration.
|
|
507
|
+
const hardenedPath = (0, claude_bin_1.pathWithNativeBin)();
|
|
456
508
|
const proc = (0, child_process_1.spawn)(spawnBin, spawnArgs, {
|
|
457
509
|
env: {
|
|
458
510
|
...process.env,
|
|
511
|
+
...(hardenedPath ? { PATH: hardenedPath } : {}),
|
|
459
512
|
CLAUDE_WORKSPACE: isAppAgent ? '/workspace' : this.agentConfig.workspace,
|
|
460
513
|
TELEGRAM_BOT_TOKEN: this.agentConfig.telegram?.botToken ?? '',
|
|
461
514
|
GATEWAY_RESTART_SIGNAL_PATH: this.restartSignalPath,
|
|
@@ -681,9 +734,24 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
681
734
|
}
|
|
682
735
|
});
|
|
683
736
|
proc.stderr?.on('data', (data) => {
|
|
684
|
-
|
|
737
|
+
const text = data.toString();
|
|
738
|
+
// Buffer across chunks: split into complete lines and retain any unterminated
|
|
739
|
+
// trailing fragment so a line split on a chunk boundary is not seen as two.
|
|
740
|
+
this.stderrBuffer += text;
|
|
741
|
+
const lines = this.stderrBuffer.split('\n');
|
|
742
|
+
this.stderrBuffer = lines.pop() ?? '';
|
|
743
|
+
const lastLine = lines.map(l => l.trim()).filter(Boolean).pop();
|
|
744
|
+
if (lastLine)
|
|
745
|
+
this.lastStderrLine = lastLine;
|
|
746
|
+
this.logger.warn('session stderr', { stderr: text });
|
|
685
747
|
});
|
|
686
748
|
proc.on('exit', (code, signal) => {
|
|
749
|
+
// Flush any unterminated trailing stderr fragment (a process that dies
|
|
750
|
+
// mid-line writes no final newline) so it can still surface as lastStderr.
|
|
751
|
+
const trailing = this.stderrBuffer.trim();
|
|
752
|
+
if (trailing)
|
|
753
|
+
this.lastStderrLine = trailing;
|
|
754
|
+
this.stderrBuffer = '';
|
|
687
755
|
this.logger.info('session subprocess exited', {
|
|
688
756
|
code,
|
|
689
757
|
signal,
|
|
@@ -704,6 +772,11 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
704
772
|
this.scheduleRestart();
|
|
705
773
|
});
|
|
706
774
|
proc.on('error', (err) => {
|
|
775
|
+
// A missing/unresolvable binary surfaces here as an ENOENT `error` event
|
|
776
|
+
// (e.g. `spawn /path/claude ENOENT`), NOT on stderr — capture it so the
|
|
777
|
+
// fatal max-restarts log can name the real cause and fire the CLAUDE_BIN
|
|
778
|
+
// hint. This is the exact failure the binary-resolution work targets.
|
|
779
|
+
this.lastStderrLine = err.message;
|
|
707
780
|
this.logger.error('session subprocess error', { error: err.message });
|
|
708
781
|
});
|
|
709
782
|
}
|
|
@@ -715,7 +788,17 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
715
788
|
this.restartCount = 0;
|
|
716
789
|
}
|
|
717
790
|
if (this.restartCount >= MAX_RESTARTS) {
|
|
718
|
-
|
|
791
|
+
// Match both the CLI's own "binary not found" text and Node's spawn ENOENT
|
|
792
|
+
// (the shape a genuinely unresolvable claude binary produces).
|
|
793
|
+
const binNotFound = /binary not found|ENOENT/i.test(this.lastStderrLine ?? '');
|
|
794
|
+
this.logger.error('Session max restarts reached', {
|
|
795
|
+
sessionId: this.sessionId,
|
|
796
|
+
claudeBin: this.lastClaudeBin,
|
|
797
|
+
lastStderr: this.lastStderrLine ?? null,
|
|
798
|
+
...(binNotFound
|
|
799
|
+
? { hint: 'claude executable is not resolvable — set CLAUDE_BIN to the claude path (native install: ~/.local/bin/claude)' }
|
|
800
|
+
: {}),
|
|
801
|
+
});
|
|
719
802
|
this.emit('failed');
|
|
720
803
|
return;
|
|
721
804
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ const tailer_1 = require("./tailer");
|
|
|
55
55
|
const emitter_1 = require("./emitter");
|
|
56
56
|
const trust_1 = require("./trust");
|
|
57
57
|
const menu_cancel_1 = require("./menu-cancel");
|
|
58
|
+
const orphan_wake_1 = require("./orphan-wake");
|
|
58
59
|
const menu_probe_1 = require("./menu-probe");
|
|
59
60
|
const POLL_MS = 200;
|
|
60
61
|
const STARTUP_QUIET_MS = 600;
|
|
@@ -309,6 +310,29 @@ class Driver {
|
|
|
309
310
|
// New output = activity: re-arm idle reconciliation so a fresh session_idle is
|
|
310
311
|
// emitted once Claude settles, even if this record arrived outside a tracked turn.
|
|
311
312
|
this.idleNotified = false;
|
|
313
|
+
// Claude can start a turn on its own — a background Task's completion
|
|
314
|
+
// notification re-invokes it with no user message and thus no ActiveTurn.
|
|
315
|
+
// Adopt the wake as a synthetic turn so the existing machinery (result
|
|
316
|
+
// forwarding, probe → menu bridge, watchdog) all applies. Gate reasoning
|
|
317
|
+
// lives with the pure function in orphan-wake.ts.
|
|
318
|
+
if ((0, orphan_wake_1.shouldAdoptOrphanWake)({
|
|
319
|
+
hasTurn: this.turn !== null,
|
|
320
|
+
exiting: this.exiting,
|
|
321
|
+
interrupting: this.interrupting !== null,
|
|
322
|
+
menuCancelActive: this.menuCancel !== null,
|
|
323
|
+
pendingMenu: this.pendingMenu !== null,
|
|
324
|
+
screenBusy: this.screen.isBusy(),
|
|
325
|
+
screenHasPrompt: this.screen.hasPrompt(),
|
|
326
|
+
})) {
|
|
327
|
+
logWarn('assistant record with no active turn and a working screen — adopting autonomous wake as a turn');
|
|
328
|
+
this.beginTurn();
|
|
329
|
+
const turn = this.turn;
|
|
330
|
+
// Mark as already-submitted, already-busy: the Enter-retry path must
|
|
331
|
+
// never type into a turn we didn't submit, and the probe/fallback-idle
|
|
332
|
+
// paths require sawBusy to engage.
|
|
333
|
+
turn.submittedAt = Date.now();
|
|
334
|
+
turn.sawBusy = true;
|
|
335
|
+
}
|
|
312
336
|
if (this.turn) {
|
|
313
337
|
this.turn.sawAssistant = true;
|
|
314
338
|
this.turn.lastProgressAt = Date.now();
|
|
@@ -807,7 +831,7 @@ class Driver {
|
|
|
807
831
|
this.probe = null;
|
|
808
832
|
const text = afterParsed.isPermission
|
|
809
833
|
? (0, screen_1.formatPermissionPrompt)(afterParsed.context, afterParsed.options)
|
|
810
|
-
: (0, screen_1.formatMenuPrompt)(afterParsed.options);
|
|
834
|
+
: (0, screen_1.formatMenuPrompt)(afterParsed.options, afterParsed.context);
|
|
811
835
|
logWarn(`interactive ${afterParsed.isPermission ? 'permission prompt' : 'menu'} confirmed (${afterParsed.options.length} options, highlight ${beforeParsed.highlighted}→${afterParsed.highlighted}) — bridging to chat`);
|
|
812
836
|
this.bridgeChoiceToChat(turn, afterParsed.options, text);
|
|
813
837
|
}
|