@temporalabs/treasury 0.1.3 → 0.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/connect/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/connect/commands.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,12 @@ export type Settled<T> = {
20
20
  reason: string;
21
21
  };
22
22
  export interface Flow<T> {
23
- mode: "connect" | "confirm";
23
+ mode: "connect" | "confirm" | "plan";
24
+ /**
25
+ * The page's secret, when it must outlive this server: `connect plan --run` serves one plan's page across
26
+ * several runs, so the operator's open tab keeps working. A fresh random one otherwise.
27
+ */
28
+ secret?: string;
24
29
  ttlMs: number;
25
30
  /** The page served at `/<mode>`, as a function of the flow's secret. */
26
31
  html: (secret: string) => string;
@@ -54,7 +59,11 @@ export interface Flow<T> {
54
59
  }
55
60
  export interface Handle<T> {
56
61
  url: string;
62
+ /** The port the page was served on. */
63
+ port: number;
57
64
  done: Promise<Settled<T>>;
58
65
  close: () => void;
59
66
  }
67
+ /** A page secret: what every request back to the process must carry. */
68
+ export declare const newSecret: () => string;
60
69
  export declare function serveOnce<T>(flow: Flow<T>): Promise<Handle<T>>;
@@ -21,8 +21,10 @@ const same = (a, b) => {
21
21
  const y = Buffer.from(b);
22
22
  return x.length === y.length && timingSafeEqual(x, y);
23
23
  };
24
+ /** A page secret: what every request back to the process must carry. */
25
+ export const newSecret = () => randomBytes(24).toString("hex");
24
26
  export async function serveOnce(flow) {
25
- const secret = randomBytes(24).toString("hex");
27
+ const secret = flow.secret ?? newSecret();
26
28
  // Privy matches allowed origins by exact string, and `localhost` is the host it documents. Set to
27
29
  // the port being tried; a request can only arrive on the port that was bound.
28
30
  let origin = "";
@@ -194,7 +196,7 @@ export async function serveOnce(flow) {
194
196
  });
195
197
  // Taken before any port is tried: a page this machine already has open is reported as that, and
196
198
  // never answered by opening a second one on the next port.
197
- const lock = claimPageLock(flow.ttlMs + LOCK_MARGIN_MS);
199
+ const lock = await claimPageLock(flow.ttlMs + LOCK_MARGIN_MS);
198
200
  try {
199
201
  let busy;
200
202
  let bound = false;
@@ -230,6 +232,6 @@ export async function serveOnce(flow) {
230
232
  () => finish(deferred ?? { ok: false, reason: flow.timeoutReason?.() ?? `nothing happened in the browser within ${Math.round(flow.ttlMs / 60_000)} minutes` }), flow.ttlMs);
231
233
  timer.unref();
232
234
  void done.then(() => clearTimeout(timer));
233
- return { url: `${origin}/${flow.mode}?s=${secret}`, done, close: () => finish({ ok: false, reason: "cancelled" }) };
235
+ return { url: `${origin}/${flow.mode}?s=${secret}`, port: Number(new URL(origin).port), done, close: () => finish({ ok: false, reason: "cancelled" }) };
234
236
  }
235
237
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/connect/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/connect/http.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PendingAck } from "./ack.js";
1
+ import type { PendingAck, PendingPlan } from "./ack.js";
2
2
  export interface Session {
3
3
  account: string;
4
4
  /** `external`: a browser wallet the operator controls. `embedded`: a Privy wallet opened by email or a social login. */
@@ -22,6 +22,11 @@ export declare const pendingAckPath: () => string;
22
22
  export declare function writePendingAck(a: PendingAck): void;
23
23
  export declare function readPendingAck(): PendingAck | undefined;
24
24
  export declare function clearPendingAck(): void;
25
+ /** The one plan (`connect plan`, `ack.ts`) and its legs' progress. Issuing another replaces it. */
26
+ export declare const planPath: () => string;
27
+ export declare function writePlan(p: PendingPlan): void;
28
+ export declare function readPlan(): PendingPlan | undefined;
29
+ export declare function clearPlan(): void;
25
30
  /**
26
31
  * One sign-in or confirmation page at a time. The page can fall back to another port when its first
27
32
  * is taken, so the port no longer keeps a second page from opening; this file does. It names the
@@ -29,11 +34,22 @@ export declare function clearPendingAck(): void;
29
34
  * expired, is left over from a run that never closed it, and is replaced.
30
35
  */
31
36
  export declare const pageLockPath: () => string;
37
+ /**
38
+ * Removes the lock file only if it still holds `seen`, the stale content this run judged. Two runs can judge the same
39
+ * stale file at once; a plain remove would let the second delete the lock the first has just made, and both pages
40
+ * would open. A rename is atomic, so each run moves aside whatever is there and checks it: a lock that is not the stale
41
+ * one is put back (a hard link never replaces a file another run has made meanwhile). Returns whether it removed it.
42
+ */
43
+ export declare function replaceStale(path: string, seen: string): boolean;
32
44
  /**
33
45
  * Claims the page lock until `ttlMs` from now. Returns `setPort` (records which port the page took)
34
- * and `release` (removes the file, only while it is still this claim's). Throws when a live page holds it.
46
+ * and `release` (removes the file, only while it is still this claim's). Rejects when a live page holds it.
47
+ * While held, the file is touched every `beatMs`; a suspect lock is given `waitMs` to show it is still being touched.
35
48
  */
36
- export declare function claimPageLock(ttlMs: number): {
49
+ export declare function claimPageLock(ttlMs: number, { beatMs, waitMs }?: {
50
+ beatMs?: number;
51
+ waitMs?: number;
52
+ }): Promise<{
37
53
  setPort: (port: number) => void;
38
54
  release: () => void;
39
- };
55
+ }>;
@@ -6,7 +6,7 @@
6
6
  * by itself — every transaction is still confirmed by the operator in the browser and in their
7
7
  * wallet — it only fixes WHICH account the confirm page will accept and pay.
8
8
  */
9
- import { chmodSync, closeSync, mkdirSync, openSync, readFileSync, rmSync, statSync, writeFileSync, writeSync } from "node:fs";
9
+ import { chmodSync, closeSync, linkSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, writeSync } from "node:fs";
10
10
  import { homedir } from "node:os";
11
11
  import { join } from "node:path";
12
12
  import { getAddress, isAddress } from "viem";
@@ -43,13 +43,15 @@ function writeOwnerOnly(path, value) {
43
43
  }
44
44
  export function writeSession(s) {
45
45
  writeOwnerOnly(sessionPath(), s);
46
- // A new connection voids any acknowledgement given for the one before it.
46
+ // A new connection voids any acknowledgement, or plan, given for the one before it.
47
47
  clearPendingAck();
48
+ clearPlan();
48
49
  }
49
50
  export function clearSession() {
50
51
  const had = readSession() !== undefined;
51
52
  rmSync(sessionPath(), { force: true });
52
53
  clearPendingAck();
54
+ clearPlan();
53
55
  return had;
54
56
  }
55
57
  /**
@@ -73,11 +75,13 @@ export function readSolanaSession() {
73
75
  export function writeSolanaSession(s) {
74
76
  writeOwnerOnly(solanaSessionPath(), s);
75
77
  clearPendingAck();
78
+ clearPlan();
76
79
  }
77
80
  export function clearSolanaSession() {
78
81
  const had = readSolanaSession() !== undefined;
79
82
  rmSync(solanaSessionPath(), { force: true });
80
83
  clearPendingAck();
84
+ clearPlan();
81
85
  return had;
82
86
  }
83
87
  /** The one acknowledgement waiting for `--ack` (`ack.ts`). Issuing another replaces it. */
@@ -99,6 +103,29 @@ export function readPendingAck() {
99
103
  export function clearPendingAck() {
100
104
  rmSync(pendingAckPath(), { force: true });
101
105
  }
106
+ /** The one plan (`connect plan`, `ack.ts`) and its legs' progress. Issuing another replaces it. */
107
+ export const planPath = () => join(dir(), "connect-plan.json");
108
+ export function writePlan(p) {
109
+ writeOwnerOnly(planPath(), p);
110
+ }
111
+ export function readPlan() {
112
+ try {
113
+ const v = JSON.parse(readFileSync(planPath(), "utf8"));
114
+ if (typeof v.code !== "string" || typeof v.issuedAtIso !== "string" || typeof v.expiresAtIso !== "string" || typeof v.acknowledged !== "boolean" || !Array.isArray(v.legs))
115
+ return undefined;
116
+ // A leg that does not read back whole makes the plan unreadable, never a plan with that leg skipped.
117
+ for (const l of v.legs)
118
+ if (!l || typeof l.leg !== "number" || typeof l.digest !== "string" || typeof l.status !== "string")
119
+ return undefined;
120
+ return v;
121
+ }
122
+ catch {
123
+ return undefined;
124
+ }
125
+ }
126
+ export function clearPlan() {
127
+ rmSync(planPath(), { force: true });
128
+ }
102
129
  /**
103
130
  * One sign-in or confirmation page at a time. The page can fall back to another port when its first
104
131
  * is taken, so the port no longer keeps a second page from opening; this file does. It names the
@@ -108,6 +135,16 @@ export function clearPendingAck() {
108
135
  export const pageLockPath = () => join(dir(), "connect-page.lock");
109
136
  /** A lock file this young that does not parse yet is still being written by the process that made it. */
110
137
  const LOCK_WRITE_GRACE_MS = 2_000;
138
+ /**
139
+ * The holder touches its lock file this often, so the file's age says whether the page's process is still running:
140
+ * a process ID alone can be reused, by another program or by this same one, after the holder has gone.
141
+ */
142
+ const LOCK_BEAT_MS = 5_000;
143
+ /**
144
+ * A lock not touched for this long is suspect; it is replaced only if it is still not touched two beats later (a
145
+ * holder's interval timer can land a beat late after the machine wakes).
146
+ */
147
+ const LOCK_BEAT_STALE_MS = 30_000;
111
148
  const alive = (pid) => {
112
149
  try {
113
150
  process.kill(pid, 0);
@@ -118,47 +155,108 @@ const alive = (pid) => {
118
155
  return e.code === "EPERM";
119
156
  }
120
157
  };
158
+ const mtimeOf = (path) => {
159
+ try {
160
+ return statSync(path).mtimeMs;
161
+ }
162
+ catch {
163
+ return undefined;
164
+ }
165
+ };
166
+ /** Whether the lock file at `path` is a live page's, read once; `raw` is the content judged, for `replaceStale`. */
121
167
  function heldBy(path) {
122
168
  let raw;
123
169
  try {
124
170
  raw = readFileSync(path, "utf8");
125
171
  }
126
172
  catch {
127
- return undefined;
173
+ return { held: false, raw: undefined };
128
174
  }
129
175
  try {
130
176
  const v = JSON.parse(raw);
131
177
  if (typeof v.pid !== "number" || typeof v.expiresAt !== "number")
132
- return undefined;
178
+ return { held: false, raw };
133
179
  if (v.expiresAt < Date.now() || !alive(v.pid))
134
- return undefined;
135
- return { pid: v.pid, ...(typeof v.port === "number" ? { port: v.port } : {}) };
180
+ return { held: false, raw };
181
+ const port = typeof v.port === "number" ? { port: v.port } : {};
182
+ // A lock from a version that does not beat is judged by its process ID alone, as before.
183
+ const mtimeMs = mtimeOf(path);
184
+ if (v.beat === true && mtimeMs !== undefined && Date.now() - mtimeMs > LOCK_BEAT_STALE_MS)
185
+ return { held: "unless-beating", raw, mtimeMs, pid: v.pid, ...port };
186
+ return { held: true, pid: v.pid, ...port };
136
187
  }
137
188
  catch {
189
+ const mtimeMs = mtimeOf(path);
190
+ return mtimeMs !== undefined && Date.now() - mtimeMs < LOCK_WRITE_GRACE_MS ? { held: true, pid: 0 } : { held: false, raw };
191
+ }
192
+ }
193
+ /**
194
+ * Removes the lock file only if it still holds `seen`, the stale content this run judged. Two runs can judge the same
195
+ * stale file at once; a plain remove would let the second delete the lock the first has just made, and both pages
196
+ * would open. A rename is atomic, so each run moves aside whatever is there and checks it: a lock that is not the stale
197
+ * one is put back (a hard link never replaces a file another run has made meanwhile). Returns whether it removed it.
198
+ */
199
+ export function replaceStale(path, seen) {
200
+ const aside = `${path}.${process.pid}.${Math.random().toString(36).slice(2)}`;
201
+ try {
202
+ renameSync(path, aside);
203
+ }
204
+ catch (e) {
205
+ const code = e.code;
206
+ if (code === "ENOENT")
207
+ return true;
208
+ // Windows refuses to rename a file another process holds open: treat it as held, never as an error.
209
+ if (code === "EPERM" || code === "EBUSY" || code === "EACCES")
210
+ return false;
211
+ throw e;
212
+ }
213
+ let moved;
214
+ try {
215
+ moved = readFileSync(aside, "utf8");
216
+ }
217
+ catch {
218
+ moved = undefined;
219
+ }
220
+ if (moved !== seen) {
138
221
  try {
139
- return Date.now() - statSync(path).mtimeMs < LOCK_WRITE_GRACE_MS ? { pid: 0 } : undefined;
222
+ linkSync(aside, path);
140
223
  }
141
- catch {
142
- return undefined;
224
+ catch (e) {
225
+ // EEXIST: another run has claimed the lock in between; its claim stands. Anything else (a filesystem without
226
+ // hard links): rename it back, and keep it aside rather than delete a live lock if even that fails.
227
+ if (e.code !== "EEXIST") {
228
+ try {
229
+ renameSync(aside, path);
230
+ }
231
+ catch {
232
+ // Left aside.
233
+ }
234
+ return false;
235
+ }
143
236
  }
144
237
  }
238
+ rmSync(aside, { force: true });
239
+ return moved === seen;
145
240
  }
146
241
  /**
147
242
  * Claims the page lock until `ttlMs` from now. Returns `setPort` (records which port the page took)
148
- * and `release` (removes the file, only while it is still this claim's). Throws when a live page holds it.
243
+ * and `release` (removes the file, only while it is still this claim's). Rejects when a live page holds it.
244
+ * While held, the file is touched every `beatMs`; a suspect lock is given `waitMs` to show it is still being touched.
149
245
  */
150
- export function claimPageLock(ttlMs) {
246
+ export async function claimPageLock(ttlMs, { beatMs = LOCK_BEAT_MS, waitMs = 2 * LOCK_BEAT_MS + 1_000 } = {}) {
151
247
  mkdirSync(dir(), { recursive: true, mode: 0o700 });
152
248
  const path = pageLockPath();
153
249
  // Tells this claim from a later one in the same file; not a secret.
154
250
  const token = `${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2)}`;
155
251
  const expiresAt = Date.now() + ttlMs;
156
- const write = (port) => writeFileSync(path, JSON.stringify({ pid: process.pid, expiresAt, token, ...(port ? { port } : {}) }), { mode: 0o600 });
252
+ const body = (port) => JSON.stringify({ pid: process.pid, expiresAt, token, beat: true, ...(port ? { port } : {}) });
253
+ const write = (port) => writeFileSync(path, body(port), { mode: 0o600 });
254
+ const refuse = (port) => new Error(`another sign-in or confirmation page is still open${port ? ` on port ${port}` : ""}; finish or close it, then retry`);
157
255
  for (let attempt = 0;; attempt++) {
158
256
  try {
159
257
  const fd = openSync(path, "wx", 0o600);
160
258
  try {
161
- writeSync(fd, JSON.stringify({ pid: process.pid, expiresAt, token }));
259
+ writeSync(fd, body());
162
260
  }
163
261
  finally {
164
262
  closeSync(fd);
@@ -168,12 +266,17 @@ export function claimPageLock(ttlMs) {
168
266
  catch (e) {
169
267
  if (e.code !== "EEXIST")
170
268
  throw e;
171
- const holder = heldBy(path);
172
- if (holder || attempt > 0) {
173
- const where = holder?.port ? ` on port ${holder.port}` : "";
174
- throw new Error(`another sign-in or confirmation page is still open${where}; finish or close it, then retry`);
269
+ let h = heldBy(path);
270
+ if (h.held === "unless-beating") {
271
+ const { mtimeMs, port, raw } = h;
272
+ await new Promise((r) => setTimeout(r, waitMs));
273
+ // Touched meanwhile: its holder is running (a laptop that slept, say). Otherwise the process ID was reused.
274
+ h = mtimeOf(path) !== mtimeMs ? { held: true, pid: h.pid, ...(port ? { port } : {}) } : { held: false, raw };
175
275
  }
176
- rmSync(path, { force: true });
276
+ if (h.held === true)
277
+ throw refuse(h.port);
278
+ if (attempt > 2 || (h.raw !== undefined && !replaceStale(path, h.raw)))
279
+ throw refuse();
177
280
  }
178
281
  }
179
282
  const ours = () => {
@@ -184,12 +287,25 @@ export function claimPageLock(ttlMs) {
184
287
  return false;
185
288
  }
186
289
  };
290
+ const beat = setInterval(() => {
291
+ if (!ours())
292
+ return;
293
+ try {
294
+ const t = new Date();
295
+ utimesSync(path, t, t);
296
+ }
297
+ catch {
298
+ // Gone between the check and the touch; nothing to keep alive.
299
+ }
300
+ }, beatMs);
301
+ beat.unref();
187
302
  return {
188
303
  setPort: (port) => {
189
304
  if (ours())
190
305
  write(port);
191
306
  },
192
307
  release: () => {
308
+ clearInterval(beat);
193
309
  if (ours())
194
310
  rmSync(path, { force: true });
195
311
  },