hacklab 0.21.1 → 0.21.2

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 CHANGED
@@ -73,7 +73,10 @@ machine's usage to your profile. Cursor users with no API key are offered one
73
73
 
74
74
  - `hacklab setup` — the guided first run: scan, sign-in, one question
75
75
  about syncing your prompt activity, upload, background sync on. Safe to
76
- re-run; it skips whatever is already done and stops early once everything is.
76
+ re-run; it checks your saved session with the server first, skips whatever is
77
+ already done, and stops early once everything is. If that session has expired
78
+ or been revoked it signs you in again instead of reporting you as set up; if
79
+ the server can't be reached it says so and carries on with what's on disk.
77
80
  - `hacklab scan` — scan this machine, upload to your profile, share the card.
78
81
  Requires login. Summons the daemon afterwards (`--no-daemon` to skip).
79
82
  - `hacklab sync` — re-scan local AI usage and sync it to your profile.
@@ -17,6 +17,13 @@
17
17
  * working — the per-tool receipt, the device code — has done its job by the time
18
18
  * the next stage starts, so it comes back off the screen. `setup-rail.ts` holds
19
19
  * the two blocks clack has no widget for.
20
+ *
21
+ * Being the front door also means it is the one command that never takes the
22
+ * session file's word for it. The installer runs `setup` after every install,
23
+ * including on a machine that already has a session, so this is where "is this
24
+ * account still real" gets asked of the *server* — a token that was revoked or
25
+ * has expired can't be allowed to pass as set up and arm a daemon that uploads
26
+ * into 401s.
20
27
  */
21
28
  export declare function setup(): Promise<void>;
22
29
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqL3C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA2L3C"}
@@ -6,7 +6,7 @@ import { loadPromptSync, savePromptSync, } from '../prompt-consent.js';
6
6
  import { stageFullScan } from '../scanners/incremental.js';
7
7
  import { collectToolScans, mergeToolScans, } from '../scanners/index.js';
8
8
  import { formatTokens } from '../scanners/util.js';
9
- import { loadSession, resolveAppUrl, saveSession, } from '../session.js';
9
+ import { clearSession, loadSession, resolveAppUrl, saveSession, verifySession, } from '../session.js';
10
10
  import { scanConsentedPromptStats, uploadTokenScan } from '../sync.js';
11
11
  import { bold, dim } from '../ui.js';
12
12
  import { waitForBareEnter } from '../utils/waitForEnter.js';
@@ -33,18 +33,31 @@ import { canRedraw, railAgentOffer, railDeviceCode } from './setup-rail.js';
33
33
  * working — the per-tool receipt, the device code — has done its job by the time
34
34
  * the next stage starts, so it comes back off the screen. `setup-rail.ts` holds
35
35
  * the two blocks clack has no widget for.
36
+ *
37
+ * Being the front door also means it is the one command that never takes the
38
+ * session file's word for it. The installer runs `setup` after every install,
39
+ * including on a machine that already has a session, so this is where "is this
40
+ * account still real" gets asked of the *server* — a token that was revoked or
41
+ * has expired can't be allowed to pass as set up and arm a daemon that uploads
42
+ * into 401s.
36
43
  */
37
44
  export async function setup() {
38
45
  clack.intro(bold('Hacklab CLI setup'));
39
46
  clack.log.message(dim('scans your AI usage, signs you in, and starts a background usage sync'));
40
- const existing = await loadSession();
47
+ // A session on disk only counts once the server agrees it still works —
48
+ // everything below (the early return included) reads `existing` as proof of
49
+ // an account, so the check has to happen before any of it.
50
+ const saved = await loadSession();
51
+ const existing = saved ? await confirmSession(saved) : null;
52
+ // Resolved after the check: a refused session is gone, and the flow now
53
+ // targets whatever `login` would (HACKLAB_APP_URL / --env, else production).
41
54
  const appUrl = resolveAppUrl(existing);
42
55
  const syncState = await dailySyncState();
43
56
  // ── Already set up ───────────────────────────────────────────────────────
44
57
  // A finished account AND a live daemon means there is genuinely nothing to
45
58
  // do. Anything less falls through and skips only the stages already done.
46
59
  if (existing?.handle && existing.usernameClaimed && syncState === 'current') {
47
- clack.log.step(`already set up — you're ${bold(`@${existing.handle}`)}`);
60
+ clack.log.success(`already set up — you're ${bold(`@${existing.handle}`)}`);
48
61
  clack.log.message(dim('re-scan with `hacklab scan`, re-upload with `hacklab sync`'), { spacing: 0 });
49
62
  clack.outro(dim(`${appUrl}/${existing.handle}`));
50
63
  return;
@@ -184,6 +197,29 @@ export async function setup() {
184
197
  });
185
198
  }
186
199
  }
