kumo-cli 1.3.10 → 1.3.11
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.
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { format } from 'node:util';
|
|
2
|
+
// the activity of the claude sessions as a box of its newest lines kept at the bottom of the
|
|
3
|
+
// terminal, instead of a log that scrolls on forever
|
|
4
|
+
const DIM = '\x1b[2m';
|
|
5
|
+
const RESET = '\x1b[0m';
|
|
6
|
+
const MAX_WIDTH = 100;
|
|
7
|
+
const TITLE = ' activity ';
|
|
8
|
+
// east asian wide characters and emoji take two columns, marks none
|
|
9
|
+
const WIDE = /[\u1100-\u115f\u2e80-\u303e\u3041-\u33ff\u3400-\u4dbf\u4e00-\u9fff\ua000-\ua4cf\uac00-\ud7a3\uf900-\ufaff\ufe30-\ufe4f\uff00-\uff60\uffe0-\uffe6\u{20000}-\u{3fffd}]|\p{Emoji_Presentation}/u;
|
|
10
|
+
const ZERO = /\p{Mark}|[\u200b-\u200f]/u;
|
|
11
|
+
// [text] cut (with …) or padded to exactly [width] terminal columns; colors are dropped and other
|
|
12
|
+
// control characters become spaces so a line can neither wrap nor move the cursor
|
|
13
|
+
export function fit(text, width) {
|
|
14
|
+
const chars = [...text.replace(/\x1b\[[0-9;]*m/g, '').replace(/[\x00-\x1f\x7f-\x9f]/g, ' ')].map((ch) => [ch, ZERO.test(ch) ? 0 : WIDE.test(ch) ? 2 : 1]);
|
|
15
|
+
const cut = chars.reduce((sum, [, w]) => sum + w, 0) > width;
|
|
16
|
+
const room = cut ? width - 1 : width;
|
|
17
|
+
let out = '';
|
|
18
|
+
let used = 0;
|
|
19
|
+
for (const [ch, w] of chars) {
|
|
20
|
+
if (used + w > room)
|
|
21
|
+
break;
|
|
22
|
+
out += ch;
|
|
23
|
+
used += w;
|
|
24
|
+
}
|
|
25
|
+
return `${out}${cut ? '…' : ''}${' '.repeat(room - used)}`;
|
|
26
|
+
}
|
|
27
|
+
// the rows of a box around [lines], [width] columns wide in all
|
|
28
|
+
export function renderBox(lines, width) {
|
|
29
|
+
return [
|
|
30
|
+
`${DIM}╭─${TITLE}${'─'.repeat(width - 3 - TITLE.length)}╮${RESET}`,
|
|
31
|
+
...lines.map((line) => `${DIM}│${RESET} ${fit(line, width - 4)} ${DIM}│${RESET}`),
|
|
32
|
+
`${DIM}╰${'─'.repeat(width - 2)}╯${RESET}`,
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
// a sink for activity lines: on a terminal the newest [max] in a box of that many rows, shown
|
|
36
|
+
// from [show] on; anywhere else (a pipe, a log file) every line as is
|
|
37
|
+
export function activityLog(out = process.stdout, max = 5) {
|
|
38
|
+
if (!out.isTTY)
|
|
39
|
+
return { add: (line) => console.log(line), show: () => { } };
|
|
40
|
+
const lines = [];
|
|
41
|
+
let drawn = 0;
|
|
42
|
+
// back to the box's top row and clear from there down
|
|
43
|
+
const erase = () => (drawn ? `\x1b[${drawn}A\r\x1b[J` : '');
|
|
44
|
+
const draw = () => {
|
|
45
|
+
const rows = renderBox(Array.from({ length: max }, (_, i) => lines[i] ?? ''),
|
|
46
|
+
// a column short of the edge: a row filling the last column wraps early on some consoles
|
|
47
|
+
Math.max(TITLE.length + 10, Math.min((out.columns || 80) - 1, MAX_WIDTH)));
|
|
48
|
+
drawn = rows.length;
|
|
49
|
+
return `${rows.join('\n')}\n`;
|
|
50
|
+
};
|
|
51
|
+
const push = (line) => {
|
|
52
|
+
lines.push(line);
|
|
53
|
+
if (lines.length > max)
|
|
54
|
+
lines.shift();
|
|
55
|
+
};
|
|
56
|
+
// once the box is up, the cli's own messages join it too
|
|
57
|
+
for (const name of ['log', 'warn', 'error']) {
|
|
58
|
+
const print = console[name].bind(console);
|
|
59
|
+
console[name] = (...args) => {
|
|
60
|
+
if (!drawn)
|
|
61
|
+
return print(...args);
|
|
62
|
+
for (const line of format(...args).split('\n'))
|
|
63
|
+
if (line.trim())
|
|
64
|
+
push(line);
|
|
65
|
+
out.write(erase() + draw());
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
add: (line) => {
|
|
70
|
+
push(line);
|
|
71
|
+
out.write(erase() + draw());
|
|
72
|
+
},
|
|
73
|
+
show: () => out.write(erase() + draw()),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=activityBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityBox.js","sourceRoot":"","sources":["../../src/core/activityBox.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { TerminalManager } from './pty/terminalManager.js';
|
|
|
3
3
|
import { clearCredentials, ensureDeviceUuid, } from './auth/credentialsStore.js';
|
|
4
4
|
import { loadDotEnv } from './core/loadDotEnv.js';
|
|
5
5
|
import { log } from './core/logger.js';
|
|
6
|
+
import { activityLog } from './core/activityBox.js';
|
|
6
7
|
import { ProjectFileWatcher } from './core/projectFileWatcher.js';
|
|
7
8
|
import { lockFolder } from './core/folderLock.js';
|
|
8
9
|
import { SessionManager } from './engine/sessionManager.js';
|
|
@@ -74,7 +75,6 @@ async function main() {
|
|
|
74
75
|
}
|
|
75
76
|
const launch = resolveLaunchConfig(command.args);
|
|
76
77
|
allowRemoteUserConfig(launch.allowRemoteConfig);
|
|
77
|
-
printBanner();
|
|
78
78
|
if (isCleartextRemote(SERVER_HTTP()) || isCleartextRemote(SERVER_WS())) {
|
|
79
79
|
console.warn('\x1b[33m[kumo-cli] warning: the backend url is not https/wss, so the device token and everything relayed travel in the clear\x1b[0m');
|
|
80
80
|
}
|
|
@@ -88,6 +88,7 @@ async function main() {
|
|
|
88
88
|
const effort = new EffortService();
|
|
89
89
|
effort.load();
|
|
90
90
|
const picks = fileSessionModelStore();
|
|
91
|
+
const activity = activityLog();
|
|
91
92
|
const terminals = new TerminalManager((terminalId, data) => send({ type: 'terminal_output', terminalId, data }), (terminalId, exitCode) => {
|
|
92
93
|
log(`[terminal] ${terminalId} exited with code ${exitCode}`);
|
|
93
94
|
send({ type: 'terminal_closed', terminalId, exitCode });
|
|
@@ -116,7 +117,7 @@ async function main() {
|
|
|
116
117
|
set: (windows) => writeKumoSetting('usageWindows', windows),
|
|
117
118
|
},
|
|
118
119
|
effort: (sessionId) => effort.getCurrent(sessionId),
|
|
119
|
-
console:
|
|
120
|
+
console: activity.add,
|
|
120
121
|
});
|
|
121
122
|
let shuttingDown = false;
|
|
122
123
|
const shutdown = (code) => {
|
|
@@ -145,14 +146,15 @@ async function main() {
|
|
|
145
146
|
console.error('[kumo-cli] pairing aborted');
|
|
146
147
|
process.exit(1);
|
|
147
148
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
149
|
+
// the account and what the app may do, beside the logo (shown only now that the account is known)
|
|
150
|
+
const allowed = [launch.allowRemoteConfig && 'config', launch.allowTerminal && 'terminal', launch.allowTunnel && 'tunnel'].filter(Boolean);
|
|
151
|
+
printBanner([
|
|
152
|
+
`\x1b[2mkumo-cli ${cliVersion()}\x1b[0m`,
|
|
153
|
+
`\x1b[1;32m${activeCredentials.user?.email ?? activeCredentials.user?.id ?? 'device'}\x1b[0m`,
|
|
154
|
+
`\x1b[2mmode \x1b[0m${launch.permissionMode}`,
|
|
155
|
+
...(allowed.length ? [`\x1b[2maccess \x1b[0m${allowed.join(' · ')}`] : []),
|
|
156
|
+
]);
|
|
157
|
+
activity.show();
|
|
156
158
|
const router = createMessageRouter({
|
|
157
159
|
send,
|
|
158
160
|
sessions, effort, terminals,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,14 @@ import { ensureDeviceUuid, saveCredentials, saveDeviceIdentity } from '../auth/c
|
|
|
7
7
|
const BANNER_TIPS = [
|
|
8
8
|
'tip: press --help to see the command guide.',
|
|
9
9
|
'tip: run `npx kumo-cli@latest reset claude` to pair the Claude agent again.',
|
|
10
|
+
'tip: add -t before `claude` to open terminals in this folder from the app.',
|
|
11
|
+
"tip: add -u to reach this computer's local ports, like a dev server, from the app.",
|
|
12
|
+
'tip: add -a to let the app manage hooks, permission rules, mcp servers and plugins.',
|
|
13
|
+
'tip: -m plan starts sessions in plan mode, -m acceptEdits lets claude edit without asking.',
|
|
14
|
+
'tip: short options combine: -atu is -a -t -u.',
|
|
15
|
+
'tip: anything after `claude` goes to claude itself, like `claude --add-dir ../api`.',
|
|
16
|
+
'tip: -e <file> loads environment variables from a file before starting.',
|
|
17
|
+
'tip: press ctrl+c twice to quit without waiting for sessions to close.',
|
|
10
18
|
];
|
|
11
19
|
// poll pair status until approved/rejected or timeout (5 min); the secret proves this cli filed the request
|
|
12
20
|
async function pollPairStatus(requestId, pollSecret) {
|
|
@@ -57,21 +65,37 @@ export async function verifyCredentials(creds) {
|
|
|
57
65
|
const data = res.data;
|
|
58
66
|
return { ...creds, user: data.user ?? creds.user, deviceUuid: data.device?.deviceUuid ?? creds.deviceUuid };
|
|
59
67
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
68
|
+
const LOGO = [
|
|
69
|
+
" _ __ _ _ __ __ ____ ",
|
|
70
|
+
" | |/ /| | | || \\/ | / __ \\",
|
|
71
|
+
" | ' / | | | || \\ / || | | |",
|
|
72
|
+
" | . \\ | |_| || |\\/| || |__| |",
|
|
73
|
+
" |_|\\_\\ \\___/ |_| |_| \\____/",
|
|
74
|
+
];
|
|
75
|
+
const LOGO_WIDTH = 34;
|
|
76
|
+
let bannerShown = false;
|
|
77
|
+
// the logo with [info] beside it from its second row, or under it on a narrow terminal; once the logo is up (pairing
|
|
78
|
+
// shows it first) only the info follows
|
|
79
|
+
export function printBanner(info = []) {
|
|
80
|
+
const width = Math.max(...info.map((line) => line.replace(/\x1b\[[0-9;]*m/g, '').length));
|
|
81
|
+
const shownBefore = bannerShown;
|
|
82
|
+
const beside = !shownBefore && LOGO_WIDTH + width < (process.stdout.columns || 80);
|
|
83
|
+
if (!shownBefore) {
|
|
84
|
+
bannerShown = true;
|
|
85
|
+
console.log('');
|
|
86
|
+
LOGO.forEach((line, i) => console.log(`\x1b[1;36m${line.padEnd(LOGO_WIDTH)}\x1b[0m${beside ? info[i - 1] ?? '' : ''}`));
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(' \x1b[2mwhere your code drifts between devices, softly.\x1b[0m');
|
|
89
|
+
const tip = BANNER_TIPS[Math.floor(Math.random() * BANNER_TIPS.length)];
|
|
90
|
+
console.log(` \x1b[2;37m${tip}\x1b[0m`);
|
|
91
|
+
console.log('');
|
|
92
|
+
}
|
|
93
|
+
if (beside || info.length === 0)
|
|
94
|
+
return;
|
|
95
|
+
if (shownBefore)
|
|
96
|
+
console.log('');
|
|
97
|
+
for (const line of info)
|
|
98
|
+
console.log(` ${line}`);
|
|
75
99
|
console.log('');
|
|
76
100
|
}
|
|
77
101
|
// print pairing-specific instructions only when the cli needs a fresh code
|
|
@@ -84,6 +108,7 @@ function printPairingInstructions() {
|
|
|
84
108
|
export async function pairFlow() {
|
|
85
109
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
86
110
|
const ask = (q) => new Promise((resolve) => rl.question(q, (a) => resolve(a)));
|
|
111
|
+
printBanner();
|
|
87
112
|
printPairingInstructions();
|
|
88
113
|
try {
|
|
89
114
|
while (true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pairingService.js","sourceRoot":"","sources":["../../src/services/pairingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAwB,MAAM,6BAA6B,CAAC;AAQ1H,MAAM,WAAW,GAAG;IAClB,6CAA6C;IAC7C,6EAA6E;
|
|
1
|
+
{"version":3,"file":"pairingService.js","sourceRoot":"","sources":["../../src/services/pairingService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kumo-cli",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.11",
|
|
4
4
|
"description": "Kumo CLI — where your code drifts between devices, softly. A pairing-based companion for the Kumo app that bridges your terminal sessions to remote devices.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|