hacklab 0.0.1 → 0.0.2

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 CHANGED
@@ -4,14 +4,13 @@ hacklab cli package.
4
4
 
5
5
  ## commands
6
6
 
7
- - `hacklab join` - onboarding flow: choose hq location, login with github, create your hq repository, then choose your next step (first essay draft, profile setup, or browse hackers).
8
- - `hacklab brag` - from a project repo, generate `.hacklab/repo.json` and add a draft project entry to your hq automatically.
9
- - `hacklab login` - open browser login and store local session.
7
+ - `hacklab login` - authenticate via browser oauth or non-interactive token (`--token`).
10
8
  - `hacklab whoami` - show current logged in user.
11
- - `hacklab init` - initialize current repo as a hacklab repository.
12
- - `hacklab link` - link an existing repo to hacklab by creating `.hacklab/config.json` only.
9
+ - `hacklab init` - create or initialize current repo as your hq repository.
13
10
  - `hacklab new` - interactive content creation (`essay`, `guide`, `course`, `research paper`, `project`).
14
- - `hacklab tui` (alias: `hacklab /tui`) - tui entrypoint with slash commands (`/new`, `/help`, `/exit`), type `/` to open the arrow-key picker.
11
+ - `hacklab publish` - push current hq repo to github.
12
+ - `hacklab explore` - open hacklab discovery in browser.
13
+ - `hacklab admin waitlist` - admin-only waitlist inspection (visible only for DEV/GOD accounts).
15
14
 
16
15
  ## repository layout
17
16
 
@@ -50,13 +49,13 @@ from repo root:
50
49
 
51
50
  ```bash
52
51
  pnpm --filter @hacklab/cli build
53
- node packages/cli/dist/index.js join
54
- node packages/cli/dist/index.js brag
52
+ node packages/cli/dist/index.js login --token <cli-access-token>
55
53
  node packages/cli/dist/index.js init --name matts-lab
56
- node packages/cli/dist/index.js link --name matts-lab
57
54
  node packages/cli/dist/index.js new
58
55
  node packages/cli/dist/index.js new guide api-design-primer
59
56
  node packages/cli/dist/index.js new research-paper llm-evals-2026
57
+ node packages/cli/dist/index.js publish
58
+ node packages/cli/dist/index.js explore
60
59
  ```
61
60
 
62
61
  environment variables:
