hacklab 0.22.3 → 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.
Files changed (259) hide show
  1. package/README.md +23 -430
  2. package/dist/index.js +132 -23
  3. package/package.json +20 -42
  4. package/LICENSE +0 -21
  5. package/dist/agent-handoff.d.ts +0 -51
  6. package/dist/agent-handoff.d.ts.map +0 -1
  7. package/dist/agent-handoff.js +0 -91
  8. package/dist/agent-handoff.js.map +0 -1
  9. package/dist/api-client.d.ts +0 -18
  10. package/dist/api-client.d.ts.map +0 -1
  11. package/dist/api-client.js +0 -40
  12. package/dist/api-client.js.map +0 -1
  13. package/dist/belt.d.ts +0 -25
  14. package/dist/belt.d.ts.map +0 -1
  15. package/dist/belt.js +0 -113
  16. package/dist/belt.js.map +0 -1
  17. package/dist/card.d.ts +0 -66
  18. package/dist/card.d.ts.map +0 -1
  19. package/dist/card.js +0 -151
  20. package/dist/card.js.map +0 -1
  21. package/dist/cli.d.ts +0 -2
  22. package/dist/cli.d.ts.map +0 -1
  23. package/dist/cli.js +0 -238
  24. package/dist/cli.js.map +0 -1
  25. package/dist/commands/book.d.ts +0 -14
  26. package/dist/commands/book.d.ts.map +0 -1
  27. package/dist/commands/book.js +0 -90
  28. package/dist/commands/book.js.map +0 -1
  29. package/dist/commands/chat.d.ts +0 -36
  30. package/dist/commands/chat.d.ts.map +0 -1
  31. package/dist/commands/chat.js +0 -642
  32. package/dist/commands/chat.js.map +0 -1
  33. package/dist/commands/config.d.ts +0 -2
  34. package/dist/commands/config.d.ts.map +0 -1
  35. package/dist/commands/config.js +0 -84
  36. package/dist/commands/config.js.map +0 -1
  37. package/dist/commands/daemon.d.ts +0 -19
  38. package/dist/commands/daemon.d.ts.map +0 -1
  39. package/dist/commands/daemon.js +0 -72
  40. package/dist/commands/daemon.js.map +0 -1
  41. package/dist/commands/drop.d.ts +0 -12
  42. package/dist/commands/drop.d.ts.map +0 -1
  43. package/dist/commands/drop.js +0 -103
  44. package/dist/commands/drop.js.map +0 -1
  45. package/dist/commands/drops.d.ts +0 -9
  46. package/dist/commands/drops.d.ts.map +0 -1
  47. package/dist/commands/drops.js +0 -96
  48. package/dist/commands/drops.js.map +0 -1
  49. package/dist/commands/essay.d.ts +0 -40
  50. package/dist/commands/essay.d.ts.map +0 -1
  51. package/dist/commands/essay.js +0 -651
  52. package/dist/commands/essay.js.map +0 -1
  53. package/dist/commands/hackathon.d.ts +0 -2
  54. package/dist/commands/hackathon.d.ts.map +0 -1
  55. package/dist/commands/hackathon.js +0 -893
  56. package/dist/commands/hackathon.js.map +0 -1
  57. package/dist/commands/hacker.d.ts +0 -2
  58. package/dist/commands/hacker.d.ts.map +0 -1
  59. package/dist/commands/hacker.js +0 -87
  60. package/dist/commands/hacker.js.map +0 -1
  61. package/dist/commands/jobs.d.ts +0 -18
  62. package/dist/commands/jobs.d.ts.map +0 -1
  63. package/dist/commands/jobs.js +0 -138
  64. package/dist/commands/jobs.js.map +0 -1
  65. package/dist/commands/keys.d.ts +0 -2
  66. package/dist/commands/keys.d.ts.map +0 -1
  67. package/dist/commands/keys.js +0 -138
  68. package/dist/commands/keys.js.map +0 -1
  69. package/dist/commands/login.d.ts +0 -83
  70. package/dist/commands/login.d.ts.map +0 -1
  71. package/dist/commands/login.js +0 -236
  72. package/dist/commands/login.js.map +0 -1
  73. package/dist/commands/logout.d.ts +0 -2
  74. package/dist/commands/logout.d.ts.map +0 -1
  75. package/dist/commands/logout.js +0 -22
  76. package/dist/commands/logout.js.map +0 -1
  77. package/dist/commands/org-jobs.d.ts +0 -50
  78. package/dist/commands/org-jobs.d.ts.map +0 -1
  79. package/dist/commands/org-jobs.js +0 -383
  80. package/dist/commands/org-jobs.js.map +0 -1
  81. package/dist/commands/org.d.ts +0 -67
  82. package/dist/commands/org.d.ts.map +0 -1
  83. package/dist/commands/org.js +0 -1244
  84. package/dist/commands/org.js.map +0 -1
  85. package/dist/commands/ping.d.ts +0 -2
  86. package/dist/commands/ping.d.ts.map +0 -1
  87. package/dist/commands/ping.js +0 -50
  88. package/dist/commands/ping.js.map +0 -1
  89. package/dist/commands/profile.d.ts +0 -72
  90. package/dist/commands/profile.d.ts.map +0 -1
  91. package/dist/commands/profile.js +0 -672
  92. package/dist/commands/profile.js.map +0 -1
  93. package/dist/commands/project.d.ts +0 -2
  94. package/dist/commands/project.d.ts.map +0 -1
  95. package/dist/commands/project.js +0 -583
  96. package/dist/commands/project.js.map +0 -1
  97. package/dist/commands/referral.d.ts +0 -6
  98. package/dist/commands/referral.d.ts.map +0 -1
  99. package/dist/commands/referral.js +0 -93
  100. package/dist/commands/referral.js.map +0 -1
  101. package/dist/commands/rtfm.d.ts +0 -9
  102. package/dist/commands/rtfm.d.ts.map +0 -1
  103. package/dist/commands/rtfm.js +0 -114
  104. package/dist/commands/rtfm.js.map +0 -1
  105. package/dist/commands/scan.d.ts +0 -13
  106. package/dist/commands/scan.d.ts.map +0 -1
  107. package/dist/commands/scan.js +0 -286
  108. package/dist/commands/scan.js.map +0 -1
  109. package/dist/commands/scout.d.ts +0 -18
  110. package/dist/commands/scout.d.ts.map +0 -1
  111. package/dist/commands/scout.js +0 -232
  112. package/dist/commands/scout.js.map +0 -1
  113. package/dist/commands/setup-rail.d.ts +0 -58
  114. package/dist/commands/setup-rail.d.ts.map +0 -1
  115. package/dist/commands/setup-rail.js +0 -135
  116. package/dist/commands/setup-rail.js.map +0 -1
  117. package/dist/commands/setup.d.ts +0 -29
  118. package/dist/commands/setup.d.ts.map +0 -1
  119. package/dist/commands/setup.js +0 -442
  120. package/dist/commands/setup.js.map +0 -1
  121. package/dist/commands/sync.d.ts +0 -9
  122. package/dist/commands/sync.d.ts.map +0 -1
  123. package/dist/commands/sync.js +0 -345
  124. package/dist/commands/sync.js.map +0 -1
  125. package/dist/commands/update.d.ts +0 -2
  126. package/dist/commands/update.d.ts.map +0 -1
  127. package/dist/commands/update.js +0 -92
  128. package/dist/commands/update.js.map +0 -1
  129. package/dist/commands/whoami.d.ts +0 -2
  130. package/dist/commands/whoami.d.ts.map +0 -1
  131. package/dist/commands/whoami.js +0 -41
  132. package/dist/commands/whoami.js.map +0 -1
  133. package/dist/config.d.ts +0 -78
  134. package/dist/config.d.ts.map +0 -1
  135. package/dist/config.js +0 -93
  136. package/dist/config.js.map +0 -1
  137. package/dist/daily-sync.d.ts +0 -150
  138. package/dist/daily-sync.d.ts.map +0 -1
  139. package/dist/daily-sync.js +0 -665
  140. package/dist/daily-sync.js.map +0 -1
  141. package/dist/dossier.d.ts +0 -73
  142. package/dist/dossier.d.ts.map +0 -1
  143. package/dist/dossier.js +0 -141
  144. package/dist/dossier.js.map +0 -1
  145. package/dist/field-normalize.d.ts +0 -4
  146. package/dist/field-normalize.d.ts.map +0 -1
  147. package/dist/field-normalize.js +0 -8
  148. package/dist/field-normalize.js.map +0 -1
  149. package/dist/index.d.ts +0 -3
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js.map +0 -1
  152. package/dist/job-fields.d.ts +0 -47
  153. package/dist/job-fields.d.ts.map +0 -1
  154. package/dist/job-fields.js +0 -148
  155. package/dist/job-fields.js.map +0 -1
  156. package/dist/machine.d.ts +0 -15
  157. package/dist/machine.d.ts.map +0 -1
  158. package/dist/machine.js +0 -64
  159. package/dist/machine.js.map +0 -1
  160. package/dist/org-fields.d.ts +0 -57
  161. package/dist/org-fields.d.ts.map +0 -1
  162. package/dist/org-fields.js +0 -167
  163. package/dist/org-fields.js.map +0 -1
  164. package/dist/posthog.d.ts +0 -38
  165. package/dist/posthog.d.ts.map +0 -1
  166. package/dist/posthog.js +0 -224
  167. package/dist/posthog.js.map +0 -1
  168. package/dist/project-fields.d.ts +0 -40
  169. package/dist/project-fields.d.ts.map +0 -1
  170. package/dist/project-fields.js +0 -79
  171. package/dist/project-fields.js.map +0 -1
  172. package/dist/prompt-consent.d.ts +0 -73
  173. package/dist/prompt-consent.d.ts.map +0 -1
  174. package/dist/prompt-consent.js +0 -191
  175. package/dist/prompt-consent.js.map +0 -1
  176. package/dist/prompt-stats.d.ts +0 -226
  177. package/dist/prompt-stats.d.ts.map +0 -1
  178. package/dist/prompt-stats.js +0 -561
  179. package/dist/prompt-stats.js.map +0 -1
  180. package/dist/referral.d.ts +0 -14
  181. package/dist/referral.d.ts.map +0 -1
  182. package/dist/referral.js +0 -28
  183. package/dist/referral.js.map +0 -1
  184. package/dist/registry.d.ts +0 -15
  185. package/dist/registry.d.ts.map +0 -1
  186. package/dist/registry.js +0 -180
  187. package/dist/registry.js.map +0 -1
  188. package/dist/resolve-command.d.ts +0 -20
  189. package/dist/resolve-command.d.ts.map +0 -1
  190. package/dist/resolve-command.js +0 -21
  191. package/dist/resolve-command.js.map +0 -1
  192. package/dist/scanners/antigravity.d.ts +0 -41
  193. package/dist/scanners/antigravity.d.ts.map +0 -1
  194. package/dist/scanners/antigravity.js +0 -210
  195. package/dist/scanners/antigravity.js.map +0 -1
  196. package/dist/scanners/github-copilot-telemetry.d.ts +0 -23
  197. package/dist/scanners/github-copilot-telemetry.d.ts.map +0 -1
  198. package/dist/scanners/github-copilot-telemetry.js +0 -220
  199. package/dist/scanners/github-copilot-telemetry.js.map +0 -1
  200. package/dist/scanners/github-copilot.d.ts +0 -68
  201. package/dist/scanners/github-copilot.d.ts.map +0 -1
  202. package/dist/scanners/github-copilot.js +0 -262
  203. package/dist/scanners/github-copilot.js.map +0 -1
  204. package/dist/scanners/incremental.d.ts +0 -282
  205. package/dist/scanners/incremental.d.ts.map +0 -1
  206. package/dist/scanners/incremental.js +0 -788
  207. package/dist/scanners/incremental.js.map +0 -1
  208. package/dist/scanners/index.d.ts +0 -116
  209. package/dist/scanners/index.d.ts.map +0 -1
  210. package/dist/scanners/index.js +0 -726
  211. package/dist/scanners/index.js.map +0 -1
  212. package/dist/scanners/sqlite.d.ts +0 -18
  213. package/dist/scanners/sqlite.d.ts.map +0 -1
  214. package/dist/scanners/sqlite.js +0 -63
  215. package/dist/scanners/sqlite.js.map +0 -1
  216. package/dist/scanners/util.d.ts +0 -112
  217. package/dist/scanners/util.d.ts.map +0 -1
  218. package/dist/scanners/util.js +0 -167
  219. package/dist/scanners/util.js.map +0 -1
  220. package/dist/session.d.ts +0 -106
  221. package/dist/session.d.ts.map +0 -1
  222. package/dist/session.js +0 -191
  223. package/dist/session.js.map +0 -1
  224. package/dist/share-card-colors.d.ts +0 -19
  225. package/dist/share-card-colors.d.ts.map +0 -1
  226. package/dist/share-card-colors.js +0 -36
  227. package/dist/share-card-colors.js.map +0 -1
  228. package/dist/share-card.d.ts +0 -31
  229. package/dist/share-card.d.ts.map +0 -1
  230. package/dist/share-card.js +0 -380
  231. package/dist/share-card.js.map +0 -1
  232. package/dist/share.d.ts +0 -17
  233. package/dist/share.d.ts.map +0 -1
  234. package/dist/share.js +0 -75
  235. package/dist/share.js.map +0 -1
  236. package/dist/sync.d.ts +0 -100
  237. package/dist/sync.d.ts.map +0 -1
  238. package/dist/sync.js +0 -304
  239. package/dist/sync.js.map +0 -1
  240. package/dist/ui.d.ts +0 -33
  241. package/dist/ui.d.ts.map +0 -1
  242. package/dist/ui.js +0 -127
  243. package/dist/ui.js.map +0 -1
  244. package/dist/utils/npmGlobal.d.ts +0 -30
  245. package/dist/utils/npmGlobal.d.ts.map +0 -1
  246. package/dist/utils/npmGlobal.js +0 -69
  247. package/dist/utils/npmGlobal.js.map +0 -1
  248. package/dist/utils/openBrowser.d.ts +0 -14
  249. package/dist/utils/openBrowser.d.ts.map +0 -1
  250. package/dist/utils/openBrowser.js +0 -47
  251. package/dist/utils/openBrowser.js.map +0 -1
  252. package/dist/utils/updateCheck.d.ts +0 -16
  253. package/dist/utils/updateCheck.d.ts.map +0 -1
  254. package/dist/utils/updateCheck.js +0 -111
  255. package/dist/utils/updateCheck.js.map +0 -1
  256. package/dist/utils/waitForEnter.d.ts +0 -12
  257. package/dist/utils/waitForEnter.d.ts.map +0 -1
  258. package/dist/utils/waitForEnter.js +0 -43
  259. package/dist/utils/waitForEnter.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function configCommand(args: string[]): Promise<void>;
