@redplanethq/corebrain 2.6.3 → 2.6.4

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 (67) hide show
  1. package/dist/commands/coding/close.d.ts.map +1 -1
  2. package/dist/commands/coding/close.js +13 -25
  3. package/dist/commands/coding/close.js.map +1 -1
  4. package/dist/commands/coding/list.d.ts +4 -0
  5. package/dist/commands/coding/list.d.ts.map +1 -1
  6. package/dist/commands/coding/list.js +18 -38
  7. package/dist/commands/coding/list.js.map +1 -1
  8. package/dist/commands/coding/read.d.ts +1 -0
  9. package/dist/commands/coding/read.d.ts.map +1 -1
  10. package/dist/commands/coding/read.js +36 -35
  11. package/dist/commands/coding/read.js.map +1 -1
  12. package/dist/commands/coding/resume.d.ts +1 -0
  13. package/dist/commands/coding/resume.d.ts.map +1 -1
  14. package/dist/commands/coding/resume.js +37 -31
  15. package/dist/commands/coding/resume.js.map +1 -1
  16. package/dist/commands/coding/setup.d.ts.map +1 -1
  17. package/dist/commands/coding/setup.js +34 -5
  18. package/dist/commands/coding/setup.js.map +1 -1
  19. package/dist/commands/coding/start.d.ts.map +1 -1
  20. package/dist/commands/coding/start.js +7 -32
  21. package/dist/commands/coding/start.js.map +1 -1
  22. package/dist/server/gateway-client.d.ts.map +1 -1
  23. package/dist/server/gateway-client.js +4 -0
  24. package/dist/server/gateway-client.js.map +1 -1
  25. package/dist/server/tools/coding-tools.d.ts +0 -22
  26. package/dist/server/tools/coding-tools.d.ts.map +1 -1
  27. package/dist/server/tools/coding-tools.js +237 -233
  28. package/dist/server/tools/coding-tools.js.map +1 -1
  29. package/dist/tui/chat.d.ts.map +1 -1
  30. package/dist/tui/chat.js +41 -0
  31. package/dist/tui/chat.js.map +1 -1
  32. package/dist/tui/hooks/use-conversation.d.ts +2 -0
  33. package/dist/tui/hooks/use-conversation.d.ts.map +1 -1
  34. package/dist/tui/hooks/use-conversation.js +8 -1
  35. package/dist/tui/hooks/use-conversation.js.map +1 -1
  36. package/dist/tui/utils/stream.d.ts +1 -1
  37. package/dist/tui/utils/stream.d.ts.map +1 -1
  38. package/dist/tui/utils/stream.js +2 -2
  39. package/dist/tui/utils/stream.js.map +1 -1
  40. package/dist/types/config.d.ts +2 -0
  41. package/dist/types/config.d.ts.map +1 -1
  42. package/dist/utils/coding-agents/claude-code.d.ts +8 -6
  43. package/dist/utils/coding-agents/claude-code.d.ts.map +1 -1
  44. package/dist/utils/coding-agents/claude-code.js +77 -111
  45. package/dist/utils/coding-agents/claude-code.js.map +1 -1
  46. package/dist/utils/coding-agents/codex.d.ts +23 -0
  47. package/dist/utils/coding-agents/codex.d.ts.map +1 -0
  48. package/dist/utils/coding-agents/codex.js +243 -0
  49. package/dist/utils/coding-agents/codex.js.map +1 -0
  50. package/dist/utils/coding-agents/index.d.ts +12 -10
  51. package/dist/utils/coding-agents/index.d.ts.map +1 -1
  52. package/dist/utils/coding-agents/index.js +30 -23
  53. package/dist/utils/coding-agents/index.js.map +1 -1
  54. package/dist/utils/coding-agents/types.d.ts +37 -21
  55. package/dist/utils/coding-agents/types.d.ts.map +1 -1
  56. package/dist/utils/coding-agents/types.js +98 -1
  57. package/dist/utils/coding-agents/types.js.map +1 -1
  58. package/dist/utils/coding-runner.d.ts +1 -28
  59. package/dist/utils/coding-runner.d.ts.map +1 -1
  60. package/dist/utils/coding-runner.js +10 -85
  61. package/dist/utils/coding-runner.js.map +1 -1
  62. package/dist/utils/coding-sessions.d.ts +4 -57
  63. package/dist/utils/coding-sessions.d.ts.map +1 -1
  64. package/dist/utils/coding-sessions.js +9 -75
  65. package/dist/utils/coding-sessions.js.map +1 -1
  66. package/package.json +2 -2
  67. package/dist/assets/assets/AppIcon.icns +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/coding-agents/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/coding-agents/types.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,21 @@
