hacklab 0.10.2 → 0.10.3
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 -11
- package/dist/commands/demon.d.ts +15 -0
- package/dist/commands/demon.d.ts.map +1 -0
- package/dist/commands/demon.js +63 -0
- package/dist/commands/demon.js.map +1 -0
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +8 -21
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +11 -29
- package/dist/commands/sync.js.map +1 -1
- package/dist/registry.d.ts +6 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +12 -1
- package/dist/registry.js.map +1 -1
- package/dist/resolve-command.d.ts +5 -1
- package/dist/resolve-command.d.ts.map +1 -1
- package/dist/resolve-command.js +19 -3
- package/dist/resolve-command.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,36 +6,39 @@ your profile with GitHub.
|
|
|
6
6
|
|
|
7
7
|
## Install & join
|
|
8
8
|
|
|
9
|
-
Install, then
|
|
9
|
+
Install, join, then summon the daemon:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
curl -fsSL https://hacklab.so/install | sh
|
|
13
13
|
hacklab join
|
|
14
|
+
hacklab demon
|
|
14
15
|
```
|
|
15
16
|
|
|
16
|
-
The script checks for Node 20+ and installs the CLI globally
|
|
17
|
-
`hacklab` is a real command on your PATH
|
|
18
|
-
|
|
17
|
+
The script checks for Node 20+ and installs the CLI globally — that's all it
|
|
18
|
+
does. After it, `hacklab` is a real command on your PATH; `join` claims your
|
|
19
|
+
handle and `demon` schedules the daily background sync. If you already have Node
|
|
20
|
+
(including through a version manager), you can skip the script:
|
|
19
21
|
|
|
20
22
|
```bash
|
|
21
23
|
npm i -g hacklab@latest
|
|
22
24
|
hacklab join
|
|
25
|
+
hacklab demon
|
|
23
26
|
```
|
|
24
27
|
|
|
25
28
|
### Windows
|
|
26
29
|
|
|
27
30
|
On native Windows (PowerShell), use the `.ps1` installer instead — it checks
|
|
28
|
-
for Node 20
|
|
29
|
-
runs `hacklab join` for you:
|
|
31
|
+
for Node 20+ and installs the CLI globally, then points you at `hacklab join`:
|
|
30
32
|
|
|
31
33
|
```powershell
|
|
32
34
|
irm https://hacklab.so/install.ps1 | iex
|
|
33
35
|
```
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
`.codex`, and Cursor's native tracking DB) and
|
|
37
|
-
as a Task Scheduler task. If you run Claude Code or Codex
|
|
38
|
-
there instead with the `curl … | sh` command above, run
|
|
37
|
+
The CLI reads your agents' usage from your Windows home (`%USERPROFILE%\.claude`,
|
|
38
|
+
`.codex`, and Cursor's native tracking DB), and `hacklab demon` registers the
|
|
39
|
+
daily background sync as a Task Scheduler task. If you run Claude Code or Codex
|
|
40
|
+
**inside WSL**, install there instead with the `curl … | sh` command above, run
|
|
41
|
+
from your WSL shell.
|
|
39
42
|
|
|
40
43
|
The installer also enables local PowerShell scripts for your user
|
|
41
44
|
(`Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`) so the `hacklab` command
|
|
@@ -73,7 +76,8 @@ scan local AI usage → see your rank → sign in with GitHub → claim a userna
|
|
|
73
76
|
5. **Username** — pick your Hacklab handle (checked for availability live).
|
|
74
77
|
6. **Claim** — saves your usage, syncs pinned GitHub projects, and claims
|
|
75
78
|
`hacklab.so/<username>`. Bio and the first drop finish activation in the web
|
|
76
|
-
onboarding flow.
|
|
79
|
+
onboarding flow. Join never schedules anything behind your back — it points
|
|
80
|
+
you at `hacklab demon` for the daily sync.
|
|
77
81
|
7. **Card** — renders the belt, level, rank, and token breakdown directly in the
|
|
78
82
|
terminal. Terminals without inline images get a text version.
|
|
79
83
|
8. **Share** — one optional X prompt. Saying yes saves the image to
|
|
@@ -86,6 +90,14 @@ scan local AI usage → see your rank → sign in with GitHub → claim a userna
|
|
|
86
90
|
finished profile it stops early and points you at `hacklab logout` +
|
|
87
91
|
`hacklab login` to switch accounts.
|
|
88
92
|
- `hacklab sync` — re-scan local AI usage and sync it to your profile.
|
|
93
|
+
- `hacklab demon` — summon the daemon: an OS-native daily job (launchd on macOS,
|
|
94
|
+
a systemd user timer on Linux, a Task Scheduler task on Windows) that re-scans
|
|
95
|
+
and syncs once a day, so your tokens, rank, and streak stay current without
|
|
96
|
+
you running anything. No daemon, no streak. Re-running it is idempotent;
|
|
97
|
+
`hacklab demon off` tears it down, and `hacklab logout` removes it too. On a
|
|
98
|
+
platform we can't schedule (BSD, a locked-down box) it prints the one-line
|
|
99
|
+
cron command instead of pretending it worked. `hacklab daemon` works as well,
|
|
100
|
+
and `hacklab sync --install-daily` still forwards here.
|
|
89
101
|
- `hacklab whoami` — show who you're logged in as.
|
|
90
102
|
- `hacklab drop "message"` — post a drop to your feed (`-u <url>` to attach a
|
|
91
103
|
link). Human output prints its profile URL; `--json` returns a stable envelope
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hacklab demon` — arm the daily background sync, as its own explicit step.
|
|
3
|
+
*
|
|
4
|
+
* hacklab demon summon it (install/refresh the OS-native daily job)
|
|
5
|
+
* hacklab demon off dismiss it (tear the schedule down)
|
|
6
|
+
*
|
|
7
|
+
* This used to be a side effect of `join` (and a flag on `sync`), which made it
|
|
8
|
+
* invisible: users couldn't tell whether anything was scheduled, and the web
|
|
9
|
+
* onboarding had no step to point at. Now it's a command the onboarding flow
|
|
10
|
+
* tells people to run, so arming the daemon is a thing you *did*, not a thing
|
|
11
|
+
* that happened to you. Re-running is idempotent — the installers overwrite the
|
|
12
|
+
* existing schedule rather than stacking a second one.
|
|
13
|
+
*/
|
|
14
|
+
export declare function demon(args?: string[]): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=demon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demon.d.ts","sourceRoot":"","sources":["../../src/commands/demon.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { clearSyncPaused, installDailySync, syncLogPath, uninstallDailySync, } from '../daily-sync.js';
|
|
2
|
+
import { captureEvent } from '../posthog.js';
|
|
3
|
+
import { loadSession } from '../session.js';
|
|
4
|
+
import { dim, error, info, success } from '../ui.js';
|
|
5
|
+
/**
|
|
6
|
+
* `hacklab demon` — arm the daily background sync, as its own explicit step.
|
|
7
|
+
*
|
|
8
|
+
* hacklab demon summon it (install/refresh the OS-native daily job)
|
|
9
|
+
* hacklab demon off dismiss it (tear the schedule down)
|
|
10
|
+
*
|
|
11
|
+
* This used to be a side effect of `join` (and a flag on `sync`), which made it
|
|
12
|
+
* invisible: users couldn't tell whether anything was scheduled, and the web
|
|
13
|
+
* onboarding had no step to point at. Now it's a command the onboarding flow
|
|
14
|
+
* tells people to run, so arming the daemon is a thing you *did*, not a thing
|
|
15
|
+
* that happened to you. Re-running is idempotent — the installers overwrite the
|
|
16
|
+
* existing schedule rather than stacking a second one.
|
|
17
|
+
*/
|
|
18
|
+
export async function demon(args = []) {
|
|
19
|
+
if (args.includes('off') || args.includes('--off'))
|
|
20
|
+
return dismiss();
|
|
21
|
+
return summon();
|
|
22
|
+
}
|
|
23
|
+
/** Install (or refresh) the daily background sync. Requires a session — the job
|
|
24
|
+
* runs as this user and uploads to their profile. */
|
|
25
|
+
async function summon() {
|
|
26
|
+
const session = await loadSession();
|
|
27
|
+
if (!session) {
|
|
28
|
+
error('not logged in');
|
|
29
|
+
info(`run ${dim('hacklab join')} first (or ${dim('hacklab login')} if you already have an account)`);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const result = await installDailySync();
|
|
33
|
+
if (result.ok) {
|
|
34
|
+
success(`daemon summoned — daily background sync via ${result.mechanism}`);
|
|
35
|
+
info(dim(` ${result.detail}`));
|
|
36
|
+
info(dim(` log: ${syncLogPath()}`));
|
|
37
|
+
info(dim(' dismiss it with `hacklab demon off` (logout removes it too)'));
|
|
38
|
+
await captureEvent(session.handle, 'cli_daily_sync_installed', {
|
|
39
|
+
mechanism: result.mechanism,
|
|
40
|
+
source: 'demon',
|
|
41
|
+
});
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Nothing was scheduled: a platform we don't auto-schedule on (e.g. BSD) or a
|
|
45
|
+
// failed scheduler write. Say so plainly and print the copy-paste cron
|
|
46
|
+
// command — silently reporting success here would cost the user their streak.
|
|
47
|
+
error("couldn't schedule the daily sync on this system");
|
|
48
|
+
info(result.instructions);
|
|
49
|
+
await captureEvent(session.handle, 'cli_daily_sync_manual', {
|
|
50
|
+
mechanism: result.mechanism,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** Tear the schedule down. Deliberately does NOT require a session: a lapsed or
|
|
54
|
+
* cleared session is exactly when someone wants the leftover job gone. */
|
|
55
|
+
async function dismiss() {
|
|
56
|
+
const session = await loadSession();
|
|
57
|
+
await uninstallDailySync();
|
|
58
|
+
await clearSyncPaused();
|
|
59
|
+
success('daemon dismissed — no more daily background sync');
|
|
60
|
+
info(dim('run `hacklab demon` to summon it again'));
|
|
61
|
+
await captureEvent(session?.handle, 'cli_daily_sync_removed');
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=demon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demon.js","sourceRoot":"","sources":["../../src/commands/demon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAiB,EAAE;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,EAAE,CAAA;IACpE,OAAO,MAAM,EAAE,CAAA;AACjB,CAAC;AAED;qDACqD;AACrD,KAAK,UAAU,MAAM;IACnB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,eAAe,CAAC,CAAA;QACtB,IAAI,CACF,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,eAAe,CAAC,kCAAkC,CAC/F,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACvC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,+CAA+C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAA;QAC1E,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE;YAC7D,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,8EAA8E;IAC9E,uEAAuE;IACvE,8EAA8E;IAC9E,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACzB,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE;QAC1D,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED;0EAC0E;AAC1E,KAAK,UAAU,OAAO;IACpB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IACnC,MAAM,kBAAkB,EAAE,CAAA;IAC1B,MAAM,eAAe,EAAE,CAAA;IACvB,OAAO,CAAC,kDAAkD,CAAC,CAAA;IAC3D,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAA;IACnD,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;GAUG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBAqV1D"}
|
package/dist/commands/join.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
2
|
import { beltForTokens } from '../belt.js';
|
|
3
3
|
import { loadConfig, resolveCursorAuth, saveConfig } from '../config.js';
|
|
4
|
-
import { installDailySync } from '../daily-sync.js';
|
|
5
4
|
import { captureEvent, identifyUser } from '../posthog.js';
|
|
6
5
|
import { referralUrl } from '../referral.js';
|
|
7
6
|
import { collectToolScans, computeStreaks, detectCursorUsage, formatTokens, mergeToolScans, rescanCursorWithApi, } from '../scanners/index.js';
|
|
@@ -252,25 +251,6 @@ export async function join(opts = {}) {
|
|
|
252
251
|
spin.stop('github projects synced');
|
|
253
252
|
}
|
|
254
253
|
clack.log.success(`${bold('claimed.')} ${base}/${claimedHandle}`);
|
|
255
|
-
// Set up the OS-native daily background sync so usage, streaks, and the
|
|
256
|
-
// retention signal stay fresh without the user remembering to run
|
|
257
|
-
// `hacklab sync`. Best-effort: installDailySync never throws (it falls back
|
|
258
|
-
// to printable instructions), and a non-ok result stays quiet here — the join
|
|
259
|
-
// ritual shouldn't dump scheduler config; `hacklab sync --install-daily`
|
|
260
|
-
// prints it on demand. Torn down again by `hacklab logout`.
|
|
261
|
-
const daily = await installDailySync();
|
|
262
|
-
if (daily.ok) {
|
|
263
|
-
info(dim(`daily sync scheduled (${daily.mechanism})`));
|
|
264
|
-
await captureEvent(claimedHandle, 'cli_daily_sync_installed', {
|
|
265
|
-
mechanism: daily.mechanism,
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
else if (daily.instructions) {
|
|
269
|
-
// Platform we don't auto-schedule on (e.g. BSD) or a failed scheduler
|
|
270
|
-
// write: surface the copy-paste cron command instead of silently shipping
|
|
271
|
-
// no daily sync at all.
|
|
272
|
-
info(dim(daily.instructions));
|
|
273
|
-
}
|
|
274
254
|
if (claimedSession.email) {
|
|
275
255
|
await identifyUser(claimedHandle, {
|
|
276
256
|
$set: {
|
|
@@ -321,7 +301,14 @@ export async function join(opts = {}) {
|
|
|
321
301
|
clack.note(`${bold(referralUrl(claimedHandle, base))}\n\n` +
|
|
322
302
|
'Send it to your smartest hacker friends. The more of your crew here,\n' +
|
|
323
303
|
'the better the network — they join, you both climb the ranks.', 'invite your crew');
|
|
324
|
-
|
|
304
|
+
// Point at the daemon instead of scheduling it here. Onboarding makes it its
|
|
305
|
+
// own step, and a background job installed on someone's machine as a silent
|
|
306
|
+
// side effect of joining is exactly the kind of thing that should be a
|
|
307
|
+
// deliberate command they ran.
|
|
308
|
+
clack.note(`${bold('hacklab demon')}\n\n` +
|
|
309
|
+
'Schedules a daily background re-scan so your tokens, rank, and streak\n' +
|
|
310
|
+
'stay current without you running anything. No daemon, no streak.', 'next: summon the daemon');
|
|
311
|
+
clack.outro(dim('run `hacklab demon`, then return to onboarding for your bio and drop.'));
|
|
325
312
|
}
|
|
326
313
|
/** The per-tool token lines + grand total shown after a scan. */
|
|
327
314
|
function printToolTotals(scan) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/commands/join.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/sync.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `hacklab sync` — dispatch on flags:
|
|
3
3
|
* (none) interactive sync (scan, upload, show stats)
|
|
4
|
-
* --install-daily
|
|
4
|
+
* --install-daily deprecated alias for `hacklab demon`
|
|
5
5
|
* --quiet the unattended daily run (logs to a file, no output)
|
|
6
6
|
*/
|
|
7
7
|
export declare function sync(args?: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7D"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -1,48 +1,30 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
|
-
import { appendSyncLog, clearSyncPaused,
|
|
2
|
+
import { appendSyncLog, clearSyncPaused, markSyncPaused, } from '../daily-sync.js';
|
|
3
3
|
import { captureEvent } from '../posthog.js';
|
|
4
4
|
import { scanAllTools } from '../scanners/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { loadSessionState } from '../session.js';
|
|
6
6
|
import { checkSession, ensureFreshSession, formatTokens, LOGIN_EXPIRED_MESSAGE, refreshSession, runSync, syncGithubRepos, uploadTokenScan, } from '../sync.js';
|
|
7
7
|
import { bold, dim, error, info, success } from '../ui.js';
|
|
8
|
+
import { demon } from './demon.js';
|
|
8
9
|
const SESSION_EXPIRED_REASON = 'your hacklab session expired — run `hacklab login`';
|
|
9
10
|
/**
|
|
10
11
|
* `hacklab sync` — dispatch on flags:
|
|
11
12
|
* (none) interactive sync (scan, upload, show stats)
|
|
12
|
-
* --install-daily
|
|
13
|
+
* --install-daily deprecated alias for `hacklab demon`
|
|
13
14
|
* --quiet the unattended daily run (logs to a file, no output)
|
|
14
15
|
*/
|
|
15
16
|
export async function sync(args = []) {
|
|
16
|
-
if (args.includes('--install-daily'))
|
|
17
|
-
|
|
17
|
+
if (args.includes('--install-daily')) {
|
|
18
|
+
// Kept working (it shipped, and installed CLIs / old docs still say it) but
|
|
19
|
+
// no longer advertised: scheduling the daemon is `hacklab demon` now, which
|
|
20
|
+
// is what the web onboarding flow tells people to run.
|
|
21
|
+
info(dim('`sync --install-daily` is now `hacklab demon` — running that.'));
|
|
22
|
+
return demon();
|
|
23
|
+
}
|
|
18
24
|
if (args.includes('--quiet'))
|
|
19
25
|
return quietSync();
|
|
20
26
|
return interactiveSync();
|
|
21
27
|
}
|
|
22
|
-
/** Set up the daily background sync for `hacklab sync --install-daily`.
|
|
23
|
-
* `hacklab join` calls installDailySync() directly after a claim; this wrapper
|
|
24
|
-
* is the explicit, standalone entry point. Requires a session — the scheduled
|
|
25
|
-
* job runs as this user. */
|
|
26
|
-
async function installDailyCommand() {
|
|
27
|
-
const session = await loadSession();
|
|
28
|
-
if (!session) {
|
|
29
|
-
error('not logged in');
|
|
30
|
-
info(`run ${dim('hacklab login')} first, then ${dim('hacklab sync --install-daily')}`);
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
const result = await installDailySync();
|
|
34
|
-
if (result.ok) {
|
|
35
|
-
success(`daily background sync set up (${result.mechanism})`);
|
|
36
|
-
info(dim(` ${result.detail}`));
|
|
37
|
-
info(dim(' turn it off anytime with `hacklab logout`'));
|
|
38
|
-
await captureEvent(session.handle, 'cli_daily_sync_installed', {
|
|
39
|
-
mechanism: result.mechanism,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
info(result.instructions);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
28
|
/**
|
|
47
29
|
* The unattended daily run (launchd/systemd invoke `hacklab sync --quiet`).
|
|
48
30
|
* Silent by design — everything goes to ~/.hacklab/sync.log. Proactively
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EACL,aAAa,EACb,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -5,11 +5,17 @@ export type CommandSpec = {
|
|
|
5
5
|
args?: string;
|
|
6
6
|
/** One-line description shown in `hacklab --help`. */
|
|
7
7
|
summary: string;
|
|
8
|
+
/** Extra names that resolve to this command but aren't listed in help. For
|
|
9
|
+
* spellings people's fingers reach for that aren't the command's own name. */
|
|
10
|
+
aliases?: string[];
|
|
8
11
|
/** Run the command with the per-command args (the global `--env` is already stripped). */
|
|
9
12
|
run: (args: string[]) => Promise<void> | void;
|
|
10
13
|
};
|
|
11
14
|
export declare const COMMANDS: CommandSpec[];
|
|
12
15
|
/** Every command name, in registry order — the source of truth for resolution. */
|
|
13
16
|
export declare const COMMAND_NAMES: string[];
|
|
17
|
+
/** Alias → the canonical command it stands for. Kept out of `COMMAND_NAMES` so
|
|
18
|
+
* aliases never show up in `--help` or as their own ambiguity candidate. */
|
|
19
|
+
export declare const COMMAND_ALIASES: Record<string, string>;
|
|
14
20
|
export declare function findCommand(name: string): CommandSpec | undefined;
|
|
15
21
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,WAAW,GAAG;IACxB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf;kFAC8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,0FAA0F;IAC1F,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAAW,EA8HjC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,UAA8B,CAAA;AAExD;4EAC4E;AAC5E,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAElD,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE"}
|
package/dist/registry.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { book, parseBookArgs } from './commands/book.js';
|
|
2
2
|
import { chat } from './commands/chat.js';
|
|
3
3
|
import { configCommand } from './commands/config.js';
|
|
4
|
+
import { demon } from './commands/demon.js';
|
|
4
5
|
import { drop, parseDropArgs } from './commands/drop.js';
|
|
5
6
|
import { essay } from './commands/essay.js';
|
|
6
7
|
import { hackathon } from './commands/hackathon.js';
|
|
@@ -26,10 +27,17 @@ export const COMMANDS = [
|
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
29
|
name: 'sync',
|
|
29
|
-
args: '[--install-daily]',
|
|
30
30
|
summary: 'sync AI token usage to your profile',
|
|
31
31
|
run: (args) => sync(args),
|
|
32
32
|
},
|
|
33
|
+
{
|
|
34
|
+
name: 'demon',
|
|
35
|
+
args: '[off]',
|
|
36
|
+
summary: 'summon the daily background sync (off tears it down)',
|
|
37
|
+
// The pun is the command; the correct spelling still has to work.
|
|
38
|
+
aliases: ['daemon'],
|
|
39
|
+
run: (args) => demon(args),
|
|
40
|
+
},
|
|
33
41
|
{
|
|
34
42
|
name: 'whoami',
|
|
35
43
|
summary: "check who you're logged in as",
|
|
@@ -135,6 +143,9 @@ export const COMMANDS = [
|
|
|
135
143
|
];
|
|
136
144
|
/** Every command name, in registry order — the source of truth for resolution. */
|
|
137
145
|
export const COMMAND_NAMES = COMMANDS.map((c) => c.name);
|
|
146
|
+
/** Alias → the canonical command it stands for. Kept out of `COMMAND_NAMES` so
|
|
147
|
+
* aliases never show up in `--help` or as their own ambiguity candidate. */
|
|
148
|
+
export const COMMAND_ALIASES = Object.fromEntries(COMMANDS.flatMap((c) => (c.aliases ?? []).map((alias) => [alias, c.name])));
|
|
138
149
|
export function findCommand(name) {
|
|
139
150
|
return COMMANDS.find((c) => c.name === name);
|
|
140
151
|
}
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export type ResolvedCommand = {
|
|
|
15
15
|
* - a prefix that matches exactly one command resolves to it (`sy` -> sync);
|
|
16
16
|
* - a prefix matching several is ambiguous (`s` -> sync | scan);
|
|
17
17
|
* - a token matching none is unknown (a typo like `ogr` does not resolve).
|
|
18
|
+
*
|
|
19
|
+
* Aliases (`daemon` -> `demon`) resolve the same way and to the canonical name,
|
|
20
|
+
* but they collapse into that name for ambiguity purposes: a prefix shared by a
|
|
21
|
+
* command and its own alias is not ambiguous, it just resolves.
|
|
18
22
|
*/
|
|
19
|
-
export declare function resolveCommand(token: string, commands?: readonly string[]): ResolvedCommand;
|
|
23
|
+
export declare function resolveCommand(token: string, commands?: readonly string[], aliases?: Record<string, string>): ResolvedCommand;
|
|
20
24
|
//# sourceMappingURL=resolve-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-command.d.ts","sourceRoot":"","sources":["../src/resolve-command.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB
|
|
1
|
+
{"version":3,"file":"resolve-command.d.ts","sourceRoot":"","sources":["../src/resolve-command.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,SAAS,MAAM,EAAkB,EAC3C,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmB,GAChD,eAAe,CAkBjB"}
|
package/dist/resolve-command.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMMAND_NAMES } from './registry.js';
|
|
1
|
+
import { COMMAND_ALIASES, COMMAND_NAMES } from './registry.js';
|
|
2
2
|
/**
|
|
3
3
|
* Resolve a (possibly abbreviated) command token to a full command name by
|
|
4
4
|
* shortest unambiguous prefix:
|
|
@@ -7,11 +7,27 @@ import { COMMAND_NAMES } from './registry.js';
|
|
|
7
7
|
* - a prefix that matches exactly one command resolves to it (`sy` -> sync);
|
|
8
8
|
* - a prefix matching several is ambiguous (`s` -> sync | scan);
|
|
9
9
|
* - a token matching none is unknown (a typo like `ogr` does not resolve).
|
|
10
|
+
*
|
|
11
|
+
* Aliases (`daemon` -> `demon`) resolve the same way and to the canonical name,
|
|
12
|
+
* but they collapse into that name for ambiguity purposes: a prefix shared by a
|
|
13
|
+
* command and its own alias is not ambiguous, it just resolves.
|
|
10
14
|
*/
|
|
11
|
-
export function resolveCommand(token, commands = COMMAND_NAMES) {
|
|
15
|
+
export function resolveCommand(token, commands = COMMAND_NAMES, aliases = COMMAND_ALIASES) {
|
|
12
16
|
if (commands.includes(token))
|
|
13
17
|
return { kind: 'match', name: token };
|
|
14
|
-
const
|
|
18
|
+
const exactAlias = aliases[token];
|
|
19
|
+
if (exactAlias)
|
|
20
|
+
return { kind: 'match', name: exactAlias };
|
|
21
|
+
// Dedupe by canonical name and keep registry order, so `dae` (alias-only) and
|
|
22
|
+
// `de` (command) both land on `demon` without reporting it twice.
|
|
23
|
+
const matches = [
|
|
24
|
+
...new Set([
|
|
25
|
+
...commands.filter((c) => c.startsWith(token)),
|
|
26
|
+
...Object.entries(aliases)
|
|
27
|
+
.filter(([alias]) => alias.startsWith(token))
|
|
28
|
+
.map(([, name]) => name),
|
|
29
|
+
]),
|
|
30
|
+
];
|
|
15
31
|
if (matches.length === 1)
|
|
16
32
|
return { kind: 'match', name: matches[0] };
|
|
17
33
|
if (matches.length > 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-command.js","sourceRoot":"","sources":["../src/resolve-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve-command.js","sourceRoot":"","sources":["../src/resolve-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAO9D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,WAA8B,aAAa,EAC3C,UAAkC,eAAe;IAEjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IAE1D,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9C,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACvB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;SAC3B,CAAC;KACH,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAA;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;IAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AAC5B,CAAC"}
|