clearcote 0.28.0 → 0.29.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 (45) hide show
  1. package/README.md +48 -1
  2. package/dist/clearcote-cli.d.ts +3 -0
  3. package/dist/clearcote-cli.d.ts.map +1 -0
  4. package/dist/clearcote-cli.js +9 -0
  5. package/dist/clearcote-cli.js.map +1 -0
  6. package/dist/cli-commands.d.ts +62 -0
  7. package/dist/cli-commands.d.ts.map +1 -0
  8. package/dist/cli-commands.js +333 -0
  9. package/dist/cli-commands.js.map +1 -0
  10. package/dist/download.d.ts +28 -0
  11. package/dist/download.d.ts.map +1 -1
  12. package/dist/download.js +56 -6
  13. package/dist/download.js.map +1 -1
  14. package/dist/fingerprint.d.ts +16 -0
  15. package/dist/fingerprint.d.ts.map +1 -1
  16. package/dist/fingerprint.js +37 -0
  17. package/dist/fingerprint.js.map +1 -1
  18. package/dist/geoip.d.ts +37 -1
  19. package/dist/geoip.d.ts.map +1 -1
  20. package/dist/geoip.js +90 -68
  21. package/dist/geoip.js.map +1 -1
  22. package/dist/index.d.ts +44 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +102 -41
  25. package/dist/index.js.map +1 -1
  26. package/dist/launchopts.d.ts +44 -0
  27. package/dist/launchopts.d.ts.map +1 -1
  28. package/dist/launchopts.js +78 -0
  29. package/dist/launchopts.js.map +1 -1
  30. package/dist/license.d.ts +59 -3
  31. package/dist/license.d.ts.map +1 -1
  32. package/dist/license.js +286 -25
  33. package/dist/license.js.map +1 -1
  34. package/dist/multiplex.d.ts +111 -0
  35. package/dist/multiplex.d.ts.map +1 -0
  36. package/dist/multiplex.js +536 -0
  37. package/dist/multiplex.js.map +1 -0
  38. package/dist/net.d.ts +36 -0
  39. package/dist/net.d.ts.map +1 -0
  40. package/dist/net.js +278 -0
  41. package/dist/net.js.map +1 -0
  42. package/dist/warnings.d.ts.map +1 -1
  43. package/dist/warnings.js +16 -0
  44. package/dist/warnings.js.map +1 -1
  45. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"launchopts.js","sourceRoot":"","sources":["../src/launchopts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchopts.js","sourceRoot":"","sources":["../src/launchopts.ts"],"names":[],"mappings":"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"}
package/dist/license.d.ts CHANGED
@@ -4,7 +4,16 @@ export interface LicenseOptions {
4
4
  licenseKey?: string;
5
5
  /** Backend base URL. Default CLEARCOTE_LICENSE_API env or clearcotelabs.com. */
6
6
  licenseApiBase?: string;
7
+ /**
8
+ * Send the licence calls (lease checkout / heartbeat / check-in) through the launch's own proxy
9
+ * instead of directly from this machine. Off by default: direct calls never spend proxy bandwidth.
10
+ * Turn it on when the host's own address must not reach the licence server, or when the host has
11
+ * no direct egress. Also enabled by CLEARCOTE_LICENSE_THROUGH_PROXY=1. No effect without a proxy.
12
+ */
13
+ licenseThroughProxy?: boolean;
7
14
  }
