hacklab 0.12.6 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +26 -17
  2. package/dist/cli.js +3 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/drops.d.ts +7 -0
  5. package/dist/commands/drops.d.ts.map +1 -0
  6. package/dist/commands/drops.js +63 -0
  7. package/dist/commands/drops.js.map +1 -0
  8. package/dist/commands/hacker.d.ts.map +1 -1
  9. package/dist/commands/hacker.js +13 -15
  10. package/dist/commands/hacker.js.map +1 -1
  11. package/dist/commands/profile.d.ts +13 -2
  12. package/dist/commands/profile.d.ts.map +1 -1
  13. package/dist/commands/profile.js +183 -82
  14. package/dist/commands/profile.js.map +1 -1
  15. package/dist/commands/rtfm.d.ts.map +1 -1
  16. package/dist/commands/rtfm.js +97 -43
  17. package/dist/commands/rtfm.js.map +1 -1
  18. package/dist/commands/scan.d.ts +9 -4
  19. package/dist/commands/scan.d.ts.map +1 -1
  20. package/dist/commands/scan.js +131 -69
  21. package/dist/commands/scan.js.map +1 -1
  22. package/dist/daily-sync.d.ts +2 -0
  23. package/dist/daily-sync.d.ts.map +1 -1
  24. package/dist/daily-sync.js +21 -0
  25. package/dist/daily-sync.js.map +1 -1
  26. package/dist/dossier.d.ts +73 -0
  27. package/dist/dossier.d.ts.map +1 -0
  28. package/dist/dossier.js +141 -0
  29. package/dist/dossier.js.map +1 -0
  30. package/dist/registry.d.ts.map +1 -1
  31. package/dist/registry.js +11 -3
  32. package/dist/registry.js.map +1 -1
  33. package/dist/scanners/index.d.ts +2 -0
  34. package/dist/scanners/index.d.ts.map +1 -1
  35. package/dist/scanners/index.js +8 -0
  36. package/dist/scanners/index.js.map +1 -1
  37. package/dist/scanners/util.d.ts +2 -0
  38. package/dist/scanners/util.d.ts.map +1 -1
  39. package/dist/scanners/util.js +23 -0
  40. package/dist/scanners/util.js.map +1 -1
  41. package/dist/share-card.d.ts +0 -1
  42. package/dist/share-card.d.ts.map +1 -1
  43. package/dist/share-card.js +2 -28
  44. package/dist/share-card.js.map +1 -1
  45. package/dist/share.d.ts +4 -2
  46. package/dist/share.d.ts.map +1 -1
  47. package/dist/share.js +30 -27
  48. package/dist/share.js.map +1 -1
  49. package/package.json +1 -1