@@ -6,6 +6,21 @@ export type StartCliAuthResponse = {
6
6
  type StartCliAuthOptions = {
7
7
  nickname?: string;
8
8
  };
9
+ export type CliIdentityUser = {
10
+ id: string;
11
+ email: string;
12
+ name: string | null;
13
+ systemMode: 'NORMAL' | 'DEV' | 'GOD' | 'TESTER';
14
+ type?: 'HUMAN' | 'AGENT';
15
+ ownerId?: string | null;
16
+ agent?: {
17
+ id: string;
18
+ slug: string;
19
+ name: string;
20
+ claimState: 'UNCLAIMED' | 'CLAIMED';
21
+ status: 'ACTIVE' | 'PAUSED' | 'ARCHIVED';
22
+ } | null;
23
+ };
9
24
  export type ExchangeCliAuthResponse = {
10
25
  status: 'pending';
11
26
  } | {
@@ -18,22 +33,39 @@ export type ExchangeCliAuthResponse = {
18
33
  status: 'approved';
19
34
  accessToken: string;
20
35
  expiresAt: string;
21
- user: {
22
- id: string;
23
- email: string;
24
- name: string | null;
25
- };
36
+ user: CliIdentityUser;
26
37
  };
27
38
  export declare function startCliAuth(appUrl: string, options?: StartCliAuthOptions): Promise<StartCliAuthResponse>;
28
39
  export declare function exchangeCliAuth(appUrl: string, requestId: string): Promise<ExchangeCliAuthResponse>;
29
40
  export declare function fetchCliWhoAmI(appUrl: string, accessToken: string): Promise<{
30
- user: {
31
- id: string;
32
- email: string;
33
- name: string | null;
34
- };
41
+ user: CliIdentityUser;
35
42
  expiresAt: string;
36
43
  } | null>;
44
+ export type CliAdminWaitlistRole = 'ALL' | 'HUMAN' | 'AGENT';
45
+ export type CliAdminWaitlistSnapshot = {
46
+ query: {
47
+ role: CliAdminWaitlistRole;
48
+ search: string;
49
+ limit: number;
50
+ };
51
+ counts: {
52
+ human: number;
53
+ agent: number;
54
+ total: number;
55
+ };
56
+ filteredTotal: number;
57
+ rows: Array<{
58
+ email: string;
59
+ role: Exclude<CliAdminWaitlistRole, 'ALL'>;
60
+ joinedAt: string;
61
+ updatedAt: string;
62
+ }>;
63
+ };
64
+ export declare function fetchCliAdminWaitlist(appUrl: string, accessToken: string, options?: {
65
+ role?: CliAdminWaitlistRole;
66
+ search?: string;
67
+ limit?: number;
68
+ }): Promise<CliAdminWaitlistSnapshot>;
37
69
  export type CliLab = {
38
70
  id: string;
39
71
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC/C,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,CAAC,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,WAAW,GAAG,SAAS,CAAA;QACnC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;KAC3C,GAAG,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,uBAAuB,GAC7B;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IACI,MAAM,EAAE,UAAU,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,eAAe,CAAA;CACxB,CAAA;AAUP,wBAAsB,YAAY,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAmB/B;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA0BlC;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;UAkB1D,eAAe;eACV,MAAM;UAExB;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAA;AAE5D,MAAM,MAAM,wBAAwB,GAAG;IACnC,KAAK,EAAE;QACH,IAAI,EAAE,oBAAoB,CAAA;QAC1B,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,KAAK,CAAC;QACR,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAC1C,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACL,CAAA;AAED,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACL,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACZ,GACP,OAAO,CAAC,wBAAwB,CAAC,CAyCnC;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAsB,YAAY,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAED,wBAAsB,YAAY,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5C;AAED,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,CAAA;AAED,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAiBvB;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACf,GACF,OAAO,CAAC,KAAK,CAAC,CAqBhB;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAE;QACH,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;QAC1C,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;CACJ,CAAA;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,WAAW,GAAG,SAAS,CAAA;IACnC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAE,QAAQ,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACL,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GACF,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACL,MAAM,EAAE,MAAM,CAAA;CACjB,GACF,OAAO,CAAC,sBAAsB,CAAC,CAuBjC;AAED,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IACP,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC,CAwBD;AAED,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GACF,OAAO,CAAC;IACP,KAAK,EAAE,QAAQ,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC,CAyBD"}
@@ -59,6 +59,38 @@ export async function fetchCliWhoAmI(appUrl, accessToken) {
59
59
  }
60
60
  return data;
61
61
  }
62
+ export async function fetchCliAdminWaitlist(appUrl, accessToken, options = {}) {
63
+ const params = new URLSearchParams();
64
+ if (options.role) {
65
+ params.set('role', options.role);
66
+ }
67
+ if (options.search) {
68
+ params.set('search', options.search);
69
+ }
70
+ if (typeof options.limit === 'number') {
71
+ params.set('limit', String(options.limit));
72
+ }
73
+ const queryString = params.toString();
74
+ const endpoint = queryString
75
+ ? `${appUrl}/api/cli/admin/waitlist?${queryString}`
76
+ : `${appUrl}/api/cli/admin/waitlist`;
77
+ const response = await fetch(endpoint, {
78
+ headers: {
79
+ Authorization: `Bearer ${accessToken}`,
80
+ },
81
+ });
82
+ const data = await parseJson(response);
83
+ if (!response.ok) {
84
+ const message = typeof data?.message === 'string'
85
+ ? data.message
86
+ : 'failed to fetch admin waitlist';
87
+ throw new Error(message);
88
+ }
89
+ if (!data?.counts || !Array.isArray(data?.rows) || !data?.query) {
90
+ throw new Error('failed to fetch admin waitlist');
91
+ }
92
+ return data;
93
+ }
62
94
  export async function fetchCliLabs(appUrl, accessToken) {
63
95
  const response = await fetch(`${appUrl}/api/cli/labs`, {
64
96
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type CliAdminWaitlistRole, type CliAdminWaitlistSnapshot } from '../api/client.js';
2
+ export type AdminWaitlistCommandOptions = {
3
+ appUrl?: string;
4
+ role?: string;
5
+ limit?: string;
6
+ search?: string;
7
+ };
8
+ export declare function normalizeAdminWaitlistRole(rawRole: string | undefined): CliAdminWaitlistRole;
9
+ export declare function normalizeAdminWaitlistLimit(rawLimit: string | undefined): number;
10
+ export declare function renderAdminWaitlistRows(snapshot: CliAdminWaitlistSnapshot): string[];
11
+ export declare function adminWaitlistCommand(options?: AdminWaitlistCommandOptions): Promise<void>;
12
+ //# sourceMappingURL=admin-waitlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-waitlist.d.ts","sourceRoot":"","sources":["../../src/commands/admin-waitlist.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAChC,MAAM,kBAAkB,CAAA;AAIzB,MAAM,MAAM,2BAA2B,GAAG;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAYD,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,oBAAoB,CAOtB;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAoBhF;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAwBpF;AAED,wBAAsB,oBAAoB,CACtC,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,IAAI,CAAC,CA0Df"}
@@ -0,0 +1,96 @@
1
+ import { cancel, intro, note, outro } from '@clack/prompts';
2
+ import { fetchCliAdminWaitlist, fetchCliWhoAmI, } from '../api/client.js';
3
+ import { loadSession } from '../session.js';
4
+ import { getAppUrl } from './login.utils.js';
5
+ const MAX_LIMIT = 500;
6
+ const DEFAULT_LIMIT = 100;
7
+ const ADMIN_ROLES = new Set(['DEV', 'GOD']);
8
+ const ROLE_ALIASES = {
9
+ all: 'ALL',
10
+ human: 'HUMAN',
11
+ agent: 'AGENT',
12
+ };
13
+ export function normalizeAdminWaitlistRole(rawRole) {
14
+ if (!rawRole) {
15
+ return 'ALL';
16
+ }
17
+ const normalized = rawRole.trim().toLowerCase();
18
+ return ROLE_ALIASES[normalized] ?? 'ALL';
19
+ }
20
+ export function normalizeAdminWaitlistLimit(rawLimit) {
21
+ if (!rawLimit) {
22
+ return DEFAULT_LIMIT;
23
+ }
24
+ const parsed = Number.parseInt(rawLimit, 10);
25
+ if (!Number.isFinite(parsed)) {
26
+ return DEFAULT_LIMIT;
27
+ }
28
+ if (parsed < 1) {
29
+ return 1;
30
+ }
31
+ if (parsed > MAX_LIMIT) {
32
+ return MAX_LIMIT;
33
+ }
34
+ return parsed;
35
+ }
36
+ function formatTime(isoDate) {
37
+ return new Date(isoDate).toISOString().replace('T', ' ').slice(0, 16);
38
+ }
39
+ export function renderAdminWaitlistRows(snapshot) {
40
+ if (snapshot.rows.length === 0) {
41
+ return ['no waitlist signups found for current filters.'];
42
+ }
43
+ const emailWidth = Math.max('email'.length, ...snapshot.rows.map((row) => row.email.length));
44
+ const roleWidth = Math.max('role'.length, ...snapshot.rows.map((row) => row.role.length));
45
+ const header = `${'joined_at'.padEnd(16)} ${'role'.padEnd(roleWidth)} ${'email'.padEnd(emailWidth)}`;
46
+ const divider = `${'-'.repeat(16)} ${'-'.repeat(roleWidth)} ${'-'.repeat(emailWidth)}`;
47
+ const lines = snapshot.rows.map((row) => {
48
+ const joinedAt = formatTime(row.joinedAt);
49
+ return `${joinedAt.padEnd(16)} ${row.role.padEnd(roleWidth)} ${row.email.padEnd(emailWidth)}`;
50
+ });
51
+ return [header, divider, ...lines];
52
+ }
53
+ export async function adminWaitlistCommand(options = {}) {
54
+ intro('hacklab admin waitlist');
55
+ const session = await loadSession();
56
+ if (!session) {
57
+ cancel('not logged in. run `hacklab login`.');
58
+ process.exitCode = 1;
59
+ return;
60
+ }
61
+ const appUrl = getAppUrl(options.appUrl || session.appUrl);
62
+ const identity = await fetchCliWhoAmI(appUrl, session.token);
63
+ if (!identity) {
64
+ cancel('your cli session is invalid or expired. run `hacklab login`.');
65
+ process.exitCode = 1;
66
+ return;
67
+ }
68
+ if (!ADMIN_ROLES.has(identity.user.systemMode)) {
69
+ cancel('admin access required (DEV/GOD only).');
70
+ process.exitCode = 1;
71
+ return;
72
+ }
73
+ const role = normalizeAdminWaitlistRole(options.role);
74
+ const limit = normalizeAdminWaitlistLimit(options.limit);
75
+ const search = options.search?.trim() || '';
76
+ const snapshot = await fetchCliAdminWaitlist(appUrl, session.token, {
77
+ role,
78
+ limit,
79
+ search,
80
+ });
81
+ note([
82
+ `total: ${snapshot.counts.total}`,
83
+ `humans: ${snapshot.counts.human}`,
84
+ `agents: ${snapshot.counts.agent}`,
85
+ `matching filters: ${snapshot.filteredTotal}`,
86
+ ].join('\n'), 'waitlist stats');
87
+ note([
88
+ `role filter: ${snapshot.query.role.toLowerCase()}`,
89
+ `limit: ${snapshot.query.limit}`,
90
+ `search: ${snapshot.query.search || '-'}`,
91
+ ].join('\n'), 'query');
92
+ const lines = renderAdminWaitlistRows(snapshot);
93
+ note(lines.join('\n'), 'signups');
94
+ outro('done.');
95
+ }
96
+ //# sourceMappingURL=admin-waitlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-waitlist.js","sourceRoot":"","sources":["../../src/commands/admin-waitlist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ type ExploreOptions = {
2
+ appUrl?: string;
3
+ path?: string;
4
+ browser?: boolean;
5
+ };
6
+ export declare function buildExploreUrl(options?: ExploreOptions): string;
7
+ export declare function exploreCommand(options?: ExploreOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=explore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/commands/explore.ts"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAYD,wBAAgB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAKpE;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF"}
@@ -0,0 +1,32 @@
1
+ import { intro, note, outro } from '@clack/prompts';
2
+ import { openBrowser } from '../utils/openBrowser.js';
3
+ import { getAppUrl } from './login.utils.js';
4
+ function normalizeExplorePath(path) {
5
+ const normalized = path?.trim();
6
+ if (!normalized) {
7
+ return '/explore';
8
+ }
9
+ return normalized.startsWith('/') ? normalized : `/${normalized}`;
10
+ }
11
+ export function buildExploreUrl(options = {}) {
12
+ const appUrl = getAppUrl(options.appUrl);
13
+ const path = normalizeExplorePath(options.path);
14
+ return `${appUrl}${path}`;
15
+ }
16
+ export async function exploreCommand(options = {}) {
17
+ intro('explore hacklab');
18
+ const exploreUrl = buildExploreUrl(options);
19
+ if (options.browser === false) {
20
+ note(exploreUrl, 'explore url');
21
+ outro('browser disabled. copy the url above.');
22
+ return;
23
+ }
24
+ const opened = await openBrowser(exploreUrl);
25
+ if (!opened) {
26
+ note(exploreUrl, 'explore url');
27
+ outro('could not open browser automatically. copy the url above.');
28
+ return;
29
+ }
30
+ outro(`opened ${exploreUrl}`);
31
+ }
32
+ //# sourceMappingURL=explore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/commands/explore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAQ5C,SAAS,oBAAoB,CAAC,IAAa;IACvC,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAA0B,EAAE;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/C,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAA0B,EAAE;IAC7D,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAE3C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QAC/B,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC9C,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAA;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QAC/B,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAClE,OAAM;IACV,CAAC;IAED,KAAK,CAAC,UAAU,UAAU,EAAE,CAAC,CAAA;AACjC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  type LoginOptions = {
2
2
  appUrl?: string;
3
+ token?: string;
3
4
  nickname?: string;
4
5
  mode?: 'login' | 'join';
5
6
  showIntro?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAeA,KAAK,YAAY,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACvC,CAAA;AAsCD,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsGnF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAeA,KAAK,YAAY,GAAG;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACvC,CAAA;AAsCD,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiJnF"}
@@ -1,5 +1,5 @@
1
1
  import { cancel, intro, isCancel, note, outro, spinner, text, } from '@clack/prompts';
2
- import { exchangeCliAuth, startCliAuth } from '../api/client.js';
2
+ import { exchangeCliAuth, fetchCliWhoAmI, startCliAuth } from '../api/client.js';
3
3
  import { saveSession } from '../session.js';
4
4
  import { openBrowser } from '../utils/openBrowser.js';
5
5
  import { getAppUrl } from './login.utils.js';
@@ -37,6 +37,37 @@ export async function loginCommand(options = {}) {
37
37
  intro(mode === 'join' ? 'join hacklab' : 'hacklab cli login');
38
38
  }
39
39
  const appUrl = getAppUrl(options.appUrl);
40
+ if (options.token) {
41
+ const accessToken = options.token.trim();
42
+ if (!accessToken) {
43
+ cancel('token is required.');
44
+ process.exit(1);
45
+ }
46
+ const identity = await fetchCliWhoAmI(appUrl, accessToken);
47
+ if (!identity) {
48
+ cancel('invalid token. run `hacklab login` to authenticate again.');
49
+ process.exit(1);
50
+ }
51
+ const nickname = options.nickname || deriveNicknameFromIdentity(identity.user);
52
+ await saveSession({
53
+ email: identity.user.email,
54
+ token: accessToken,
55
+ loggedInAt: new Date().toISOString(),
56
+ systemMode: identity.user.systemMode,
57
+ appUrl,
58
+ nickname,
59
+ });
60
+ if (options.showSuccess !== false) {
61
+ const nicknameLabel = nickname ? ` (${nickname})` : '';
62
+ outro(mode === 'join'
63
+ ? `joined with token as ${identity.user.email}${nicknameLabel}`
64
+ : `logged in with token as ${identity.user.email}${nicknameLabel}`);
65
+ }
66
+ return {
67
+ email: identity.user.email,
68
+ nickname,
69
+ };
70
+ }
40
71
  const startPayload = await startCliAuth(appUrl, {
41
72
  nickname: options.nickname,
42
73
  });
@@ -68,6 +99,7 @@ export async function loginCommand(options = {}) {
68
99
  email: exchange.user.email,
69
100
  token: exchange.accessToken,
70
101
  loggedInAt: new Date().toISOString(),
102
+ systemMode: exchange.user.systemMode,
71
103
  appUrl,
72
104
  nickname,
73
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type PublishOptions = {
2
+ remote?: string;
3
+ branch?: string;
4
+ };
5
+ export declare function getGitPushArgs(options?: PublishOptions): string[];
6
+ export declare function publishCommand(options?: PublishOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAWA,KAAK,cAAc,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAOD,wBAAgB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAiBrE;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhF"}
@@ -0,0 +1,47 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { join } from 'node:path';
3
+ import { promisify } from 'node:util';
4
+ import { cancel, intro, note, outro } from '@clack/prompts';
5
+ import { findRepoRoot } from '../utils/findRepoRoot.js';
6
+ import { pathExists } from '../utils/pathExists.js';
7
+ const execFileAsync = promisify(execFile);
8
+ function normalizeArg(value) {
9
+ const normalized = value?.trim();
10
+ return normalized ? normalized : undefined;
11
+ }
12
+ export function getGitPushArgs(options = {}) {
13
+ const remote = normalizeArg(options.remote);
14
+ const branch = normalizeArg(options.branch);
15
+ if (!remote && !branch) {
16
+ return ['push'];
17
+ }
18
+ if (!remote && branch) {
19
+ return ['push', 'origin', branch];
20
+ }
21
+ if (remote && !branch) {
22
+ return ['push', remote];
23
+ }
24
+ return ['push', remote, branch];
25
+ }
26
+ export async function publishCommand(options = {}) {
27
+ intro('publish hq');
28
+ const repoRoot = await findRepoRoot();
29
+ if (!(await pathExists(join(repoRoot, '.git')))) {
30
+ cancel('this command must be run inside a git repository.');
31
+ process.exit(1);
32
+ }
33
+ const args = getGitPushArgs(options);
34
+ try {
35
+ await execFileAsync('git', args, {
36
+ cwd: repoRoot,
37
+ });
38
+ }
39
+ catch (error) {
40
+ const message = error instanceof Error ? error.message : String(error);
41
+ cancel(`publish failed: ${message}`);
42
+ process.exit(1);
43
+ }
44
+ note(`git ${args.join(' ')}`, 'pushed');
45
+ outro('published. hacklab will sync from github.');
46
+ }
47
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAOzC,SAAS,YAAY,CAAC,KAAc;IAChC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAChC,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAA0B,EAAE;IACvD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,MAAgB,EAAE,MAAgB,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAA0B,EAAE;IAC7D,KAAK,CAAC,YAAY,CAAC,CAAA;IAEnB,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;IAErC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,mDAAmD,CAAC,CAAA;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;YAC7B,GAAG,EAAE,QAAQ;SAChB,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACvC,KAAK,CAAC,2CAA2C,CAAC,CAAA;AACtD,CAAC"}
@@ -1,2 +1,4 @@
1
+ import type { CliIdentityUser } from '../api/client.js';
2
+ export declare function formatWhoamiMessage(user: CliIdentityUser, nickname?: string): string;
1
3
  export declare function whoamiCommand(): Promise<void>;
2
4
  //# sourceMappingURL=whoami.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBnD"}
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAoBvD,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,eAAe,EACrB,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBnD"}
@@ -2,6 +2,28 @@ import { intro, outro } from '@clack/prompts';
2
2
  import { fetchCliWhoAmI } from '../api/client.js';
3
3
  import { loadSession } from '../session.js';
4
4
  import { getAppUrl } from './login.utils.js';
5
+ function resolveIdentityType(user) {
6
+ if (user.type === 'AGENT') {
7
+ return 'agent';
8
+ }
9
+ if (user.type === 'HUMAN') {
10
+ return 'human';
11
+ }
12
+ if (user.agent) {
13
+ return 'agent';
14
+ }
15
+ return 'human';
16
+ }
17
+ export function formatWhoamiMessage(user, nickname) {
18
+ const nicknameLabel = nickname ? ` (${nickname})` : '';
19
+ const systemModeLabel = user.systemMode.toLowerCase();
20
+ const identityType = resolveIdentityType(user);
21
+ const tags = [systemModeLabel, identityType];
22
+ if (identityType === 'agent' && user.agent?.slug) {
23
+ tags.push(`@${user.agent.slug}`);
24
+ }
25
+ return `logged in as ${user.email}${nicknameLabel} [${tags.join(', ')}]`;
26
+ }
5
27
  export async function whoamiCommand() {
6
28
  intro('hacklab cli');
7
29
  const session = await loadSession();
@@ -17,7 +39,6 @@ export async function whoamiCommand() {
17
39
  process.exitCode = 1;
18
40
  return;
19
41
  }
20
- const nicknameLabel = session.nickname ? ` (${session.nickname})` : '';
21
- outro(`logged in as ${identity.user.email}${nicknameLabel}`);
42
+ outro(formatWhoamiMessage(identity.user, session.nickname));
22
43
  }
23
44
  //# sourceMappingURL=whoami.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,aAAa;IAC/B,KAAK,CAAC,aAAa,CAAC,CAAA;IAEpB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACrE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACtE,KAAK,CAAC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,EAAE,CAAC,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,SAAS,mBAAmB,CAAC,IAAqB;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,IAAqB,EACrB,QAAiB;IAEjB,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;IACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;IAE5C,IAAI,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,gBAAgB,IAAI,CAAC,KAAK,GAAG,aAAa,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IAC/B,KAAK,CAAC,aAAa,CAAC,CAAA;IAEpB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACrE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/D,CAAC"}
package/dist/index.js CHANGED
@@ -1,101 +1,47 @@
1
1
  #!/usr/bin/env node
2
- import { Command } from "commander";
3
- import { bragCommand } from "./commands/brag.js";
4
- import { essayCommand } from "./commands/essay.js";
5
- import { initCommand } from "./commands/init.js";
6
- import { joinCommand } from "./commands/join.js";
7
- import { linkCommand } from "./commands/link.js";
8
- import { loginCommand } from "./commands/login.js";
9
- import { newCommand } from "./commands/new.js";
10
- import { onboardCommand } from "./commands/onboard.js";
11
- import { tuiCommand } from "./commands/tui.js";
12
- import { whoamiCommand } from "./commands/whoami.js";
13
- import { createGreenHelpConfig, HELP_BANNER } from "./help-format.js";
2
+ import { Command } from 'commander';
3
+ import { fetchCliWhoAmI } from './api/client.js';
4
+ import { adminWaitlistCommand } from './commands/admin-waitlist.js';
5
+ import { exploreCommand } from './commands/explore.js';
6
+ import { initCommand } from './commands/init.js';
7
+ import { loginCommand } from './commands/login.js';
8
+ import { getAppUrl } from './commands/login.utils.js';
9
+ import { newCommand } from './commands/new.js';
10
+ import { publishCommand } from './commands/publish.js';
11
+ import { whoamiCommand } from './commands/whoami.js';
12
+ import { createGreenHelpConfig, HELP_BANNER } from './help-format.js';
13
+ import { loadSession } from './session.js';
14
14
  const program = new Command();
15
15
  program
16
- .name("hacklab")
17
- .description("hacklab command line tool")
18
- .version("0.0.1")
19
- .addHelpText("beforeAll", HELP_BANNER);
16
+ .name('hacklab')
17
+ .description('hacklab hq cli')
18
+ .version('0.0.1')
19
+ .addHelpText('beforeAll', HELP_BANNER);
20
20
  program.configureHelp(createGreenHelpConfig());
21
21
  program
22
- .command("join")
23
- .description("authenticate account and optionally set up your hq")
24
- .option("-a, --app-url <url>", "hacklab app url (defaults to localhost)")
25
- .action(async (options) => {
26
- await joinCommand({
27
- appUrl: options.appUrl,
28
- });
29
- });
30
- program
31
- .command("brag")
32
- .description("add current github project repo to your hacklab hq as draft")
33
- .option("-a, --app-url <url>", "hacklab app url (defaults to localhost)")
34
- .option("--as <account>", "account email or nickname to use")
35
- .option("--hq <path>", "path to your hq repository")
36
- .action(async (options) => {
37
- await bragCommand({
38
- appUrl: options.appUrl,
39
- as: options.as,
40
- hq: options.hq,
41
- });
42
- });
43
- program
44
- .command("essay")
45
- .description("add an essay to your studio lab")
46
- .option("-a, --app-url <url>", "hacklab app url (defaults to localhost)")
47
- .option("-l, --lab <slug>", "lab slug (defaults to local .hacklab config)")
48
- .option("-t, --title <title>", "essay title")
49
- .option("-s, --summary <summary>", "essay summary")
50
- .option("-b, --body <markdown>", "essay body markdown")
51
- .option("-f, --file <path>", "read essay body markdown from file")
52
- .option("-p, --publish", "publish immediately")
53
- .action(async (options) => {
54
- await essayCommand({
55
- appUrl: options.appUrl,
56
- lab: options.lab,
57
- title: options.title,
58
- summary: options.summary,
59
- body: options.body,
60
- file: options.file,
61
- publish: options.publish,
62
- });
63
- });
64
- program
65
- .command("onboard")
66
- .description("run cli onboarding (profile + lab)")
67
- .option("-a, --app-url <url>", "hacklab app url (defaults to localhost)")
68
- .option("-u, --username <username>", "profile username")
69
- .option("-b, --bio <bio>", "profile bio")
70
- .option("-l, --lab-name <name>", "lab name")
71
- .action(async (options) => {
72
- await onboardCommand({
73
- appUrl: options.appUrl,
74
- username: options.username,
75
- bio: options.bio,
76
- labName: options.labName,
77
- });
78
- });
79
- program
80
- .command("login")
81
- .description("login with your browser and store session locally")
82
- .option("-a, --app-url <url>", "hacklab app url (defaults to localhost)")
22
+ .command('login')
23
+ .description('authenticate with github oauth or a pre-issued cli token')
24
+ .option('-a, --app-url <url>', 'hacklab app url (defaults to localhost)')
25
+ .option('-t, --token <token>', 'cli access token for non-interactive login')
26
+ .option('-n, --nickname <nickname>', 'local nickname for this login')
83
27
  .action(async (options) => {
84
28
  await loginCommand({
85
29
  appUrl: options.appUrl,
30
+ token: options.token,
31
+ nickname: options.nickname,
86
32
  });
87
33
  });
88
34
  program
89
- .command("whoami")
90
- .description("print current logged in account")
35
+ .command('whoami')
36
+ .description('print current logged in account')
91
37
  .action(async () => {
92
38
  await whoamiCommand();
93
39
  });
94
40
  program
95
- .command("init")
96
- .description("initialize this repository as a hacklab repo")
97
- .option("-n, --name <name>", "lab display name")
98
- .option("-f, --force", "overwrite existing .hacklab/config.json")
41
+ .command('init')
42
+ .description('create or initialize your hq repository in the current git repo')
43
+ .option('-n, --name <name>', 'lab display name')
44
+ .option('-f, --force', 'overwrite existing .hacklab/config.json')
99
45
  .action(async (options) => {
100
46
  await initCommand({
101
47
  name: options.name,
@@ -103,35 +49,75 @@ program
103
49
  });
104
50
  });
105
51
  program
106
- .command("new")
107
- .description("create new hacklab content")
108
- .argument("[type]", "project | guide | course | essay | research-paper")
109
- .argument("[slug]", "content slug, e.g. my-first-project")
110
- .option("-t, --title <title>", "custom title")
52
+ .command('new')
53
+ .description('create new content in your hq')
54
+ .argument('[type]', 'project | guide | course | essay | research-paper')
55
+ .argument('[slug]', 'content slug, e.g. my-first-project')
56
+ .option('-t, --title <title>', 'custom title')
111
57
  .action(async (type, slug, options) => {
112
58
  await newCommand(type, slug, {
113
59
  title: options.title,
114
60
  });
115
61
  });
116
62
  program
117
- .command("link")
118
- .description("link an existing repository to hacklab without scaffolding")
119
- .option("-n, --name <name>", "lab display name")
120
- .option("-f, --force", "overwrite existing .hacklab/config.json")
63
+ .command('publish')
64
+ .description('push your hq repo to github so hacklab can sync')
65
+ .option('-r, --remote <remote>', 'git remote to push to (defaults to git default)')
66
+ .option('-b, --branch <branch>', 'git branch to push')
121
67
  .action(async (options) => {
122
- await linkCommand({
123
- name: options.name,
124
- force: options.force,
125
- });
68
+ await publishCommand(options);
126
69
  });
127
70
  program
128
- .command("tui")
129
- .alias("/tui")
130
- .description("open hacklab tui entrypoint")
131
- .action(async () => {
132
- await tuiCommand();
71
+ .command('explore')
72
+ .description('open hacklab discovery in your browser')
73
+ .option('-a, --app-url <url>', 'hacklab app url (defaults to localhost)')
74
+ .option('--path <path>', 'relative path to open (defaults to /explore)')
75
+ .option('--no-browser', 'print the url instead of opening a browser')
76
+ .action(async (options) => {
77
+ await exploreCommand(options);
133
78
  });
134
- program.parseAsync(process.argv).catch((error) => {
79
+ async function isCliAdmin() {
80
+ const session = await loadSession();
81
+ if (!session) {
82
+ return false;
83
+ }
84
+ if (session.systemMode) {
85
+ return session.systemMode === 'DEV' || session.systemMode === 'GOD';
86
+ }
87
+ try {
88
+ const appUrl = getAppUrl(session.appUrl);
89
+ const identity = await fetchCliWhoAmI(appUrl, session.token);
90
+ return Boolean(identity &&
91
+ (identity.user.systemMode === 'DEV' ||
92
+ identity.user.systemMode === 'GOD'));
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ }
98
+ async function registerAdminCommands() {
99
+ if (!(await isCliAdmin())) {
100
+ return;
101
+ }
102
+ const admin = program
103
+ .command('admin')
104
+ .description('admin-only commands');
105
+ admin
106
+ .command('waitlist')
107
+ .description('inspect waitlist signups (humans/agents)')
108
+ .option('-a, --app-url <url>', 'hacklab app url (defaults to localhost)')
109
+ .option('-r, --role <role>', 'all | human | agent')
110
+ .option('-l, --limit <number>', 'max rows to return (1-500)')
111
+ .option('-s, --search <email>', 'filter by email')
112
+ .action(async (options) => {
113
+ await adminWaitlistCommand(options);
114
+ });
115
+ }
116
+ async function main() {
117
+ await registerAdminCommands();
118
+ await program.parseAsync(process.argv);
119
+ }
120
+ main().catch((error) => {
135
121
  console.error(error instanceof Error ? error.message : String(error));
136
122
  process.exit(1);
137
123
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -2,6 +2,7 @@ export type Session = {
2
2
  email: string;
3
3
  token: string;
4
4
  loggedInAt: string;
5
+ systemMode?: 'NORMAL' | 'DEV' | 'GOD' | 'TESTER';
5
6
  appUrl?: string;
6
7
  nickname?: string;
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAKD,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAOD,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AA2DD,wBAAsB,WAAW,CAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,SAAmB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,wBAAsB,WAAW,CAC7B,WAAW,SAAmB,GAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA2BzB;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAmB5D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuClF"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAKD,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAOD,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAoED,wBAAsB,WAAW,CAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,SAAmB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,wBAAsB,WAAW,CAC7B,WAAW,SAAmB,GAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAoCzB;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAmB5D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuClF"}
package/dist/session.js CHANGED
@@ -18,10 +18,17 @@ function normalizeAccountState(raw) {
18
18
  return Boolean(account?.email && account?.token && account?.loggedInAt);
19
19
  })
20
20
  .map((account) => {
21
+ const systemMode = account.systemMode === 'NORMAL' ||
22
+ account.systemMode === 'DEV' ||
23
+ account.systemMode === 'GOD' ||
24
+ account.systemMode === 'TESTER'
25
+ ? account.systemMode
26
+ : undefined;
21
27
  return {
22
28
  email: account.email,
23
29
  token: account.token,
24
30
  loggedInAt: account.loggedInAt,
31
+ ...(systemMode ? { systemMode } : {}),
25
32
  appUrl: account.appUrl,
26
33
  nickname: account.nickname,
27
34
  hqPaths: account.hqPaths?.filter(Boolean) ?? [],
@@ -88,10 +95,17 @@ export async function loadSession(sessionPath = getSessionPath()) {
88
95
  if (!parsed.email || !parsed.token || !parsed.loggedInAt) {
89
96
  return null;
90
97
  }
98
+ const systemMode = parsed.systemMode === 'NORMAL' ||
99
+ parsed.systemMode === 'DEV' ||
100
+ parsed.systemMode === 'GOD' ||
101
+ parsed.systemMode === 'TESTER'
102
+ ? parsed.systemMode
103
+ : undefined;
91
104
  return {
92
105
  email: parsed.email,
93
106
  token: parsed.token,
94
107
  loggedInAt: parsed.loggedInAt,
108
+ ...(systemMode ? { systemMode } : {}),
95
109
  appUrl: parsed.appUrl,
96
110
  nickname: parsed.nickname,
97
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAUzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;AACxE,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;AAY1E,MAAM,UAAU,cAAc;IAC1B,OAAO,CACH,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,oBAAoB,CACvB,CAAA;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,qBAAqB,CAAA;AACrE,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiC;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;QACzC,CAAC,CAAC,GAAG,CAAC,QAAQ;aACP,MAAM,CAAC,CAAC,OAAO,EAAsB,EAAE;YACpC,OAAO,OAAO,CACV,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,UAAU,CAC1D,CAAA;QACL,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACb,OAAO;gBACH,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC/C,YAAY,EAAE,OAAO,CAAC,YAAY;aACrC,CAAA;QACL,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,CAAA;IAER,OAAO;QACH,WAAW,EAAE,GAAG,EAAE,WAAW;QAC7B,QAAQ;KACX,CAAA;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,eAAe,EAAE;IAC5D,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAA;QACvD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO;gBACH,QAAQ,EAAE,EAAE;aACf,CAAA;QACL,CAAC;QAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YAC/B,OAAO;gBACH,QAAQ,EAAE,EAAE;aACf,CAAA;QACL,CAAC;QAED,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,KAAmB,EACnB,YAAY,GAAG,eAAe,EAAE;IAEhC,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAgB,EAChB,WAAW,GAAG,cAAc,EAAE;IAE9B,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE7E,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;QAClF,MAAM,WAAW,GAAY;YACzB,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE;YAChC,YAAY,EAAE,QAAQ,EAAE,YAAY;SACvC,CAAA;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;QACpF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAE1B,MAAM,gBAAgB,CAAC;YACnB,WAAW,EAAE,OAAO,CAAC,KAAK;YAC1B,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IAAC,MAAM,CAAC;QACL,2FAA2F;IAC/F,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,WAAW,GAAG,cAAc,EAAE;IAE9B,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA;QAElD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAA;QACf,CAAC;QAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAA;IAEtC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACb,CAAC;IAED,OAAO;QACH;YACI,GAAG,OAAO;YACV,OAAO,EAAE,EAAE;SACd;KACJ,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,MAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAA;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;QAEnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACtC,OAAM;QACV,CAAC;QAED,OAAO,GAAG;YACN,GAAG,OAAO;YACV,OAAO,EAAE,EAAE;SACd,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,CAAA;IAEhC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO;YACH,GAAG,IAAI;YACP,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,MAAM;SACvB,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK;QACvC,QAAQ,EAAE,YAAY;KACzB,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hacklab",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -9,7 +9,9 @@
9
9
  "bin": {
10
10
  "hacklab": "./dist/index.js"
11
11
  },
12
- "files": ["dist"],
12
+ "files": [
13
+ "dist"
14
+ ],
13
15
  "scripts": {
14
16
  "build": "tsc -p tsconfig.json",
15
17
  "dev": "tsx src/index.ts",