1
1
  import type { CliBackendConfig } from '../types/config.js';
2
- /**
3
- * Get agent configuration by name
4
- */
5
2
  export declare function getAgentConfig(agentName: string): CliBackendConfig | null;
6
- /**
7
- * Build command arguments for starting a new session
8
- */
9
3
  export declare function buildStartArgs(config: CliBackendConfig, params: {
10
4
  prompt: string;
11
5
  sessionId: string;
12
6
  model?: string;
13
7
  systemPrompt?: string;
14
8
  }): string[];
15
- /**
16
- * Build command arguments for resuming an existing session
17
- */
18
9
  export declare function buildResumeArgs(config: CliBackendConfig, params: {
19
10
  prompt: string;
20
11
  sessionId: string;
21
12
  }): string[];
13
+ export declare function getSessionLogPath(sessionId: string, stream: 'stdout' | 'stderr'): string;
22
14
  export type Logger = (message: string) => void;
23
- /**
24
- * Start an agent process in the background (detached)
25
- * Returns immediately, CLI can exit while process continues
26
- * Output is written by the agent to its own session files (e.g., Claude Code writes to ~/.claude/projects/)
27
- */
28
15
  export declare function startAgentProcess(sessionId: string, config: CliBackendConfig, args: string[], workingDirectory: string, logger?: Logger): {
29
16
  pid: number | undefined;
30
17
  error?: string;
31
18
  };
32
- /**
33
- * Check if a process is still running by session ID
34
- */
35
19
  export declare function isProcessRunning(sessionId: string): boolean;
36
- /**
37
- * Stop/kill a running process by session ID
38
- */
39
20
  export declare function stopProcess(sessionId: string): boolean;
40
- /**
41
- * Get process info from session
42
- */
43
- export declare function getProcessInfo(sessionId: string): {
44
- pid: number | undefined;
45
- running: boolean;
46
- startedAt: number;
47
- } | null;
48
21
  //# sourceMappingURL=coding-runner.d.ts.map