@@ -1,52 +1,106 @@
1
- import { bold, dim, info } from '../ui.js';
2
- // `onboarding` stands alone as the first manual a new user needs; the rest are
3
- // task-shaped topics in the order we expect to ship them.
4
- const TOPIC_GROUPS = [
5
- [{ name: 'onboarding', summary: 'setup user profile from zero to live' }],
6
- [
7
- {
8
- name: 'wtf',
9
- summary: 'what hacklab is, why proof of work, how this cli maps to it',
10
- },
11
- {
12
- name: 'game',
13
- summary: 'how game system works on hacklab, how do you get XP, what are belts and so on',
14
- },
15
- { name: 'post-job', summary: 'org owners: publish a job to the job shop' },
16
- {
17
- name: 'find-team',
18
- summary: 'hackathons: rsvp, browse hackers, form a team',
19
- },
20
- {
21
- name: 'org-setup',
22
- summary: 'claim or create an org, get access, invite',
23
- },
24
- {
25
- name: 'drop-daily',
26
- summary: "post a drop on the user's behalf (retention loop)",
27
- },
28
- {
29
- name: 'grow',
30
- summary: 'identify all people in your network and invite them all with your referral link',
31
- },
32
- ],
1
+ import { bold, dim, error, info } from '../ui.js';
2
+ const MANUALS = [
3
+ {
4
+ name: 'profile-setup',
5
+ summary: 'build a complete profile from available information',
6
+ sections: [
7
+ {
8
+ heading: 'objective',
9
+ lines: [
10
+ "Set up the user's hacklab profile. Make it impressive and something they're proud of.",
11
+ ],
12
+ },
13
+ {
14
+ heading: 'prerequisites',
15
+ lines: ['- Confirm authentication with `hacklab whoami`.'],
16
+ },
17
+ {
18
+ heading: 'steps',
19
+ lines: [
20
+ '1. Run `hacklab ping` immediately.',
21
+ ' This tells hacklab that profile setup is in progress and lets the user continue on the platform.',
22
+ '2. Inspect the current profile with `hacklab profile --json`.',
23
+ '3. Gather the most relevant, verifiable information about the user.',
24
+ '4. Look for their profiles on:',
25
+ ' - blog or personal website',
26
+ ' - GitHub',
27
+ ' - Hugging Face',
28
+ ' - X (x.com)',
29
+ ' - LinkedIn',
30
+ ' - YouTube',
31
+ ' - Product Hunt',
32
+ ' - Kaggle',
33
+ ' - Cursor (`cursor.com/@handle`)',
34
+ ' - Dribbble',
35
+ ' - Behance',
36
+ ' - GitLab',
37
+ ' - Devpost',
38
+ ' - Replit',
39
+ ' - itch.io',
40
+ ' - CodePen',
41
+ ' - Stack Overflow',
42
+ ' - arXiv',
43
+ ' - Google Scholar',
44
+ ' - Substack',
45
+ ' - Twitch',
46
+ ' - Farcaster',
47
+ ' - Goodreads',
48
+ ' - Filmweb',
49
+ ' - IMDb',
50
+ ' - Spotify',
51
+ '5. Run `hacklab profile set --help` to get the exact field names.',
52
+ '6. Add every verified profile field and link:',
53
+ ' - one field: `hacklab profile set <field> <url> --json`',
54
+ ' - several fields: create a YAML or JSON file, then run:',
55
+ ' `hacklab profile apply <file> --json`',
56
+ '7. Verify the finished profile with `hacklab profile --json`.',
57
+ ],
58
+ },
59
+ {
60
+ heading: 'done when',
61
+ lines: [
62
+ '- The profile looks polished and complete.',
63
+ '- The most relevant verified information available has been added.',
64
+ '- The final state has been checked with `hacklab profile --json`.',
65
+ ],
66
+ },
67
+ {
68
+ heading: 'do not',
69
+ lines: ['- Do not put social links in the bio or README.'],
70
+ },
71
+ ],
72
+ },
33
73
  ];
34
74
  export function rtfm(args) {
35
- if (args[0] === 'topics') {
36
- printTopics();
75
+ const topic = args[0];
76
+ if (!topic || topic === '--help' || topic === '-h' || topic === 'help') {
77
+ printManuals();
37
78
  return;
38
79
  }
39
- info('rtfm is not available yet — coming soon.');
40
- info(`run ${bold('hacklab rtfm topics')} to see what it will cover`);
80
+ const manual = MANUALS.find(({ name }) => name === topic);
81
+ if (!manual) {
82
+ error(`manual not found: ${topic}`);
83
+ info(`run ${bold('hacklab rtfm')} to list manuals`);
84
+ process.exit(1);
85
+ }
86
+ printManual(manual);
87
+ }
88
+ function printManuals() {
89
+ const width = Math.max(...MANUALS.map(({ name }) => name.length));
90
+ console.log('');
91
+ for (const { name, summary } of MANUALS) {
92
+ console.log(` ${dim(name.padEnd(width))} ${summary}`);
93
+ }
94
+ console.log('');
41
95
  }
42
- function printTopics() {
43
- // Pad the names so the summaries line up, matching the `--help` layout.
44
- const width = Math.max(...TOPIC_GROUPS.flat().map((topic) => topic.name.length));
45
- for (const group of TOPIC_GROUPS) {
96
+ function printManual(manual) {
97
+ console.log('');
98
+ console.log(` ${bold(manual.name)}`);
99
+ for (const section of manual.sections) {
46
100
  console.log('');
47
- for (const { name, summary } of group) {
48
- console.log(` ${dim(name.padEnd(width))} ${summary}`);
49
- }
101
+ console.log(` ${bold(section.heading)}`);
102
+ for (const line of section.lines)
103
+ console.log(` ${line}`);
50
104
  }
51
105
  console.log('');
52
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rtfm.js","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAS1C,+EAA+E;AAC/E,0DAA0D;AAC1D,MAAM,YAAY,GAAc;IAC9B,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;IACzE;QACE;YACE,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,6DAA6D;SACvE;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,+EAA+E;SAClF;QACD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,2CAA2C,EAAE;QAC1E;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,+CAA+C;SACzD;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C;SACtD;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,mDAAmD;SAC7D;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,iFAAiF;SACpF;KACF;CACF,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,IAAc;IACjC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,WAAW,EAAE,CAAA;QACb,OAAM;IACR,CAAC;IACD,IAAI,CAAC,0CAA0C,CAAC,CAAA;IAChD,IAAI,CAAC,OAAO,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,WAAW;IAClB,wEAAwE;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CACzD,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"rtfm.js","sourceRoot":"","sources":["../../src/commands/rtfm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAWjD,MAAM,OAAO,GAAa;IACxB;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE;oBACL,uFAAuF;iBACxF;aACF;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,CAAC,iDAAiD,CAAC;aAC3D;YACD;gBACE,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE;oBACL,oCAAoC;oBACpC,qGAAqG;oBACrG,+DAA+D;oBAC/D,qEAAqE;oBACrE,gCAAgC;oBAChC,+BAA+B;oBAC/B,aAAa;oBACb,mBAAmB;oBACnB,gBAAgB;oBAChB,eAAe;oBACf,cAAc;oBACd,mBAAmB;oBACnB,aAAa;oBACb,oCAAoC;oBACpC,eAAe;oBACf,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,cAAc;oBACd,qBAAqB;oBACrB,YAAY;oBACZ,qBAAqB;oBACrB,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,gBAAgB;oBAChB,cAAc;oBACd,WAAW;oBACX,cAAc;oBACd,mEAAmE;oBACnE,+CAA+C;oBAC/C,4DAA4D;oBAC5D,4DAA4D;oBAC5D,4CAA4C;oBAC5C,+DAA+D;iBAChE;aACF;YACD;gBACE,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE;oBACL,4CAA4C;oBAC5C,oEAAoE;oBACpE,mEAAmE;iBACpE;aACF;YACD;gBACE,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,CAAC,iDAAiD,CAAC;aAC3D;SACF;KACF;CACF,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,IAAc;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvE,YAAY,EAAE,CAAA;QACd,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,WAAW,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC"}
@@ -1,7 +1,12 @@
1
+ import { type AggregateScan } from '../scanners/index.js';
1
2
  /**
2
- * Scan local AI usage, render the share card, and optionally post it to X.
3
- * Local-only unless they choose to share. Login is optional: a handle on the
4
- * session goes on the card; without one the card still renders.
3
+ * Scan this machine, upload to the logged-in profile, draw the real card,
4
+ * offer the X share, and arm the daemon so the card stays true.
5
+ *
6
+ * Login is required: an anonymous card says @hacker and points at the wrong
7
+ * URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
8
+ * a one-shot flex on a machine you don't want ticking.
5
9
  */
6
- export declare function scan(): Promise<void>;
10
+ export declare function scan(args?: string[]): Promise<void>;
11
+ export declare function formatScanReceipt(scan: AggregateScan): string[];
7
12
  //# sourceMappingURL=scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkE1C"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,sBAAsB,CAAA;AAuB7B;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoG7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAsC/D"}
@@ -1,60 +1,89 @@
1
1
  import * as clack from '@clack/prompts';
2
- import { beltForTokens } from '../belt.js';
3
2
  import { loadConfig, resolveCursorAuth, saveConfig } from '../config.js';
3
+ import { dailySyncInstalled, installDailySync } from '../daily-sync.js';
4
4
  import { captureEvent } from '../posthog.js';
5
- import { collectToolScans, computeStreaks, detectCursorUsage, formatTokens, mergeToolScans, rescanCursorWithApi, } from '../scanners/index.js';
6
- import { loadSession } from '../session.js';
5
+ import { rebuildScanState } from '../scanners/incremental.js';
6
+ import { collectToolScans, detectCursorUsage, mergeToolScans, rescanCursorWithApi, } from '../scanners/index.js';
7
+ import { formatTokens, shortModelName } from '../scanners/util.js';
8
+ import { loadSessionState } from '../session.js';
7
9
  import { promptShareOnX, renderShareCard, } from '../share.js';
8
- import { bold, dim } from '../ui.js';
10
+ import { checkSession, ensureFreshSession, uploadTokenScan } from '../sync.js';
11
+ import { bold, dim, error, info } from '../ui.js';
12
+ const MAX_MODELS = 8;
9
13
  const TOOL_LABELS = {
10
- claude_code: 'Claude Code',
11
- codex: 'Codex',
12
- cursor: 'Cursor',
13
- openclaw: 'OpenClaw',
14
- hermes: 'Hermes',
15
- opencode: 'OpenCode',
16
- grok: 'Grok Build',
14
+ claude_code: 'claude',
15
+ codex: 'codex',
16
+ cursor: 'cursor',
17
+ openclaw: 'openclaw',
18
+ hermes: 'hermes',
19
+ opencode: 'opencode',
20
+ grok: 'grok',
17
21
  };
18
22
  /**
19
- * Scan local AI usage, render the share card, and optionally post it to X.
20
- * Local-only unless they choose to share. Login is optional: a handle on the
21
- * session goes on the card; without one the card still renders.
23
+ * Scan this machine, upload to the logged-in profile, draw the real card,
24
+ * offer the X share, and arm the daemon so the card stays true.
25
+ *
26
+ * Login is required: an anonymous card says @hacker and points at the wrong
27
+ * URL, which is how the viral loop dies. `--no-daemon` skips the schedule for
28
+ * a one-shot flex on a machine you don't want ticking.
22
29
  */
23
- export async function scan() {
24
- const spin = clack.spinner();
25
- spin.start('scanning local AI tool usage');
30
+ export async function scan(args = []) {
31
+ const noDaemon = args.includes('--no-daemon');
32
+ const sessionState = await loadSessionState();
33
+ if (!sessionState.session) {
34
+ error(sessionState.status === 'expired' ? 'login expired' : 'not logged in');
35
+ info(`run ${dim('hacklab login')} first`);
36
+ process.exit(1);
37
+ }
38
+ const sessionCheck = await checkSession(sessionState.session);
39
+ if (sessionCheck.status === 'unauthorized') {
40
+ error('login expired');
41
+ info(`run ${dim('hacklab login')} again`);
42
+ process.exit(1);
43
+ }
44
+ if (sessionCheck.status === 'failed') {
45
+ error(sessionCheck.message);
46
+ process.exit(1);
47
+ }
48
+ const session = await ensureFreshSession(sessionState.session);
49
+ if (!session.handle) {
50
+ error('no handle on this session');
51
+ info(`run ${dim('hacklab login')} again`);
52
+ process.exit(1);
53
+ }
26
54
  let results;
27
55
  try {
28
56
  results = await collectToolScans();
29
57
  }
30
58
  catch (err) {
31
- spin.stop('scan failed');
32
- clack.cancel(`couldn't read local AI usage: ${err instanceof Error ? err.message : String(err)}`);
59
+ error(`couldn't read local AI usage: ${err instanceof Error ? err.message : String(err)}`);
33
60
  process.exit(1);
34
61
  }
35
- spin.stop('scan complete');
36
62
  let scanResult = mergeToolScans(results);
37
- printToolTotals(scanResult);
38
- const rescanned = await offerCursorApiKey(results, spin);
63
+ const rescanned = await offerCursorApiKey(results);
39
64
  if (rescanned) {
40
65
  results = rescanned;
41
66
  scanResult = mergeToolScans(results);
42
- printToolTotals(scanResult);
43
67
  }
44
- const session = await loadSession();
45
- const handle = session?.handle ?? 'hacker';
46
- const belt = beltForTokens(scanResult.grandTotal);
47
- const streaks = computeStreaks(scanResult.dailyTotals.map((entry) => entry.date));
68
+ let uploaded;
69
+ try {
70
+ uploaded = await uploadTokenScan(session, scanResult, { interactive: true });
71
+ await rebuildScanState(results);
72
+ }
73
+ catch (err) {
74
+ error(err instanceof Error ? err.message : 'sync failed');
75
+ process.exit(1);
76
+ }
48
77
  const card = {
49
- handle,
50
- level: belt.level,
51
- title: belt.title,
52
- beltColor: belt.beltColor,
53
- tokensTotal: scanResult.grandTotal,
54
- rank: 0,
55
- streak: streaks.current,
56
- longestStreak: streaks.longest,
57
- progressPercent: belt.progressPercent,
78
+ handle: session.handle,
79
+ level: Number(uploaded.level ?? 0),
80
+ title: String(uploaded.title ?? ''),
81
+ beltColor: String(uploaded.beltColor ?? 'white'),
82
+ tokensTotal: Number(uploaded.tokensTotal ?? scanResult.grandTotal),
83
+ rank: Number(uploaded.rankAfter ?? 0),
84
+ streak: Number(uploaded.streak ?? 0),
85
+ longestStreak: Number(uploaded.longestStreak ?? 0),
86
+ progressPercent: Number(uploaded.progressPercent ?? 0),
58
87
  estimatedCost: estimateCost(scanResult.toolTotals),
59
88
  toolBreakdown: {
60
89
  claudeCode: scanResult.toolTotals.claude_code ?? 0,
@@ -66,46 +95,85 @@ export async function scan() {
66
95
  .sort((a, b) => b.tokens - a.tokens),
67
96
  dailyActivity: aggregateDailyActivity(scanResult.dailyTotals),
68
97
  };
69
- const cardPath = await renderShareCard(card);
70
- if (session?.handle) {
71
- await promptShareOnX(card, cardPath);
98
+ for (const line of formatScanReceipt(scanResult)) {
99
+ console.log(line);
72
100
  }
73
- else {
74
- clack.log.message(dim('hacklab login to put your name on the card'));
75
- }
76
- if (session?.handle) {
77
- await captureEvent(session.handle, 'cli_scan_completed', {
78
- tokens_total: scanResult.grandTotal,
79
- });
101
+ console.log('');
102
+ if (!noDaemon) {
103
+ const existed = await dailySyncInstalled();
104
+ const result = await installDailySync();
105
+ if (result.ok && !existed) {
106
+ await captureEvent(session.handle, 'cli_daily_sync_installed', {
107
+ mechanism: result.mechanism,
108
+ source: 'scan',
109
+ });
110
+ }
80
111
  }
81
- clack.outro(dim('done.'));
112
+ const cardPath = await renderShareCard(card);
113
+ await promptShareOnX(card, cardPath);
114
+ await captureEvent(session.handle, 'cli_scan_completed', {
115
+ tokens_total: Number(uploaded.tokensTotal ?? scanResult.grandTotal),
116
+ rank: Number(uploaded.rankAfter ?? 0),
117
+ });
82
118
  }
83
- function printToolTotals(scan) {
84
- for (const [tool, total] of Object.entries(scan.toolTotals)) {
85
- if (total > 0) {
86
- clack.log.message(`${(TOOL_LABELS[tool] ?? tool).padEnd(12)} ${formatTokens(total)} tokens`);
87
- }
119
+ export function formatScanReceipt(scan) {
120
+ const groups = Object.entries(scan.toolTotals)
121
+ .filter(([, total]) => total > 0)
122
+ .sort((a, b) => b[1] - a[1])
123
+ .map(([tool, total]) => ({
124
+ label: TOOL_LABELS[tool] ?? tool,
125
+ value: formatTokens(total),
126
+ models: Object.entries(scan.modelsByTool?.[tool] ?? {})
127
+ .filter(([, tokens]) => tokens > 0)
128
+ .sort((a, b) => b[1] - a[1])
129
+ .slice(0, MAX_MODELS)
130
+ .map(([name, tokens]) => ({
131
+ label: shortModelName(name).toLowerCase(),
132
+ value: formatTokens(tokens),
133
+ }))
134
+ .filter((row) => row.label.length > 0),
135
+ }));
136
+ const rows = groups.flatMap((group) => [
137
+ { label: group.label, value: group.value },
138
+ ...group.models.map((model) => ({
139
+ label: ` ${model.label}`,
140
+ value: model.value,
141
+ })),
142
+ ]);
143
+ const aligned = alignRows(rows);
144
+ const lines = [
145
+ `you burned ${bold(`${formatTokens(scan.grandTotal)} tokens`)}`,
146
+ ];
147
+ let offset = 0;
148
+ for (const group of groups) {
149
+ lines.push('');
150
+ const n = 1 + group.models.length;
151
+ lines.push(...aligned.slice(offset, offset + n));
152
+ offset += n;
88
153
  }
89
- clack.log.message(bold(`total: ${formatTokens(scan.grandTotal)} tokens`));
154
+ return lines;
90
155
  }
91
- async function offerCursorApiKey(results, spin) {
156
+ function alignRows(rows) {
157
+ if (rows.length === 0)
158
+ return [];
159
+ const labelWidth = Math.max(...rows.map((r) => r.label.length));
160
+ const valueWidth = Math.max(...rows.map((r) => r.value.length));
161
+ return rows.map((row) => `${dim(row.label.padEnd(labelWidth))} ${bold(row.value.padStart(valueWidth))}`);
162
+ }
163
+ async function offerCursorApiKey(results) {
92
164
  const { apiKey } = await resolveCursorAuth();
93
165
  if (apiKey)
94
166
  return null;
95
167
  if (!(await detectCursorUsage()))
96
168
  return null;
97
- clack.log.step('cursor detected');
98
- clack.log.message(dim('a cursor api key gets exact counts. enter to skip.'));
99
169
  const entered = await clack.password({
100
170
  message: 'cursor api key (enter to skip)',
101
171
  });
102
172
  if (clack.isCancel(entered))
103
173
  return null;
104
174
  const key = String(entered ?? '').trim();
105
- if (!key) {
106
- clack.log.message(dim('skipped — cursor tokens will stay estimated.'));
175
+ if (!key)
107
176
  return null;
108
- }
109
177
  const emailValue = await clack.text({
110
178
  message: 'cursor account email (optional — scopes a team key to just you)',
111
179
  placeholder: 'enter to skip',
@@ -118,32 +186,26 @@ async function offerCursorApiKey(results, spin) {
118
186
  cursorApiKey: key,
119
187
  ...(email ? { cursorEmail: email } : {}),
120
188
  });
121
- spin.start('fetching exact cursor usage');
122
189
  let rescanned;
123
190
  try {
124
191
  rescanned = await rescanCursorWithApi(results);
125
192
  }
126
193
  catch (err) {
127
- spin.stop('cursor api scan failed');
128
- clack.log.message(dim(`keeping the local estimate: ${err instanceof Error ? err.message : String(err)}`));
194
+ console.log(dim(`keeping the local estimate: ${err instanceof Error ? err.message : String(err)}`));
129
195
  return null;
130
196
  }
131
197
  const status = rescanned.find((r) => r.tool === 'cursor')?.cursorScanStatus;
132
198
  switch (status?.source) {
133
199
  case 'api':
134
- spin.stop(`cursor: exact counts from ${status.events} usage events`);
135
200
  return rescanned;
136
201
  case 'api-partial':
137
- spin.stop(`cursor: ${status.events} usage events (partial)`);
138
- clack.log.message(dim(`stopped early: ${status.reason}`));
202
+ console.log(dim(`stopped early: ${status.reason}`));
139
203
  return rescanned;
140
204
  case 'api-failed':
141
- spin.stop('cursor api scan failed');
142
- clack.log.message(dim(`${status.reason} — keeping the local estimate.`));
205
+ console.log(dim(`${status.reason} — keeping the local estimate.`));
143
206
  return null;
144
207
  default:
145
- spin.stop('cursor api returned no usage events');
146
- clack.log.message(dim('keeping the local estimate.'));
208
+ console.log(dim('keeping the local estimate.'));
147
209
  return null;
148
210
  }
149
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,8 @@ export declare function schtasksCreateArgs(wrapperPath: string, time: {
64
64
  /** Args for `schtasks /Create` for the tick: every minute, forever. */
65
65
  export declare function schtasksTickCreateArgs(wrapperPath: string): string[];
66
66
  export declare function manualInstructions(cmd: SyncCommand): string;
67
+ /** True when the OS scheduler already has the daily job. */
68
+ export declare function dailySyncInstalled(): Promise<boolean>;
67
69
  /** Install (or refresh) both background jobs (tick + daily) for the current OS. */
68
70
  export declare function installDailySync(): Promise<InstallResult>;
69
71
  /** Remove both background jobs. Best-effort and never throws, so it's safe to
@@ -1 +1 @@
1
- {"version":3,"file":"daily-sync.d.ts","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAgB5E;8EAC8E;AAC9E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAQD,eAAO,MAAM,kBAAkB,UAAY,CAAA;AAC3C,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;oEACoE;AACpE,wBAAsB,WAAW,CAC/B,QAAQ,SAAqB,EAC7B,SAAS,SAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED;wDACwD;AACxD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;AAED,qEAAqE;AACrE,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;2CAC2C;AAC3C,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAyCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,MAAM,CAcR;AAED;kFACkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED;8EAC8E;AAC9E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;wCACwC;AACxC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;wDAIwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;gFACgF;AAChF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,EAAE,CAaV;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAapE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAS3D;AAiID,mFAAmF;AACnF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB/D;AAED;iEACiE;AACjE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
1
+ {"version":3,"file":"daily-sync.d.ts","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAgB5E;8EAC8E;AAC9E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAQD,eAAO,MAAM,kBAAkB,UAAY,CAAA;AAC3C,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;oEACoE;AACpE,wBAAsB,WAAW,CAC/B,QAAQ,SAAqB,EAC7B,SAAS,SAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED;wDACwD;AACxD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;AAED,qEAAqE;AACrE,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;2CAC2C;AAC3C,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAyCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,MAAM,CAcR;AAED;kFACkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CASvD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED;8EAC8E;AAC9E,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;wCACwC;AACxC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;wDAIwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;gFACgF;AAChF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,EAAE,CAaV;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAapE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAS3D;AAiID,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB3D;AAED,mFAAmF;AACnF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAwB/D;AAED;iEACiE;AACjE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
@@ -364,6 +364,27 @@ async function installSchtasks(cmd) {
364
364
  detail: `${tick === 0 ? 'tick every minute, ' : ''}full sync daily around ${pad2(time.hour)}:${pad2(time.minute)} (Task Scheduler task "${SCHTASKS_TASK}")`,
365
365
  };
366
366
  }
367
+ /** True when the OS scheduler already has the daily job. */
368
+ export async function dailySyncInstalled() {
369
+ const os = platform();
370
+ try {
371
+ if (os === 'darwin') {
372
+ await stat(launchAgentPath(LAUNCHD_LABEL));
373
+ return true;
374
+ }
375
+ if (os === 'linux') {
376
+ await stat(join(homedir(), '.config', 'systemd', 'user', `${SYSTEMD_UNIT}.timer`));
377
+ return true;
378
+ }
379
+ if (os === 'win32') {
380
+ return (await run('schtasks', ['/Query', '/TN', SCHTASKS_TASK])) === 0;
381
+ }
382
+ }
383
+ catch {
384
+ // missing file / scheduler
385
+ }
386
+ return false;
387
+ }
367
388
  /** Install (or refresh) both background jobs (tick + daily) for the current OS. */
368
389
  export async function installDailySync() {
369
390
  const cmd = resolveSyncCommand();
@@ -1 +1 @@
1
- {"version":3,"file":"daily-sync.js","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daily-sync.js","sourceRoot":"","sources":["../src/daily-sync.ts"],"names":[],"mappings":"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"}