vana-cli 0.32.0 → 0.34.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 +6 -6
- package/dist/cli/bin.js +14 -0
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +14 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/render/progress.d.ts.map +1 -1
- package/dist/cli/render/progress.js +8 -1
- package/dist/cli/render/progress.js.map +1 -1
- package/dist/cli/server-start.d.ts +3 -0
- package/dist/cli/server-start.d.ts.map +1 -1
- package/dist/cli/server-start.js +62 -7
- package/dist/cli/server-start.js.map +1 -1
- package/dist/personal-server/local/detach.d.ts.map +1 -1
- package/dist/personal-server/local/detach.js +3 -0
- package/dist/personal-server/local/detach.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,14 +40,14 @@ vana login # Vana account, or --server <url> for a self-hosted
|
|
|
40
40
|
vana connect github # managed browser, collects, syncs to your server
|
|
41
41
|
vana data show github # what was collected
|
|
42
42
|
vana server status # your server, local and registered URLs
|
|
43
|
-
vana server start # run your own server
|
|
43
|
+
vana server start # run your own server in the background (no Desktop needed)
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
`vana server start`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
`vana server start` runs your Personal Server in the background and returns
|
|
47
|
+
once it answers; `vana server stop` stops it, and `--foreground` keeps it in
|
|
48
|
+
the terminal with its logs. It is public by default: registered on-chain for
|
|
49
|
+
your account, reachable through Vana's relay, and synced to Vana storage.
|
|
50
|
+
`--local` keeps it on this machine only. On a Mac the tunnel client is a build of frpc
|
|
51
51
|
signed and notarized by Vana (or Vana Desktop's copy, when installed).
|
|
52
52
|
|
|
53
53
|
**Builder side** is what an app or an agent uses to work with someone
|
package/dist/cli/bin.js
CHANGED
|
@@ -12,4 +12,18 @@ const exitCode = await runCli(process.argv);
|
|
|
12
12
|
if (typeof exitCode === "number") {
|
|
13
13
|
process.exitCode = exitCode;
|
|
14
14
|
}
|
|
15
|
+
// The command is done and its telemetry sent. Anything a library left open
|
|
16
|
+
// (a timer, a socket, a stdin listener) must not keep the terminal waiting:
|
|
17
|
+
// after a short grace for output to drain, leave. The timer itself does not
|
|
18
|
+
// hold the process, so a clean exit still happens at once.
|
|
19
|
+
// VANA_DEBUG_HANDLES=1 names what was still open.
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
if (process.env.VANA_DEBUG_HANDLES) {
|
|
22
|
+
const handles = process._getActiveHandles();
|
|
23
|
+
process.stderr.write(`[vana] still open at exit: ${handles
|
|
24
|
+
.map((handle) => handle?.constructor?.name ?? typeof handle)
|
|
25
|
+
.join(", ")}\n`);
|
|
26
|
+
}
|
|
27
|
+
process.exit();
|
|
28
|
+
}, 2_000).unref();
|
|
15
29
|
//# sourceMappingURL=bin.js.map
|
package/dist/cli/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,2DAA2D;AAC3D,kDAAkD;AAClD,UAAU,CAAC,GAAG,EAAE;IACd,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,MAAM,OAAO,GACX,OACD,CAAC,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8BAA8B,OAAO;aAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAE,MAAiB,EAAE,WAAW,EAAE,IAAI,IAAI,OAAO,MAAM,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -28,6 +28,7 @@ const vanaPromptTheme = {
|
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
import { createConnectRenderer, createHumanRenderer, createLoginRenderer, formatDisplayPath, formatRelativeTime, } from "./render/index.js";
|
|
31
|
+
import { createProgressHandle } from "./render/progress.js";
|
|
31
32
|
import { CliOutcomeStatus, migrateLegacyDataHome, getBrowserProfilesDir, getConnectorCacheDir, getLogsDir, getSessionsDir, getSourceResultPath, readCliState, readCliConfig, updateCliConfig, updateSourceState, } from "../core/index.js";
|
|
32
33
|
import { getVanaHome } from "../core/paths.js";
|
|
33
34
|
import { UnknownNetworkError, VANA_NETWORKS, isVanaNetworkName, resolveNetwork, } from "../core/network.js";
|
|
@@ -415,7 +416,7 @@ Examples:
|
|
|
415
416
|
Examples:
|
|
416
417
|
vana server
|
|
417
418
|
vana server start
|
|
418
|
-
vana server start --
|
|
419
|
+
vana server start --foreground
|
|
419
420
|
vana server stop
|
|
420
421
|
vana server set-url http://localhost:8080
|
|
421
422
|
vana server set-url https://ps-abc123.server.vana.org
|
|
@@ -448,10 +449,11 @@ Examples:
|
|
|
448
449
|
});
|
|
449
450
|
server
|
|
450
451
|
.command("start")
|
|
451
|
-
.description("Run your own Personal Server
|
|
452
|
+
.description("Run your own Personal Server in the background (no Vana Desktop needed); stop with `vana server stop`")
|
|
452
453
|
.option("--port <port>", "Port to listen on (its neighbour hosts the approval page)")
|
|
453
454
|
.option("--local", "Stay local only: no public URL, no on-chain registration, apps cannot reach it")
|
|
454
|
-
.option("--
|
|
455
|
+
.option("--foreground", "Stay in this terminal with the server's logs; stop with Ctrl+C")
|
|
456
|
+
.option("--detach", "Run in the background (the default)")
|
|
455
457
|
.option("--json", "Output machine-readable JSON")
|
|
456
458
|
.action(async (startOptions) => {
|
|
457
459
|
process.exitCode = await runCommandWithTelemetry({ ...telemetryBaseContext, command: "server", subcommand: "start" }, async () => {
|
|
@@ -469,7 +471,9 @@ Examples:
|
|
|
469
471
|
noInput: parsedOptions.noInput,
|
|
470
472
|
yes: parsedOptions.yes,
|
|
471
473
|
local: startOptions.local,
|
|
472
|
-
|
|
474
|
+
// In the background unless asked to stay: `vana login` starts
|
|
475
|
+
// it that way too, and the server outlives the terminal.
|
|
476
|
+
detach: !startOptions.foreground,
|
|
473
477
|
}, serverStartIo(parsedOptions));
|
|
474
478
|
});
|
|
475
479
|
});
|
|
@@ -2160,7 +2164,7 @@ async function runServerStatus(options, statusOptions = {}) {
|
|
|
2160
2164
|
}
|
|
2161
2165
|
if (target.state !== "available") {
|
|
2162
2166
|
emit.blank();
|
|
2163
|
-
emit.next("vana server start
|
|
2167
|
+
emit.next("vana server start");
|
|
2164
2168
|
}
|
|
2165
2169
|
emit.blank();
|
|
2166
2170
|
emit.detail(`More: ${emit.code("vana server sync")} | ${emit.code("vana server data")} | ${emit.code("vana server --help")}`);
|
|
@@ -5336,7 +5340,7 @@ async function runLogin(options, serverUrl, clientId) {
|
|
|
5336
5340
|
}
|
|
5337
5341
|
else {
|
|
5338
5342
|
renderer.detail("No Personal Server found for this account yet.");
|
|
5339
|
-
renderer.next("vana server start
|
|
5343
|
+
renderer.next("vana server start");
|
|
5340
5344
|
renderer.detail("Or point at one you already run: vana server set-url <url>");
|
|
5341
5345
|
}
|
|
5342
5346
|
}
|
|
@@ -5362,6 +5366,9 @@ async function runLogin(options, serverUrl, clientId) {
|
|
|
5362
5366
|
}
|
|
5363
5367
|
function serverStartIo(options) {
|
|
5364
5368
|
return {
|
|
5369
|
+
progress: createProgressHandle({
|
|
5370
|
+
enabled: !options.json && !options.quiet,
|
|
5371
|
+
}),
|
|
5365
5372
|
say: (line) => {
|
|
5366
5373
|
if (!options.json)
|
|
5367
5374
|
process.stderr.write(`${line}\n`);
|
|
@@ -5436,7 +5443,7 @@ async function offerServerStart(address, options) {
|
|
|
5436
5443
|
...vanaPromptTheme,
|
|
5437
5444
|
});
|
|
5438
5445
|
if (!start) {
|
|
5439
|
-
process.stderr.write(" Start it later with `vana server start
|
|
5446
|
+
process.stderr.write(" Start it later with `vana server start`.\n");
|
|
5440
5447
|
return;
|
|
5441
5448
|
}
|
|
5442
5449
|
await runServerStart({
|