15
+ /** Whether licence calls should use the launch proxy: explicit option, else the env switch. */
16
+ export declare function licenseThroughProxyRequested(opt: boolean | undefined, env?: Record<string, string | undefined>): boolean;
8
17
  export declare class LicenseError extends Error {
9
18
  code: string;
10
19
  constructor(message: string, code?: string);
@@ -23,6 +32,10 @@ export declare function resolveLicenseKey(explicit?: string): string | undefined
23
32
  * Falls back to an ephemeral id if the file can't be written — in containers with an ephemeral
24
33
  * filesystem, set CLEARCOTE_INSTANCE_ID per replica to keep it stable. */
25
34
  export declare function resolveInstanceId(): string;
35
+ /** The plan a run-token was minted for, read from its payload WITHOUT verifying it (routing only). */
36
+ export declare function tokenPlan(token: string): string | undefined;
37
+ /** One id per browser launch: the backend counts every launch_id as its own slot on per-browser plans. */
38
+ export declare function newLaunchId(): string;
26
39
  /** A live lease. Keep it until the browser closes, then call `stop()`. */
27
40
  export interface LeaseSession {
28
41
  token: string;
@@ -31,9 +44,13 @@ export interface LeaseSession {
31
44
  stop(): Promise<void>;
32
45
  }
33
46
  /**
34
- * Acquire a per-MACHINE concurrency lease, shared across every launch in this
35
- * process (checks out ~once per token-TTL, not once per launch). Returns `null` in
36
- * free mode. Throws {@link ConcurrencyLimitError} / {@link LicenseRevokedError} /
47
+ * Acquire a concurrency lease for one launch. Returns `null` in free mode (no key).
48
+ *
49
+ * Machine plans (every paid plan): a per-MACHINE lease shared across every launch in this process
50
+ * (checks out ~once per token-TTL, not once per launch); `stop()` only drops a reference.
51
+ * Per-browser plans (the GitHub free tier, told by the backend's `lease_scope: "browser"`): every
52
+ * launch checks out its own slot, and `stop()` releases it, so a second browser is refused while one runs.
53
+ * Throws {@link ConcurrencyLimitError} / {@link LicenseRevokedError} /
37
54
  * {@link LicenseError} only on a cold checkout the backend definitively refuses;
38
55
  * falls back to a cached, still-valid token on a transient network failure.
39
56
  */
@@ -41,7 +58,46 @@ export declare function acquireLease(opts?: LicenseOptions & {
41
58
  sdkVersion?: string;
42
59
  quiet?: boolean;
43
60
  engineVersion?: string | (() => string | Promise<string>);
61
+ /** The launch's proxy; used for the licence calls only when licenseThroughProxy is on. */
62
+ proxy?: string | {
63
+ server?: string;
64
+ username?: string;
65
+ password?: string;
66
+ } | null;
44
67
  }): Promise<LeaseSession | null>;
45
68
  /** Merge the run-token into a child-process env (base defaults to the parent env). */
46
69
  export declare function withRunToken(token: string, baseEnv: Record<string, string | undefined> | undefined): Record<string, string>;
70
+ /** Concurrency seats on a licence, as reported by the backend. */
71
+ export interface SessionSeats {
72
+ /** "ok" with counts; otherwise why they are unavailable. */
73
+ state: "ok" | "no-key" | "invalid" | "unavailable";
74
+ used?: number;
75
+ /** null = unlimited. */
76
+ limit?: number | null;
77
+ plan?: string;
78
+ reason?: string;
79
+ }
80
+ /**
81
+ * Seats in use on a licence right now (live leases), without checking one out. Never cached and
82
+ * never throws: an unreachable backend or an older backend without the endpoint reports
83
+ * `state: "unavailable"` with the reason, rather than a guessed number.
84
+ */
85
+ export declare function getSessionSeats(opts?: LicenseOptions & {
86
+ proxy?: string | {
87
+ server?: string;
88
+ username?: string;
89
+ password?: string;
90
+ } | null;
91
+ }): Promise<SessionSeats>;
92
+ /** Where `clearcote login` stores the key: ~/.clearcote/license.key. */
93
+ export declare function licenseKeyPath(): string;
94
+ /** Save a licence key for every later launch (owner-only permissions where the OS supports it). */
95
+ export declare function saveLicenseKey(key: string): string;
96
+ /** Remove the saved key. Returns true when a file was removed. */
97
+ export declare function removeLicenseKey(): boolean;
98
+ /** Where the key a launch would use comes from, without revealing it. */
99
+ export declare function licenseKeySource(explicit?: string): {
100
+ source: "option" | "env" | "file" | "none";
101
+ masked?: string;
102
+ };
47
103
  //# sourceMappingURL=license.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,cAAc;IAC7B;sFACkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,MAAM,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,SAAkB;CAKpD;AACD,qBAAa,qBAAsB,SAAQ,YAAY;gBACzC,OAAO,EAAE,MAAM;CAI5B;AACD,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcvE;AAED;;;;0EAI0E;AAC1E,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C;AA4DD,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAgMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,GAAE,cAAc,GAAG;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD,GACL,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkB9B;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GACtD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB"}
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"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"}
package/dist/license.js CHANGED
@@ -8,13 +8,20 @@
8
8
  //
9
9
  // With NO license key this is entirely inert — the free build never calls the
10
10
  // backend and never gates. See clearcoat/PRIVATE-SDK-LICENSING-PLAN.md.
11
- import { existsSync, readFileSync, mkdirSync, writeFileSync } from "node:fs";
11
+ import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync, chmodSync } from "node:fs";
12
12
  import { homedir } from "node:os";
