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.
- package/README.md +23 -430
- package/dist/index.js +132 -23
- package/package.json +20 -42
- package/LICENSE +0 -21
- package/dist/agent-handoff.d.ts +0 -51
- package/dist/agent-handoff.d.ts.map +0 -1
- package/dist/agent-handoff.js +0 -91
- package/dist/agent-handoff.js.map +0 -1
- package/dist/api-client.d.ts +0 -18
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -40
- package/dist/api-client.js.map +0 -1
- package/dist/belt.d.ts +0 -25
- package/dist/belt.d.ts.map +0 -1
- package/dist/belt.js +0 -113
- package/dist/belt.js.map +0 -1
- package/dist/card.d.ts +0 -66
- package/dist/card.d.ts.map +0 -1
- package/dist/card.js +0 -151
- package/dist/card.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -238
- package/dist/cli.js.map +0 -1
- package/dist/commands/book.d.ts +0 -14
- package/dist/commands/book.d.ts.map +0 -1
- package/dist/commands/book.js +0 -90
- package/dist/commands/book.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -36
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -642
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/config.d.ts +0 -2
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -84
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/daemon.d.ts +0 -19
- package/dist/commands/daemon.d.ts.map +0 -1
- package/dist/commands/daemon.js +0 -72
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/drop.d.ts +0 -12
- package/dist/commands/drop.d.ts.map +0 -1
- package/dist/commands/drop.js +0 -103
- package/dist/commands/drop.js.map +0 -1
- package/dist/commands/drops.d.ts +0 -9
- package/dist/commands/drops.d.ts.map +0 -1
- package/dist/commands/drops.js +0 -96
- package/dist/commands/drops.js.map +0 -1
- package/dist/commands/essay.d.ts +0 -40
- package/dist/commands/essay.d.ts.map +0 -1
- package/dist/commands/essay.js +0 -651
- package/dist/commands/essay.js.map +0 -1
- package/dist/commands/hackathon.d.ts +0 -2
- package/dist/commands/hackathon.d.ts.map +0 -1
- package/dist/commands/hackathon.js +0 -893
- package/dist/commands/hackathon.js.map +0 -1
- package/dist/commands/hacker.d.ts +0 -2
- package/dist/commands/hacker.d.ts.map +0 -1
- package/dist/commands/hacker.js +0 -87
- package/dist/commands/hacker.js.map +0 -1
- package/dist/commands/jobs.d.ts +0 -18
- package/dist/commands/jobs.d.ts.map +0 -1
- package/dist/commands/jobs.js +0 -138
- package/dist/commands/jobs.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -2
- package/dist/commands/keys.d.ts.map +0 -1
- package/dist/commands/keys.js +0 -138
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/login.d.ts +0 -83
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -236
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -2
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -22
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/org-jobs.d.ts +0 -50
- package/dist/commands/org-jobs.d.ts.map +0 -1
- package/dist/commands/org-jobs.js +0 -383
- package/dist/commands/org-jobs.js.map +0 -1
- package/dist/commands/org.d.ts +0 -67
- package/dist/commands/org.d.ts.map +0 -1
- package/dist/commands/org.js +0 -1244
- package/dist/commands/org.js.map +0 -1
- package/dist/commands/ping.d.ts +0 -2
- package/dist/commands/ping.d.ts.map +0 -1
- package/dist/commands/ping.js +0 -50
- package/dist/commands/ping.js.map +0 -1
- package/dist/commands/profile.d.ts +0 -72
- package/dist/commands/profile.d.ts.map +0 -1
- package/dist/commands/profile.js +0 -672
- package/dist/commands/profile.js.map +0 -1
- package/dist/commands/project.d.ts +0 -2
- package/dist/commands/project.d.ts.map +0 -1
- package/dist/commands/project.js +0 -583
- package/dist/commands/project.js.map +0 -1
- package/dist/commands/referral.d.ts +0 -6
- package/dist/commands/referral.d.ts.map +0 -1
- package/dist/commands/referral.js +0 -93
- package/dist/commands/referral.js.map +0 -1
- package/dist/commands/rtfm.d.ts +0 -9
- package/dist/commands/rtfm.d.ts.map +0 -1
- package/dist/commands/rtfm.js +0 -114
- package/dist/commands/rtfm.js.map +0 -1
- package/dist/commands/scan.d.ts +0 -13
- package/dist/commands/scan.d.ts.map +0 -1
- package/dist/commands/scan.js +0 -286
- package/dist/commands/scan.js.map +0 -1
- package/dist/commands/scout.d.ts +0 -18
- package/dist/commands/scout.d.ts.map +0 -1
- package/dist/commands/scout.js +0 -232
- package/dist/commands/scout.js.map +0 -1
- package/dist/commands/setup-rail.d.ts +0 -58
- package/dist/commands/setup-rail.d.ts.map +0 -1
- package/dist/commands/setup-rail.js +0 -135
- package/dist/commands/setup-rail.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -29
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -442
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -9
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -345
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/update.d.ts +0 -2
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -92
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -41
- package/dist/commands/whoami.js.map +0 -1
- package/dist/config.d.ts +0 -78
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -93
- package/dist/config.js.map +0 -1
- package/dist/daily-sync.d.ts +0 -150
- package/dist/daily-sync.d.ts.map +0 -1
- package/dist/daily-sync.js +0 -665
- package/dist/daily-sync.js.map +0 -1
- package/dist/dossier.d.ts +0 -73
- package/dist/dossier.d.ts.map +0 -1
- package/dist/dossier.js +0 -141
- package/dist/dossier.js.map +0 -1
- package/dist/field-normalize.d.ts +0 -4
- package/dist/field-normalize.d.ts.map +0 -1
- package/dist/field-normalize.js +0 -8
- package/dist/field-normalize.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/job-fields.d.ts +0 -47
- package/dist/job-fields.d.ts.map +0 -1
- package/dist/job-fields.js +0 -148
- package/dist/job-fields.js.map +0 -1
- package/dist/machine.d.ts +0 -15
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js +0 -64
- package/dist/machine.js.map +0 -1
- package/dist/org-fields.d.ts +0 -57
- package/dist/org-fields.d.ts.map +0 -1
- package/dist/org-fields.js +0 -167
- package/dist/org-fields.js.map +0 -1
- package/dist/posthog.d.ts +0 -38
- package/dist/posthog.d.ts.map +0 -1
- package/dist/posthog.js +0 -224
- package/dist/posthog.js.map +0 -1
- package/dist/project-fields.d.ts +0 -40
- package/dist/project-fields.d.ts.map +0 -1
- package/dist/project-fields.js +0 -79
- package/dist/project-fields.js.map +0 -1
- package/dist/prompt-consent.d.ts +0 -73
- package/dist/prompt-consent.d.ts.map +0 -1
- package/dist/prompt-consent.js +0 -191
- package/dist/prompt-consent.js.map +0 -1
- package/dist/prompt-stats.d.ts +0 -226
- package/dist/prompt-stats.d.ts.map +0 -1
- package/dist/prompt-stats.js +0 -561
- package/dist/prompt-stats.js.map +0 -1
- package/dist/referral.d.ts +0 -14
- package/dist/referral.d.ts.map +0 -1
- package/dist/referral.js +0 -28
- package/dist/referral.js.map +0 -1
- package/dist/registry.d.ts +0 -15
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -180
- package/dist/registry.js.map +0 -1
- package/dist/resolve-command.d.ts +0 -20
- package/dist/resolve-command.d.ts.map +0 -1
- package/dist/resolve-command.js +0 -21
- package/dist/resolve-command.js.map +0 -1
- package/dist/scanners/antigravity.d.ts +0 -41
- package/dist/scanners/antigravity.d.ts.map +0 -1
- package/dist/scanners/antigravity.js +0 -210
- package/dist/scanners/antigravity.js.map +0 -1
- package/dist/scanners/github-copilot-telemetry.d.ts +0 -23
- package/dist/scanners/github-copilot-telemetry.d.ts.map +0 -1
- package/dist/scanners/github-copilot-telemetry.js +0 -220
- package/dist/scanners/github-copilot-telemetry.js.map +0 -1
- package/dist/scanners/github-copilot.d.ts +0 -68
- package/dist/scanners/github-copilot.d.ts.map +0 -1
- package/dist/scanners/github-copilot.js +0 -262
- package/dist/scanners/github-copilot.js.map +0 -1
- package/dist/scanners/incremental.d.ts +0 -282
- package/dist/scanners/incremental.d.ts.map +0 -1
- package/dist/scanners/incremental.js +0 -788
- package/dist/scanners/incremental.js.map +0 -1
- package/dist/scanners/index.d.ts +0 -116
- package/dist/scanners/index.d.ts.map +0 -1
- package/dist/scanners/index.js +0 -726
- package/dist/scanners/index.js.map +0 -1
- package/dist/scanners/sqlite.d.ts +0 -18
- package/dist/scanners/sqlite.d.ts.map +0 -1
- package/dist/scanners/sqlite.js +0 -63
- package/dist/scanners/sqlite.js.map +0 -1
- package/dist/scanners/util.d.ts +0 -112
- package/dist/scanners/util.d.ts.map +0 -1
- package/dist/scanners/util.js +0 -167
- package/dist/scanners/util.js.map +0 -1
- package/dist/session.d.ts +0 -106
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -191
- package/dist/session.js.map +0 -1
- package/dist/share-card-colors.d.ts +0 -19
- package/dist/share-card-colors.d.ts.map +0 -1
- package/dist/share-card-colors.js +0 -36
- package/dist/share-card-colors.js.map +0 -1
- package/dist/share-card.d.ts +0 -31
- package/dist/share-card.d.ts.map +0 -1
- package/dist/share-card.js +0 -380
- package/dist/share-card.js.map +0 -1
- package/dist/share.d.ts +0 -17
- package/dist/share.d.ts.map +0 -1
- package/dist/share.js +0 -75
- package/dist/share.js.map +0 -1
- package/dist/sync.d.ts +0 -100
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js +0 -304
- package/dist/sync.js.map +0 -1
- package/dist/ui.d.ts +0 -33
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -127
- package/dist/ui.js.map +0 -1
- package/dist/utils/npmGlobal.d.ts +0 -30
- package/dist/utils/npmGlobal.d.ts.map +0 -1
- package/dist/utils/npmGlobal.js +0 -69
- package/dist/utils/npmGlobal.js.map +0 -1
- package/dist/utils/openBrowser.d.ts +0 -14
- package/dist/utils/openBrowser.d.ts.map +0 -1
- package/dist/utils/openBrowser.js +0 -47
- package/dist/utils/openBrowser.js.map +0 -1
- package/dist/utils/updateCheck.d.ts +0 -16
- package/dist/utils/updateCheck.d.ts.map +0 -1
- package/dist/utils/updateCheck.js +0 -111
- package/dist/utils/updateCheck.js.map +0 -1
- package/dist/utils/waitForEnter.d.ts +0 -12
- package/dist/utils/waitForEnter.d.ts.map +0 -1
- package/dist/utils/waitForEnter.js +0 -43
- package/dist/utils/waitForEnter.js.map +0 -1
package/dist/commands/login.js
DELETED
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import { clearSyncPaused } from '../daily-sync.js';
|
|
2
|
-
import { captureEvent, identifyUser } from '../posthog.js';
|
|
3
|
-
import { getAppUrl, resolveAppUrl, saveSession, } from '../session.js';
|
|
4
|
-
import { bold, dim, link } from '../ui.js';
|
|
5
|
-
import { openBrowser } from '../utils/openBrowser.js';
|
|
6
|
-
import { waitForEnter } from '../utils/waitForEnter.js';
|
|
7
|
-
/** DESIGN.md's reference block: dim label, bold code, blank beat, URL. */
|
|
8
|
-
const plainDeviceCode = {
|
|
9
|
-
show({ userCode, verificationUri }) {
|
|
10
|
-
console.log(dim('copy code'));
|
|
11
|
-
console.log(bold(userCode));
|
|
12
|
-
console.log('');
|
|
13
|
-
console.log(link(verificationUri));
|
|
14
|
-
return '(press enter) ';
|
|
15
|
-
},
|
|
16
|
-
done() {
|
|
17
|
-
// Nothing to undo: the block is meant to stay on screen.
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Authenticate via hacklab's device flow and persist the session. The hacker
|
|
22
|
-
* approves the code in a browser on hacklab.so, signing up on the spot if they
|
|
23
|
-
* have no account yet — so anyone who gets past the poll has one. An unclaimed
|
|
24
|
-
* handle is claimed as-is.
|
|
25
|
-
*
|
|
26
|
-
* The shared implementation behind both `hacklab login` and `hacklab setup` —
|
|
27
|
-
* there is exactly one device flow (the code/URL beat with the parallel
|
|
28
|
-
* Enter-wait ↔ poll race), and both front doors go through it. `claimAttempts`
|
|
29
|
-
* is how hard the handle claim tries before giving up, `flow` tells the web
|
|
30
|
-
* which command is claiming, and `deviceCode` swaps the code/URL presentation
|
|
31
|
-
* without touching the race behind it.
|
|
32
|
-
*/
|
|
33
|
-
export async function performLogin(opts = {}) {
|
|
34
|
-
const appUrl = getAppUrl();
|
|
35
|
-
const creds = await loginViaDevice(appUrl, opts.deviceCode);
|
|
36
|
-
const outcome = await ensureHandleClaimed({
|
|
37
|
-
token: creds.token,
|
|
38
|
-
email: creds.email,
|
|
39
|
-
handle: creds.handle,
|
|
40
|
-
usernameClaimed: creds.usernameClaimed,
|
|
41
|
-
appUrl,
|
|
42
|
-
savedAt: new Date().toISOString(),
|
|
43
|
-
expiresAt: creds.expiresAt,
|
|
44
|
-
}, opts.claimAttempts, opts.flow);
|
|
45
|
-
await saveSession(outcome.session);
|
|
46
|
-
await clearSyncPaused();
|
|
47
|
-
return outcome;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Make sure the session's handle is actually claimed, resolving it from the
|
|
51
|
-
* profile first when the device poll didn't send one. Pure: it returns the
|
|
52
|
-
* updated session (the same object when nothing changed) and leaves persistence
|
|
53
|
-
* to the caller, so it works both on a session that was just minted and on one
|
|
54
|
-
* already sitting on disk from a half-finished signup.
|
|
55
|
-
*
|
|
56
|
-
* `flow` names the command doing the claiming for the web's benefit; it defaults
|
|
57
|
-
* to the conservative `'login'`, which is the value that leaves onboarding
|
|
58
|
-
* printing its manual prompt rather than promising a terminal that isn't there.
|
|
59
|
-
*/
|
|
60
|
-
export async function ensureHandleClaimed(session, attempts = 1, flow = 'login') {
|
|
61
|
-
if (session.handle && session.usernameClaimed) {
|
|
62
|
-
return { session, claimFailed: false };
|
|
63
|
-
}
|
|
64
|
-
const appUrl = resolveAppUrl(session);
|
|
65
|
-
let handle = session.handle;
|
|
66
|
-
let usernameClaimed = session.usernameClaimed;
|
|
67
|
-
if (!handle) {
|
|
68
|
-
const me = await fetchMe(appUrl, session.token);
|
|
69
|
-
handle = me?.handle ?? me?.githubUsername ?? undefined;
|
|
70
|
-
if (me?.claimed != null)
|
|
71
|
-
usernameClaimed = me.claimed;
|
|
72
|
-
}
|
|
73
|
-
if (!handle || usernameClaimed) {
|
|
74
|
-
return {
|
|
75
|
-
session: { ...session, handle, usernameClaimed },
|
|
76
|
-
claimFailed: false,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
const claimed = await claimHandle(appUrl, session.token, handle, flow, attempts);
|
|
80
|
-
return {
|
|
81
|
-
session: {
|
|
82
|
-
...session,
|
|
83
|
-
handle: claimed ?? handle,
|
|
84
|
-
usernameClaimed: claimed ? true : usernameClaimed,
|
|
85
|
-
},
|
|
86
|
-
claimFailed: claimed === null,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* `hacklab login` — the standalone re-authenticate command. A lost handle claim
|
|
91
|
-
* stays quiet here (the account still works; the next login retries it); the
|
|
92
|
-
* guided `setup` flow is the one that has to complain.
|
|
93
|
-
*/
|
|
94
|
-
export async function login() {
|
|
95
|
-
const { session } = await performLogin({ flow: 'login' });
|
|
96
|
-
const { handle, email, appUrl, usernameClaimed } = session;
|
|
97
|
-
console.log('');
|
|
98
|
-
console.log(handle ? `signed in as @${handle}` : `signed in as ${email}`);
|
|
99
|
-
if (handle) {
|
|
100
|
-
await identifyUser(handle, {
|
|
101
|
-
$set: { email, handle, app_url: appUrl },
|
|
102
|
-
});
|
|
103
|
-
await captureEvent(handle, 'cli_login_completed', {
|
|
104
|
-
login_method: 'device_flow',
|
|
105
|
-
username_claimed: usernameClaimed ?? false,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
async function loginViaDevice(appUrl, render = plainDeviceCode) {
|
|
110
|
-
let startRes;
|
|
111
|
-
try {
|
|
112
|
-
startRes = await fetch(`${appUrl}/api/cli/device/start`, {
|
|
113
|
-
method: 'POST',
|
|
114
|
-
signal: AbortSignal.timeout(15_000),
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
throw new Error(`could not reach ${appUrl} — is the server running?`);
|
|
119
|
-
}
|
|
120
|
-
if (startRes.status === 404) {
|
|
121
|
-
throw new Error(`device login is not available on ${appUrl}`);
|
|
122
|
-
}
|
|
123
|
-
if (!startRes.ok) {
|
|
124
|
-
throw new Error(`could not start device login (${startRes.status})`);
|
|
125
|
-
}
|
|
126
|
-
const start = (await startRes.json());
|
|
127
|
-
// Show the code and URL first. Poll starts immediately so clicking the
|
|
128
|
-
// link (instead of Enter) still finishes login. Enter only opens a browser.
|
|
129
|
-
const openUrl = start.verificationUriComplete ?? start.verificationUri;
|
|
130
|
-
const enterPrompt = render.show({
|
|
131
|
-
userCode: start.userCode,
|
|
132
|
-
verificationUri: openUrl,
|
|
133
|
-
});
|
|
134
|
-
const abort = new AbortController();
|
|
135
|
-
if (!process.stdin.isTTY)
|
|
136
|
-
void openBrowser(openUrl);
|
|
137
|
-
const enter = waitForEnter(enterPrompt, abort.signal).then((pressed) => {
|
|
138
|
-
if (pressed)
|
|
139
|
-
void openBrowser(openUrl);
|
|
140
|
-
return pressed;
|
|
141
|
-
});
|
|
142
|
-
try {
|
|
143
|
-
return await pollDevice(appUrl, start.deviceCode, start.expiresIn, start.interval);
|
|
144
|
-
}
|
|
145
|
-
finally {
|
|
146
|
-
abort.abort();
|
|
147
|
-
render.done({ enterPressed: await enter });
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
async function pollDevice(appUrl, deviceCode, expiresIn, interval) {
|
|
151
|
-
const intervalMs = Math.max(1000, (Number(interval) || 5) * 1000);
|
|
152
|
-
const deadline = Date.now() + (Number(expiresIn) || 900) * 1000;
|
|
153
|
-
while (Date.now() < deadline) {
|
|
154
|
-
let data = null;
|
|
155
|
-
try {
|
|
156
|
-
const res = await fetch(`${appUrl}/api/cli/device/poll`, {
|
|
157
|
-
method: 'POST',
|
|
158
|
-
headers: { 'Content-Type': 'application/json' },
|
|
159
|
-
body: JSON.stringify({ deviceCode }),
|
|
160
|
-
signal: AbortSignal.timeout(10_000),
|
|
161
|
-
});
|
|
162
|
-
if (res.status !== 429)
|
|
163
|
-
data = await res.json().catch(() => null);
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
// keep polling
|
|
167
|
-
}
|
|
168
|
-
const status = data?.status;
|
|
169
|
-
if (status === 'approved' && data?.token && data.email) {
|
|
170
|
-
return {
|
|
171
|
-
token: data.token,
|
|
172
|
-
email: data.email,
|
|
173
|
-
handle: data.handle ?? data.login,
|
|
174
|
-
usernameClaimed: data.usernameClaimed,
|
|
175
|
-
expiresAt: data.expiresAt,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
if (status === 'denied') {
|
|
179
|
-
throw new Error('authorization was denied in the browser.');
|
|
180
|
-
}
|
|
181
|
-
if (status === 'expired') {
|
|
182
|
-
throw new Error('the code expired — run `hacklab login` again.');
|
|
183
|
-
}
|
|
184
|
-
await sleep(intervalMs);
|
|
185
|
-
}
|
|
186
|
-
throw new Error('login timed out — run `hacklab login` again.');
|
|
187
|
-
}
|
|
188
|
-
function sleep(ms) {
|
|
189
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
190
|
-
}
|
|
191
|
-
async function fetchMe(appUrl, token) {
|
|
192
|
-
try {
|
|
193
|
-
const res = await fetch(`${appUrl}/api/hackers/me?src=cli`, {
|
|
194
|
-
headers: { Authorization: `Bearer ${token}` },
|
|
195
|
-
signal: AbortSignal.timeout(10_000),
|
|
196
|
-
});
|
|
197
|
-
if (!res.ok)
|
|
198
|
-
return null;
|
|
199
|
-
return (await res.json());
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
return null;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Claim `username` for this account, returning the claimed handle or null if
|
|
207
|
-
* every attempt failed. `attempts > 1` retries — the claim is idempotent for the
|
|
208
|
-
* owner, and a lost one leaves an account the web onboarding never sees finish.
|
|
209
|
-
*
|
|
210
|
-
* `flow` travels in the body so the flip of `username_claimed` and the reason
|
|
211
|
-
* for it land in one request. A backend that predates the field ignores it —
|
|
212
|
-
* unknown body keys are dropped — so there is nothing to negotiate here.
|
|
213
|
-
*/
|
|
214
|
-
async function claimHandle(appUrl, token, username, flow, attempts = 1) {
|
|
215
|
-
for (let i = 0; i < Math.max(1, attempts); i++) {
|
|
216
|
-
try {
|
|
217
|
-
const res = await fetch(`${appUrl}/api/cli/claim`, {
|
|
218
|
-
method: 'POST',
|
|
219
|
-
headers: {
|
|
220
|
-
'Content-Type': 'application/json',
|
|
221
|
-
Authorization: `Bearer ${token}`,
|
|
222
|
-
},
|
|
223
|
-
body: JSON.stringify({ username, flow }),
|
|
224
|
-
});
|
|
225
|
-
if (res.ok) {
|
|
226
|
-
const data = (await res.json());
|
|
227
|
-
return data.handle ?? username;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
catch {
|
|
231
|
-
// fall through to the next attempt
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
//# sourceMappingURL=login.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAKA,wBAAsB,MAAM,kBAoB3B"}
|
package/dist/commands/logout.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { clearSyncPaused, uninstallDailySync } from '../daily-sync.js';
|
|
2
|
-
import { captureEvent } from '../posthog.js';
|
|
3
|
-
import { clearSession, loadSession } from '../session.js';
|
|
4
|
-
import { dim, info, success } from '../ui.js';
|
|
5
|
-
export async function logout() {
|
|
6
|
-
// Read who we're logged in as first (for the confirmation), then clear.
|
|
7
|
-
const session = await loadSession();
|
|
8
|
-
const removed = await clearSession();
|
|
9
|
-
// Tear down the daily background sync — it can't run without a session, and a
|
|
10
|
-
// leftover schedule would just log failures forever. Best-effort, no output.
|
|
11
|
-
await uninstallDailySync();
|
|
12
|
-
await clearSyncPaused();
|
|
13
|
-
if (!removed) {
|
|
14
|
-
info('not logged in');
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const who = session?.handle ?? session?.email;
|
|
18
|
-
success(who ? `logged out (${who})` : 'logged out');
|
|
19
|
-
info(dim('run `hacklab login` to sign back in'));
|
|
20
|
-
await captureEvent(session?.handle, 'cli_logout');
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=logout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,wEAAwE;IACxE,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,kBAAkB,EAAE,CAAA;IAC1B,MAAM,eAAe,EAAE,CAAA;IAEvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,CAAC,CAAA;QACrB,OAAM;IACR,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAA;IAEhD,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;AACnD,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { type Session } from '../session.js';
|
|
2
|
-
export declare const JOBS_SUBCOMMANDS: readonly ["list", "view", "post", "close"];
|
|
3
|
-
export type OrgJob = {
|
|
4
|
-
id: string;
|
|
5
|
-
roleTitle: string;
|
|
6
|
-
companyName: string;
|
|
7
|
-
status: string;
|
|
8
|
-
salaryRange: string | null;
|
|
9
|
-
remoteOnsite: string | null;
|
|
10
|
-
beltRankMin: number | null;
|
|
11
|
-
atsUrl: string;
|
|
12
|
-
reviewNote: string | null;
|
|
13
|
-
expiresAt: string | null;
|
|
14
|
-
createdAt: string;
|
|
15
|
-
};
|
|
16
|
-
type Target = {
|
|
17
|
-
session: Session;
|
|
18
|
-
org: {
|
|
19
|
-
id: string;
|
|
20
|
-
name: string;
|
|
21
|
-
slug: string;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export declare function jobsUsage(): never;
|
|
25
|
-
/**
|
|
26
|
-
* How a listing reads at a glance.
|
|
27
|
-
*
|
|
28
|
-
* Statuses are shown as what they mean to the person who paid, not as the
|
|
29
|
-
* enum: `pending_payment` is "you never finished checkout", which is a very
|
|
30
|
-
* different thing to do next than "we are still reading it".
|
|
31
|
-
*/
|
|
32
|
-
export declare function jobStatusLabel(status: string, expiresAt: string | null): string;
|
|
33
|
-
/** What the poster should do about a listing in this state, if anything. */
|
|
34
|
-
export declare function jobStatusHint(job: OrgJob): string | null;
|
|
35
|
-
/** What the caller can do about a refusal. Printed to stderr, never stdout. */
|
|
36
|
-
export declare function jobsErrorHint(code: string): string | null;
|
|
37
|
-
/** Pull every `--<field> <value>` out of argv, leaving the rest. */
|
|
38
|
-
export declare function extractJobOptions(args: string[]): {
|
|
39
|
-
options: Record<string, string | undefined>;
|
|
40
|
-
rest: string[];
|
|
41
|
-
};
|
|
42
|
-
/** True when argv carries any listing field, i.e. this is the agent path. */
|
|
43
|
-
export declare function hasJobFlags(args: string[]): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Dispatch `org jobs <verb>`. The caller resolves the target org, because that
|
|
46
|
-
* is the same `--org` / single-org resolution every other org verb uses.
|
|
47
|
-
*/
|
|
48
|
-
export declare function orgJobs(target: Target, args: string[]): Promise<void>;
|
|
49
|
-
export {};
|
|
50
|
-
//# sourceMappingURL=org-jobs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"org-jobs.d.ts","sourceRoot":"","sources":["../../src/commands/org-jobs.ts"],"names":[],"mappings":"AAYA,OAAO,EAAiB,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AA0B7E,eAAO,MAAM,gBAAgB,4CAA6C,CAAA;AAE1E,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAChD,CAAA;AAcD,wBAAgB,SAAS,IAAI,KAAK,CAajC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAaR;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxD;AAkDD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWzD;AAiID,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC3C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAaA;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEnD;AA6HD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3E"}
|