@bitspark/archon-cli 0.6.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cmd/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function run(args: string[]): void;
@@ -0,0 +1,51 @@
1
+ // archon sign — sign raw bytes, raw or in a domain. The message is the input, verbatim.
2
+ // With --domain the signature is domain-separated (Ed25519ph with the domain as RFC 8032
3
+ // context) and verifies only there; without it, the signature is raw Ed25519 and
4
+ // separation is the caller's problem. This is NOT thesmos's `sign` — that one signs a
5
+ // fact and knows what a fact is. This one knows nothing.
6
+ import { sign, signInDomain, toHex } from "@bitspark/archon";
7
+ import { readBytes, resolveSeed, wantsHelp } from "../io.js";
8
+ const USAGE = "usage: archon sign (--key-file <pkcs8.pem> | --seed <hex>) [--domain <d>] [--in <file>]\n " +
9
+ "signs the input bytes (stdin, or --in <file>) and prints the signature as hex. --domain " +
10
+ "makes the signature domain-separated: it verifies in that domain and nowhere else.";
11
+ export function run(args) {
12
+ if (wantsHelp(args)) {
13
+ process.stdout.write(`${USAGE}\n`);
14
+ return;
15
+ }
16
+ let keyFile;
17
+ let seedHex;
18
+ let domain;
19
+ let inFile;
20
+ for (let i = 0; i < args.length; i += 2) {
21
+ const flag = args[i];
22
+ const value = args[i + 1];
23
+ if (value === undefined || (value === "" && flag !== "--domain")) {
24
+ throw new Error(`flag ${JSON.stringify(flag)} needs a value\n${USAGE}`);
25
+ }
26
+ switch (flag) {
27
+ case "--key-file":
28
+ keyFile = value;
29
+ break;
30
+ case "--seed":
31
+ seedHex = value;
32
+ break;
33
+ case "--domain":
34
+ domain = value;
35
+ break;
36
+ case "--in":
37
+ inFile = value;
38
+ break;
39
+ default:
40
+ throw new Error(`unknown flag ${JSON.stringify(flag)}\n${USAGE}`);
41
+ }
42
+ }
43
+ if (keyFile === undefined && seedHex === undefined) {
44
+ throw new Error(`one of --key-file or --seed is required\n${USAGE}`);
45
+ }
46
+ const seed = resolveSeed(seedHex, keyFile, USAGE);
47
+ const message = readBytes(inFile);
48
+ const sig = domain !== undefined ? signInDomain(seed, domain, message) : sign(message, seed);
49
+ process.stdout.write(`${toHex(sig)}\n`);
50
+ }
51
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/cmd/sign.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,yFAAyF;AACzF,iFAAiF;AACjF,sFAAsF;AACtF,yDAAyD;AACzD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,KAAK,GACT,6FAA6F;IAC7F,0FAA0F;IAC1F,oFAAoF,CAAC;AAEvF,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,IAAI,OAA2B,CAAC;IAChC,IAAI,OAA2B,CAAC;IAChC,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY;gBACf,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function run(args: string[]): void;
@@ -0,0 +1,68 @@
1
+ // archon verify — verify a signature over raw bytes, raw or in a domain. Prints `valid`
2
+ // (exit 0) or `invalid` (exit 1) on stdout: a verdict, not a usage error, so a bad
3
+ // signature is silent on stderr. Not thesmos's `verify` — that one verifies facts, proofs
4
+ // and freshness. This one verifies bytes.
5
+ import { decodeKey, pubkeyFromHex, signatureFromHex, verify, verifyInDomain } from "@bitspark/archon";
6
+ import { readBytes, Verdict, wantsHelp } from "../io.js";
7
+ const USAGE = "usage: archon verify --pubkey <ed25519:...|hex> --sig <hex> [--domain <d>] [--in <file>]\n " +
8
+ "verifies the signature over the input bytes (stdin, or --in <file>); prints valid (exit 0) " +
9
+ "or invalid (exit 1). --domain checks a domain-separated signature.";
10
+ export function run(args) {
11
+ if (wantsHelp(args)) {
12
+ process.stdout.write(`${USAGE}\n`);
13
+ return;
14
+ }
15
+ let pubkey;
16
+ let sig;
17
+ let domain;
18
+ let inFile;
19
+ for (let i = 0; i < args.length; i += 2) {
20
+ const flag = args[i];
21
+ const value = args[i + 1];
22
+ if (value === undefined || (value === "" && flag !== "--domain")) {
23
+ throw new Error(`flag ${JSON.stringify(flag)} needs a value\n${USAGE}`);
24
+ }
25
+ switch (flag) {
26
+ case "--pubkey":
27
+ pubkey = parsePubkey(value);
28
+ break;
29
+ case "--sig":
30
+ try {
31
+ sig = signatureFromHex(value);
32
+ }
33
+ catch (e) {
34
+ throw new Error(`--sig: ${e.message}`);
35
+ }
36
+ break;
37
+ case "--domain":
38
+ domain = value;
39
+ break;
40
+ case "--in":
41
+ inFile = value;
42
+ break;
43
+ default:
44
+ throw new Error(`unknown flag ${JSON.stringify(flag)}\n${USAGE}`);
45
+ }
46
+ }
47
+ if (pubkey === undefined || sig === undefined) {
48
+ throw new Error(`--pubkey and --sig are required\n${USAGE}`);
49
+ }
50
+ const message = readBytes(inFile);
51
+ const ok = domain !== undefined ? verifyInDomain(pubkey, domain, message, sig) : verify(sig, message, pubkey);
52
+ if (ok) {
53
+ process.stdout.write("valid\n");
54
+ return;
55
+ }
56
+ process.stdout.write("invalid\n");
57
+ throw new Verdict("invalid");
58
+ }
59
+ /** A public key as canonical key text (`ed25519:<hex>`) or bare hex. */
60
+ function parsePubkey(value) {
61
+ try {
62
+ return value.startsWith("ed25519:") ? decodeKey(value) : pubkeyFromHex(value);
63
+ }
64
+ catch (e) {
65
+ throw new Error(`--pubkey: ${e.message}`);
66
+ }
67
+ }
68
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cmd/verify.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,mFAAmF;AACnF,0FAA0F;AAC1F,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,KAAK,GACT,8FAA8F;IAC9F,6FAA6F;IAC7F,oEAAoE,CAAC;AAEvE,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,IAAI,MAA8B,CAAC;IACnC,IAAI,GAA2B,CAAC;IAChC,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC;oBACH,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,UAAW,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9G,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,wEAAwE;AACxE,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,aAAc,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function versionLine(): string;
2
+ export declare function run(args: string[]): void;
@@ -0,0 +1,16 @@
1
+ // archon version — one line `archon <semver> (<commit>)`. The commit is ARCHON_GIT_COMMIT
2
+ // when the environment stamps it, else "unknown" — pinned only by SHAPE, never byte-for-byte.
3
+ import { wantsHelp } from "../io.js";
4
+ const VERSION = "0.5.0";
5
+ const USAGE = "usage: archon version (prints version + build info)";
6
+ export function versionLine() {
7
+ return `archon ${VERSION} (${process.env["ARCHON_GIT_COMMIT"] ?? "unknown"})`;
8
+ }
9
+ export function run(args) {
10
+ if (wantsHelp(args)) {
11
+ process.stdout.write(`${USAGE}\n`);
12
+ return;
13
+ }
14
+ process.stdout.write(`${versionLine()}\n`);
15
+ }
16
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/cmd/version.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,8FAA8F;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,KAAK,GAAG,sDAAsD,CAAC;AAErE,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,GAAG,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** Read the whole input as raw bytes: the file when given, else stdin. */
2
+ export declare function readBytes(file?: string): Uint8Array;
3
+ /** Read the whole input as UTF-8 text (PEM blocks). */
4
+ export declare function readText(file?: string): string;
5
+ /**
6
+ * Scan args for an optional `--in <file>` pair; return [argsWithoutIt, file?]. A trailing
7
+ * or empty `--in` throws.
8
+ */
9
+ export declare function takeInFlag(args: string[]): [string[], string | undefined];
10
+ /** `<cmd> --help` / `-h` as the first token: help is success (usage to stdout, exit 0). */
11
+ export declare function wantsHelp(args: string[]): boolean;
12
+ /**
13
+ * Resolve a private key from the two ways every signing command accepts one: `--seed
14
+ * <hex>` (a raw 32-byte seed) or a PKCS#8 PEM from `--key-file <file>` / stdin.
15
+ */
16
+ export declare function resolveSeed(seedHex: string | undefined, keyFile: string | undefined, usage: string): Uint8Array;
17
+ /** A verdict (`invalid`): already printed on stdout, exit 1, nothing on stderr. */
18
+ export declare class Verdict extends Error {
19
+ }
package/dist/src/io.js ADDED
@@ -0,0 +1,65 @@
1
+ // Input plumbing shared by every subcommand: stdin-or-`--in <file>`, as bytes or text.
2
+ // `--in <file>` exists because PowerShell has no `<` input redirection; when absent,
3
+ // behaviour is byte-identical to the stdin default. An empty `--in ""` is rejected as "no
4
+ // value" so all three lanes fail the same way.
5
+ import { readFileSync } from "node:fs";
6
+ import { pkcs8PemToSeed, seedFromHex } from "@bitspark/archon";
7
+ /** Read the whole input as raw bytes: the file when given, else stdin. */
8
+ export function readBytes(file) {
9
+ try {
10
+ return new Uint8Array(file !== undefined ? readFileSync(file) : readFileSync(0));
11
+ }
12
+ catch (e) {
13
+ throw new Error(file !== undefined ? `could not read ${JSON.stringify(file)}: ${e.message}` : `could not read stdin: ${e.message}`);
14
+ }
15
+ }
16
+ /** Read the whole input as UTF-8 text (PEM blocks). */
17
+ export function readText(file) {
18
+ return new TextDecoder().decode(readBytes(file));
19
+ }
20
+ /**
21
+ * Scan args for an optional `--in <file>` pair; return [argsWithoutIt, file?]. A trailing
22
+ * or empty `--in` throws.
23
+ */
24
+ export function takeInFlag(args) {
25
+ const rest = [];
26
+ let file;
27
+ for (let i = 0; i < args.length; i += 1) {
28
+ if (args[i] === "--in") {
29
+ const v = args[i + 1];
30
+ if (v === undefined || v === "")
31
+ throw new Error('flag "--in" needs a value');
32
+ file = v;
33
+ i += 1;
34
+ continue;
35
+ }
36
+ rest.push(args[i]);
37
+ }
38
+ return [rest, file];
39
+ }
40
+ /** `<cmd> --help` / `-h` as the first token: help is success (usage to stdout, exit 0). */
41
+ export function wantsHelp(args) {
42
+ return args[0] === "--help" || args[0] === "-h";
43
+ }
44
+ /**
45
+ * Resolve a private key from the two ways every signing command accepts one: `--seed
46
+ * <hex>` (a raw 32-byte seed) or a PKCS#8 PEM from `--key-file <file>` / stdin.
47
+ */
48
+ export function resolveSeed(seedHex, keyFile, usage) {
49
+ if (seedHex !== undefined && keyFile !== undefined) {
50
+ throw new Error(`--seed and --key-file are mutually exclusive\n${usage}`);
51
+ }
52
+ if (seedHex !== undefined) {
53
+ try {
54
+ return seedFromHex(seedHex);
55
+ }
56
+ catch (e) {
57
+ throw new Error(`--seed: ${e.message}`);
58
+ }
59
+ }
60
+ return pkcs8PemToSeed(readText(keyFile));
61
+ }
62
+ /** A verdict (`invalid`): already printed on stdout, exit 1, nothing on stderr. */
63
+ export class Verdict extends Error {
64
+ }
65
+ //# sourceMappingURL=io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,qFAAqF;AACrF,0FAA0F;AAC1F,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/D,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5J,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAwB,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC9E,IAAI,GAAG,CAAC,CAAC;YACT,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B,EAAE,OAA2B,EAAE,KAAa;IACjG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,iDAAiD,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,mFAAmF;AACnF,MAAM,OAAO,OAAQ,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,55 @@
1
+ export declare const MAGIC: Uint8Array<ArrayBuffer>;
2
+ export declare const VERSION = 1;
3
+ export declare const SALT_SIZE = 16;
4
+ export declare const NONCE_SIZE = 24;
5
+ export declare const SEED_SIZE = 32;
6
+ export declare const PUBLIC_KEY_SIZE = 32;
7
+ export declare const HEADER_SIZE: number;
8
+ export declare const FILE_SIZE: number;
9
+ export declare const DEFAULT_MEMORY_KIB = 65536;
10
+ export declare const DEFAULT_TIME = 3;
11
+ export declare const DEFAULT_PARALLELISM = 1;
12
+ /** Argon2id cost parameters. Read from the header, never assumed. */
13
+ export type KeyParams = {
14
+ memoryKiB: number;
15
+ time: number;
16
+ parallelism: number;
17
+ };
18
+ export declare const defaultParams: () => KeyParams;
19
+ /**
20
+ * The authenticated prefix of a key file. `publicKey` is readable without a password —
21
+ * that is what `key list` prints — but it is only a CLAIM until an unlock verifies the tag
22
+ * over this header and re-derives it from the seed.
23
+ */
24
+ export type KeyHeader = {
25
+ params: KeyParams;
26
+ salt: Uint8Array;
27
+ publicKey: Uint8Array;
28
+ };
29
+ export declare const EMPTY_PASSWORD = "an empty password is refused: it would look encrypted and not be";
30
+ export declare function encodeHeader(h: KeyHeader): Uint8Array;
31
+ /**
32
+ * Reads the header of a key file WITHOUT a password. Every refusal here is cheap and
33
+ * happens before any crypto runs.
34
+ */
35
+ export declare function parseHeader(file: Uint8Array): KeyHeader;
36
+ /**
37
+ * Produces the 134 bytes. `salt` and `nonce` are ARGUMENTS: the randomness is the
38
+ * command's, never this function's, which is what makes the format pinnable.
39
+ */
40
+ export declare function seal(seed: Uint8Array, password: string, salt: Uint8Array, nonce: Uint8Array, p: KeyParams): Uint8Array;
41
+ /**
42
+ * Reverses seal() and then checks the decrypted seed against the header's public key. The
43
+ * tag proves the bytes are ours; that check proves they are CONSISTENT — a file can verify
44
+ * and still be refused.
45
+ */
46
+ export declare function open(file: Uint8Array, password: string): Uint8Array;
47
+ export declare const NAME_MAX_BYTES = 64;
48
+ /**
49
+ * Restricts rather than escapes: a name is a path segment on three operating systems, and
50
+ * quoting it correctly on all of them is a harder problem than refusing the characters
51
+ * that make it interesting. Throws with the reason; callers that only want a verdict use
52
+ * isValidName.
53
+ */
54
+ export declare function validateName(name: string): void;
55
+ export declare function isValidName(name: string): boolean;
@@ -0,0 +1,204 @@
1
+ // The archon key store's file format — docs/keystore.md, ADR 0007 §A.
2
+ //
3
+ // A fixed 134-byte layout, identical across cli/{rs,go,ts} and pinned by
4
+ // vectors/keystore.json:
5
+ //
6
+ // "arck" ‖ version ‖ u32be(m KiB) ‖ u32be(t) ‖ u8(p) ‖ salt[16] ‖ pubkey[32] header, 62
7
+ // nonce[24]
8
+ // XChaCha20Poly1305(seed[32], aad = header) 48 with tag
9
+ //
10
+ // This module is the format and nothing else: no paths, no prompts, no policy. Custody is
11
+ // the command's (ADR 0007 §A) and nothing in core/ or sdk/ learns a password — but that
12
+ // cuts both ways, so the format does not learn a directory either.
13
+ //
14
+ // This is the slow lane: pure-JS Argon2id costs ~2.0 s per unlock at the shipping
15
+ // parameters against ~210 ms native (docs/keystore.md §3). `key list` never pays it,
16
+ // because the public key is in the clear.
17
+ import { argon2id } from "@noble/hashes/argon2.js";
18
+ import { xchacha20poly1305 } from "@noble/ciphers/chacha.js";
19
+ import { getPublicKey } from "@bitspark/archon";
20
+ // Follows the envelope's "arcn" ‖ version (sdk/{go,rs,ts}). It is what stops a 134-byte
21
+ // non-key file being LISTED as a key: `key list` reads the header without a password, so
22
+ // it is the one place a wrong file would be believed.
23
+ export const MAGIC = new Uint8Array([0x61, 0x72, 0x63, 0x6b]); // "arck"
24
+ export const VERSION = 0x01;
25
+ export const SALT_SIZE = 16;
26
+ export const NONCE_SIZE = 24;
27
+ export const SEED_SIZE = 32;
28
+ export const PUBLIC_KEY_SIZE = 32;
29
+ export const HEADER_SIZE = 4 + 1 + 4 + 4 + 1 + SALT_SIZE + PUBLIC_KEY_SIZE; // 62
30
+ export const FILE_SIZE = HEADER_SIZE + NONCE_SIZE + SEED_SIZE + 16; // 134
31
+ // The shipping default, measured rather than assumed (docs/keystore.md §3): p=4 buys
32
+ // nothing in any lane we ship and costs two of three external oracles.
33
+ export const DEFAULT_MEMORY_KIB = 65536;
34
+ export const DEFAULT_TIME = 3;
35
+ export const DEFAULT_PARALLELISM = 1;
36
+ export const defaultParams = () => ({
37
+ memoryKiB: DEFAULT_MEMORY_KIB,
38
+ time: DEFAULT_TIME,
39
+ parallelism: DEFAULT_PARALLELISM,
40
+ });
41
+ // Both ends refuse an empty password: a store sealed under one is a plaintext store that
42
+ // looks encrypted, and refusing at OPEN too keeps a file made by a lenient writer from
43
+ // ever being trusted.
44
+ export const EMPTY_PASSWORD = "an empty password is refused: it would look encrypted and not be";
45
+ /**
46
+ * Derives the file key. The password is UTF-8, normalised NFC so the same characters typed
47
+ * on different platforms derive the same key.
48
+ */
49
+ function deriveKey(password, salt, p) {
50
+ const bytes = new TextEncoder().encode(password.normalize("NFC"));
51
+ return argon2id(bytes, salt, { m: p.memoryKiB, t: p.time, p: p.parallelism, dkLen: 32 });
52
+ }
53
+ export function encodeHeader(h) {
54
+ const out = new Uint8Array(HEADER_SIZE);
55
+ out.set(MAGIC, 0);
56
+ out[4] = VERSION;
57
+ const dv = new DataView(out.buffer, out.byteOffset, out.byteLength);
58
+ dv.setUint32(5, h.params.memoryKiB, false);
59
+ dv.setUint32(9, h.params.time, false);
60
+ out[13] = h.params.parallelism;
61
+ out.set(h.salt, 14);
62
+ out.set(h.publicKey, 30);
63
+ return out;
64
+ }
65
+ /**
66
+ * Reads the header of a key file WITHOUT a password. Every refusal here is cheap and
67
+ * happens before any crypto runs.
68
+ */
69
+ export function parseHeader(file) {
70
+ if (file.length !== FILE_SIZE)
71
+ throw new Error(`not ${FILE_SIZE} bytes (got ${file.length})`);
72
+ for (let i = 0; i < MAGIC.length; i++) {
73
+ if (file[i] !== MAGIC[i])
74
+ throw new Error("bad magic: not an archon key file");
75
+ }
76
+ if (file[4] !== VERSION)
77
+ throw new Error(`unknown key file version ${file[4]}`);
78
+ const dv = new DataView(file.buffer, file.byteOffset, file.byteLength);
79
+ const params = {
80
+ memoryKiB: dv.getUint32(5, false),
81
+ time: dv.getUint32(9, false),
82
+ parallelism: file[13],
83
+ };
84
+ if (params.memoryKiB === 0 || params.time === 0 || params.parallelism === 0) {
85
+ throw new Error("argon2id parameters in the header are not usable");
86
+ }
87
+ return {
88
+ params,
89
+ salt: file.slice(14, 30),
90
+ publicKey: file.slice(30, HEADER_SIZE),
91
+ };
92
+ }
93
+ function sameBytes(a, b) {
94
+ if (a.length !== b.length)
95
+ return false;
96
+ let diff = 0;
97
+ for (let i = 0; i < a.length; i++)
98
+ diff |= a[i] ^ b[i];
99
+ return diff === 0;
100
+ }
101
+ /**
102
+ * Produces the 134 bytes. `salt` and `nonce` are ARGUMENTS: the randomness is the
103
+ * command's, never this function's, which is what makes the format pinnable.
104
+ */
105
+ export function seal(seed, password, salt, nonce, p) {
106
+ if (seed.length !== SEED_SIZE)
107
+ throw new Error(`seed must be ${SEED_SIZE} bytes`);
108
+ if (password.length === 0)
109
+ throw new Error(EMPTY_PASSWORD);
110
+ if (salt.length !== SALT_SIZE)
111
+ throw new Error(`salt must be ${SALT_SIZE} bytes`);
112
+ if (nonce.length !== NONCE_SIZE)
113
+ throw new Error(`nonce must be ${NONCE_SIZE} bytes`);
114
+ const header = encodeHeader({ params: p, salt, publicKey: getPublicKey(seed) });
115
+ const key = deriveKey(password, salt, p);
116
+ const ciphertext = xchacha20poly1305(key, nonce, header).encrypt(seed);
117
+ const out = new Uint8Array(FILE_SIZE);
118
+ out.set(header, 0);
119
+ out.set(nonce, HEADER_SIZE);
120
+ out.set(ciphertext, HEADER_SIZE + NONCE_SIZE);
121
+ return out;
122
+ }
123
+ /**
124
+ * Reverses seal() and then checks the decrypted seed against the header's public key. The
125
+ * tag proves the bytes are ours; that check proves they are CONSISTENT — a file can verify
126
+ * and still be refused.
127
+ */
128
+ export function open(file, password) {
129
+ const header = parseHeader(file);
130
+ if (password.length === 0)
131
+ throw new Error(EMPTY_PASSWORD);
132
+ const key = deriveKey(password, header.salt, header.params);
133
+ const nonce = file.slice(HEADER_SIZE, HEADER_SIZE + NONCE_SIZE);
134
+ let seed;
135
+ try {
136
+ seed = xchacha20poly1305(key, nonce, file.slice(0, HEADER_SIZE)).decrypt(file.slice(HEADER_SIZE + NONCE_SIZE));
137
+ }
138
+ catch {
139
+ // One message for a wrong password and a tampered file alike: which of the two it was
140
+ // is not something the holder of a bad password should learn.
141
+ throw new Error("could not open: wrong password, or the file has been altered");
142
+ }
143
+ if (seed.length !== SEED_SIZE)
144
+ throw new Error("the sealed plaintext is not a seed");
145
+ if (!sameBytes(getPublicKey(seed), header.publicKey)) {
146
+ throw new Error("the sealed seed does not derive the public key in the header");
147
+ }
148
+ return seed;
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Names — docs/keystore.md §5.
152
+ // ---------------------------------------------------------------------------
153
+ export const NAME_MAX_BYTES = 64;
154
+ // Refused bare AND with any extension: Windows treats CON.key as the device CON, so
155
+ // `archon key add CON.key` would name a file nobody can open.
156
+ const RESERVED_DEVICE_NAMES = new Set([
157
+ "con", "prn", "aux", "nul",
158
+ "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9",
159
+ "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9",
160
+ ]);
161
+ /**
162
+ * Restricts rather than escapes: a name is a path segment on three operating systems, and
163
+ * quoting it correctly on all of them is a harder problem than refusing the characters
164
+ * that make it interesting. Throws with the reason; callers that only want a verdict use
165
+ * isValidName.
166
+ */
167
+ export function validateName(name) {
168
+ if (name.length === 0)
169
+ throw new Error("a key name may not be empty");
170
+ const bytes = new TextEncoder().encode(name);
171
+ if (bytes.length > NAME_MAX_BYTES) {
172
+ throw new Error(`a key name may be at most ${NAME_MAX_BYTES} bytes (got ${bytes.length})`);
173
+ }
174
+ if (name.startsWith(".")) {
175
+ throw new Error('a key name may not begin with ".": it would hide the key');
176
+ }
177
+ // Windows strips a trailing dot, so `alice.` and `alice` would be one file on one OS and
178
+ // two on another.
179
+ if (name.endsWith("."))
180
+ throw new Error('a key name may not end with "."');
181
+ for (const b of bytes) {
182
+ const ok = (b >= 0x61 && b <= 0x7a) || (b >= 0x41 && b <= 0x5a) || (b >= 0x30 && b <= 0x39) ||
183
+ b === 0x2e || b === 0x5f || b === 0x2d;
184
+ if (!ok) {
185
+ if (b < 0x20 || b === 0x7f)
186
+ throw new Error("a key name may not contain control characters");
187
+ throw new Error('a key name may contain only letters, digits, ".", "_" and "-"');
188
+ }
189
+ }
190
+ const stem = (name.split(".")[0] ?? name).toLowerCase();
191
+ if (RESERVED_DEVICE_NAMES.has(stem)) {
192
+ throw new Error(`${JSON.stringify(name)} is a reserved device name on Windows, with or without an extension`);
193
+ }
194
+ }
195
+ export function isValidName(name) {
196
+ try {
197
+ validateName(name);
198
+ return true;
199
+ }
200
+ catch {
201
+ return false;
202
+ }
203
+ }
204
+ //# sourceMappingURL=keystore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,yEAAyE;AACzE,yBAAyB;AACzB,EAAE;AACF,2FAA2F;AAC3F,cAAc;AACd,6FAA6F;AAC7F,EAAE;AACF,0FAA0F;AAC1F,wFAAwF;AACxF,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,qFAAqF;AACrF,0CAA0C;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wFAAwF;AACxF,yFAAyF;AACzF,sDAAsD;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AAE5B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,eAAe,CAAC,CAAC,KAAK;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,MAAM;AAE1E,qFAAqF;AACrF,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAKrC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAc,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,mBAAmB;CACjC,CAAC,CAAC;AASH,yFAAyF;AACzF,uFAAuF;AACvF,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,kEAAkE,CAAC;AAEjG;;;GAGG;AACH,SAAS,SAAS,CAAC,QAAgB,EAAE,IAAgB,EAAE,CAAY;IACjE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAY;IACvC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACjB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACpE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,SAAS,eAAe,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,MAAM,GAAc;QACxB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;QACjC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,EAAE,CAAW;KAChC,CAAC;IACF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO;QACL,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,CAAa;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,IAAK,CAAC,CAAC,CAAC,CAAY,GAAI,CAAC,CAAC,CAAC,CAAY,CAAC;IAC/E,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAClB,IAAgB,EAChB,QAAgB,EAChB,IAAgB,EAChB,KAAiB,EACjB,CAAY;IAEZ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,QAAQ,CAAC,CAAC;IAClF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,QAAQ,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,QAAQ,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5B,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAgB,EAAE,QAAgB;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAChE,IAAI,IAAgB,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CACtE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,sFAAsF;QACtF,8DAA8D;QAC9D,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,oFAAoF;AACpF,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CACvE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,cAAc,eAAe,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,yFAAyF;IACzF,kBAAkB;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GACN,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;YAChF,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACzC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qEAAqE,CAC7F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};