@redplanethq/corebrain 2.3.6 → 2.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.
- package/dist/commands/browser/close.d.ts +4 -4
- package/dist/commands/browser/close.d.ts.map +1 -1
- package/dist/commands/browser/close.js +15 -17
- package/dist/commands/browser/close.js.map +1 -1
- package/dist/commands/browser/command.d.ts +5 -3
- package/dist/commands/browser/command.d.ts.map +1 -1
- package/dist/commands/browser/command.js +14 -14
- package/dist/commands/browser/command.js.map +1 -1
- package/dist/commands/browser/open-head.d.ts +8 -0
- package/dist/commands/browser/open-head.d.ts.map +1 -0
- package/dist/commands/browser/open-head.js +62 -0
- package/dist/commands/browser/open-head.js.map +1 -0
- package/dist/commands/browser/open.d.ts +2 -2
- package/dist/commands/browser/open.d.ts.map +1 -1
- package/dist/commands/browser/open.js +9 -18
- package/dist/commands/browser/open.js.map +1 -1
- package/dist/commands/browser/status.d.ts.map +1 -1
- package/dist/commands/browser/status.js +8 -7
- package/dist/commands/browser/status.js.map +1 -1
- package/dist/commands/gateway/config.js +1 -1
- package/dist/commands/gateway/config.js.map +1 -1
- package/dist/commands/gateway/restart.js +1 -1
- package/dist/commands/gateway/restart.js.map +1 -1
- package/dist/commands/gateway/start.d.ts +8 -0
- package/dist/commands/gateway/start.d.ts.map +1 -0
- package/dist/commands/gateway/start.js +106 -0
- package/dist/commands/gateway/start.js.map +1 -0
- package/dist/commands/gateway/status.js +2 -2
- package/dist/commands/gateway/status.js.map +1 -1
- package/dist/commands/gateway/stop.d.ts +8 -0
- package/dist/commands/gateway/stop.d.ts.map +1 -0
- package/dist/commands/gateway/stop.js +67 -0
- package/dist/commands/gateway/stop.js.map +1 -0
- package/dist/server/gateway-client.d.ts.map +1 -1
- package/dist/server/gateway-client.js.map +1 -1
- package/dist/server/tools/browser-tools.d.ts +2 -4
- package/dist/server/tools/browser-tools.d.ts.map +1 -1
- package/dist/server/tools/browser-tools.js +26 -46
- package/dist/server/tools/browser-tools.js.map +1 -1
- package/dist/utils/agent-browser.d.ts +8 -26
- package/dist/utils/agent-browser.d.ts.map +1 -1
- package/dist/utils/agent-browser.js +28 -127
- package/dist/utils/agent-browser.js.map +1 -1
- package/dist/utils/coding-runner.d.ts.map +1 -1
- package/dist/utils/coding-runner.js +0 -1
- package/dist/utils/coding-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { spawn, execSync } from 'node:child_process';
|
|
2
|
-
import { existsSync, mkdirSync, rmSync, readdirSync
|
|
2
|
+
import { existsSync, mkdirSync, rmSync, readdirSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { getConfigPath } from '../config/paths.js';
|
|
5
5
|
// Constants - use unified config directory
|
|
6
6
|
const COREBRAIN_DIR = getConfigPath();
|
|
7
7
|
const BROWSER_PROFILES_DIR = join(COREBRAIN_DIR, 'browser-profiles');
|
|
8
|
-
const SESSIONS_FILE = join(COREBRAIN_DIR, 'browser-sessions.json');
|
|
9
|
-
const MAX_SESSIONS = 3;
|
|
10
8
|
// Blocked commands that cannot be run via browser_command
|
|
11
9
|
const BLOCKED_COMMANDS = [
|
|
12
10
|
'open',
|
|
@@ -21,58 +19,15 @@ const BLOCKED_COMMANDS = [
|
|
|
21
19
|
'state',
|
|
22
20
|
'download',
|
|
23
21
|
];
|
|
24
|
-
// ============ Session Management ============
|
|
25
|
-
function loadSessions() {
|
|
26
|
-
try {
|
|
27
|
-
if (!existsSync(SESSIONS_FILE)) {
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
const data = readFileSync(SESSIONS_FILE, 'utf-8');
|
|
31
|
-
return JSON.parse(data);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function saveSessions(sessions) {
|
|
38
|
-
if (!existsSync(COREBRAIN_DIR)) {
|
|
39
|
-
mkdirSync(COREBRAIN_DIR, { recursive: true });
|
|
40
|
-
}
|
|
41
|
-
writeFileSync(SESSIONS_FILE, JSON.stringify(sessions, null, 2));
|
|
42
|
-
}
|
|
43
|
-
export function getActiveSessions() {
|
|
44
|
-
return loadSessions();
|
|
45
|
-
}
|
|
46
|
-
export function getSession(sessionName) {
|
|
47
|
-
const sessions = loadSessions();
|
|
48
|
-
return sessions.find(s => s.sessionName === sessionName);
|
|
49
|
-
}
|
|
50
|
-
function addSession(session) {
|
|
51
|
-
const sessions = loadSessions();
|
|
52
|
-
// Remove existing session with same name if any
|
|
53
|
-
const filtered = sessions.filter(s => s.sessionName !== session.sessionName);
|
|
54
|
-
filtered.push(session);
|
|
55
|
-
saveSessions(filtered);
|
|
56
|
-
}
|
|
57
|
-
function removeSession(sessionName) {
|
|
58
|
-
const sessions = loadSessions();
|
|
59
|
-
const filtered = sessions.filter(s => s.sessionName !== sessionName);
|
|
60
|
-
saveSessions(filtered);
|
|
61
|
-
}
|
|
62
|
-
export function canCreateSession() {
|
|
63
|
-
const sessions = loadSessions();
|
|
64
|
-
return {
|
|
65
|
-
allowed: sessions.length < MAX_SESSIONS,
|
|
66
|
-
count: sessions.length,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
22
|
// ============ Installation ============
|
|
70
23
|
/**
|
|
71
24
|
* Get the agent-browser binary path (cross-platform)
|
|
72
25
|
*/
|
|
73
26
|
function getAgentBrowserPath() {
|
|
74
27
|
try {
|
|
75
|
-
const command = process.platform === 'win32'
|
|
28
|
+
const command = process.platform === 'win32'
|
|
29
|
+
? 'where agent-browser'
|
|
30
|
+
: 'which agent-browser';
|
|
76
31
|
const result = execSync(command, { stdio: 'pipe', encoding: 'utf-8' });
|
|
77
32
|
const path = result.trim().split('\n')[0]; // Take first result on Windows (where can return multiple)
|
|
78
33
|
return path || null;
|
|
@@ -125,7 +80,7 @@ function runNpmCommand(args) {
|
|
|
125
80
|
});
|
|
126
81
|
}
|
|
127
82
|
// ============ Core Browser Command Runner ============
|
|
128
|
-
async function runAgentBrowserCommand(
|
|
83
|
+
async function runAgentBrowserCommand(profile, args) {
|
|
129
84
|
const binaryPath = getBinaryPath();
|
|
130
85
|
if (!binaryPath) {
|
|
131
86
|
return {
|
|
@@ -134,8 +89,11 @@ async function runAgentBrowserCommand(sessionName, args) {
|
|
|
134
89
|
code: 1,
|
|
135
90
|
};
|
|
136
91
|
}
|
|
92
|
+
// Ensure profile directory exists
|
|
93
|
+
const profilePath = ensureProfileExists(profile);
|
|
137
94
|
return new Promise(resolve => {
|
|
138
|
-
|
|
95
|
+
// Use profile path for persistent browser state
|
|
96
|
+
const fullArgs = [...args, '--profile', profilePath];
|
|
139
97
|
const proc = spawn(binaryPath, fullArgs, {
|
|
140
98
|
cwd: COREBRAIN_DIR,
|
|
141
99
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
@@ -217,46 +175,23 @@ export function listProfiles() {
|
|
|
217
175
|
export function getProfilesDir() {
|
|
218
176
|
return BROWSER_PROFILES_DIR;
|
|
219
177
|
}
|
|
220
|
-
|
|
178
|
+
export function profileExists(name) {
|
|
179
|
+
const profilePath = join(BROWSER_PROFILES_DIR, name);
|
|
180
|
+
return existsSync(profilePath);
|
|
181
|
+
}
|
|
182
|
+
// ============ Browser Operations ============
|
|
221
183
|
/**
|
|
222
|
-
* Open a browser
|
|
223
|
-
* Creates the corebrain profile if it doesn't exist
|
|
224
|
-
* Enforces max 3 concurrent sessions
|
|
184
|
+
* Open a browser with URL using the specified profile
|
|
225
185
|
*/
|
|
226
|
-
export async function browserOpen(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const existingSession = getSession(sessionName);
|
|
230
|
-
// Allow if session already exists (re-opening) or under limit
|
|
231
|
-
if (!existingSession && !allowed) {
|
|
232
|
-
return {
|
|
233
|
-
stdout: '',
|
|
234
|
-
stderr: `Maximum ${MAX_SESSIONS} sessions allowed. Currently running: ${count}. Close a session first.`,
|
|
235
|
-
code: 1,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
// Ensure profile directory exists
|
|
239
|
-
const profilePath = ensureProfileExists(profile);
|
|
240
|
-
const args = ['open', url, '--profile', profilePath];
|
|
241
|
-
const result = await runAgentBrowserCommand(sessionName, args);
|
|
242
|
-
if (result.code === 0) {
|
|
243
|
-
addSession({
|
|
244
|
-
sessionName,
|
|
245
|
-
profile,
|
|
246
|
-
url,
|
|
247
|
-
startedAt: new Date().toISOString(),
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
return result;
|
|
186
|
+
export async function browserOpen(url, profile = 'default') {
|
|
187
|
+
const args = ['open', url];
|
|
188
|
+
return runAgentBrowserCommand(profile, args);
|
|
251
189
|
}
|
|
252
190
|
/**
|
|
253
|
-
* Close a browser
|
|
191
|
+
* Close a browser for the specified profile
|
|
254
192
|
*/
|
|
255
|
-
export async function browserClose(
|
|
256
|
-
|
|
257
|
-
// Remove session regardless of result (it might already be closed)
|
|
258
|
-
removeSession(sessionName);
|
|
259
|
-
return result;
|
|
193
|
+
export async function browserClose(profile) {
|
|
194
|
+
return runAgentBrowserCommand(profile, ['close']);
|
|
260
195
|
}
|
|
261
196
|
/**
|
|
262
197
|
* Check if a command is blocked
|
|
@@ -266,10 +201,10 @@ export function isBlockedCommand(command) {
|
|
|
266
201
|
return BLOCKED_COMMANDS.includes(cmd);
|
|
267
202
|
}
|
|
268
203
|
/**
|
|
269
|
-
* Execute a generic browser command
|
|
204
|
+
* Execute a generic browser command on a profile
|
|
270
205
|
* Blocks: open, close, cookies, storage, network, trace, highlight, console, errors, state, download
|
|
271
206
|
*/
|
|
272
|
-
export async function browserCommand(
|
|
207
|
+
export async function browserCommand(profile, command, args = []) {
|
|
273
208
|
// Check if command is blocked
|
|
274
209
|
if (isBlockedCommand(command)) {
|
|
275
210
|
return {
|
|
@@ -278,22 +213,7 @@ export async function browserCommand(sessionName, command, args = []) {
|
|
|
278
213
|
code: 1,
|
|
279
214
|
};
|
|
280
215
|
}
|
|
281
|
-
|
|
282
|
-
const session = getSession(sessionName);
|
|
283
|
-
if (!session) {
|
|
284
|
-
return {
|
|
285
|
-
stdout: '',
|
|
286
|
-
stderr: `Session "${sessionName}" not found. Use browser_open to create a session first.`,
|
|
287
|
-
code: 1,
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
return runAgentBrowserCommand(sessionName, [command, ...args]);
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* List all active browser sessions
|
|
294
|
-
*/
|
|
295
|
-
export function browserListSessions() {
|
|
296
|
-
return getActiveSessions();
|
|
216
|
+
return runAgentBrowserCommand(profile, [command, ...args]);
|
|
297
217
|
}
|
|
298
218
|
/**
|
|
299
219
|
* Get all available profiles
|
|
@@ -302,31 +222,12 @@ export function browserGetProfiles() {
|
|
|
302
222
|
return listProfiles();
|
|
303
223
|
}
|
|
304
224
|
/**
|
|
305
|
-
* Close
|
|
225
|
+
* Close a browser for the specified profile
|
|
306
226
|
*/
|
|
307
227
|
export async function browserCloseAll() {
|
|
308
|
-
const
|
|
309
|
-
for (const
|
|
310
|
-
|
|
311
|
-
await browserClose(session.sessionName);
|
|
312
|
-
}
|
|
313
|
-
catch {
|
|
314
|
-
// Ignore errors when closing individual sessions
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
// Clear all sessions
|
|
318
|
-
saveSessions([]);
|
|
319
|
-
}
|
|
320
|
-
// ============ Session Status ============
|
|
321
|
-
export async function getSessionStatus(sessionName) {
|
|
322
|
-
const result = await runAgentBrowserCommand(sessionName, ['status']);
|
|
323
|
-
if (result.code !== 0) {
|
|
324
|
-
return 'unknown';
|
|
325
|
-
}
|
|
326
|
-
const output = result.stdout.toLowerCase();
|
|
327
|
-
if (output.includes('running') || output.includes('active')) {
|
|
328
|
-
return 'running';
|
|
228
|
+
const profiles = browserGetProfiles();
|
|
229
|
+
for await (const profile of profiles) {
|
|
230
|
+
await runAgentBrowserCommand(profile, ['close']);
|
|
329
231
|
}
|
|
330
|
-
return 'stopped';
|
|
331
232
|
}
|
|
332
233
|
//# sourceMappingURL=agent-browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,2CAA2C;AAC3C,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;AACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAErE,0DAA0D;AAC1D,MAAM,gBAAgB,GAAG;IACxB,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,WAAW;IACX,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;CACV,CAAC;AAQF,yCAAyC;AAEzC;;GAEG;AACH,SAAS,mBAAmB;IAC3B,IAAI,CAAC;QACJ,MAAM,OAAO,GACZ,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,qBAAqB,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QACtG,OAAO,IAAI,IAAI,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,wBAAwB;AACxB,IAAI,gBAA2C,CAAC;AAEhD,SAAS,aAAa;IACrB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,oBAAoB;IACnC,gBAAgB,GAAG,SAAS,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC5C,OAAO,aAAa,EAAE,KAAK,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACvE,6DAA6D;IAC7D,oBAAoB,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,wDAAwD;AAExD,KAAK,UAAU,sBAAsB,CACpC,OAAe,EACf,IAAc;IAEd,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,4DAA4D;YACpE,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC5B,gDAAgD;QAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE;YACxC,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,+CAA+C;AAE/C,SAAS,mBAAmB,CAAC,OAAe;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IAKzC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAErD,IAAI,CAAC;QACJ,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,wBAAwB;aAC/B,CAAC;QACH,CAAC;QAED,SAAS,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1C,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;SACtE,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IAIzC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAErD,IAAI,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAC,CAAC;QAC1D,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;SACtE,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,IAAI,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,WAAW,CAAC,oBAAoB,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;aAC7D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,oBAAoB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,GAAW,EACX,UAAkB,SAAS;IAE3B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IACjD,OAAO,sBAAsB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,OAAe,EACf,OAAe,EACf,OAAiB,EAAE;IAEnB,8BAA8B;IAC9B,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY,OAAO,mCAAmC,gBAAgB,CAAC,IAAI,CAClF,IAAI,CACJ,EAAE;YACH,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IACjC,OAAO,YAAY,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACpC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,sBAAsB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-runner.d.ts","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAOrD;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,GACC,MAAM,EAAE,CAoCV;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB,GACC,MAAM,EAAE,CAYV;AAwBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,MAAM,GACtB;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"coding-runner.d.ts","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAOrD;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,GACC,MAAM,EAAE,CAoCV;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB,GACC,MAAM,EAAE,CAYV;AAwBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,MAAM,GACtB;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,CAgC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAetD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAClD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAUP"}
|
|
@@ -83,7 +83,6 @@ function ensureLogsDir() {
|
|
|
83
83
|
* Output is written by the agent to its own session files (e.g., Claude Code writes to ~/.claude/projects/)
|
|
84
84
|
*/
|
|
85
85
|
export function startAgentProcess(sessionId, config, args, workingDirectory) {
|
|
86
|
-
console.log(config.command, args);
|
|
87
86
|
// Ensure logs directory exists
|
|
88
87
|
ensureLogsDir();
|
|
89
88
|
// Open log files for stdout/stderr (so we can see any errors from the process itself)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coding-runner.js","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coding-runner.js","sourceRoot":"","sources":["../../src/utils/coding-runner.ts"],"names":[],"mappings":"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"}
|