vana-cli 0.26.0 → 0.28.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.
Files changed (34) hide show
  1. package/README.md +7 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +28 -0
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/cli/server-start.d.ts +14 -1
  6. package/dist/cli/server-start.d.ts.map +1 -1
  7. package/dist/cli/server-start.js +207 -5
  8. package/dist/cli/server-start.js.map +1 -1
  9. package/dist/personal-server/local/config.d.ts +5 -0
  10. package/dist/personal-server/local/config.d.ts.map +1 -1
  11. package/dist/personal-server/local/config.js +4 -2
  12. package/dist/personal-server/local/config.js.map +1 -1
  13. package/dist/personal-server/local/detach.d.ts +29 -0
  14. package/dist/personal-server/local/detach.d.ts.map +1 -0
  15. package/dist/personal-server/local/detach.js +134 -0
  16. package/dist/personal-server/local/detach.js.map +1 -0
  17. package/dist/personal-server/local/frpc.d.ts +59 -0
  18. package/dist/personal-server/local/frpc.d.ts.map +1 -0
  19. package/dist/personal-server/local/frpc.js +191 -0
  20. package/dist/personal-server/local/frpc.js.map +1 -0
  21. package/dist/personal-server/local/owner-binding.d.ts +22 -2
  22. package/dist/personal-server/local/owner-binding.d.ts.map +1 -1
  23. package/dist/personal-server/local/owner-binding.js +23 -14
  24. package/dist/personal-server/local/owner-binding.js.map +1 -1
  25. package/dist/personal-server/local/registration.d.ts +42 -0
  26. package/dist/personal-server/local/registration.d.ts.map +1 -0
  27. package/dist/personal-server/local/registration.js +81 -0
  28. package/dist/personal-server/local/registration.js.map +1 -0
  29. package/dist/personal-server/local/runtime-pkg/entry.mjs +138 -20
  30. package/dist/personal-server/local/server.d.ts +25 -0
  31. package/dist/personal-server/local/server.d.ts.map +1 -1
  32. package/dist/personal-server/local/server.js +80 -4
  33. package/dist/personal-server/local/server.js.map +1 -1
  34. package/package.json +1 -1
@@ -1,12 +1,16 @@
1
1
  // The Personal Server process `vana server start` runs, modeled on Vana
2
2
  // Desktop's sidecar (apps/desktop/personal-server/index.js in unity-surfaces).
3
3
  //
4
- // It reads one JSON line on stdin, so the owner signature never appears in the
5
- // process list or environment:
4
+ // The first JSON line on stdin is its configuration, so the owner signature
5
+ // never appears in the process list or environment:
6
6
  // { rootPath, port, ownerSignature, ownerAddress, network: { gatewayUrl, chainId,
7
- // contracts, storageApiUrl } }
8
- // and writes one JSON object per line on stdout: ready, error, stopped.
9
- // Logs go to stderr.
7
+ // contracts, storageApiUrl }, tunnel: { binaryPath, serverAddr, serverPort } | null }
8
+ // Later lines are commands from the CLI, which holds the Account session:
9
+ // { type: "prepare-registration" } -> registration-request
10
+ // { type: "submit-registration", signature } -> registration-submitted
11
+ // It writes one JSON object per line on stdout: ready, public, tunnel,
12
+ // registration-request, registration-submitted, command-failed, error,
13
+ // stopped. Logs go to stderr.
10
14
 
11
15
  import { readFile, rename, writeFile } from "node:fs/promises";
12
16
  import { join } from "node:path";
@@ -42,10 +46,12 @@ function applyDerived(persisted, derived) {
42
46
  return merged;
43
47
  }
44
48
 
