@redplanethq/corebrain 2.3.4 → 2.3.5
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/dist/commands/coding/close.d.ts +11 -0
- package/dist/commands/coding/close.d.ts.map +1 -0
- package/dist/commands/coding/close.js +87 -0
- package/dist/commands/coding/close.js.map +1 -0
- package/dist/commands/coding/list.d.ts +10 -0
- package/dist/commands/coding/list.d.ts.map +1 -0
- package/dist/commands/coding/list.js +72 -0
- package/dist/commands/coding/list.js.map +1 -0
- package/dist/commands/coding/read.d.ts +14 -0
- package/dist/commands/coding/read.d.ts.map +1 -0
- package/dist/commands/coding/read.js +111 -0
- package/dist/commands/coding/read.js.map +1 -0
- package/dist/commands/coding/resume.d.ts +11 -0
- package/dist/commands/coding/resume.d.ts.map +1 -0
- package/dist/commands/coding/resume.js +80 -0
- package/dist/commands/coding/resume.js.map +1 -0
- package/dist/commands/coding/setup.js +1 -1
- package/dist/commands/coding/setup.js.map +1 -1
- package/dist/commands/coding/start.d.ts +14 -0
- package/dist/commands/coding/start.d.ts.map +1 -0
- package/dist/commands/coding/start.js +104 -0
- package/dist/commands/coding/start.js.map +1 -0
- package/dist/commands/gateway/config.js +1 -1
- package/dist/commands/gateway/config.js.map +1 -1
- package/dist/server/tools/coding-tools.d.ts +3 -0
- package/dist/server/tools/coding-tools.d.ts.map +1 -1
- package/dist/server/tools/coding-tools.js +43 -31
- package/dist/server/tools/coding-tools.js.map +1 -1
- package/dist/utils/coding-agents/claude-code.d.ts +7 -0
- package/dist/utils/coding-agents/claude-code.d.ts.map +1 -0
- package/dist/utils/coding-agents/claude-code.js +126 -0
- package/dist/utils/coding-agents/claude-code.js.map +1 -0
- package/dist/utils/coding-agents/index.d.ts +15 -0
- package/dist/utils/coding-agents/index.d.ts.map +1 -0
- package/dist/utils/coding-agents/index.js +40 -0
- package/dist/utils/coding-agents/index.js.map +1 -0
- package/dist/utils/coding-agents/types.d.ts +32 -0
- package/dist/utils/coding-agents/types.d.ts.map +1 -0
- package/dist/utils/coding-agents/types.js +2 -0
- package/dist/utils/coding-agents/types.js.map +1 -0
- package/dist/utils/coding-runner.d.ts +6 -20
- package/dist/utils/coding-runner.d.ts.map +1 -1
- package/dist/utils/coding-runner.js +70 -88
- package/dist/utils/coding-runner.js.map +1 -1
- package/dist/utils/coding-sessions.d.ts +5 -0
- package/dist/utils/coding-sessions.d.ts.map +1 -1
- package/dist/utils/coding-sessions.js +13 -0
- package/dist/utils/coding-sessions.js.map +1 -1
- package/package.json +1 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import { existsSync, mkdirSync, openSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
2
5
|
import { getPreferences } from '../config/preferences.js';
|
|
3
|
-
import {
|
|
4
|
-
const runningProcesses = new Map();
|
|
5
|
-
// Cleanup delay after process exits (ms) - gives time to read final output
|
|
6
|
-
const CLEANUP_DELAY = 5000;
|
|
6
|
+
import { updateSession, getSession, isProcessRunningByPid, } from '../utils/coding-sessions.js';
|
|
7
7
|
/**
|
|
8
8
|
* Get agent configuration by name
|
|
9
9
|
*/
|
|
@@ -54,7 +54,7 @@ export function buildStartArgs(config, params) {
|
|
|
54
54
|
export function buildResumeArgs(config, params) {
|
|
55
55
|
if (config.resumeArgs) {
|
|
56
56
|
// Use resume args and replace {sessionId} placeholder
|
|
57
|
-
const args = config.resumeArgs.map(
|
|
57
|
+
const args = config.resumeArgs.map(arg => arg.replace('{sessionId}', params.sessionId));
|
|
58
58
|
args.push(params.prompt);
|
|
59
59
|
return args;
|
|
60
60
|
}
|
|
@@ -62,113 +62,95 @@ export function buildResumeArgs(config, params) {
|
|
|
62
62
|
return buildStartArgs(config, params);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
* Get path for session stdout/stderr log files
|
|
66
|
+
*/
|
|
67
|
+
function getSessionLogPath(sessionId, stream) {
|
|
68
|
+
const logsDir = join(homedir(), '.corebrain', 'logs');
|
|
69
|
+
return join(logsDir, `${sessionId}.${stream}.log`);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Ensure logs directory exists
|
|
73
|
+
*/
|
|
74
|
+
function ensureLogsDir() {
|
|
75
|
+
const logsDir = join(homedir(), '.corebrain', 'logs');
|
|
76
|
+
if (!existsSync(logsDir)) {
|
|
77
|
+
mkdirSync(logsDir, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Start an agent process in the background (detached)
|
|
82
|
+
* Returns immediately, CLI can exit while process continues
|
|
83
|
+
* Output is written by the agent to its own session files (e.g., Claude Code writes to ~/.claude/projects/)
|
|
68
84
|
*/
|
|
69
85
|
export function startAgentProcess(sessionId, config, args, workingDirectory) {
|
|
86
|
+
console.log(config.command, args);
|
|
87
|
+
// Ensure logs directory exists
|
|
88
|
+
ensureLogsDir();
|
|
89
|
+
// Open log files for stdout/stderr (so we can see any errors from the process itself)
|
|
90
|
+
const stdoutPath = getSessionLogPath(sessionId, 'stdout');
|
|
91
|
+
const stderrPath = getSessionLogPath(sessionId, 'stderr');
|
|
92
|
+
const stdoutFd = openSync(stdoutPath, 'w');
|
|
93
|
+
const stderrFd = openSync(stderrPath, 'w');
|
|
94
|
+
// Spawn detached process
|
|
70
95
|
const proc = spawn(config.command, args, {
|
|
71
96
|
cwd: workingDirectory,
|
|
72
97
|
shell: true,
|
|
73
|
-
stdio: ['
|
|
74
|
-
detached:
|
|
75
|
-
});
|
|
76
|
-
const runningProc = {
|
|
77
|
-
process: proc,
|
|
78
|
-
stdout: '',
|
|
79
|
-
stderr: '',
|
|
80
|
-
exitCode: null,
|
|
81
|
-
startedAt: Date.now(),
|
|
82
|
-
};
|
|
83
|
-
// Collect stdout
|
|
84
|
-
proc.stdout?.on('data', (data) => {
|
|
85
|
-
runningProc.stdout += data.toString();
|
|
86
|
-
});
|
|
87
|
-
// Collect stderr
|
|
88
|
-
proc.stderr?.on('data', (data) => {
|
|
89
|
-
runningProc.stderr += data.toString();
|
|
90
|
-
});
|
|
91
|
-
// Handle process exit - save to sessions.json and schedule cleanup
|
|
92
|
-
proc.on('close', (code) => {
|
|
93
|
-
runningProc.exitCode = code;
|
|
94
|
-
// Save final output to sessions.json
|
|
95
|
-
completeSession(sessionId, runningProc.stdout, code === 0, runningProc.stderr || undefined);
|
|
96
|
-
// Schedule cleanup after delay to allow final reads
|
|
97
|
-
setTimeout(() => {
|
|
98
|
-
runningProcesses.delete(sessionId);
|
|
99
|
-
}, CLEANUP_DELAY);
|
|
100
|
-
});
|
|
101
|
-
proc.on('error', (err) => {
|
|
102
|
-
runningProc.stderr += `\nProcess error: ${err.message}`;
|
|
103
|
-
runningProc.exitCode = 1;
|
|
104
|
-
// Save error to sessions.json
|
|
105
|
-
completeSession(sessionId, runningProc.stdout, false, runningProc.stderr);
|
|
106
|
-
// Schedule cleanup
|
|
107
|
-
setTimeout(() => {
|
|
108
|
-
runningProcesses.delete(sessionId);
|
|
109
|
-
}, CLEANUP_DELAY);
|
|
98
|
+
stdio: ['ignore', stdoutFd, stderrFd],
|
|
99
|
+
detached: true,
|
|
110
100
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const proc = runningProcesses.get(sessionId);
|
|
119
|
-
if (!proc) {
|
|
120
|
-
return {
|
|
121
|
-
found: false,
|
|
122
|
-
stdout: '',
|
|
123
|
-
stderr: '',
|
|
124
|
-
running: false,
|
|
125
|
-
exitCode: null,
|
|
126
|
-
};
|
|
101
|
+
const pid = proc.pid;
|
|
102
|
+
// Store PID in session
|
|
103
|
+
const session = getSession(sessionId);
|
|
104
|
+
if (session && pid) {
|
|
105
|
+
session.pid = pid;
|
|
106
|
+
session.updatedAt = Date.now();
|
|
107
|
+
updateSession(session);
|
|
127
108
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
stderr: proc.stderr,
|
|
132
|
-
running: proc.exitCode === null,
|
|
133
|
-
exitCode: proc.exitCode,
|
|
134
|
-
};
|
|
109
|
+
// Unref so parent can exit
|
|
110
|
+
proc.unref();
|
|
111
|
+
return { pid };
|
|
135
112
|
}
|
|
136
113
|
/**
|
|
137
|
-
* Check if a process is still running
|
|
114
|
+
* Check if a process is still running by session ID
|
|
138
115
|
*/
|
|
139
116
|
export function isProcessRunning(sessionId) {
|
|
140
|
-
const
|
|
141
|
-
|
|
117
|
+
const session = getSession(sessionId);
|
|
118
|
+
if (!session?.pid) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return isProcessRunningByPid(session.pid);
|
|
142
122
|
}
|
|
143
123
|
/**
|
|
144
|
-
* Stop/kill a running process
|
|
124
|
+
* Stop/kill a running process by session ID
|
|
145
125
|
*/
|
|
146
126
|
export function stopProcess(sessionId) {
|
|
147
|
-
const
|
|
148
|
-
if (
|
|
149
|
-
|
|
150
|
-
|
|
127
|
+
const session = getSession(sessionId);
|
|
128
|
+
if (!session?.pid) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
if (isProcessRunningByPid(session.pid)) {
|
|
132
|
+
try {
|
|
133
|
+
process.kill(session.pid, 'SIGTERM');
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
151
139
|
}
|
|
152
140
|
return false;
|
|
153
141
|
}
|
|
154
142
|
/**
|
|
155
|
-
*
|
|
156
|
-
*/
|
|
157
|
-
export function cleanupProcess(sessionId) {
|
|
158
|
-
runningProcesses.delete(sessionId);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Get process info
|
|
143
|
+
* Get process info from session
|
|
162
144
|
*/
|
|
163
145
|
export function getProcessInfo(sessionId) {
|
|
164
|
-
const
|
|
165
|
-
if (!
|
|
146
|
+
const session = getSession(sessionId);
|
|
147
|
+
if (!session) {
|
|
166
148
|
return null;
|
|
167
149
|
}
|
|
168
150
|
return {
|
|
169
|
-
pid:
|
|
170
|
-
running:
|
|
171
|
-
startedAt:
|
|
151
|
+
pid: session.pid,
|
|
152
|
+
running: session.pid ? isProcessRunningByPid(session.pid) : false,
|
|
153
|
+
startedAt: session.startedAt,
|
|
172
154
|
};
|
|
173
155
|
}
|
|
174
156
|
//# sourceMappingURL=coding-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-runner.js","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"coding-runner.js","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface StoredSession {
|
|
|
5
5
|
prompt: string;
|
|
6
6
|
dir: string;
|
|
7
7
|
status: SessionStatus;
|
|
8
|
+
pid?: number;
|
|
8
9
|
output?: string;
|
|
9
10
|
error?: string;
|
|
10
11
|
startedAt: number;
|
|
@@ -37,6 +38,10 @@ export declare function updateSession(session: StoredSession): void;
|
|
|
37
38
|
* Delete a session by ID
|
|
38
39
|
*/
|
|
39
40
|
export declare function deleteSession(sessionId: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a process is still running by PID
|
|
43
|
+
*/
|
|
44
|
+
export declare function isProcessRunningByPid(pid: number): boolean;
|
|
40
45
|
/**
|
|
41
46
|
* List all sessions
|
|
42
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-sessions.d.ts","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGzE,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAW3C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAGlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQxD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAG9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,aAAa,CAUhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASvD"}
|
|
1
|
+
{"version":3,"file":"coding-sessions.d.ts","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGzE,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAW3C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAGlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQxD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAG9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,aAAa,CAUhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASvD"}
|
|
@@ -62,6 +62,19 @@ export function deleteSession(sessionId) {
|
|
|
62
62
|
}
|
|
63
63
|
return false;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Check if a process is still running by PID
|
|
67
|
+
*/
|
|
68
|
+
export function isProcessRunningByPid(pid) {
|
|
69
|
+
try {
|
|
70
|
+
// Sending signal 0 checks if process exists without killing it
|
|
71
|
+
process.kill(pid, 0);
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
65
78
|
/**
|
|
66
79
|
* List all sessions
|
|
67
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-sessions.js","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,qDAAqD;AACrD,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"coding-sessions.js","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redplanethq/corebrain",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
"prettier": "@vdemedes/prettier-config",
|
|
68
68
|
"scripts": {
|
|
69
69
|
"build": "tsc && tsc-alias && chmod +x dist/cli.js",
|
|
70
|
-
"dev": "tsc --watch",
|
|
71
70
|
"test": "prettier --check . && xo && ava"
|
|
72
71
|
}
|
|
73
72
|
}
|