@mikeargento/bitgraph-player 0.5.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/DOMAIN.md +119 -0
  2. package/README.md +25 -5
  3. package/dist/__tests__/check.test.js +3 -2
  4. package/dist/__tests__/check.test.js.map +1 -1
  5. package/dist/__tests__/domain.test.d.ts +2 -0
  6. package/dist/__tests__/domain.test.d.ts.map +1 -0
  7. package/dist/__tests__/domain.test.js +265 -0
  8. package/dist/__tests__/domain.test.js.map +1 -0
  9. package/dist/__tests__/fixtures.d.ts.map +1 -1
  10. package/dist/__tests__/fixtures.js +3 -1
  11. package/dist/__tests__/fixtures.js.map +1 -1
  12. package/dist/check.d.ts +46 -3
  13. package/dist/check.d.ts.map +1 -1
  14. package/dist/check.js +106 -13
  15. package/dist/check.js.map +1 -1
  16. package/dist/cli.js +194 -12
  17. package/dist/cli.js.map +1 -1
  18. package/dist/domain.d.ts +64 -0
  19. package/dist/domain.d.ts.map +1 -0
  20. package/dist/domain.js +212 -0
  21. package/dist/domain.js.map +1 -0
  22. package/dist/index.d.ts +5 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/pin.d.ts +55 -0
  27. package/dist/pin.d.ts.map +1 -0
  28. package/dist/pin.js +126 -0
  29. package/dist/pin.js.map +1 -0
  30. package/dist/play.d.ts +6 -1
  31. package/dist/play.d.ts.map +1 -1
  32. package/dist/play.js +6 -1
  33. package/dist/play.js.map +1 -1
  34. package/dist/sig.d.ts +2 -0
  35. package/dist/sig.d.ts.map +1 -1
  36. package/dist/sig.js +1 -1
  37. package/dist/sig.js.map +1 -1
  38. package/dist/types.d.ts +7 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +7 -0
  41. package/dist/types.js.map +1 -1
  42. package/dist/verdict.d.ts +1 -1
  43. package/dist/verdict.js +1 -1
  44. package/dist-web/verify.html +8 -8
  45. package/package.json +4 -3
  46. package/src/__tests__/check.test.ts +3 -2
  47. package/src/__tests__/domain.test.ts +321 -0
  48. package/src/__tests__/fixtures.ts +3 -1
  49. package/src/check.ts +162 -16
  50. package/src/cli.ts +199 -12
  51. package/src/domain.ts +245 -0
  52. package/src/index.ts +17 -1
  53. package/src/pin.ts +155 -0
  54. package/src/play.ts +6 -1
  55. package/src/sig.ts +1 -1
  56. package/src/types.ts +8 -0
  57. package/src/verdict.ts +1 -1
package/dist/index.d.ts CHANGED
@@ -27,5 +27,9 @@ export { evaluate } from "./evaluate.js";
27
27
  export type { Evaluation } from "./evaluate.js";
28
28
  export { buildVerdict, serializeVerdict, playerVersion, PLAYER_VERSION } from "./verdict.js";
29
29
  export { checkIngest, buildCheckReport, renderCheckText, serializeCheckReport, KNOWN_ENCLAVE_MEASUREMENTS } from "./check.js";
30
- export type { CheckReport, CheckRecording, CheckAnchor, CheckLine, CheckBounds, CheckBound, CheckOptions } from "./check.js";
30
+ export type { CheckReport, CheckRecording, CheckAnchor, CheckLine, CheckBounds, CheckBound, CheckOptions, CheckDomain } from "./check.js";
31
+ export { parseDomainFile, isDomainName, keyFingerprint, domainKeyRefs, diffDomainFiles, checkDomain, DomainFileError, DOMAIN_FILE_VERSION, DOMAIN_WELL_KNOWN_PATH, DOMAIN_FILE_MAX_BYTES, } from "./domain.js";
32
+ export type { DomainFile, DomainKeyRef, DomainDiff } from "./domain.js";
33
+ export { defaultPinsDir, readPin, writePin, forgetPin, listPins, fetchDomainFile } from "./pin.js";
34
+ export type { StoredPin, PinListEntry, FetchLike } from "./pin.js";
31
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACjF,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC9H,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACjF,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC9H,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1I,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnG,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -10,4 +10,6 @@ export { kleeneAll, kleeneAny, kleeneNot } from "./logic.js";
10
10
  export { evaluate } from "./evaluate.js";
11
11
  export { buildVerdict, serializeVerdict, playerVersion, PLAYER_VERSION } from "./verdict.js";