13
13
  import { join } from "node:path";
14
14
  import { createHash, randomUUID } from "node:crypto";
15
+ import { proxiedRequest, toProxySpec } from "./net.js";
15
16
  /** Default backend. Override with `licenseApiBase` or CLEARCOTE_LICENSE_API. */
16
17
  const DEFAULT_API_BASE = "https://www.clearcotelabs.com";
17
18
  const RUN_TOKEN_ENV = "CLEARCOTE_RUN_TOKEN";
19
+ /** Whether licence calls should use the launch proxy: explicit option, else the env switch. */
20
+ export function licenseThroughProxyRequested(opt, env = process.env) {
21
+ if (opt !== undefined)
22
+ return opt;
23
+ return /^(1|true|yes|on)$/i.test((env.CLEARCOTE_LICENSE_THROUGH_PROXY ?? "").trim());
24
+ }
18
25
  export class LicenseError extends Error {
19
26
  code;
20
27
  constructor(message, code = "LICENSE_ERROR") {
@@ -100,14 +107,32 @@ function cachePath(licenseKey) {
100
107
  function readCache(licenseKey) {
101
108
  try {
102
109
  const d = JSON.parse(readFileSync(cachePath(licenseKey), "utf8"));
103
- if (d && typeof d.token === "string" && typeof d.exp === "number")
110
+ if (d && typeof d.token === "string" && typeof d.exp === "number") {
111
+ // A per-browser (free-tier) token belongs to the one browser it was checked out for. Reusing it
112
+ // would start another browser without a slot, so it is never taken from the cache, even one an
113
+ // older SDK wrote. Paid tokens are reused exactly as before.
114
+ if (tokenPlan(d.token) === PER_BROWSER_PLAN)
115
+ return null;
104
116
  return d;
117
+ }
105
118
  }
106
119
  catch {
107
120
  /* ignore */
108
121
  }
109
122
  return null;
110
123
  }
124
+ /** The plan a run-token was minted for, read from its payload WITHOUT verifying it (routing only). */
125
+ export function tokenPlan(token) {
126
+ try {
127
+ const body = token.split(".")[0] ?? "";
128
+ const json = Buffer.from(body.replace(/-/g, "+").replace(/_/g, "/"), "base64").toString("utf8");
129
+ const plan = JSON.parse(json).plan;
130
+ return typeof plan === "string" ? plan : undefined;
131
+ }
132
+ catch {
133
+ return undefined;
134
+ }
135
+ }
111
136
  function writeCache(licenseKey, token, exp, leaseId) {
112
137
  try {
113
138
  const dir = join(homedir(), ".clearcote");
@@ -118,12 +143,23 @@ function writeCache(licenseKey, token, exp, leaseId) {
118
143
  /* ignore */
119
144
  }
120
145
  }
121
- async function postJson(url, licenseKey, body) {
122
- return fetch(url, {
146
+ /** The plan whose tokens are per browser. Only used to keep such tokens out of the shared cache. */
147
+ const PER_BROWSER_PLAN = "free";
148
+ /** One id per browser launch: the backend counts every launch_id as its own slot on per-browser plans. */
149
+ export function newLaunchId() {
150
+ return randomUUID().replace(/-/g, "");
151
+ }
152
+ async function postJson(url, licenseKey, body, proxy) {
153
+ const init = {
123
154
  method: "POST",
124
155
  headers: { authorization: `Bearer ${licenseKey}`, "content-type": "application/json" },
125
156
  body: JSON.stringify(body),
126
- });
157
+ };
158
+ // Through the launch proxy when licenseThroughProxy is on; otherwise the plain fetch path, which
159
+ // is unchanged from before the option existed.
160
+ if (proxy)
161
+ return proxiedRequest(url, { ...init, proxy, timeoutMs: 30_000 });
162
+ return fetch(url, init);
127
163
  }
128
164
  function throwForStatus(status, body) {
129
165
  const msg = body?.error || `License request failed (${status}).`;
@@ -153,9 +189,15 @@ class MachineLease {
153
189
  sdkVersion;
154
190
  quiet;
155
191
  engineVersion;
192
+ proxy;
156
193
  token = null;
157
194
  exp = 0;
158
195
  leaseId = null;
196
+ /** Learned from the first checkout: "browser" means every launch holds its own lease. */
197
+ scope = "machine";
198
+ /** A per-browser checkout made by ensure(), waiting for the one launch that asked for it. */
199
+ pendingBrowser = null;
200
+ browsers = new Set();
159
201
  hbSec = 270;
160
202
  owner = false;
161
203
  timer = null;
@@ -165,13 +207,14 @@ class MachineLease {
165
207
  constructor(key, base, instanceId, sdkVersion, quiet,
166
208
  // Resolved browser build (e.g. "150.0.7871.114"). A string, or a thunk that resolves it lazily
167
209
  // so the catalog is only consulted on a cold checkout — never per launch. Telemetry only.
168
- engineVersion) {
210
+ engineVersion, proxy = null) {
169
211
  this.key = key;
170
212
  this.base = base;
171
213
  this.instanceId = instanceId;
172
214
  this.sdkVersion = sdkVersion;
173
215
  this.quiet = quiet;
174
216
  this.engineVersion = engineVersion;
217
+ this.proxy = proxy;
175
218
  }
176
219
  valid() {
177
220
  return !!this.token && this.exp > Math.floor(Date.now() / 1000) + SKEW_SEC;
@@ -212,22 +255,41 @@ class MachineLease {
212
255
  return; // NO checkout, NO heartbeat
213
256
  }
214
257
  await this.checkout();
258
+ if (this.scope === "browser")
259
+ return; // the lease belongs to one launch; see acquire()
215
260
  this.owner = true;
216
261
  this.startHeartbeat();
217
262
  }
263
+ /** POST a checkout for one launch. Throws the backend's verdict; network errors propagate. */
264
+ async checkoutFor(launchId) {
265
+ const res = await postJson(`${this.base}/api/v1/lease/checkout`, this.key, {
266
+ instance_id: this.instanceId,
267
+ // Per-browser plans count each launch_id as its own slot; machine plans ignore it.
268
+ launch_id: launchId,
269
+ os: osTag(),
270
+ sdk_version: this.sdkVersion,
271
+ engine_version: await this.engineVer(),
272
+ }, this.proxy);
273
+ if (!res.ok) {
274
+ const body = (await res.json().catch(() => ({})));
275
+ throwForStatus(res.status, body);
276
+ }
277
+ return (await res.json());
278
+ }
279
+ /** Heartbeat / re-checkout / check-in for a BrowserLease, over this lease's route (direct or proxy). */
280
+ post(path, body) {
281
+ return postJson(`${this.base}${path}`, this.key, body, this.proxy);
282
+ }
218
283
  async checkout() {
219
284
  try {
220
- const res = await postJson(`${this.base}/api/v1/lease/checkout`, this.key, {
221
- instance_id: this.instanceId,
222
- os: osTag(),
223
- sdk_version: this.sdkVersion,
224
- engine_version: await this.engineVer(),
225
- });
226
- if (!res.ok) {
227
- const body = (await res.json().catch(() => ({})));
228
- throwForStatus(res.status, body);
285
+ const launchId = newLaunchId();
286
+ const co = await this.checkoutFor(launchId);
287
+ if (co.lease_scope === "browser") {
288
+ // Per-browser plan: this checkout is the calling launch's own slot. Never shared, never cached.
289
+ this.scope = "browser";
290
+ this.pendingBrowser = { co, launchId };
291
+ return;
229
292
  }
230
- const co = (await res.json());
231
293
  this.token = co.token;
232
294
  this.exp = co.exp;
233
295
  this.leaseId = co.lease_id;
@@ -258,14 +320,14 @@ class MachineLease {
258
320
  const res = await postJson(`${this.base}/api/v1/lease/heartbeat`, this.key, {
259
321
  lease_id: this.leaseId,
260
322
  nonce: randomUUID(),
261
- });
323
+ }, this.proxy);
262
324
  if (res.status === 409) {
263
325
  const co = await postJson(`${this.base}/api/v1/lease/checkout`, this.key, {
264
326
  instance_id: this.instanceId,
265
327
  os: osTag(),
266
328
  sdk_version: this.sdkVersion,
267
329
  engine_version: await this.engineVer(),
268
- });
330
+ }, this.proxy);
269
331
  if (co.ok) {
270
332
  const d = (await co.json());
271
333
  this.leaseId = d.lease_id;
@@ -289,7 +351,16 @@ class MachineLease {
289
351
  this.timer.unref?.();
290
352
  }
291
353
  async acquire() {
354
+ if (this.perBrowser())
355
+ return this.acquireBrowser();
292
356
  await this.ensure();
357
+ if (this.perBrowser()) {
358
+ // ensure() discovered the per-browser scope. Exactly one waiting launch takes the checkout it
359
+ // made; every other launch (including ones that were waiting on the same ensure) checks out its own.
360
+ const pending = this.pendingBrowser;
361
+ this.pendingBrowser = null;
362
+ return pending ? this.startBrowser(pending.co, pending.launchId) : this.acquireBrowser();
363
+ }
293
364
  this.refs++;
294
365
  const self = this;
295
366
  return {
@@ -306,18 +377,44 @@ class MachineLease {
306
377
  },
307
378
  };
308
379
  }
380
+ /** Read through a method: ensure() can change the scope while acquire() awaits it. */
381
+ perBrowser() {
382
+ return this.scope === "browser";
383
+ }
309
384
  release() {
310
385
  if (this.refs > 0)
311
386
  this.refs--;
312
387
  }
388
+ /** A new launch on a per-browser plan: its own checkout. A refusal (one browser already running) throws. */
389
+ async acquireBrowser() {
390
+ const launchId = newLaunchId();
391
+ let co;
392
+ try {
393
+ co = await this.checkoutFor(launchId);
394
+ }
395
+ catch (e) {
396
+ if (e instanceof LicenseError)
397
+ throw e;
398
+ // No offline grace here: without the backend there is no slot for this browser.
399
+ throw new LicenseError(`Could not reach the license server to start this browser: ${String(e)}`);
400
+ }
401
+ return this.startBrowser(co, launchId);
402
+ }
403
+ startBrowser(co, launchId) {
404
+ const lease = new BrowserLease(this, co, launchId, () => this.browsers.delete(lease));
405
+ this.browsers.add(lease);
406
+ return lease.session();
407
+ }
313
408
  async shutdown() {
409
+ // Per-browser leases still open at exit (a browser nobody closed): release their slots too.
410
+ await Promise.all([...this.browsers].map((b) => b.stop()));
314
411
  if (this.timer) {
315
412
  clearInterval(this.timer);
316
413
  this.timer = null;
317
414
  }
318
415
  if (this.owner && this.leaseId) {
319
416
  try {
320
- await postJson(`${this.base}/api/v1/lease/checkin`, this.key, { lease_id: this.leaseId });
417
+ await postJson(`${this.base}/api/v1/lease/checkin`, this.key, { lease_id: this.leaseId }, this.proxy);
321
418
  }
322
419
  catch {
323
420
  /* best-effort; the lease TTL reclaims it anyway */
@@ -325,12 +422,92 @@ class MachineLease {
325
422
  }
326
423
  }
327
424
  }
425
+ /**
426
+ * One browser's own lease on a per-browser plan (the free tier: "1 browser at a time").
427
+ *
428
+ * Checked out for exactly one launch, heartbeated while that browser runs, checked in when it closes.
429
+ * Its token is never written to the shared cache and never handed to another launch.
430
+ */
431
+ class BrowserLease {
432
+ owner;
433
+ launchId;
434
+ onStop;
435
+ token;
436
+ leaseId;
437
+ timer = null;
438
+ stopped = false;
439
+ constructor(owner, co, launchId, onStop) {
440
+ this.owner = owner;
441
+ this.launchId = launchId;
442
+ this.onStop = onStop;
443
+ this.token = co.token;
444
+ this.leaseId = co.lease_id;
445
+ const hbMs = Math.max(5, co.heartbeat_interval_sec || 120) * 1000;
446
+ this.timer = setInterval(() => void this.beat(), hbMs);
447
+ this.timer.unref?.();
448
+ }
449
+ async beat() {
450
+ if (this.stopped)
451
+ return;
452
+ try {
453
+ const res = await this.owner.post("/api/v1/lease/heartbeat", { lease_id: this.leaseId, nonce: randomUUID() });
454
+ if (res.status === 409) {
455
+ // Reclaimed (e.g. missed beats): re-take the slot as the SAME launch, which the backend treats
456
+ // as this browser's own lease. If another browser took the slot meanwhile, this is refused.
457
+ const co = await this.owner.checkoutFor(this.launchId);
458
+ this.leaseId = co.lease_id;
459
+ this.token = co.token;
460
+ return;
461
+ }
462
+ if (res.ok) {
463
+ const d = (await res.json());
464
+ if (typeof d.token === "string")
465
+ this.token = d.token;
466
+ }
467
+ }
468
+ catch {
469
+ /* transient; the next beat retries, and the lease TTL is the backstop */
470
+ }
471
+ }
472
+ async stop() {
473
+ if (this.stopped)
474
+ return;
475
+ this.stopped = true;
476
+ if (this.timer) {
477
+ clearInterval(this.timer);
478
+ this.timer = null;
479
+ }
480
+ this.onStop();
481
+ try {
482
+ await this.owner.post("/api/v1/lease/checkin", { lease_id: this.leaseId });
483
+ }
484
+ catch {
485
+ /* best-effort; the lease TTL reclaims it */
486
+ }
487
+ }
488
+ session() {
489
+ const self = this;
490
+ return {
491
+ get token() {
492
+ return self.token;
493
+ },
494
+ get leaseId() {
495
+ return self.leaseId;
496
+ },
497
+ stop: () => self.stop(),
498
+ };
499
+ }
500
+ }
328
501
  const machineLeases = new Map();
329
502
  let exitHooked = false;
330
503
  /**
331
- * Acquire a per-MACHINE concurrency lease, shared across every launch in this
332
- * process (checks out ~once per token-TTL, not once per launch). Returns `null` in
333
- * free mode. Throws {@link ConcurrencyLimitError} / {@link LicenseRevokedError} /
504
+ * Acquire a concurrency lease for one launch. Returns `null` in free mode (no key).
505
+ *
506
+ * Machine plans (every paid plan): a per-MACHINE lease shared across every launch in this process
507
+ * (checks out ~once per token-TTL, not once per launch); `stop()` only drops a reference.
508
+ * Per-browser plans (the GitHub free tier, told by the backend's `lease_scope: "browser"`): every
509
+ * launch checks out its own slot, and `stop()` releases it, so a second browser is refused while one runs.
510
+ * Throws {@link ConcurrencyLimitError} / {@link LicenseRevokedError} /
334
511
  * {@link LicenseError} only on a cold checkout the backend definitively refuses;
335
512
  * falls back to a cached, still-valid token on a transient network failure.
336
513
  */
@@ -339,10 +516,18 @@ export async function acquireLease(opts = {}) {
339
516
  if (!licenseKey)
340
517
  return null; // free mode — inert
341
518
  const base = apiBase(opts);
342
- let ml = machineLeases.get(licenseKey);
519
+ const viaProxy = licenseThroughProxyRequested(opts.licenseThroughProxy) ? toProxySpec(opts.proxy ?? null) : null;
520
+ if (licenseThroughProxyRequested(opts.licenseThroughProxy) && !viaProxy && !opts.quiet) {
521
+ process.stderr.write("[clearcote] [license] licenseThroughProxy is on but this launch has no proxy; licence calls go direct.\n");
522
+ }
523
+ // One lease per (key, route): a direct lease and a proxied lease are different network paths, so
524
+ // they must not share the in-process heartbeat owner.
525
+ // The username is part of the route: sticky-session gateways encode the session in it.
526
+ const mapKey = viaProxy ? `${licenseKey}|${viaProxy.server}|${viaProxy.username ?? ""}` : licenseKey;
527
+ let ml = machineLeases.get(mapKey);
343
528
  if (!ml) {
344
- ml = new MachineLease(licenseKey, base, resolveInstanceId(), opts.sdkVersion, !!opts.quiet, opts.engineVersion);
345
- machineLeases.set(licenseKey, ml);
529
+ ml = new MachineLease(licenseKey, base, resolveInstanceId(), opts.sdkVersion, !!opts.quiet, opts.engineVersion, viaProxy);
530
+ machineLeases.set(mapKey, ml);
346
531
  }
347
532
  if (!exitHooked) {
348
533
  exitHooked = true;
@@ -363,4 +548,80 @@ export function withRunToken(token, baseEnv) {
363
548
  out[RUN_TOKEN_ENV] = token;
364
549
  return out;
365
550
  }
551
+ /**
552
+ * Seats in use on a licence right now (live leases), without checking one out. Never cached and
553
+ * never throws: an unreachable backend or an older backend without the endpoint reports
554
+ * `state: "unavailable"` with the reason, rather than a guessed number.
555
+ */
556
+ export async function getSessionSeats(opts = {}) {
557
+ const key = resolveLicenseKey(opts.licenseKey);
558
+ if (!key)
559
+ return { state: "no-key" };
560
+ const via = licenseThroughProxyRequested(opts.licenseThroughProxy) ? toProxySpec(opts.proxy ?? null) : null;
561
+ try {
562
+ const res = await proxiedRequest(`${apiBase(opts)}/api/v1/lease/seats`, {
563
+ method: "GET",
564
+ headers: { authorization: `Bearer ${key}` },
565
+ proxy: via,
566
+ timeoutMs: 15_000,
567
+ });
568
+ const body = (await res.json().catch(() => ({})));
569
+ if (res.ok && typeof body.used === "number") {
570
+ return { state: "ok", used: body.used, limit: body.limit ?? null, plan: body.plan };
571
+ }
572
+ if (res.status === 401 || res.status === 403)
573
+ return { state: "invalid", reason: body.error || `HTTP ${res.status}` };
574
+ if (res.status === 404)
575
+ return { state: "unavailable", reason: "this licence server does not report seats yet" };
576
+ return { state: "unavailable", reason: body.error || `HTTP ${res.status}` };
577
+ }
578
+ catch (e) {
579
+ return { state: "unavailable", reason: `licence server unreachable (${e.message})` };
580
+ }
581
+ }
582
+ /** Where `clearcote login` stores the key: ~/.clearcote/license.key. */
583
+ export function licenseKeyPath() {
584
+ return join(homedir(), ".clearcote", "license.key");
585
+ }
586
+ /** Save a licence key for every later launch (owner-only permissions where the OS supports it). */
587
+ export function saveLicenseKey(key) {
588
+ const k = key.trim();
589
+ if (!k)
590
+ throw new LicenseError("Empty licence key.", "LICENSE_EMPTY");
591
+ const p = licenseKeyPath();
592
+ mkdirSync(join(homedir(), ".clearcote"), { recursive: true });
593
+ writeFileSync(p, k + "\n", { mode: 0o600 });
594
+ try {
595
+ chmodSync(p, 0o600);
596
+ }
597
+ catch { /* not supported on this filesystem */ }
598
+ return p;
599
+ }
600
+ /** Remove the saved key. Returns true when a file was removed. */
601
+ export function removeLicenseKey() {
602
+ const p = licenseKeyPath();
603
+ if (!existsSync(p))
604
+ return false;
605
+ rmSync(p, { force: true });
606
+ return true;
607
+ }
608
+ /** Where the key a launch would use comes from, without revealing it. */
609
+ export function licenseKeySource(explicit) {
610
+ const mask = (k) => (k.length > 12 ? `${k.slice(0, 7)}…${k.slice(-4)}` : "…");
611
+ if (explicit && explicit.trim())
612
+ return { source: "option", masked: mask(explicit.trim()) };
613
+ const env = process.env.CLEARCOTE_LICENSE_KEY;
614
+ if (env && env.trim())
615
+ return { source: "env", masked: mask(env.trim()) };
616
+ try {
617
+ const p = licenseKeyPath();
618
+ if (existsSync(p)) {
619
+ const v = readFileSync(p, "utf8").trim();
620
+ if (v)
621
+ return { source: "file", masked: mask(v) };
622
+ }
623
+ }
624
+ catch { /* ignore */ }
625
+ return { source: "none" };
626
+ }
366
627
  //# sourceMappingURL=license.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"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"}