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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { SqlValue } from 'sql.js';
|
|
2
|
-
/**
|
|
3
|
-
* Run a read-only query against a SQLite file and return its rows as typed value
|
|
4
|
-
* arrays (numbers stay numbers, JSON `json_extract` values keep their JSON type).
|
|
5
|
-
* The whole DB is loaded into memory — fine for the small local agent DBs we read.
|
|
6
|
-
* Throws if the file can't be read; callers already degrade to an empty result.
|
|
7
|
-
*
|
|
8
|
-
* Reads only the main `.db` file, so rows still sitting in an un-checkpointed
|
|
9
|
-
* `-wal` of a live DB are missed — the snapshot is consistent, just possibly a
|
|
10
|
-
* bit stale. That matches how the old `sqlite3` shell-out behaved closely enough
|
|
11
|
-
* for daily token totals.
|
|
12
|
-
*/
|
|
13
|
-
export declare function queryDb(dbPath: string, sql: string): Promise<SqlValue[][]>;
|
|
14
|
-
/** Coerce a SqlValue to a number (parses numeric strings; null/blobs → 0). */
|
|
15
|
-
export declare function num(v: SqlValue | undefined): number;
|
|
16
|
-
/** Coerce a SqlValue to a string (null/blobs → ''); callers `.trim()` if needed. */
|
|
17
|
-
export declare function str(v: SqlValue | undefined): string;
|
|
18
|
-
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/scanners/sqlite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAyBtC;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAUvB;AAED,8EAA8E;AAC9E,wBAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAOnD;AAED,oFAAoF;AACpF,wBAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAInD"}
|
package/dist/scanners/sqlite.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
|
-
// A tiny read-only SQLite reader backed by sql.js (pure WASM). We used to shell
|
|
4
|
-
// out to a `sqlite3` binary via execSync, but that binary is absent on stock
|
|
5
|
-
// Windows (and not guaranteed on macOS/Linux either), so every DB-backed scanner
|
|
6
|
-
// silently returned nothing there. sql.js needs no native build and ships JSON1,
|
|
7
|
-
// so the scanners' `json_extract` queries work unchanged on every platform.
|
|
8
|
-
const require = createRequire(import.meta.url);
|
|
9
|
-
// sql.js is CommonJS; the default export is the async `initSqlJs` factory.
|
|
10
|
-
let sqlPromise = null;
|
|
11
|
-
async function getSql() {
|
|
12
|
-
if (!sqlPromise) {
|
|
13
|
-
const initSqlJs = (await import('sql.js')).default;
|
|
14
|
-
// Resolve the wasm from sql.js's own package so it works from a global
|
|
15
|
-
// install (where sql.js is a direct dependency of hacklab) without the
|
|
16
|
-
// build having to copy the asset into dist/.
|
|
17
|
-
const wasmPath = require.resolve('sql.js/dist/sql-wasm.wasm');
|
|
18
|
-
sqlPromise = initSqlJs({ locateFile: () => wasmPath });
|
|
19
|
-
}
|
|
20
|
-
return sqlPromise;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Run a read-only query against a SQLite file and return its rows as typed value
|
|
24
|
-
* arrays (numbers stay numbers, JSON `json_extract` values keep their JSON type).
|
|
25
|
-
* The whole DB is loaded into memory — fine for the small local agent DBs we read.
|
|
26
|
-
* Throws if the file can't be read; callers already degrade to an empty result.
|
|
27
|
-
*
|
|
28
|
-
* Reads only the main `.db` file, so rows still sitting in an un-checkpointed
|
|
29
|
-
* `-wal` of a live DB are missed — the snapshot is consistent, just possibly a
|
|
30
|
-
* bit stale. That matches how the old `sqlite3` shell-out behaved closely enough
|
|
31
|
-
* for daily token totals.
|
|
32
|
-
*/
|
|
33
|
-
export async function queryDb(dbPath, sql) {
|
|
34
|
-
const SQL = await getSql();
|
|
35
|
-
const buf = await readFile(dbPath);
|
|
36
|
-
const db = new SQL.Database(buf);
|
|
37
|
-
try {
|
|
38
|
-
const res = db.exec(sql);
|
|
39
|
-
return res[0]?.values ?? [];
|
|
40
|
-
}
|
|
41
|
-
finally {
|
|
42
|
-
db.close();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/** Coerce a SqlValue to a number (parses numeric strings; null/blobs → 0). */
|
|
46
|
-
export function num(v) {
|
|
47
|
-
if (typeof v === 'number')
|
|
48
|
-
return v;
|
|
49
|
-
if (typeof v === 'string') {
|
|
50
|
-
const n = Number(v);
|
|
51
|
-
return Number.isFinite(n) ? n : 0;
|
|
52
|
-
}
|
|
53
|
-
return 0;
|
|
54
|
-
}
|
|
55
|
-
/** Coerce a SqlValue to a string (null/blobs → ''); callers `.trim()` if needed. */
|
|
56
|
-
export function str(v) {
|
|
57
|
-
if (typeof v === 'string')
|
|
58
|
-
return v;
|
|
59
|
-
if (typeof v === 'number')
|
|
60
|
-
return String(v);
|
|
61
|
-
return '';
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=sqlite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/scanners/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI3C,gFAAgF;AAChF,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,4EAA4E;AAE5E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,2EAA2E;AAC3E,IAAI,UAAU,GAAiD,IAAI,CAAA;AAEnE,KAAK,UAAU,MAAM;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;QAClD,uEAAuE;QACvE,uEAAuE;QACvE,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;QAC7D,UAAU,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;IAC7B,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,GAAG,CAAC,CAAuB;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACnB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,GAAG,CAAC,CAAuB;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,EAAE,CAAA;AACX,CAAC"}
|
package/dist/scanners/util.d.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
export type Tool = 'claude_code' | 'codex' | 'cursor' | 'openclaw' | 'hermes' | 'opencode' | 'grok' | 'github_copilot' | 'antigravity';
|
|
2
|
-
export type DailyToolEntry = {
|
|
3
|
-
date: string;
|
|
4
|
-
tool: string;
|
|
5
|
-
tokens: number;
|
|
6
|
-
messages?: number;
|
|
7
|
-
model?: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* One coding session's prompt activity, as `promptActivity.sessions` carries it.
|
|
11
|
-
* The server upserts these per (machine, sessionId) with GREATEST semantics, so
|
|
12
|
-
* a resend after a failed POST is always safe.
|
|
13
|
-
*/
|
|
14
|
-
export type PromptSessionEntry = {
|
|
15
|
-
sessionId: string;
|
|
16
|
-
startedAt: string;
|
|
17
|
-
lastActiveAt: string;
|
|
18
|
-
promptCount: number;
|
|
19
|
-
};
|
|
20
|
-
/** One day's prompt counts, cumulative per (machine, date). */
|
|
21
|
-
export type PromptDayEntry = {
|
|
22
|
-
date: string;
|
|
23
|
-
prompts: number;
|
|
24
|
-
words: number;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* The prompt-metadata block of an upload. Present only under the `stats` or
|
|
28
|
-
* `full` tier of `promptSync` — never at `none`, and never carrying prompt text
|
|
29
|
-
* (that rides in `promptStats.conversationSample`, `full` only).
|
|
30
|
-
*/
|
|
31
|
-
export type PromptActivity = {
|
|
32
|
-
sessions: PromptSessionEntry[];
|
|
33
|
-
dailyPrompts: PromptDayEntry[];
|
|
34
|
-
};
|
|
35
|
-
/** The server's caps. Anything over stays dirty and goes out next tick. */
|
|
36
|
-
export declare const PROMPT_ACTIVITY_SESSION_CAP = 500;
|
|
37
|
-
export declare const PROMPT_ACTIVITY_DATE_CAP = 400;
|
|
38
|
-
export type CursorStats = {
|
|
39
|
-
totalCommits: number;
|
|
40
|
-
aiLinesAdded: number;
|
|
41
|
-
humanLinesAdded: number;
|
|
42
|
-
avgAiPercent: number;
|
|
43
|
-
models: Array<{
|
|
44
|
-
model: string;
|
|
45
|
-
uses: number;
|
|
46
|
-
}>;
|
|
47
|
-
};
|
|
48
|
-
export type CursorScanStatus = {
|
|
49
|
-
source: 'none';
|
|
50
|
-
} | {
|
|
51
|
-
source: 'api';
|
|
52
|
-
events: number;
|
|
53
|
-
} | {
|
|
54
|
-
source: 'api-partial';
|
|
55
|
-
events: number;
|
|
56
|
-
reason: string;
|
|
57
|
-
} | {
|
|
58
|
-
source: 'api-failed';
|
|
59
|
-
reason: string;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Uniform result every scanner returns. No shared module state — each scanner
|
|
63
|
-
* owns its own maps, so scanners are pure and safe to run concurrently.
|
|
64
|
-
*/
|
|
65
|
-
export type ScanResult = {
|
|
66
|
-
tool: Tool;
|
|
67
|
-
daily: DailyToolEntry[];
|
|
68
|
-
/** model name -> tokens, for the share card + modelTotals payload. */
|
|
69
|
-
models: Record<string, number>;
|
|
70
|
-
/** Cursor-only: local commit stats (null for other tools). */
|
|
71
|
-
cursorStats?: CursorStats | null;
|
|
72
|
-
/** Cursor-only: how the scan resolved (api/local/failed). */
|
|
73
|
-
cursorScanStatus?: CursorScanStatus;
|
|
74
|
-
};
|
|
75
|
-
export declare function emptyResult(tool: Tool): ScanResult;
|
|
76
|
-
export type TokensMessages = {
|
|
77
|
-
tokens: number;
|
|
78
|
-
messages: number;
|
|
79
|
-
};
|
|
80
|
-
export declare function toDateStr(ts: string | number | Date): string;
|
|
81
|
-
/** `n` days before today, as a YYYY-MM-DD cutoff. */
|
|
82
|
-
export declare function dateDaysAgo(days: number): string;
|
|
83
|
-
export declare function formatTokens(n: number): string;
|
|
84
|
-
/** Fold a raw model id into a short display label, keeping the version. */
|
|
85
|
-
export declare function shortModelName(raw: string): string;
|
|
86
|
-
export declare function formatBytes(n: number): string;
|
|
87
|
-
/**
|
|
88
|
-
* Current + longest activity-day streak from a set of activity dates
|
|
89
|
-
* (YYYY-MM-DD, UTC). Mirrors the server's updateStreak so the share card shows
|
|
90
|
-
* the same numbers the profile will after sync: the current streak only counts
|
|
91
|
-
* if the most recent activity was today or yesterday.
|
|
92
|
-
*/
|
|
93
|
-
export declare function computeStreaks(dates: string[]): {
|
|
94
|
-
current: number;
|
|
95
|
-
longest: number;
|
|
96
|
-
};
|
|
97
|
-
/** Recursively collect files with a given extension; unreadable dirs are skipped. */
|
|
98
|
-
export declare function findFiles(dir: string, ext: string): Promise<string[]>;
|
|
99
|
-
/**
|
|
100
|
-
* Per-scanner accumulator. Replaces the old module-level modelAccumulator
|
|
101
|
-
* globals — each scanner instantiates its own, so there is no cross-scan state
|
|
102
|
-
* to clear and concurrent runs can't clobber each other.
|
|
103
|
-
*/
|
|
104
|
-
export declare class TokenCollector {
|
|
105
|
-
private readonly tool;
|
|
106
|
-
private readonly dailyByModel;
|
|
107
|
-
private readonly models;
|
|
108
|
-
constructor(tool: Tool);
|
|
109
|
-
addDaily(date: string, model: string, tokens: number, messages?: number): void;
|
|
110
|
-
result(extra?: Partial<ScanResult>): ScanResult;
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/scanners/util.ts"],"names":[],"mappings":"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"}
|
package/dist/scanners/util.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { readdir } from 'node:fs/promises';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
/** The server's caps. Anything over stays dirty and goes out next tick. */
|
|
4
|
-
export const PROMPT_ACTIVITY_SESSION_CAP = 500;
|
|
5
|
-
export const PROMPT_ACTIVITY_DATE_CAP = 400;
|
|
6
|
-
export function emptyResult(tool) {
|
|
7
|
-
return { tool, daily: [], models: {} };
|
|
8
|
-
}
|
|
9
|
-
export function toDateStr(ts) {
|
|
10
|
-
const v = typeof ts === 'string' && /^\d+$/.test(ts) ? Number(ts) : ts;
|
|
11
|
-
const d = new Date(v);
|
|
12
|
-
return d.toISOString().slice(0, 10);
|
|
13
|
-
}
|
|
14
|
-
/** `n` days before today, as a YYYY-MM-DD cutoff. */
|
|
15
|
-
export function dateDaysAgo(days) {
|
|
16
|
-
const d = new Date();
|
|
17
|
-
d.setUTCDate(d.getUTCDate() - days);
|
|
18
|
-
return d.toISOString().slice(0, 10);
|
|
19
|
-
}
|
|
20
|
-
export function formatTokens(n) {
|
|
21
|
-
if (n >= 1_000_000_000)
|
|
22
|
-
return `${(n / 1_000_000_000).toFixed(1)}B`;
|
|
23
|
-
if (n >= 1_000_000)
|
|
24
|
-
return `${(n / 1_000_000).toFixed(1)}M`;
|
|
25
|
-
if (n >= 1_000)
|
|
26
|
-
return `${(n / 1_000).toFixed(0)}K`;
|
|
27
|
-
return String(n);
|
|
28
|
-
}
|
|
29
|
-
/** Fold a raw model id into a short display label, keeping the version. */
|
|
30
|
-
export function shortModelName(raw) {
|
|
31
|
-
const s = raw.trim().toLowerCase();
|
|
32
|
-
if (!s)
|
|
33
|
-
return '';
|
|
34
|
-
const t = s.replace(/[-_]?\d{8}$/, '');
|
|
35
|
-
const tier = t.includes('opus')
|
|
36
|
-
? 'opus'
|
|
37
|
-
: t.includes('sonnet')
|
|
38
|
-
? 'sonnet'
|
|
39
|
-
: t.includes('haiku')
|
|
40
|
-
? 'haiku'
|
|
41
|
-
: null;
|
|
42
|
-
if (tier) {
|
|
43
|
-
const ver = t
|
|
44
|
-
.split(/[-_.\s]+/)
|
|
45
|
-
.filter((p) => /^\d+$/.test(p))
|
|
46
|
-
.slice(0, 2)
|
|
47
|
-
.join('.');
|
|
48
|
-
return (ver ? `${tier} ${ver}` : tier).toUpperCase();
|
|
49
|
-
}
|
|
50
|
-
return t.toUpperCase().slice(0, 16);
|
|
51
|
-
}
|
|
52
|
-
export function formatBytes(n) {
|
|
53
|
-
if (n >= 1_073_741_824)
|
|
54
|
-
return `${(n / 1_073_741_824).toFixed(1)}GB`;
|
|
55
|
-
if (n >= 1_048_576)
|
|
56
|
-
return `${(n / 1_048_576).toFixed(1)}MB`;
|
|
57
|
-
if (n >= 1_024)
|
|
58
|
-
return `${(n / 1_024).toFixed(0)}KB`;
|
|
59
|
-
return `${n}B`;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Current + longest activity-day streak from a set of activity dates
|
|
63
|
-
* (YYYY-MM-DD, UTC). Mirrors the server's updateStreak so the share card shows
|
|
64
|
-
* the same numbers the profile will after sync: the current streak only counts
|
|
65
|
-
* if the most recent activity was today or yesterday.
|
|
66
|
-
*/
|
|
67
|
-
export function computeStreaks(dates) {
|
|
68
|
-
const dateSet = new Set(dates);
|
|
69
|
-
if (dateSet.size === 0)
|
|
70
|
-
return { current: 0, longest: 0 };
|
|
71
|
-
const sorted = [...dateSet].sort((a, b) => b.localeCompare(a)); // newest first
|
|
72
|
-
const today = new Date().toISOString().slice(0, 10);
|
|
73
|
-
const yest = new Date();
|
|
74
|
-
yest.setUTCDate(yest.getUTCDate() - 1);
|
|
75
|
-
const yesterday = yest.toISOString().slice(0, 10);
|
|
76
|
-
let current = 0;
|
|
77
|
-
if (sorted[0] === today || sorted[0] === yesterday) {
|
|
78
|
-
const cursor = new Date(`${sorted[0]}T00:00:00Z`);
|
|
79
|
-
while (dateSet.has(cursor.toISOString().slice(0, 10))) {
|
|
80
|
-
current++;
|
|
81
|
-
cursor.setUTCDate(cursor.getUTCDate() - 1);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
let longest = 0;
|
|
85
|
-
let run = 1;
|
|
86
|
-
for (let i = 1; i < sorted.length; i++) {
|
|
87
|
-
const prev = new Date(`${sorted[i - 1]}T00:00:00Z`).getTime();
|
|
88
|
-
const curr = new Date(`${sorted[i]}T00:00:00Z`).getTime();
|
|
89
|
-
if (Math.round((prev - curr) / 86_400_000) === 1) {
|
|
90
|
-
run++;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
longest = Math.max(longest, run);
|
|
94
|
-
run = 1;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
longest = Math.max(longest, run, current);
|
|
98
|
-
return { current, longest };
|
|
99
|
-
}
|
|
100
|
-
/** Recursively collect files with a given extension; unreadable dirs are skipped. */
|
|
101
|
-
export async function findFiles(dir, ext) {
|
|
102
|
-
const results = [];
|
|
103
|
-
async function walk(current) {
|
|
104
|
-
try {
|
|
105
|
-
const entries = await readdir(current, { withFileTypes: true });
|
|
106
|
-
for (const entry of entries) {
|
|
107
|
-
const fullPath = join(current, entry.name);
|
|
108
|
-
if (entry.isDirectory()) {
|
|
109
|
-
await walk(fullPath);
|
|
110
|
-
}
|
|
111
|
-
else if (entry.name.endsWith(ext)) {
|
|
112
|
-
results.push(fullPath);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
// skip unreadable directories
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
await walk(dir);
|
|
121
|
-
return results;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Per-scanner accumulator. Replaces the old module-level modelAccumulator
|
|
125
|
-
* globals — each scanner instantiates its own, so there is no cross-scan state
|
|
126
|
-
* to clear and concurrent runs can't clobber each other.
|
|
127
|
-
*/
|
|
128
|
-
export class TokenCollector {
|
|
129
|
-
tool;
|
|
130
|
-
dailyByModel = new Map();
|
|
131
|
-
models = new Map();
|
|
132
|
-
constructor(tool) {
|
|
133
|
-
this.tool = tool;
|
|
134
|
-
}
|
|
135
|
-
addDaily(date, model, tokens, messages = 1) {
|
|
136
|
-
const key = `${date}|${model}`;
|
|
137
|
-
const existing = this.dailyByModel.get(key);
|
|
138
|
-
if (existing) {
|
|
139
|
-
existing.tokens += tokens;
|
|
140
|
-
existing.messages += messages;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
this.dailyByModel.set(key, { tokens, messages });
|
|
144
|
-
}
|
|
145
|
-
if (model)
|
|
146
|
-
this.models.set(model, (this.models.get(model) ?? 0) + tokens);
|
|
147
|
-
}
|
|
148
|
-
result(extra) {
|
|
149
|
-
const daily = Array.from(this.dailyByModel.entries()).map(([key, { tokens, messages }]) => {
|
|
150
|
-
const [date, model] = key.split('|');
|
|
151
|
-
return {
|
|
152
|
-
date: date ?? '',
|
|
153
|
-
tool: this.tool,
|
|
154
|
-
tokens,
|
|
155
|
-
messages,
|
|
156
|
-
model: model || undefined,
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
return {
|
|
160
|
-
tool: this.tool,
|
|
161
|
-
daily,
|
|
162
|
-
models: Object.fromEntries(this.models),
|
|
163
|
-
...extra,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/scanners/util.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export type Session = {
|
|
2
|
-
token: string;
|
|
3
|
-
email: string;
|
|
4
|
-
handle?: string;
|
|
5
|
-
/**
|
|
6
|
-
* Whether the profile has completed the username claim. A handle can exist on
|
|
7
|
-
* an auto-created but unclaimed profile. `login` claims the handle the
|
|
8
|
-
* account came with so a finished session is the default. Absent on
|
|
9
|
-
* sessions saved before this field existed — treated as unclaimed until the
|
|
10
|
-
* next login refreshes it.
|
|
11
|
-
*/
|
|
12
|
-
usernameClaimed?: boolean;
|
|
13
|
-
appUrl: string;
|
|
14
|
-
savedAt: string;
|
|
15
|
-
expiresAt?: string;
|
|
16
|
-
};
|
|
17
|
-
export type LoadSessionState = {
|
|
18
|
-
status: 'ok';
|
|
19
|
-
session: Session;
|
|
20
|
-
} | {
|
|
21
|
-
status: 'missing' | 'invalid' | 'expired';
|
|
22
|
-
session: null;
|
|
23
|
-
};
|
|
24
|
-
export declare function getSessionPath(): string;
|
|
25
|
-
export declare function saveSession(session: Session): Promise<void>;
|
|
26
|
-
export declare function getSessionExpiresAt(session: Pick<Session, 'expiresAt' | 'savedAt'>): Date | null;
|
|
27
|
-
export declare function isSessionExpired(session: Pick<Session, 'expiresAt' | 'savedAt'>, now?: Date): boolean;
|
|
28
|
-
export declare function loadSessionState(): Promise<LoadSessionState>;
|
|
29
|
-
export declare function loadSession(): Promise<Session | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Delete the local session file. Returns true if a file was removed, false if
|
|
32
|
-
* there was nothing to clear (no session). Local-only — it doesn't revoke the
|
|
33
|
-
* token server-side, so the token stays valid until it expires.
|
|
34
|
-
*/
|
|
35
|
-
export declare function clearSession(): Promise<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Named backends the CLI can target via `--env`. Any other backend (e.g. an
|
|
38
|
-
* internal preview or self-hosted instance) can be targeted with
|
|
39
|
-
* `HACKLAB_APP_URL`.
|
|
40
|
-
*/
|
|
41
|
-
export declare const HACKLAB_ENVIRONMENTS: {
|
|
42
|
-
readonly production: "https://hacklab.so";
|
|
43
|
-
readonly development: "http://localhost:3000";
|
|
44
|
-
};
|
|
45
|
-
export type HacklabEnv = keyof typeof HACKLAB_ENVIRONMENTS;
|
|
46
|
-
export declare function isHacklabEnv(value: string): value is HacklabEnv;
|
|
47
|
-
/**
|
|
48
|
-
* Resolve an `--env` value to a canonical backend name. Accepts the full name,
|
|
49
|
-
* any unambiguous prefix (`dev`/`prod`, mirroring how command names resolve so
|
|
50
|
-
* abbreviations work everywhere), and a couple of natural aliases
|
|
51
|
-
* (`local`/`localhost`). Returns null if it matches none — the env names start
|
|
52
|
-
* with distinct letters, so a prefix is never ambiguous.
|
|
53
|
-
*/
|
|
54
|
-
export declare function resolveHacklabEnv(value: string): HacklabEnv | null;
|
|
55
|
-
/**
|
|
56
|
-
* Reverse of HACKLAB_ENVIRONMENTS: the canonical env name for a backend URL, or
|
|
57
|
-
* null when it isn't one of the three known backends (e.g. a custom
|
|
58
|
-
* HACKLAB_APP_URL). Used to suggest the right `hacklab login --env <name>` when
|
|
59
|
-
* a per-backend token is rejected.
|
|
60
|
-
*/
|
|
61
|
-
export declare function envNameForUrl(url: string): HacklabEnv | null;
|
|
62
|
-
/**
|
|
63
|
-
* Which backend to talk to, by precedence:
|
|
64
|
-
* 1. an explicit `HACKLAB_APP_URL` (also how `--env` is applied — see
|
|
65
|
-
* index.ts) so `--env development` always switches backends;
|
|
66
|
-
* 2. the backend you logged into (`session.appUrl`), when a session is given;
|
|
67
|
-
* 3. the production default, so a freshly-installed `hacklab` hits hacklab.so
|
|
68
|
-
* rather than a localhost server that isn't running.
|
|
69
|
-
*
|
|
70
|
-
* The single source of this precedence: `getAppUrl()` is the no-session form,
|
|
71
|
-
* and the chat command's `baseUrl()` is the session-aware form. Note the token
|
|
72
|
-
* is per-backend, so pointing `--env` at an env you haven't logged into will
|
|
73
|
-
* 401 until you `hacklab login --env <that>`.
|
|
74
|
-
*/
|
|
75
|
-
export declare function resolveAppUrl(session?: Pick<Session, 'appUrl'> | null): string;
|
|
76
|
-
export declare function unauthorizedHint(session: Session): string;
|
|
77
|
-
export declare function getAppUrl(): string;
|
|
78
|
-
/**
|
|
79
|
-
* What the backend said about a saved token:
|
|
80
|
-
*
|
|
81
|
-
* 'ok' — the token authenticates; the account is real.
|
|
82
|
-
* 'unauthorized' — the backend refused it: revoked, expired, or minted for a
|
|
83
|
-
* different backend. The session on disk is dead.
|
|
84
|
-
* 'unverified' — the backend never answered the question (offline, timeout,
|
|
85
|
-
* 5xx, a rate limit). Not the same as "logged out".
|
|
86
|
-
*/
|
|
87
|
-
export type SessionCheck = 'ok' | 'unauthorized' | 'unverified';
|
|
88
|
-
/**
|
|
89
|
-
* Ask the backend whether this session still works.
|
|
90
|
-
*
|
|
91
|
-
* `GET /api/hackers/me` is the cheapest authenticated read there is, and its
|
|
92
|
-
* answer is unambiguous: the route resolves the bearer token against the live
|
|
93
|
-
* session rows, so only a token with no unexpired session behind it comes back
|
|
94
|
-
* 401. That is the *one* status that means signed out, and the only one that
|
|
95
|
-
* may cost someone their local session. The route has no 403 on GET (the one
|
|
96
|
-
* 403 it can return belongs to PATCH, for a profile that hasn't been claimed),
|
|
97
|
-
* so 403 is not treated as a refusal here.
|
|
98
|
-
*
|
|
99
|
-
* Everything else is 'unverified' — a 429 from either of the route's rate
|
|
100
|
-
* limiters (the per-IP one fires before auth is even looked at), a 5xx, a DNS
|
|
101
|
-
* failure on a plane, the 10s timeout. A machine that can't reach the server is
|
|
102
|
-
* not a machine whose account is gone, and guessing otherwise would throw away
|
|
103
|
-
* a working session over a flaky network.
|
|
104
|
-
*/
|
|
105
|
-
export declare function verifySession(session: Session): Promise<SessionCheck>;
|
|
106
|
-
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAKD,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAEhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjE;AASD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,GAC9C,IAAI,GAAG,IAAI,CAQb;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,EAC/C,GAAG,OAAa,GACf,OAAO,CAGT;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyBlE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE3D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAOrD;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;CAGvB,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAE1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAQD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GACvC,MAAM,CAOR;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,cAAc,GAAG,YAAY,CAAA;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAc3E"}
|