45
- // Everything that follows from the network. Local only for now: no tunnel,
46
- // so nothing is reachable from outside and nothing may be registered, and no
47
- // sync to Vana storage until registration exists.
48
- function derivedConfig(network) {
49
+ // Everything that follows from the network and the tunnel client. Without a
50
+ // tunnel client the server is local only: nothing outside can reach it, so
51
+ // it is never registered and has nothing to sync. With one, the server
52
+ // reserves its public URL but dials the relay only once registered, and sync
53
+ // waits for registration too.
54
+ function derivedConfig(network, tunnel) {
49
55
  return {
50
56
  devUi: { enabled: true },
51
57
  gateway: {
@@ -61,29 +67,134 @@ function derivedConfig(network) {
61
67
  backend: "vana",
62
68
  config: { vana: { apiUrl: network.storageApiUrl } },
63
69
  },
64
- sync: { enabled: false },
65
- tunnel: { enabled: false },
70
+ sync: { enabled: Boolean(tunnel) },
71
+ tunnel: tunnel
72
+ ? {
73
+ enabled: true,
74
+ serverAddr: tunnel.serverAddr,
75
+ serverPort: tunnel.serverPort,
76
+ binaryPath: tunnel.binaryPath,
77
+ }
78
+ : { enabled: false },
66
79
  };
67
80
  }
68
81
 
82
+ const lines = readline
83
+ .createInterface({ input: process.stdin })
84
+ [Symbol.asyncIterator]();
85
+
69
86
  async function readInput() {
70
- const rl = readline.createInterface({ input: process.stdin });
71
- for await (const line of rl) {
72
- if (line.trim()) {
73
- rl.close();
74
- return JSON.parse(line);
75
- }
87
+ for (;;) {
88
+ const { value, done } = await lines.next();
89
+ if (done) throw new Error("No configuration on stdin.");
90
+ if (value.trim()) return JSON.parse(value);
76
91
  }
77
- throw new Error("No configuration on stdin.");
78
92
  }
79
93
 
80
94
  let ps = null;
81
95
 
96
+ // Only a tunnel URL may be registered: without one the server offers its
97
+ // localhost origin, which no app could ever reach.
98
+ function publicState(info) {
99
+ const tunnel = info.details?.tunnel ?? null;
100
+ return {
101
+ registered: Boolean(info.registration?.registered),
102
+ serverAddress: info.server?.address ?? null,
103
+ serverUrl: info.urls?.public ?? null,
104
+ tunnel: tunnel
105
+ ? {
106
+ status: tunnel.status ?? null,
107
+ routable: tunnel.routable !== false,
108
+ warning: tunnel.warning ?? null,
109
+ }
110
+ : null,
111
+ };
112
+ }
113
+
114
+ let watching = false;
115
+
116
+ // The server dials the relay on its own once it sees the registration (it
117
+ // polls the gateway); report when the public URL answers, as Desktop does.
118
+ async function watchTunnel() {
119
+ if (watching) return;
120
+ watching = true;
121
+ const started = Date.now();
122
+ let last = null;
123
+ while (Date.now() - started < 10 * 60_000) {
124
+ try {
125
+ last = publicState(await ps.info());
126
+ if (last.tunnel?.status === "connected" && last.tunnel.routable) {
127
+ send({ type: "tunnel", status: "connected", url: last.serverUrl });
128
+ return;
129
+ }
130
+ } catch (error) {
131
+ process.stderr.write(`[entry] tunnel check failed: ${error}\n`);
132
+ }
133
+ await new Promise((resolve) => setTimeout(resolve, 3_000));
134
+ }
135
+ send({
136
+ type: "tunnel",
137
+ status: last?.tunnel?.status ?? "unknown",
138
+ url: last?.serverUrl ?? null,
139
+ warning: last?.tunnel?.warning ?? "The tunnel did not connect in time.",
140
+ });
141
+ }
142
+
143
+ // Typed data can carry bigints, which JSON.stringify refuses.
144
+ const plain = (value) =>
145
+ JSON.parse(
146
+ JSON.stringify(value, (_key, item) =>
147
+ typeof item === "bigint" ? item.toString() : item,
148
+ ),
149
+ );
150
+
151
+ async function handleCommands() {
152
+ for (;;) {
153
+ const { value, done } = await lines.next();
154
+ if (done) return;
155
+ if (!value.trim()) continue;
156
+ let command;
157
+ try {
158
+ command = JSON.parse(value);
159
+ } catch {
160
+ continue;
161
+ }
162
+ try {
163
+ if (command.type === "prepare-registration") {
164
+ const { serverUrl } = publicState(await ps.info());
165
+ if (!serverUrl) throw new Error("The server has no public URL.");
166
+ const request = await ps.prepareRegistration({ serverUrl });
167
+ send({
168
+ type: "registration-request",
169
+ request: { typedData: plain(request.typedData) },
170
+ });
171
+ } else if (command.type === "submit-registration") {
172
+ const result = await ps.submitRegistration({
173
+ signature: command.signature,
174
+ });
175
+ send({
176
+ type: "registration-submitted",
177
+ serverId: result?.serverId ?? null,
178
+ alreadyRegistered: Boolean(result?.alreadyRegistered),
179
+ });
180
+ void watchTunnel();
181
+ }
182
+ } catch (error) {
183
+ send({
184
+ type: "command-failed",
185
+ command: command.type,
186
+ message: error instanceof Error ? error.message : String(error),
187
+ });
188
+ }
189
+ }
190
+ }
191
+
82
192
  async function main() {
83
193
  const input = await readInput();
84
- const { rootPath, port, ownerSignature, ownerAddress, network } = input;
194
+ const { rootPath, port, ownerSignature, ownerAddress, network, tunnel } =
195
+ input;
85
196
  const configPath = join(rootPath, "server.json");
86
- const derived = derivedConfig(network);
197
+ const derived = derivedConfig(network, tunnel ?? null);
87
198
 
88
199
  // Persist the derived block the way Desktop does, so a network change can
89
200
  // never leave an old gateway or storage host behind in server.json.
@@ -129,6 +240,13 @@ async function main() {
129
240
  port,
130
241
  url: info.urls?.local ?? `http://localhost:${port}`,
131
242
  });
243
+ void handleCommands();
244
+ if (!tunnel) return;
245
+
246
+ // Waits for the gateway registration check and the tunnel URL reservation.
247
+ const state = publicState(await ps.ready({ publicUrl: true }));
248
+ send({ type: "public", ...state });
249
+ if (state.registered) void watchTunnel();
132
250
  }
133
251
 
134
252
  async function shutdown(signal) {
@@ -15,14 +15,25 @@ export declare function choosePort(requested?: number): Promise<number | null>;
15
15
  * taken over; a live one means a server is already running from that dir.
16
16
  */
17
17
  export declare function acquireDataDirLock(dir: string): Promise<() => Promise<void>>;
18
+ /** One JSON line the server process writes on stdout. */
19
+ export interface ServerMessage {
20
+ type: string;
21
+ [key: string]: unknown;
22
+ }
18
23
  export interface LocalServerHandle {
19
24
  url: string;
20
25
  port: number;
21
26
  accessToken: string;
22
27
  /** Resolves when the server process exits, for whatever reason. */
23
28
  exited: Promise<number | null>;
29
+ /** Send one command line to the server process. */
30
+ send(command: Record<string, unknown>): void;
31
+ /** Every message from now on; returns an unsubscribe. */
32
+ onMessage(listener: (message: ServerMessage) => void): () => void;
24
33
  stop(): Promise<void>;
25
34
  }
35
+ /** The next message of one of `types`, or a timeout error. */
36
+ export declare function nextMessage(handle: Pick<LocalServerHandle, "onMessage" | "exited">, types: string[], timeoutMs: number): Promise<ServerMessage>;
26
37
  /**
27
38
  * Start the pinned Personal Server as a foreground child process on the
28
39
  * managed Node, local only, and wait until it answers.
@@ -34,6 +45,20 @@ export declare function startLocalServer(input: {
34
45
  binding: OwnerBinding;
35
46
  port: number;
36
47
  logPath: string;
48
+ /** A tunnel client to run; absent = local only. */
49
+ frpcPath?: string | null;
37
50
  readyTimeoutMs?: number;
38
51
  }): Promise<LocalServerHandle>;
52
+ /** What the CLI remembers about a server it registered. */
53
+ export interface PublicMarker {
54
+ serverAddress: string;
55
+ serverUrl: string;
56
+ registeredAt: string;
57
+ }
58
+ /**
59
+ * A registered server stays public: registrations cannot be removed, so once
60
+ * apps may look for it, every later start brings its tunnel back.
61
+ */
62
+ export declare function readPublicMarker(network: VanaNetworkName): PublicMarker | null;
63
+ export declare function writePublicMarker(network: VanaNetworkName, marker: PublicMarker): Promise<void>;
39
64
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/personal-server/local/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,mEAAmE;AACnE,wBAAsB,kBAAkB,CACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CA+B1B;AAWD,qFAAqF;AACrF,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ3E;AAWD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA8B9B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwH7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/personal-server/local/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,mEAAmE;AACnE,wBAAsB,kBAAkB,CACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CA+B1B;AAWD,qFAAqF;AACrF,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ3E;AAWD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA8B9B;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,mDAAmD;IACnD,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,yDAAyD;IACzD,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAClE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,QAAQ,CAAC,EACvD,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAoBxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqJ7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,GACvB,YAAY,GAAG,IAAI,CAgBrB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -99,6 +99,27 @@ export async function acquireDataDirLock(dir) {
99
99
  }
100
100
  throw new Error(`Could not lock ${dir}.`);
101
101
  }
