hacklab 0.6.7 → 0.7.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.
- package/README.md +36 -6
- package/dist/card.d.ts +66 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +151 -0
- package/dist/card.js.map +1 -0
- package/dist/commands/brag.d.ts.map +1 -1
- package/dist/commands/brag.js +5 -0
- package/dist/commands/brag.js.map +1 -1
- package/dist/commands/chat.d.ts +21 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +109 -14
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +21 -9
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/drop.d.ts.map +1 -1
- package/dist/commands/drop.js +5 -0
- package/dist/commands/drop.js.map +1 -1
- package/dist/commands/essay.d.ts +24 -0
- package/dist/commands/essay.d.ts.map +1 -0
- package/dist/commands/essay.js +434 -0
- package/dist/commands/essay.js.map +1 -0
- package/dist/commands/hacker.d.ts +2 -0
- package/dist/commands/hacker.d.ts.map +1 -0
- package/dist/commands/hacker.js +119 -0
- package/dist/commands/hacker.js.map +1 -0
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +153 -11
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +13 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +2 -0
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/org.d.ts +0 -2
- package/dist/commands/org.d.ts.map +1 -1
- package/dist/commands/org.js +1 -17
- package/dist/commands/org.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +25 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +92 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +44 -21
- package/dist/index.js.map +1 -1
- package/dist/posthog.d.ts +9 -0
- package/dist/posthog.d.ts.map +1 -0
- package/dist/posthog.js +20 -0
- package/dist/posthog.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +20 -0
- package/dist/registry.js.map +1 -1
- package/dist/scanners/index.d.ts +24 -2
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +103 -15
- package/dist/scanners/index.js.map +1 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +16 -0
- package/dist/session.js.map +1 -1
- package/dist/ui.d.ts +12 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +56 -0
- package/dist/ui.js.map +1 -1
- package/dist/utils/npmGlobal.d.ts +30 -0
- package/dist/utils/npmGlobal.d.ts.map +1 -0
- package/dist/utils/npmGlobal.js +69 -0
- package/dist/utils/npmGlobal.js.map +1 -0
- package/dist/utils/updateCheck.d.ts +6 -0
- package/dist/utils/updateCheck.d.ts.map +1 -1
- package/dist/utils/updateCheck.js +7 -2
- package/dist/utils/updateCheck.js.map +1 -1
- package/package.json +3 -1
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/scanners/index.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ export declare function scanCodex(): Promise<ScanResult>;
|
|
|
5
5
|
export declare function scanHermes(): Promise<ScanResult>;
|
|
6
6
|
export declare function scanOpenclaw(): Promise<ScanResult>;
|
|
7
7
|
export declare function scanOpenCode(): Promise<ScanResult>;
|
|
8
|
+
/**
|
|
9
|
+
* Does this machine look like a Cursor machine? `join` uses this to decide
|
|
10
|
+
* whether asking for a Cursor API key is worth a prompt.
|
|
11
|
+
*
|
|
12
|
+
* A false positive costs a question the user has to skip, so this looks for
|
|
13
|
+
* evidence Cursor has been *used* — the AI-tracking db, editor session state,
|
|
14
|
+
* per-workspace storage, or local file history — rather than merely installed.
|
|
15
|
+
* Every probe is a filesystem existence check, so it stays cheap enough to run
|
|
16
|
+
* inline in the join flow.
|
|
17
|
+
*/
|
|
18
|
+
export declare function detectCursorUsage(): Promise<boolean>;
|
|
8
19
|
export declare function scanCursorLocal(): Promise<ScanResult>;
|
|
9
20
|
export declare function scanCursorApi(): Promise<ScanResult>;
|
|
10
21
|
export type AggregateScan = {
|
|
@@ -16,9 +27,20 @@ export type AggregateScan = {
|
|
|
16
27
|
cursorStats: CursorStats | null;
|
|
17
28
|
cursorScanStatus: CursorScanStatus;
|
|
18
29
|
};
|
|
30
|
+
/** Run every scanner in parallel, returning one resolved result per tool. */
|
|
31
|
+
export declare function collectToolScans(): Promise<ScanResult[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Re-run only the Cursor API scanner and swap the result into an existing set of
|
|
34
|
+
* scans. `join` calls this after the user supplies a key mid-flow, so the exact
|
|
35
|
+
* API numbers replace the local estimate without re-walking every other tool's
|
|
36
|
+
* logs (which for a heavy Claude Code user means re-parsing thousands of files).
|
|
37
|
+
*/
|
|
38
|
+
export declare function rescanCursorWithApi(results: ScanResult[]): Promise<ScanResult[]>;
|
|
39
|
+
/** Merge per-tool results into a single submit-ready payload. */
|
|
40
|
+
export declare function mergeToolScans(results: ScanResult[]): AggregateScan;
|
|
19
41
|
/**
|
|
20
|
-
* Run every scanner
|
|
21
|
-
*
|
|
42
|
+
* Run every scanner and merge the results — the one-shot entry point for callers
|
|
43
|
+
* that don't need to re-scan a single tool afterwards (`sync`, the daily job).
|
|
22
44
|
*/
|
|
23
45
|
export declare function scanAllTools(): Promise<AggregateScan>;
|
|
24
46
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,KAAK,WAAW,EAChB,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAA;AAElB,cAAc,WAAW,CAAA;AAKzB,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAuD1D;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAiDrD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAmDtD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAgFxD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CA+FxD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,KAAK,WAAW,EAChB,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAA;AAElB,cAAc,WAAW,CAAA;AAKzB,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAuD1D;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAiDrD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAmDtD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAgFxD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CA+FxD;AAsCD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU1D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAkE3D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAkHzD;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,CAAA;AAsBD,6EAA6E;AAC7E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAc9D;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,UAAU,EAAE,CAAC,CAGvB;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CA+BnE;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAE3D"}
|
package/dist/scanners/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { resolveCursorAuth } from '../config.js';
|
|
5
5
|
import { emptyResult, findFiles, TokenCollector, toDateStr, } from './util.js';
|
|
6
6
|
export * from './util.js';
|
|
7
7
|
// One self-contained scanner per tool. Each returns a uniform ScanResult and
|
|
@@ -334,8 +334,61 @@ export async function scanOpenCode() {
|
|
|
334
334
|
}
|
|
335
335
|
return collector.result();
|
|
336
336
|
}
|
|
337
|
+
const CURSOR_TRACKING_DB = join(homedir(), '.cursor', 'ai-tracking', 'ai-code-tracking.db');
|
|
338
|
+
/** Cursor's Electron state dir, per platform. Not where the tracking db lives. */
|
|
339
|
+
function cursorStateDirs() {
|
|
340
|
+
const home = homedir();
|
|
341
|
+
if (process.platform === 'darwin') {
|
|
342
|
+
return [join(home, 'Library', 'Application Support', 'Cursor')];
|
|
343
|
+
}
|
|
344
|
+
if (process.platform === 'win32') {
|
|
345
|
+
return process.env.APPDATA ? [join(process.env.APPDATA, 'Cursor')] : [];
|
|
346
|
+
}
|
|
347
|
+
return [join(home, '.config', 'Cursor')];
|
|
348
|
+
}
|
|
349
|
+
async function pathExists(p) {
|
|
350
|
+
try {
|
|
351
|
+
await stat(p);
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
catch {
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
async function dirHasEntries(p) {
|
|
359
|
+
try {
|
|
360
|
+
return (await readdir(p)).length > 0;
|
|
361
|
+
}
|
|
362
|
+
catch {
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Does this machine look like a Cursor machine? `join` uses this to decide
|
|
368
|
+
* whether asking for a Cursor API key is worth a prompt.
|
|
369
|
+
*
|
|
370
|
+
* A false positive costs a question the user has to skip, so this looks for
|
|
371
|
+
* evidence Cursor has been *used* — the AI-tracking db, editor session state,
|
|
372
|
+
* per-workspace storage, or local file history — rather than merely installed.
|
|
373
|
+
* Every probe is a filesystem existence check, so it stays cheap enough to run
|
|
374
|
+
* inline in the join flow.
|
|
375
|
+
*/
|
|
376
|
+
export async function detectCursorUsage() {
|
|
377
|
+
if (await pathExists(CURSOR_TRACKING_DB))
|
|
378
|
+
return true;
|
|
379
|
+
for (const dir of cursorStateDirs()) {
|
|
380
|
+
if (await pathExists(join(dir, 'User', 'globalStorage', 'state.vscdb'))) {
|
|
381
|
+
return true;
|
|
382
|
+
}
|
|
383
|
+
if (await dirHasEntries(join(dir, 'User', 'workspaceStorage')))
|
|
384
|
+
return true;
|
|
385
|
+
if (await dirHasEntries(join(dir, 'User', 'History')))
|
|
386
|
+
return true;
|
|
387
|
+
}
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
337
390
|
export async function scanCursorLocal() {
|
|
338
|
-
const dbPath =
|
|
391
|
+
const dbPath = CURSOR_TRACKING_DB;
|
|
339
392
|
try {
|
|
340
393
|
await stat(dbPath);
|
|
341
394
|
}
|
|
@@ -391,12 +444,11 @@ export async function scanCursorLocal() {
|
|
|
391
444
|
}
|
|
392
445
|
}
|
|
393
446
|
export async function scanCursorApi() {
|
|
394
|
-
const
|
|
395
|
-
if (!
|
|
447
|
+
const { apiKey, email } = await resolveCursorAuth();
|
|
448
|
+
if (!apiKey) {
|
|
396
449
|
return { ...emptyResult('cursor'), cursorScanStatus: { source: 'none' } };
|
|
397
450
|
}
|
|
398
451
|
const collector = new TokenCollector('cursor');
|
|
399
|
-
const email = config.cursorEmail;
|
|
400
452
|
const now = Date.now();
|
|
401
453
|
const startDate = now - 5 * 365 * 24 * 60 * 60 * 1000;
|
|
402
454
|
const endDate = now;
|
|
@@ -422,7 +474,7 @@ export async function scanCursorApi() {
|
|
|
422
474
|
method: 'POST',
|
|
423
475
|
headers: {
|
|
424
476
|
'Content-Type': 'application/json',
|
|
425
|
-
Authorization: `Bearer ${
|
|
477
|
+
Authorization: `Bearer ${apiKey}`,
|
|
426
478
|
},
|
|
427
479
|
body: JSON.stringify(body),
|
|
428
480
|
});
|
|
@@ -443,7 +495,7 @@ export async function scanCursorApi() {
|
|
|
443
495
|
...emptyResult('cursor'),
|
|
444
496
|
cursorScanStatus: {
|
|
445
497
|
source: 'api-failed',
|
|
446
|
-
reason: `auth ${res.status}
|
|
498
|
+
reason: `Cursor rejected the API key (auth ${res.status})`,
|
|
447
499
|
},
|
|
448
500
|
};
|
|
449
501
|
}
|
|
@@ -496,10 +548,26 @@ export async function scanCursorApi() {
|
|
|
496
548
|
return collector.result({ cursorScanStatus });
|
|
497
549
|
}
|
|
498
550
|
/**
|
|
499
|
-
*
|
|
500
|
-
*
|
|
551
|
+
* Choose between the two Cursor sources: the API scan when it produced data,
|
|
552
|
+
* else the local `lines × 30` estimate.
|
|
553
|
+
*
|
|
554
|
+
* Either way the winner carries the local commit stats (the API has no notion of
|
|
555
|
+
* commits, and the share card renders them) and the API's status. Propagating
|
|
556
|
+
* the status onto the local fallback is what lets a rejected key surface as
|
|
557
|
+
* `api-failed` — otherwise a bad key is indistinguishable from no key at all,
|
|
558
|
+
* and the user silently gets the estimate while believing they get exact counts.
|
|
501
559
|
*/
|
|
502
|
-
|
|
560
|
+
function resolveCursor(api, local) {
|
|
561
|
+
if (api.daily.length > 0) {
|
|
562
|
+
return { ...api, cursorStats: local.cursorStats ?? null };
|
|
563
|
+
}
|
|
564
|
+
return {
|
|
565
|
+
...local,
|
|
566
|
+
cursorScanStatus: api.cursorScanStatus ?? { source: 'none' },
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
/** Run every scanner in parallel, returning one resolved result per tool. */
|
|
570
|
+
export async function collectToolScans() {
|
|
503
571
|
const [claude, codex, cursorApi, cursorLocal, openclaw, hermes, opencode] = await Promise.all([
|
|
504
572
|
scanClaudeCode(),
|
|
505
573
|
scanCodex(),
|
|
@@ -509,9 +577,21 @@ export async function scanAllTools() {
|
|
|
509
577
|
scanHermes(),
|
|
510
578
|
scanOpenCode(),
|
|
511
579
|
]);
|
|
512
|
-
const
|
|
513
|
-
|
|
514
|
-
|
|
580
|
+
const cursor = resolveCursor(cursorApi, cursorLocal);
|
|
581
|
+
return [claude, codex, cursor, openclaw, hermes, opencode];
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Re-run only the Cursor API scanner and swap the result into an existing set of
|
|
585
|
+
* scans. `join` calls this after the user supplies a key mid-flow, so the exact
|
|
586
|
+
* API numbers replace the local estimate without re-walking every other tool's
|
|
587
|
+
* logs (which for a heavy Claude Code user means re-parsing thousands of files).
|
|
588
|
+
*/
|
|
589
|
+
export async function rescanCursorWithApi(results) {
|
|
590
|
+
const api = await scanCursorApi();
|
|
591
|
+
return results.map((r) => (r.tool === 'cursor' ? resolveCursor(api, r) : r));
|
|
592
|
+
}
|
|
593
|
+
/** Merge per-tool results into a single submit-ready payload. */
|
|
594
|
+
export function mergeToolScans(results) {
|
|
515
595
|
const toolTotals = {};
|
|
516
596
|
const dailyTotals = [];
|
|
517
597
|
const hourlyTotals = [];
|
|
@@ -530,14 +610,22 @@ export async function scanAllTools() {
|
|
|
530
610
|
modelTotals[model] = (modelTotals[model] ?? 0) + tokens;
|
|
531
611
|
}
|
|
532
612
|
}
|
|
613
|
+
const cursor = results.find((r) => r.tool === 'cursor');
|
|
533
614
|
return {
|
|
534
615
|
toolTotals,
|
|
535
616
|
dailyTotals,
|
|
536
617
|
hourlyTotals,
|
|
537
618
|
modelTotals,
|
|
538
619
|
grandTotal,
|
|
539
|
-
cursorStats:
|
|
540
|
-
cursorScanStatus: cursor
|
|
620
|
+
cursorStats: cursor?.cursorStats ?? null,
|
|
621
|
+
cursorScanStatus: cursor?.cursorScanStatus ?? { source: 'none' },
|
|
541
622
|
};
|
|
542
623
|
}
|
|
624
|
+
/**
|
|
625
|
+
* Run every scanner and merge the results — the one-shot entry point for callers
|
|
626
|
+
* that don't need to re-scan a single tool afterwards (`sync`, the daily job).
|
|
627
|
+
*/
|
|
628
|
+
export async function scanAllTools() {
|
|
629
|
+
return mergeToolScans(await collectToolScans());
|
|
630
|
+
}
|
|
543
631
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -70,5 +70,6 @@ export declare function envNameForUrl(url: string): HacklabEnv | null;
|
|
|
70
70
|
* 401 until you `hacklab login --env <that>`.
|
|
71
71
|
*/
|
|
72
72
|
export declare function resolveAppUrl(session?: Pick<Session, 'appUrl'> | null): string;
|
|
73
|
+
export declare function unauthorizedHint(session: Session): string;
|
|
73
74
|
export declare function getAppUrl(): string;
|
|
74
75
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -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,qDAAqD;AACrD,eAAO,MAAM,oBAAoB;;;;CAIvB,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;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,qDAAqD;AACrD,eAAO,MAAM,oBAAoB;;;;CAIvB,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"}
|
package/dist/session.js
CHANGED
|
@@ -135,6 +135,22 @@ export function resolveAppUrl(session) {
|
|
|
135
135
|
// Normalize here so callers never re-strip the trailing slash themselves.
|
|
136
136
|
return url.replace(/\/$/, '');
|
|
137
137
|
}
|
|
138
|
+
// Turn a 401 from any authenticated endpoint into something the user can act
|
|
139
|
+
// on. A bare "Unauthorized" is almost always a per-backend token mismatch: the
|
|
140
|
+
// saved session only authenticates against the backend you logged into, but
|
|
141
|
+
// this command targets a different one (via --env / HACKLAB_APP_URL), so its
|
|
142
|
+
// token isn't valid there. Point at the exact re-login command for the *target*
|
|
143
|
+
// backend instead of dead-ending.
|
|
144
|
+
export function unauthorizedHint(session) {
|
|
145
|
+
const target = resolveAppUrl(session);
|
|
146
|
+
const env = envNameForUrl(target);
|
|
147
|
+
const loginCmd = env && env !== 'production' ? `hacklab login --env ${env}` : 'hacklab login';
|
|
148
|
+
const sessionUrl = session.appUrl.replace(/\/$/, '');
|
|
149
|
+
if (sessionUrl !== target) {
|
|
150
|
+
return `unauthorized — your session is for ${sessionUrl}, but this targets ${target}. run \`${loginCmd}\` to sign in there.`;
|
|
151
|
+
}
|
|
152
|
+
return `unauthorized — your session may have expired. run \`${loginCmd}\` to sign in again.`;
|
|
153
|
+
}
|
|
138
154
|
export function getAppUrl() {
|
|
139
155
|
return resolveAppUrl();
|
|
140
156
|
}
|
package/dist/session.js.map
CHANGED
|
@@ -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/dist/ui.d.ts
CHANGED
|
@@ -5,11 +5,23 @@ export declare const red: import("chalk").ChalkInstance;
|
|
|
5
5
|
export declare const yellow: import("chalk").ChalkInstance;
|
|
6
6
|
export declare const white: import("chalk").ChalkInstance;
|
|
7
7
|
export declare const linkBlue: import("chalk").ChalkInstance;
|
|
8
|
+
export declare const mint: import("chalk").ChalkInstance;
|
|
8
9
|
/**
|
|
9
10
|
* Colour a string in the terminal colour for the rank at `level`. A null/unknown
|
|
10
11
|
* level (e.g. older messages without a sender level) falls back to plain bold.
|
|
11
12
|
*/
|
|
12
13
|
export declare function rankColor(level: number | null | undefined, text: string): string;
|
|
14
|
+
/** Display columns a plain string occupies (ANSI stripped, CJK/emoji aware). */
|
|
15
|
+
export declare function displayWidth(s: string): number;
|
|
16
|
+
/**
|
|
17
|
+
* Truncate a PLAIN string to at most `max` display columns, cutting on grapheme
|
|
18
|
+
* boundaries (never mid-emoji / mid-surrogate) and adding a 1-column ellipsis
|
|
19
|
+
* when anything was dropped. Must run before colorizing.
|
|
20
|
+
*/
|
|
21
|
+
export declare function truncateToWidth(s: string, max: number): string;
|
|
22
|
+
/** Right-pad a PLAIN string with spaces to exactly `width` display columns. */
|
|
23
|
+
export declare function padEndTo(s: string, width: number): string;
|
|
24
|
+
export declare function stripControl(s: string): string;
|
|
13
25
|
export declare function banner(): void;
|
|
14
26
|
export declare function success(msg: string): void;
|
|
15
27
|
export declare function error(msg: string): void;
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,GAAG,+BAAY,CAAA;AAC5B,eAAO,MAAM,IAAI,+BAAa,CAAA;AAC9B,eAAO,MAAM,KAAK,+BAAc,CAAA;AAChC,eAAO,MAAM,GAAG,+BAAY,CAAA;AAC5B,eAAO,MAAM,MAAM,+BAAe,CAAA;AAClC,eAAO,MAAM,KAAK,+BAAoB,CAAA;AAGtC,eAAO,MAAM,QAAQ,+BAAuB,CAAA;AAI5C,eAAO,MAAM,IAAI,+BAAuB,CAAA;AAwBxC;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,GACX,MAAM,CAMR;AAcD,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa9D;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAOD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,wBAAgB,MAAM,SAIrB;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,QAElC;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,QAEhC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,QAE/B"}
|
package/dist/ui.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
+
import stringWidth from 'string-width';
|
|
2
3
|
import { getBeltColor } from './belt.js';
|
|
3
4
|
export const dim = chalk.dim;
|
|
4
5
|
export const bold = chalk.bold;
|
|
@@ -9,6 +10,10 @@ export const white = chalk.whiteBright;
|
|
|
9
10
|
// GitHub's link blue. chalk degrades the hex to the nearest ANSI colour on
|
|
10
11
|
// terminals without truecolor support.
|
|
11
12
|
export const linkBlue = chalk.hex('#79b8ff');
|
|
13
|
+
// Phosphor Mint (DESIGN.md --primary #82F5C6): the "active and alive" signal —
|
|
14
|
+
// the open-to-work status dot and lit activity cells. chalk degrades the hex on
|
|
15
|
+
// terminals without truecolor.
|
|
16
|
+
export const mint = chalk.hex('#82F5C6');
|
|
12
17
|
// Map a belt colour to the nearest standard ANSI terminal colour name. We use
|
|
13
18
|
// chalk's *named* colours (not the hex values from share-card-colors) on
|
|
14
19
|
// purpose: named colours resolve to each viewer's own terminal theme, so the
|
|
@@ -42,6 +47,57 @@ export function rankColor(level, text) {
|
|
|
42
47
|
return bold(text);
|
|
43
48
|
return BELT_ANSI[getBeltColor(level)].bold(text);
|
|
44
49
|
}
|
|
50
|
+
// --- Display-width primitives ----------------------------------------------
|
|
51
|
+
// The hacker card has a fixed column budget, and its content is user-supplied
|
|
52
|
+
// (handles, bios) that can contain CJK, emoji, and ANSI. `.length` is wrong for
|
|
53
|
+
// all three. Render order everywhere is: strip → truncate → measure → colorize
|
|
54
|
+
// LAST — colorizing before truncation would slice an ANSI escape mid-byte, and
|
|
55
|
+
// stringWidth counts ANSI as zero so a coloured string would measure short and
|
|
56
|
+
// truncate into corruption. These helpers therefore operate on PLAIN text.
|
|
57
|
+
// Ambiguous-width characters (⬤, box-drawing) count as 1 column — pinned per
|
|
58
|
+
// DESIGN.md so the card's rules and content agree with a standard terminal.
|
|
59
|
+
const WIDTH_OPTS = { ambiguousIsNarrow: true };
|
|
60
|
+
/** Display columns a plain string occupies (ANSI stripped, CJK/emoji aware). */
|
|
61
|
+
export function displayWidth(s) {
|
|
62
|
+
return stringWidth(s, WIDTH_OPTS);
|
|
63
|
+
}
|
|
64
|
+
const graphemeSegmenter = new Intl.Segmenter('en', { granularity: 'grapheme' });
|
|
65
|
+
/**
|
|
66
|
+
* Truncate a PLAIN string to at most `max` display columns, cutting on grapheme
|
|
67
|
+
* boundaries (never mid-emoji / mid-surrogate) and adding a 1-column ellipsis
|
|
68
|
+
* when anything was dropped. Must run before colorizing.
|
|
69
|
+
*/
|
|
70
|
+
export function truncateToWidth(s, max) {
|
|
71
|
+
if (max <= 0)
|
|
72
|
+
return '';
|
|
73
|
+
if (displayWidth(s) <= max)
|
|
74
|
+
return s;
|
|
75
|
+
const budget = max - 1; // reserve one column for the … ellipsis
|
|
76
|
+
let out = '';
|
|
77
|
+
let width = 0;
|
|
78
|
+
for (const { segment } of graphemeSegmenter.segment(s)) {
|
|
79
|
+
const w = displayWidth(segment);
|
|
80
|
+
if (width + w > budget)
|
|
81
|
+
break;
|
|
82
|
+
out += segment;
|
|
83
|
+
width += w;
|
|
84
|
+
}
|
|
85
|
+
return `${out}…`;
|
|
86
|
+
}
|
|
87
|
+
/** Right-pad a PLAIN string with spaces to exactly `width` display columns. */
|
|
88
|
+
export function padEndTo(s, width) {
|
|
89
|
+
const gap = width - displayWidth(s);
|
|
90
|
+
return gap > 0 ? s + ' '.repeat(gap) : s;
|
|
91
|
+
}
|
|
92
|
+
// Strip C0 control characters + DEL from untrusted text before printing it to
|
|
93
|
+
// the terminal. Without this, a hacker could embed ANSI escape sequences in a
|
|
94
|
+
// handle, bio, message, or any user-supplied field to clear/garble or hijack
|
|
95
|
+
// any viewer's terminal. Lives here (not in a command module) so every renderer
|
|
96
|
+
// — chat, the hacker card — can reach it without a circular import.
|
|
97
|
+
export function stripControl(s) {
|
|
98
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: intentionally matching control chars to remove them
|
|
99
|
+
return s.replace(/[\x00-\x1f\x7f]/g, '');
|
|
100
|
+
}
|
|
45
101
|
export function banner() {
|
|
46
102
|
console.log('');
|
|
47
103
|
console.log(bold(' ☠︎ hacklab'));
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAkB,YAAY,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AAC9B,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;AAChC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;AAClC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAA;AACtC,2EAA2E;AAC3E,uCAAuC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type SpawnSyncReturns } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* npm's executable name. On Windows npm is a `.cmd` shim, and recent Node
|
|
4
|
+
* refuses to spawn `.cmd`/`.bat` without a shell, so callers pass `shell: true`
|
|
5
|
+
* on win32 (see {@link runNpm}).
|
|
6
|
+
*/
|
|
7
|
+
export declare const NPM_BIN: string;
|
|
8
|
+
/**
|
|
9
|
+
* Run npm with fixed (never user-supplied) args. `capture` pipes stdout/stderr
|
|
10
|
+
* back as strings; otherwise the child inherits the terminal so npm's own
|
|
11
|
+
* progress shows through. `shell: true` on Windows is required to launch the
|
|
12
|
+
* `.cmd` shim; the args here are all literals, so there's nothing to escape.
|
|
13
|
+
*/
|
|
14
|
+
export declare function runNpm(args: string[], opts?: {
|
|
15
|
+
capture?: boolean;
|
|
16
|
+
}): SpawnSyncReturns<string>;
|
|
17
|
+
/** The directory npm would drop a global package into (`npm root -g`), or ''. */
|
|
18
|
+
export declare function npmGlobalRoot(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Walk up from `p` to the nearest ancestor that exists on disk. We can't test
|
|
21
|
+
* writability of a directory npm hasn't created yet (`…/lib/node_modules`
|
|
22
|
+
* frequently doesn't exist), so we check the closest thing that does — mkdir
|
|
23
|
+
* succeeds iff that ancestor is writable.
|
|
24
|
+
*/
|
|
25
|
+
export declare function firstExistingAncestor(p: string): string;
|
|
26
|
+
/** Can the current user create/write inside `dir` (probing its nearest existing ancestor)? */
|
|
27
|
+
export declare function isWritable(dir: string): boolean;
|
|
28
|
+
/** The user-owned prefix we reconfigure npm to when the system one is read-only. */
|
|
29
|
+
export declare function userNpmPrefix(): string;
|
|
30
|
+
//# sourceMappingURL=npmGlobal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmGlobal.d.ts","sourceRoot":"","sources":["../../src/utils/npmGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,oBAAoB,CAAA;AAarE;;;;GAIG;AACH,eAAO,MAAM,OAAO,QAAmD,CAAA;AAEvE;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,gBAAgB,CAAC,MAAM,CAAC,CAM1B;AAED,iFAAiF;AACjF,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAS/C;AAED,oFAAoF;AACpF,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|