2
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AA+BA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6EjD"}
@@ -1,84 +0,0 @@
1
- import { loadConfig, resolveCursorAuth, saveConfig, } from '../config.js';
2
- import { isPromptSyncTier, loadPromptSync, PROMPT_SYNC_TIERS, savePromptSync, } from '../prompt-consent.js';
3
- import { dim, error, info, success } from '../ui.js';
4
- const PROMPT_SYNC_DESCRIPTIONS = {
5
- none: 'token counts only. nothing prompt-related leaves this machine.',
6
- stats: 'prompt counts, word counts, timestamps and session ids, synced continuously. no text.',
7
- full: 'the above, plus a sample of your most recent prompts, scored for how technical it is (then discarded).',
8
- };
9
- /**
10
- * Note where a value came from. Printing the *effective* value rather than the
11
- * file's is the point: with an env var or flag set, the file's value is dead
12
- * weight, and showing it would explain nothing about the numbers the user sees.
13
- */
14
- function sourceNote(source, envName) {
15
- return source === 'env' ? dim(` (from ${envName} — overrides this file)`) : '';
16
- }
17
- export async function configCommand(args) {
18
- const [key, ...valueParts] = args;
19
- const value = valueParts.join(' ');
20
- if (!key) {
21
- const auth = await resolveCursorAuth();
22
- console.log('');
23
- info('current config:');
24
- if (auth.apiKey) {
25
- info(` cursor-api-key: ${dim(`${auth.apiKey.slice(0, 8)}...`)}${sourceNote(auth.apiKeySource, 'CURSOR_API_KEY')}`);
26
- }
27
- if (auth.email) {
28
- info(` cursor-email: ${auth.email}${sourceNote(auth.emailSource, 'CURSOR_EMAIL')}`);
29
- }
30
- const consent = await loadPromptSync();
31
- if (consent) {
32
- info(` prompt-sync: ${consent}`);
33
- info(` ${dim(PROMPT_SYNC_DESCRIPTIONS[consent])}`);
34
- }
35
- else {
36
- info(` prompt-sync: ${dim('unset — sync will ask')}`);
37
- }
38
- if (!auth.apiKey && !auth.email) {
39
- info(` ${dim('(cursor: empty)')}`);
40
- }
41
- console.log('');
42
- info('available keys:');
43
- info(` ${dim('cursor-api-key')} your Cursor API key — exact token counts`);
44
- info(` ${dim('cursor-email')} your Cursor account email — scopes a team key to you`);
45
- info(` ${dim('prompt-sync')} ${PROMPT_SYNC_TIERS.join(' | ')} — what leaves this machine`);
46
- console.log('');
47
- info(dim('per-run overrides (both beat this file):'));
48
- info(dim(' hacklab --cursor-api-key <key> sync'));
49
- info(dim(' CURSOR_API_KEY=<key> hacklab sync'));
50
- console.log('');
51
- return;
52
- }
53
- if (!value) {
54
- error(`usage: hacklab config ${key} <value>`);
55
- process.exit(1);
56
- }
57
- const config = await loadConfig();
58
- switch (key) {
59
- case 'cursor-api-key':
60
- config.cursorApiKey = value;
61
- await saveConfig(config);
62
- success(`cursor-api-key saved`);
63
- break;
64
- case 'cursor-email':
65
- config.cursorEmail = value;
66
- await saveConfig(config);
67
- success(`cursor-email set to ${value}`);
68
- break;
69
- case 'prompt-sync':
70
- if (!isPromptSyncTier(value)) {
71
- error(`prompt-sync must be one of: ${PROMPT_SYNC_TIERS.join(', ')}`);
72
- process.exit(1);
73
- }
74
- await savePromptSync(value);
75
- success(`prompt-sync set to ${value}`);
76
- info(dim(` ${PROMPT_SYNC_DESCRIPTIONS[value]}`));
77
- break;
78
- default:
79
- error(`unknown config key: ${key}`);
80
- info(`available: cursor-api-key, cursor-email, prompt-sync`);
81
- process.exit(1);
82
- }
83
- }
84
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * `hacklab daemon` — arm the background sync, as its own explicit step.
3
- *
4
- * hacklab daemon summon it (install/refresh the OS-native jobs)
5
- * hacklab daemon off dismiss it (tear the schedule down)
6
- *
7
- * Two cadences, one command: a token tick every minute (incremental — it reads
8
- * only what your tools appended since the last run) and a full sync once a day
9
- * that re-scans everything and repairs whatever the tick got wrong.
10
- *
11
- * This used to be a side effect of signup (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 declare function daemon(args?: string[]): Promise<void>;
19
- //# sourceMappingURL=daemon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
@@ -1,72 +0,0 @@
1
- import { clearSyncPaused, formatManualSchedule, 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 daemon` — arm the background sync, as its own explicit step.
7
- *
8
- * hacklab daemon summon it (install/refresh the OS-native jobs)
9
- * hacklab daemon off dismiss it (tear the schedule down)
10
- *
11
- * Two cadences, one command: a token tick every minute (incremental — it reads
12
- * only what your tools appended since the last run) and a full sync once a day
13
- * that re-scans everything and repairs whatever the tick got wrong.
14
- *
15
- * This used to be a side effect of signup (and a flag on `sync`), which made it
16
- * invisible: users couldn't tell whether anything was scheduled, and the web
17
- * onboarding had no step to point at. Now it's a command the onboarding flow
18
- * tells people to run, so arming the daemon is a thing you *did*, not a thing
19
- * that happened to you. Re-running is idempotent — the installers overwrite the
20
- * existing schedule rather than stacking a second one.
21
- */
22
- export async function daemon(args = []) {
23
- if (args.includes('off') || args.includes('--off'))
24
- return dismiss();
25
- return summon();
26
- }
27
- /** Install (or refresh) the background sync jobs. Requires a session — they run
28
- * as this user and upload to their profile. */
29
- async function summon() {
30
- const session = await loadSession();
31
- if (!session) {
32
- error('not logged in');
33
- info(`run ${dim('hacklab login')} first`);
34
- process.exit(1);
35
- }
36
- const result = await installDailySync();
37
- if (result.ok) {
38
- // The tick can be refused (a Windows policy capping task frequency) while
39
- // the daily job installs fine — the headline has to match what's actually
40
- // scheduled, the way `detail` already does.
41
- success(`daemon summoned — ${result.tick ? 'token tick every minute, ' : ''}full sync daily, via ${result.mechanism}`);
42
- info(dim(` ${result.detail}`));
43
- info(dim(` log: ${syncLogPath()}`));
44
- info(dim(' dismiss it with `hacklab daemon off` (logout removes it too)'));
45
- await captureEvent(session.handle, 'cli_daily_sync_installed', {
46
- mechanism: result.mechanism,
47
- source: 'daemon',
48
- });
49
- return;
50
- }
51
- // Nothing was scheduled: a platform we don't auto-schedule on (e.g. BSD) or a
52
- // failed scheduler write. Say so plainly and print the copy-paste cron
53
- // commands — silently reporting success here would cost the user their streak.
54
- error("couldn't schedule the background sync on this system");
55
- for (const line of formatManualSchedule(result.instructions)) {
56
- console.log(line);
57
- }
58
- await captureEvent(session.handle, 'cli_daily_sync_manual', {
59
- mechanism: result.mechanism,
60
- });
61
- }
62
- /** Tear the schedule down. Deliberately does NOT require a session: a lapsed or
63
- * cleared session is exactly when someone wants the leftover job gone. */
64
- async function dismiss() {
65
- const session = await loadSession();
66
- await uninstallDailySync();
67
- await clearSyncPaused();
68
- success('daemon dismissed — no more background sync');
69
- info(dim('run `hacklab daemon` to summon it again'));
70
- await captureEvent(session?.handle, 'cli_daily_sync_removed');
71
- }
72
- //# sourceMappingURL=daemon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,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;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAiB,EAAE;IAC9C,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;+CAC+C;AAC/C,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,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACzC,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,0EAA0E;QAC1E,0EAA0E;QAC1E,4CAA4C;QAC5C,OAAO,CACL,qBAAqB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,wBAAwB,MAAM,CAAC,SAAS,EAAE,CAC9G,CAAA;QACD,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,gEAAgE,CAAC,CAAC,CAAA;QAC3E,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE;YAC7D,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,8EAA8E;IAC9E,uEAAuE;IACvE,+EAA+E;IAC/E,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAC7D,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IACD,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,4CAA4C,CAAC,CAAA;IACrD,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAA;IACpD,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;AAC/D,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Parse `drop` args: free words become the message, `-u/--url <url>` attaches a
3
- * link. Each command owns its own
4
- * parsing. Exits with a usage error on an unknown flag or an empty message.
5
- */
6
- export declare function parseDropArgs(args: string[]): {
7
- text: string;
8
- url?: string;
9
- json: boolean;
10
- };
11
- export declare function drop(content: string, url?: string, json?: boolean): Promise<void>;
12
- //# sourceMappingURL=drop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../src/commands/drop.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;CACd,CA4BA;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,iBAgFrE"}
@@ -1,103 +0,0 @@
1
- import { emitJsonError } from '../api-client.js';
2
- import { captureEvent } from '../posthog.js';
3
- import { loadSession, resolveAppUrl } from '../session.js';
4
- import { dim, error, info, success } from '../ui.js';
5
- /**
6
- * Parse `drop` args: free words become the message, `-u/--url <url>` attaches a
7
- * link. Each command owns its own
8
- * parsing. Exits with a usage error on an unknown flag or an empty message.
9
- */
10
- export function parseDropArgs(args) {
11
- let url;
12
- let json = false;
13
- const words = [];
14
- for (let i = 0; i < args.length; i++) {
15
- const arg = args[i];
16
- if ((arg === '-u' || arg === '--url') && args[i + 1]) {
17
- url = args[i + 1];
18
- i++;
19
- }
20
- else if (arg === '--json') {
21
- json = true;
22
- }
23
- else if (arg.startsWith('-')) {
24
- console.error(`unknown flag: ${arg}`);
25
- process.exit(1);
26
- }
27
- else {
28
- words.push(arg);
29
- }
30
- }
31
- const text = words.join(' ');
32
- if (!text) {
33
- console.error('usage: hacklab drop your message here');
34
- process.exit(1);
35
- }
36
- return { text, url, json };
37
- }
38
- export async function drop(content, url, json = false) {
39
- const session = await loadSession();
40
- if (!session) {
41
- if (json)
42
- emitJsonError('unauthorized', 'not logged in');
43
- error('not logged in');
44
- info(`run ${dim('hacklab login')} first`);
45
- process.exit(1);
46
- }
47
- if (content.length > 1000) {
48
- if (json)
49
- emitJsonError('invalid_fields', `too long — ${content.length}/1000 chars`);
50
- error(`too long — ${content.length}/1000 chars`);
51
- process.exit(1);
52
- }
53
- let res;
54
- try {
55
- res = await fetch(`${resolveAppUrl(session)}/api/drops`, {
56
- method: 'POST',
57
- headers: {
58
- 'Content-Type': 'application/json',
59
- Authorization: `Bearer ${session.token}`,
60
- },
61
- body: JSON.stringify({ content, url }),
62
- });
63
- }
64
- catch (err) {
65
- const message = err instanceof Error ? err.message : String(err);
66
- if (json)
67
- emitJsonError('network', `couldn't reach hacklab: ${message}`);
68
- error(`couldn't reach hacklab: ${message}`);
69
- process.exit(1);
70
- }
71
- if (!res.ok) {
72
- const data = await res.json().catch(() => null);
73
- if (json)
74
- emitJsonError('request_failed', data?.error ?? `failed (${res.status})`);
75
- error(data?.error ?? `failed (${res.status})`);
76
- process.exit(1);
77
- }
78
- const result = (await res.json().catch(() => null));
79
- if (!result?.id) {
80
- if (json)
81
- emitJsonError('bad_response', 'got a malformed response from hacklab');
82
- error('got a malformed response from hacklab');
83
- process.exit(1);
84
- }
85
- // Only `id` is load-bearing. Older servers respond without path/url —
86
- // during a CLI-publish/deploy skew the drop still succeeded, so degrade
87
- // gracefully instead of reporting a false failure (agents would retry and
88
- // post duplicates).
89
- const dropPath = result.path ?? `/${session.handle}?tab=drops#drop-${result.id}`;
90
- const dropUrl = result.url ?? `${resolveAppUrl(session).replace(/\/$/, '')}${dropPath}`;
91
- if (json) {
92
- console.log(JSON.stringify({ schemaVersion: 1, id: result.id, path: dropPath, url: dropUrl }, null, 2));
93
- }
94
- else {
95
- success('dropped.');
96
- info(dropUrl);
97
- }
98
- await captureEvent(session.handle, 'cli_drop_posted', {
99
- content_length: content.length,
100
- has_url: url !== undefined,
101
- });
102
- }
103
- //# sourceMappingURL=drop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/commands/drop.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * `hacklab drops` — the feed. The profile endpoint returns a recency-capped
3
- * preview, so this prints the latest drops plus the real total and the tab URL
4
- * that has the rest. `--json` is that list with its `total`, which is omitted
5
- * when the server sends no count. Looking up someone else is not this command
6
- * (`hacklab hacker <user>` already includes recent drops).
7
- */
8
- export declare function drops(args: string[]): Promise<void>;
9
- //# sourceMappingURL=drops.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drops.d.ts","sourceRoot":"","sources":["../../src/commands/drops.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGzD"}
@@ -1,96 +0,0 @@
1
- import { apiErrorMessage, emitJsonError, requireSession, } from '../api-client.js';
2
- import { agentProfilePath } from '../dossier.js';
3
- import { resolveAppUrl } from '../session.js';
4
- import { dim, error, link, stripControl } from '../ui.js';
5
- /**
6
- * `hacklab drops` — the feed. The profile endpoint returns a recency-capped
7
- * preview, so this prints the latest drops plus the real total and the tab URL
8
- * that has the rest. `--json` is that list with its `total`, which is omitted
9
- * when the server sends no count. Looking up someone else is not this command
10
- * (`hacklab hacker <user>` already includes recent drops).
11
- */
12
- export async function drops(args) {
13
- const json = args.includes('--json');
14
- for (const arg of args) {
15
- if (arg.startsWith('-') && arg !== '--json') {
16
- if (json)
17
- emitJsonError('unknown_flag', `unknown flag: ${arg}`);
18
- console.error(`unknown flag: ${arg}`);
19
- process.exit(1);
20
- }
21
- }
22
- const session = await requireSession(json);
23
- const handle = session.handle;
24
- if (!handle) {
25
- const message = 'claim a username first with `hacklab login`';
26
- if (json)
27
- emitJsonError('no_handle', message);
28
- error('no drops yet — you have not claimed a username');
29
- process.exit(1);
30
- }
31
- const feedUrl = `${resolveAppUrl(session).replace(/\/$/, '')}/${handle}?tab=drops`;
32
- let res;
33
- try {
34
- res = await fetch(`${resolveAppUrl(session)}${agentProfilePath(handle)}`, {
35
- headers: { Authorization: `Bearer ${session.token}` },
36
- });
37
- }
38
- catch (err) {
39
- const message = err instanceof Error ? err.message : String(err);
40
- if (json)
41
- emitJsonError('network', `couldn't reach hacklab: ${message}`);
42
- error(`couldn't reach hacklab: ${message}`);
43
- process.exit(1);
44
- }
45
- if (!res.ok) {
46
- const failure = (await res.json().catch(() => null));
47
- const message = apiErrorMessage(res.status, failure, session);
48
- if (json)
49
- emitJsonError(failure?.error?.code ?? 'request_failed', message);
50
- error(message);
51
- process.exit(1);
52
- }
53
- const body = (await res.json().catch(() => null));
54
- const items = [];
55
- for (const raw of body?.hacker?.recent?.drops ?? []) {
56
- if (typeof raw?.text === 'string' && typeof raw.createdAt === 'string') {
57
- items.push({ text: raw.text, createdAt: raw.createdAt });
58
- }
59
- }
60
- // `counts` is where pre-v2 backends carry it. With neither, the total is
61
- // unknown — the preview length is not it, so say nothing rather than pass a
62
- // capped number off as the feed size.
63
- const counted = body?.hacker?.stats?.drops ?? body?.hacker?.counts?.drops;
64
- const total = typeof counted === 'number' ? Math.max(counted, items.length) : undefined;
65
- if (json) {
66
- console.log(JSON.stringify({
67
- schemaVersion: 1,
68
- drops: items,
69
- ...(total !== undefined ? { total } : {}),
70
- url: feedUrl,
71
- }, null, 2));
72
- return;
73
- }
74
- if (items.length === 0) {
75
- console.log('nothing yet');
76
- console.log('');
77
- console.log(link(feedUrl));
78
- return;
79
- }
80
- if (total !== undefined)
81
- console.log(`${dim('drops')} ${total}`);
82
- for (const item of items) {
83
- console.log(`${dim(item.createdAt.slice(0, 10))} ${stripControl(item.text)}`);
84
- }
85
- console.log('');
86
- if (total === undefined) {
87
- console.log(`${dim('full list at')} ${link(feedUrl)}`);
88
- }
89
- else if (items.length < total) {
90
- console.log(`${dim(`showing latest ${items.length} of ${total} — full list at`)} ${link(feedUrl)}`);
91
- }
92
- else {
93
- console.log(link(feedUrl));
94
- }
95
- }
96
- //# sourceMappingURL=drops.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drops.js","sourceRoot":"","sources":["../../src/commands/drops.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { type Session } from '../session.js';
2
- export type EssayViewTarget = {
3
- kind: 'one';
4
- id: string;
5
- } | {
6
- kind: 'not-an-id';
7
- token: string;
8
- } | {
9
- kind: 'missing';
10
- };
11
- /**
12
- * `view` takes an essay id only. Anything that can't be an id prefix is a
13
- * usage error pointing at `essay list <handle>` — a handle and a short hex id
14
- * are indistinguishable, so guessing between them silently reads the wrong
15
- * thing.
16
- */
17
- export declare function parseViewTarget(token: string | undefined): EssayViewTarget;
18
- /**
19
- * The `essay list` target grammar, decided by argument count so a user
20
- * literally named "org" still works as the bare one-arg form:
21
- * (none) → your essays
22
- * <handle> → that user's essays
23
- * org <slug> → that org's essays
24
- * org/<slug> → same, mirroring the web URL /org/<slug>
25
- */
26
- export declare function parseListTarget(positionals: string[]): {
27
- kind: 'self';
28
- } | {
29
- kind: 'user';
30
- handle: string;
31
- } | {
32
- kind: 'org';
33
- slug: string;
34
- } | {
35
- kind: 'invalid';
36
- };
37
- export declare function readError(res: Response, session?: Session | null): Promise<string>;
38
- export declare function formatEssayDate(iso: string): string;
39
- export declare function essay(args: string[]): Promise<void>;
40
- //# sourceMappingURL=essay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"essay.d.ts","sourceRoot":"","sources":["../../src/commands/essay.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,eAAe,CAAA;AAgDtB,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAQ1E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EAAE,GAEnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CActB;AA2ED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAiBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD;AA+fD,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BzD"}