102
+ /** The next message of one of `types`, or a timeout error. */
103
+ export function nextMessage(handle, types, timeoutMs) {
104
+ return new Promise((resolve, reject) => {
105
+ const timer = setTimeout(() => {
106
+ unsubscribe();
107
+ reject(new Error(`The Personal Server did not answer (${types.join(", ")}).`));
108
+ }, timeoutMs);
109
+ const unsubscribe = handle.onMessage((message) => {
110
+ if (!types.includes(message.type))
111
+ return;
112
+ clearTimeout(timer);
113
+ unsubscribe();
114
+ resolve(message);
115
+ });
116
+ void handle.exited.then(() => {
117
+ clearTimeout(timer);
118
+ unsubscribe();
119
+ reject(new Error("The Personal Server exited."));
120
+ });
121
+ });
122
+ }
102
123
  /**
103
124
  * Start the pinned Personal Server as a foreground child process on the
104
125
  * managed Node, local only, and wait until it answers.
@@ -114,7 +135,7 @@ export async function startLocalServer(input) {
114
135
  PATH: `${path.dirname(input.node.path)}${path.delimiter}${process.env.PATH ?? ""}`,
115
136
  NODE_ENV: "production",
116
137
  PS_ACCESS_TOKEN: accessToken,
117
- TUNNEL_ENABLED: "false",
138
+ TUNNEL_ENABLED: input.frpcPath ? "true" : "false",
118
139
  ...(process.env.TMPDIR ? { TMPDIR: process.env.TMPDIR } : {}),
119
140
  };
120
141
  const child = spawn(input.node.path, ["entry.mjs"], {
@@ -131,6 +152,7 @@ export async function startLocalServer(input) {
131
152
  resolve(code);
132
153
  });
133
154
  });
155
+ const listeners = new Set();
134
156
  const ready = new Promise((resolve, reject) => {
135
157
  let buffer = "";
136
158
  child.stdout?.setEncoding("utf8");
@@ -145,7 +167,14 @@ export async function startLocalServer(input) {
145
167
  continue;
146
168
  try {
147
169
  const message = JSON.parse(line);
148
- log.write(`[entry] ${line}\n`);
170
+ // The server's own pino lines carry no type: keep them whole. An
171
+ // entry message is logged by type only, since a command's answer
172
+ // can carry typed data.
173
+ log.write(typeof message.type === "string"
174
+ ? `[entry] ${message.type}\n`
175
+ : `${line}\n`);
176
+ for (const listener of [...listeners])
177
+ listener(message);
149
178
  if (message.type === "ready")
150
179
  resolve(message.url ?? `http://localhost:${input.port}`);
151
180
  if (message.type === "error")
@@ -171,9 +200,22 @@ export async function startLocalServer(input) {
171
200
  contracts: network.contracts,
172
201
  storageApiUrl: network.storageApiUrl,
173
202
  },
203
+ tunnel: input.frpcPath
204
+ ? { binaryPath: input.frpcPath, ...network.tunnel }
205
+ : null,
174
206
  })}\n`);
175
- child.stdin?.end();
207
+ // Stdin stays open: it carries the registration commands.
208
+ const send = (command) => {
209
+ if (child.stdin?.writable) {
210
+ child.stdin.write(`${JSON.stringify(command)}\n`);
211
+ }
212
+ };
213
+ const onMessage = (listener) => {
214
+ listeners.add(listener);
215
+ return () => void listeners.delete(listener);
216
+ };
176
217
  const stop = async () => {
218
+ child.stdin?.end();
177
219
  if (child.exitCode !== null || child.signalCode !== null)
178
220
  return;
179
221
  child.kill("SIGINT");
@@ -189,7 +231,15 @@ export async function startLocalServer(input) {
189
231
  timer = setTimeout(() => reject(new Error(`The Personal Server did not become ready in time. See ${input.logPath}.`)), input.readyTimeoutMs ?? 120_000);
190
232
  }),
191
233
  ]);
192
- return { url, port: input.port, accessToken, exited, stop };
234
+ return {
235
+ url,
236
+ port: input.port,
237
+ accessToken,
238
+ exited,
239
+ send,
240
+ onMessage,
241
+ stop,
242
+ };
193
243
  }
194
244
  catch (error) {
195
245
  await stop();
@@ -200,4 +250,30 @@ export async function startLocalServer(input) {
200
250
  clearTimeout(timer);
201
251
  }
202
252
  }
253
+ function publicMarkerPath(network) {
254
+ return path.join(localServerDataDir(network), ".vana-cli-public.json");
255
+ }
256
+ /**
257
+ * A registered server stays public: registrations cannot be removed, so once
258
+ * apps may look for it, every later start brings its tunnel back.
259
+ */
260
+ export function readPublicMarker(network) {
261
+ try {
262
+ const value = JSON.parse(fs.readFileSync(publicMarkerPath(network), "utf8"));
263
+ return typeof value.serverAddress === "string" &&
264
+ typeof value.serverUrl === "string"
265
+ ? {
266
+ serverAddress: value.serverAddress,
267
+ serverUrl: value.serverUrl,
268
+ registeredAt: String(value.registeredAt ?? ""),
269
+ }
270
+ : null;
271
+ }
272
+ catch {
273
+ return null;
274
+ }
275
+ }
276
+ export async function writePublicMarker(network, marker) {
277
+ await fsp.writeFile(publicMarkerPath(network), `${JSON.stringify(marker, null, 2)}\n`, { mode: 0o600 });
278
+ }
203
279
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/personal-server/local/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/personal-server/local/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vana-cli",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "Collect your data into a Vana Personal Server, or request, read and pay for someone else's with their consent",
5
5
  "keywords": [
6
6
  "vana",