peerllm-host-cli 2.5.0 → 2.6.1
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/cli/commands/restart.d.ts.map +1 -1
- package/dist/cli/commands/restart.js +27 -4
- package/dist/cli/commands/restart.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +14 -3
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +15 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/core/auth.d.ts +8 -1
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +33 -12
- package/dist/core/auth.js.map +1 -1
- package/dist/daemon/index.js +4 -1
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/methods.d.ts +2 -0
- package/dist/daemon/methods.d.ts.map +1 -1
- package/dist/daemon/methods.js +1 -0
- package/dist/daemon/methods.js.map +1 -1
- package/dist/daemon/run.d.ts +35 -0
- package/dist/daemon/run.d.ts.map +1 -1
- package/dist/daemon/run.js +168 -38
- package/dist/daemon/run.js.map +1 -1
- package/dist/shared/protocol.d.ts +1 -0
- package/dist/shared/protocol.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCpC,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA2C9D"}
|
|
@@ -5,6 +5,10 @@ import { METHOD } from "../../shared/protocol.js";
|
|
|
5
5
|
import { DaemonUnreachableError, IpcClient } from "../ipc-client.js";
|
|
6
6
|
import { EXIT } from "../exit-codes.js";
|
|
7
7
|
import { printError } from "../format.js";
|
|
8
|
+
/**
|
|
9
|
+
* Stop the running daemon if present, and report whether it was running in Local Mode
|
|
10
|
+
* so restart can transparently preserve that mode (e.g. after changing the REST port/key).
|
|
11
|
+
*/
|
|
8
12
|
async function stopIfRunning(endpoint) {
|
|
9
13
|
const client = new IpcClient(endpoint);
|
|
10
14
|
try {
|
|
@@ -12,9 +16,17 @@ async function stopIfRunning(endpoint) {
|
|
|
12
16
|
}
|
|
13
17
|
catch (err) {
|
|
14
18
|
if (err instanceof DaemonUnreachableError)
|
|
15
|
-
return false;
|
|
19
|
+
return { wasRunning: false, localOnly: false };
|
|
16
20
|
throw err;
|
|
17
21
|
}
|
|
22
|
+
let localOnly = false;
|
|
23
|
+
try {
|
|
24
|
+
const status = await client.call(METHOD.getStatus);
|
|
25
|
+
localOnly = Boolean(status.daemon.localOnly);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Non-fatal — proceed to shutdown even if the status probe fails.
|
|
29
|
+
}
|
|
18
30
|
try {
|
|
19
31
|
await client.call(METHOD.shutdown);
|
|
20
32
|
}
|
|
@@ -27,25 +39,36 @@ async function stopIfRunning(endpoint) {
|
|
|
27
39
|
finally {
|
|
28
40
|
client.close();
|
|
29
41
|
}
|
|
30
|
-
return true;
|
|
42
|
+
return { wasRunning: true, localOnly };
|
|
31
43
|
}
|
|
32
44
|
export function makeRestartCommand(cliVersion) {
|
|
33
45
|
return new Command("restart")
|
|
34
46
|
.description("Stop the running daemon (if any), then start in the foreground")
|
|
47
|
+
// Preserves the previous daemon's mode automatically; pass "offline" to force
|
|
48
|
+
// a local-only restart even if nothing was running.
|
|
49
|
+
.argument("[mode]", 'set to "offline" to restart as a local-only LLM runner')
|
|
50
|
+
.option("--offline", "restart as a local-only LLM runner (same as the 'offline' argument)")
|
|
35
51
|
.option("--config-dir <path>", "override config directory")
|
|
36
|
-
.action(async (opts) => {
|
|
52
|
+
.action(async (mode, opts) => {
|
|
53
|
+
if (mode !== undefined && mode !== "offline") {
|
|
54
|
+
printError(`unknown argument "${mode}"`, { hint: 'The only supported mode is "offline". Run: peerllm-host restart offline' });
|
|
55
|
+
process.exit(EXIT.userError);
|
|
56
|
+
}
|
|
37
57
|
const paths = resolvePaths({ configDirOverride: opts.configDir });
|
|
38
58
|
try {
|
|
39
|
-
const wasRunning = await stopIfRunning(paths.ipcEndpoint);
|
|
59
|
+
const { wasRunning, localOnly: wasLocalOnly } = await stopIfRunning(paths.ipcEndpoint);
|
|
40
60
|
if (wasRunning) {
|
|
41
61
|
process.stdout.write("stopped previous daemon\n");
|
|
42
62
|
// Give the OS a moment to release the socket / pid file.
|
|
43
63
|
await new Promise((r) => setTimeout(r, 200));
|
|
44
64
|
}
|
|
65
|
+
// Keep whatever mode was running unless the caller explicitly asks for offline.
|
|
66
|
+
const localOnly = mode === "offline" || opts.offline === true || wasLocalOnly;
|
|
45
67
|
const daemon = await runDaemon({
|
|
46
68
|
configDir: opts.configDir,
|
|
47
69
|
cliVersion,
|
|
48
70
|
foreground: true,
|
|
71
|
+
localOnly,
|
|
49
72
|
});
|
|
50
73
|
process.stdout.write(`peerllm-host: listening on ${daemon.state.paths.ipcEndpoint}\n`);
|
|
51
74
|
process.stdout.write(`peerllm-host: pid ${daemon.state.pid}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAgF5C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA0E5D"}
|
|
@@ -34,12 +34,13 @@ async function waitForReachable(endpoint, timeoutMs = 5000) {
|
|
|
34
34
|
}
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
async function startDetached(configDir, endpoint, runMode) {
|
|
37
|
+
async function startDetached(configDir, endpoint, runMode, localOnly) {
|
|
38
38
|
const daemonEntry = join(__dirname, "..", "..", "daemon", "index.js");
|
|
39
39
|
const args = [
|
|
40
40
|
...(configDir ? ["--config-dir", configDir] : []),
|
|
41
41
|
"--run-mode",
|
|
42
42
|
runMode,
|
|
43
|
+
...(localOnly ? ["--offline"] : []),
|
|
43
44
|
];
|
|
44
45
|
// Open /dev/null (or NUL) for the child's stdio so it has no controlling
|
|
45
46
|
// terminal and can survive parent exit.
|
|
@@ -73,13 +74,22 @@ async function startDetached(configDir, endpoint, runMode) {
|
|
|
73
74
|
export function makeStartCommand(cliVersion) {
|
|
74
75
|
return new Command("start")
|
|
75
76
|
.description("Start the PeerLLM host daemon")
|
|
77
|
+
// 🖥️ `peerllm-host start offline` — run as a standalone local LLM runner with no
|
|
78
|
+
// account: skips login/registration/subscription and never connects to the network.
|
|
79
|
+
.argument("[mode]", 'set to "offline" to run as a local-only LLM runner (no account/network)')
|
|
76
80
|
.option("--detach, --detached", "run as a background daemon")
|
|
77
81
|
.option("--foreground", "run in the foreground")
|
|
82
|
+
.option("--offline", "run as a local-only LLM runner (same as the 'offline' argument)")
|
|
78
83
|
.option("--config-dir <path>", "override config directory")
|
|
79
84
|
// Internal marker set by the generated service unit (launchd/systemd/scheduled task)
|
|
80
85
|
// so the daemon can report runMode=service to the orchestrator. Not for direct use.
|
|
81
86
|
.addOption(new Option("--service", "internal: mark this daemon as service-managed").hideHelp())
|
|
82
|
-
.action(async (opts) => {
|
|
87
|
+
.action(async (mode, opts) => {
|
|
88
|
+
if (mode !== undefined && mode !== "offline") {
|
|
89
|
+
printError(`unknown argument "${mode}"`, { hint: 'The only supported mode is "offline". Run: peerllm-host start offline' });
|
|
90
|
+
process.exit(EXIT.userError);
|
|
91
|
+
}
|
|
92
|
+
const localOnly = mode === "offline" || opts.offline === true;
|
|
83
93
|
const foreground = opts.foreground || !opts.detach;
|
|
84
94
|
const runMode = opts.service ? "service" : foreground ? "foreground" : "detached";
|
|
85
95
|
const paths = resolvePaths({ configDirOverride: opts.configDir });
|
|
@@ -90,6 +100,7 @@ export function makeStartCommand(cliVersion) {
|
|
|
90
100
|
cliVersion,
|
|
91
101
|
foreground: true,
|
|
92
102
|
runMode,
|
|
103
|
+
localOnly,
|
|
93
104
|
});
|
|
94
105
|
await Promise.race([
|
|
95
106
|
runDashboard(daemon.state.paths.ipcEndpoint, daemon.state.paths.modelsDir, buildClientServices({ configDir: opts.configDir })),
|
|
@@ -115,7 +126,7 @@ export function makeStartCommand(cliVersion) {
|
|
|
115
126
|
}
|
|
116
127
|
// Detached path: spawn the daemon entry and verify reachability.
|
|
117
128
|
try {
|
|
118
|
-
const result = await startDetached(opts.configDir, paths.ipcEndpoint, runMode);
|
|
129
|
+
const result = await startDetached(opts.configDir, paths.ipcEndpoint, runMode, localOnly);
|
|
119
130
|
process.stdout.write(`peerllm-host: daemon started (pid ${result.pid})\n`);
|
|
120
131
|
process.stdout.write(`peerllm-host: listening on ${result.endpoint}\n`);
|
|
121
132
|
process.exit(EXIT.ok);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,SAAS,GAAG,IAAI;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,sBAAsB,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,SAA6B,EAC7B,QAAgB,EAChB,OAAe;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,21 @@ export function makeStatusCommand() {
|
|
|
50
50
|
}
|
|
51
51
|
function printStatus(status) {
|
|
52
52
|
process.stdout.write(`\n${renderBrand()} host status\n\n`);
|
|
53
|
+
// 🖥️ Local Mode: a standalone local LLM runner with no account. The auth / agreement /
|
|
54
|
+
// host / orchestrator fields are all network concepts and would only be noise here, so
|
|
55
|
+
// show a focused, mode-appropriate view instead.
|
|
56
|
+
if (status.daemon.localOnly) {
|
|
57
|
+
const localLines = [
|
|
58
|
+
`mode: Local Mode (standalone local LLM runner — no account/network)`,
|
|
59
|
+
`daemon: running (pid ${status.daemon.pid}, uptime ${humanizeUptime(status.daemon.uptimeSeconds)})`,
|
|
60
|
+
`protocol: ${status.daemon.protocolVersion}`,
|
|
61
|
+
`network: not connected (run \`peerllm-host start\` to join the network)`,
|
|
62
|
+
`config: ${status.config.path} (schemaVersion ${status.config.schemaVersion})`,
|
|
63
|
+
];
|
|
64
|
+
for (const l of localLines)
|
|
65
|
+
process.stdout.write(l + "\n");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
53
68
|
const hostLabel = status.config.hostName ?? "(unset — run `peerllm-host host create | link`)";
|
|
54
69
|
const hostIdLabel = status.config.hostId
|
|
55
70
|
? `${status.config.hostId.slice(0, 8)}…`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAwB,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,IAA4C,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CACvE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtC,CAAC;YACD,UAAU,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAkB,MAAM,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,MAAuB;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/core/auth.d.ts
CHANGED
|
@@ -15,7 +15,14 @@ export declare class AuthService {
|
|
|
15
15
|
private accessToken;
|
|
16
16
|
private tokenExpiresAt;
|
|
17
17
|
private refreshInFlight;
|
|
18
|
-
private
|
|
18
|
+
private refreshRejections;
|
|
19
|
+
/**
|
|
20
|
+
* How many times in a row the backend has *rejected* the refresh token (HTTP
|
|
21
|
+
* 401) — reset to 0 on the next success. Network errors and other transient
|
|
22
|
+
* failures do not count. Exposed so `doctor`/`status` can report a
|
|
23
|
+
* "present but rejected" token instead of the daemon silently spinning.
|
|
24
|
+
*/
|
|
25
|
+
get consecutiveRefreshRejections(): number;
|
|
19
26
|
constructor(client: BackendClient, secrets: SecretsService, config: ConfigService);
|
|
20
27
|
login(email: string, password: string): Promise<{
|
|
21
28
|
userId: string | undefined;
|
package/dist/core/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAUnD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9D;AAoBD,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAUnD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9D;AAoBD,qBAAa,WAAW;IAiBpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlBzB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;;;OAKG;IACH,IAAI,4BAA4B,IAAI,MAAM,CAEzC;gBAGkB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa;IAGlC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAsB/E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa7C,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;YAK3B,OAAO;IAkDrB;;;;OAIG;IACH,qBAAqB,IAAI,IAAI;IAK7B;;;;;OAKG;IACG,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAe7F,OAAO,CAAC,cAAc;YAWR,iBAAiB;CAYhC"}
|
package/dist/core/auth.js
CHANGED
|
@@ -34,7 +34,16 @@ export class AuthService {
|
|
|
34
34
|
accessToken;
|
|
35
35
|
tokenExpiresAt;
|
|
36
36
|
refreshInFlight;
|
|
37
|
-
|
|
37
|
+
refreshRejections = 0;
|
|
38
|
+
/**
|
|
39
|
+
* How many times in a row the backend has *rejected* the refresh token (HTTP
|
|
40
|
+
* 401) — reset to 0 on the next success. Network errors and other transient
|
|
41
|
+
* failures do not count. Exposed so `doctor`/`status` can report a
|
|
42
|
+
* "present but rejected" token instead of the daemon silently spinning.
|
|
43
|
+
*/
|
|
44
|
+
get consecutiveRefreshRejections() {
|
|
45
|
+
return this.refreshRejections;
|
|
46
|
+
}
|
|
38
47
|
constructor(client, secrets, config) {
|
|
39
48
|
this.client = client;
|
|
40
49
|
this.secrets = secrets;
|
|
@@ -94,22 +103,34 @@ export class AuthService {
|
|
|
94
103
|
path: "/auth/refresh",
|
|
95
104
|
body: { refreshToken },
|
|
96
105
|
});
|
|
97
|
-
|
|
98
|
-
|
|
106
|
+
// Persist the rotated (single-use) refresh token before returning the
|
|
107
|
+
// access token to callers. If this write fails we keep serving the
|
|
108
|
+
// in-memory access token (good for its lifetime) but log loudly — the
|
|
109
|
+
// on-disk token is now stale and the next refresh will need to recover.
|
|
99
110
|
if (result.refreshToken && result.refreshToken !== refreshToken) {
|
|
100
|
-
|
|
111
|
+
try {
|
|
112
|
+
await this.secrets.set("refreshToken", result.refreshToken);
|
|
113
|
+
}
|
|
114
|
+
catch (persistErr) {
|
|
115
|
+
getLogger().error("failed to persist rotated refresh token; on-disk token is now stale", persistErr.message);
|
|
116
|
+
}
|
|
101
117
|
}
|
|
118
|
+
this.setAccessToken(result.accessToken, result.expiresIn);
|
|
119
|
+
this.refreshRejections = 0;
|
|
102
120
|
return result.accessToken;
|
|
103
121
|
}
|
|
104
122
|
catch (err) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
123
|
+
// Only an outright 401 means the backend rejected the token. Network
|
|
124
|
+
// errors (status 0 — common when the daemon boots before the network is
|
|
125
|
+
// up) and other statuses are transient and must NOT be treated as a dead
|
|
126
|
+
// credential. We never delete the refresh token here: a headless daemon
|
|
127
|
+
// has no password to re-authenticate with, so clearing would convert a
|
|
128
|
+
// transient/racy rejection into a permanent lockout that only a manual
|
|
129
|
+
// `peerllm-host login` can undo. Keep it on disk and let the caller retry
|
|
130
|
+
// — a server-side hiccup then self-heals with no human intervention.
|
|
131
|
+
if (err instanceof NotAuthenticatedError) {
|
|
132
|
+
this.refreshRejections++;
|
|
133
|
+
getLogger().warn(`refresh token rejected (${this.refreshRejections} in a row); keeping it for retry — run 'peerllm-host login' if this persists`);
|
|
113
134
|
}
|
|
114
135
|
else {
|
|
115
136
|
getLogger().error("token refresh failed", err.message);
|
package/dist/core/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAuB,MAAM,qBAAqB,CAAC;AAEhG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,0EAA0E;AAC1E,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,8BAA8B,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/C,6EAA6E;AAC7E,8DAA8D;AAC9D,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAE5E,CAAC;QACF,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;YACpE,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI;YACpB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAoBD,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -9,6 +9,9 @@ const configDir = configDirIdx >= 0 ? args[configDirIdx + 1] : undefined;
|
|
|
9
9
|
// --detach`) or run directly, so default to "detached"; an explicit --run-mode wins.
|
|
10
10
|
const runModeIdx = args.indexOf("--run-mode");
|
|
11
11
|
const runMode = runModeIdx >= 0 ? args[runModeIdx + 1] : "detached";
|
|
12
|
+
// 🖥️ Local Mode: standalone local LLM runner, no account/network. Passed through by
|
|
13
|
+
// `peerllm-host start offline` when spawning the daemon detached.
|
|
14
|
+
const localOnly = args.includes("--offline");
|
|
12
15
|
const cliVersion = process.env["npm_package_version"] ?? CLI_VERSION;
|
|
13
16
|
async function main() {
|
|
14
17
|
// survive: true — the daemon must outlive stray worker-death errors instead
|
|
@@ -16,7 +19,7 @@ async function main() {
|
|
|
16
19
|
// took whole hosts offline). See installCrashHandlers.
|
|
17
20
|
installCrashHandlers({ prefix: "peerllm-hostd", survive: true });
|
|
18
21
|
try {
|
|
19
|
-
const daemon = await runDaemon({ configDir, cliVersion, runMode });
|
|
22
|
+
const daemon = await runDaemon({ configDir, cliVersion, runMode, localOnly });
|
|
20
23
|
process.stdout.write(`peerllm-hostd: listening on ${daemon.state.paths.ipcEndpoint}\n`);
|
|
21
24
|
process.stdout.write(`peerllm-hostd: pid ${daemon.state.pid}\n`);
|
|
22
25
|
await daemon.whenStopped;
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAEzE,+EAA+E;AAC/E,qFAAqF;AACrF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAEpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,WAAW,CAAC;AAErE,KAAK,UAAU,IAAI;IACjB,4EAA4E;IAC5E,6EAA6E;IAC7E,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAEzE,+EAA+E;AAC/E,qFAAqF;AACrF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAEpE,qFAAqF;AACrF,kEAAkE;AAClE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,WAAW,CAAC;AAErE,KAAK,UAAU,IAAI;IACjB,4EAA4E;IAC5E,6EAA6E;IAC7E,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACxF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,WAAW,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
package/dist/daemon/methods.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface DaemonState {
|
|
|
17
17
|
hostStats: HostStatsService;
|
|
18
18
|
npmVersion: NpmVersionService;
|
|
19
19
|
catalogPolling: CatalogPollingService;
|
|
20
|
+
/** 🖥️ Local Mode: standalone local LLM runner (no account/network/orchestrator). */
|
|
21
|
+
localOnly: boolean;
|
|
20
22
|
getOrchestratorStatus: () => OrchestratorStatus;
|
|
21
23
|
}
|
|
22
24
|
export declare function buildMethodRegistry(state: DaemonState): Record<string, MethodHandler>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,qBAAqB,CAAC;IACtC,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;CACjD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,qBAAqB,CAAC;IACtC,qFAAqF;IACrF,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;CACjD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CA2KrF"}
|
package/dist/daemon/methods.js
CHANGED
|
@@ -24,6 +24,7 @@ export function buildMethodRegistry(state) {
|
|
|
24
24
|
version: state.cliVersion,
|
|
25
25
|
protocolVersion: PROTOCOL_VERSION,
|
|
26
26
|
...(latestCliVersion ? { latestCliVersion } : {}),
|
|
27
|
+
...(state.localOnly ? { localOnly: true } : {}),
|
|
27
28
|
},
|
|
28
29
|
config: {
|
|
29
30
|
path: state.paths.configFile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,gBAAgB,GAKjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/run.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { BackendClient } from "../core/backend-client.js";
|
|
2
|
+
import { type ConfigService } from "../core/config.js";
|
|
3
|
+
import { SecretsService } from "../core/secrets.js";
|
|
4
|
+
import { SubscriptionService } from "../core/subscription.js";
|
|
1
5
|
import { type DaemonState } from "./methods.js";
|
|
2
6
|
export interface RunDaemonOptions {
|
|
3
7
|
configDir?: string | undefined;
|
|
@@ -5,6 +9,13 @@ export interface RunDaemonOptions {
|
|
|
5
9
|
foreground?: boolean;
|
|
6
10
|
/** How the daemon was launched: "service" | "foreground" | "detached" | "unknown". */
|
|
7
11
|
runMode?: string;
|
|
12
|
+
/**
|
|
13
|
+
* 🖥️ Local Mode: run as a standalone local LLM runner with no account. Skips the
|
|
14
|
+
* auth/host/subscription preconditions, never connects to the orchestrator, and runs
|
|
15
|
+
* no network pollers. The local OpenAI-compatible REST API is served so the host is
|
|
16
|
+
* immediately usable offline.
|
|
17
|
+
*/
|
|
18
|
+
localOnly?: boolean;
|
|
8
19
|
}
|
|
9
20
|
export interface RunningDaemon {
|
|
10
21
|
stop(): Promise<void>;
|
|
@@ -16,6 +27,30 @@ declare class StartupError extends Error {
|
|
|
16
27
|
readonly hint?: string | undefined;
|
|
17
28
|
constructor(message: string, exitCode: number, hint?: string | undefined);
|
|
18
29
|
}
|
|
30
|
+
/** Outcome of the startup precondition checks. */
|
|
31
|
+
export interface PreconditionResult {
|
|
32
|
+
/** True when the daemon may open its orchestrator connection and start pollers. */
|
|
33
|
+
ok: boolean;
|
|
34
|
+
/** Human-readable reason when not ok. */
|
|
35
|
+
message?: string;
|
|
36
|
+
/** Operator hint for how to satisfy the precondition. */
|
|
37
|
+
hint?: string;
|
|
38
|
+
/** Process exit code to use when failing fast in an interactive run. */
|
|
39
|
+
exitCode?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Run modes launchd/systemd relaunch on every non-zero exit (KeepAlive). In
|
|
43
|
+
* those modes we must NEVER exit on an unmet precondition — that produces an
|
|
44
|
+
* infinite crash-restart loop. Interactive modes (`start`, `start --detach`)
|
|
45
|
+
* fail fast instead so the operator sees the problem immediately.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isManagedRunMode(runMode: string | undefined): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Evaluates whether the daemon is ready to connect to the orchestrator. Returns
|
|
50
|
+
* a result rather than throwing so the caller can decide between failing fast
|
|
51
|
+
* (interactive) and staying up to retry (managed service).
|
|
52
|
+
*/
|
|
53
|
+
export declare function evaluatePreconditions(config: Pick<ConfigService, "load">, secrets: Pick<SecretsService, "get">, backend: Pick<BackendClient, "request">, subscription: Pick<SubscriptionService, "hostIsActive">): Promise<PreconditionResult>;
|
|
19
54
|
export declare function runDaemon(opts: RunDaemonOptions): Promise<RunningDaemon>;
|
|
20
55
|
export { StartupError };
|
|
21
56
|
//# sourceMappingURL=run.d.ts.map
|
package/dist/daemon/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAMrE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,cAAM,YAAa,SAAQ,KAAK;aACe,QAAQ,EAAE,MAAM;aAAkB,IAAI,CAAC,EAAE,MAAM;gBAAhF,OAAO,EAAE,MAAM,EAAkB,QAAQ,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAG7F;AAOD,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,EAAE,EAAE,OAAO,CAAC;IACZ,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AASD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EACnC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,EACpC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,GACtD,OAAO,CAAC,kBAAkB,CAAC,CAqE7B;AAKD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAiP9E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/daemon/run.js
CHANGED
|
@@ -16,6 +16,7 @@ import { buildMethodRegistry } from "./methods.js";
|
|
|
16
16
|
import { acquirePidLock, DaemonAlreadyRunningError } from "./pid-lock.js";
|
|
17
17
|
import { RestApiServer } from "./rest-server.js";
|
|
18
18
|
import { randomBytes } from "node:crypto";
|
|
19
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
19
20
|
class StartupError extends Error {
|
|
20
21
|
exitCode;
|
|
21
22
|
hint;
|
|
@@ -25,17 +26,47 @@ class StartupError extends Error {
|
|
|
25
26
|
this.hint = hint;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Run modes launchd/systemd relaunch on every non-zero exit (KeepAlive). In
|
|
31
|
+
* those modes we must NEVER exit on an unmet precondition — that produces an
|
|
32
|
+
* infinite crash-restart loop. Interactive modes (`start`, `start --detach`)
|
|
33
|
+
* fail fast instead so the operator sees the problem immediately.
|
|
34
|
+
*/
|
|
35
|
+
export function isManagedRunMode(runMode) {
|
|
36
|
+
return runMode === "service";
|
|
37
|
+
}
|
|
38
|
+
/** A transient backend failure the orchestrator's own reconnect loop can absorb. */
|
|
39
|
+
function isTransientBackendError(err) {
|
|
40
|
+
// status 0 = network unreachable (the daemon booted before the network came
|
|
41
|
+
// up — exactly the "fetch failed" seen in the field); >=500 = server down.
|
|
42
|
+
return err instanceof BackendError && (err.status === 0 || err.status >= 500);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Evaluates whether the daemon is ready to connect to the orchestrator. Returns
|
|
46
|
+
* a result rather than throwing so the caller can decide between failing fast
|
|
47
|
+
* (interactive) and staying up to retry (managed service).
|
|
48
|
+
*/
|
|
49
|
+
export async function evaluatePreconditions(config, secrets, backend, subscription) {
|
|
29
50
|
const cfg = await config.load();
|
|
30
51
|
const refreshToken = await secrets.get("refreshToken");
|
|
31
52
|
if (!refreshToken) {
|
|
32
|
-
|
|
53
|
+
return { ok: false, message: "not authenticated", exitCode: 4, hint: "Log in first: peerllm-host login" };
|
|
33
54
|
}
|
|
34
55
|
if (!cfg.agreementAccepted) {
|
|
35
|
-
|
|
56
|
+
return {
|
|
57
|
+
ok: false,
|
|
58
|
+
message: "host agreement not accepted",
|
|
59
|
+
exitCode: 5,
|
|
60
|
+
hint: "Accept the agreement: peerllm-host agreement accept",
|
|
61
|
+
};
|
|
36
62
|
}
|
|
37
63
|
if (!cfg.hostId) {
|
|
38
|
-
|
|
64
|
+
return {
|
|
65
|
+
ok: false,
|
|
66
|
+
message: "no host is registered",
|
|
67
|
+
exitCode: 5,
|
|
68
|
+
hint: "Register a host: peerllm-host host create",
|
|
69
|
+
};
|
|
39
70
|
}
|
|
40
71
|
// Confirm approval before opening the SignalR connection.
|
|
41
72
|
try {
|
|
@@ -44,38 +75,50 @@ async function verifyPreconditions(config, secrets, backend, subscription) {
|
|
|
44
75
|
path: `/api/hosts/${cfg.hostId}`,
|
|
45
76
|
});
|
|
46
77
|
if (host.isApproved === false) {
|
|
47
|
-
|
|
78
|
+
return {
|
|
79
|
+
ok: false,
|
|
80
|
+
message: "host is not yet approved",
|
|
81
|
+
exitCode: 5,
|
|
82
|
+
hint: "Hosts are typically approved within 24–48 hours. Check back later.",
|
|
83
|
+
};
|
|
48
84
|
}
|
|
49
85
|
}
|
|
50
86
|
catch (err) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
throw new StartupError(`host approval check failed: ${err.message}`, 1);
|
|
87
|
+
// Transient backend/network trouble — proceed and let connect() retry.
|
|
88
|
+
if (isTransientBackendError(err))
|
|
89
|
+
return { ok: true };
|
|
90
|
+
return { ok: false, message: `host approval check failed: ${err.message}`, exitCode: 1 };
|
|
58
91
|
}
|
|
59
92
|
// Subscription gate — hosts cannot serve traffic without an active subscription.
|
|
60
93
|
try {
|
|
61
94
|
const check = await subscription.hostIsActive(cfg.hostId);
|
|
62
95
|
if (!check.subscribed) {
|
|
63
96
|
if (check.pending) {
|
|
64
|
-
|
|
97
|
+
return {
|
|
98
|
+
ok: false,
|
|
99
|
+
message: "subscription pending PayPal approval",
|
|
100
|
+
exitCode: 5,
|
|
101
|
+
hint: "Complete PayPal checkout, or rerun: peerllm-host subscription start",
|
|
102
|
+
};
|
|
65
103
|
}
|
|
66
|
-
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
message: "this host is not subscribed",
|
|
107
|
+
exitCode: 5,
|
|
108
|
+
hint: "Start a subscription: peerllm-host subscription start",
|
|
109
|
+
};
|
|
67
110
|
}
|
|
68
111
|
}
|
|
69
112
|
catch (err) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
throw new StartupError(`subscription check failed: ${err.message}`, 1);
|
|
113
|
+
// Backend transiently unreachable — let the orchestrator's own checks gate.
|
|
114
|
+
if (isTransientBackendError(err))
|
|
115
|
+
return { ok: true };
|
|
116
|
+
return { ok: false, message: `subscription check failed: ${err.message}`, exitCode: 1 };
|
|
77
117
|
}
|
|
118
|
+
return { ok: true };
|
|
78
119
|
}
|
|
120
|
+
/** How often a managed daemon re-checks unmet preconditions while staying up. */
|
|
121
|
+
const PRECONDITION_RETRY_MS = 30_000;
|
|
79
122
|
export async function runDaemon(opts) {
|
|
80
123
|
const paths = resolvePaths({ configDirOverride: opts.configDir });
|
|
81
124
|
const config = createConfigService({ configDirOverride: opts.configDir });
|
|
@@ -91,10 +134,43 @@ export async function runDaemon(opts) {
|
|
|
91
134
|
const backend = new BackendClient();
|
|
92
135
|
const auth = new AuthService(backend, secrets, config);
|
|
93
136
|
const subscription = new SubscriptionService(backend, auth);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//
|
|
97
|
-
|
|
137
|
+
const localOnly = opts.localOnly === true;
|
|
138
|
+
const managed = isManagedRunMode(opts.runMode);
|
|
139
|
+
// Whether the daemon may open networked services (orchestrator + pollers) now.
|
|
140
|
+
// In Local Mode there is no network at all. Otherwise it hinges on the
|
|
141
|
+
// startup preconditions; a managed service that fails them stays up and
|
|
142
|
+
// retries in the background rather than exiting into a launchd crash loop.
|
|
143
|
+
let preconditionsOk = false;
|
|
144
|
+
if (localOnly) {
|
|
145
|
+
getLogger().info("host: starting in LOCAL MODE — standalone local LLM runner (no account, no network, no orchestrator)");
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
let result;
|
|
149
|
+
try {
|
|
150
|
+
result = await evaluatePreconditions(config, secrets, backend, subscription);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
// An unexpected error evaluating preconditions is itself transient in a
|
|
154
|
+
// managed service — don't crash-loop over it; retry from the background.
|
|
155
|
+
if (!managed)
|
|
156
|
+
throw err;
|
|
157
|
+
getLogger().error(`host: precondition check errored: ${err.message}`);
|
|
158
|
+
result = { ok: false, message: err.message };
|
|
159
|
+
}
|
|
160
|
+
if (result.ok) {
|
|
161
|
+
preconditionsOk = true;
|
|
162
|
+
// Refresh the access token now so the orchestrator handshake doesn't race
|
|
163
|
+
// against the first inbound prompt.
|
|
164
|
+
await auth.getValidAccessToken();
|
|
165
|
+
}
|
|
166
|
+
else if (managed) {
|
|
167
|
+
getLogger().warn(`host: not connecting yet — ${result.message}. Staying up and retrying every ` +
|
|
168
|
+
`${PRECONDITION_RETRY_MS / 1000}s (${result.hint ?? "no action needed"}).`);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
throw new StartupError(result.message ?? "startup precondition failed", result.exitCode ?? 1, result.hint);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
98
174
|
let pidLock;
|
|
99
175
|
try {
|
|
100
176
|
pidLock = await acquirePidLock(paths.pidFile);
|
|
@@ -118,19 +194,40 @@ export async function runDaemon(opts) {
|
|
|
118
194
|
cliVersion: opts.cliVersion,
|
|
119
195
|
runMode: opts.runMode,
|
|
120
196
|
});
|
|
197
|
+
// Network pollers (host/network/earnings stats, npm version check, approved-catalog
|
|
198
|
+
// polling) all call the backend and need auth — skip them entirely in Local Mode,
|
|
199
|
+
// and defer them until the startup preconditions are satisfied (a managed daemon
|
|
200
|
+
// may start before login/approval and heal later without a restart).
|
|
121
201
|
const hostStats = new HostStatsService(backend, auth, config);
|
|
122
|
-
hostStats.start();
|
|
123
202
|
const npmVersion = new NpmVersionService();
|
|
124
|
-
npmVersion.start();
|
|
125
203
|
const catalogPolling = new CatalogPollingService(new CatalogService(backend, auth), events);
|
|
126
|
-
|
|
204
|
+
let networkedServicesStarted = false;
|
|
205
|
+
function startNetworkedServices() {
|
|
206
|
+
if (networkedServicesStarted || localOnly)
|
|
207
|
+
return;
|
|
208
|
+
networkedServicesStarted = true;
|
|
209
|
+
hostStats.start();
|
|
210
|
+
npmVersion.start();
|
|
211
|
+
catalogPolling.start();
|
|
212
|
+
// Orchestrator connect is async and non-blocking — the daemon stays up even
|
|
213
|
+
// while reconnects retry in the background.
|
|
214
|
+
orchestrator.connect().catch((err) => {
|
|
215
|
+
events.emit("log", {
|
|
216
|
+
level: "error",
|
|
217
|
+
message: `orchestrator initial connect failed: ${err.message}`,
|
|
218
|
+
timestamp: new Date().toISOString(),
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
}
|
|
127
222
|
// 🌐 Local OpenAI-compatible REST API (opt-in via config.restServerEnabled). Serves
|
|
128
223
|
// through the SAME pool as network traffic — one VRAM authority, single-flight
|
|
129
224
|
// admission. Never fatal: a REST start failure must not take the daemon down.
|
|
130
225
|
let restServer = null;
|
|
131
226
|
try {
|
|
132
227
|
const cfg = await config.load();
|
|
133
|
-
|
|
228
|
+
// In Local Mode the REST API is the way to actually use the local runner, so serve
|
|
229
|
+
// it even if the flag was never set — otherwise `start offline` would do nothing.
|
|
230
|
+
if (cfg.restServerEnabled || localOnly) {
|
|
134
231
|
let apiKey = cfg.restServerApiKey;
|
|
135
232
|
if (!apiKey) {
|
|
136
233
|
apiKey = `pllm_${randomBytes(24).toString("hex")}`;
|
|
@@ -156,6 +253,7 @@ export async function runDaemon(opts) {
|
|
|
156
253
|
hostStats,
|
|
157
254
|
npmVersion,
|
|
158
255
|
catalogPolling,
|
|
256
|
+
localOnly,
|
|
159
257
|
getOrchestratorStatus: () => orchestratorStatus,
|
|
160
258
|
};
|
|
161
259
|
let stopping = false;
|
|
@@ -209,15 +307,47 @@ export async function runDaemon(opts) {
|
|
|
209
307
|
process.on("SIGINT", signalHandler);
|
|
210
308
|
process.on("SIGTERM", signalHandler);
|
|
211
309
|
await ipc.listen();
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
310
|
+
// Networked services (orchestrator connect + pollers) are skipped entirely in
|
|
311
|
+
// Local Mode. Otherwise they start now if preconditions passed; a managed
|
|
312
|
+
// daemon that failed them stays up and re-checks in the background, so a host
|
|
313
|
+
// that boots before login/approval — or with a transiently-rejected token —
|
|
314
|
+
// rejoins automatically once the condition clears, with no restart or manual
|
|
315
|
+
// `peerllm-host login`.
|
|
316
|
+
if (!localOnly) {
|
|
317
|
+
if (preconditionsOk) {
|
|
318
|
+
startNetworkedServices();
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
void retryPreconditionsUntilReady();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
async function retryPreconditionsUntilReady() {
|
|
325
|
+
while (!stopping && !networkedServicesStarted) {
|
|
326
|
+
await delay(PRECONDITION_RETRY_MS);
|
|
327
|
+
if (stopping || networkedServicesStarted)
|
|
328
|
+
return;
|
|
329
|
+
let result;
|
|
330
|
+
try {
|
|
331
|
+
result = await evaluatePreconditions(config, secrets, backend, subscription);
|
|
332
|
+
}
|
|
333
|
+
catch (err) {
|
|
334
|
+
getLogger().error(`host: precondition re-check errored: ${err.message}`);
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
if (result.ok) {
|
|
338
|
+
getLogger().info("host: preconditions satisfied — starting networked services");
|
|
339
|
+
try {
|
|
340
|
+
await auth.getValidAccessToken();
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
// Non-fatal: the orchestrator's own handshake will refresh/retry.
|
|
344
|
+
}
|
|
345
|
+
startNetworkedServices();
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
getLogger().info(`host: still waiting to connect — ${result.message}`);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
221
351
|
return {
|
|
222
352
|
stop: shutdown,
|
|
223
353
|
whenStopped,
|
package/dist/daemon/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QAGxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QAGxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAE1B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;KAC7E,CAAC;IAKF,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,OAAO,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,OAAO,CAAC,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,SAAS,CAAC;QACd,GAAG,EAAE,SAAS,CAAC;KAChB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,YAAY,CAAC,EAAE;QACb,oBAAoB,EAAE,MAAM,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAG1B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IAEJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAMrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,IAAI,CAAC;CACpB"}
|