200
+ /**
201
+ * The session to keep going with, after asking the server about it.
202
+ *
203
+ * Three answers, three outcomes. A refusal (401) is the only one that costs the
204
+ * user their session: the token is dead, so the file goes, one line says why,
205
+ * and the flow carries on from the top as if the machine had never been signed
206
+ * in — straight into the device flow. An unreachable or unhappy server is not a
207
+ * verdict, so the local session stands and the flow runs exactly as it did
208
+ * before this check existed; a first run on a plane still works. A confirmed
209
+ * session says nothing at all.
210
+ */
211
+ async function confirmSession(session) {
212
+ const check = await verifySession(session);
213
+ if (check === 'unauthorized') {
214
+ await clearSession();
215
+ clack.log.warn('your session has expired — signing in again');
216
+ return null;
217
+ }
218
+ if (check === 'unverified') {
219
+ clack.log.message(dim(`couldn't reach ${resolveAppUrl(session)} to check your session — continuing offline`), { spacing: 0 });
220
+ }
221
+ return session;
222
+ }
187
223
  /**
188
224
  * What the scan step shows while it is still running: one line per tool it
189
225
  * found, biggest first.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -75,4 +75,32 @@ export declare function envNameForUrl(url: string): HacklabEnv | null;
75
75
  export declare function resolveAppUrl(session?: Pick<Session, 'appUrl'> | null): string;
76
76
  export declare function unauthorizedHint(session: Session): string;
77
77
  export declare function getAppUrl(): string;
78
+ /**
79
+ * What the backend said about a saved token:
80
+ *
81
+ * 'ok' — the token authenticates; the account is real.
82
+ * 'unauthorized' — the backend refused it: revoked, expired, or minted for a
83
+ * different backend. The session on disk is dead.
84
+ * 'unverified' — the backend never answered the question (offline, timeout,
85
+ * 5xx, a rate limit). Not the same as "logged out".
86
+ */
87
+ export type SessionCheck = 'ok' | 'unauthorized' | 'unverified';
88
+ /**
89
+ * Ask the backend whether this session still works.
90
+ *
91
+ * `GET /api/hackers/me` is the cheapest authenticated read there is, and its
92
+ * answer is unambiguous: the route resolves the bearer token against the live
93
+ * session rows, so only a token with no unexpired session behind it comes back
94
+ * 401. That is the *one* status that means signed out, and the only one that
95
+ * may cost someone their local session. The route has no 403 on GET (the one
96
+ * 403 it can return belongs to PATCH, for a profile that hasn't been claimed),
97
+ * so 403 is not treated as a refusal here.
98
+ *
99
+ * Everything else is 'unverified' — a 429 from either of the route's rate
100
+ * limiters (the per-IP one fires before auth is even looked at), a 5xx, a DNS
101
+ * failure on a plane, the 10s timeout. A machine that can't reach the server is
102
+ * not a machine whose account is gone, and guessing otherwise would throw away
103
+ * a working session over a flaky network.
104
+ */
105
+ export declare function verifySession(session: Session): Promise<SessionCheck>;
78
106
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAKD,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAEhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;AASD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,GAC9C,IAAI,GAAG,IAAI,CAQb;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,EAC/C,GAAG,OAAa,GACf,OAAO,CAGT;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyBlE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE3D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAOrD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAQD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GACvC,MAAM,CAOR;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAKD,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAEhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;AASD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,GAC9C,IAAI,GAAG,IAAI,CAQb;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,EAC/C,GAAG,OAAa,GACf,OAAO,CAGT;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyBlE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE3D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAOrD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAQD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GACvC,MAAM,CAOR;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,YAAY,CAAA;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAc3E"}
package/dist/session.js CHANGED
@@ -157,4 +157,35 @@ export function unauthorizedHint(session) {
157
157
  export function getAppUrl() {
158
158
  return resolveAppUrl();
159
159
  }
160
+ /**
161
+ * Ask the backend whether this session still works.
162
+ *
163
+ * `GET /api/hackers/me` is the cheapest authenticated read there is, and its
164
+ * answer is unambiguous: the route resolves the bearer token against the live
165
+ * session rows, so only a token with no unexpired session behind it comes back
166
+ * 401. That is the *one* status that means signed out, and the only one that
167
+ * may cost someone their local session. The route has no 403 on GET (the one
168
+ * 403 it can return belongs to PATCH, for a profile that hasn't been claimed),
169
+ * so 403 is not treated as a refusal here.
170
+ *
171
+ * Everything else is 'unverified' — a 429 from either of the route's rate
172
+ * limiters (the per-IP one fires before auth is even looked at), a 5xx, a DNS
173
+ * failure on a plane, the 10s timeout. A machine that can't reach the server is
174
+ * not a machine whose account is gone, and guessing otherwise would throw away
175
+ * a working session over a flaky network.
176
+ */
177
+ export async function verifySession(session) {
178
+ try {
179
+ const res = await fetch(`${resolveAppUrl(session)}/api/hackers/me?src=cli`, {
180
+ headers: { Authorization: `Bearer ${session.token}` },
181
+ signal: AbortSignal.timeout(10_000),
182
+ });
183
+ if (res.ok)
184
+ return 'ok';
185
+ return res.status === 401 ? 'unauthorized' : 'unverified';
186
+ }
187
+ catch {
188
+ return 'unverified';
189
+ }
190
+ }
160
191
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hacklab",
3
- "version": "0.21.1",
3
+ "version": "0.21.2",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"