@@ -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,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACb;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAgE3C;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"}
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;AAGrD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAOzE;AAED,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,CA6BV;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GACzC,MAAM,EAAE,CASV;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAExF;AASD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACb;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAqC3C;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAatD"}
@@ -3,10 +3,7 @@ import { existsSync, mkdirSync, openSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { homedir } from 'node:os';
5
5
  import { getPreferences } from '../config/preferences.js';
6
- import { updateSession, getSession, isProcessRunningByPid, } from '../utils/coding-sessions.js';
7
- /**
8
- * Get agent configuration by name
9
- */
6
+ import { getSession, isProcessRunningByPid } from '../utils/coding-sessions.js';
10
7
  export function getAgentConfig(agentName) {
11
8
  const prefs = getPreferences();
12
9
  const coding = prefs.coding;
@@ -15,91 +12,56 @@ export function getAgentConfig(agentName) {
15
12
  }
16
13
  return coding[agentName];
17
14
  }
18
- /**
19
- * Build command arguments for starting a new session
20
- */
21
15
  export function buildStartArgs(config, params) {
22
16
  const args = [...(config.args || [])];
23
- // Add session arg
24
17
  if (config.sessionArg && config.sessionMode === 'always') {
25
18
  args.push(config.sessionArg, params.sessionId);
26
19
  }
27
- // Add allowed tools
28
20
  if (config.allowedTools && config.allowedTools.length > 0) {
29
21
  for (const tool of config.allowedTools) {
30
22
  args.push('--allowedTools', tool);
31
23
  }
32
24
  }
33
- // Add disallowed tools
34
25
  if (config.disallowedTools && config.disallowedTools.length > 0) {
35
26
  for (const tool of config.disallowedTools) {
36
27
  args.push('--disallowedTools', tool);
37
28
  }
38
29
  }
39
- // Add model
40
30
  if (params.model && config.modelArg) {
41
31
  args.push(config.modelArg, params.model);
42
32
  }
43
- // Add system prompt
44
33
  if (params.systemPrompt && config.systemPromptArg) {
45
34
  args.push(config.systemPromptArg, params.systemPrompt);
46
35
  }
47
- // Add the prompt as the last argument
48
36
  args.push(params.prompt);
49
37
  return args;
50
38
  }
51
- /**
52
- * Build command arguments for resuming an existing session
53
- */
54
39
  export function buildResumeArgs(config, params) {
55
40
  if (config.resumeArgs) {
56
- // Use resume args and replace {sessionId} placeholder
57
41
  const args = config.resumeArgs.map(arg => arg.replace('{sessionId}', params.sessionId));
58
42
  args.push(params.prompt);
59
43
  return args;
60
44
  }
61
- // Fallback to start args with session
62
45
  return buildStartArgs(config, params);
63
46
  }
64
- /**
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`);
47
+ export function getSessionLogPath(sessionId, stream) {
48
+ return join(homedir(), '.corebrain', 'logs', `${sessionId}.${stream}.log`);
70
49
  }
71
- /**
72
- * Ensure logs directory exists
73
- */
74
50
  function ensureLogsDir() {
75
51
  const logsDir = join(homedir(), '.corebrain', 'logs');
76
52
  if (!existsSync(logsDir)) {
77
53
  mkdirSync(logsDir, { recursive: true });
78
54
  }
79
55
  }
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/)
84
- */
85
56
  export function startAgentProcess(sessionId, config, args, workingDirectory, logger) {
86
57
  const log = logger || (() => { });
87
58
  log(`SPAWN_START: sessionId=${sessionId}`);
88
59
  log(`SPAWN_COMMAND: ${config.command}`);
89
60
  log(`SPAWN_ARGS: ${JSON.stringify(args)}`);
90
61
  log(`SPAWN_CWD: ${workingDirectory}`);
91
- // Ensure logs directory exists
92
62
  ensureLogsDir();
93
- // Open log files for stdout/stderr (so we can see any errors from the process itself)
94
- const stdoutPath = getSessionLogPath(sessionId, 'stdout');
95
- const stderrPath = getSessionLogPath(sessionId, 'stderr');
96
- log(`SPAWN_STDOUT_LOG: ${stdoutPath}`);
97
- log(`SPAWN_STDERR_LOG: ${stderrPath}`);
98
- const stdoutFd = openSync(stdoutPath, 'w');
99
- const stderrFd = openSync(stderrPath, 'w');
100
- // Spawn detached process
101
- // Note: shell: false is required to avoid shell metacharacter issues in prompts
102
- // (parentheses, quotes, etc. would otherwise be interpreted by the shell)
63
+ const stdoutFd = openSync(getSessionLogPath(sessionId, 'stdout'), 'w');
64
+ const stderrFd = openSync(getSessionLogPath(sessionId, 'stderr'), 'w');
103
65
  let proc;
104
66
  try {
105
67
  proc = spawn(config.command, args, {
@@ -111,50 +73,27 @@ export function startAgentProcess(sessionId, config, args, workingDirectory, log
111
73
  }
112
74
  catch (err) {
113
75
  const errorMsg = err instanceof Error ? err.message : String(err);
114
- log(`SPAWN_ERROR: Failed to spawn process: ${errorMsg}`);
76
+ log(`SPAWN_ERROR: ${errorMsg}`);
115
77
  return { pid: undefined, error: errorMsg };
116
78
  }
117
79
  const pid = proc.pid;
118
80
  log(`SPAWN_PID: ${pid}`);
119
- // Handle spawn errors
120
- proc.on('error', (err) => {
121
- log(`SPAWN_PROCESS_ERROR: ${err.message}`);
122
- });
123
- // Log when process exits (useful for debugging quick failures)
124
- proc.on('exit', (code, signal) => {
125
- log(`SPAWN_EXIT: pid=${pid} code=${code} signal=${signal}`);
126
- });
127
- // Store PID in session
128
- const session = getSession(sessionId);
129
- if (session && pid) {
130
- session.pid = pid;
131
- session.updatedAt = Date.now();
132
- updateSession(session);
133
- log(`SPAWN_SESSION_UPDATED: pid stored in session`);
134
- }
135
- // Unref so parent can exit
81
+ proc.on('error', (err) => log(`SPAWN_PROCESS_ERROR: ${err.message}`));
82
+ proc.on('exit', (code, signal) => log(`SPAWN_EXIT: pid=${pid} code=${code} signal=${signal}`));
136
83
  proc.unref();
137
84
  log(`SPAWN_DETACHED: process detached and running`);
138
85
  return { pid };
139
86
  }
140
- /**
141
- * Check if a process is still running by session ID
142
- */
143
87
  export function isProcessRunning(sessionId) {
144
88
  const session = getSession(sessionId);
145
- if (!session?.pid) {
89
+ if (!session?.pid)
146
90
  return false;
147
- }
148
91
  return isProcessRunningByPid(session.pid);
149
92
  }
150
- /**
151
- * Stop/kill a running process by session ID
152
- */
153
93
  export function stopProcess(sessionId) {
154
94
  const session = getSession(sessionId);
155
- if (!session?.pid) {
95
+ if (!session?.pid)
156
96
  return false;
157
- }
158
97
  if (isProcessRunningByPid(session.pid)) {
159
98
  try {
160
99
  process.kill(session.pid, 'SIGTERM');
@@ -166,18 +105,4 @@ export function stopProcess(sessionId) {
166
105
  }
167
106
  return false;
168
107
  }
169
- /**
170
- * Get process info from session
171
- */
172
- export function getProcessInfo(sessionId) {
173
- const session = getSession(sessionId);
174
- if (!session) {
175
- return null;
176
- }
177
- return {
178
- pid: session.pid,
179
- running: session.pid ? isProcessRunningByPid(session.pid) : false,
180
- startedAt: session.startedAt,
181
- };
182
- }
183
108
  //# sourceMappingURL=coding-runner.js.map
@@ -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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"}
@@ -1,66 +1,13 @@
1
- export type SessionStatus = 'initializing' | 'running' | 'completed' | 'error' | 'closed';
2
- export interface StoredSession {
1
+ export interface RunningSession {
3
2
  sessionId: string;
4
3
  agent: string;
5
- prompt: string;
6
4
  dir: string;
7
- status: SessionStatus;
8
5
  pid?: number;
9
- output?: string;
10
- error?: string;
11
6
  startedAt: number;
12
- updatedAt: number;
13
7
  }
14
- export interface SessionsData {
15
- sessions: Record<string, StoredSession>;
16
- }
17
- /**
18
- * Ensure sessions directory exists
19
- */
20
- export declare function ensureSessionsDir(): void;
21
- /**
22
- * Load all sessions from disk
23
- */
24
- export declare function loadSessions(): SessionsData;
25
- /**
26
- * Save all sessions to disk
27
- */
28
- export declare function saveSessions(data: SessionsData): void;
29
- /**
30
- * Get a single session by ID
31
- */
32
- export declare function getSession(sessionId: string): StoredSession | null;
33
- /**
34
- * Create or update a session
35
- */
36
- export declare function updateSession(session: StoredSession): void;
37
- /**
38
- * Delete a session by ID
39
- */
8
+ export declare function getSession(sessionId: string): RunningSession | null;
9
+ export declare function upsertSession(session: RunningSession): void;
40
10
  export declare function deleteSession(sessionId: string): boolean;
41
- /**
42
- * Check if a process is still running by PID
43
- */
11
+ export declare function listRunningSessions(): RunningSession[];
44
12
  export declare function isProcessRunningByPid(pid: number): boolean;
45
- /**
46
- * List all sessions
47
- */
48
- export declare function listSessions(): StoredSession[];
49
- /**
50
- * Create a new session object
51
- */
52
- export declare function createSession(params: {
53
- sessionId: string;
54
- agent: string;
55
- prompt: string;
56
- dir: string;
57
- }): StoredSession;
58
- /**
59
- * Mark session as completed with output
60
- */
61
- export declare function completeSession(sessionId: string, output: string, success: boolean, error?: string): void;
62
- /**
63
- * Mark session as closed
64
- */
65
- export declare function closeSession(sessionId: string): boolean;
66
13
  //# sourceMappingURL=coding-sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coding-sessions.d.ts","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,aAAa,GACtB,cAAc,GACd,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,CAAC;AAGZ,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"}
1
+ {"version":3,"file":"coding-sessions.d.ts","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CAElB;AA8BD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGnE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAI3D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQxD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAGtD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1D"}
@@ -1,21 +1,14 @@
1
1
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { getConfigPath } from '../config/paths.js';
4
- // Sessions file path - uses same directory as config
5
4
  const SESSIONS_DIR = getConfigPath();
6
5
  const SESSIONS_FILE = join(SESSIONS_DIR, 'sessions.json');
7
- /**
8
- * Ensure sessions directory exists
9
- */
10
- export function ensureSessionsDir() {
6
+ function ensureSessionsDir() {
11
7
  if (!existsSync(SESSIONS_DIR)) {
12
8
  mkdirSync(SESSIONS_DIR, { recursive: true });
13
9
  }
14
10
  }
15
- /**
16
- * Load all sessions from disk
17
- */
18
- export function loadSessions() {
11
+ function loadSessions() {
19
12
  ensureSessionsDir();
20
13
  try {
21
14
  if (existsSync(SESSIONS_FILE)) {
@@ -24,35 +17,23 @@ export function loadSessions() {
24
17
  }
25
18
  }
26
19
  catch {
27
- // Ignore errors, return empty
20
+ // Ignore, return empty
28
21
  }
29
22
  return { sessions: {} };
30
23
  }
31
- /**
32
- * Save all sessions to disk
33
- */
34
- export function saveSessions(data) {
24
+ function saveSessions(data) {
35
25
  ensureSessionsDir();
36
26
  writeFileSync(SESSIONS_FILE, JSON.stringify(data, null, 2), 'utf-8');
37
27
  }
38
- /**
39
- * Get a single session by ID
40
- */
41
28
  export function getSession(sessionId) {
42
29
  const data = loadSessions();
43
30
  return data.sessions[sessionId] || null;
44
31
  }
45
- /**
46
- * Create or update a session
47
- */
48
- export function updateSession(session) {
32
+ export function upsertSession(session) {
49
33
  const data = loadSessions();
50
34
  data.sessions[session.sessionId] = session;
51
35
  saveSessions(data);
52
36
  }
53
- /**
54
- * Delete a session by ID
55
- */
56
37
  export function deleteSession(sessionId) {
57
38
  const data = loadSessions();
58
39
  if (data.sessions[sessionId]) {
@@ -62,12 +43,12 @@ export function deleteSession(sessionId) {
62
43
  }
63
44
  return false;
64
45
  }
65
- /**
66
- * Check if a process is still running by PID
67
- */
46
+ export function listRunningSessions() {
47
+ const data = loadSessions();
48
+ return Object.values(data.sessions);
49
+ }
68
50
  export function isProcessRunningByPid(pid) {
69
51
  try {
70
- // Sending signal 0 checks if process exists without killing it
71
52
  process.kill(pid, 0);
72
53
  return true;
73
54
  }
@@ -75,51 +56,4 @@ export function isProcessRunningByPid(pid) {
75
56
  return false;
76
57
  }
77
58
  }
78
- /**
79
- * List all sessions
80
- */
81
- export function listSessions() {
82
- const data = loadSessions();
83
- return Object.values(data.sessions);
84
- }
85
- /**
86
- * Create a new session object
87
- */
88
- export function createSession(params) {
89
- return {
90
- sessionId: params.sessionId,
91
- agent: params.agent,
92
- prompt: params.prompt,
93
- dir: params.dir,
94
- status: 'running',
95
- startedAt: Date.now(),
96
- updatedAt: Date.now(),
97
- };
98
- }
99
- /**
100
- * Mark session as completed with output
101
- */
102
- export function completeSession(sessionId, output, success, error) {
103
- const session = getSession(sessionId);
104
- if (session) {
105
- session.output = output;
106
- session.status = success ? 'completed' : 'error';
107
- session.error = error;
108
- session.updatedAt = Date.now();
109
- updateSession(session);
110
- }
111
- }
112
- /**
113
- * Mark session as closed
114
- */
115
- export function closeSession(sessionId) {
116
- const session = getSession(sessionId);
117
- if (session) {
118
- session.status = 'closed';
119
- session.updatedAt = Date.now();
120
- updateSession(session);
121
- return true;
122
- }
123
- return false;
124
- }
125
59
  //# sourceMappingURL=coding-sessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coding-sessions.js","sourceRoot":"","sources":["../../src/utils/coding-sessions.ts"],"names":[],"mappings":"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"}
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,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAiB1D,SAAS,iBAAiB;IACzB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC;AAED,SAAS,YAAY;IACpB,iBAAiB,EAAE,CAAC;IACpB,IAAI,CAAC;QACJ,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;QACzC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,uBAAuB;IACxB,CAAC;IACD,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC;AACvB,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB;IACvC,iBAAiB,EAAE,CAAC;IACpB,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC3C,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAuB;IACpD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC3C,YAAY,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC9C,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAChD,IAAI,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redplanethq/corebrain",
3
- "version": "2.6.3",
3
+ "version": "2.6.4",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=16"
@@ -30,7 +30,7 @@
30
30
  "react": "^19.2.4",
31
31
  "ws": "^8.18.0",
32
32
  "zod": "^4.3.6",
33
- "@redplanethq/sdk": "0.1.13"
33
+ "@redplanethq/sdk": "0.1.14"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@sindresorhus/tsconfig": "^8.1.0",
Binary file