@wirecat/max-cli 0.63.0 → 0.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/session.d.ts +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +35 -28
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +15 -6
- package/dist/commands/setup.js.map +1 -1
- package/dist/session/browser.d.ts +0 -11
- package/dist/session/browser.d.ts.map +1 -1
- package/dist/session/browser.js +0 -63
- package/dist/session/browser.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -4
- package/skills/max-cli/SKILL.md +2 -0
- package/dist/session/qr-terminal.d.ts +0 -9
- package/dist/session/qr-terminal.d.ts.map +0 -1
- package/dist/session/qr-terminal.js +0 -34
- package/dist/session/qr-terminal.js.map +0 -1
|
@@ -5,7 +5,7 @@ export declare const TERMS_NOTICE: string;
|
|
|
5
5
|
export declare const sessionCommand: () => Command;
|
|
6
6
|
declare const METHODS: readonly ["token", "qr", "qr-chrome", "sms"];
|
|
7
7
|
export type Method = (typeof METHODS)[number];
|
|
8
|
-
export declare const startSession: (context: CommandContext, method: Method, events: MaxClientOptions["events"]) => Promise<{
|
|
8
|
+
export declare const startSession: (context: CommandContext, method: Method, events: MaxClientOptions["events"], qrFile?: string) => Promise<{
|
|
9
9
|
profile: import("@wirecat/cli-core").Profile;
|
|
10
10
|
stored: boolean;
|
|
11
11
|
method: "qr" | "qr-chrome" | "sms" | "token";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAkB,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAKvF,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAA;AAG9D,eAAO,MAAM,YAAY,QAGb,CAAA;AAEZ,eAAO,MAAM,cAAc,QAAO,OAyFjC,CAAA;AAkBD,QAAA,MAAM,OAAO,YAAI,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAU,CAAA;AAC5D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,eAAO,MAAM,YAAY,YACd,cAAc,UACf,MAAM,UACN,gBAAgB,CAAC,QAAQ,CAAC,WACzB,MAAM;;;;;EAkChB,CAAA"}
|
package/dist/commands/session.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { CliError
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
3
|
+
import { loginQr, qrNeedsTerminal } from "@wirecat/cli-core";
|
|
3
4
|
import { itemOf, logsInOrOut, REMOTE_WRITE, renderAnswer, snakeKeys } from "@wirecat/cli-core/cli";
|
|
4
5
|
import { Argument, Command } from "commander";
|
|
5
6
|
import { refuseWhilePaused } from "../client.js";
|
|
@@ -7,8 +8,6 @@ import { maskedProfile } from "../domain/map.js";
|
|
|
7
8
|
import { asFirstWord, commandWords, refuseCommandName, rootOf } from "../profile.js";
|
|
8
9
|
import { stopServer } from "../server/server-connection.js";
|
|
9
10
|
import { adoptToken } from "../session/adopt.js";
|
|
10
|
-
import { serveQrPage } from "../session/browser.js";
|
|
11
|
-
import { terminalQr } from "../session/qr-terminal.js";
|
|
12
11
|
import { forCommand } from "./context.js";
|
|
13
12
|
// NEED-149: gentle on purpose — it asks for ordinary use alongside, and does not cite blocked accounts.
|
|
14
13
|
export const TERMS_NOTICE = [
|
|
@@ -23,8 +22,8 @@ export const sessionCommand = () => {
|
|
|
23
22
|
*
|
|
24
23
|
* - `token` — pasted, or piped: `pass show max | max session start`. The default, and the escape
|
|
25
24
|
* hatch when a login meets a captcha or an unusual second factor.
|
|
26
|
-
* - `qr` — our own connection asks MAX for the code;
|
|
27
|
-
*
|
|
25
|
+
* - `qr` — our own connection asks MAX for the code; cli-core's `loginQr` draws it here, or writes
|
|
26
|
+
* it to `--qr-file` for an agent to pass on.
|
|
28
27
|
* - `qr-chrome`, `sms` — web.max.ru itself does the login, in a Chromium-family browser with a
|
|
29
28
|
* throwaway profile, and we read the token it stores. MAX sees its own web client. SMS has no
|
|
30
29
|
* other door: asked over our socket, MAX demands a captcha only the page can solve (2026-09-24).
|
|
@@ -40,15 +39,18 @@ export const sessionCommand = () => {
|
|
|
40
39
|
" max work session start Import a token at a hidden prompt\n" +
|
|
41
40
|
"\nAn interrupted first setup can be resumed with `max <profile> setup`.\n" +
|
|
42
41
|
"For an expired session, explicitly log in again with `max <profile> session start qr`.\n" +
|
|
43
|
-
"Agents: read `max skill show` before login. QR
|
|
42
|
+
"Agents: read `max skill show` before login. --qr-file writes the QR as a PNG (mode 600) and removes it\n" +
|
|
43
|
+
"after the login; qr-chrome and sms need a local terminal.\n" +
|
|
44
44
|
"Never put tokens or passwords in command arguments.\n")
|
|
45
45
|
.addArgument(new Argument("[method]", "token (pasted or piped), qr, qr-chrome or sms").choices(METHODS).default("token"))
|
|
46
|
+
.option("--qr-file <png>", "write the QR code to this PNG instead of drawing it, for an agent to pass on")
|
|
46
47
|
.action(async function (method) {
|
|
47
48
|
const context = forCommand(this);
|
|
48
49
|
const { renderer, run } = context;
|
|
49
50
|
refuseCommandName(context.settings.profile, commandWords(rootOf(this)));
|
|
51
|
+
const { qrFile } = this.opts();
|
|
50
52
|
await run("session start", async (events) => {
|
|
51
|
-
const { firstLogin, ...answer } = await startSession(context, method, events);
|
|
53
|
+
const { firstLogin, ...answer } = await startSession(context, method, events, qrFile);
|
|
52
54
|
renderAnswer(this, context, itemOf(snakeKeys(answer)));
|
|
53
55
|
renderer.success(`logged in as ${answer.profile.name ?? answer.profile.id}`);
|
|
54
56
|
if (firstLogin)
|
|
@@ -100,11 +102,15 @@ const logOut = async (client) => {
|
|
|
100
102
|
}
|
|
101
103
|
};
|
|
102
104
|
const METHODS = ["token", "qr", "qr-chrome", "sms"];
|
|
103
|
-
export const startSession = async (context, method, events) => {
|
|
105
|
+
export const startSession = async (context, method, events, qrFile) => {
|
|
104
106
|
const { renderer, store, createClient, interactive } = context;
|
|
107
|
+
if (qrFile !== undefined && method !== "qr")
|
|
108
|
+
throw new CliError("validation_error", "--qr-file is for a QR login", { param: "--qr-file" });
|
|
105
109
|
if (store.hasLoggedIn())
|
|
106
110
|
refuseWhilePaused(store.readState());
|
|
107
|
-
if (method
|
|
111
|
+
if (method === "qr" && !interactive && qrFile === undefined)
|
|
112
|
+
throw qrNeedsTerminal(`max ${asFirstWord(store.profile)}session start qr`);
|
|
113
|
+
if (method !== "token" && method !== "qr" && !interactive)
|
|
108
114
|
throw new CliError("validation_error", `\`session start ${method}\` needs a person at a terminal — use \`session start token\``);
|
|
109
115
|
if (method !== "token" && process.env.MAX_TOKEN)
|
|
110
116
|
throw new CliError("validation_error", "MAX_TOKEN is set, and it would outrank the new session — unset it first");
|
|
@@ -116,7 +122,7 @@ export const startSession = async (context, method, events) => {
|
|
|
116
122
|
context.signal.throwIfAborted();
|
|
117
123
|
if ((await context.stopServer()) === "stopped")
|
|
118
124
|
renderer.note("stopped `max serve`; it starts again on the new session");
|
|
119
|
-
const token = method === "token" ? String(pasted) : await obtain(method, context, events);
|
|
125
|
+
const token = method === "token" ? String(pasted) : await obtain(method, context, events, qrFile);
|
|
120
126
|
context.signal.throwIfAborted();
|
|
121
127
|
const client = createClient({ events }, { own: true });
|
|
122
128
|
const firstLogin = store.viewerId() === undefined;
|
|
@@ -131,38 +137,39 @@ export const startSession = async (context, method, events) => {
|
|
|
131
137
|
};
|
|
132
138
|
/** Long enough to find the phone and type a number and a code; the profile dies with the wait. */
|
|
133
139
|
const BROWSER_WAIT_MS = 5 * 60_000;
|
|
134
|
-
const
|
|
135
|
-
const obtain = async (method, { createClient, renderer, browser, track, ask, streams, columns }, events) => {
|
|
140
|
+
const obtain = async (method, { createClient, renderer, browser, track, ask, streams, columns, interactive, store }, events, qrFile) => {
|
|
136
141
|
if (method !== "qr") {
|
|
137
142
|
renderer.note(method === "qr-chrome"
|
|
138
143
|
? "web.max.ru is opening in a separate browser window — scan its QR code with the MAX app on your phone"
|
|
139
144
|
: "web.max.ru is opening in a separate browser window — choose to log in by phone number there");
|
|
140
145
|
return await browser.chromiumToken({ track, waitMs: BROWSER_WAIT_MS });
|
|
141
146
|
}
|
|
147
|
+
const qr = loginQr({
|
|
148
|
+
...(qrFile === undefined ? {} : { qrFile }),
|
|
149
|
+
diagnostic: streams.diagnostic,
|
|
150
|
+
note: renderer.note,
|
|
151
|
+
columns: () => columns,
|
|
152
|
+
});
|
|
153
|
+
// A cut command never reaches its own finally in time; the image logs the account in while it is valid.
|
|
154
|
+
if (qr.path)
|
|
155
|
+
track({ close: async () => qr.close() });
|
|
142
156
|
const client = createClient({ events }, { own: true });
|
|
143
|
-
let page;
|
|
144
157
|
try {
|
|
145
158
|
return await client.login.byQr({
|
|
146
159
|
show: async (link) => {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
track(page);
|
|
156
|
-
await browser.open(page.url);
|
|
157
|
-
renderer.note("the terminal is too narrow for the QR code, so it is open in your browser — scan it there");
|
|
160
|
+
qr.show(link, "scan in the MAX app on your phone");
|
|
161
|
+
},
|
|
162
|
+
askPassword: (hint, again) => {
|
|
163
|
+
if (!interactive)
|
|
164
|
+
throw new CliError("validation_error", `\`max ${asFirstWord(store.profile)}session start qr\` needs a terminal to ask for the MAX password`);
|
|
165
|
+
return ask(`${again ? "wrong password, try again" : "MAX password"}${hint ? ` (hint: ${hint})` : ""}: `, {
|
|
166
|
+
secret: true,
|
|
167
|
+
});
|
|
158
168
|
},
|
|
159
|
-
askPassword: (hint, again) => ask(`${again ? "wrong password, try again" : "MAX password"}${hint ? ` (hint: ${hint})` : ""}: `, {
|
|
160
|
-
secret: true,
|
|
161
|
-
}),
|
|
162
169
|
});
|
|
163
170
|
}
|
|
164
171
|
finally {
|
|
165
|
-
|
|
172
|
+
qr.close();
|
|
166
173
|
await client.close();
|
|
167
174
|
}
|
|
168
175
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA0E3C,eAAO,MAAM,YAAY,QAAO,OA2I1B,CAAA"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -3,6 +3,7 @@ import { CliError, indent, renderPretty, resolvePaths } from "@wirecat/cli-base"
|
|
|
3
3
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
4
4
|
import { installSkill } from "@wirecat/cli-base/skill";
|
|
5
5
|
import { stepOf } from "@wirecat/cli-base/standards";
|
|
6
|
+
import { qrNeedsTerminal } from "@wirecat/cli-core";
|
|
6
7
|
import { itemOf, logsInOrOut, REMOTE_WRITE, renderAnswer, runtime, snakeKeys } from "@wirecat/cli-core/cli";
|
|
7
8
|
import { Command, Option } from "commander";
|
|
8
9
|
import { maskedProfile } from "../domain/map.js";
|
|
@@ -78,10 +79,12 @@ export const setupCommand = () => logsInOrOut(annotate(new Command("setup"), { e
|
|
|
78
79
|
" max personal setup --method qr-chrome Log in through web.max.ru in Chromium\n" +
|
|
79
80
|
" max personal setup --method sms Enter your phone number in that browser\n" +
|
|
80
81
|
" max personal setup --method token Import a token at a hidden prompt or from stdin\n" +
|
|
82
|
+
" max personal setup --qr-file login.png --json Write the QR as a PNG for an agent to pass on\n" +
|
|
81
83
|
"\nThe first word names the profile; any name works, and every later command repeats it.\n" +
|
|
82
84
|
"\nAllow about 5 minutes. Scan the QR with MAX on your phone.\n" +
|
|
83
85
|
"Keep tokens and passwords in the local terminal, never in command arguments.\n" +
|
|
84
|
-
"Agents: read `max skill show` before login.
|
|
86
|
+
"Agents: read `max skill show` before login. --qr-file works without a terminal; qr-chrome and sms\n" +
|
|
87
|
+
"need a local terminal.\n" +
|
|
85
88
|
"Existing sessions are checked without another login. Machine mode skips agent installation\n" +
|
|
86
89
|
"unless --agent is given. Bot accounts use `max <profile> bot auth set` separately.\n" +
|
|
87
90
|
"\nSetup checks five chats. Choose a chat and how much history to fetch before:\n" +
|
|
@@ -93,6 +96,7 @@ export const setupCommand = () => logsInOrOut(annotate(new Command("setup"), { e
|
|
|
93
96
|
.addOption(new Option("--method <method>", "how to log in when there is no session")
|
|
94
97
|
.choices(["token", "qr", "qr-chrome", "sms"])
|
|
95
98
|
.default("qr"))
|
|
99
|
+
.option("--qr-file <png>", "write a temporary QR image for an agent to pass on; works without a terminal")
|
|
96
100
|
.action(async function () {
|
|
97
101
|
const context = forCommand(this);
|
|
98
102
|
const { settings, store } = context;
|
|
@@ -103,8 +107,14 @@ export const setupCommand = () => logsInOrOut(annotate(new Command("setup"), { e
|
|
|
103
107
|
if (store.isBot())
|
|
104
108
|
throw new CliError("validation_error", `this is a bot profile — use max ${asFirstWord(settings.profile)}bot auth set; setup is for your personal account`);
|
|
105
109
|
const reused = store.readToken() !== undefined;
|
|
106
|
-
if (
|
|
107
|
-
throw new CliError("validation_error", "
|
|
110
|
+
if (options.qrFile !== undefined && options.method !== "qr")
|
|
111
|
+
throw new CliError("validation_error", "--qr-file is for a QR login", { param: "--qr-file" });
|
|
112
|
+
if (!reused && !store.hasLoggedIn() && !context.interactive) {
|
|
113
|
+
if (options.method === "qr" && options.qrFile === undefined)
|
|
114
|
+
throw qrNeedsTerminal(`max ${asFirstWord(settings.profile)}setup`);
|
|
115
|
+
if (options.method === "qr-chrome" || options.method === "sms")
|
|
116
|
+
throw new CliError("validation_error", "max setup needs a local terminal for a browser login — run it locally, or import a token with --method token");
|
|
117
|
+
}
|
|
108
118
|
const prefix = `max ${asFirstWord(settings.profile)}`;
|
|
109
119
|
const runner = installer(environmentOf(this).update) === "npx"
|
|
110
120
|
? `npm${process.platform === "win32" ? ".cmd" : ""} exec --yes --package=@wirecat/max-cli -- ${prefix}`
|
|
@@ -121,13 +131,12 @@ export const setupCommand = () => logsInOrOut(annotate(new Command("setup"), { e
|
|
|
121
131
|
screen.detail("✓ local directories ready");
|
|
122
132
|
if (process.platform === "win32")
|
|
123
133
|
screen.detail("Windows: use max.cmd or npm.cmd if PowerShell blocks scripts. Open a new terminal after installing Node.js.");
|
|
134
|
+
screen.step(2, "Link this device");
|
|
124
135
|
if (reused || store.hasLoggedIn()) {
|
|
125
|
-
screen.step(2, "Log in");
|
|
126
136
|
screen.detail("✓ existing session, no new login");
|
|
127
137
|
}
|
|
128
138
|
else {
|
|
129
|
-
|
|
130
|
-
const login = await startSession(underStep(context, screen), options.method, events);
|
|
139
|
+
const login = await startSession(underStep(context, screen), options.method, events, options.qrFile);
|
|
131
140
|
if (login.firstLogin)
|
|
132
141
|
screen.detail(TERMS_NOTICE);
|
|
133
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,6 @@ import type { Closeable } from "../deadline.js";
|
|
|
5
5
|
* the owner's desktop — the real ones refuse inside the test sandbox.
|
|
6
6
|
*/
|
|
7
7
|
export interface BrowserDoors {
|
|
8
|
-
/** Shows a page in whatever browser the system opens links with. */
|
|
9
|
-
open: (url: string) => Promise<void>;
|
|
10
8
|
/** Opens web.max.ru in a Chromium-family browser and waits for the page to be logged in. */
|
|
11
9
|
chromiumToken: (options: {
|
|
12
10
|
track: (closeable: Closeable) => void;
|
|
@@ -14,15 +12,6 @@ export interface BrowserDoors {
|
|
|
14
12
|
}) => Promise<string>;
|
|
15
13
|
}
|
|
16
14
|
export declare const realBrowser: BrowserDoors;
|
|
17
|
-
/**
|
|
18
|
-
* The QR page, served from `127.0.0.1` rather than written to a file: a browser installed as a
|
|
19
|
-
* snap cannot read our temporary directory, and a file would leave the link on disk. The path is
|
|
20
|
-
* random, so another local user guessing the port finds nothing.
|
|
21
|
-
*/
|
|
22
|
-
export declare const serveQrPage: (link: string) => Promise<{
|
|
23
|
-
url: string;
|
|
24
|
-
} & Closeable>;
|
|
25
|
-
export declare const openUrl: (url: string) => Promise<void>;
|
|
26
15
|
/**
|
|
27
16
|
* Chrome, Chromium, Edge or Brave — any browser that speaks the DevTools protocol. `MAX_BROWSER`
|
|
28
17
|
* names another. A snap build is skipped: it keeps its own `/tmp`, so the profile we hand it would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/session/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/session/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAA;AAO7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACvG;AAED,eAAO,MAAM,WAAW,EAAE,YAEzB,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,SA0CxC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,uBAG3B;IACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC,MAAM,CA4BjB,CAAA;AAED,qBAAa,eAAgB,YAAW,SAAS;;IAU/C,YAAY,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,SAAQ,EAAE,MAAM,SAAQ,EAUhF;IAEK,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAclD;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrB;CAuCF;AAuED;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,MAAM,KAAG,MAAM,GAAG,SAWjD,CAAA"}
|
package/dist/session/browser.js
CHANGED
|
@@ -1,77 +1,14 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { randomBytes } from "node:crypto";
|
|
3
2
|
import { existsSync, mkdtempSync, realpathSync, rmSync } from "node:fs";
|
|
4
|
-
import { createServer } from "node:http";
|
|
5
3
|
import { tmpdir } from "node:os";
|
|
6
4
|
import { delimiter, join } from "node:path";
|
|
7
5
|
import { setTimeout as delay } from "node:timers/promises";
|
|
8
6
|
import { CliError } from "@wirecat/cli-base";
|
|
9
|
-
import qrcode from "qrcode-generator";
|
|
10
7
|
export const realBrowser = {
|
|
11
|
-
open: (url) => openUrl(url),
|
|
12
8
|
chromiumToken: (options) => tokenFromChromium(options),
|
|
13
9
|
};
|
|
14
10
|
const WEB_MAX = "https://web.max.ru/";
|
|
15
11
|
const AUTH_KEY = "__oneme_auth";
|
|
16
|
-
/**
|
|
17
|
-
* The QR page, served from `127.0.0.1` rather than written to a file: a browser installed as a
|
|
18
|
-
* snap cannot read our temporary directory, and a file would leave the link on disk. The path is
|
|
19
|
-
* random, so another local user guessing the port finds nothing.
|
|
20
|
-
*/
|
|
21
|
-
export const serveQrPage = async (link) => {
|
|
22
|
-
const path = `/${randomBytes(16).toString("hex")}`;
|
|
23
|
-
const code = qrcode(0, "M");
|
|
24
|
-
code.addData(link);
|
|
25
|
-
code.make();
|
|
26
|
-
const page = qrHtml(code.createSvgTag({ cellSize: 8, margin: 4, scalable: true }));
|
|
27
|
-
const server = createServer((request, response) => {
|
|
28
|
-
if (request.url !== path) {
|
|
29
|
-
response.writeHead(404).end();
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
response
|
|
33
|
-
.writeHead(200, {
|
|
34
|
-
"content-type": "text/html; charset=utf-8",
|
|
35
|
-
"cache-control": "no-store",
|
|
36
|
-
"referrer-policy": "no-referrer",
|
|
37
|
-
})
|
|
38
|
-
.end(page);
|
|
39
|
-
});
|
|
40
|
-
await new Promise((resolve, reject) => {
|
|
41
|
-
server.once("error", reject);
|
|
42
|
-
server.listen(0, "127.0.0.1", resolve);
|
|
43
|
-
});
|
|
44
|
-
const { port } = server.address();
|
|
45
|
-
return {
|
|
46
|
-
url: `http://127.0.0.1:${port}${path}`,
|
|
47
|
-
close: () => new Promise((resolve) => {
|
|
48
|
-
server.closeAllConnections();
|
|
49
|
-
server.close(() => resolve());
|
|
50
|
-
}),
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
const qrHtml = (svg) => `<!doctype html>
|
|
54
|
-
<html lang="ru"><head><meta charset="utf-8"><title>MAX — вход</title>
|
|
55
|
-
<style>body{font-family:system-ui,sans-serif;display:grid;place-items:center;min-height:100vh;margin:0;background:#fff;color:#111}
|
|
56
|
-
main{text-align:center;max-width:22rem}svg{width:18rem;height:18rem}</style></head>
|
|
57
|
-
<body><main>${svg}<p>Отсканируйте код приложением MAX на телефоне. Код действует около двух минут.</p>
|
|
58
|
-
<p>После входа эту вкладку можно закрыть.</p></main></body></html>`;
|
|
59
|
-
export const openUrl = async (url) => {
|
|
60
|
-
refuseInTests();
|
|
61
|
-
const [command, args] = process.platform === "darwin"
|
|
62
|
-
? ["open", [url]]
|
|
63
|
-
: process.platform === "win32"
|
|
64
|
-
? ["cmd", ["/c", "start", "", url]]
|
|
65
|
-
: ["xdg-open", [url]];
|
|
66
|
-
await new Promise((resolve, reject) => {
|
|
67
|
-
const child = spawn(command, args, { stdio: "ignore", detached: true, windowsHide: true });
|
|
68
|
-
child.once("error", () => reject(new CliError("configuration_error", "no browser could be opened here — use `session start token`")));
|
|
69
|
-
child.once("spawn", () => {
|
|
70
|
-
child.unref();
|
|
71
|
-
resolve();
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
12
|
/**
|
|
76
13
|
* Chrome, Chromium, Edge or Brave — any browser that speaks the DevTools protocol. `MAX_BROWSER`
|
|
77
14
|
* names another. A snap build is skipped: it keeps its own `/tmp`, so the profile we hand it would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/session/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/session/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.64.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.
|
|
1
|
+
export const VERSION = "0.64.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/max-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"description": "MAX Messenger bots through the official Bot API, and a personal MAX account, from the terminal — built for agents and scripts",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
@@ -104,12 +104,11 @@
|
|
|
104
104
|
"@modelcontextprotocol/server": "2.1.0",
|
|
105
105
|
"@msgpack/msgpack": "3.1.3",
|
|
106
106
|
"@valibot/to-json-schema": "1.8.0",
|
|
107
|
-
"@wirecat/cli-base": "0.
|
|
108
|
-
"@wirecat/cli-core": "0.
|
|
107
|
+
"@wirecat/cli-base": "0.47.0",
|
|
108
|
+
"@wirecat/cli-core": "0.350.0",
|
|
109
109
|
"commander": "15.0.0",
|
|
110
110
|
"lossless-json": "4.3.1",
|
|
111
111
|
"ogg-opus-decoder": "1.7.5",
|
|
112
|
-
"qrcode-generator": "2.0.4",
|
|
113
112
|
"sherpa-onnx": "1.13.8",
|
|
114
113
|
"string-width": "8.3.0",
|
|
115
114
|
"valibot": "1.5.0",
|
package/skills/max-cli/SKILL.md
CHANGED
|
@@ -47,6 +47,8 @@ MCP: сначала `max_tools_search`, затем `max_read` или `max_write`
|
|
|
47
47
|
Предупредите: настройка может занять около пяти минут. QR сканирует владелец приложением MAX;
|
|
48
48
|
`--method qr-chrome` и `sms` используют web.max.ru в браузере, `--method token` — скрытый ввод
|
|
49
49
|
или stdin. Токен и пароль не запрашивайте в чате и не передавайте аргументами команды.
|
|
50
|
+
Без терминала: `max personal setup --qr-file login.png --agent codex --json` пишет QR-код в PNG;
|
|
51
|
+
покажите картинку владельцу. Файл удаляется после входа; облачный пароль MAX так не ввести.
|
|
50
52
|
Повторный setup проверяет существующую сессию без нового входа. Если ключница недоступна,
|
|
51
53
|
исправьте окружение по подсказке, не создавайте новую сессию. При истёкшем токене владелец
|
|
52
54
|
явно запускает `max personal session start qr`.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A QR code as text, two modules per character cell with half blocks, so it fits a terminal
|
|
3
|
-
* without being twice as tall as it is wide. `width` is in columns, for deciding whether it fits.
|
|
4
|
-
*/
|
|
5
|
-
export declare const terminalQr: (link: string) => {
|
|
6
|
-
text: string;
|
|
7
|
-
width: number;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=qr-terminal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qr-terminal.d.ts","sourceRoot":"","sources":["../../src/session/qr-terminal.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAwBtE,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import qrcode from "qrcode-generator";
|
|
2
|
-
const QUIET_ZONE = 4;
|
|
3
|
-
// Dark modules on a light ground whatever the terminal's theme: a phone camera reads an inverted
|
|
4
|
-
// code unreliably, so the colours are forced even under NO_COLOR.
|
|
5
|
-
const BLACK_ON_WHITE = "\x1b[30;107m";
|
|
6
|
-
const RESET = "\x1b[0m";
|
|
7
|
-
/**
|
|
8
|
-
* A QR code as text, two modules per character cell with half blocks, so it fits a terminal
|
|
9
|
-
* without being twice as tall as it is wide. `width` is in columns, for deciding whether it fits.
|
|
10
|
-
*/
|
|
11
|
-
export const terminalQr = (link) => {
|
|
12
|
-
const code = qrcode(0, "M");
|
|
13
|
-
code.addData(link);
|
|
14
|
-
code.make();
|
|
15
|
-
const count = code.getModuleCount();
|
|
16
|
-
const size = count + QUIET_ZONE * 2;
|
|
17
|
-
const dark = (row, col) => {
|
|
18
|
-
const r = row - QUIET_ZONE;
|
|
19
|
-
const c = col - QUIET_ZONE;
|
|
20
|
-
return r >= 0 && c >= 0 && r < count && c < count && code.isDark(r, c);
|
|
21
|
-
};
|
|
22
|
-
const lines = [];
|
|
23
|
-
for (let row = 0; row < size; row += 2) {
|
|
24
|
-
let line = "";
|
|
25
|
-
for (let col = 0; col < size; col++) {
|
|
26
|
-
const top = dark(row, col);
|
|
27
|
-
const bottom = row + 1 < size && dark(row + 1, col);
|
|
28
|
-
line += top && bottom ? "█" : top ? "▀" : bottom ? "▄" : " ";
|
|
29
|
-
}
|
|
30
|
-
lines.push(`${BLACK_ON_WHITE}${line}${RESET}`);
|
|
31
|
-
}
|
|
32
|
-
return { text: lines.join("\n"), width: size };
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=qr-terminal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qr-terminal.js","sourceRoot":"","sources":["../../src/session/qr-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAA;AAErC,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,iGAAiG;AACjG,kEAAkE;AAClE,MAAM,cAAc,GAAG,cAAc,CAAA;AACrC,MAAM,KAAK,GAAG,SAAS,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAmC,EAAE;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,IAAI,CAAC,IAAI,EAAE,CAAA;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,GAAG,GAAG,UAAU,CAAA;QAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,UAAU,CAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,CAAC,CAAA;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC1B,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACnD,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAC9D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAChD,CAAC,CAAA"}
|