hacklab 0.22.2 → 26.921.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 -32
  229. package/dist/share-card.d.ts.map +0 -1
  230. package/dist/share-card.js +0 -420
  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 -77
  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":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function project(args: string[]): Promise<void>;
2
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAynBA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3D"}
@@ -1,583 +0,0 @@
1
- import * as clack from '@clack/prompts';
2
- import { apiErrorMessage, emitJsonError, requireSession, } from '../api-client.js';
3
- import { captureEvent } from '../posthog.js';
4
- import { isGithubRepoUrl, normalizeRepoUrl, probeRepoPrivate, slugFromName, } from '../project-fields.js';
5
- import { resolveCommand } from '../resolve-command.js';
6
- import { resolveAppUrl } from '../session.js';
7
- import { fetchApi } from '../sync.js';
8
- import { bold, dim, error, info, link, stripControl, success } from '../ui.js';
9
- // `hacklab project` — agent help on the bare command; `add` publishes a
10
- // project from flags the agent already has (no cwd, no git, no files).
11
- // `list`/`view`/`edit`/`delete` work on your own projects. Re-running `add`
12
- // with the same title refreshes the same slug.
13
- const SUBCOMMANDS = ['add', 'list', 'view', 'edit', 'delete'];
14
- const PROJECTS_PATH = '/api/projects';
15
- function printJson(data) {
16
- console.log(JSON.stringify(data, null, 2));
17
- }
18
- function printHelp() {
19
- console.log(`hacklab project add --title <t> [--repo <url>] [--url <url>] [--desc <d>] [--json]`);
20
- console.log(dim(' publish one; same title again updates'));
21
- console.log(dim(' --repo is the source, --url the live site; one is enough'));
22
- console.log(dim(' --private/--public override the repo visibility probe'));
23
- console.log('');
24
- console.log(`hacklab project list [--json]`);
25
- console.log(dim(' your projects'));
26
- console.log(`hacklab project view <slug> [--json]`);
27
- console.log(dim(' one of yours, full page'));
28
- console.log('');
29
- console.log(`hacklab project edit <slug> [--title <t>] [--desc <d>] [--repo <url>] [--url <url>] [--yes] [--json]`);
30
- console.log(dim(' change fields, keep the slug; --private/--public too'));
31
- console.log(dim(' --yes to edit a github-synced project (ends the sync)'));
32
- console.log(`hacklab project delete <slug> [--yes] [--json]`);
33
- console.log(dim(' yours only; --yes skips the confirm'));
34
- }
35
- function usage(exitCode = 1) {
36
- printHelp();
37
- process.exit(exitCode);
38
- }
39
- function flagValue(args, ...names) {
40
- for (const name of names) {
41
- const i = args.indexOf(name);
42
- if (i !== -1 && args[i + 1])
43
- return args[i + 1];
44
- const eq = args.find((a) => a.startsWith(`${name}=`));
45
- if (eq)
46
- return eq.slice(name.length + 1);
47
- }
48
- return undefined;
49
- }
50
- // Flags that take a following value. Every arg-walker has to skip that value,
51
- // or a legitimate `--title "-30 days"` reads as a flag of its own.
52
- const VALUE_FLAGS = new Set([
53
- '--title',
54
- '--repo',
55
- '--url',
56
- '--desc',
57
- '--description',
58
- ]);
59
- const ADD_FLAGS = new Set([...VALUE_FLAGS, '--private', '--public', '--json']);
60
- const EDIT_FLAGS = new Set([...ADD_FLAGS, '--yes', '-y']);
61
- function unknownFlag(args, allowed, valueFlags) {
62
- for (let i = 0; i < args.length; i++) {
63
- const arg = args[i];
64
- if (!arg)
65
- continue;
66
- if (valueFlags.has(arg)) {
67
- i++;
68
- continue;
69
- }
70
- if (!arg.startsWith('-'))
71
- continue;
72
- const name = arg.split('=')[0];
73
- if (!name)
74
- continue;
75
- if (!allowed.has(name))
76
- return name;
77
- }
78
- return undefined;
79
- }
80
- /** The single non-flag argument, skipping the values that belong to a flag. */
81
- function positional(args, valueFlags) {
82
- const found = [];
83
- for (let i = 0; i < args.length; i++) {
84
- const arg = args[i];
85
- if (!arg || arg === '--json')
86
- continue;
87
- if (valueFlags.has(arg)) {
88
- i++;
89
- continue;
90
- }
91
- if ([...valueFlags].some((name) => arg.startsWith(`${name}=`)))
92
- continue;
93
- if (arg.startsWith('-'))
94
- continue;
95
- found.push(arg);
96
- }
97
- return found.length === 1 ? found[0] : undefined;
98
- }
99
- function parseHttpUrl(value) {
100
- try {
101
- const url = new URL(value);
102
- if (url.protocol !== 'http:' && url.protocol !== 'https:')
103
- return null;
104
- return value.trim();
105
- }
106
- catch {
107
- return null;
108
- }
109
- }
110
- async function readError(res, session) {
111
- const body = (await res.json().catch(() => null));
112
- const message = typeof body?.error === 'string' ? body.error : body?.error?.message;
113
- return apiErrorMessage(res.status, { error: { message } }, session);
114
- }
115
- function summarize(value, max = 72) {
116
- if (!value)
117
- return '';
118
- const oneLine = value.replace(/\s+/g, ' ').trim();
119
- return oneLine.length > max ? `${oneLine.slice(0, max - 1)}…` : oneLine;
120
- }
121
- async function fetchOwnProjects(session) {
122
- const res = await fetchApi(session, PROJECTS_PATH, {
123
- headers: { Authorization: `Bearer ${session.token}` },
124
- });
125
- if (!res.ok)
126
- throw new Error(await readError(res, session));
127
- const data = (await res.json().catch(() => null));
128
- if (!data?.projects)
129
- throw new Error('got a malformed response from hacklab');
130
- return data;
131
- }
132
- /** Fetch your projects or exit with the mode-appropriate error. */
133
- async function ownProjectsOrExit(session, json) {
134
- try {
135
- return await fetchOwnProjects(session);
136
- }
137
- catch (err) {
138
- const message = err instanceof Error ? err.message : String(err);
139
- if (json)
140
- emitJsonError('error', message);
141
- error(message);
142
- process.exit(1);
143
- }
144
- }
145
- /** Nearest slug for a "did you mean" hint: prefix/substring match, else null. */
146
- function nearestSlug(projects, slug) {
147
- const q = slug.toLowerCase();
148
- const hit = projects.find((p) => p.slug.startsWith(q)) ??
149
- projects.find((p) => p.slug.includes(q));
150
- return hit?.slug ?? null;
151
- }
152
- /**
153
- * An explicit `--private`/`--public`, or undefined to fall back to the probe.
154
- * A private repo's link 404s for visitors and it's absent from the public
155
- * pinned-repo snapshot, so the web hides its repo link, button, and stats.
156
- */
157
- function explicitPrivacy(args) {
158
- if (args.includes('--private'))
159
- return true;
160
- if (args.includes('--public'))
161
- return false;
162
- return undefined;
163
- }
164
- /**
165
- * Split the two link flags. `--repo` takes any git host; `--url` is the live
166
- * site, except that a github.com `--url` with no `--repo` routes to the repo —
167
- * the one flag a "just give it a URL" project needs.
168
- */
169
- function resolveLinks(args, json) {
170
- const repoFlag = flagValue(args, '--repo');
171
- const urlFlag = flagValue(args, '--url');
172
- const urlIsRepo = repoFlag === undefined && urlFlag !== undefined && isGithubRepoUrl(urlFlag);
173
- const rawRepo = repoFlag ?? (urlIsRepo ? urlFlag : undefined);
174
- let repoUrl = null;
175
- if (rawRepo !== undefined) {
176
- const repo = normalizeRepoUrl(rawRepo);
177
- if (!repo) {
178
- const message = `${repoFlag !== undefined ? '--repo' : '--url'} is not a valid git URL`;
179
- if (json)
180
- emitJsonError('invalid_fields', message);
181
- error(message);
182
- process.exit(1);
183
- }
184
- repoUrl = repo.url;
185
- }
186
- let liveUrl = null;
187
- if (urlFlag !== undefined && !urlIsRepo) {
188
- liveUrl = parseHttpUrl(urlFlag);
189
- if (!liveUrl) {
190
- const message = '--url must be an http(s) URL';
191
- if (json)
192
- emitJsonError('invalid_fields', message);
193
- error(message);
194
- process.exit(1);
195
- }
196
- }
197
- return { repoUrl, liveUrl, touchedRepo: rawRepo !== undefined };
198
- }
199
- async function projectAdd(args) {
200
- const json = args.includes('--json');
201
- const unknown = unknownFlag(args, ADD_FLAGS, VALUE_FLAGS);
202
- if (unknown) {
203
- if (json)
204
- emitJsonError('invalid_fields', `unknown flag: ${unknown}`);
205
- error(`unknown flag: ${unknown}`);
206
- process.exit(1);
207
- }
208
- const title = flagValue(args, '--title');
209
- const description = flagValue(args, '--description', '--desc');
210
- if (!title) {
211
- const message = 'a project needs a title: --title "My Project"';
212
- if (json)
213
- emitJsonError('missing_title', message);
214
- error(message);
215
- process.exit(1);
216
- }
217
- if (!flagValue(args, '--repo') && !flagValue(args, '--url')) {
218
- const message = 'a project needs a link: --repo <git url> or --url https://…';
219
- if (json)
220
- emitJsonError('missing_url', message);
221
- error(message);
222
- process.exit(1);
223
- }
224
- const links = resolveLinks(args, json);
225
- const slug = slugFromName(title);
226
- const session = await requireSession(json);
227
- const existing = (await ownProjectsOrExit(session, json)).projects.find((p) => p.slug === slug);
228
- const repoUrl = links.repoUrl ?? existing?.repoUrl ?? null;
229
- const liveUrl = links.liveUrl ?? existing?.liveUrl ?? null;
230
- const isPrivate = explicitPrivacy(args) ?? (await probeRepoPrivate(repoUrl));
231
- const payload = {
232
- title,
233
- slug,
234
- description: description ?? existing?.description ?? undefined,
235
- tags: existing?.tags ?? [],
236
- repoUrl: repoUrl ?? undefined,
237
- liveUrl: liveUrl ?? undefined,
238
- private: isPrivate,
239
- screenshots: existing?.screenshots ?? [],
240
- content: existing?.content ?? undefined,
241
- sourceYaml: existing?.sourceYaml ?? undefined,
242
- publishedAt: existing?.publishedAt ?? new Date().toISOString(),
243
- };
244
- let res;
245
- try {
246
- res = await fetchApi(session, PROJECTS_PATH, {
247
- method: 'POST',
248
- headers: {
249
- 'Content-Type': 'application/json',
250
- Authorization: `Bearer ${session.token}`,
251
- },
252
- body: JSON.stringify(payload),
253
- });
254
- }
255
- catch (err) {
256
- const message = err instanceof Error ? err.message : String(err);
257
- if (json)
258
- emitJsonError('network', message);
259
- error(message);
260
- process.exit(1);
261
- }
262
- if (!res.ok) {
263
- const message = await readError(res, session);
264
- if (json)
265
- emitJsonError('error', message);
266
- error(message);
267
- process.exit(1);
268
- }
269
- await captureEvent(session.handle, 'cli_project_added', {
270
- slug,
271
- refreshed: Boolean(existing),
272
- has_repo: Boolean(repoUrl),
273
- has_live_url: Boolean(liveUrl),
274
- private: isPrivate,
275
- });
276
- const path = `/${session.handle}/${slug}`;
277
- if (json) {
278
- printJson({
279
- schemaVersion: 1,
280
- [existing ? 'refreshed' : 'published']: true,
281
- slug,
282
- path,
283
- });
284
- return;
285
- }
286
- success(`${existing ? 'refreshed' : 'published'} ${bold(title)}`);
287
- info(link(`${resolveAppUrl(session)}${path}`));
288
- }
289
- function renderList(handle, projects, appUrl) {
290
- if (projects.length === 0) {
291
- info('no projects yet');
292
- info(`run ${dim('hacklab project add --title "…" --repo <url>')} to publish one`);
293
- return;
294
- }
295
- const width = Math.max(...projects.map((p) => p.slug.length));
296
- for (const p of projects) {
297
- const desc = summarize(p.description, 56);
298
- console.log(` ${bold(stripControl(p.slug).padEnd(width))}${desc ? ` ${stripControl(desc)}` : ''}`);
299
- }
300
- console.log('');
301
- info(link(`${appUrl}/${handle}`));
302
- }
303
- function renderProject(project, appUrl) {
304
- console.log(` ${bold(stripControl(project.title))}`);
305
- if (project.description)
306
- console.log(` ${stripControl(project.description)}`);
307
- if (project.liveUrl)
308
- console.log(` ${link(project.liveUrl)}`);
309
- else if (project.repoUrl)
310
- console.log(` ${link(project.repoUrl)}`);
311
- if (project.content) {
312
- console.log('');
313
- console.log(stripControl(project.content).trimEnd());
314
- }
315
- console.log('');
316
- info(link(`${appUrl}${project.path}`));
317
- }
318
- async function projectList(args) {
319
- const json = args.includes('--json');
320
- const unknown = unknownFlag(args, new Set(['--json']), new Set());
321
- if (unknown) {
322
- if (json)
323
- emitJsonError('invalid_fields', `unknown flag: ${unknown}`);
324
- error(`unknown flag: ${unknown}`);
325
- process.exit(1);
326
- }
327
- const session = await requireSession(json);
328
- const list = await ownProjectsOrExit(session, json);
329
- if (json) {
330
- printJson({ schemaVersion: 1, ...list });
331
- return;
332
- }
333
- renderList(list.handle, list.projects, resolveAppUrl(session));
334
- }
335
- async function projectView(args) {
336
- const json = args.includes('--json');
337
- const slug = positional(args, VALUE_FLAGS);
338
- if (!slug || slug.includes('/')) {
339
- const message = 'usage: hacklab project view <slug> (one of your own)';
340
- if (json)
341
- emitJsonError('usage', message);
342
- error(message);
343
- process.exit(1);
344
- }
345
- const session = await requireSession(json);
346
- const list = await ownProjectsOrExit(session, json);
347
- const found = list.projects.find((p) => p.slug === slug);
348
- if (!found) {
349
- const message = `no project named "${slug}"`;
350
- if (json)
351
- emitJsonError('not_found', message);
352
- error(message);
353
- const near = nearestSlug(list.projects, slug);
354
- if (near)
355
- info(`did you mean ${dim(`hacklab project view ${near}`)}?`);
356
- process.exit(1);
357
- }
358
- if (json) {
359
- printJson({ schemaVersion: 1, project: found });
360
- return;
361
- }
362
- renderProject(found, resolveAppUrl(session));
363
- }
364
- async function projectEdit(args) {
365
- const json = args.includes('--json');
366
- const unknown = unknownFlag(args, EDIT_FLAGS, VALUE_FLAGS);
367
- if (unknown) {
368
- if (json)
369
- emitJsonError('invalid_fields', `unknown flag: ${unknown}`);
370
- error(`unknown flag: ${unknown}`);
371
- process.exit(1);
372
- }
373
- const yes = args.includes('--yes') || args.includes('-y');
374
- const slug = positional(args, VALUE_FLAGS);
375
- if (!slug) {
376
- const message = 'usage: hacklab project edit <slug> [--title …]';
377
- if (json)
378
- emitJsonError('usage', message);
379
- error(message);
380
- process.exit(1);
381
- }
382
- const titleFlag = flagValue(args, '--title');
383
- const descFlag = flagValue(args, '--description', '--desc');
384
- const repoFlag = flagValue(args, '--repo');
385
- const urlFlag = flagValue(args, '--url');
386
- const explicit = explicitPrivacy(args);
387
- if ([titleFlag, descFlag, repoFlag, urlFlag].every((v) => v === undefined) &&
388
- explicit === undefined) {
389
- const message = 'nothing to edit — pass --title, --desc, --repo, --url, --private or --public';
390
- if (json)
391
- emitJsonError('no_change', message);
392
- error(message);
393
- process.exit(1);
394
- }
395
- const links = resolveLinks(args, json);
396
- const session = await requireSession(json);
397
- const list = await ownProjectsOrExit(session, json);
398
- const existing = list.projects.find((p) => p.slug === slug);
399
- if (!existing) {
400
- const message = `no project named "${slug}"`;
401
- if (json)
402
- emitJsonError('not_found', message);
403
- error(message);
404
- const near = nearestSlug(list.projects, slug);
405
- if (near)
406
- info(`did you mean ${dim(`hacklab project edit ${near}`)}?`);
407
- process.exit(1);
408
- }
409
- // The POST route relabels an edited project `cli`, so editing one that
410
- // GitHub syncs silently ends that sync. Make the trade explicit.
411
- if (existing.source === 'github' && !yes) {
412
- const message = `${slug} is synced from GitHub — re-run with --yes to edit it anyway`;
413
- if (json)
414
- emitJsonError('synced', message);
415
- error(message);
416
- process.exit(1);
417
- }
418
- // Only the passed fields change; everything else round-trips unchanged, so
419
- // editing one field never wipes the rest.
420
- const repoUrl = links.touchedRepo ? links.repoUrl : existing.repoUrl;
421
- const liveUrl = links.liveUrl ?? existing.liveUrl;
422
- // Re-probe only when the repo URL itself moved; otherwise the stored
423
- // visibility stands.
424
- let isPrivate = existing.private ?? false;
425
- if (explicit !== undefined)
426
- isPrivate = explicit;
427
- else if (links.touchedRepo)
428
- isPrivate = await probeRepoPrivate(repoUrl);
429
- const payload = {
430
- title: titleFlag ?? existing.title,
431
- slug: existing.slug,
432
- description: descFlag !== undefined ? descFlag : (existing.description ?? undefined),
433
- tags: existing.tags,
434
- repoUrl: repoUrl ?? undefined,
435
- liveUrl: liveUrl ?? undefined,
436
- private: isPrivate,
437
- screenshots: existing.screenshots ?? [],
438
- content: existing.content ?? undefined,
439
- sourceYaml: existing.sourceYaml ?? undefined,
440
- publishedAt: existing.publishedAt ?? new Date().toISOString(),
441
- };
442
- let res;
443
- try {
444
- res = await fetchApi(session, PROJECTS_PATH, {
445
- method: 'POST',
446
- headers: {
447
- 'Content-Type': 'application/json',
448
- Authorization: `Bearer ${session.token}`,
449
- },
450
- body: JSON.stringify(payload),
451
- });
452
- }
453
- catch (err) {
454
- const message = err instanceof Error ? err.message : String(err);
455
- if (json)
456
- emitJsonError('network', message);
457
- error(message);
458
- process.exit(1);
459
- }
460
- if (!res.ok) {
461
- const message = await readError(res, session);
462
- if (json)
463
- emitJsonError('error', message);
464
- error(message);
465
- process.exit(1);
466
- }
467
- await captureEvent(session.handle, 'cli_project_edited', {
468
- slug,
469
- changed_title: titleFlag !== undefined,
470
- changed_repo: links.touchedRepo,
471
- private: isPrivate,
472
- });
473
- if (json) {
474
- printJson({ schemaVersion: 1, edited: true, slug, path: existing.path });
475
- return;
476
- }
477
- success(`edited ${bold(stripControl(payload.title))}`);
478
- info(link(`${resolveAppUrl(session)}${existing.path}`));
479
- }
480
- async function projectDelete(args) {
481
- const json = args.includes('--json');
482
- const yes = args.includes('--yes') || args.includes('-y');
483
- const slug = args.find((a) => !a.startsWith('-'));
484
- if (!slug) {
485
- const message = 'usage: hacklab project delete <slug> [--yes]';
486
- if (json)
487
- emitJsonError('usage', message);
488
- error(message);
489
- process.exit(1);
490
- }
491
- const session = await requireSession(json);
492
- // Deletion is irreversible and `project d <slug>` resolves here by prefix, so
493
- // a typo must not be enough on its own.
494
- if (!yes) {
495
- if (json || !process.stdin.isTTY) {
496
- const message = 'refusing to delete without confirmation — pass --yes';
497
- if (json)
498
- emitJsonError('confirm', message);
499
- error(message);
500
- process.exit(1);
501
- }
502
- const ok = await clack.confirm({
503
- message: `delete ${bold(slug)} from your profile? this cannot be undone.`,
504
- initialValue: false,
505
- });
506
- if (clack.isCancel(ok) || !ok) {
507
- info('kept.');
508
- return;
509
- }
510
- }
511
- let res;
512
- try {
513
- res = await fetchApi(session, `${PROJECTS_PATH}/${encodeURIComponent(slug)}`, {
514
- method: 'DELETE',
515
- headers: { Authorization: `Bearer ${session.token}` },
516
- });
517
- }
518
- catch (err) {
519
- const message = err instanceof Error ? err.message : String(err);
520
- if (json)
521
- emitJsonError('network', message);
522
- error(message);
523
- process.exit(1);
524
- }
525
- if (!res.ok) {
526
- if (res.status === 404) {
527
- const message = `no project named "${slug}"`;
528
- if (json)
529
- emitJsonError('not_found', message);
530
- error(message);
531
- process.exit(1);
532
- }
533
- const message = await readError(res, session);
534
- if (json)
535
- emitJsonError('error', message);
536
- error(message);
537
- process.exit(1);
538
- }
539
- const data = (await res.json().catch(() => null));
540
- await captureEvent(session.handle, 'cli_project_deleted', {
541
- slug,
542
- source: data?.deleted?.source,
543
- });
544
- if (json) {
545
- printJson({ schemaVersion: 1, deleted: true, slug });
546
- return;
547
- }
548
- success(`deleted ${bold(slug)}`);
549
- if (data?.deleted?.source === 'github') {
550
- info(`it's synced from a pinned GitHub repo — unpin it or the next ${dim('hacklab sync')} brings it back`);
551
- }
552
- }
553
- export async function project(args) {
554
- const [subToken, ...rest] = args;
555
- if (!subToken ||
556
- subToken === '--help' ||
557
- subToken === '-h' ||
558
- subToken === 'help') {
559
- usage(0);
560
- }
561
- if (subToken.startsWith('-'))
562
- usage();
563
- const resolved = resolveCommand(subToken, SUBCOMMANDS);
564
- if (resolved.kind === 'ambiguous') {
565
- error(`ambiguous: project ${subToken} (${resolved.matches.join(', ')})`);
566
- process.exit(1);
567
- }
568
- if (resolved.kind === 'unknown') {
569
- error(`unknown subcommand: project ${subToken}`);
570
- usage();
571
- }
572
- if (resolved.name === 'add')
573
- return projectAdd(rest);
574
- if (resolved.name === 'list')
575
- return projectList(rest);
576
- if (resolved.name === 'view')
577
- return projectView(rest);
578
- if (resolved.name === 'edit')
579
- return projectEdit(rest);
580
- if (resolved.name === 'delete')
581
- return projectDelete(rest);
582
- }
583
- //# sourceMappingURL=project.js.map