@leemour/max-cli 0.10.0 → 0.11.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/README.md +24 -3
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +10 -4
- package/dist/cache/index.js.map +1 -1
- package/dist/client.d.ts +35 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +178 -44
- package/dist/client.js.map +1 -1
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +6 -2
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +6 -5
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/chats.js +2 -2
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/complete.d.ts.map +1 -1
- package/dist/commands/complete.js +28 -22
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts +4 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +6 -14
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.js +51 -39
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/mcp.js +3 -3
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +6 -4
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +29 -23
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/recipients.d.ts.map +1 -1
- package/dist/commands/recipients.js +25 -17
- package/dist/commands/recipients.js.map +1 -1
- package/dist/commands/sends.d.ts.map +1 -1
- package/dist/commands/sends.js +8 -6
- package/dist/commands/sends.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +43 -35
- package/dist/commands/server.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +6 -10
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/watch.d.ts +17 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +73 -38
- package/dist/commands/watch.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -2
- package/dist/config.js.map +1 -1
- package/dist/diagnose.d.ts +4 -3
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +4 -4
- package/dist/diagnose.js.map +1 -1
- package/dist/domain/models.d.ts +20 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/download.d.ts +22 -3
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +133 -27
- package/dist/download.js.map +1 -1
- package/dist/export.d.ts +3 -0
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +13 -9
- package/dist/export.js.map +1 -1
- package/dist/generated/client.generated.d.ts +9 -0
- package/dist/generated/client.generated.d.ts.map +1 -1
- package/dist/generated/client.generated.js +9 -0
- package/dist/generated/client.generated.js.map +1 -1
- package/dist/generated/opcodes.generated.d.ts +3 -0
- package/dist/generated/opcodes.generated.d.ts.map +1 -1
- package/dist/generated/opcodes.generated.js +3 -0
- package/dist/generated/opcodes.generated.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +20 -0
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/generated/operations.generated.js +6 -0
- package/dist/generated/operations.generated.js.map +1 -1
- package/dist/mcp/confirm.d.ts +17 -9
- package/dist/mcp/confirm.d.ts.map +1 -1
- package/dist/mcp/confirm.js +53 -29
- package/dist/mcp/confirm.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +9 -4
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +24 -2
- package/dist/output.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +51 -5
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts +2 -0
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +27 -5
- package/dist/protocol/connection.js.map +1 -1
- package/dist/protocol/frame.d.ts +2 -0
- package/dist/protocol/frame.d.ts.map +1 -1
- package/dist/protocol/frame.js +3 -1
- package/dist/protocol/frame.js.map +1 -1
- package/dist/protocol/lz4.js +8 -5
- package/dist/protocol/lz4.js.map +1 -1
- package/dist/rendering/messages.js +9 -10
- package/dist/rendering/messages.js.map +1 -1
- package/dist/report.d.ts +10 -6
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +45 -11
- package/dist/report.js.map +1 -1
- package/dist/resolve.d.ts +4 -3
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +9 -10
- package/dist/resolve.js.map +1 -1
- package/dist/runs/recording.d.ts +1 -0
- package/dist/runs/recording.d.ts.map +1 -1
- package/dist/runs/recording.js +13 -0
- package/dist/runs/recording.js.map +1 -1
- package/dist/sends/guard.d.ts +35 -4
- package/dist/sends/guard.d.ts.map +1 -1
- package/dist/sends/guard.js +128 -28
- package/dist/sends/guard.js.map +1 -1
- package/dist/sends/journal.d.ts +17 -3
- package/dist/sends/journal.d.ts.map +1 -1
- package/dist/sends/journal.js +62 -2
- package/dist/sends/journal.js.map +1 -1
- package/dist/sends/recipients.d.ts +3 -1
- package/dist/sends/recipients.d.ts.map +1 -1
- package/dist/sends/recipients.js +7 -2
- package/dist/sends/recipients.js.map +1 -1
- package/dist/server/lines.d.ts +8 -2
- package/dist/server/lines.d.ts.map +1 -1
- package/dist/server/lines.js +13 -2
- package/dist/server/lines.js.map +1 -1
- package/dist/server/server-connection.d.ts +9 -6
- package/dist/server/server-connection.d.ts.map +1 -1
- package/dist/server/server-connection.js +16 -7
- package/dist/server/server-connection.js.map +1 -1
- package/dist/server/server.d.ts +11 -4
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +116 -14
- package/dist/server/server.js.map +1 -1
- package/dist/server/start.d.ts +2 -0
- package/dist/server/start.d.ts.map +1 -1
- package/dist/server/start.js +6 -1
- package/dist/server/start.js.map +1 -1
- package/dist/session/handshake.d.ts +12 -1
- package/dist/session/handshake.d.ts.map +1 -1
- package/dist/session/handshake.js +4 -2
- package/dist/session/handshake.js.map +1 -1
- package/dist/session/prompt.d.ts.map +1 -1
- package/dist/session/prompt.js +7 -1
- package/dist/session/prompt.js.map +1 -1
- package/dist/session/store.d.ts +3 -1
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +5 -1
- package/dist/session/store.js.map +1 -1
- package/dist/spec/define.d.ts +12 -0
- package/dist/spec/define.d.ts.map +1 -1
- package/dist/spec/define.js.map +1 -1
- package/dist/spec/guards.d.ts +16 -0
- package/dist/spec/guards.d.ts.map +1 -0
- package/dist/spec/guards.js +30 -0
- package/dist/spec/guards.js.map +1 -0
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +6 -0
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/operations/account.d.ts.map +1 -1
- package/dist/spec/operations/account.js +3 -0
- package/dist/spec/operations/account.js.map +1 -1
- package/dist/spec/operations/assets.d.ts +10 -0
- package/dist/spec/operations/assets.d.ts.map +1 -0
- package/dist/spec/operations/assets.js +20 -0
- package/dist/spec/operations/assets.js.map +1 -0
- package/dist/spec/operations/attachments.d.ts.map +1 -1
- package/dist/spec/operations/attachments.js +2 -0
- package/dist/spec/operations/attachments.js.map +1 -1
- package/dist/spec/operations/banners.d.ts +7 -0
- package/dist/spec/operations/banners.d.ts.map +1 -0
- package/dist/spec/operations/banners.js +16 -0
- package/dist/spec/operations/banners.js.map +1 -0
- package/dist/spec/operations/calls.d.ts +8 -0
- package/dist/spec/operations/calls.d.ts.map +1 -0
- package/dist/spec/operations/calls.js +18 -0
- package/dist/spec/operations/calls.js.map +1 -0
- package/dist/spec/operations/chats.d.ts.map +1 -1
- package/dist/spec/operations/chats.js +46 -0
- package/dist/spec/operations/chats.js.map +1 -1
- package/dist/spec/operations/contacts.d.ts.map +1 -1
- package/dist/spec/operations/contacts.js +8 -0
- package/dist/spec/operations/contacts.js.map +1 -1
- package/dist/spec/operations/folders.d.ts.map +1 -1
- package/dist/spec/operations/folders.js +5 -0
- package/dist/spec/operations/folders.js.map +1 -1
- package/dist/spec/operations/login.d.ts.map +1 -1
- package/dist/spec/operations/login.js +6 -0
- package/dist/spec/operations/login.js.map +1 -1
- package/dist/spec/operations/messages.d.ts.map +1 -1
- package/dist/spec/operations/messages.js +50 -0
- package/dist/spec/operations/messages.js.map +1 -1
- package/dist/spec/operations/session.d.ts +5 -1
- package/dist/spec/operations/session.d.ts.map +1 -1
- package/dist/spec/operations/session.js +9 -1
- package/dist/spec/operations/session.js.map +1 -1
- package/dist/spec/operations/uploads.d.ts.map +1 -1
- package/dist/spec/operations/uploads.js +2 -0
- package/dist/spec/operations/uploads.js.map +1 -1
- package/dist/transcribe/index.d.ts.map +1 -1
- package/dist/transcribe/index.js +4 -1
- package/dist/transcribe/index.js.map +1 -1
- package/dist/transcribe/install.d.ts +3 -1
- package/dist/transcribe/install.d.ts.map +1 -1
- package/dist/transcribe/install.js +24 -1
- package/dist/transcribe/install.js.map +1 -1
- package/dist/upload.d.ts +3 -1
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +34 -4
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -11
- package/skills/max-cli/SKILL.md +6 -2
- package/dist/testing/mock-max.d.ts +0 -49
- package/dist/testing/mock-max.d.ts.map +0 -1
- package/dist/testing/mock-max.js +0 -80
- package/dist/testing/mock-max.js.map +0 -1
- package/dist/testing/sandbox.d.ts +0 -2
- package/dist/testing/sandbox.d.ts.map +0 -1
- package/dist/testing/sandbox.js +0 -36
- package/dist/testing/sandbox.js.map +0 -1
- package/dist/testing/unscripted.d.ts +0 -2
- package/dist/testing/unscripted.d.ts.map +0 -1
- package/dist/testing/unscripted.js +0 -18
- package/dist/testing/unscripted.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../src/server/server-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../src/server/server-connection.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { CacheStore } from "../cache/store.js";
|
|
2
2
|
import { type MaxClientOptions } from "../client.js";
|
|
3
|
-
import type { MessageHit } from "../domain/models.js";
|
|
3
|
+
import type { MessageChange, MessageHit } from "../domain/models.js";
|
|
4
4
|
import { Connection, type ConnectionOptions } from "../protocol/connection.js";
|
|
5
|
+
import { type SendGuard } from "../sends/guard.js";
|
|
5
6
|
import type { SessionStore } from "../session/store.js";
|
|
6
7
|
export type ServerEvent = {
|
|
7
8
|
event: "message";
|
|
8
9
|
message: MessageHit;
|
|
10
|
+
} | {
|
|
11
|
+
event: "change";
|
|
12
|
+
change: MessageChange;
|
|
9
13
|
} | {
|
|
10
14
|
event: "status";
|
|
11
15
|
connected: boolean;
|
|
@@ -20,7 +24,7 @@ export interface MaxServerOptions {
|
|
|
20
24
|
/** One line for a person, on stderr. */
|
|
21
25
|
note: (line: string) => void;
|
|
22
26
|
/** Tests hand in a scripted MAX; the hooks must reach it. */
|
|
23
|
-
connection?: (hooks: Pick<ConnectionOptions, "onEvent" | "onClose">) => Connection;
|
|
27
|
+
connection?: (hooks: Pick<ConnectionOptions, "onEvent" | "onClose" | "onError">) => Connection;
|
|
24
28
|
pingEveryMs?: number;
|
|
25
29
|
telemetryAfterMs?: number;
|
|
26
30
|
/** The least time between two background logins after the snapshot went stale. */
|
|
@@ -38,6 +42,8 @@ export interface MaxServerOptions {
|
|
|
38
42
|
idleMs?: number;
|
|
39
43
|
/** One event per request, for `--trace` and the run log — pings included. */
|
|
40
44
|
events?: MaxClientOptions["events"];
|
|
45
|
+
/** Tests hand in their own; otherwise built from the profile's configuration for every write. */
|
|
46
|
+
guard?: () => SendGuard;
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
43
49
|
* **One logged-in connection per profile, kept open** (`MAX-16`), and a Unix socket beside the
|
|
@@ -50,8 +56,9 @@ export interface MaxServerOptions {
|
|
|
50
56
|
* The socket answers `{"subscribe": true}` with a stream of `ServerEvent` lines and
|
|
51
57
|
* `{"status": true}` with one. For a command reusing the connection (`ServerConnection`) it answers
|
|
52
58
|
* `{"id", "login": true}` with the login it holds, and `{"id", "opcode", "payload"}` by passing the
|
|
53
|
-
* request to MAX —
|
|
54
|
-
*
|
|
59
|
+
* request to MAX — sends included (`NEED-229`). **Every write goes through the send guard here**,
|
|
60
|
+
* and is journaled here (`NEED-269`): anything of the owner's can write to this socket, not only a
|
|
61
|
+
* command that checked first. An operation the specification does not declare is not passed on.
|
|
55
62
|
*/
|
|
56
63
|
export declare class MaxServer {
|
|
57
64
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAA6B,KAAK,gBAAgB,EAAiC,MAAM,cAAc,CAAA;AAE9G,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAiB,MAAM,2BAA2B,CAAA;AAE7F,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAOvD,MAAM,MAAM,WAAW,GACnB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACzC;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,KAAK,UAAU,CAAA;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,SAAS,CAAA;CACxB;AAuBD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;;IA4BpB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B,YAAY,OAAO,EAAE,gBAAgB,EAQpC;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,2FAA2F;IACrF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0B3B;IAEK,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvC;CAmUF;AAsBD,8GAA8G;AAC9G;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,OAE+D,CAAA;AAI7G,mGAAmG;AACnG,eAAO,MAAM,YAAY,UAAW,YAAY,KAAG,MAA0C,CAAA;AAE7F,yFAAyF;AACzF,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAQlD,CAAA"}
|
package/dist/server/server.js
CHANGED
|
@@ -2,12 +2,17 @@ import { chmodSync, mkdirSync, rmSync } from "node:fs";
|
|
|
2
2
|
import { connect, createServer } from "node:net";
|
|
3
3
|
import { dirname } from "node:path";
|
|
4
4
|
import { CliError } from "@leemour/cli-core";
|
|
5
|
-
import
|
|
5
|
+
import * as v from "valibot";
|
|
6
|
+
import { FIRST_TAB_SYNC, MaxClient } from "../client.js";
|
|
7
|
+
import { resolveSettings } from "../config.js";
|
|
6
8
|
import { Opcode } from "../generated/opcodes.generated.js";
|
|
7
9
|
import { Connection, ProtocolError } from "../protocol/connection.js";
|
|
10
|
+
import { asId } from "../protocol/frame.js";
|
|
11
|
+
import { guardFor } from "../sends/guard.js";
|
|
12
|
+
import { objectOf } from "../spec/guards.js";
|
|
8
13
|
import { VERSION } from "../version.js";
|
|
9
14
|
import { fromLine, lineReader, toLine } from "./lines.js";
|
|
10
|
-
import {
|
|
15
|
+
import { forwardedOperation, stopServer } from "./server-connection.js";
|
|
11
16
|
/** The web client's keep-alive interval (web.max.ru bundle, 2026-09-24). A different one is a fingerprint. */
|
|
12
17
|
const PING_EVERY_MS = 30_000;
|
|
13
18
|
/**
|
|
@@ -19,6 +24,8 @@ const TELEMETRY_AFTER_MS = 20_000;
|
|
|
19
24
|
const CHAT_LIST_SHOWN_AFTER_MS = 500;
|
|
20
25
|
/** A message arrived — what MAX pushes, and what a send through this server is handed on as. */
|
|
21
26
|
const NEW_MESSAGE = 128;
|
|
27
|
+
/** A request is a command's payload; a message with its markup is a few kilobytes. */
|
|
28
|
+
const MAX_REQUEST_LENGTH = 1024 * 1024;
|
|
22
29
|
/** A login MAX counts; after one, the next background login waits at least this long. */
|
|
23
30
|
const REFRESH_EVERY_MS = 60_000;
|
|
24
31
|
/**
|
|
@@ -32,8 +39,9 @@ const REFRESH_EVERY_MS = 60_000;
|
|
|
32
39
|
* The socket answers `{"subscribe": true}` with a stream of `ServerEvent` lines and
|
|
33
40
|
* `{"status": true}` with one. For a command reusing the connection (`ServerConnection`) it answers
|
|
34
41
|
* `{"id", "login": true}` with the login it holds, and `{"id", "opcode", "payload"}` by passing the
|
|
35
|
-
* request to MAX —
|
|
36
|
-
*
|
|
42
|
+
* request to MAX — sends included (`NEED-229`). **Every write goes through the send guard here**,
|
|
43
|
+
* and is journaled here (`NEED-269`): anything of the owner's can write to this socket, not only a
|
|
44
|
+
* command that checked first. An operation the specification does not declare is not passed on.
|
|
37
45
|
*/
|
|
38
46
|
export class MaxServer {
|
|
39
47
|
#options;
|
|
@@ -57,6 +65,11 @@ export class MaxServer {
|
|
|
57
65
|
#startedAt = new Date().toISOString();
|
|
58
66
|
#idle;
|
|
59
67
|
#telemetry;
|
|
68
|
+
/** What the last reads after login answered, sent back on the next login as the tab does (`MAX-52`). */
|
|
69
|
+
#tabSync = FIRST_TAB_SYNC;
|
|
70
|
+
/** The last connection's login, kept past a drop so the next login resumes it (`MAX-51`). */
|
|
71
|
+
#resume;
|
|
72
|
+
#handing = Promise.resolve();
|
|
60
73
|
#finish;
|
|
61
74
|
/** Settles when the server stops — cleanly, or with the error that stopped it. */
|
|
62
75
|
done;
|
|
@@ -144,11 +157,14 @@ export class MaxServer {
|
|
|
144
157
|
if (mine && mine === this.#client)
|
|
145
158
|
this.#lost(error);
|
|
146
159
|
},
|
|
160
|
+
onError: (error) => this.#options.note(`a pushed frame was dropped: ${error.message}`),
|
|
147
161
|
});
|
|
162
|
+
const resume = this.#client?.live.resumeFrom() ?? this.#resume;
|
|
148
163
|
const client = new MaxClient({
|
|
149
164
|
store,
|
|
150
165
|
connection,
|
|
151
166
|
fullLogin: true,
|
|
167
|
+
...(resume ? { resume } : {}),
|
|
152
168
|
warn: this.#options.note,
|
|
153
169
|
...(cache ? { cache } : {}),
|
|
154
170
|
...(events ? { events } : {}),
|
|
@@ -177,6 +193,12 @@ export class MaxServer {
|
|
|
177
193
|
this.#broadcast({ event: "status", connected: true, at: new Date().toISOString() });
|
|
178
194
|
for (const [opcode, payload] of early)
|
|
179
195
|
this.#pushed(client, opcode, payload);
|
|
196
|
+
client.live
|
|
197
|
+
.readLikeTab(this.#tabSync)
|
|
198
|
+
.then((next) => {
|
|
199
|
+
this.#tabSync = next;
|
|
200
|
+
})
|
|
201
|
+
.catch((error) => this.#options.note(`the reads after login were not all answered: ${error.message}`));
|
|
180
202
|
}
|
|
181
203
|
/** Once per server, never again after a reconnect: the tab it copies keeps its session too. */
|
|
182
204
|
#reportChatList(sessionId, at) {
|
|
@@ -190,10 +212,20 @@ export class MaxServer {
|
|
|
190
212
|
#pushed(client, opcode, payload) {
|
|
191
213
|
if (!client.live.patch(opcode, payload))
|
|
192
214
|
this.#goneStale();
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
215
|
+
// In arrival order: an edit waits on a name lookup, and must not reach a watcher after the deletion behind it.
|
|
216
|
+
this.#handing = this.#handing.then(async () => {
|
|
217
|
+
try {
|
|
218
|
+
const message = await client.live.message(opcode, payload);
|
|
219
|
+
if (message)
|
|
220
|
+
this.#broadcast({ event: "message", message });
|
|
221
|
+
const change = await client.live.change(opcode, payload);
|
|
222
|
+
if (change)
|
|
223
|
+
this.#broadcast({ event: "change", change });
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
this.#options.note(`a pushed message could not be read: ${error.message}`);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
197
229
|
}
|
|
198
230
|
/**
|
|
199
231
|
* The login can no longer be handed out. Rather than wait for a drop that may be hours away, log
|
|
@@ -220,6 +252,7 @@ export class MaxServer {
|
|
|
220
252
|
#lost(error) {
|
|
221
253
|
clearInterval(this.#ping);
|
|
222
254
|
const client = this.#client;
|
|
255
|
+
this.#resume = client?.live.resumeFrom();
|
|
223
256
|
this.#client = undefined;
|
|
224
257
|
this.#up = new Promise((resolve) => {
|
|
225
258
|
this.#markUp = resolve;
|
|
@@ -265,6 +298,9 @@ export class MaxServer {
|
|
|
265
298
|
// Nobody answers on it, so it is what a crashed server left behind.
|
|
266
299
|
rmSync(path, { force: true });
|
|
267
300
|
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
301
|
+
// The socket is open to everyone between `listen` and its `chmod`; only the directory keeps
|
|
302
|
+
// others out then, and `mkdirSync` leaves an existing one as it found it.
|
|
303
|
+
chmodSync(dirname(path), 0o700);
|
|
268
304
|
const listener = createServer((socket) => this.#serve(socket));
|
|
269
305
|
await new Promise((resolve, reject) => {
|
|
270
306
|
listener.once("error", reject);
|
|
@@ -283,7 +319,7 @@ export class MaxServer {
|
|
|
283
319
|
});
|
|
284
320
|
socket.on("data", lineReader((line) => {
|
|
285
321
|
this.#request(socket, line).catch(() => socket.destroy());
|
|
286
|
-
}));
|
|
322
|
+
}, { maxLength: MAX_REQUEST_LENGTH, onTooLong: () => socket.destroy() }));
|
|
287
323
|
}
|
|
288
324
|
async #request(socket, line) {
|
|
289
325
|
let request;
|
|
@@ -342,15 +378,63 @@ export class MaxServer {
|
|
|
342
378
|
async #forward(opcode, payload) {
|
|
343
379
|
await this.#up;
|
|
344
380
|
const client = this.#client;
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
};
|
|
381
|
+
const operation = forwardedOperation(opcode);
|
|
382
|
+
if (!operation) {
|
|
383
|
+
return { error: { code: "not_allowed", message: `opcode ${opcode} is not one the server passes on` } };
|
|
349
384
|
}
|
|
350
385
|
if (!client)
|
|
351
386
|
return { error: { code: "unavailable", message: "not connected" } };
|
|
387
|
+
const request = (payload ?? {});
|
|
388
|
+
// The shape the specification allows, checked here as `buildRequest` checks it in a command:
|
|
389
|
+
// an id crosses the socket as a `bigint`, and the schema reads the string it was built from.
|
|
390
|
+
if (!v.safeParse(operation.request, asStrings(request)).success) {
|
|
391
|
+
return refusal(new CliError("validation_error", `${operation.name}: not a request this version of max sends`));
|
|
392
|
+
}
|
|
393
|
+
if (!operation.guard)
|
|
394
|
+
return this.#pass(client, opcode, request);
|
|
395
|
+
let entry;
|
|
396
|
+
let guard;
|
|
397
|
+
try {
|
|
398
|
+
entry = operation.guard(request);
|
|
399
|
+
// Read again for every write, so `config set readOnly true` needs no restart.
|
|
400
|
+
guard =
|
|
401
|
+
this.#options.guard?.() ??
|
|
402
|
+
guardFor(resolveSettings({ profile: this.#options.store.profile }), this.#options.note);
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
return refusal(error);
|
|
406
|
+
}
|
|
407
|
+
try {
|
|
408
|
+
guard.check(entry);
|
|
409
|
+
}
|
|
410
|
+
catch (error) {
|
|
411
|
+
guard.record({ ...entry, outcome: "refused", errorCode: asCliError(error).code });
|
|
412
|
+
return refusal(error);
|
|
413
|
+
}
|
|
414
|
+
return this.#sendJournaled(client, opcode, request, guard, entry);
|
|
415
|
+
}
|
|
416
|
+
async #sendJournaled(client, opcode, request, guard, entry) {
|
|
417
|
+
const answer = await this.#pass(client, opcode, request);
|
|
418
|
+
const error = answer.error;
|
|
419
|
+
if (!error) {
|
|
420
|
+
const reply = objectOf(answer.payload);
|
|
421
|
+
const messageId = asId(objectOf(reply.message).id);
|
|
422
|
+
const chatId = entry.chatId ?? asId(reply.chatId) ?? asId(objectOf(reply.chat).id) ?? null;
|
|
423
|
+
guard.record({ ...entry, chatId, ...(messageId ? { messageId } : {}), outcome: "sent" });
|
|
424
|
+
}
|
|
425
|
+
else if (error.code === "refused") {
|
|
426
|
+
// MAX's "not yet" while an upload is processed: the command asks again, and that is one message.
|
|
427
|
+
if (!error.message?.includes("attachment.not.ready")) {
|
|
428
|
+
guard.record({ ...entry, outcome: "failed", errorCode: "provider_error" });
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
guard.record({ ...entry, outcome: "outcome_unknown", errorCode: "timeout" });
|
|
433
|
+
}
|
|
434
|
+
return answer;
|
|
435
|
+
}
|
|
436
|
+
async #pass(client, opcode, request) {
|
|
352
437
|
try {
|
|
353
|
-
const request = (payload ?? {});
|
|
354
438
|
const answer = await client.live.forward(opcode, request);
|
|
355
439
|
// MAX does not push a message back to the connection that sent it, and every send now comes
|
|
356
440
|
// through this one — so `max watch` would never see what `max` itself sent. The answer
|
|
@@ -372,6 +456,24 @@ export class MaxServer {
|
|
|
372
456
|
}
|
|
373
457
|
}
|
|
374
458
|
}
|
|
459
|
+
const asStrings = (value) => {
|
|
460
|
+
if (typeof value === "bigint")
|
|
461
|
+
return value.toString();
|
|
462
|
+
if (Array.isArray(value))
|
|
463
|
+
return value.map(asStrings);
|
|
464
|
+
if (typeof value === "object" && value !== null) {
|
|
465
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, asStrings(item)]));
|
|
466
|
+
}
|
|
467
|
+
return value;
|
|
468
|
+
};
|
|
469
|
+
const asCliError = (error) => error instanceof CliError
|
|
470
|
+
? error
|
|
471
|
+
: new CliError("validation_error", error instanceof Error ? error.message : String(error));
|
|
472
|
+
/** `guard` tells the command's `ServerConnection` to rethrow it as the same error, exit code included. */
|
|
473
|
+
const refusal = (error) => {
|
|
474
|
+
const { code, message, details } = asCliError(error);
|
|
475
|
+
return { error: { code, message, details, guard: true } };
|
|
476
|
+
};
|
|
375
477
|
/** 1 s, 2 s, 4 s … a minute at most — a server that hammers MAX after a drop looks like nothing MAX knows. */
|
|
376
478
|
/**
|
|
377
479
|
* **MAX answered the login and said no** — as opposed to a network that dropped or a MAX that did
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,YAAY,EAA4B,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAwD,MAAM,cAAc,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,UAAU,EAA0B,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,IAAI,EAAgB,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAkB,MAAM,mBAAmB,CAAA;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAoCvE,8GAA8G;AAC9G,MAAM,aAAa,GAAG,MAAM,CAAA;AAE5B;;;GAGG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAA;AAEjC,wFAAwF;AACxF,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAEpC,gGAAgG;AAChG,MAAM,WAAW,GAAG,GAAG,CAAA;AAEvB,sFAAsF;AACtF,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtC,yFAAyF;AACzF,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,SAAS;IACX,QAAQ,CAAkB;IAC1B,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,SAAS,CAAoB;IAC7B,OAAO,CAAuB;IAC9B,KAAK,CAA4C;IACjD,MAAM,CAA2C;IACjD,QAAQ,GAAG,CAAC,CAAA;IACZ,QAAQ,GAAG,KAAK,CAAA;IAChB,8FAA8F;IACrF,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,2DAA2D;IAClD,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,6EAA6E;IAC7E,GAAG,CAAe;IAClB,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;IAC9B,QAAQ,CAA2C;IACnD,YAAY,GAAG,CAAC,CAAA;IAChB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACZ,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,KAAK,CAA4C;IACjD,UAAU,CAA2C;IACrD,wGAAwG;IACxG,QAAQ,GAAY,cAAc,CAAA;IAClC,6FAA6F;IAC7F,OAAO,CAAwB;IAC/B,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC3C,OAAO,CAAuC;IAC9C,kFAAkF;IACzE,IAAI,CAAe;IAE5B,YAAY,OAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAA;IACnC,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,KAAK;QACT,6FAA6F;QAC7F,6EAA6E;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACjB,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAC,CAAA;QACtE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,WAAW,CACtB,GAAG,EAAE;gBACH,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBAC1F,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA;gBAClB,CAAC;YACH,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACzB,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,0FAA0F;QAC1F,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACzB,2FAA2F;QAC3F,gFAAgF;QAChF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QACzD,IAAI,IAA2B,CAAA;QAC/B,MAAM,KAAK,GAAwC,EAAE,CAAA;QACrD,MAAM,UAAU,GAAG,CACjB,IAAI,CAAC,QAAQ,CAAC,UAAU;YACxB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3F,CAAC;YACA,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,IAAI;oBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;;oBAC1D,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;YACtD,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtD,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC;SACvF,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,CAAA;QAC9D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,KAAK;YACL,UAAU;YACV,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4FAA4F;YAC5F,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAA;QAC7B,IAAI,GAAG,MAAM,CAAA;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACpC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,aAAa,CAAC,CAAA;QAC9C,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;;YAC/C,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACxF,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC5E,MAAM,CAAC,IAAI;aACR,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACtB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACjH,CAAC;IAED,+FAA+F;IAC/F,eAAe,CAAC,SAAiB,EAAE,EAAU;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACzG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE,IAAI;iBACf,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;iBAChC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC5F,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,OAAO,CAAC,MAAiB,EAAE,MAAc,EAAE,OAAgC;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,CAAA;QAC1D,+GAA+G;QAC/G,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC1D,IAAI,OAAO;oBAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACxD,IAAI,MAAM;oBAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uCAAwC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;YACvF,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,gBAAgB,CAAA;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,QAAQ,EAAE;iBACZ,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;gBACtB,IAAI,YAAY,CAAC,KAAK,CAAC;oBAAE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;oBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACrE,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3B,CAAC,CAAC,CAAA;QACN,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,eAAe,CAAC,KAAY;QAC1B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,0BAA0B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACxF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,OAAc,EAAE,EAAE;gBACvC,IAAI,YAAY,CAAC,OAAO,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;oBACxC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,UAAU,CAAC,KAAkB;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,uFAAuF;YACvF,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,OAAM;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAChC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;QAC7C,6FAA6F;QAC7F,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4CAA4C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;QACpH,CAAC;QACD,oEAAoE;QACpE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1D,4FAA4F;QAC5F,0EAA0E;QAC1E,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAE/B,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9B,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QACF,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CACP,MAAM,EACN,UAAU,CACR,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,CAAC,EACD,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CACrE,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,IAAY;QACzC,IAAI,OAAgC,CAAA;QACpC,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAA;YAC7F,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB;YACvC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAA;QACD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE1B,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,0FAA0F;YAC1F,uFAAuF;YACvF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC,CAAC,CAAA;gBACpG,OAAM;YACR,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAClC,uFAAuF;YACvF,2FAA2F;YAC3F,8FAA8F;YAC9F,MAAM,IAAI,CAAC,GAAG,CAAA;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;YAC3B,MAAM,CAAC,KAAK,CACV,MAAM,CACJ,MAAM;gBACJ,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACzC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CACrE,CACF,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,uCAAuC,EAAE,EAAE,CAAC,CAAC,CAAA;QAChH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAgB;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAA;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,MAAM,kCAAkC,EAAE,EAAE,CAAA;QACxG,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAA;QAChF,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAY,CAAA;QAC1C,6FAA6F;QAC7F,6FAA6F;QAC7F,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC,IAAI,2CAA2C,CAAC,CAAC,CAAA;QAChH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEhE,IAAI,KAAc,CAAA;QAClB,IAAI,KAAgB,CAAA;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAChC,8EAA8E;YAC9E,KAAK;gBACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE;oBACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACjF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAiB,EACjB,MAAc,EACd,OAAgB,EAChB,KAAgB,EAChB,KAAc;QAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAwD,CAAA;QAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;YAC1F,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1F,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,iGAAiG;YACjG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACrD,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAiB,EAAE,MAAc,EAAE,OAAgB;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACzD,4FAA4F;YAC5F,uFAAuF;YACvF,6FAA6F;YAC7F,MAAM,SAAS,GAAI,OAAO,CAAC,OAAuD,EAAE,iBAAiB,CAAA;YACrG,IAAI,MAAM,KAAK,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YACxF,CAAC;YACD,0FAA0F;YAC1F,IAAI,MAAM,KAAK,MAAM,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAA;YACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;YACvF,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;QAC5G,CAAC;IACH,CAAC;CACF;AAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/F,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAc,EAAY,EAAE,CAC9C,KAAK,YAAY,QAAQ;IACvB,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,IAAI,QAAQ,CAAC,kBAAkB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAE9F,0GAA0G;AAC1G,MAAM,OAAO,GAAG,CAAC,KAAc,EAA2B,EAAE;IAC1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACpD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;AAC3D,CAAC,CAAA;AAED,8GAA8G;AAC9G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CACtD,KAAK,YAAY,QAAQ;IACzB,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAA;AAE7G,MAAM,OAAO,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,CAAA;AAElF,mGAAmG;AACnG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,WAAW,CAAA;AAE7F,yFAAyF;AACzF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAoB,EAAE,CACxD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,KAAK,CAAC,OAAO,EAAE,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA"}
|
package/dist/server/start.d.ts
CHANGED
|
@@ -31,4 +31,6 @@ export declare const ensureServer: (store: SessionStore) => Promise<boolean>;
|
|
|
31
31
|
* hand is the owner's to stop.
|
|
32
32
|
*/
|
|
33
33
|
export declare const replacedIfStale: (store: SessionStore) => Promise<boolean>;
|
|
34
|
+
/** The server outlives the command by minutes; a token it was not given for keeping stays behind. */
|
|
35
|
+
export declare const serverEnvironment: ({ MAX_TOKEN: _, ...env }: NodeJS.ProcessEnv, profile: string) => NodeJS.ProcessEnv;
|
|
34
36
|
//# sourceMappingURL=start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,+DAA+D;AAC/D,eAAO,MAAM,OAAO,QAAc,CAAA;AAKlC;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,YAAY,KAAG,MAAyC,CAAA;AAK3F;;;;;;GAMG;AACH,8EAA8E;AAC9E,eAAO,MAAM,OAAO,UAAW,YAAY,KAAG,MAAkE,CAAA;AAEhH,eAAO,MAAM,iBAAiB,UACrB,YAAY;;;MAElB,MAAM,GAAG,SAyBX,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAiB,YAAY,KAAG,OAAO,CAAC,OAAO,CAiBvE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAiB,YAAY,KAAG,OAAO,CAAC,OAAO,CAI1E,CAAA"}
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,+DAA+D;AAC/D,eAAO,MAAM,OAAO,QAAc,CAAA;AAKlC;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,YAAY,KAAG,MAAyC,CAAA;AAK3F;;;;;;GAMG;AACH,8EAA8E;AAC9E,eAAO,MAAM,OAAO,UAAW,YAAY,KAAG,MAAkE,CAAA;AAEhH,eAAO,MAAM,iBAAiB,UACrB,YAAY;;;MAElB,MAAM,GAAG,SAyBX,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAiB,YAAY,KAAG,OAAO,CAAC,OAAO,CAiBvE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAiB,YAAY,KAAG,OAAO,CAAC,OAAO,CAI1E,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,6BAA8B,MAAM,CAAC,UAAU,WAAW,MAAM,KAAG,MAAM,CAAC,UAGtG,CAAA"}
|
package/dist/server/start.js
CHANGED
|
@@ -47,7 +47,7 @@ export const startInBackground = (store, { serveArgs = ["--idle", `${IDLE_MS / 6
|
|
|
47
47
|
const child = spawn(process.execPath, [entry, "--no-record", "serve", ...serveArgs], {
|
|
48
48
|
detached: true,
|
|
49
49
|
stdio: ["ignore", "ignore", log],
|
|
50
|
-
env:
|
|
50
|
+
env: serverEnvironment(process.env, store.profile),
|
|
51
51
|
});
|
|
52
52
|
child.unref();
|
|
53
53
|
closeSync(log);
|
|
@@ -92,4 +92,9 @@ export const replacedIfStale = async (store) => {
|
|
|
92
92
|
return false;
|
|
93
93
|
return (await stopServer(store.socketPath())) === "stopped";
|
|
94
94
|
};
|
|
95
|
+
/** The server outlives the command by minutes; a token it was not given for keeping stays behind. */
|
|
96
|
+
export const serverEnvironment = ({ MAX_TOKEN: _, ...env }, profile) => ({
|
|
97
|
+
...env,
|
|
98
|
+
MAX_PROFILE: profile,
|
|
99
|
+
});
|
|
95
100
|
//# sourceMappingURL=start.js.map
|
package/dist/server/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,17 @@ export interface SessionOptions {
|
|
|
20
20
|
* `contactsSync` alone, small numbers in the other three. We send 0 there.
|
|
21
21
|
*/
|
|
22
22
|
sync?: number;
|
|
23
|
+
/**
|
|
24
|
+
* What a web tab sends when the same page logs in again (`MAX-51`, recorded 2026-09-25): the
|
|
25
|
+
* previous login's `time`, its `config.hash`, and in `chatsSync` the newest chat event it has
|
|
26
|
+
* seen. MAX then answers only the chats that changed. `max serve` alone logs in again.
|
|
27
|
+
*/
|
|
28
|
+
resume?: Resume;
|
|
29
|
+
}
|
|
30
|
+
export interface Resume {
|
|
31
|
+
lastLogin: number;
|
|
32
|
+
chatsSync: number;
|
|
33
|
+
configHash: string;
|
|
23
34
|
}
|
|
24
35
|
/**
|
|
25
36
|
* INIT then LOGIN, in that order, before anything else will be answered
|
|
@@ -42,5 +53,5 @@ export interface SessionOptions {
|
|
|
42
53
|
* right after (`MAX-53`, captured 2026-09-25). MAX answers the newest that many, newest first (`FIND-80`).
|
|
43
54
|
*/
|
|
44
55
|
export declare const LOGIN_CHATS = 15;
|
|
45
|
-
export declare const startSession: (invoke: Invoke, { token, deviceId, chatsCount, sync }: SessionOptions) => Promise<Payload>;
|
|
56
|
+
export declare const startSession: (invoke: Invoke, { token, deviceId, chatsCount, sync, resume }: SessionOptions) => Promise<Payload>;
|
|
46
57
|
//# sourceMappingURL=handshake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/session/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/session/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;GAGG;AACH,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B,eAAO,MAAM,YAAY,WACf,MAAM,iDACmD,cAAc,KAC9E,OAAO,CAAC,OAAO,CAgBjB,CAAA"}
|
|
@@ -21,18 +21,20 @@ import { sessionInit, sessionLogin } from "../spec/operations/session.js";
|
|
|
21
21
|
* right after (`MAX-53`, captured 2026-09-25). MAX answers the newest that many, newest first (`FIND-80`).
|
|
22
22
|
*/
|
|
23
23
|
export const LOGIN_CHATS = 15;
|
|
24
|
-
export const startSession = async (invoke, { token, deviceId, chatsCount = LOGIN_CHATS, sync = 0 }) => {
|
|
24
|
+
export const startSession = async (invoke, { token, deviceId, chatsCount = LOGIN_CHATS, sync = 0, resume }) => {
|
|
25
25
|
await invoke(sessionInit, { userAgent: WEB_USER_AGENT, deviceId });
|
|
26
26
|
return await invoke(sessionLogin, {
|
|
27
27
|
token,
|
|
28
28
|
// A script reading is not a person looking; see the specification for why this is never true.
|
|
29
29
|
interactive: false,
|
|
30
30
|
chatsCount,
|
|
31
|
-
|
|
31
|
+
...(resume ? { lastLogin: resume.lastLogin } : {}),
|
|
32
|
+
chatsSync: resume?.chatsSync ?? 0,
|
|
32
33
|
contactsSync: sync,
|
|
33
34
|
// -1 as the tab sends it; presence pushes (132) follow, and nothing here answers them, as the tab does not.
|
|
34
35
|
presenceSync: -1,
|
|
35
36
|
draftsSync: 0,
|
|
37
|
+
...(resume ? { configHash: resume.configHash } : {}),
|
|
36
38
|
});
|
|
37
39
|
};
|
|
38
40
|
//# sourceMappingURL=handshake.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/session/handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/session/handshake.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAoCzE;;;;;;;;;;;;;;;GAeG;AACH;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAA;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAc,EACd,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,WAAW,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAkB,EAC7D,EAAE;IACpB,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAA;IAElE,OAAO,MAAM,MAAM,CAAC,YAAY,EAAE;QAChC,KAAK;QACL,8FAA8F;QAC9F,WAAW,EAAE,KAAK;QAClB,UAAU;QACV,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC;QACjC,YAAY,EAAE,IAAI;QAClB,4GAA4G;QAC5G,YAAY,EAAE,CAAC,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/session/prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/session/prompt.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC9B,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,4BACoD,WAAW,KAC5E,OAAO,CAAC,MAAM,CA+BhB,CAAA"}
|
package/dist/session/prompt.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createInterface } from "node:readline";
|
|
2
2
|
import { Writable } from "node:stream";
|
|
3
|
+
import { CliError } from "@leemour/cli-core";
|
|
3
4
|
/**
|
|
4
5
|
* One line of secret, taken without a file and without argv.
|
|
5
6
|
*
|
|
@@ -27,7 +28,12 @@ export const readSecret = async (prompt, { input = process.stdin, output = proce
|
|
|
27
28
|
});
|
|
28
29
|
const reader = createInterface({ input, output: shim, terminal: true });
|
|
29
30
|
try {
|
|
30
|
-
|
|
31
|
+
// Ctrl-C and a closed terminal would otherwise leave this waiting for ever, and Node exits
|
|
32
|
+
// on the unsettled promise with a warning and a code nobody documents.
|
|
33
|
+
const answer = await new Promise((resolve, reject) => {
|
|
34
|
+
const cancel = () => reject(new CliError("cancelled", "cancelled — nothing was stored"));
|
|
35
|
+
reader.once("SIGINT", cancel);
|
|
36
|
+
reader.once("close", cancel);
|
|
31
37
|
reader.question(prompt, resolve);
|
|
32
38
|
muted = !echo;
|
|
33
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/session/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/session/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAS5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,MAAc,EACd,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,GAAgB,EAAE,EACjE,EAAE;IACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,CAAC;IAED,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,EAAE,CAAA;QACR,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACvE,IAAI,CAAC;QACH,2FAA2F;QAC3F,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC,CAAA;YACxF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAChC,KAAK,GAAG,CAAC,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
|
package/dist/session/store.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type KeyringStore } from "@leemour/cli-core";
|
|
1
|
+
import { type CredentialSource, type KeyringStore } from "@leemour/cli-core";
|
|
2
2
|
/**
|
|
3
3
|
* What a MAX session actually is: a token, and an identity for this installation.
|
|
4
4
|
*
|
|
@@ -44,6 +44,8 @@ export declare class SessionStore {
|
|
|
44
44
|
constructor({ profile, env, keyring, configDir, stateDir }?: SessionStoreOptions);
|
|
45
45
|
/** `undefined` means nobody has logged in on this profile. */
|
|
46
46
|
readToken(): string | undefined;
|
|
47
|
+
/** Where `readToken` found it: `MAX_TOKEN`, the keyring, or the file that stands in for one. */
|
|
48
|
+
tokenSource(): CredentialSource | undefined;
|
|
47
49
|
writeToken(token: string): void;
|
|
48
50
|
/**
|
|
49
51
|
* Reads the state, inventing a device identity the first time and keeping it thereafter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/session/store.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/session/store.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,YAAY,EAIlB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAqE,CAAA;AAEjG,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,UAAW,YAAY,mBAAqB,MAAM,GAAG,SACqC,CAAA;AAEvH,eAAO,MAAM,gBAAgB,UAAW,YAAY,mBAAqB,YAIxE,CAAA;AAED,eAAO,MAAM,iBAAiB,kDAAmD,YAAY,KAAG,YAAqB,CAAA;AAErH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAID,qBAAa,YAAY;;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAIxB,YAAY,EAAE,OAAmB,EAAE,GAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAE,mBAAwB,EAa7G;IAED,8DAA8D;IAC9D,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,gGAAgG;IAChG,WAAW,IAAI,gBAAgB,GAAG,SAAS,CAE1C;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED;;;;;;;OAOG;IACH,SAAS,IAAI,YAAY,CAaxB;IAED,kHAAkH;IAClH,WAAW,IAAI,OAAO,CAOrB;IAED,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEpC;IAED,0FAA0F;IAC1F,MAAM,IAAI,OAAO,CAShB;IAED,kGAAkG;IAClG,UAAU,IAAI,MAAM,CAEnB;CAKF"}
|
package/dist/session/store.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { Credentials, pathsAreOverridden, resolvePaths, writeSecurely } from "@leemour/cli-core";
|
|
4
|
+
import { Credentials, pathsAreOverridden, resolvePaths, writeSecurely, } from "@leemour/cli-core";
|
|
5
5
|
/**
|
|
6
6
|
* **How long a profile stays out after each refusal in a row** (owner, `NEED-265`). In PyMax a
|
|
7
7
|
* login retried after the limit error kept the account locked (PyMax #106), so the wait grows.
|
|
@@ -38,6 +38,10 @@ export class SessionStore {
|
|
|
38
38
|
readToken() {
|
|
39
39
|
return this.#credentials.read(this.profile)?.secret;
|
|
40
40
|
}
|
|
41
|
+
/** Where `readToken` found it: `MAX_TOKEN`, the keyring, or the file that stands in for one. */
|
|
42
|
+
tokenSource() {
|
|
43
|
+
return this.#credentials.read(this.profile)?.source;
|
|
44
|
+
}
|
|
41
45
|
writeToken(token) {
|
|
42
46
|
this.#credentials.write(this.profile, token);
|
|
43
47
|
}
|