@redplanethq/corebrain 2.3.3 → 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/agent-browser.d.ts +1 -0
- package/dist/utils/agent-browser.d.ts.map +1 -1
- package/dist/utils/agent-browser.js +37 -6
- package/dist/utils/agent-browser.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
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import zod from 'zod';
|
|
2
|
+
export declare const options: zod.ZodObject<{
|
|
3
|
+
sessionId: zod.ZodOptional<zod.ZodString>;
|
|
4
|
+
all: zod.ZodOptional<zod.ZodBoolean>;
|
|
5
|
+
}, zod.core.$strip>;
|
|
6
|
+
type Props = {
|
|
7
|
+
options: zod.infer<typeof options>;
|
|
8
|
+
};
|
|
9
|
+
export default function CodingClose({ options: opts }: Props): null;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=close.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/close.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAiFF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAczD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useApp } from 'ink';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import zod from 'zod';
|
|
6
|
+
import { executeCodingTool } from '../../server/tools/coding-tools.js';
|
|
7
|
+
import { listSessions } from '../../utils/coding-sessions.js';
|
|
8
|
+
export const options = zod.object({
|
|
9
|
+
sessionId: zod.string().optional().describe('Session ID to close'),
|
|
10
|
+
all: zod.boolean().optional().describe('Close all sessions'),
|
|
11
|
+
});
|
|
12
|
+
async function runCloseSession(opts) {
|
|
13
|
+
if (opts.all) {
|
|
14
|
+
const sessions = listSessions();
|
|
15
|
+
if (sessions.length === 0) {
|
|
16
|
+
p.log.info('No sessions to close.');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const confirmed = await p.confirm({
|
|
20
|
+
message: `Close all ${sessions.length} sessions?`,
|
|
21
|
+
});
|
|
22
|
+
if (p.isCancel(confirmed) || !confirmed) {
|
|
23
|
+
p.cancel('Cancelled');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const spinner = p.spinner();
|
|
27
|
+
spinner.start('Closing all sessions...');
|
|
28
|
+
let closed = 0;
|
|
29
|
+
for (const s of sessions) {
|
|
30
|
+
const result = await executeCodingTool('coding_close_session', {
|
|
31
|
+
sessionId: s.sessionId,
|
|
32
|
+
});
|
|
33
|
+
if (result.success)
|
|
34
|
+
closed++;
|
|
35
|
+
}
|
|
36
|
+
spinner.stop(chalk.green(`Closed ${closed} sessions`));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Get session ID
|
|
40
|
+
let sessionId = opts.sessionId;
|
|
41
|
+
if (!sessionId) {
|
|
42
|
+
const sessions = listSessions();
|
|
43
|
+
if (sessions.length === 0) {
|
|
44
|
+
p.log.error('No sessions found.');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const selected = await p.select({
|
|
48
|
+
message: 'Select session to close',
|
|
49
|
+
options: sessions.map((s) => ({
|
|
50
|
+
value: s.sessionId,
|
|
51
|
+
label: `${s.sessionId.slice(0, 8)}... (${s.agent}) - ${s.status}`,
|
|
52
|
+
})),
|
|
53
|
+
});
|
|
54
|
+
if (p.isCancel(selected)) {
|
|
55
|
+
p.cancel('Cancelled');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
sessionId = selected;
|
|
59
|
+
}
|
|
60
|
+
const spinner = p.spinner();
|
|
61
|
+
spinner.start('Closing session...');
|
|
62
|
+
const result = await executeCodingTool('coding_close_session', {
|
|
63
|
+
sessionId,
|
|
64
|
+
});
|
|
65
|
+
if (!result.success) {
|
|
66
|
+
spinner.stop(chalk.red('Failed'));
|
|
67
|
+
p.log.error(result.error || 'Unknown error');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
spinner.stop(chalk.green('Closed'));
|
|
71
|
+
const res = result.result;
|
|
72
|
+
p.log.success(`Session ${res.sessionId.slice(0, 8)}... closed${res.wasRunning ? ' (was running)' : ''}`);
|
|
73
|
+
}
|
|
74
|
+
export default function CodingClose({ options: opts }) {
|
|
75
|
+
const { exit } = useApp();
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
runCloseSession(opts)
|
|
78
|
+
.catch((err) => {
|
|
79
|
+
p.log.error(err instanceof Error ? err.message : 'Unknown error');
|
|
80
|
+
})
|
|
81
|
+
.finally(() => {
|
|
82
|
+
setTimeout(() => exit(), 100);
|
|
83
|
+
});
|
|
84
|
+
}, [opts, exit]);
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/commands/coding/close.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import zod from 'zod';
|
|
2
|
+
export declare const options: zod.ZodObject<{
|
|
3
|
+
json: zod.ZodOptional<zod.ZodBoolean>;
|
|
4
|
+
}, zod.core.$strip>;
|
|
5
|
+
type Props = {
|
|
6
|
+
options: zod.infer<typeof options>;
|
|
7
|
+
};
|
|
8
|
+
export default function CodingList({ options: opts }: Props): null;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/list.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,OAAO;;mBAElB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAqEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAcxD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useApp } from 'ink';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import zod from 'zod';
|
|
6
|
+
import { executeCodingTool } from '../../server/tools/coding-tools.js';
|
|
7
|
+
export const options = zod.object({
|
|
8
|
+
json: zod.boolean().optional().describe('Output as JSON'),
|
|
9
|
+
});
|
|
10
|
+
function formatTime(timestamp) {
|
|
11
|
+
const date = new Date(timestamp);
|
|
12
|
+
const now = new Date();
|
|
13
|
+
const diffMs = now.getTime() - date.getTime();
|
|
14
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
15
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
16
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
17
|
+
if (diffDays > 0)
|
|
18
|
+
return `${diffDays}d ago`;
|
|
19
|
+
if (diffHours > 0)
|
|
20
|
+
return `${diffHours}h ago`;
|
|
21
|
+
if (diffMins > 0)
|
|
22
|
+
return `${diffMins}m ago`;
|
|
23
|
+
return 'just now';
|
|
24
|
+
}
|
|
25
|
+
async function runListSessions(opts) {
|
|
26
|
+
const result = await executeCodingTool('coding_list_sessions', {});
|
|
27
|
+
if (!result.success) {
|
|
28
|
+
p.log.error(result.error || 'Unknown error');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const res = result.result;
|
|
32
|
+
if (opts.json) {
|
|
33
|
+
console.log(JSON.stringify(res, null, 2));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (res.count === 0) {
|
|
37
|
+
p.log.info('No sessions found.');
|
|
38
|
+
p.log.info("Start one with: corebrain coding start");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const lines = res.sessions.map((s) => {
|
|
42
|
+
const statusColor = s.status === 'running'
|
|
43
|
+
? chalk.blue
|
|
44
|
+
: s.status === 'completed'
|
|
45
|
+
? chalk.green
|
|
46
|
+
: s.status === 'closed'
|
|
47
|
+
? chalk.gray
|
|
48
|
+
: chalk.red;
|
|
49
|
+
return [
|
|
50
|
+
`${chalk.bold(s.sessionId.slice(0, 8))}`,
|
|
51
|
+
chalk.cyan(s.agent),
|
|
52
|
+
statusColor(s.status),
|
|
53
|
+
chalk.dim(s.dir),
|
|
54
|
+
chalk.dim(formatTime(s.startedAt)),
|
|
55
|
+
].join(' ');
|
|
56
|
+
});
|
|
57
|
+
p.note(lines.join('\n'), `Sessions (${res.count})`);
|
|
58
|
+
}
|
|
59
|
+
export default function CodingList({ options: opts }) {
|
|
60
|
+
const { exit } = useApp();
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
runListSessions(opts)
|
|
63
|
+
.catch((err) => {
|
|
64
|
+
p.log.error(err instanceof Error ? err.message : 'Unknown error');
|
|
65
|
+
})
|
|
66
|
+
.finally(() => {
|
|
67
|
+
setTimeout(() => exit(), 100);
|
|
68
|
+
});
|
|
69
|
+
}, [opts, exit]);
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/coding/list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import zod from 'zod';
|
|
2
|
+
export declare const options: zod.ZodObject<{
|
|
3
|
+
sessionId: zod.ZodOptional<zod.ZodString>;
|
|
4
|
+
lines: zod.ZodOptional<zod.ZodNumber>;
|
|
5
|
+
offset: zod.ZodOptional<zod.ZodNumber>;
|
|
6
|
+
tail: zod.ZodOptional<zod.ZodBoolean>;
|
|
7
|
+
follow: zod.ZodOptional<zod.ZodBoolean>;
|
|
8
|
+
}, zod.core.$strip>;
|
|
9
|
+
type Props = {
|
|
10
|
+
options: zod.infer<typeof options>;
|
|
11
|
+
};
|
|
12
|
+
export default function CodingRead({ options: opts }: Props): null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,OAAO;;;;;;mBAMlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AA0HF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAcxD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useApp } from 'ink';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import zod from 'zod';
|
|
6
|
+
import { executeCodingTool } from '../../server/tools/coding-tools.js';
|
|
7
|
+
import { listSessions } from '../../utils/coding-sessions.js';
|
|
8
|
+
export const options = zod.object({
|
|
9
|
+
sessionId: zod.string().optional().describe('Session ID to read'),
|
|
10
|
+
lines: zod.number().optional().describe('Number of lines to return'),
|
|
11
|
+
offset: zod.number().optional().describe('Line offset to start from'),
|
|
12
|
+
tail: zod.boolean().optional().describe('Return last N lines'),
|
|
13
|
+
follow: zod.boolean().optional().describe('Follow output (like tail -f)'),
|
|
14
|
+
});
|
|
15
|
+
async function runReadSession(opts) {
|
|
16
|
+
// Get session ID
|
|
17
|
+
let sessionId = opts.sessionId;
|
|
18
|
+
if (!sessionId) {
|
|
19
|
+
const sessions = listSessions();
|
|
20
|
+
if (sessions.length === 0) {
|
|
21
|
+
p.log.error('No sessions found.');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const selected = await p.select({
|
|
25
|
+
message: 'Select session',
|
|
26
|
+
options: sessions.map((s) => ({
|
|
27
|
+
value: s.sessionId,
|
|
28
|
+
label: `${s.sessionId.slice(0, 8)}... (${s.agent}) - ${s.status}`,
|
|
29
|
+
})),
|
|
30
|
+
});
|
|
31
|
+
if (p.isCancel(selected)) {
|
|
32
|
+
p.cancel('Cancelled');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
sessionId = selected;
|
|
36
|
+
}
|
|
37
|
+
const readOnce = async () => {
|
|
38
|
+
const result = await executeCodingTool('coding_read_session', {
|
|
39
|
+
sessionId,
|
|
40
|
+
lines: opts.lines,
|
|
41
|
+
offset: opts.offset,
|
|
42
|
+
tail: opts.tail,
|
|
43
|
+
});
|
|
44
|
+
if (!result.success) {
|
|
45
|
+
p.log.error(result.error || 'Unknown error');
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return result.result;
|
|
49
|
+
};
|
|
50
|
+
if (opts.follow) {
|
|
51
|
+
// Follow mode - continuously poll
|
|
52
|
+
p.log.info(`Following session ${sessionId}... (Ctrl+C to stop)`);
|
|
53
|
+
let lastOutput = '';
|
|
54
|
+
const poll = async () => {
|
|
55
|
+
const res = await readOnce();
|
|
56
|
+
if (!res)
|
|
57
|
+
return false;
|
|
58
|
+
// Only print new output
|
|
59
|
+
if (res.output !== lastOutput) {
|
|
60
|
+
const newContent = res.output.slice(lastOutput.length);
|
|
61
|
+
if (newContent) {
|
|
62
|
+
process.stdout.write(newContent);
|
|
63
|
+
}
|
|
64
|
+
lastOutput = res.output;
|
|
65
|
+
}
|
|
66
|
+
return res.running;
|
|
67
|
+
};
|
|
68
|
+
let running = true;
|
|
69
|
+
while (running) {
|
|
70
|
+
running = await poll();
|
|
71
|
+
if (running) {
|
|
72
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
p.log.info('\nSession completed.');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// Single read
|
|
79
|
+
const res = await readOnce();
|
|
80
|
+
if (!res)
|
|
81
|
+
return;
|
|
82
|
+
const statusColor = res.status === 'running'
|
|
83
|
+
? chalk.blue
|
|
84
|
+
: res.status === 'completed'
|
|
85
|
+
? chalk.green
|
|
86
|
+
: chalk.red;
|
|
87
|
+
console.log(chalk.dim(`--- Session ${res.sessionId.slice(0, 8)} | ${res.agent} | ${statusColor(res.status)} ---`));
|
|
88
|
+
console.log(chalk.dim(`Lines: ${res.returnedLines}/${res.totalLines} | Dir: ${res.dir}`));
|
|
89
|
+
console.log();
|
|
90
|
+
if (res.output) {
|
|
91
|
+
console.log(res.output);
|
|
92
|
+
}
|
|
93
|
+
if (res.error) {
|
|
94
|
+
console.log(chalk.red('\n--- Errors ---'));
|
|
95
|
+
console.log(res.error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export default function CodingRead({ options: opts }) {
|
|
99
|
+
const { exit } = useApp();
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
runReadSession(opts)
|
|
102
|
+
.catch((err) => {
|
|
103
|
+
p.log.error(err instanceof Error ? err.message : 'Unknown error');
|
|
104
|
+
})
|
|
105
|
+
.finally(() => {
|
|
106
|
+
setTimeout(() => exit(), 100);
|
|
107
|
+
});
|
|
108
|
+
}, [opts, exit]);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import zod from 'zod';
|
|
2
|
+
export declare const options: zod.ZodObject<{
|
|
3
|
+
sessionId: zod.ZodOptional<zod.ZodString>;
|
|
4
|
+
prompt: zod.ZodOptional<zod.ZodString>;
|
|
5
|
+
}, zod.core.$strip>;
|
|
6
|
+
type Props = {
|
|
7
|
+
options: zod.infer<typeof options>;
|
|
8
|
+
};
|
|
9
|
+
export default function CodingResume({ options: opts }: Props): null;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=resume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/resume.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AA0EF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAc1D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useApp } from 'ink';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import zod from 'zod';
|
|
6
|
+
import { executeCodingTool } from '../../server/tools/coding-tools.js';
|
|
7
|
+
import { listSessions } from '../../utils/coding-sessions.js';
|
|
8
|
+
export const options = zod.object({
|
|
9
|
+
sessionId: zod.string().optional().describe('Session ID to resume'),
|
|
10
|
+
prompt: zod.string().optional().describe('Prompt to continue with'),
|
|
11
|
+
});
|
|
12
|
+
async function runResumeSession(opts) {
|
|
13
|
+
// Get session ID
|
|
14
|
+
let sessionId = opts.sessionId;
|
|
15
|
+
if (!sessionId) {
|
|
16
|
+
const sessions = listSessions().filter((s) => s.status !== 'running');
|
|
17
|
+
if (sessions.length === 0) {
|
|
18
|
+
p.log.error('No resumable sessions found.');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const selected = await p.select({
|
|
22
|
+
message: 'Select session to resume',
|
|
23
|
+
options: sessions.map((s) => ({
|
|
24
|
+
value: s.sessionId,
|
|
25
|
+
label: `${s.sessionId.slice(0, 8)}... (${s.agent}) - ${s.status}`,
|
|
26
|
+
})),
|
|
27
|
+
});
|
|
28
|
+
if (p.isCancel(selected)) {
|
|
29
|
+
p.cancel('Cancelled');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
sessionId = selected;
|
|
33
|
+
}
|
|
34
|
+
// Get prompt
|
|
35
|
+
let prompt = opts.prompt;
|
|
36
|
+
if (!prompt) {
|
|
37
|
+
const input = await p.text({
|
|
38
|
+
message: 'Enter prompt to continue',
|
|
39
|
+
placeholder: 'Continue with...',
|
|
40
|
+
});
|
|
41
|
+
if (p.isCancel(input)) {
|
|
42
|
+
p.cancel('Cancelled');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
prompt = input;
|
|
46
|
+
}
|
|
47
|
+
const spinner = p.spinner();
|
|
48
|
+
spinner.start('Resuming session...');
|
|
49
|
+
const result = await executeCodingTool('coding_resume_session', {
|
|
50
|
+
sessionId,
|
|
51
|
+
prompt,
|
|
52
|
+
});
|
|
53
|
+
if (!result.success) {
|
|
54
|
+
spinner.stop(chalk.red('Failed'));
|
|
55
|
+
p.log.error(result.error || 'Unknown error');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
spinner.stop(chalk.green('Resumed'));
|
|
59
|
+
const res = result.result;
|
|
60
|
+
p.note([
|
|
61
|
+
`${chalk.bold('Session ID:')} ${res.sessionId}`,
|
|
62
|
+
`${chalk.bold('PID:')} ${res.pid}`,
|
|
63
|
+
'',
|
|
64
|
+
chalk.dim(res.message),
|
|
65
|
+
].join('\n'), 'Session Resumed');
|
|
66
|
+
}
|
|
67
|
+
export default function CodingResume({ options: opts }) {
|
|
68
|
+
const { exit } = useApp();
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
runResumeSession(opts)
|
|
71
|
+
.catch((err) => {
|
|
72
|
+
p.log.error(err instanceof Error ? err.message : 'Unknown error');
|
|
73
|
+
})
|
|
74
|
+
.finally(() => {
|
|
75
|
+
setTimeout(() => exit(), 100);
|
|
76
|
+
});
|
|
77
|
+
}, [opts, exit]);
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/commands/coding/resume.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACnE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACnE,CAAC,CAAC;AAMH,KAAK,UAAU,gBAAgB,CAC9B,IAA+B;IAE/B,iBAAiB;IACjB,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,KAAK,EAAE,CAAC,CAAC,SAAS;gBAClB,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE;aACjE,CAAC,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtB,OAAO;QACR,CAAC;QACD,SAAS,GAAG,QAAkB,CAAC;IAChC,CAAC;IAED,aAAa;IACb,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,kBAAkB;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,EAAE;QAC/D,SAAS;QACT,MAAM;KACN,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAErC,MAAM,GAAG,GAAG,MAAM,CAAC,MAIlB,CAAC;IACF,CAAC,CAAC,IAAI,CACL;QACC,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE;QAC/C,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE;QAClC,EAAE;QACF,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,iBAAiB,CACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAQ;IAC1D,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,EAAE,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACd,gBAAgB,CAAC,IAAI,CAAC;aACpB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -15,7 +15,7 @@ const agentTemplates = [
|
|
|
15
15
|
defaultConfig: {
|
|
16
16
|
args: ['-p', '--output-format', 'text', '--dangerously-skip-permissions'],
|
|
17
17
|
resumeArgs: ['-p', '--output-format', 'text', '--dangerously-skip-permissions', '--resume', '{sessionId}'],
|
|
18
|
-
sessionArg: '--session',
|
|
18
|
+
sessionArg: '--session-id',
|
|
19
19
|
sessionMode: 'always',
|
|
20
20
|
sessionIdFields: ['session_id'],
|
|
21
21
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/coding/setup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAYtC,MAAM,cAAc,GAAoB;IACvC;QACC,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,CAAC;YACzE,UAAU,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,EAAE,UAAU,EAAE,aAAa,CAAC;YAC1G,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/coding/setup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import zod from 'zod';
|
|
2
|
+
export declare const options: zod.ZodObject<{
|
|
3
|
+
agent: zod.ZodOptional<zod.ZodString>;
|
|
4
|
+
prompt: zod.ZodOptional<zod.ZodString>;
|
|
5
|
+
dir: zod.ZodOptional<zod.ZodString>;
|
|
6
|
+
model: zod.ZodOptional<zod.ZodString>;
|
|
7
|
+
systemPrompt: zod.ZodOptional<zod.ZodString>;
|
|
8
|
+
}, zod.core.$strip>;
|
|
9
|
+
type Props = {
|
|
10
|
+
options: zod.infer<typeof options>;
|
|
11
|
+
};
|
|
12
|
+
export default function CodingStart({ options: opts }: Props): null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=start.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/start.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,OAAO;;;;;;mBAMlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AA6FF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAczD"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useApp } from 'ink';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import zod from 'zod';
|
|
6
|
+
import { executeCodingTool } from '../../server/tools/coding-tools.js';
|
|
7
|
+
import { getPreferences } from '../../config/preferences.js';
|
|
8
|
+
export const options = zod.object({
|
|
9
|
+
agent: zod.string().optional().describe('Coding agent to use'),
|
|
10
|
+
prompt: zod.string().optional().describe('Task/prompt for the agent'),
|
|
11
|
+
dir: zod.string().optional().describe('Working directory'),
|
|
12
|
+
model: zod.string().optional().describe('Model to use'),
|
|
13
|
+
systemPrompt: zod.string().optional().describe('System prompt'),
|
|
14
|
+
});
|
|
15
|
+
async function runStartSession(opts) {
|
|
16
|
+
const prefs = getPreferences();
|
|
17
|
+
const coding = prefs.coding;
|
|
18
|
+
if (!coding || Object.keys(coding).length === 0) {
|
|
19
|
+
p.log.error('No coding agents configured.');
|
|
20
|
+
p.log.info("Run 'corebrain coding setup' to configure an agent.");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const availableAgents = Object.keys(coding);
|
|
24
|
+
// Get agent
|
|
25
|
+
let agent = opts.agent;
|
|
26
|
+
if (!agent) {
|
|
27
|
+
const selected = await p.select({
|
|
28
|
+
message: 'Select agent',
|
|
29
|
+
options: availableAgents.map((a) => ({ value: a, label: a })),
|
|
30
|
+
});
|
|
31
|
+
if (p.isCancel(selected)) {
|
|
32
|
+
p.cancel('Cancelled');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
agent = selected;
|
|
36
|
+
}
|
|
37
|
+
if (!availableAgents.includes(agent)) {
|
|
38
|
+
p.log.error(`Agent "${agent}" not found.`);
|
|
39
|
+
p.log.info(`Available agents: ${availableAgents.join(', ')}`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Get prompt
|
|
43
|
+
let prompt = opts.prompt;
|
|
44
|
+
if (!prompt) {
|
|
45
|
+
const input = await p.text({
|
|
46
|
+
message: 'Enter task/prompt',
|
|
47
|
+
placeholder: 'Fix the bug in...',
|
|
48
|
+
});
|
|
49
|
+
if (p.isCancel(input)) {
|
|
50
|
+
p.cancel('Cancelled');
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
prompt = input;
|
|
54
|
+
}
|
|
55
|
+
// Get directory
|
|
56
|
+
let dir = opts.dir;
|
|
57
|
+
if (!dir) {
|
|
58
|
+
const input = await p.text({
|
|
59
|
+
message: 'Working directory',
|
|
60
|
+
initialValue: process.cwd(),
|
|
61
|
+
});
|
|
62
|
+
if (p.isCancel(input)) {
|
|
63
|
+
p.cancel('Cancelled');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
dir = input;
|
|
67
|
+
}
|
|
68
|
+
const spinner = p.spinner();
|
|
69
|
+
spinner.start('Starting session...');
|
|
70
|
+
const result = await executeCodingTool('coding_start_session', {
|
|
71
|
+
agent,
|
|
72
|
+
prompt,
|
|
73
|
+
dir,
|
|
74
|
+
model: opts.model,
|
|
75
|
+
systemPrompt: opts.systemPrompt,
|
|
76
|
+
});
|
|
77
|
+
if (!result.success) {
|
|
78
|
+
spinner.stop(chalk.red('Failed'));
|
|
79
|
+
p.log.error(result.error || 'Unknown error');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
spinner.stop(chalk.green('Started'));
|
|
83
|
+
const res = result.result;
|
|
84
|
+
p.note([
|
|
85
|
+
`${chalk.bold('Session ID:')} ${res.sessionId}`,
|
|
86
|
+
`${chalk.bold('PID:')} ${res.pid}`,
|
|
87
|
+
'',
|
|
88
|
+
chalk.dim(res.message),
|
|
89
|
+
].join('\n'), 'Session Started');
|
|
90
|
+
}
|
|
91
|
+
export default function CodingStart({ options: opts }) {
|
|
92
|
+
const { exit } = useApp();
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
runStartSession(opts)
|
|
95
|
+
.catch((err) => {
|
|
96
|
+
p.log.error(err instanceof Error ? err.message : 'Unknown error');
|
|
97
|
+
})
|
|
98
|
+
.finally(() => {
|
|
99
|
+
setTimeout(() => exit(), 100);
|
|
100
|
+
});
|
|
101
|
+
}, [opts, exit]);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/coding/start.tsx"],"names":[],"mappings":"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"}
|
|
@@ -335,7 +335,7 @@ async function runInteractiveConfig() {
|
|
|
335
335
|
command: claudePath,
|
|
336
336
|
args: ['-p', '--output-format', 'text', '--dangerously-skip-permissions'],
|
|
337
337
|
resumeArgs: ['-p', '--output-format', 'text', '--dangerously-skip-permissions', '--resume', '{sessionId}'],
|
|
338
|
-
sessionArg: '--session',
|
|
338
|
+
sessionArg: '--session-id',
|
|
339
339
|
sessionMode: 'always',
|
|
340
340
|
sessionIdFields: ['session_id'],
|
|
341
341
|
};
|