@clawapps/cli 0.6.4 → 0.6.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/balance.d.ts +1 -1
- package/dist/commands/balance.js +7 -7
- package/dist/commands/balance.js.map +1 -1
- package/dist/commands/connect.d.ts +1 -1
- package/dist/commands/connect.js +15 -21
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.js +26 -26
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/send.d.ts +1 -1
- package/dist/commands/send.js +23 -26
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/sessions.d.ts +1 -1
- package/dist/commands/sessions.js +18 -17
- package/dist/commands/sessions.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/balance.js
CHANGED
|
@@ -5,10 +5,7 @@ export async function balanceCommand(options) {
|
|
|
5
5
|
try {
|
|
6
6
|
const creds = await resolveCredentials();
|
|
7
7
|
const balance = await getBalance(creds.access_token);
|
|
8
|
-
if (options.
|
|
9
|
-
process.stdout.write(JSON.stringify(balance) + '\n');
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
8
|
+
if (options.human) {
|
|
12
9
|
console.log(chalk.bold('Account Balance'));
|
|
13
10
|
console.log(` Credits: ${chalk.green(String(balance.credits))}`);
|
|
14
11
|
console.log(` Membership: ${balance.membership}`);
|
|
@@ -16,14 +13,17 @@ export async function balanceCommand(options) {
|
|
|
16
13
|
console.log(` Name: ${balance.display_name}`);
|
|
17
14
|
}
|
|
18
15
|
}
|
|
16
|
+
else {
|
|
17
|
+
process.stdout.write(JSON.stringify(balance) + '\n');
|
|
18
|
+
}
|
|
19
19
|
}
|
|
20
20
|
catch (err) {
|
|
21
21
|
const msg = err instanceof Error ? err.message : String(err);
|
|
22
|
-
if (options.
|
|
23
|
-
|
|
22
|
+
if (options.human) {
|
|
23
|
+
console.error(chalk.red(msg));
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
|
|
26
|
+
process.stdout.write(JSON.stringify({ error: msg }) + '\n');
|
|
27
27
|
}
|
|
28
28
|
process.exit(msg.includes('authenticated') || msg.includes('expired') ? 2 : 1);
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA4B;IAC/D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
|
package/dist/commands/connect.js
CHANGED
|
@@ -6,11 +6,10 @@ function jsonOut(obj) {
|
|
|
6
6
|
process.stdout.write(JSON.stringify(obj) + '\n');
|
|
7
7
|
}
|
|
8
8
|
export async function connectCommand(options) {
|
|
9
|
-
const
|
|
9
|
+
const isHuman = !!options.human;
|
|
10
10
|
try {
|
|
11
11
|
const creds = await resolveCredentials();
|
|
12
12
|
const token = creds.access_token;
|
|
13
|
-
// Create or reuse session
|
|
14
13
|
let sessionId;
|
|
15
14
|
if (options.sessionId) {
|
|
16
15
|
sessionId = options.sessionId;
|
|
@@ -20,15 +19,14 @@ export async function connectCommand(options) {
|
|
|
20
19
|
sessionId = session.session_id;
|
|
21
20
|
await saveSession({ session_id: sessionId, created_at: new Date().toISOString() });
|
|
22
21
|
}
|
|
23
|
-
if (
|
|
24
|
-
jsonOut({ event: 'session_created', session_id: sessionId });
|
|
25
|
-
jsonOut({ event: 'ready' });
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
22
|
+
if (isHuman) {
|
|
28
23
|
console.log(chalk.green(`Connected to session: ${sessionId}`));
|
|
29
24
|
console.log(chalk.gray('Type your message and press Enter. Use Ctrl+C to exit.\n'));
|
|
30
25
|
}
|
|
31
|
-
|
|
26
|
+
else {
|
|
27
|
+
jsonOut({ event: 'session_created', session_id: sessionId });
|
|
28
|
+
jsonOut({ event: 'ready' });
|
|
29
|
+
}
|
|
32
30
|
let shuttingDown = false;
|
|
33
31
|
const cleanup = async () => {
|
|
34
32
|
if (shuttingDown)
|
|
@@ -42,22 +40,20 @@ export async function connectCommand(options) {
|
|
|
42
40
|
};
|
|
43
41
|
process.on('SIGINT', cleanup);
|
|
44
42
|
process.on('SIGTERM', cleanup);
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
await jsonMode(token, sessionId);
|
|
43
|
+
if (isHuman) {
|
|
44
|
+
await interactiveMode(token, sessionId);
|
|
48
45
|
}
|
|
49
46
|
else {
|
|
50
|
-
|
|
51
|
-
await interactiveMode(token, sessionId);
|
|
47
|
+
await jsonMode(token, sessionId);
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
50
|
catch (err) {
|
|
55
51
|
const msg = err instanceof Error ? err.message : String(err);
|
|
56
|
-
if (
|
|
57
|
-
|
|
52
|
+
if (isHuman) {
|
|
53
|
+
console.error(chalk.red(msg));
|
|
58
54
|
}
|
|
59
55
|
else {
|
|
60
|
-
|
|
56
|
+
jsonOut({ event: 'error', code: 'CLI_ERROR', message: msg });
|
|
61
57
|
}
|
|
62
58
|
process.exit(msg.includes('authenticated') || msg.includes('expired') ? 2 : 1);
|
|
63
59
|
}
|
|
@@ -92,7 +88,7 @@ async function jsonMode(token, sessionId) {
|
|
|
92
88
|
async function interactiveMode(token, sessionId) {
|
|
93
89
|
const rl = createInterface({
|
|
94
90
|
input: process.stdin,
|
|
95
|
-
output: process.stderr,
|
|
91
|
+
output: process.stderr,
|
|
96
92
|
prompt: chalk.cyan('> '),
|
|
97
93
|
});
|
|
98
94
|
rl.prompt();
|
|
@@ -102,9 +98,8 @@ async function interactiveMode(token, sessionId) {
|
|
|
102
98
|
rl.prompt();
|
|
103
99
|
continue;
|
|
104
100
|
}
|
|
105
|
-
if (input.toLowerCase() === '/quit' || input.toLowerCase() === '/exit')
|
|
101
|
+
if (input.toLowerCase() === '/quit' || input.toLowerCase() === '/exit')
|
|
106
102
|
break;
|
|
107
|
-
}
|
|
108
103
|
if (input.toLowerCase() === '/stop') {
|
|
109
104
|
await stopProcessing(token, sessionId).catch(() => { });
|
|
110
105
|
console.log(chalk.yellow('Stopped.'));
|
|
@@ -123,9 +118,8 @@ async function interactiveMode(token, sessionId) {
|
|
|
123
118
|
case 'cost': {
|
|
124
119
|
const used = evt.data.credits_used;
|
|
125
120
|
const after = evt.data.balance_after;
|
|
126
|
-
if (used > 0)
|
|
121
|
+
if (used > 0)
|
|
127
122
|
console.log(chalk.gray(`[Credits: -${used} | Balance: ${after}]`));
|
|
128
|
-
}
|
|
129
123
|
break;
|
|
130
124
|
}
|
|
131
125
|
case 'error':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAQhC,SAAS,OAAO,CAAC,GAA4B;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.d.ts
CHANGED
package/dist/commands/login.js
CHANGED
|
@@ -9,19 +9,19 @@ function jsonOut(obj) {
|
|
|
9
9
|
process.stdout.write(JSON.stringify(obj) + '\n');
|
|
10
10
|
}
|
|
11
11
|
export async function loginCommand(options) {
|
|
12
|
-
const
|
|
12
|
+
const isHuman = !!options.human;
|
|
13
13
|
// Check if already logged in
|
|
14
14
|
const existing = await loadCredentials();
|
|
15
15
|
if (existing) {
|
|
16
16
|
try {
|
|
17
17
|
const balance = await getBalance(existing.access_token);
|
|
18
|
-
if (
|
|
19
|
-
jsonOut({ event: 'already_logged_in', display_name: balance.display_name });
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
18
|
+
if (isHuman) {
|
|
22
19
|
console.log(chalk.green(`Already logged in as ${chalk.bold(balance.display_name || 'user')}.`));
|
|
23
20
|
console.log(chalk.gray('Run `clawapps logout` first to switch accounts.'));
|
|
24
21
|
}
|
|
22
|
+
else {
|
|
23
|
+
jsonOut({ event: 'already_logged_in', display_name: balance.display_name });
|
|
24
|
+
}
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
catch {
|
|
@@ -35,17 +35,25 @@ export async function loginCommand(options) {
|
|
|
35
35
|
}
|
|
36
36
|
catch (err) {
|
|
37
37
|
const msg = err instanceof Error ? err.message : String(err);
|
|
38
|
-
if (
|
|
39
|
-
|
|
38
|
+
if (isHuman) {
|
|
39
|
+
console.error(chalk.red(`Failed to create login code: ${msg}`));
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
|
|
42
|
+
jsonOut({ event: 'error', code: 'LOGIN_CODE_FAILED', message: msg });
|
|
43
43
|
}
|
|
44
44
|
process.exit(1);
|
|
45
45
|
}
|
|
46
46
|
// Display login info
|
|
47
|
-
if (
|
|
48
|
-
|
|
47
|
+
if (isHuman) {
|
|
48
|
+
console.log(chalk.bold('\nLogin URL:'));
|
|
49
|
+
console.log(chalk.cyan(loginCode.qr_url));
|
|
50
|
+
console.log();
|
|
51
|
+
qrcode.generate(loginCode.qr_url, { small: true });
|
|
52
|
+
console.log(chalk.gray('\nOpen the link or scan QR code with WeChat to authenticate.'));
|
|
53
|
+
console.log(chalk.yellow('Waiting for verification (valid for 3 minutes)...\n'));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// JSON mode: QR text first, then JSON metadata
|
|
49
57
|
process.stdout.write(readFileSync(loginCode.qr_text, 'utf-8'));
|
|
50
58
|
jsonOut({
|
|
51
59
|
event: 'login_url',
|
|
@@ -54,16 +62,8 @@ export async function loginCommand(options) {
|
|
|
54
62
|
expires_at: loginCode.expires_at,
|
|
55
63
|
});
|
|
56
64
|
}
|
|
57
|
-
else {
|
|
58
|
-
console.log(chalk.bold('\nLogin URL:'));
|
|
59
|
-
console.log(chalk.cyan(loginCode.qr_url));
|
|
60
|
-
console.log();
|
|
61
|
-
qrcode.generate(loginCode.qr_url, { small: true });
|
|
62
|
-
console.log(chalk.gray('\nOpen the link or scan QR code with WeChat to authenticate.'));
|
|
63
|
-
console.log(chalk.yellow('Waiting for verification (valid for 3 minutes)...\n'));
|
|
64
|
-
}
|
|
65
65
|
// Poll for verification
|
|
66
|
-
const spinner =
|
|
66
|
+
const spinner = isHuman ? ora('Waiting for authentication...').start() : null;
|
|
67
67
|
const result = await pollLoginCode(loginCode.code, (remaining) => {
|
|
68
68
|
if (spinner) {
|
|
69
69
|
const min = Math.floor(remaining / 60);
|
|
@@ -76,22 +76,22 @@ export async function loginCommand(options) {
|
|
|
76
76
|
});
|
|
77
77
|
spinner?.stop();
|
|
78
78
|
if (result.success) {
|
|
79
|
-
if (
|
|
80
|
-
jsonOut({ event: 'login_success', display_name: result.display_name || null });
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
79
|
+
if (isHuman) {
|
|
83
80
|
console.log(chalk.green('\nLogin successful!'));
|
|
84
81
|
if (result.display_name) {
|
|
85
82
|
console.log(chalk.gray(`User: ${result.display_name}`));
|
|
86
83
|
}
|
|
87
84
|
}
|
|
85
|
+
else {
|
|
86
|
+
jsonOut({ event: 'login_success', display_name: result.display_name || null });
|
|
87
|
+
}
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
90
|
-
if (
|
|
91
|
-
|
|
90
|
+
if (isHuman) {
|
|
91
|
+
console.error(chalk.red(`\n${result.error}. Run \`clawapps login\` to try again.`));
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
|
-
|
|
94
|
+
jsonOut({ event: 'error', code: 'LOGIN_FAILED', message: result.error });
|
|
95
95
|
}
|
|
96
96
|
process.exit(1);
|
|
97
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEzE,SAAS,OAAO,CAAC,GAA4B;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/send.d.ts
CHANGED
package/dist/commands/send.js
CHANGED
|
@@ -3,7 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import { resolveCredentials } from './helpers/resolve-credentials.js';
|
|
4
4
|
import { createSession, sendMessage, saveSession, getLastSessionId, } from '../lib/relay-client.js';
|
|
5
5
|
export async function sendCommand(message, options) {
|
|
6
|
-
const
|
|
6
|
+
const isHuman = !!options.human;
|
|
7
7
|
try {
|
|
8
8
|
const creds = await resolveCredentials();
|
|
9
9
|
const token = creds.access_token;
|
|
@@ -18,7 +18,6 @@ export async function sendCommand(message, options) {
|
|
|
18
18
|
await saveSession({ session_id: sessionId, created_at: new Date().toISOString() });
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
// Try to reuse last session, fall back to new
|
|
22
21
|
const lastId = await getLastSessionId();
|
|
23
22
|
if (lastId) {
|
|
24
23
|
sessionId = lastId;
|
|
@@ -29,69 +28,67 @@ export async function sendCommand(message, options) {
|
|
|
29
28
|
await saveSession({ session_id: sessionId, created_at: new Date().toISOString() });
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
|
-
if (
|
|
31
|
+
if (!isHuman) {
|
|
33
32
|
process.stdout.write(JSON.stringify({ event: 'session_created', session_id: sessionId }) + '\n');
|
|
34
33
|
}
|
|
35
34
|
// Send message and collect response
|
|
36
|
-
const spinner =
|
|
35
|
+
const spinner = isHuman ? ora('Thinking...').start() : null;
|
|
37
36
|
let fullResponse = '';
|
|
38
|
-
let usage = null;
|
|
39
37
|
let creditsUsed = 0;
|
|
40
38
|
let balanceAfter = 0;
|
|
41
39
|
for await (const evt of sendMessage(token, sessionId, message)) {
|
|
42
40
|
switch (evt.event) {
|
|
43
41
|
case 'text':
|
|
44
42
|
fullResponse += evt.data.content || '';
|
|
45
|
-
if (
|
|
46
|
-
|
|
43
|
+
if (isHuman) {
|
|
44
|
+
if (spinner?.isSpinning)
|
|
45
|
+
spinner.stop();
|
|
47
46
|
}
|
|
48
|
-
else
|
|
49
|
-
|
|
47
|
+
else {
|
|
48
|
+
process.stdout.write(JSON.stringify({ event: 'text', content: evt.data.content }) + '\n');
|
|
50
49
|
}
|
|
51
50
|
break;
|
|
52
51
|
case 'status':
|
|
53
52
|
case 'log':
|
|
54
|
-
if (spinner?.isSpinning) {
|
|
55
|
-
|
|
56
|
-
spinner.text = state;
|
|
53
|
+
if (isHuman && spinner?.isSpinning) {
|
|
54
|
+
spinner.text = (evt.data.state || evt.data.level || 'processing');
|
|
57
55
|
}
|
|
58
|
-
if (
|
|
56
|
+
else if (!isHuman) {
|
|
59
57
|
process.stdout.write(JSON.stringify({ event: evt.event, ...evt.data }) + '\n');
|
|
60
58
|
}
|
|
61
59
|
break;
|
|
62
60
|
case 'mode_change':
|
|
63
|
-
if (
|
|
61
|
+
if (!isHuman) {
|
|
64
62
|
process.stdout.write(JSON.stringify({ event: 'mode_change', ...evt.data }) + '\n');
|
|
65
63
|
}
|
|
66
64
|
break;
|
|
67
65
|
case 'complete':
|
|
68
|
-
|
|
69
|
-
if (isJson) {
|
|
66
|
+
if (!isHuman) {
|
|
70
67
|
process.stdout.write(JSON.stringify({ event: 'complete', ...evt.data }) + '\n');
|
|
71
68
|
}
|
|
72
69
|
break;
|
|
73
70
|
case 'cost':
|
|
74
71
|
creditsUsed = evt.data.credits_used || 0;
|
|
75
72
|
balanceAfter = evt.data.balance_after || 0;
|
|
76
|
-
if (
|
|
73
|
+
if (!isHuman) {
|
|
77
74
|
process.stdout.write(JSON.stringify({ event: 'cost', ...evt.data }) + '\n');
|
|
78
75
|
}
|
|
79
76
|
break;
|
|
80
77
|
case 'error':
|
|
81
|
-
if (
|
|
82
|
-
spinner
|
|
83
|
-
|
|
84
|
-
|
|
78
|
+
if (isHuman) {
|
|
79
|
+
if (spinner?.isSpinning)
|
|
80
|
+
spinner.fail(evt.data.message);
|
|
81
|
+
console.error(chalk.red(`Error: ${evt.data.message}`));
|
|
85
82
|
}
|
|
86
83
|
else {
|
|
87
|
-
|
|
84
|
+
process.stdout.write(JSON.stringify({ event: 'error', ...evt.data }) + '\n');
|
|
88
85
|
}
|
|
89
86
|
break;
|
|
90
87
|
}
|
|
91
88
|
}
|
|
92
89
|
if (spinner?.isSpinning)
|
|
93
90
|
spinner.stop();
|
|
94
|
-
if (
|
|
91
|
+
if (isHuman && fullResponse) {
|
|
95
92
|
console.log(fullResponse);
|
|
96
93
|
if (creditsUsed > 0) {
|
|
97
94
|
console.log(chalk.gray(`\n[Credits used: ${creditsUsed} | Balance: ${balanceAfter}]`));
|
|
@@ -100,11 +97,11 @@ export async function sendCommand(message, options) {
|
|
|
100
97
|
}
|
|
101
98
|
catch (err) {
|
|
102
99
|
const msg = err instanceof Error ? err.message : String(err);
|
|
103
|
-
if (
|
|
104
|
-
|
|
100
|
+
if (isHuman) {
|
|
101
|
+
console.error(chalk.red(msg));
|
|
105
102
|
}
|
|
106
103
|
else {
|
|
107
|
-
|
|
104
|
+
process.stdout.write(JSON.stringify({ event: 'error', code: 'CLI_ERROR', message: msg }) + '\n');
|
|
108
105
|
}
|
|
109
106
|
process.exit(msg.includes('authenticated') || msg.includes('expired') ? 2 : 1);
|
|
110
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAShC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAAoB;IACrE,MAAM,
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,34 +3,35 @@ import { loadSessions, clearSessions } from '../lib/relay-client.js';
|
|
|
3
3
|
export async function sessionsCommand(options) {
|
|
4
4
|
if (options.clear) {
|
|
5
5
|
await clearSessions();
|
|
6
|
-
if (options.
|
|
7
|
-
|
|
6
|
+
if (options.human) {
|
|
7
|
+
console.log(chalk.green('Session history cleared.'));
|
|
8
8
|
}
|
|
9
9
|
else {
|
|
10
|
-
|
|
10
|
+
process.stdout.write(JSON.stringify({ cleared: true }) + '\n');
|
|
11
11
|
}
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
const store = await loadSessions();
|
|
15
15
|
const entries = Object.values(store.sessions);
|
|
16
|
-
if (options.
|
|
16
|
+
if (options.human) {
|
|
17
|
+
if (entries.length === 0) {
|
|
18
|
+
console.log(chalk.gray('No sessions found.'));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
console.log(chalk.bold('Recent Sessions'));
|
|
22
|
+
console.log();
|
|
23
|
+
for (const s of entries) {
|
|
24
|
+
const isCurrent = s.session_id === store.last_session_id;
|
|
25
|
+
const marker = isCurrent ? chalk.green(' (current)') : '';
|
|
26
|
+
console.log(` ${s.session_id}${marker}`);
|
|
27
|
+
console.log(` Created: ${s.created_at}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
17
31
|
process.stdout.write(JSON.stringify({
|
|
18
32
|
last_session_id: store.last_session_id || null,
|
|
19
33
|
sessions: entries,
|
|
20
34
|
}) + '\n');
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (entries.length === 0) {
|
|
24
|
-
console.log(chalk.gray('No sessions found.'));
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
console.log(chalk.bold('Recent Sessions'));
|
|
28
|
-
console.log();
|
|
29
|
-
for (const s of entries) {
|
|
30
|
-
const isCurrent = s.session_id === store.last_session_id;
|
|
31
|
-
const marker = isCurrent ? chalk.green(' (current)') : '';
|
|
32
|
-
console.log(` ${s.session_id}${marker}`);
|
|
33
|
-
console.log(` Created: ${s.created_at}`);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
//# sourceMappingURL=sessions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOrE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOrE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,eAAe,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAClC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;YAC9C,QAAQ,EAAE,OAAO;SAClB,CAAC,GAAG,IAAI,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ program
|
|
|
18
18
|
program
|
|
19
19
|
.command('login')
|
|
20
20
|
.description('Log in via WeChat QR code')
|
|
21
|
-
.option('--
|
|
21
|
+
.option('--human', 'Human-friendly terminal output')
|
|
22
22
|
.action(loginCommand);
|
|
23
23
|
program
|
|
24
24
|
.command('logout')
|
|
@@ -28,7 +28,7 @@ program
|
|
|
28
28
|
.command('connect')
|
|
29
29
|
.description('Connect to agent workspace (persistent session)')
|
|
30
30
|
.option('--session-id <id>', 'Resume a specific session')
|
|
31
|
-
.option('--
|
|
31
|
+
.option('--human', 'Interactive terminal mode')
|
|
32
32
|
.option('--timeout <ms>', 'Connection timeout in milliseconds')
|
|
33
33
|
.action(connectCommand);
|
|
34
34
|
program
|
|
@@ -37,19 +37,19 @@ program
|
|
|
37
37
|
.argument('<message>', 'Message to send')
|
|
38
38
|
.option('--session-id <id>', 'Use a specific session')
|
|
39
39
|
.option('--new-session', 'Force create a new session')
|
|
40
|
-
.option('--
|
|
40
|
+
.option('--human', 'Human-friendly terminal output')
|
|
41
41
|
.option('--timeout <ms>', 'Response timeout in milliseconds')
|
|
42
42
|
.action(sendCommand);
|
|
43
43
|
program
|
|
44
44
|
.command('sessions')
|
|
45
45
|
.description('List or manage workspace sessions')
|
|
46
46
|
.option('--clear', 'Clear session history')
|
|
47
|
-
.option('--
|
|
47
|
+
.option('--human', 'Human-friendly terminal output')
|
|
48
48
|
.action(sessionsCommand);
|
|
49
49
|
program
|
|
50
50
|
.command('balance')
|
|
51
51
|
.description('Check credit balance')
|
|
52
|
-
.option('--
|
|
52
|
+
.option('--human', 'Human-friendly terminal output')
|
|
53
53
|
.action(balanceCommand);
|
|
54
54
|
program.parse();
|
|
55
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC;KACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC;KACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;KAC9C,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;KAC9D,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mCAAmC,CAAC;KAChD,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC1C,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|