@codyswann/lisa 3.47.4 → 3.47.6
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/all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs +270 -0
- package/all/copy-overwrite/scripts/lisa-gates.mjs +30 -0
- package/all/copy-overwrite/scripts/lisa-run-gates.mjs +294 -34
- package/all/copy-overwrite/scripts/lisa-schema-validate.mjs +126 -32
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +83 -26
- package/dist/configs/eslint/expo.d.ts +50 -1
- package/dist/configs/eslint/expo.d.ts.map +1 -1
- package/dist/configs/eslint/expo.js +86 -5
- package/dist/configs/eslint/expo.js.map +1 -1
- package/dist/core/downstream-names.d.ts +83 -0
- package/dist/core/downstream-names.d.ts.map +1 -0
- package/dist/core/downstream-names.js +289 -0
- package/dist/core/downstream-names.js.map +1 -0
- package/dist/core/downstream-references.d.ts +21 -6
- package/dist/core/downstream-references.d.ts.map +1 -1
- package/dist/core/downstream-references.js +19 -16
- package/dist/core/downstream-references.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +16 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +23 -10
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/migrations/ensure-tsconfig-local-includes.d.ts +1 -1
- package/dist/migrations/ensure-tsconfig-local-includes.js +1 -1
- package/expo/copy-overwrite/eslint.config.ts +9 -0
- package/expo/copy-overwrite/eslint.expo.ts +92 -4
- package/package.json +5 -2
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/rules/reference/design-value-binding.md +4 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/rules/reference/design-value-binding.md +4 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/design-value-binding-reference.mdc +4 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/rules/reference/design-value-binding.md +4 -0
- package/scripts/lisa-mutation.mjs +13 -0
- package/typescript/copy-contents/.husky/pre-push +7 -1
- package/typescript/copy-overwrite/scripts/lisa-mutation.mjs +496 -122
- package/typescript/package-lisa/package.lisa.json +1 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shortest name that may be added at runtime.
|
|
3
|
+
*
|
|
4
|
+
* A three-character entry matches an initialism somewhere in almost any
|
|
5
|
+
* repository. Refusing it is the difference between a list with no
|
|
6
|
+
* false-positive problem and a list that reintroduces the one the shape guard
|
|
7
|
+
* was written to avoid.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MIN_NAME_LENGTH = 5;
|
|
10
|
+
/**
|
|
11
|
+
* Strip a name to the form the digests are taken over.
|
|
12
|
+
*
|
|
13
|
+
* Case and separators are spelling, not identity: `Some-Host`, `some host` and
|
|
14
|
+
* `SomeHost` are one name.
|
|
15
|
+
* @param raw - A name or a candidate span of source text.
|
|
16
|
+
* @returns Lowercased, alphanumerics only.
|
|
17
|
+
*/
|
|
18
|
+
export declare function normalizeName(raw: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* The stored form of one name: its normalized length, then its digest.
|
|
21
|
+
*
|
|
22
|
+
* The length is carried in the clear on purpose. It is what lets a scan reject
|
|
23
|
+
* the overwhelming majority of candidate spellings with an integer comparison
|
|
24
|
+
* instead of a hash, and knowing that some name is eight characters long
|
|
25
|
+
* identifies nobody.
|
|
26
|
+
* @param raw - The name to encode.
|
|
27
|
+
* @returns `"<length>:<digest>"`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function nameEntry(raw: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Host org and company names, as entries.
|
|
32
|
+
*
|
|
33
|
+
* Org and company slugs only. The two other identity shapes this repository
|
|
34
|
+
* carries — host repository names and a host tracker's project-key prefix — are
|
|
35
|
+
* deliberately absent; arming them is a several-hundred-file rewrite and an
|
|
36
|
+
* owner decision, not a cleanup. See
|
|
37
|
+
* `.agents/rules/never-name-downstream-projects.md` for how to add one.
|
|
38
|
+
*
|
|
39
|
+
* Sorted, so the order of this array says nothing about the order the names
|
|
40
|
+
* were added or how they relate to each other.
|
|
41
|
+
*/
|
|
42
|
+
export declare const HOST_NAME_ENTRIES: readonly string[];
|
|
43
|
+
/** Environment variable carrying extra names, comma-separated, in plaintext. */
|
|
44
|
+
export declare const NAME_ENV_VAR = "LISA_DOWNSTREAM_NAMES";
|
|
45
|
+
/**
|
|
46
|
+
* Everything a scan needs to test a candidate span, prepared once.
|
|
47
|
+
*
|
|
48
|
+
* `lengths` is not a convenience: deriving it per line would cost more than the
|
|
49
|
+
* matching does, and it is the filter that lets almost every candidate be
|
|
50
|
+
* rejected on an integer comparison instead of a hash.
|
|
51
|
+
*/
|
|
52
|
+
export interface NameMatcher {
|
|
53
|
+
/** `"<length>:<digest>"` for every known name. */
|
|
54
|
+
readonly entries: ReadonlySet<string>;
|
|
55
|
+
/** Every normalized length present in {@link entries}. */
|
|
56
|
+
readonly lengths: ReadonlySet<number>;
|
|
57
|
+
/** The longest normalized length present, used to stop widening a window. */
|
|
58
|
+
readonly maxLength: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The matcher a scan should use: the committed entries plus any supplied by
|
|
62
|
+
* the environment.
|
|
63
|
+
*
|
|
64
|
+
* Environment names shorter than {@link MIN_NAME_LENGTH} are dropped rather
|
|
65
|
+
* than rejected loudly — a scan is not the place to fail a run over a malformed
|
|
66
|
+
* environment variable, and a silently-ignored short name is visible the moment
|
|
67
|
+
* anyone checks whether the guard bites.
|
|
68
|
+
* @param env - Environment to read; defaults to the process environment.
|
|
69
|
+
* @returns A prepared matcher.
|
|
70
|
+
*/
|
|
71
|
+
export declare function hostNameEntries(env?: NodeJS.ProcessEnv): NameMatcher;
|
|
72
|
+
/**
|
|
73
|
+
* Every span of one line that spells a known host name.
|
|
74
|
+
*
|
|
75
|
+
* Matching is anchored to word boundaries at both ends, which is what keeps a
|
|
76
|
+
* name from firing inside a longer word: an entry for `somehost` does not match
|
|
77
|
+
* `somehosting`.
|
|
78
|
+
* @param text - The line to scan.
|
|
79
|
+
* @param matcher - Prepared matcher from {@link hostNameEntries}.
|
|
80
|
+
* @returns The matched source spans, in order.
|
|
81
|
+
*/
|
|
82
|
+
export declare function findHostNames(text: string, matcher: NameMatcher): readonly string[];
|
|
83
|
+
//# sourceMappingURL=downstream-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downstream-names.d.ts","sourceRoot":"","sources":["../../src/core/downstream-names.ts"],"names":[],"mappings":"AAgFA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAQ9C,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AA+CD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,GAAG,GAAE,MAAM,CAAC,UAA6B,GACxC,WAAW,CAQb;AA0FD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,GACnB,SAAS,MAAM,EAAE,CAKnB"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The fixed list of host-project names the shape guard cannot see, stored so
|
|
3
|
+
* the list itself is never published.
|
|
4
|
+
*
|
|
5
|
+
* `downstream-references.ts` detects a *shape* — `github.com/owner/repo` and
|
|
6
|
+
* workflow `uses:` — and deliberately refuses to match bare `a/b` in prose,
|
|
7
|
+
* because that shape collides with file paths, date fractions and option
|
|
8
|
+
* syntax, and a guard with false positives gets disabled. That reasoning is
|
|
9
|
+
* sound and is left intact. It is also, measured on this repository, blind to
|
|
10
|
+
* every occurrence that actually happens: a host name in running prose, in a
|
|
11
|
+
* code comment, or inside a local absolute path, with no `github.com` in front
|
|
12
|
+
* of it and frequently no slash anywhere in it.
|
|
13
|
+
*
|
|
14
|
+
* A known list has no false-positive problem at all, which is the entire
|
|
15
|
+
* objection to widening the regex — a token either is one of a handful of known
|
|
16
|
+
* names or it is not, and `2026/08/20`, `src/core/index.ts` and `--flag=a/b`
|
|
17
|
+
* are none of them. The recorded objection to a list was different: a plaintext
|
|
18
|
+
* denylist in a public repository publishes the very names it exists to
|
|
19
|
+
* protect.
|
|
20
|
+
*
|
|
21
|
+
* **So the names are stored as truncated salted digests.** Be precise about
|
|
22
|
+
* what that buys, because overclaiming here would be worse than not doing it:
|
|
23
|
+
*
|
|
24
|
+
* - It prevents *enumeration*. Nobody can read this file, grep it, or receive
|
|
25
|
+
* it in an npm tarball and come away with a list of names.
|
|
26
|
+
* - It does **not** prevent *confirmation*. Anyone holding a specific guess can
|
|
27
|
+
* hash it and check. That is unavoidable for any in-tree denylist — the guard
|
|
28
|
+
* must be able to answer "is this token a host name?", and so must anyone
|
|
29
|
+
* holding the data that lets it. Truncation to 40 bits blunts even that:
|
|
30
|
+
* a brute force over plausible slugs returns thousands of preimages per
|
|
31
|
+
* digest, so a recovered candidate is not a recovered name.
|
|
32
|
+
*
|
|
33
|
+
* A name too sensitive to appear even as a digest belongs in
|
|
34
|
+
* `LISA_DOWNSTREAM_NAMES` instead — an out-of-tree, environment-supplied
|
|
35
|
+
* extension. The cost of that choice is stated plainly: an environment
|
|
36
|
+
* variable absent from required CI means the guard bites locally and not in
|
|
37
|
+
* CI, so it is the weaker of the two placements, not the stronger.
|
|
38
|
+
* @module core/downstream-names
|
|
39
|
+
*/
|
|
40
|
+
import { createHash } from "node:crypto";
|
|
41
|
+
/**
|
|
42
|
+
* Domain separator mixed into every digest.
|
|
43
|
+
*
|
|
44
|
+
* Not a secret — it ships in this file and must, because required CI has to
|
|
45
|
+
* reproduce the digests. Its job is to make these values specific to this
|
|
46
|
+
* guard, so a digest here cannot be matched against a digest computed anywhere
|
|
47
|
+
* else for any other purpose.
|
|
48
|
+
*/
|
|
49
|
+
const DIGEST_SALT = "lisa/downstream-name/v1";
|
|
50
|
+
/**
|
|
51
|
+
* Hex characters kept from each SHA-256 digest — 40 bits.
|
|
52
|
+
*
|
|
53
|
+
* Chosen against two opposing errors. Too wide and each digest has a single
|
|
54
|
+
* preimage, which turns "you can test a guess" into "you can recover the
|
|
55
|
+
* name". Too narrow and unrelated text collides: the tracked tree yields on the
|
|
56
|
+
* order of 10^7 candidate spellings per scan, so at 32 bits a handful of
|
|
57
|
+
* entries would be expected to produce a spurious hit roughly once every few
|
|
58
|
+
* dozen runs — a flaky guard, which is a disabled guard.
|
|
59
|
+
*/
|
|
60
|
+
const DIGEST_HEX_LENGTH = 10;
|
|
61
|
+
/**
|
|
62
|
+
* Most words one name may span.
|
|
63
|
+
*
|
|
64
|
+
* Covers a company name written out in full (`Some Host Systems`) without
|
|
65
|
+
* paying for windows nobody uses.
|
|
66
|
+
*/
|
|
67
|
+
const MAX_NAME_WORDS = 3;
|
|
68
|
+
/**
|
|
69
|
+
* The single characters allowed to sit between two words of one name.
|
|
70
|
+
*
|
|
71
|
+
* A name may be written spaced, hyphenated, underscored, dotted or slashed, and
|
|
72
|
+
* all of those must reach the same entry. A sentence boundary must not: `". "`
|
|
73
|
+
* is two characters, so `…the api. Creator of…` cannot join into `apicreator`.
|
|
74
|
+
*/
|
|
75
|
+
const NAME_SEPARATORS = new Set([" ", "-", "_", ".", "/", "\\"]);
|
|
76
|
+
/**
|
|
77
|
+
* Shortest name that may be added at runtime.
|
|
78
|
+
*
|
|
79
|
+
* A three-character entry matches an initialism somewhere in almost any
|
|
80
|
+
* repository. Refusing it is the difference between a list with no
|
|
81
|
+
* false-positive problem and a list that reintroduces the one the shape guard
|
|
82
|
+
* was written to avoid.
|
|
83
|
+
*/
|
|
84
|
+
export const MIN_NAME_LENGTH = 5;
|
|
85
|
+
/**
|
|
86
|
+
* Strip a name to the form the digests are taken over.
|
|
87
|
+
*
|
|
88
|
+
* Case and separators are spelling, not identity: `Some-Host`, `some host` and
|
|
89
|
+
* `SomeHost` are one name.
|
|
90
|
+
* @param raw - A name or a candidate span of source text.
|
|
91
|
+
* @returns Lowercased, alphanumerics only.
|
|
92
|
+
*/
|
|
93
|
+
export function normalizeName(raw) {
|
|
94
|
+
return raw.toLowerCase().replaceAll(/[^a-z0-9]+/gu, "");
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The stored form of one name: its normalized length, then its digest.
|
|
98
|
+
*
|
|
99
|
+
* The length is carried in the clear on purpose. It is what lets a scan reject
|
|
100
|
+
* the overwhelming majority of candidate spellings with an integer comparison
|
|
101
|
+
* instead of a hash, and knowing that some name is eight characters long
|
|
102
|
+
* identifies nobody.
|
|
103
|
+
* @param raw - The name to encode.
|
|
104
|
+
* @returns `"<length>:<digest>"`.
|
|
105
|
+
*/
|
|
106
|
+
export function nameEntry(raw) {
|
|
107
|
+
const normalized = normalizeName(raw);
|
|
108
|
+
const digest = createHash("sha256")
|
|
109
|
+
.update(DIGEST_SALT)
|
|
110
|
+
.update(normalized)
|
|
111
|
+
.digest("hex")
|
|
112
|
+
.slice(0, DIGEST_HEX_LENGTH);
|
|
113
|
+
return `${normalized.length}:${digest}`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Host org and company names, as entries.
|
|
117
|
+
*
|
|
118
|
+
* Org and company slugs only. The two other identity shapes this repository
|
|
119
|
+
* carries — host repository names and a host tracker's project-key prefix — are
|
|
120
|
+
* deliberately absent; arming them is a several-hundred-file rewrite and an
|
|
121
|
+
* owner decision, not a cleanup. See
|
|
122
|
+
* `.agents/rules/never-name-downstream-projects.md` for how to add one.
|
|
123
|
+
*
|
|
124
|
+
* Sorted, so the order of this array says nothing about the order the names
|
|
125
|
+
* were added or how they relate to each other.
|
|
126
|
+
*/
|
|
127
|
+
export const HOST_NAME_ENTRIES = [
|
|
128
|
+
"10:53a6dbd968",
|
|
129
|
+
"12:b6c1d2ff60",
|
|
130
|
+
"14:503e0725ea",
|
|
131
|
+
"6:cd2afeda7f",
|
|
132
|
+
"7:bf13141dea",
|
|
133
|
+
"8:3ad5ab7f19",
|
|
134
|
+
"8:c712a72605",
|
|
135
|
+
];
|
|
136
|
+
/** Environment variable carrying extra names, comma-separated, in plaintext. */
|
|
137
|
+
export const NAME_ENV_VAR = "LISA_DOWNSTREAM_NAMES";
|
|
138
|
+
/**
|
|
139
|
+
* Read the process environment through one narrow, reviewable exception.
|
|
140
|
+
*
|
|
141
|
+
* The ban exists so application code reaches configuration through a config
|
|
142
|
+
* service. This is a repository scanner with no project config to reach, and
|
|
143
|
+
* the variable it reads is the escape hatch for a name too sensitive to commit
|
|
144
|
+
* even as a digest.
|
|
145
|
+
* @returns The current process environment.
|
|
146
|
+
*/
|
|
147
|
+
function readProcessEnv() {
|
|
148
|
+
// eslint-disable-next-line no-restricted-syntax -- a repository scanner has no config service to read
|
|
149
|
+
return process.env;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Matchers already built, keyed by the environment value they were built from.
|
|
153
|
+
*
|
|
154
|
+
* Returning the same object for the same environment is what makes the
|
|
155
|
+
* per-matcher answer cache reachable across files; rebuilding per file would
|
|
156
|
+
* leave every scan hashing from cold. In practice this holds one entry.
|
|
157
|
+
*/
|
|
158
|
+
const built = new Map();
|
|
159
|
+
/**
|
|
160
|
+
* Assemble a matcher from the committed entries plus a raw environment value.
|
|
161
|
+
* @param raw - Comma-separated extra names, possibly empty.
|
|
162
|
+
* @returns A prepared matcher.
|
|
163
|
+
*/
|
|
164
|
+
function buildMatcher(raw) {
|
|
165
|
+
const extra = raw
|
|
166
|
+
.split(",")
|
|
167
|
+
.map(part => normalizeName(part))
|
|
168
|
+
.filter(name => name.length >= MIN_NAME_LENGTH)
|
|
169
|
+
.map(name => nameEntry(name));
|
|
170
|
+
const entries = new Set([...HOST_NAME_ENTRIES, ...extra]);
|
|
171
|
+
const lengths = [...entries].map(entry => Number(entry.slice(0, entry.indexOf(":"))));
|
|
172
|
+
return {
|
|
173
|
+
entries,
|
|
174
|
+
lengths: new Set(lengths),
|
|
175
|
+
maxLength: Math.max(0, ...lengths),
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The matcher a scan should use: the committed entries plus any supplied by
|
|
180
|
+
* the environment.
|
|
181
|
+
*
|
|
182
|
+
* Environment names shorter than {@link MIN_NAME_LENGTH} are dropped rather
|
|
183
|
+
* than rejected loudly — a scan is not the place to fail a run over a malformed
|
|
184
|
+
* environment variable, and a silently-ignored short name is visible the moment
|
|
185
|
+
* anyone checks whether the guard bites.
|
|
186
|
+
* @param env - Environment to read; defaults to the process environment.
|
|
187
|
+
* @returns A prepared matcher.
|
|
188
|
+
*/
|
|
189
|
+
export function hostNameEntries(env = readProcessEnv()) {
|
|
190
|
+
const raw = env[NAME_ENV_VAR] ?? "";
|
|
191
|
+
const existing = built.get(raw);
|
|
192
|
+
if (existing !== undefined)
|
|
193
|
+
return existing;
|
|
194
|
+
const matcher = buildMatcher(raw);
|
|
195
|
+
// eslint-disable-next-line functional/immutable-data -- a pure memo of a pure function; it changes how long an answer takes, never the answer
|
|
196
|
+
built.set(raw, matcher);
|
|
197
|
+
return matcher;
|
|
198
|
+
}
|
|
199
|
+
/** Maximal runs of alphanumerics — the only thing a name can be made of. */
|
|
200
|
+
const WORD = /[A-Za-z0-9]+/gu;
|
|
201
|
+
/**
|
|
202
|
+
* Per-matcher memo of which candidate spellings are names.
|
|
203
|
+
*
|
|
204
|
+
* A repository scan asks about the same handful of words several million times,
|
|
205
|
+
* and a digest costs three orders of magnitude more than a map lookup. Keyed by
|
|
206
|
+
* matcher rather than globally, because the answer depends on which entries are
|
|
207
|
+
* loaded — one shared cache would let a matcher answer another matcher's
|
|
208
|
+
* question, which is how a guard starts reporting a stale verdict.
|
|
209
|
+
*/
|
|
210
|
+
const answered = new WeakMap();
|
|
211
|
+
/**
|
|
212
|
+
* Whether a candidate spelling is one of the known names.
|
|
213
|
+
* @param candidate - Alphanumerics only, in whatever case the source used.
|
|
214
|
+
* @param matcher - Prepared matcher.
|
|
215
|
+
* @returns True when the candidate hashes to a known entry.
|
|
216
|
+
*/
|
|
217
|
+
function isKnownName(candidate, matcher) {
|
|
218
|
+
const cache = answered.get(matcher) ?? new Map();
|
|
219
|
+
if (!answered.has(matcher))
|
|
220
|
+
answered.set(matcher, cache);
|
|
221
|
+
const remembered = cache.get(candidate);
|
|
222
|
+
if (remembered !== undefined)
|
|
223
|
+
return remembered;
|
|
224
|
+
const known = matcher.entries.has(nameEntry(candidate));
|
|
225
|
+
// eslint-disable-next-line functional/immutable-data -- same memo, same guarantee
|
|
226
|
+
cache.set(candidate, known);
|
|
227
|
+
return known;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Whether `next` continues the name that `previous` started.
|
|
231
|
+
*
|
|
232
|
+
* Exactly one separator may sit between them. A sentence boundary is two
|
|
233
|
+
* characters, so `the api. Creator of` cannot join into `apicreator`.
|
|
234
|
+
* @param text - The line both words came from.
|
|
235
|
+
* @param previous - The earlier word match.
|
|
236
|
+
* @param next - The later word match.
|
|
237
|
+
* @returns True when the two words belong to one name.
|
|
238
|
+
*/
|
|
239
|
+
function continues(text, previous, next) {
|
|
240
|
+
const gap = previous.index + previous[0].length;
|
|
241
|
+
return next.index - gap === 1 && NAME_SEPARATORS.has(text[gap] ?? "");
|
|
242
|
+
}
|
|
243
|
+
/* eslint-disable functional/no-let, functional/immutable-data -- a scan this size cannot afford an allocation per word, and neither accumulator escapes the call */
|
|
244
|
+
/**
|
|
245
|
+
* Every span starting at one word that spells a known host name.
|
|
246
|
+
*
|
|
247
|
+
* The window stops widening as soon as it is longer than the longest known
|
|
248
|
+
* name, because adding a word can only make it longer still.
|
|
249
|
+
* @param text - The line being scanned.
|
|
250
|
+
* @param words - Every word on the line.
|
|
251
|
+
* @param first - Index of the word the window starts at.
|
|
252
|
+
* @param matcher - Prepared matcher.
|
|
253
|
+
* @returns The matched source spans.
|
|
254
|
+
*/
|
|
255
|
+
function namesStartingAt(text, words, first, matcher) {
|
|
256
|
+
const start = words[first]?.index ?? 0;
|
|
257
|
+
const found = [];
|
|
258
|
+
let candidate = "";
|
|
259
|
+
let previous;
|
|
260
|
+
for (const word of words.slice(first, first + MAX_NAME_WORDS)) {
|
|
261
|
+
if (previous !== undefined && !continues(text, previous, word))
|
|
262
|
+
break;
|
|
263
|
+
previous = word;
|
|
264
|
+
candidate += word[0];
|
|
265
|
+
if (candidate.length > matcher.maxLength)
|
|
266
|
+
break;
|
|
267
|
+
if (matcher.lengths.has(candidate.length) &&
|
|
268
|
+
isKnownName(candidate, matcher)) {
|
|
269
|
+
found.push(text.slice(start, word.index + word[0].length));
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return found;
|
|
273
|
+
}
|
|
274
|
+
/* eslint-enable functional/no-let, functional/immutable-data -- back to repository defaults */
|
|
275
|
+
/**
|
|
276
|
+
* Every span of one line that spells a known host name.
|
|
277
|
+
*
|
|
278
|
+
* Matching is anchored to word boundaries at both ends, which is what keeps a
|
|
279
|
+
* name from firing inside a longer word: an entry for `somehost` does not match
|
|
280
|
+
* `somehosting`.
|
|
281
|
+
* @param text - The line to scan.
|
|
282
|
+
* @param matcher - Prepared matcher from {@link hostNameEntries}.
|
|
283
|
+
* @returns The matched source spans, in order.
|
|
284
|
+
*/
|
|
285
|
+
export function findHostNames(text, matcher) {
|
|
286
|
+
const words = [...text.matchAll(WORD)];
|
|
287
|
+
return words.flatMap((_word, first) => namesStartingAt(text, words, first, matcher));
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=downstream-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downstream-names.js","sourceRoot":"","sources":["../../src/core/downstream-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,26 @@
|
|
|
5
5
|
* public and `dist/` is in the npm `files` allowlist, so a comment in `src/` is
|
|
6
6
|
* published twice — on github.com and to every consumer that installs.
|
|
7
7
|
*
|
|
8
|
-
* **
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* without anyone remembering to
|
|
8
|
+
* **Two detectors, because one shape was never the whole problem.**
|
|
9
|
+
*
|
|
10
|
+
* The first is shape detection: allowlist the orgs that are legitimately
|
|
11
|
+
* public, flag every other `github.com/owner/repo` or workflow `uses:`, and a
|
|
12
|
+
* newly onboarded downstream project is caught without anyone remembering to
|
|
13
|
+
* add it. That reach is real and it is kept.
|
|
14
|
+
*
|
|
15
|
+
* The second is a known-name check, added because the first measured zero
|
|
16
|
+
* violations on a tree that had them. Every occurrence that actually happens is
|
|
17
|
+
* a bare name in prose, in a code comment, or inside a local absolute path —
|
|
18
|
+
* no `github.com` in front of it, and frequently no slash in it at all. Shape
|
|
19
|
+
* detection cannot reach that without matching bare `a/b` everywhere, which
|
|
20
|
+
* collides with file paths, date fractions and option syntax; a guard with
|
|
21
|
+
* false positives gets disabled, which is worse than a known blind spot. A
|
|
22
|
+
* fixed list has no false-positive problem to trade against, and the objection
|
|
23
|
+
* to a list — that it publishes the names — is answered by storing digests
|
|
24
|
+
* rather than names. See `./downstream-names.js`.
|
|
13
25
|
* @module core/downstream-references
|
|
14
26
|
*/
|
|
27
|
+
import type { NameMatcher } from "./downstream-names.js";
|
|
15
28
|
/**
|
|
16
29
|
* GitHub orgs this repository may legitimately name.
|
|
17
30
|
*
|
|
@@ -46,7 +59,9 @@ export interface DownstreamReference {
|
|
|
46
59
|
/**
|
|
47
60
|
* Find downstream-project references in one file's contents.
|
|
48
61
|
* @param contents - The file's text.
|
|
62
|
+
* @param matcher - Name matcher to use; defaults to the committed list plus
|
|
63
|
+
* anything the environment adds.
|
|
49
64
|
* @returns Every violation found, in line order.
|
|
50
65
|
*/
|
|
51
|
-
export declare function findDownstreamReferences(contents: string): readonly DownstreamReference[];
|
|
66
|
+
export declare function findDownstreamReferences(contents: string, matcher?: NameMatcher): readonly DownstreamReference[];
|
|
52
67
|
//# sourceMappingURL=downstream-references.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downstream-references.d.ts","sourceRoot":"","sources":["../../src/core/downstream-references.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"downstream-references.d.ts","sourceRoot":"","sources":["../../src/core/downstream-references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAqExC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAqB/C,CAAC;AA2BF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EASjD,CAAC;AAEF,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAuFD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAA+B,GACvC,SAAS,mBAAmB,EAAE,CAQhC"}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Detect references to downstream host projects in this repository's own files.
|
|
3
|
-
*
|
|
4
|
-
* Projects may mention Lisa; Lisa may not mention projects. This repository is
|
|
5
|
-
* public and `dist/` is in the npm `files` allowlist, so a comment in `src/` is
|
|
6
|
-
* published twice — on github.com and to every consumer that installs.
|
|
7
|
-
*
|
|
8
|
-
* **Shape detection, not a name list.** A guard that enumerated the client
|
|
9
|
-
* names would publish the very list it exists to protect, in the same public
|
|
10
|
-
* repository. So this allowlists the orgs that are legitimately public and
|
|
11
|
-
* flags everything else, which also means a NEW downstream project is caught
|
|
12
|
-
* without anyone remembering to add it.
|
|
13
|
-
* @module core/downstream-references
|
|
14
|
-
*/
|
|
1
|
+
import { findHostNames, hostNameEntries } from "./downstream-names.js";
|
|
15
2
|
/**
|
|
16
3
|
* GitHub orgs this repository may legitimately name.
|
|
17
4
|
*
|
|
@@ -164,7 +151,6 @@ export const PLACEHOLDER_ACCOUNTS = [
|
|
|
164
151
|
const OWNER_REPO = /(?:github\.com[/:]|uses:\s*)([A-Za-z0-9][\w.-]*)\/([\w.-]+)/gu;
|
|
165
152
|
/**
|
|
166
153
|
* Whether a captured owner is something other than a real account name.
|
|
167
|
-
*
|
|
168
154
|
* @param owner - The lowercased first path segment.
|
|
169
155
|
* @returns True when it must not be treated as an org.
|
|
170
156
|
*/
|
|
@@ -211,17 +197,34 @@ function accountViolations(text, line) {
|
|
|
211
197
|
reason: "a real-looking AWS account id — use a documentation placeholder",
|
|
212
198
|
}));
|
|
213
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Known host names spelled out on one line.
|
|
202
|
+
* @param text - The line's text.
|
|
203
|
+
* @param line - 1-indexed line number.
|
|
204
|
+
* @param matcher - Prepared name matcher.
|
|
205
|
+
* @returns Violations on this line.
|
|
206
|
+
*/
|
|
207
|
+
function nameViolations(text, line, matcher) {
|
|
208
|
+
return findHostNames(text, matcher).map(match => ({
|
|
209
|
+
line,
|
|
210
|
+
match,
|
|
211
|
+
reason: "names a downstream host project — write the evidence, not the identity",
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
214
|
/**
|
|
215
215
|
* Find downstream-project references in one file's contents.
|
|
216
216
|
* @param contents - The file's text.
|
|
217
|
+
* @param matcher - Name matcher to use; defaults to the committed list plus
|
|
218
|
+
* anything the environment adds.
|
|
217
219
|
* @returns Every violation found, in line order.
|
|
218
220
|
*/
|
|
219
|
-
export function findDownstreamReferences(contents) {
|
|
221
|
+
export function findDownstreamReferences(contents, matcher = hostNameEntries()) {
|
|
220
222
|
return contents
|
|
221
223
|
.split("\n")
|
|
222
224
|
.flatMap((text, index) => [
|
|
223
225
|
...ownerViolations(text, index + 1),
|
|
224
226
|
...accountViolations(text, index + 1),
|
|
227
|
+
...nameViolations(text, index + 1, matcher),
|
|
225
228
|
]);
|
|
226
229
|
}
|
|
227
230
|
//# sourceMappingURL=downstream-references.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downstream-references.js","sourceRoot":"","sources":["../../src/core/downstream-references.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"downstream-references.js","sourceRoot":"","sources":["../../src/core/downstream-references.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAucjC,CAAC"}
|
|
@@ -198,6 +198,12 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
198
198
|
"da1bca64624498b0c2254336eff5ddd31e1a0cbe59bff67c238c1cfbd4537c76",
|
|
199
199
|
"eaafd632dacfb181f6c83a22e5086f39586aff023788861d915c7254246d3175",
|
|
200
200
|
]),
|
|
201
|
+
"scripts/lib/gate-failure-diagnosis.mjs": Object.freeze([
|
|
202
|
+
"503b51e9239411d07ce6b51dbe2b3079bb12e94bf7c0310e76247af19ff667e6",
|
|
203
|
+
"6b72a6a71078c838fdb0531e74898a5e36d942cad424b20480e2cd370b5264eb",
|
|
204
|
+
"d234617dc907bb563455419957f2f419702fcd1c10b9d39e19d5bab8ca962008",
|
|
205
|
+
"e07bab7dc4c4c296e2007cf26fab694b1238545dc37816e88d849606d8f9e760",
|
|
206
|
+
]),
|
|
201
207
|
"scripts/lib/invoked-as-script.mjs": Object.freeze([
|
|
202
208
|
"302b3578d333717f61d0181a69f7b23a8bdf735c59fd5e95dc2da3da05896670",
|
|
203
209
|
"4dd64efca0ff5841d0f3f27869c7bcc1c939571e6022f4b1823f7ef0d97b5d78",
|
|
@@ -265,6 +271,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
265
271
|
"79b646d543b541c096d79526fa09dbda3408667ba1a99ee833f94668b181433b",
|
|
266
272
|
"7d89a49da89895a3e377702d0049e1dbcc7ea666dcfa3749874f0986db31ee1a",
|
|
267
273
|
"9195c267d98f2fa8071fc0bd2d5623a7ab82f82d136bdb23061f89a2c1db6efe",
|
|
274
|
+
"96077d0bbcf53ccc6b1baadef319cb9fa9979413bcff418ecea5abd136ff3491",
|
|
268
275
|
"98652623c7451d05e48239e1678ad7977a323eaf7ff5ca4b4f3bbc0798396859",
|
|
269
276
|
"bba52f26e70e0dc399a8ed8ea9cbd3885a18f08401b28bd18871a1af4fbca375",
|
|
270
277
|
"c5643655f16b3229646b59cf2ac74edc631959825231a8cf69575cc8268ce0c2",
|
|
@@ -352,6 +359,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
352
359
|
"ce4bc224a102e3ac2bc29d8f2038eefd619129d4639c25954c93f05011f7f977",
|
|
353
360
|
]),
|
|
354
361
|
"scripts/lisa-mutation.mjs": Object.freeze([
|
|
362
|
+
"227dfa273802d6a5c03c3bf67136b743de98370127c7417db454f2e7424e98a0",
|
|
355
363
|
"660d0b833ac5ffcb93cb3c478b6b840492a0ae049ff3b6f87275f78537ef7258",
|
|
356
364
|
"7d8d24dea151ef2178807046e97aea7ebfadd9c88eb50347feb7bb4bb190227d",
|
|
357
365
|
"8e0bdb491dfaea04e88be1c1e2c6cc7cd34fa4ca18adddf5fecc43d7de8ffded",
|
|
@@ -367,8 +375,12 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
367
375
|
"9b613888c4c1cc6cc2b1fb6e162a4c766012eab0ec4f8b7f2ac1bc3da6622c97",
|
|
368
376
|
]),
|
|
369
377
|
"scripts/lisa-run-gates.mjs": Object.freeze([
|
|
378
|
+
"080c69ab998309a0a8b4f3be74c445056da02f1403c5654bea13477fc3178604",
|
|
370
379
|
"0978ac24f28bf9f11230781d271997384009b1528ed61de523333e52a5a4cf57",
|
|
371
380
|
"235c541534fc0eca510135ac39b9fbd196965fbeb54d42a09fbf052da1c925cd",
|
|
381
|
+
"94453bdae8ab3dd2eba0883c4b278027396090e0bdc8e2f102414abc6415912a",
|
|
382
|
+
"a58af06f1d677d82b780a6857916c1684a44649ba742b2b329d408057ae5700d",
|
|
383
|
+
"beffca5715f5c1309efd95d7a4895a980ae48498501c0cff163820ed5530730f",
|
|
372
384
|
"c705d400f51a3a08ada085fc1107c3dce558f9a717528fc1fe9315aa6b97a5e6",
|
|
373
385
|
"cd79864ea6ccfbf33341d537a08436aefbb9eff55a78bb3ff5002f8b3b9cfe55",
|
|
374
386
|
"d078570b2a7964eb481cd05e118e2a6559968020392c6e570d90cec8f20c5487",
|
|
@@ -377,8 +389,10 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
377
389
|
"ed643bb28356e9c3f7e351227e690763d6b5e275a78d232cd9dba2d1fc55cffe",
|
|
378
390
|
]),
|
|
379
391
|
"scripts/lisa-schema-validate.mjs": Object.freeze([
|
|
392
|
+
"08cb25c2c49e0e5fd01e29861bbb8c90f612f9736ca2df86789fa72bd26d271e",
|
|
380
393
|
"2ace82daacdebbbb00a7eceb09fbe82cabec04330a083ca10417b2ee4e0a63eb",
|
|
381
394
|
"4a05a0ed70a274827fd2f0fd0c98890c66bee2fde70785b8379943ebe6650473",
|
|
395
|
+
"83c6e57e8168c5ae9fe538b23eec9016d0c959a4b5470d1ab160562ec2815de3",
|
|
382
396
|
"9dd145c0f9dac6ed252b13d32e130dbab964da6cd357981b58541780ecb2f981",
|
|
383
397
|
]),
|
|
384
398
|
"scripts/lisa-test-node.mjs": Object.freeze([
|
|
@@ -387,6 +401,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
387
401
|
]),
|
|
388
402
|
"scripts/lisa-work-item.mjs": Object.freeze([
|
|
389
403
|
"04f78df45465d01601c8b5711b74749b2a2c2b70b9c916d6790bd69e1c11865d",
|
|
404
|
+
"2289eb74705b6e24fc947182fb3cd64422b918d0dcb3abf546c2452ab247b5b8",
|
|
390
405
|
"238dc2da29938edd92518c2b08192d14c6f2751ed175c07d6e882814829b7b7e",
|
|
391
406
|
"2d9ca0841db9e75ddfd95e3a4d485fd01aa639a512ef648996f565b7991d8e2b",
|
|
392
407
|
"4c263fef48c03b3b6c623ea8a6cd55505bfaf28197e5072226ea35f9f3d26885",
|
|
@@ -401,6 +416,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
401
416
|
"96a87c131606b3edd43e52485e68f8ffbf5c528cb4beb7a1185263519a9632ce",
|
|
402
417
|
"9b3dda4a697bc23d8e71a0f00cf6204c80f5670724b843764af4fe8ecd9b2df2",
|
|
403
418
|
"9e1db1f28cc7ee4b66b08c2fd2ee0ebf98054786d5902245941641e98783bf47",
|
|
419
|
+
"a72fb2fe7fca56d8978df504a1b1c30165c76eb8b1e324b1181d5711cdf990eb",
|
|
404
420
|
"ab0dede91c5c8a07984ae13aa48ec70cdcd2fa691b59617bc4b57998dc79a51c",
|
|
405
421
|
"ad41c9097e9688f1ad48fe2cb27197d642124c52511267d43f1257539d8bb082",
|
|
406
422
|
"b4e8aea72219f2c568429686a2ff1acd0da75ca26f244a66f3c4334297c8cd8e",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA02EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA00OjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|