hacklab 0.22.2 → 26.921.1
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 +23 -430
- package/dist/index.js +132 -23
- package/package.json +20 -42
- package/LICENSE +0 -21
- package/dist/agent-handoff.d.ts +0 -51
- package/dist/agent-handoff.d.ts.map +0 -1
- package/dist/agent-handoff.js +0 -91
- package/dist/agent-handoff.js.map +0 -1
- package/dist/api-client.d.ts +0 -18
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -40
- package/dist/api-client.js.map +0 -1
- package/dist/belt.d.ts +0 -25
- package/dist/belt.d.ts.map +0 -1
- package/dist/belt.js +0 -113
- package/dist/belt.js.map +0 -1
- package/dist/card.d.ts +0 -66
- package/dist/card.d.ts.map +0 -1
- package/dist/card.js +0 -151
- package/dist/card.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -238
- package/dist/cli.js.map +0 -1
- package/dist/commands/book.d.ts +0 -14
- package/dist/commands/book.d.ts.map +0 -1
- package/dist/commands/book.js +0 -90
- package/dist/commands/book.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -36
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -642
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/config.d.ts +0 -2
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -84
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/daemon.d.ts +0 -19
- package/dist/commands/daemon.d.ts.map +0 -1
- package/dist/commands/daemon.js +0 -72
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/drop.d.ts +0 -12
- package/dist/commands/drop.d.ts.map +0 -1
- package/dist/commands/drop.js +0 -103
- package/dist/commands/drop.js.map +0 -1
- package/dist/commands/drops.d.ts +0 -9
- package/dist/commands/drops.d.ts.map +0 -1
- package/dist/commands/drops.js +0 -96
- package/dist/commands/drops.js.map +0 -1
- package/dist/commands/essay.d.ts +0 -40
- package/dist/commands/essay.d.ts.map +0 -1
- package/dist/commands/essay.js +0 -651
- package/dist/commands/essay.js.map +0 -1
- package/dist/commands/hackathon.d.ts +0 -2
- package/dist/commands/hackathon.d.ts.map +0 -1
- package/dist/commands/hackathon.js +0 -893
- package/dist/commands/hackathon.js.map +0 -1
- package/dist/commands/hacker.d.ts +0 -2
- package/dist/commands/hacker.d.ts.map +0 -1
- package/dist/commands/hacker.js +0 -87
- package/dist/commands/hacker.js.map +0 -1
- package/dist/commands/jobs.d.ts +0 -18
- package/dist/commands/jobs.d.ts.map +0 -1
- package/dist/commands/jobs.js +0 -138
- package/dist/commands/jobs.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -2
- package/dist/commands/keys.d.ts.map +0 -1
- package/dist/commands/keys.js +0 -138
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/login.d.ts +0 -83
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -236
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -2
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -22
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/org-jobs.d.ts +0 -50
- package/dist/commands/org-jobs.d.ts.map +0 -1
- package/dist/commands/org-jobs.js +0 -383
- package/dist/commands/org-jobs.js.map +0 -1
- package/dist/commands/org.d.ts +0 -67
- package/dist/commands/org.d.ts.map +0 -1
- package/dist/commands/org.js +0 -1244
- package/dist/commands/org.js.map +0 -1
- package/dist/commands/ping.d.ts +0 -2
- package/dist/commands/ping.d.ts.map +0 -1
- package/dist/commands/ping.js +0 -50
- package/dist/commands/ping.js.map +0 -1
- package/dist/commands/profile.d.ts +0 -72
- package/dist/commands/profile.d.ts.map +0 -1
- package/dist/commands/profile.js +0 -672
- package/dist/commands/profile.js.map +0 -1
- package/dist/commands/project.d.ts +0 -2
- package/dist/commands/project.d.ts.map +0 -1
- package/dist/commands/project.js +0 -583
- package/dist/commands/project.js.map +0 -1
- package/dist/commands/referral.d.ts +0 -6
- package/dist/commands/referral.d.ts.map +0 -1
- package/dist/commands/referral.js +0 -93
- package/dist/commands/referral.js.map +0 -1
- package/dist/commands/rtfm.d.ts +0 -9
- package/dist/commands/rtfm.d.ts.map +0 -1
- package/dist/commands/rtfm.js +0 -114
- package/dist/commands/rtfm.js.map +0 -1
- package/dist/commands/scan.d.ts +0 -13
- package/dist/commands/scan.d.ts.map +0 -1
- package/dist/commands/scan.js +0 -286
- package/dist/commands/scan.js.map +0 -1
- package/dist/commands/scout.d.ts +0 -18
- package/dist/commands/scout.d.ts.map +0 -1
- package/dist/commands/scout.js +0 -232
- package/dist/commands/scout.js.map +0 -1
- package/dist/commands/setup-rail.d.ts +0 -58
- package/dist/commands/setup-rail.d.ts.map +0 -1
- package/dist/commands/setup-rail.js +0 -135
- package/dist/commands/setup-rail.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -29
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -442
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -9
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -345
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/update.d.ts +0 -2
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -92
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -41
- package/dist/commands/whoami.js.map +0 -1
- package/dist/config.d.ts +0 -78
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -93
- package/dist/config.js.map +0 -1
- package/dist/daily-sync.d.ts +0 -150
- package/dist/daily-sync.d.ts.map +0 -1
- package/dist/daily-sync.js +0 -665
- package/dist/daily-sync.js.map +0 -1
- package/dist/dossier.d.ts +0 -73
- package/dist/dossier.d.ts.map +0 -1
- package/dist/dossier.js +0 -141
- package/dist/dossier.js.map +0 -1
- package/dist/field-normalize.d.ts +0 -4
- package/dist/field-normalize.d.ts.map +0 -1
- package/dist/field-normalize.js +0 -8
- package/dist/field-normalize.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/job-fields.d.ts +0 -47
- package/dist/job-fields.d.ts.map +0 -1
- package/dist/job-fields.js +0 -148
- package/dist/job-fields.js.map +0 -1
- package/dist/machine.d.ts +0 -15
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js +0 -64
- package/dist/machine.js.map +0 -1
- package/dist/org-fields.d.ts +0 -57
- package/dist/org-fields.d.ts.map +0 -1
- package/dist/org-fields.js +0 -167
- package/dist/org-fields.js.map +0 -1
- package/dist/posthog.d.ts +0 -38
- package/dist/posthog.d.ts.map +0 -1
- package/dist/posthog.js +0 -224
- package/dist/posthog.js.map +0 -1
- package/dist/project-fields.d.ts +0 -40
- package/dist/project-fields.d.ts.map +0 -1
- package/dist/project-fields.js +0 -79
- package/dist/project-fields.js.map +0 -1
- package/dist/prompt-consent.d.ts +0 -73
- package/dist/prompt-consent.d.ts.map +0 -1
- package/dist/prompt-consent.js +0 -191
- package/dist/prompt-consent.js.map +0 -1
- package/dist/prompt-stats.d.ts +0 -226
- package/dist/prompt-stats.d.ts.map +0 -1
- package/dist/prompt-stats.js +0 -561
- package/dist/prompt-stats.js.map +0 -1
- package/dist/referral.d.ts +0 -14
- package/dist/referral.d.ts.map +0 -1
- package/dist/referral.js +0 -28
- package/dist/referral.js.map +0 -1
- package/dist/registry.d.ts +0 -15
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -180
- package/dist/registry.js.map +0 -1
- package/dist/resolve-command.d.ts +0 -20
- package/dist/resolve-command.d.ts.map +0 -1
- package/dist/resolve-command.js +0 -21
- package/dist/resolve-command.js.map +0 -1
- package/dist/scanners/antigravity.d.ts +0 -41
- package/dist/scanners/antigravity.d.ts.map +0 -1
- package/dist/scanners/antigravity.js +0 -210
- package/dist/scanners/antigravity.js.map +0 -1
- package/dist/scanners/github-copilot-telemetry.d.ts +0 -23
- package/dist/scanners/github-copilot-telemetry.d.ts.map +0 -1
- package/dist/scanners/github-copilot-telemetry.js +0 -220
- package/dist/scanners/github-copilot-telemetry.js.map +0 -1
- package/dist/scanners/github-copilot.d.ts +0 -68
- package/dist/scanners/github-copilot.d.ts.map +0 -1
- package/dist/scanners/github-copilot.js +0 -262
- package/dist/scanners/github-copilot.js.map +0 -1
- package/dist/scanners/incremental.d.ts +0 -282
- package/dist/scanners/incremental.d.ts.map +0 -1
- package/dist/scanners/incremental.js +0 -788
- package/dist/scanners/incremental.js.map +0 -1
- package/dist/scanners/index.d.ts +0 -116
- package/dist/scanners/index.d.ts.map +0 -1
- package/dist/scanners/index.js +0 -726
- package/dist/scanners/index.js.map +0 -1
- package/dist/scanners/sqlite.d.ts +0 -18
- package/dist/scanners/sqlite.d.ts.map +0 -1
- package/dist/scanners/sqlite.js +0 -63
- package/dist/scanners/sqlite.js.map +0 -1
- package/dist/scanners/util.d.ts +0 -112
- package/dist/scanners/util.d.ts.map +0 -1
- package/dist/scanners/util.js +0 -167
- package/dist/scanners/util.js.map +0 -1
- package/dist/session.d.ts +0 -106
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -191
- package/dist/session.js.map +0 -1
- package/dist/share-card-colors.d.ts +0 -19
- package/dist/share-card-colors.d.ts.map +0 -1
- package/dist/share-card-colors.js +0 -36
- package/dist/share-card-colors.js.map +0 -1
- package/dist/share-card.d.ts +0 -32
- package/dist/share-card.d.ts.map +0 -1
- package/dist/share-card.js +0 -420
- package/dist/share-card.js.map +0 -1
- package/dist/share.d.ts +0 -17
- package/dist/share.d.ts.map +0 -1
- package/dist/share.js +0 -77
- package/dist/share.js.map +0 -1
- package/dist/sync.d.ts +0 -100
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js +0 -304
- package/dist/sync.js.map +0 -1
- package/dist/ui.d.ts +0 -33
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -127
- package/dist/ui.js.map +0 -1
- package/dist/utils/npmGlobal.d.ts +0 -30
- package/dist/utils/npmGlobal.d.ts.map +0 -1
- package/dist/utils/npmGlobal.js +0 -69
- package/dist/utils/npmGlobal.js.map +0 -1
- package/dist/utils/openBrowser.d.ts +0 -14
- package/dist/utils/openBrowser.d.ts.map +0 -1
- package/dist/utils/openBrowser.js +0 -47
- package/dist/utils/openBrowser.js.map +0 -1
- package/dist/utils/updateCheck.d.ts +0 -16
- package/dist/utils/updateCheck.d.ts.map +0 -1
- package/dist/utils/updateCheck.js +0 -111
- package/dist/utils/updateCheck.js.map +0 -1
- package/dist/utils/waitForEnter.d.ts +0 -12
- package/dist/utils/waitForEnter.d.ts.map +0 -1
- package/dist/utils/waitForEnter.js +0 -43
- package/dist/utils/waitForEnter.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Print the caller's referral link and join stats. Requires a claimed handle —
|
|
3
|
-
* a referral is keyed on the public handle, and an unclaimed session has none.
|
|
4
|
-
*/
|
|
5
|
-
export declare function referral(args: string[]): Promise<void>;
|
|
6
|
-
//# sourceMappingURL=referral.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"referral.d.ts","sourceRoot":"","sources":["../../src/commands/referral.ts"],"names":[],"mappings":"AA2CA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE5D"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { emitJsonError, requireSession } from '../api-client.js';
|
|
2
|
-
import { captureEvent } from '../posthog.js';
|
|
3
|
-
import { referralMessage, referralUrl } from '../referral.js';
|
|
4
|
-
import { resolveAppUrl } from '../session.js';
|
|
5
|
-
import { bold, dim, error, hint, info, success } from '../ui.js';
|
|
6
|
-
/**
|
|
7
|
-
* Best-effort fetch of referral stats from the backend. Returns null on any
|
|
8
|
-
* failure (offline, non-2xx, malformed) so the command can still show the link,
|
|
9
|
-
* which is derivable locally and never needs the network.
|
|
10
|
-
*/
|
|
11
|
-
async function fetchReferralStats(session, timeoutMs = 8000) {
|
|
12
|
-
try {
|
|
13
|
-
const res = await fetch(`${resolveAppUrl(session)}/api/cli/referral`, {
|
|
14
|
-
headers: { Authorization: `Bearer ${session.token}` },
|
|
15
|
-
signal: AbortSignal.timeout(timeoutMs),
|
|
16
|
-
});
|
|
17
|
-
if (!res.ok)
|
|
18
|
-
return null;
|
|
19
|
-
const data = (await res.json());
|
|
20
|
-
const count = data.referral?.count;
|
|
21
|
-
if (typeof count !== 'number')
|
|
22
|
-
return null;
|
|
23
|
-
const recent = Array.isArray(data.referral?.recent)
|
|
24
|
-
? data.referral.recent
|
|
25
|
-
: [];
|
|
26
|
-
return { count, recent };
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Print the caller's referral link and join stats. Requires a claimed handle —
|
|
34
|
-
* a referral is keyed on the public handle, and an unclaimed session has none.
|
|
35
|
-
*/
|
|
36
|
-
export async function referral(args) {
|
|
37
|
-
const json = args.includes('--json');
|
|
38
|
-
const session = await requireSession(json);
|
|
39
|
-
const handle = session.handle;
|
|
40
|
-
if (!handle) {
|
|
41
|
-
const message = 'claim a username first with `hacklab login`';
|
|
42
|
-
if (json)
|
|
43
|
-
emitJsonError('no_handle', message);
|
|
44
|
-
error('no referral link yet — you have not claimed a username');
|
|
45
|
-
hint('run `hacklab login` to finish setting up your profile');
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
const base = resolveAppUrl(session);
|
|
49
|
-
const url = referralUrl(handle, base);
|
|
50
|
-
const message = referralMessage(handle, base);
|
|
51
|
-
const stats = await fetchReferralStats(session);
|
|
52
|
-
await captureEvent(handle, 'cli_referral_shown', {
|
|
53
|
-
via: json ? 'json' : 'cli',
|
|
54
|
-
count: stats?.count ?? null,
|
|
55
|
-
});
|
|
56
|
-
if (json) {
|
|
57
|
-
console.log(JSON.stringify({
|
|
58
|
-
schemaVersion: 1,
|
|
59
|
-
referral: {
|
|
60
|
-
handle,
|
|
61
|
-
url,
|
|
62
|
-
message,
|
|
63
|
-
// null (not 0) when the backend was unreachable, so an agent can tell
|
|
64
|
-
// "no referrals yet" apart from "stats unavailable".
|
|
65
|
-
count: stats?.count ?? null,
|
|
66
|
-
recent: stats?.recent ?? [],
|
|
67
|
-
},
|
|
68
|
-
}));
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
success('your referral link');
|
|
72
|
-
console.log('');
|
|
73
|
-
console.log(` ${bold(url)}`);
|
|
74
|
-
console.log('');
|
|
75
|
-
if (stats) {
|
|
76
|
-
if (stats.count > 0) {
|
|
77
|
-
info(`${bold(String(stats.count))} hacker${stats.count === 1 ? '' : 's'} joined through you`);
|
|
78
|
-
if (stats.recent.length > 0) {
|
|
79
|
-
console.log(` ${dim(stats.recent.map((r) => `@${r.handle}`).join(', '))}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
info(dim('no one has joined through you yet'));
|
|
84
|
-
}
|
|
85
|
-
console.log('');
|
|
86
|
-
}
|
|
87
|
-
info('send it to your smartest hacker friends — copy this:');
|
|
88
|
-
console.log('');
|
|
89
|
-
for (const line of message.split('\n')) {
|
|
90
|
-
console.log(` ${dim(line)}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=referral.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"referral.js","sourceRoot":"","sources":["../../src/commands/referral.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/rtfm.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one line a user (or `hacklab setup`) hands an agent to start profile
|
|
3
|
-
* setup. Everything the agent needs is behind `hacklab rtfm profile-setup`, so
|
|
4
|
-
* this stays short enough to read and retype. The web onboarding shows the same
|
|
5
|
-
* sentence verbatim (hacklabubu/hacklab) — change both together.
|
|
6
|
-
*/
|
|
7
|
-
export declare const PROFILE_SETUP_PROMPT = "yo setup my profile on hacklab. to see how, run hacklab rtfm profile-setup";
|
|
8
|
-
export declare function rtfm(args: string[]): void;
|
|
9
|
-
//# sourceMappingURL=rtfm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rtfm.d.ts","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,+EAC6C,CAAA;AAoF9E,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAezC"}
|
package/dist/commands/rtfm.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { bold, dim, error, info } from '../ui.js';
|
|
2
|
-
/**
|
|
3
|
-
* The one line a user (or `hacklab setup`) hands an agent to start profile
|
|
4
|
-
* setup. Everything the agent needs is behind `hacklab rtfm profile-setup`, so
|
|
5
|
-
* this stays short enough to read and retype. The web onboarding shows the same
|
|
6
|
-
* sentence verbatim (hacklabubu/hacklab) — change both together.
|
|
7
|
-
*/
|
|
8
|
-
export const PROFILE_SETUP_PROMPT = 'yo setup my profile on hacklab. to see how, run hacklab rtfm profile-setup';
|
|
9
|
-
const MANUALS = [
|
|
10
|
-
{
|
|
11
|
-
name: 'profile-setup',
|
|
12
|
-
summary: 'build a complete profile from available information',
|
|
13
|
-
sections: [
|
|
14
|
-
{
|
|
15
|
-
heading: 'objective',
|
|
16
|
-
lines: [
|
|
17
|
-
"Set up the user's hacklab profile. Make it impressive and something they're proud of.",
|
|
18
|
-
],
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
heading: 'prerequisites',
|
|
22
|
-
lines: ['- Confirm authentication with `hacklab whoami`.'],
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
heading: 'steps',
|
|
26
|
-
lines: [
|
|
27
|
-
'1. Run `hacklab ping` immediately.',
|
|
28
|
-
' This tells hacklab that profile setup is in progress and lets the user continue on the platform.',
|
|
29
|
-
'2. Inspect the current profile with `hacklab profile --json`.',
|
|
30
|
-
'3. Gather the most relevant, verifiable information about the user.',
|
|
31
|
-
'4. Look for their profiles on:',
|
|
32
|
-
' - blog or personal website',
|
|
33
|
-
' - GitHub',
|
|
34
|
-
' - Hugging Face',
|
|
35
|
-
' - X (x.com)',
|
|
36
|
-
' - LinkedIn',
|
|
37
|
-
' - YouTube',
|
|
38
|
-
' - Product Hunt',
|
|
39
|
-
' - Kaggle',
|
|
40
|
-
' - Cursor (`cursor.com/@handle`)',
|
|
41
|
-
' - Dribbble',
|
|
42
|
-
' - Behance',
|
|
43
|
-
' - GitLab',
|
|
44
|
-
' - Devpost',
|
|
45
|
-
' - Replit',
|
|
46
|
-
' - itch.io',
|
|
47
|
-
' - CodePen',
|
|
48
|
-
' - Stack Overflow',
|
|
49
|
-
' - arXiv',
|
|
50
|
-
' - Google Scholar',
|
|
51
|
-
' - Substack',
|
|
52
|
-
' - Twitch',
|
|
53
|
-
' - Farcaster',
|
|
54
|
-
' - Goodreads',
|
|
55
|
-
' - Filmweb',
|
|
56
|
-
' - IMDb',
|
|
57
|
-
' - Spotify',
|
|
58
|
-
'5. Run `hacklab profile set --help` to get the exact field names.',
|
|
59
|
-
'6. Add every verified profile field and link:',
|
|
60
|
-
' - one field: `hacklab profile set <field> <url> --json`',
|
|
61
|
-
' - several fields: create a YAML or JSON file, then run:',
|
|
62
|
-
' `hacklab profile apply <file> --json`',
|
|
63
|
-
'7. Verify the finished profile with `hacklab profile --json`.',
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
heading: 'done when',
|
|
68
|
-
lines: [
|
|
69
|
-
'- The profile looks polished and complete.',
|
|
70
|
-
'- The most relevant verified information available has been added.',
|
|
71
|
-
'- The final state has been checked with `hacklab profile --json`.',
|
|
72
|
-
],
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
heading: 'do not',
|
|
76
|
-
lines: ['- Do not put social links in the bio or README.'],
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
export function rtfm(args) {
|
|
82
|
-
const topic = args[0];
|
|
83
|
-
if (!topic || topic === '--help' || topic === '-h' || topic === 'help') {
|
|
84
|
-
printManuals();
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const manual = MANUALS.find(({ name }) => name === topic);
|
|
88
|
-
if (!manual) {
|
|
89
|
-
error(`manual not found: ${topic}`);
|
|
90
|
-
info(`run ${bold('hacklab rtfm')} to list manuals`);
|
|
91
|
-
process.exit(1);
|
|
92
|
-
}
|
|
93
|
-
printManual(manual);
|
|
94
|
-
}
|
|
95
|
-
function printManuals() {
|
|
96
|
-
const width = Math.max(...MANUALS.map(({ name }) => name.length));
|
|
97
|
-
console.log('');
|
|
98
|
-
for (const { name, summary } of MANUALS) {
|
|
99
|
-
console.log(` ${dim(name.padEnd(width))} ${summary}`);
|
|
100
|
-
}
|
|
101
|
-
console.log('');
|
|
102
|
-
}
|
|
103
|
-
function printManual(manual) {
|
|
104
|
-
console.log('');
|
|
105
|
-
console.log(` ${bold(manual.name)}`);
|
|
106
|
-
for (const section of manual.sections) {
|
|
107
|
-
console.log('');
|
|
108
|
-
console.log(` ${bold(section.heading)}`);
|
|
109
|
-
for (const line of section.lines)
|
|
110
|
-
console.log(` ${line}`);
|
|
111
|
-
}
|
|
112
|
-
console.log('');
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=rtfm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rtfm.js","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/scan.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type AggregateScan } from '../scanners/index.js';
|
|
2
|
-
export declare const TOOL_LABELS: Record<string, string>;
|
|
3
|
-
/**
|
|
4
|
-
* Scan this machine, upload to the logged-in profile, draw the real card,
|
|
5
|
-
* offer the X share, and arm the daemon so the card stays true.
|
|
6
|
-
*
|
|
7
|
-
* Login is required: an anonymous card says @hacker and points at the wrong
|
|
8
|
-
* URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
|
|
9
|
-
* a one-shot flex on a machine you don't want ticking.
|
|
10
|
-
*/
|
|
11
|
-
export declare function scan(args?: string[]): Promise<void>;
|
|
12
|
-
export declare function formatScanReceipt(scan: AggregateScan): string[];
|
|
13
|
-
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,sBAAsB,CAAA;AAiB7B,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU9C,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4I7D;AAUD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAsC/D"}
|
package/dist/commands/scan.js
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
import * as clack from '@clack/prompts';
|
|
2
|
-
import { beltForTokens } from '../belt.js';
|
|
3
|
-
import { loadConfig, resolveCursorAuth, saveConfig } from '../config.js';
|
|
4
|
-
import { dailySyncState, formatManualSchedule, installDailySync, } from '../daily-sync.js';
|
|
5
|
-
import { captureEvent } from '../posthog.js';
|
|
6
|
-
import { stageFullScan } from '../scanners/incremental.js';
|
|
7
|
-
import { collectToolScans, detectCursorUsage, mergeToolScans, rescanCursorWithApi, } from '../scanners/index.js';
|
|
8
|
-
import { computeStreaks, formatTokens, shortModelName, } from '../scanners/util.js';
|
|
9
|
-
import { loadSessionState } from '../session.js';
|
|
10
|
-
import { promptShareOnX, renderShareCard, } from '../share.js';
|
|
11
|
-
import { checkSession, ensureFreshSession, uploadTokenScan } from '../sync.js';
|
|
12
|
-
import { bold, dim, error, info } from '../ui.js';
|
|
13
|
-
const MAX_MODELS = 8;
|
|
14
|
-
export const TOOL_LABELS = {
|
|
15
|
-
claude_code: 'claude',
|
|
16
|
-
codex: 'codex',
|
|
17
|
-
cursor: 'cursor',
|
|
18
|
-
openclaw: 'openclaw',
|
|
19
|
-
hermes: 'hermes',
|
|
20
|
-
opencode: 'opencode',
|
|
21
|
-
grok: 'grok',
|
|
22
|
-
github_copilot: 'copilot',
|
|
23
|
-
antigravity: 'antigravity',
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Scan this machine, upload to the logged-in profile, draw the real card,
|
|
27
|
-
* offer the X share, and arm the daemon so the card stays true.
|
|
28
|
-
*
|
|
29
|
-
* Login is required: an anonymous card says @hacker and points at the wrong
|
|
30
|
-
* URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
|
|
31
|
-
* a one-shot flex on a machine you don't want ticking.
|
|
32
|
-
*/
|
|
33
|
-
export async function scan(args = []) {
|
|
34
|
-
const noDaemon = args.includes('--no-daemon');
|
|
35
|
-
const sessionState = await loadSessionState();
|
|
36
|
-
if (!sessionState.session) {
|
|
37
|
-
error(sessionState.status === 'expired' ? 'login expired' : 'not logged in');
|
|
38
|
-
info(`run ${dim('hacklab login')} first`);
|
|
39
|
-
process.exit(1);
|
|
40
|
-
}
|
|
41
|
-
const sessionCheck = await checkSession(sessionState.session);
|
|
42
|
-
if (sessionCheck.status === 'unauthorized') {
|
|
43
|
-
error('login expired');
|
|
44
|
-
info(`run ${dim('hacklab login')} again`);
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
47
|
-
if (sessionCheck.status === 'failed') {
|
|
48
|
-
error(sessionCheck.message);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
51
|
-
const session = await ensureFreshSession(sessionState.session);
|
|
52
|
-
if (!session.handle) {
|
|
53
|
-
error('no handle on this session');
|
|
54
|
-
info(`run ${dim('hacklab login')} again`);
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
let results;
|
|
58
|
-
try {
|
|
59
|
-
results = await collectToolScans();
|
|
60
|
-
}
|
|
61
|
-
catch (err) {
|
|
62
|
-
error(`couldn't read local AI usage: ${err instanceof Error ? err.message : String(err)}`);
|
|
63
|
-
process.exit(1);
|
|
64
|
-
}
|
|
65
|
-
let scanResult = mergeToolScans(results);
|
|
66
|
-
const rescanned = await offerCursorApiKey(results);
|
|
67
|
-
if (rescanned) {
|
|
68
|
-
results = rescanned;
|
|
69
|
-
scanResult = mergeToolScans(results);
|
|
70
|
-
}
|
|
71
|
-
let uploaded;
|
|
72
|
-
try {
|
|
73
|
-
// `scan` never reads prompts and never resolves the consent tier, so it
|
|
74
|
-
// re-bases the token half only and leaves the prompt state to the tick.
|
|
75
|
-
const staged = await stageFullScan(results, 'untouched');
|
|
76
|
-
uploaded = await uploadTokenScan(session, scanResult, { interactive: true });
|
|
77
|
-
await staged.commit();
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
error(err instanceof Error ? err.message : String(err));
|
|
81
|
-
process.exit(1);
|
|
82
|
-
}
|
|
83
|
-
// The sync response is the source of truth, but a backend that predates a
|
|
84
|
-
// field must not silently mint a white belt / 0-day streak: fall back to the
|
|
85
|
-
// same numbers the profile will show. Rank has no local equivalent, so an
|
|
86
|
-
// absent rank stays off the card entirely.
|
|
87
|
-
const tokensTotal = numberField(uploaded.tokensTotal) ?? scanResult.grandTotal;
|
|
88
|
-
const belt = beltForTokens(tokensTotal);
|
|
89
|
-
const streaks = computeStreaks(scanResult.dailyTotals.map((e) => e.date));
|
|
90
|
-
const rank = numberField(uploaded.rankAfter);
|
|
91
|
-
const card = {
|
|
92
|
-
handle: session.handle,
|
|
93
|
-
level: numberField(uploaded.level) ?? belt.level,
|
|
94
|
-
title: stringField(uploaded.title) ?? belt.title,
|
|
95
|
-
beltColor: stringField(uploaded.beltColor) ?? belt.beltColor,
|
|
96
|
-
tokensTotal,
|
|
97
|
-
rank,
|
|
98
|
-
streak: numberField(uploaded.streak) ?? streaks.current,
|
|
99
|
-
longestStreak: numberField(uploaded.longestStreak) ?? streaks.longest,
|
|
100
|
-
progressPercent: numberField(uploaded.progressPercent) ?? belt.progressPercent,
|
|
101
|
-
estimatedCost: estimateCost(scanResult.toolTotals),
|
|
102
|
-
toolBreakdown: {
|
|
103
|
-
claudeCode: scanResult.toolTotals.claude_code ?? 0,
|
|
104
|
-
codex: scanResult.toolTotals.codex ?? 0,
|
|
105
|
-
cursor: scanResult.toolTotals.cursor ?? 0,
|
|
106
|
-
},
|
|
107
|
-
models: Object.entries(scanResult.modelTotals)
|
|
108
|
-
.map(([name, tokens]) => ({ name, tokens }))
|
|
109
|
-
.sort((a, b) => b.tokens - a.tokens),
|
|
110
|
-
dailyActivity: aggregateDailyActivity(scanResult.dailyTotals),
|
|
111
|
-
};
|
|
112
|
-
for (const line of formatScanReceipt(scanResult)) {
|
|
113
|
-
console.log(line);
|
|
114
|
-
}
|
|
115
|
-
console.log('');
|
|
116
|
-
// Only touch the scheduler when something is actually wrong with it: a
|
|
117
|
-
// reinstall rewrites the plists/units and bounces the jobs (killing a tick
|
|
118
|
-
// mid-run), so doing it every scan is pure churn.
|
|
119
|
-
if (!noDaemon) {
|
|
120
|
-
const state = await dailySyncState();
|
|
121
|
-
if (state !== 'current') {
|
|
122
|
-
const result = await installDailySync();
|
|
123
|
-
if (!result.ok) {
|
|
124
|
-
// Only a machine with nothing scheduled gets the manual fallback. A
|
|
125
|
-
// failed *repair* means the jobs are still there (an SSH session with no
|
|
126
|
-
// user D-Bus fails the systemd probe every time while the desktop
|
|
127
|
-
// session's timers keep running), and printing cron instructions there
|
|
128
|
-
// both spams every scan and talks the user into a second, duplicate
|
|
129
|
-
// schedule.
|
|
130
|
-
if (state === 'missing') {
|
|
131
|
-
console.log(formatManualSchedule(result.instructions).join('\n'));
|
|
132
|
-
await captureEvent(session.handle, 'cli_daily_sync_manual', {
|
|
133
|
-
mechanism: result.mechanism,
|
|
134
|
-
source: 'scan',
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else if (!result.recorded) {
|
|
139
|
-
// The jobs are scheduled but we couldn't write the config, so every
|
|
140
|
-
// future scan will reinstall. Explain the churn instead of repeating an
|
|
141
|
-
// "installed" announcement (and its event) forever.
|
|
142
|
-
console.log(dim('could not record daily-sync state — config unwritable'));
|
|
143
|
-
}
|
|
144
|
-
else if (state === 'missing') {
|
|
145
|
-
console.log(dim(`daily sync scheduled (${result.mechanism})`));
|
|
146
|
-
await captureEvent(session.handle, 'cli_daily_sync_installed', {
|
|
147
|
-
mechanism: result.mechanism,
|
|
148
|
-
source: 'scan',
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
const cardPath = await renderShareCard(card);
|
|
154
|
-
await promptShareOnX(card, cardPath);
|
|
155
|
-
await captureEvent(session.handle, 'cli_scan_completed', {
|
|
156
|
-
tokens_total: tokensTotal,
|
|
157
|
-
...(rank !== undefined ? { rank } : {}),
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
function numberField(value) {
|
|
161
|
-
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
162
|
-
}
|
|
163
|
-
function stringField(value) {
|
|
164
|
-
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
165
|
-
}
|
|
166
|
-
export function formatScanReceipt(scan) {
|
|
167
|
-
const groups = Object.entries(scan.toolTotals)
|
|
168
|
-
.filter(([, total]) => total > 0)
|
|
169
|
-
.sort((a, b) => b[1] - a[1])
|
|
170
|
-
.map(([tool, total]) => ({
|
|
171
|
-
label: TOOL_LABELS[tool] ?? tool,
|
|
172
|
-
value: formatTokens(total),
|
|
173
|
-
models: Object.entries(scan.modelsByTool?.[tool] ?? {})
|
|
174
|
-
.filter(([, tokens]) => tokens > 0)
|
|
175
|
-
.sort((a, b) => b[1] - a[1])
|
|
176
|
-
.slice(0, MAX_MODELS)
|
|
177
|
-
.map(([name, tokens]) => ({
|
|
178
|
-
label: shortModelName(name).toLowerCase(),
|
|
179
|
-
value: formatTokens(tokens),
|
|
180
|
-
}))
|
|
181
|
-
.filter((row) => row.label.length > 0),
|
|
182
|
-
}));
|
|
183
|
-
const rows = groups.flatMap((group) => [
|
|
184
|
-
{ label: group.label, value: group.value },
|
|
185
|
-
...group.models.map((model) => ({
|
|
186
|
-
label: ` ${model.label}`,
|
|
187
|
-
value: model.value,
|
|
188
|
-
})),
|
|
189
|
-
]);
|
|
190
|
-
const aligned = alignRows(rows);
|
|
191
|
-
const lines = [
|
|
192
|
-
`you burned ${bold(`${formatTokens(scan.grandTotal)} tokens`)}`,
|
|
193
|
-
];
|
|
194
|
-
let offset = 0;
|
|
195
|
-
for (const group of groups) {
|
|
196
|
-
lines.push('');
|
|
197
|
-
const n = 1 + group.models.length;
|
|
198
|
-
lines.push(...aligned.slice(offset, offset + n));
|
|
199
|
-
offset += n;
|
|
200
|
-
}
|
|
201
|
-
return lines;
|
|
202
|
-
}
|
|
203
|
-
function alignRows(rows) {
|
|
204
|
-
if (rows.length === 0)
|
|
205
|
-
return [];
|
|
206
|
-
const labelWidth = Math.max(...rows.map((r) => r.label.length));
|
|
207
|
-
const valueWidth = Math.max(...rows.map((r) => r.value.length));
|
|
208
|
-
return rows.map((row) => `${dim(row.label.padEnd(labelWidth))} ${bold(row.value.padStart(valueWidth))}`);
|
|
209
|
-
}
|
|
210
|
-
async function offerCursorApiKey(results) {
|
|
211
|
-
const { apiKey } = await resolveCursorAuth();
|
|
212
|
-
if (apiKey)
|
|
213
|
-
return null;
|
|
214
|
-
if (!(await detectCursorUsage()))
|
|
215
|
-
return null;
|
|
216
|
-
const entered = await clack.password({
|
|
217
|
-
message: 'cursor api key (enter to skip)',
|
|
218
|
-
});
|
|
219
|
-
if (clack.isCancel(entered))
|
|
220
|
-
return null;
|
|
221
|
-
const key = String(entered ?? '').trim();
|
|
222
|
-
if (!key)
|
|
223
|
-
return null;
|
|
224
|
-
const emailValue = await clack.text({
|
|
225
|
-
message: 'cursor account email (optional — scopes a team key to just you)',
|
|
226
|
-
placeholder: 'enter to skip',
|
|
227
|
-
});
|
|
228
|
-
const email = clack.isCancel(emailValue) || !String(emailValue ?? '').trim()
|
|
229
|
-
? undefined
|
|
230
|
-
: String(emailValue).trim();
|
|
231
|
-
await saveConfig({
|
|
232
|
-
...(await loadConfig()),
|
|
233
|
-
cursorApiKey: key,
|
|
234
|
-
...(email ? { cursorEmail: email } : {}),
|
|
235
|
-
});
|
|
236
|
-
let rescanned;
|
|
237
|
-
try {
|
|
238
|
-
rescanned = await rescanCursorWithApi(results);
|
|
239
|
-
}
|
|
240
|
-
catch (err) {
|
|
241
|
-
console.log(dim(`keeping the local estimate: ${err instanceof Error ? err.message : String(err)}`));
|
|
242
|
-
return null;
|
|
243
|
-
}
|
|
244
|
-
const status = rescanned.find((r) => r.tool === 'cursor')?.cursorScanStatus;
|
|
245
|
-
switch (status?.source) {
|
|
246
|
-
case 'api':
|
|
247
|
-
return rescanned;
|
|
248
|
-
case 'api-partial':
|
|
249
|
-
console.log(dim(`stopped early: ${status.reason}`));
|
|
250
|
-
return rescanned;
|
|
251
|
-
case 'api-failed':
|
|
252
|
-
console.log(dim(`${status.reason} — keeping the local estimate.`));
|
|
253
|
-
return null;
|
|
254
|
-
default:
|
|
255
|
-
console.log(dim('keeping the local estimate.'));
|
|
256
|
-
return null;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
function estimateCost(toolTotals) {
|
|
260
|
-
const rate = {
|
|
261
|
-
claude_code: 0.6,
|
|
262
|
-
codex: 0.25,
|
|
263
|
-
cursor: 0.4,
|
|
264
|
-
openclaw: 0.5,
|
|
265
|
-
hermes: 0.5,
|
|
266
|
-
opencode: 0.5,
|
|
267
|
-
grok: 0.5,
|
|
268
|
-
github_copilot: 0.5,
|
|
269
|
-
antigravity: 0.5,
|
|
270
|
-
};
|
|
271
|
-
let cost = 0;
|
|
272
|
-
for (const [tool, tokens] of Object.entries(toolTotals)) {
|
|
273
|
-
cost += (tokens / 1_000_000) * (rate[tool] ?? 0.4);
|
|
274
|
-
}
|
|
275
|
-
return cost;
|
|
276
|
-
}
|
|
277
|
-
function aggregateDailyActivity(dailyTotals) {
|
|
278
|
-
const byDate = new Map();
|
|
279
|
-
for (const entry of dailyTotals) {
|
|
280
|
-
byDate.set(entry.date, (byDate.get(entry.date) ?? 0) + entry.tokens);
|
|
281
|
-
}
|
|
282
|
-
return Array.from(byDate.entries())
|
|
283
|
-
.map(([date, tokens]) => ({ date, tokens }))
|
|
284
|
-
.sort((a, b) => a.date.localeCompare(b.date));
|
|
285
|
-
}
|
|
286
|
-
//# sourceMappingURL=scan.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/scout.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/** The `scout` namespace dispatcher: routes to search or picks. */
|
|
2
|
-
export declare function scout(args: string[]): Promise<void>;
|
|
3
|
-
/**
|
|
4
|
-
* Monday 00:00 UTC of the current week, for `--new-this-week`. Mirrors
|
|
5
|
-
* @hacklab/db's mondayUtcWeekOf (the week owner for picks); duplicated here
|
|
6
|
-
* because the CLI doesn't depend on the db package — this is client-side
|
|
7
|
-
* sugar over the real contract param, `newSince`.
|
|
8
|
-
*/
|
|
9
|
-
export declare function mondayUtcStartOfWeek(now: Date): string;
|
|
10
|
-
export type SearchFlags = {
|
|
11
|
-
json: boolean;
|
|
12
|
-
query: URLSearchParams;
|
|
13
|
-
};
|
|
14
|
-
/** Flag→param mapping is 1:1 with the API contract; the server validates. */
|
|
15
|
-
export declare function parseSearchArgs(args: string[]): SearchFlags | {
|
|
16
|
-
usage: string;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=scout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/commands/scout.ts"],"names":[],"mappings":"AAiCA,mEAAmE;AACnE,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzD;AA8BD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAUtD;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EAAE,GACb,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAoCjC"}
|