12
12
  export { checkIngest, buildCheckReport, renderCheckText, serializeCheckReport, KNOWN_ENCLAVE_MEASUREMENTS } from "./check.js";
13
+ export { parseDomainFile, isDomainName, keyFingerprint, domainKeyRefs, diffDomainFiles, checkDomain, DomainFileError, DOMAIN_FILE_VERSION, DOMAIN_WELL_KNOWN_PATH, DOMAIN_FILE_MAX_BYTES, } from "./domain.js";
14
+ export { defaultPinsDir, readPin, writePin, forgetPin, listPins, fetchDomainFile } from "./pin.js";
13
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AA8BrF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AA8BrF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAG9H,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
package/dist/pin.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ import type { DomainFile } from "./domain.js";
2
+ /** ~/.bitgraph/pins, or BITGRAPH_PINS, or the --pins flag above this. */
3
+ export declare function defaultPinsDir(): string;
4
+ export interface StoredPin {
5
+ domain: string;
6
+ file: DomainFile;
7
+ bytes: Buffer;
8
+ pinnedAt: Date;
9
+ }
10
+ /**
11
+ * Read one stored pin. Undefined when no pin exists; throws
12
+ * DomainFileError when the stored bytes no longer parse (the remedy is to
13
+ * pin again, or --forget).
14
+ */
15
+ export declare function readPin(domain: string, pinsDir?: string): StoredPin | undefined;
16
+ /** Store the fetched bytes verbatim. Overwrites: a pin is current by choice. */
17
+ export declare function writePin(domain: string, bytes: Uint8Array, pinsDir?: string): string;
18
+ /** Remove one pin. False when there was none. */
19
+ export declare function forgetPin(domain: string, pinsDir?: string): boolean;
20
+ export interface PinListEntry {
21
+ domain: string;
22
+ /** Undefined when the stored bytes no longer parse. */
23
+ party?: string;
24
+ keyCount?: number;
25
+ pinnedAt: Date;
26
+ malformed: boolean;
27
+ }
28
+ /** Every stored pin, domain order. Malformed entries are listed, flagged. */
29
+ export declare function listPins(pinsDir?: string): PinListEntry[];
30
+ /** The slice of fetch() this module uses; injectable for tests. */
31
+ export interface FetchLike {
32
+ (url: string, init?: {
33
+ signal?: AbortSignal;
34
+ redirect?: "follow";
35
+ }): Promise<{
36
+ ok: boolean;
37
+ status: number;
38
+ headers: {
39
+ get(name: string): string | null;
40
+ };
41
+ arrayBuffer(): Promise<ArrayBuffer>;
42
+ }>;
43
+ }
44
+ /**
45
+ * Fetch a domain's bitgraph-domain/1 file: one HTTPS GET of the fixed
46
+ * well-known path. Redirects are followed, but the file's own `domain`
47
+ * field must equal the requested domain (parseDomainFile enforces it), so
48
+ * a redirect cannot repoint the name. Throws on any failure; a malformed
49
+ * file is refused here and never stored.
50
+ */
51
+ export declare function fetchDomainFile(domain: string, fetchImpl?: FetchLike): Promise<{
52
+ bytes: Buffer;
53
+ file: DomainFile;
54
+ }>;
55
+ //# sourceMappingURL=pin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../src/pin.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,yEAAyE;AACzE,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAQD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAyB,GAAG,SAAS,GAAG,SAAS,CAYjG;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,MAAyB,GAAG,MAAM,CAKtG;AAED,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAyB,GAAG,OAAO,CAOrF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,GAAE,MAAyB,GAAG,YAAY,EAAE,CAyB3E;AAED,mEAAmE;AACnE,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAC3E,EAAE,EAAE,OAAO,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QAC9C,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;KACrC,CAAC,CAAC;CACJ;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAoD,GAC9D,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAuB9C"}
package/dist/pin.js ADDED
@@ -0,0 +1,126 @@
1
+ // Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
2
+ /**
3
+ * The pin store, and the fetch behind `bitgraph-play pin`: the ONLY code
4
+ * in this package that touches the network, and only when the reader
5
+ * invokes it. A pin is the reader's act and the reader's record: the
6
+ * domain's file is stored byte-verbatim on the reader's machine, and
7
+ * `check --from` reads the store and never fetches. A missing pin is an
8
+ * invocation error with the pin command as its remedy, never a verdict,
9
+ * and a stored pin outlives the file that provided it, deliberately.
10
+ */
11
+ import { mkdirSync, readdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from "node:fs";
12
+ import { homedir } from "node:os";
13
+ import { join } from "node:path";
14
+ import { DOMAIN_FILE_MAX_BYTES, DOMAIN_WELL_KNOWN_PATH, isDomainName, parseDomainFile } from "./domain.js";
15
+ /** ~/.bitgraph/pins, or BITGRAPH_PINS, or the --pins flag above this. */
16
+ export function defaultPinsDir() {
17
+ const env = process.env["BITGRAPH_PINS"];
18
+ return env !== undefined && env.length > 0 ? env : join(homedir(), ".bitgraph", "pins");
19
+ }
20
+ function pinPath(pinsDir, domain) {
21
+ if (!isDomainName(domain))
22
+ throw new Error(`not a domain name: ${domain}`);
23
+ // The domain grammar admits no path separators, so the name is the file.
24
+ return join(pinsDir, domain);
25
+ }
26
+ /**
27
+ * Read one stored pin. Undefined when no pin exists; throws
28
+ * DomainFileError when the stored bytes no longer parse (the remedy is to
29
+ * pin again, or --forget).
30
+ */
31
+ export function readPin(domain, pinsDir = defaultPinsDir()) {
32
+ const path = pinPath(pinsDir, domain);
33
+ let bytes;
34
+ let pinnedAt;
35
+ try {
36
+ bytes = readFileSync(path);
37
+ pinnedAt = statSync(path).mtime;
38
+ }
39
+ catch {
40
+ return undefined;
41
+ }
42
+ const file = parseDomainFile(bytes, domain);
43
+ return { domain, file, bytes, pinnedAt };
44
+ }
45
+ /** Store the fetched bytes verbatim. Overwrites: a pin is current by choice. */
46
+ export function writePin(domain, bytes, pinsDir = defaultPinsDir()) {
47
+ const path = pinPath(pinsDir, domain);
48
+ mkdirSync(pinsDir, { recursive: true });
49
+ writeFileSync(path, bytes);
50
+ return path;
51
+ }
52
+ /** Remove one pin. False when there was none. */
53
+ export function forgetPin(domain, pinsDir = defaultPinsDir()) {
54
+ try {
55
+ unlinkSync(pinPath(pinsDir, domain));
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ /** Every stored pin, domain order. Malformed entries are listed, flagged. */
63
+ export function listPins(pinsDir = defaultPinsDir()) {
64
+ let names;
65
+ try {
66
+ names = readdirSync(pinsDir);
67
+ }
68
+ catch {
69
+ return [];
70
+ }
71
+ const entries = [];
72
+ for (const name of names.sort()) {
73
+ if (!isDomainName(name))
74
+ continue;
75
+ try {
76
+ const pin = readPin(name, pinsDir);
77
+ if (pin === undefined)
78
+ continue;
79
+ entries.push({
80
+ domain: name,
81
+ party: pin.file.party,
82
+ keyCount: Object.keys(pin.file.keys).length,
83
+ pinnedAt: pin.pinnedAt,
84
+ malformed: false,
85
+ });
86
+ }
87
+ catch {
88
+ entries.push({ domain: name, pinnedAt: statSync(join(pinsDir, name)).mtime, malformed: true });
89
+ }
90
+ }
91
+ return entries;
92
+ }
93
+ /**
94
+ * Fetch a domain's bitgraph-domain/1 file: one HTTPS GET of the fixed
95
+ * well-known path. Redirects are followed, but the file's own `domain`
96
+ * field must equal the requested domain (parseDomainFile enforces it), so
97
+ * a redirect cannot repoint the name. Throws on any failure; a malformed
98
+ * file is refused here and never stored.
99
+ */
100
+ export async function fetchDomainFile(domain, fetchImpl = globalThis.fetch) {
101
+ if (!isDomainName(domain)) {
102
+ const hint = domain.includes("://") ? " (pass the bare hostname, without scheme or path)" : "";
103
+ throw new Error(`not a domain name: ${domain}${hint}`);
104
+ }
105
+ const url = `https://${domain}${DOMAIN_WELL_KNOWN_PATH}`;
106
+ let res;
107
+ try {
108
+ res = await fetchImpl(url, { signal: AbortSignal.timeout(15_000), redirect: "follow" });
109
+ }
110
+ catch (err) {
111
+ throw new Error(`cannot fetch ${url}: ${err.message}`);
112
+ }
113
+ if (!res.ok)
114
+ throw new Error(`no domain file at ${url} (HTTP ${res.status})`);
115
+ const declared = res.headers.get("content-length");
116
+ if (declared !== null && Number(declared) > DOMAIN_FILE_MAX_BYTES) {
117
+ throw new Error(`the file at ${url} declares ${declared} bytes; the cap is ${DOMAIN_FILE_MAX_BYTES}`);
118
+ }
119
+ const bytes = Buffer.from(await res.arrayBuffer());
120
+ if (bytes.length > DOMAIN_FILE_MAX_BYTES) {
121
+ throw new Error(`the file at ${url} is ${bytes.length} bytes; the cap is ${DOMAIN_FILE_MAX_BYTES}`);
122
+ }
123
+ const file = parseDomainFile(bytes, domain);
124
+ return { bytes, file };
125
+ }
126
+ //# sourceMappingURL=pin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin.js","sourceRoot":"","sources":["../src/pin.ts"],"names":[],"mappings":"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"}
package/dist/play.d.ts CHANGED
@@ -22,8 +22,13 @@ export declare function claimUsesSignatures(claim: Claim): boolean;
22
22
  * evaluation. Signature files are a few hundred bytes; the cap only
23
23
  * exists so a bundle full of large artifacts never inflates memory.
24
24
  * A file above the cap is simply not signature evidence.
25
+ *
26
+ * The constant lives in types.ts (dependency-free) so check.ts, which is
27
+ * also built into the browser verifier, can use it without pulling this
28
+ * module's node:fs import into that bundle. Re-exported here unchanged.
25
29
  */
26
- export declare const SIG_EVIDENCE_MAX_BYTES = 1048576;
30
+ import { SIG_EVIDENCE_MAX_BYTES } from "./types.js";
31
+ export { SIG_EVIDENCE_MAX_BYTES };
27
32
  /** The pure tail of the pipeline: no filesystem, no network. */
28
33
  export declare function playAudit(rule: Rule, ruleSha256Hex: string, audit: AuditResult, sigEvidence?: SigEvidence): PlayResult;
29
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../src/play.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9C,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;gBACd,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAK9D;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,oFAAoF;IACpF,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAMzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAAY,CAAC;AAEhD,gEAAgE;AAChE,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,GAAE,WAAuB,GACnC,UAAU,CAMZ;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgCpF"}
1
+ {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../src/play.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9C,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;gBACd,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAK9D;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,oFAAoF;IACpF,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAMzD;AAED;;;;;;;;;GASG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,gEAAgE;AAChE,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,GAAE,WAAuB,GACnC,UAAU,CAMZ;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgCpF"}
package/dist/play.js CHANGED
@@ -44,8 +44,13 @@ export function claimUsesSignatures(claim) {
44
44
  * evaluation. Signature files are a few hundred bytes; the cap only
45
45
  * exists so a bundle full of large artifacts never inflates memory.
46
46
  * A file above the cap is simply not signature evidence.
47
+ *
48
+ * The constant lives in types.ts (dependency-free) so check.ts, which is
49
+ * also built into the browser verifier, can use it without pulling this
50
+ * module's node:fs import into that bundle. Re-exported here unchanged.
47
51
  */
48
- export const SIG_EVIDENCE_MAX_BYTES = 1_048_576;
52
+ import { SIG_EVIDENCE_MAX_BYTES } from "./types.js";
53
+ export { SIG_EVIDENCE_MAX_BYTES };
49
54
  /** The pure tail of the pipeline: no filesystem, no network. */
50
55
  export function playAudit(rule, ruleSha256Hex, audit, sigEvidence = new Map()) {
51
56
  const resolutions = resolveCast(rule.cast, audit);
package/dist/play.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"play.js","sourceRoot":"","sources":["../src/play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"play.js","sourceRoot":"","sources":["../src/play.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAI9D,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,KAAK,CAAY;IAC1B,YAAY,KAAgB,EAAE,OAAe,EAAE,KAAc;QAC3D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAYD,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,IAAI,UAAU,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,gEAAgE;AAChE,MAAM,UAAU,SAAS,CACvB,IAAU,EACV,aAAqB,EACrB,KAAkB,EAClB,cAA2B,IAAI,GAAG,EAAE;IAEpC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,QAAgB,EAAE,UAAkB;IAC7D,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,wBAAyB,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACtF,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,oDAAoD;IACpD,IAAI,WAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;QAChD,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,sBAAsB;gBAAE,SAAS;YAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzF,CAAC;QACD,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC"}
package/dist/sig.d.ts CHANGED
@@ -22,6 +22,8 @@ export declare function sigMessage(targetSha256Hex: string): Buffer;
22
22
  * and never an error that stops evaluation.
23
23
  */
24
24
  export declare function parseSigFile(bytes: Uint8Array): SigFile | undefined;
25
+ /** Strict base64 decode: the spelling must round-trip byte-exactly. */
26
+ export declare function decodeB64Strict(s: string): Buffer | undefined;
25
27
  /**
26
28
  * Build a KeyObject for a trusted key. Returns undefined when the key
27
29
  * material is malformed — a rule declaring an undecodable key can never
package/dist/sig.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sig.d.ts","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,gBAAgB,CAAC;IACtB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAE1D;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAkBnE;AASD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CA0BnE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACnD,OAAO,CAuBT"}
1
+ {"version":3,"file":"sig.d.ts","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,gBAAgB,CAAC;IACtB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAE1D;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAkBnE;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CA0BnE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACnD,OAAO,CAuBT"}
package/dist/sig.js CHANGED
@@ -74,7 +74,7 @@ export function parseSigFile(bytes) {
74
74
  return { sig: "bitgraph-sig/1", over, alg, publicKey, signature };
75
75
  }
76
76
  /** Strict base64 decode: the spelling must round-trip byte-exactly. */
77
- function decodeB64Strict(s) {
77
+ export function decodeB64Strict(s) {
78
78
  if (!/^[A-Za-z0-9+/]+=*$/.test(s))
79
79
  return undefined;
80
80
  const bytes = Buffer.from(s, "base64");
package/dist/sig.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAqBtE,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAE3E,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,eAAuB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAe;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YAC7C,OAAO,eAAe,CAAC;gBACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,mEAAmE;QACnE,mEAAmE;QACnE,gEAAgE;QAChE,IACE,SAAS,CAAC,iBAAiB,KAAK,IAAI;YACpC,SAAS,CAAC,oBAAoB,EAAE,UAAU,KAAK,YAAY,EAC3D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY,EACZ,GAAe,EACf,SAAoB,EACpB,eAAuB,EACvB,iBAAoD;IAEpD,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAClD,mEAAmE;IACnE,wEAAwE;IACxE,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,SAAS,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -220,4 +220,11 @@ export interface Verdict {
220
220
  };
221
221
  network: "none";
222
222
  }
223
+ /**
224
+ * Size cap on candidate signature-evidence files (SPEC §9.4): a bundle
225
+ * artifact larger than this is simply not signature evidence. Declared
226
+ * here, dependency-free, because both play.ts (which imports node:fs) and
227
+ * check.ts (which is also built into the browser verifier) need it.
228
+ */
229
+ export declare const SIG_EVIDENCE_MAX_BYTES = 1048576;
223
230
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -13,4 +13,11 @@ export function basisTier(basis) {
13
13
  export function meetsFloor(tier, floor) {
14
14
  return floor === "assumption-dependent" || tier === "hash-linked";
15
15
  }
16
+ /**
17
+ * Size cap on candidate signature-evidence files (SPEC §9.4): a bundle
18
+ * artifact larger than this is simply not signature evidence. Declared
19
+ * here, dependency-free, because both play.ts (which imports node:fs) and
20
+ * check.ts (which is also built into the browser verifier) need it.
21
+ */
22
+ export const SIG_EVIDENCE_MAX_BYTES = 1_048_576;
16
23
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAqDrF,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,KAAmB;IAChE,OAAO,KAAK,KAAK,sBAAsB,IAAI,IAAI,KAAK,aAAa,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAqDrF,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,KAAmB;IAChE,OAAO,KAAK,KAAK,sBAAsB,IAAI,IAAI,KAAK,aAAa,CAAC;AACpE,CAAC;AA+KD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC"}
package/dist/verdict.d.ts CHANGED
@@ -26,7 +26,7 @@ import type { Resolution, Rule, Verdict } from "./types.js";
26
26
  * A unit test asserts this equals package.json's version, so the
27
27
  * constant cannot drift silently across releases.
28
28
  */
29
- export declare const PLAYER_VERSION = "0.5.2";
29
+ export declare const PLAYER_VERSION = "0.7.0";
30
30
  /** The player package's own version. */
31
31
  export declare function playerVersion(): string;
32
32
  export declare function buildVerdict(rule: Rule, ruleSha256Hex: string, resolutions: Map<string, Resolution>, evaluation: Evaluation, audit: AuditResult): Verdict;
package/dist/verdict.js CHANGED
@@ -9,7 +9,7 @@ import { normalizeDigest } from "./rule.js";
9
9
  * A unit test asserts this equals package.json's version, so the
10
10
  * constant cannot drift silently across releases.
11
11
  */
12
- export const PLAYER_VERSION = "0.5.2";
12
+ export const PLAYER_VERSION = "0.7.0";
13
13
  /** The player package's own version. */
14
14
  export function playerVersion() {
15
15
  return PLAYER_VERSION;