@lordierclaw/bluenote 0.4.1 → 0.4.3
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 +2 -0
- package/package.json +6 -2
- package/dist/bin.d.ts +0 -2
- package/dist/bin.js +0 -10
- package/dist/bin.js.map +0 -1
- package/dist/cli.d.ts +0 -4
- package/dist/cli.js +0 -37
- package/dist/cli.js.map +0 -1
- package/dist/commands/daemon.d.ts +0 -2
- package/dist/commands/daemon.js +0 -163
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -2
- package/dist/commands/doctor.js +0 -113
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/help.d.ts +0 -3
- package/dist/commands/help.js +0 -25
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/tui.d.ts +0 -2
- package/dist/commands/tui.js +0 -63
- package/dist/commands/tui.js.map +0 -1
- package/dist/commands/version.d.ts +0 -2
- package/dist/commands/version.js +0 -17
- package/dist/commands/version.js.map +0 -1
- package/dist/commands/web.d.ts +0 -2
- package/dist/commands/web.js +0 -63
- package/dist/commands/web.js.map +0 -1
- package/dist/daemon/paths.d.ts +0 -3
- package/dist/daemon/paths.js +0 -29
- package/dist/daemon/paths.js.map +0 -1
- package/dist/daemon/router.d.ts +0 -38
- package/dist/daemon/router.js +0 -107
- package/dist/daemon/router.js.map +0 -1
- package/dist/daemon/server.d.ts +0 -13
- package/dist/daemon/server.js +0 -78
- package/dist/daemon/server.js.map +0 -1
- package/dist/daemon/token.d.ts +0 -1
- package/dist/daemon/token.js +0 -11
- package/dist/daemon/token.js.map +0 -1
- package/dist/types.d.ts +0 -11
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils/command-discovery.d.ts +0 -31
- package/dist/utils/command-discovery.js +0 -162
- package/dist/utils/command-discovery.js.map +0 -1
- package/dist/utils/daemon-state.d.ts +0 -21
- package/dist/utils/daemon-state.js +0 -99
- package/dist/utils/daemon-state.js.map +0 -1
- package/dist/utils/lazy-import.d.ts +0 -1
- package/dist/utils/lazy-import.js +0 -10
- package/dist/utils/lazy-import.js.map +0 -1
- package/dist/utils/package-info.d.ts +0 -15
- package/dist/utils/package-info.js +0 -49
- package/dist/utils/package-info.js.map +0 -1
- package/dist/utils/runtime-requirements.d.ts +0 -8
- package/dist/utils/runtime-requirements.js +0 -26
- package/dist/utils/runtime-requirements.js.map +0 -1
- package/dist/utils/write.d.ts +0 -1
- package/dist/utils/write.js +0 -9
- package/dist/utils/write.js.map +0 -1
package/README.md
CHANGED
|
@@ -194,6 +194,8 @@ node dist/bin.js doctor
|
|
|
194
194
|
|
|
195
195
|
`npm run version:status` checks the four sibling package names and versions. npm run version:status is the release check and requires exact published version dependencies for BlueNote packages. Development mode may use pinned Git deps when you intentionally pass `--allow-git-deps` for a local-only workspace.
|
|
196
196
|
|
|
197
|
+
The distribution repo also owns the release gate for `@lordierclaw/bluenote`: the tag-driven release workflow runs the repo checks, verifies package metadata, and performs a fresh Docker `node:22-bookworm` install/smoke pass before npm publish and GitHub release creation are allowed to continue.
|
|
198
|
+
|
|
197
199
|
## Packaging and versions
|
|
198
200
|
|
|
199
201
|
The package name is `@lordierclaw/bluenote`; published binaries are `bluenote` and `bn`.
|
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lordierclaw/bluenote",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Official BlueNote distribution CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/LordierClaw/bluenote"
|
|
9
|
+
},
|
|
6
10
|
"files": [
|
|
7
11
|
"dist",
|
|
8
12
|
"README.md",
|
|
@@ -25,7 +29,7 @@
|
|
|
25
29
|
"check": "npm run typecheck && npm run test && npm run build"
|
|
26
30
|
},
|
|
27
31
|
"dependencies": {
|
|
28
|
-
"@lordierclaw/bluenote-core": "0.4.
|
|
32
|
+
"@lordierclaw/bluenote-core": "0.4.3"
|
|
29
33
|
},
|
|
30
34
|
"devDependencies": {
|
|
31
35
|
"@types/node": "16.18.126",
|
package/dist/bin.d.ts
DELETED
package/dist/bin.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const cli_1 = require("./cli");
|
|
5
|
-
(0, cli_1.main)(process.argv.slice(2)).catch((error) => {
|
|
6
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
7
|
-
process.stderr.write(`${message}\n`);
|
|
8
|
-
process.exitCode = 1;
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAE5B,IAAA,UAAI,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA"}
|
package/dist/cli.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { CommandIo } from "./types";
|
|
2
|
-
export declare const COMMANDS: readonly ["tui", "web", "daemon", "doctor", "version"];
|
|
3
|
-
export declare function run(args?: string[], io?: CommandIo): Promise<number>;
|
|
4
|
-
export declare function main(args?: string[], io?: CommandIo): Promise<number>;
|
package/dist/cli.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.COMMANDS = void 0;
|
|
4
|
-
exports.run = run;
|
|
5
|
-
exports.main = main;
|
|
6
|
-
const daemon_1 = require("./commands/daemon");
|
|
7
|
-
const doctor_1 = require("./commands/doctor");
|
|
8
|
-
const help_1 = require("./commands/help");
|
|
9
|
-
const tui_1 = require("./commands/tui");
|
|
10
|
-
const version_1 = require("./commands/version");
|
|
11
|
-
const web_1 = require("./commands/web");
|
|
12
|
-
const write_1 = require("./utils/write");
|
|
13
|
-
exports.COMMANDS = ["tui", "web", "daemon", "doctor", "version"];
|
|
14
|
-
async function run(args = [], io = {}) {
|
|
15
|
-
const [command, ...commandArgs] = args;
|
|
16
|
-
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
17
|
-
return (0, help_1.runHelp)(commandArgs, io);
|
|
18
|
-
}
|
|
19
|
-
if (command === "version" || command === "--version")
|
|
20
|
-
return (0, version_1.runVersion)(commandArgs, io);
|
|
21
|
-
if (command === "doctor")
|
|
22
|
-
return (0, doctor_1.runDoctor)(commandArgs, io);
|
|
23
|
-
if (command === "daemon")
|
|
24
|
-
return (0, daemon_1.runDaemon)(commandArgs, io);
|
|
25
|
-
if (command === "tui")
|
|
26
|
-
return (0, tui_1.runTui)(commandArgs, io);
|
|
27
|
-
if (command === "web")
|
|
28
|
-
return (0, web_1.runWeb)(commandArgs, io);
|
|
29
|
-
(0, write_1.write)(io.stderr || process.stderr, `Unknown command: ${command}\nRun "bluenote --help" for usage.\n`);
|
|
30
|
-
return 1;
|
|
31
|
-
}
|
|
32
|
-
async function main(args = process.argv.slice(2), io) {
|
|
33
|
-
const exitCode = await run(args, io);
|
|
34
|
-
process.exitCode = exitCode;
|
|
35
|
-
return exitCode;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAWA,kBAeC;AAED,oBAIC;AA/BD,8CAA6C;AAC7C,8CAA6C;AAC7C,0CAAyC;AACzC,wCAAuC;AACvC,gDAA+C;AAC/C,wCAAuC;AACvC,yCAAqC;AAExB,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA;AAEvE,KAAK,UAAU,GAAG,CAAC,OAAiB,EAAE,EAAE,KAAgB,EAAE;IAC/D,MAAM,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAA;IAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/E,OAAO,IAAA,cAAO,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,IAAA,oBAAU,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACxF,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAA,kBAAS,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC3D,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAA,kBAAS,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC3D,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAA,YAAM,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAA,YAAM,EAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAErD,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,oBAAoB,OAAO,sCAAsC,CAAC,CAAA;IACrG,OAAO,CAAC,CAAA;AACV,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAc;IAC/E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC3B,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/dist/commands/daemon.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.runDaemon = runDaemon;
|
|
7
|
-
const child_process_1 = require("child_process");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const paths_1 = require("../daemon/paths");
|
|
10
|
-
const token_1 = require("../daemon/token");
|
|
11
|
-
const server_1 = require("../daemon/server");
|
|
12
|
-
const package_info_1 = require("../utils/package-info");
|
|
13
|
-
const daemon_state_1 = require("../utils/daemon-state");
|
|
14
|
-
const write_1 = require("../utils/write");
|
|
15
|
-
const HELP_TEXT = `BlueNote daemon
|
|
16
|
-
|
|
17
|
-
Usage: bluenote daemon <start|status|stop>
|
|
18
|
-
|
|
19
|
-
Commands:
|
|
20
|
-
start Start the local BlueNote daemon
|
|
21
|
-
status Show daemon status and health
|
|
22
|
-
stop Stop the local BlueNote daemon
|
|
23
|
-
`;
|
|
24
|
-
function binPath() {
|
|
25
|
-
return path_1.default.resolve(__dirname, "..", "bin.js");
|
|
26
|
-
}
|
|
27
|
-
function parseServeArgs(args, env = process.env) {
|
|
28
|
-
const parsed = { token: env.BLUENOTE_DAEMON_SERVE_TOKEN };
|
|
29
|
-
for (let index = 0; index < args.length; index += 1) {
|
|
30
|
-
const value = args[index];
|
|
31
|
-
if (value === "--state" && args[index + 1])
|
|
32
|
-
parsed.statePath = args[++index];
|
|
33
|
-
else if (value === "--version" && args[index + 1])
|
|
34
|
-
parsed.version = args[++index];
|
|
35
|
-
}
|
|
36
|
-
return parsed;
|
|
37
|
-
}
|
|
38
|
-
async function waitForRunning(env, deadlineMs) {
|
|
39
|
-
const deadline = Date.now() + deadlineMs;
|
|
40
|
-
let latest = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
41
|
-
while (Date.now() < deadline) {
|
|
42
|
-
latest = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
43
|
-
if (latest.state === "running")
|
|
44
|
-
return latest;
|
|
45
|
-
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
46
|
-
}
|
|
47
|
-
return latest;
|
|
48
|
-
}
|
|
49
|
-
async function startDaemon(io) {
|
|
50
|
-
const stdout = io.stdout || process.stdout;
|
|
51
|
-
const stderr = io.stderr || process.stderr;
|
|
52
|
-
const env = io.env || process.env;
|
|
53
|
-
const existing = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
54
|
-
if (existing.state === "running" && existing.metadata) {
|
|
55
|
-
(0, write_1.write)(stdout, `BlueNote daemon already running\nstatus: running\nendpoint: ${existing.metadata.url}\npid: ${existing.metadata.pid}\n`);
|
|
56
|
-
return 0;
|
|
57
|
-
}
|
|
58
|
-
if (existing.state === "stale")
|
|
59
|
-
(0, daemon_state_1.removeDaemonMetadata)(env);
|
|
60
|
-
const statePath = (0, paths_1.getDaemonStatePath)(env);
|
|
61
|
-
const token = (0, token_1.createDaemonToken)();
|
|
62
|
-
const version = (0, package_info_1.readOwnPackageInfo)().version;
|
|
63
|
-
const spawn = io.spawn || child_process_1.spawn;
|
|
64
|
-
let child;
|
|
65
|
-
try {
|
|
66
|
-
child = spawn(process.execPath, [binPath(), "daemon", "serve", "--state", statePath, "--version", version], {
|
|
67
|
-
detached: true,
|
|
68
|
-
stdio: "ignore",
|
|
69
|
-
env: { ...env, BLUENOTE_DAEMON_SERVE_TOKEN: token },
|
|
70
|
-
});
|
|
71
|
-
child.unref();
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
75
|
-
(0, write_1.write)(stderr, `Unable to start BlueNote daemon: ${message}\n`);
|
|
76
|
-
return 1;
|
|
77
|
-
}
|
|
78
|
-
const status = await waitForRunning(env, 5000);
|
|
79
|
-
if (status.state !== "running" || !status.metadata) {
|
|
80
|
-
if (child?.pid) {
|
|
81
|
-
try {
|
|
82
|
-
process.kill(child.pid, "SIGTERM");
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
// best effort cleanup for failed starts
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
(0, write_1.write)(stderr, "Unable to start BlueNote daemon: health check did not become ready.\n");
|
|
89
|
-
return 1;
|
|
90
|
-
}
|
|
91
|
-
(0, write_1.write)(stdout, `BlueNote daemon started\nstatus: running\nendpoint: ${status.metadata.url}\npid: ${status.metadata.pid}\n`);
|
|
92
|
-
return 0;
|
|
93
|
-
}
|
|
94
|
-
async function statusDaemon(io) {
|
|
95
|
-
const stdout = io.stdout || process.stdout;
|
|
96
|
-
const status = await (0, daemon_state_1.readDaemonStatus)(io.env || process.env);
|
|
97
|
-
(0, write_1.write)(stdout, `status: ${status.state}\n`);
|
|
98
|
-
(0, write_1.write)(stdout, `endpoint: ${status.metadata ? status.metadata.url : "unavailable"}\n`);
|
|
99
|
-
(0, write_1.write)(stdout, `pid: ${status.metadata?.pid || "unavailable"}\n`);
|
|
100
|
-
(0, write_1.write)(stdout, `token: ${status.metadata?.token ? "present" : "missing"}\n`);
|
|
101
|
-
(0, write_1.write)(stdout, `health: ${status.healthOk ? "ok" : status.state === "stopped" ? "not checked" : "failed"}\n`);
|
|
102
|
-
return 0;
|
|
103
|
-
}
|
|
104
|
-
async function stopDaemon(io) {
|
|
105
|
-
const stdout = io.stdout || process.stdout;
|
|
106
|
-
const env = io.env || process.env;
|
|
107
|
-
const status = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
108
|
-
if (!status.metadata) {
|
|
109
|
-
(0, write_1.write)(stdout, "BlueNote daemon is not running.\nstatus: stopped\n");
|
|
110
|
-
return 0;
|
|
111
|
-
}
|
|
112
|
-
if (status.state === "running") {
|
|
113
|
-
try {
|
|
114
|
-
await (0, daemon_state_1.requestJson)(`${status.metadata.url}/shutdown`, { method: "POST", token: status.metadata.token, timeoutMs: 1500 });
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
try {
|
|
118
|
-
process.kill(status.metadata.pid, "SIGTERM");
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// best effort
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
try {
|
|
127
|
-
process.kill(status.metadata.pid, "SIGTERM");
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
// best effort
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
(0, daemon_state_1.removeDaemonMetadata)(env);
|
|
134
|
-
(0, write_1.write)(stdout, "BlueNote daemon stopped\nstatus: stopped\n");
|
|
135
|
-
return 0;
|
|
136
|
-
}
|
|
137
|
-
async function runDaemon(args = [], io = {}) {
|
|
138
|
-
const stdout = io.stdout || process.stdout;
|
|
139
|
-
const stderr = io.stderr || process.stderr;
|
|
140
|
-
const command = args[0];
|
|
141
|
-
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
142
|
-
(0, write_1.write)(stdout, HELP_TEXT);
|
|
143
|
-
return 0;
|
|
144
|
-
}
|
|
145
|
-
if (command === "serve") {
|
|
146
|
-
const parsed = parseServeArgs(args.slice(1), io.env || process.env);
|
|
147
|
-
if (!parsed.statePath || !parsed.token || !parsed.version) {
|
|
148
|
-
(0, write_1.write)(stderr, "Missing daemon serve arguments.\n");
|
|
149
|
-
return 1;
|
|
150
|
-
}
|
|
151
|
-
await (0, server_1.startDaemonServer)({ statePath: parsed.statePath, token: parsed.token, version: parsed.version });
|
|
152
|
-
return 0;
|
|
153
|
-
}
|
|
154
|
-
if (command === "start")
|
|
155
|
-
return await startDaemon(io);
|
|
156
|
-
if (command === "status")
|
|
157
|
-
return await statusDaemon(io);
|
|
158
|
-
if (command === "stop")
|
|
159
|
-
return await stopDaemon(io);
|
|
160
|
-
(0, write_1.write)(stderr, `Unknown daemon command: ${command}\nRun "bluenote daemon --help" for usage.\n`);
|
|
161
|
-
return 1;
|
|
162
|
-
}
|
|
163
|
-
//# sourceMappingURL=daemon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.runDoctor = runDoctor;
|
|
7
|
-
const child_process_1 = require("child_process");
|
|
8
|
-
const os_1 = __importDefault(require("os"));
|
|
9
|
-
const paths_1 = require("../daemon/paths");
|
|
10
|
-
const command_discovery_1 = require("../utils/command-discovery");
|
|
11
|
-
const daemon_state_1 = require("../utils/daemon-state");
|
|
12
|
-
const package_info_1 = require("../utils/package-info");
|
|
13
|
-
const runtime_requirements_1 = require("../utils/runtime-requirements");
|
|
14
|
-
const write_1 = require("../utils/write");
|
|
15
|
-
const OPTIONAL_CLIENTS = ["bluenote-webui", "bluenote-term"];
|
|
16
|
-
function isWindowsShellCommand(commandPath, platform) {
|
|
17
|
-
return platform === "win32" && /\.(cmd|bat)$/i.test(commandPath);
|
|
18
|
-
}
|
|
19
|
-
function runClientCheck(commandPath, args, io, platform, env) {
|
|
20
|
-
const spawnSync = io.spawnSync || child_process_1.spawnSync;
|
|
21
|
-
const result = spawnSync(commandPath, args, {
|
|
22
|
-
encoding: "utf8",
|
|
23
|
-
env,
|
|
24
|
-
shell: isWindowsShellCommand(commandPath, platform),
|
|
25
|
-
timeout: 5000,
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
ok: !result.error && result.status === 0,
|
|
29
|
-
stdout: String(result.stdout || ""),
|
|
30
|
-
stderr: String(result.stderr || ""),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
function firstLine(value) {
|
|
34
|
-
return value.split(/\r?\n/).map((line) => line.trim()).find(Boolean);
|
|
35
|
-
}
|
|
36
|
-
function checkBun(io) {
|
|
37
|
-
const spawnSync = io.spawnSync || child_process_1.spawnSync;
|
|
38
|
-
const result = spawnSync("bun", ["--version"], { encoding: "utf8", env: io.env || process.env });
|
|
39
|
-
if (result.error || result.status !== 0)
|
|
40
|
-
return { available: false };
|
|
41
|
-
return { available: true, version: String(result.stdout || "").trim() };
|
|
42
|
-
}
|
|
43
|
-
async function runDoctor(args = [], io = {}) {
|
|
44
|
-
const stdout = io.stdout || process.stdout;
|
|
45
|
-
const stderr = io.stderr || process.stderr;
|
|
46
|
-
const env = io.env || process.env;
|
|
47
|
-
const parsedClientMode = (0, command_discovery_1.parseClientModeArgs)(args, env);
|
|
48
|
-
if (!parsedClientMode.ok) {
|
|
49
|
-
(0, write_1.write)(stderr, parsedClientMode.message);
|
|
50
|
-
return 1;
|
|
51
|
-
}
|
|
52
|
-
const nodeVersion = io.nodeVersion || process.versions.node;
|
|
53
|
-
const platform = io.platform || process.platform;
|
|
54
|
-
const supportedNode = (0, runtime_requirements_1.isSupportedNodeVersion)(nodeVersion);
|
|
55
|
-
const ownPackage = (0, package_info_1.readOwnPackageInfo)();
|
|
56
|
-
(0, write_1.write)(stdout, "BlueNote doctor\n\n");
|
|
57
|
-
(0, write_1.write)(stdout, "Distribution\n");
|
|
58
|
-
(0, write_1.write)(stdout, " command: ok\n");
|
|
59
|
-
(0, write_1.write)(stdout, ` version: ${ownPackage.version}\n`);
|
|
60
|
-
(0, write_1.write)(stdout, ` platform: ${platform} (${os_1.default.arch()})\n`);
|
|
61
|
-
(0, write_1.write)(stdout, ` node: ${supportedNode ? "ok" : "unsupported"} (${nodeVersion}; requires ${(0, runtime_requirements_1.nodeRequirementText)()})\n`);
|
|
62
|
-
(0, write_1.write)(stdout, `Node status: ${supportedNode ? "ok" : "unsupported"}\n`);
|
|
63
|
-
const daemon = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
64
|
-
(0, write_1.write)(stdout, "\nDaemon\n");
|
|
65
|
-
(0, write_1.write)(stdout, ` status: ${daemon.state}\n`);
|
|
66
|
-
(0, write_1.write)(stdout, ` endpoint: ${daemon.metadata ? daemon.metadata.url : "unavailable"}\n`);
|
|
67
|
-
(0, write_1.write)(stdout, ` pid: ${daemon.metadata?.pid || "unavailable"}\n`);
|
|
68
|
-
(0, write_1.write)(stdout, ` token: ${daemon.metadata?.token ? "present" : "missing"}\n`);
|
|
69
|
-
(0, write_1.write)(stdout, ` health: ${daemon.healthOk ? "ok" : daemon.state === "stopped" ? "not checked" : "failed"}\n`);
|
|
70
|
-
(0, write_1.write)(stdout, "\nClients\n");
|
|
71
|
-
let builtTuiAvailable = false;
|
|
72
|
-
for (const client of OPTIONAL_CLIENTS) {
|
|
73
|
-
const resolution = (0, command_discovery_1.resolveClientCommand)(client, { env, clientMode: parsedClientMode.mode, platform, pathext: env.PATHEXT });
|
|
74
|
-
if (!resolution) {
|
|
75
|
-
(0, write_1.write)(stdout, ` ${client}: missing\n`);
|
|
76
|
-
(0, write_1.write)(stdout, " version: unavailable\n");
|
|
77
|
-
(0, write_1.write)(stdout, " daemon handshake: not checked\n");
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
const clientEnv = { ...env };
|
|
81
|
-
if (daemon.state === "running" && daemon.metadata) {
|
|
82
|
-
clientEnv.BLUENOTE_DAEMON_URL = daemon.metadata.url;
|
|
83
|
-
clientEnv.BLUENOTE_DAEMON_TOKEN = daemon.metadata.token;
|
|
84
|
-
}
|
|
85
|
-
const version = runClientCheck(resolution.path, ["--version"], io, platform, clientEnv);
|
|
86
|
-
const handshake = daemon.state === "running" && daemon.metadata
|
|
87
|
-
? runClientCheck(resolution.path, ["--check-daemon"], io, platform, clientEnv)
|
|
88
|
-
: undefined;
|
|
89
|
-
const status = version.ok && (!handshake || handshake.ok) ? resolution.mode : "broken";
|
|
90
|
-
if (client === "bluenote-term" && resolution.mode === "built" && status === "built")
|
|
91
|
-
builtTuiAvailable = true;
|
|
92
|
-
(0, write_1.write)(stdout, ` ${client}: ${status}\n`);
|
|
93
|
-
(0, write_1.write)(stdout, ` path: ${resolution.path}\n`);
|
|
94
|
-
(0, write_1.write)(stdout, ` version: ${version.ok ? firstLine(version.stdout) || "available" : "unavailable"}\n`);
|
|
95
|
-
(0, write_1.write)(stdout, ` daemon handshake: ${handshake ? handshake.ok ? "ok" : "failed" : "not checked"}\n`);
|
|
96
|
-
}
|
|
97
|
-
if (builtTuiAvailable) {
|
|
98
|
-
(0, write_1.write)(stdout, " Bun for source TUI: not required for built TUI\n");
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
const bun = checkBun(io);
|
|
102
|
-
(0, write_1.write)(stdout, ` Bun for source TUI: ${bun.available ? `available${bun.version ? ` (${bun.version})` : ""}` : "not found; install Bun for source/development TUI usage"}\n`);
|
|
103
|
-
}
|
|
104
|
-
(0, write_1.write)(stdout, "\nConfig\n");
|
|
105
|
-
(0, write_1.write)(stdout, ` config dir: ${(0, paths_1.getBluenoteStateDir)(env)}\n`);
|
|
106
|
-
(0, write_1.write)(stdout, ` daemon state: ${(0, paths_1.getDaemonStatePath)(env)}\n`);
|
|
107
|
-
(0, write_1.write)(stdout, ` daemon endpoint: ${daemon.metadata ? daemon.metadata.url : "unavailable"}\n`);
|
|
108
|
-
(0, write_1.write)(stdout, "\nAI\n");
|
|
109
|
-
(0, write_1.write)(stdout, " provider: not configured\n");
|
|
110
|
-
(0, write_1.write)(stdout, " secrets: not printed\n");
|
|
111
|
-
return supportedNode ? 0 : 1;
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/help.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { CommandIo } from "../types";
|
|
2
|
-
export declare const HELP_TEXT = "BlueNote distribution CLI\n\nUsage: bluenote <command> [options]\n bn <command> [options]\n\nCommands:\n tui [...args] Launch the terminal interface via bluenote-term\n web [...args] Launch the local WebUI via bluenote-webui\n daemon start|status|stop Manage the local BlueNote daemon\n doctor Check runtime, daemon, and optional clients\n version Print package versions\n\nOptions:\n -h, --help Show this help message\n";
|
|
3
|
-
export declare function runHelp(_args?: string[], io?: CommandIo): number;
|
package/dist/commands/help.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HELP_TEXT = void 0;
|
|
4
|
-
exports.runHelp = runHelp;
|
|
5
|
-
const write_1 = require("../utils/write");
|
|
6
|
-
exports.HELP_TEXT = `BlueNote distribution CLI
|
|
7
|
-
|
|
8
|
-
Usage: bluenote <command> [options]
|
|
9
|
-
bn <command> [options]
|
|
10
|
-
|
|
11
|
-
Commands:
|
|
12
|
-
tui [...args] Launch the terminal interface via bluenote-term
|
|
13
|
-
web [...args] Launch the local WebUI via bluenote-webui
|
|
14
|
-
daemon start|status|stop Manage the local BlueNote daemon
|
|
15
|
-
doctor Check runtime, daemon, and optional clients
|
|
16
|
-
version Print package versions
|
|
17
|
-
|
|
18
|
-
Options:
|
|
19
|
-
-h, --help Show this help message
|
|
20
|
-
`;
|
|
21
|
-
function runHelp(_args = [], io = {}) {
|
|
22
|
-
(0, write_1.write)(io.stdout || process.stdout, exports.HELP_TEXT);
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=help.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":";;;AAmBA,0BAGC;AAtBD,0CAAsC;AAGzB,QAAA,SAAS,GAAG;;;;;;;;;;;;;;CAcxB,CAAA;AAED,SAAgB,OAAO,CAAC,QAAkB,EAAE,EAAE,KAAgB,EAAE;IAC9D,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,iBAAS,CAAC,CAAA;IAC7C,OAAO,CAAC,CAAA;AACV,CAAC"}
|
package/dist/commands/tui.d.ts
DELETED
package/dist/commands/tui.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runTui = runTui;
|
|
4
|
-
const child_process_1 = require("child_process");
|
|
5
|
-
const command_discovery_1 = require("../utils/command-discovery");
|
|
6
|
-
const daemon_state_1 = require("../utils/daemon-state");
|
|
7
|
-
const write_1 = require("../utils/write");
|
|
8
|
-
function daemonNotRunning(io) {
|
|
9
|
-
(0, write_1.write)(io.stderr || process.stderr, "BlueNote daemon is not running.\nRun: bluenote daemon start\n");
|
|
10
|
-
return 1;
|
|
11
|
-
}
|
|
12
|
-
function missingClient(io, command, mode) {
|
|
13
|
-
if (mode === "built") {
|
|
14
|
-
(0, write_1.write)(io.stderr || process.stderr, `Built client ${command} was not found in BLUENOTE_BUILT_CLIENT_DIR. Install the BlueNote built client artifact, set BLUENOTE_BUILT_CLIENT_DIR to its directory, or retry with --client-mode path for PATH discovery.\n`);
|
|
15
|
-
return 1;
|
|
16
|
-
}
|
|
17
|
-
(0, write_1.write)(io.stderr || process.stderr, `Optional client ${command} was not found on PATH. Install it with npm install -g ${command} and retry.\n`);
|
|
18
|
-
return 1;
|
|
19
|
-
}
|
|
20
|
-
async function runTui(args = [], io = {}) {
|
|
21
|
-
const env = io.env || process.env;
|
|
22
|
-
const daemon = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
23
|
-
if (daemon.state !== "running" || !daemon.metadata)
|
|
24
|
-
return daemonNotRunning(io);
|
|
25
|
-
const metadata = daemon.metadata;
|
|
26
|
-
const parsed = (0, command_discovery_1.parseClientModeArgs)(args, env);
|
|
27
|
-
if (!parsed.ok) {
|
|
28
|
-
(0, write_1.write)(io.stderr || process.stderr, parsed.message);
|
|
29
|
-
return 1;
|
|
30
|
-
}
|
|
31
|
-
const resolution = (0, command_discovery_1.resolveClientCommand)("bluenote-term", { env, clientMode: parsed.mode, platform: io.platform || process.platform, pathext: env.PATHEXT });
|
|
32
|
-
if (!resolution)
|
|
33
|
-
return missingClient(io, "bluenote-term", parsed.mode);
|
|
34
|
-
const spawn = io.spawn || child_process_1.spawn;
|
|
35
|
-
return await new Promise((resolve) => {
|
|
36
|
-
let child;
|
|
37
|
-
try {
|
|
38
|
-
child = spawn(resolution.path, parsed.args, {
|
|
39
|
-
stdio: ["inherit", "inherit", "inherit"],
|
|
40
|
-
shell: (io.platform || process.platform) === "win32" && /\.(cmd|bat)$/i.test(resolution.path),
|
|
41
|
-
env: {
|
|
42
|
-
...env,
|
|
43
|
-
BLUENOTE_DAEMON_URL: metadata.url,
|
|
44
|
-
BLUENOTE_DAEMON_TOKEN: metadata.token,
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
50
|
-
(0, write_1.write)(io.stderr || process.stderr, `Unable to launch bluenote-term: ${message}\n`);
|
|
51
|
-
resolve(1);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
child.on("error", (error) => {
|
|
55
|
-
(0, write_1.write)(io.stderr || process.stderr, `Unable to launch bluenote-term: ${error.message}\n`);
|
|
56
|
-
resolve(1);
|
|
57
|
-
});
|
|
58
|
-
child.on("exit", (code) => {
|
|
59
|
-
resolve(code === null ? 1 : code);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=tui.js.map
|
package/dist/commands/tui.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/version.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runVersion = runVersion;
|
|
4
|
-
const package_info_1 = require("../utils/package-info");
|
|
5
|
-
const write_1 = require("../utils/write");
|
|
6
|
-
const RUNTIME_PACKAGES = ["@lordierclaw/bluenote-core"];
|
|
7
|
-
function runVersion(_args = [], io = {}) {
|
|
8
|
-
const own = (0, package_info_1.readOwnPackageInfo)();
|
|
9
|
-
const lines = [`${own.name} ${own.version}`];
|
|
10
|
-
for (const packageName of RUNTIME_PACKAGES) {
|
|
11
|
-
const resolution = (0, package_info_1.resolvePackageJson)(packageName);
|
|
12
|
-
lines.push(`${packageName} ${resolution.version || (resolution.resolved ? "version unavailable" : "not installed")}`);
|
|
13
|
-
}
|
|
14
|
-
(0, write_1.write)(io.stdout || process.stdout, `${lines.join("\n")}\n`);
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":";;AAMA,gCAWC;AAhBD,wDAA8E;AAC9E,0CAAsC;AAEtC,MAAM,gBAAgB,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEvD,SAAgB,UAAU,CAAC,QAAkB,EAAE,EAAE,KAAgB,EAAE;IACjE,MAAM,GAAG,GAAG,IAAA,iCAAkB,GAAE,CAAA;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAE5C,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAA,iCAAkB,EAAC,WAAW,CAAC,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACvH,CAAC;IAED,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3D,OAAO,CAAC,CAAA;AACV,CAAC"}
|
package/dist/commands/web.d.ts
DELETED
package/dist/commands/web.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runWeb = runWeb;
|
|
4
|
-
const child_process_1 = require("child_process");
|
|
5
|
-
const command_discovery_1 = require("../utils/command-discovery");
|
|
6
|
-
const daemon_state_1 = require("../utils/daemon-state");
|
|
7
|
-
const write_1 = require("../utils/write");
|
|
8
|
-
function daemonNotRunning(io) {
|
|
9
|
-
(0, write_1.write)(io.stderr || process.stderr, "BlueNote daemon is not running.\nRun: bluenote daemon start\n");
|
|
10
|
-
return 1;
|
|
11
|
-
}
|
|
12
|
-
function missingClient(io, command, mode) {
|
|
13
|
-
if (mode === "built") {
|
|
14
|
-
(0, write_1.write)(io.stderr || process.stderr, `Built client ${command} was not found in BLUENOTE_BUILT_CLIENT_DIR. Install the BlueNote built client artifact, set BLUENOTE_BUILT_CLIENT_DIR to its directory, or retry with --client-mode path for PATH discovery.\n`);
|
|
15
|
-
return 1;
|
|
16
|
-
}
|
|
17
|
-
(0, write_1.write)(io.stderr || process.stderr, `Optional client ${command} was not found on PATH. Install it with npm install -g ${command} and retry.\n`);
|
|
18
|
-
return 1;
|
|
19
|
-
}
|
|
20
|
-
async function runWeb(args = [], io = {}) {
|
|
21
|
-
const env = io.env || process.env;
|
|
22
|
-
const daemon = await (0, daemon_state_1.readDaemonStatus)(env);
|
|
23
|
-
if (daemon.state !== "running" || !daemon.metadata)
|
|
24
|
-
return daemonNotRunning(io);
|
|
25
|
-
const metadata = daemon.metadata;
|
|
26
|
-
const parsed = (0, command_discovery_1.parseClientModeArgs)(args, env);
|
|
27
|
-
if (!parsed.ok) {
|
|
28
|
-
(0, write_1.write)(io.stderr || process.stderr, parsed.message);
|
|
29
|
-
return 1;
|
|
30
|
-
}
|
|
31
|
-
const resolution = (0, command_discovery_1.resolveClientCommand)("bluenote-webui", { env, clientMode: parsed.mode, platform: io.platform || process.platform, pathext: env.PATHEXT });
|
|
32
|
-
if (!resolution)
|
|
33
|
-
return missingClient(io, "bluenote-webui", parsed.mode);
|
|
34
|
-
const spawn = io.spawn || child_process_1.spawn;
|
|
35
|
-
return await new Promise((resolve) => {
|
|
36
|
-
let child;
|
|
37
|
-
try {
|
|
38
|
-
child = spawn(resolution.path, parsed.args, {
|
|
39
|
-
stdio: ["inherit", "inherit", "inherit"],
|
|
40
|
-
shell: (io.platform || process.platform) === "win32" && /\.(cmd|bat)$/i.test(resolution.path),
|
|
41
|
-
env: {
|
|
42
|
-
...env,
|
|
43
|
-
BLUENOTE_DAEMON_URL: metadata.url,
|
|
44
|
-
BLUENOTE_DAEMON_TOKEN: metadata.token,
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
50
|
-
(0, write_1.write)(io.stderr || process.stderr, `Unable to launch bluenote-webui: ${message}\n`);
|
|
51
|
-
resolve(1);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
child.on("error", (error) => {
|
|
55
|
-
(0, write_1.write)(io.stderr || process.stderr, `Unable to launch bluenote-webui: ${error.message}\n`);
|
|
56
|
-
resolve(1);
|
|
57
|
-
});
|
|
58
|
-
child.on("exit", (code) => {
|
|
59
|
-
resolve(code === null ? 1 : code);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=web.js.map
|
package/dist/commands/web.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":";;AAqBA,wBA0CC;AA/DD,iDAAqD;AAGrD,kEAAsF;AACtF,wDAAwD;AACxD,0CAAsC;AAEtC,SAAS,gBAAgB,CAAC,EAAa;IACrC,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,+DAA+D,CAAC,CAAA;IACnG,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,aAAa,CAAC,EAAa,EAAE,OAAe,EAAE,IAAY;IACjE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,gBAAgB,OAAO,iMAAiM,CAAC,CAAA;QAC5P,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,mBAAmB,OAAO,0DAA0D,OAAO,eAAe,CAAC,CAAA;IAC9I,OAAO,CAAC,CAAA;AACV,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,OAAiB,EAAE,EAAE,KAAgB,EAAE;IAClE,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAgB,EAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,MAAM,GAAG,IAAA,uCAAmB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5J,IAAI,CAAC,UAAU;QAAE,OAAO,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAExE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,qBAAY,CAAA;IACtC,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAA;QACT,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBACxC,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC7F,GAAG,EAAE;oBACH,GAAG,GAAG;oBACN,mBAAmB,EAAE,QAAQ,CAAC,GAAG;oBACjC,qBAAqB,EAAE,QAAQ,CAAC,KAAK;iBACtC;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,oCAAoC,OAAO,IAAI,CAAC,CAAA;YACnF,OAAO,CAAC,CAAC,CAAC,CAAA;YACV,OAAM;QACR,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAA,aAAK,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,oCAAoC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YACzF,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/daemon/paths.d.ts
DELETED