@codyswann/lisa 4.71.9 → 4.71.11
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/github-attestation-recovery.mjs +19 -7
- package/all/copy-overwrite/scripts/lib/npm-update-cancel-origin.mjs +14 -8
- package/all/copy-overwrite/scripts/lib/npm-update-cancellation-proof.mjs +5 -9
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +65 -4
- package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +5 -4
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +14 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +6 -5
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- 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-cursor/.claude-plugin/plugin.json +1 -1
- 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
|
@@ -17,6 +17,20 @@ import {
|
|
|
17
17
|
RECOVERY_PREDICATE,
|
|
18
18
|
} from "./github-attestation-verifier.mjs";
|
|
19
19
|
|
|
20
|
+
/** An active run's update is not completion; invalid provider chronology has no usable bounds. */
|
|
21
|
+
export function observedRunChronology(run, now) {
|
|
22
|
+
const start = Date.parse(run.run_started_at);
|
|
23
|
+
const updated = Date.parse(run.updated_at);
|
|
24
|
+
if (
|
|
25
|
+
![now, start, updated].every(Number.isFinite) ||
|
|
26
|
+
!["in_progress", "completed"].includes(run.status) ||
|
|
27
|
+
start > updated ||
|
|
28
|
+
updated > now + 60_000
|
|
29
|
+
)
|
|
30
|
+
return null;
|
|
31
|
+
return { start, end: run.status === "in_progress" ? now : updated };
|
|
32
|
+
}
|
|
33
|
+
|
|
20
34
|
/** Historical origin authenticates bytes only within witnessed provider chronology. */
|
|
21
35
|
export function assertHistoricalAttestation(
|
|
22
36
|
results,
|
|
@@ -35,15 +49,13 @@ export function assertHistoricalAttestation(
|
|
|
35
49
|
PROPOSAL_PREDICATE,
|
|
36
50
|
"descriptor.json"
|
|
37
51
|
);
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
claimed = Date.parse(claim.created_at);
|
|
52
|
+
const chronology = observedRunChronology(run, now);
|
|
53
|
+
const claimed = Date.parse(claim.created_at);
|
|
41
54
|
requireProof(
|
|
42
|
-
|
|
43
|
-
start <= updated &&
|
|
44
|
-
updated <= now + 60_000,
|
|
55
|
+
chronology && Number.isFinite(claimed),
|
|
45
56
|
"missing/invalid historical provider chronology"
|
|
46
57
|
);
|
|
58
|
+
const { start, end } = chronology;
|
|
47
59
|
// Official signature/timestamp verification already authenticates these times.
|
|
48
60
|
matchSigningTime(
|
|
49
61
|
result.verifiedTimestamps,
|
|
@@ -55,7 +67,7 @@ export function assertHistoricalAttestation(
|
|
|
55
67
|
requireProof(
|
|
56
68
|
signed >= start - 60_000 &&
|
|
57
69
|
signed >= claimed - 60_000 &&
|
|
58
|
-
signed <=
|
|
70
|
+
signed <= end + 60_000,
|
|
59
71
|
"origin signed outside provider chronology"
|
|
60
72
|
);
|
|
61
73
|
}
|
|
@@ -27,7 +27,10 @@ import {
|
|
|
27
27
|
} from "./npm-update-leaf.mjs";
|
|
28
28
|
import { sha256 } from "./github-attestation-verifier.mjs";
|
|
29
29
|
import { verifyStaleOriginProvider } from "./github-attestation-provider.mjs";
|
|
30
|
-
import {
|
|
30
|
+
import {
|
|
31
|
+
observedRunChronology,
|
|
32
|
+
verifyHistoricalDescriptor,
|
|
33
|
+
} from "./github-attestation-recovery.mjs";
|
|
31
34
|
import {
|
|
32
35
|
DESCRIPTOR_KEYS,
|
|
33
36
|
optionalLockFields,
|
|
@@ -98,13 +101,16 @@ function originCheckpoint(issue) {
|
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
/** Original chunk bytes must be the unedited Bot's posts during its witnessed run, not later copied markers. */
|
|
101
|
-
export function assertOriginTransport(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
export function assertOriginTransport(
|
|
105
|
+
comments,
|
|
106
|
+
digest,
|
|
107
|
+
policy,
|
|
108
|
+
run,
|
|
109
|
+
now = Date.now()
|
|
110
|
+
) {
|
|
111
|
+
const chronology = observedRunChronology(run, now);
|
|
112
|
+
required(chronology, "invalid original transport chronology");
|
|
113
|
+
const { start, end } = chronology;
|
|
108
114
|
const selected = comments.filter(comment =>
|
|
109
115
|
comment.body?.startsWith(`[lisa-npm-checkpoint] v1 ${digest} `)
|
|
110
116
|
);
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
/** A manual cancellation is a third fixed signing purpose, never publication or review authority. */
|
|
5
5
|
import { canonicalJson } from "../lisa-automation-provenance.mjs";
|
|
6
6
|
import { required, keys, FILES, OBJECT } from "./npm-update-contract.mjs";
|
|
7
|
+
import { observedRunChronology } from "./github-attestation-recovery.mjs";
|
|
7
8
|
import {
|
|
8
9
|
verifiedRole,
|
|
9
10
|
matchSigningTime,
|
|
@@ -276,14 +277,9 @@ export function assertRecordedCancellation(
|
|
|
276
277
|
CANCELLATION_PREDICATE,
|
|
277
278
|
"cancellation.json"
|
|
278
279
|
);
|
|
279
|
-
const
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
[started, updated].every(Number.isFinite) &&
|
|
283
|
-
started <= updated &&
|
|
284
|
-
updated <= now + 60_000,
|
|
285
|
-
"invalid cancellation provider chronology"
|
|
286
|
-
);
|
|
280
|
+
const chronology = observedRunChronology(run, now);
|
|
281
|
+
required(chronology, "invalid cancellation provider chronology");
|
|
282
|
+
const { start, end } = chronology;
|
|
287
283
|
matchSigningTime(
|
|
288
284
|
result.verifiedTimestamps,
|
|
289
285
|
{ ...policy, maxAgeSeconds: Number.MAX_SAFE_INTEGER },
|
|
@@ -292,7 +288,7 @@ export function assertRecordedCancellation(
|
|
|
292
288
|
for (const time of result.verifiedTimestamps) {
|
|
293
289
|
const signed = Date.parse(time.timestamp);
|
|
294
290
|
required(
|
|
295
|
-
signed >=
|
|
291
|
+
signed >= start - 60_000 && signed <= end + 60_000,
|
|
296
292
|
"cancellation signed outside provider chronology"
|
|
297
293
|
);
|
|
298
294
|
}
|
|
@@ -3409,7 +3409,7 @@ function parsePushGroups(input, remote) {
|
|
|
3409
3409
|
// scoped to branch-authored commits (issue #1956).
|
|
3410
3410
|
const defaultRef = remoteDefaultRef(remote);
|
|
3411
3411
|
for (const line of input.trim().split(/\r?\n/).filter(Boolean)) {
|
|
3412
|
-
const [localRef, localOid, , remoteOid] = line.trim().split(/\s+/);
|
|
3412
|
+
const [localRef, localOid, remoteRef, remoteOid] = line.trim().split(/\s+/);
|
|
3413
3413
|
if (!localOid || ZERO_OID.test(localOid)) continue;
|
|
3414
3414
|
const existing = Boolean(remoteOid) && !ZERO_OID.test(remoteOid);
|
|
3415
3415
|
const args = existing
|
|
@@ -3430,6 +3430,7 @@ function parsePushGroups(input, remote) {
|
|
|
3430
3430
|
? `${localRef} ${abbreviate(remoteOid)}..${abbreviate(localOid)}`
|
|
3431
3431
|
: `${localRef} (new branch) ${abbreviate(localOid)}`,
|
|
3432
3432
|
localRef,
|
|
3433
|
+
remoteRef,
|
|
3433
3434
|
scope: args,
|
|
3434
3435
|
});
|
|
3435
3436
|
}
|
|
@@ -6094,6 +6095,7 @@ function pushGroups(input, remote) {
|
|
|
6094
6095
|
commits: [],
|
|
6095
6096
|
examinedScope: parsed[0]?.examinedScope ?? HEAD_FALLBACK_SCOPE,
|
|
6096
6097
|
localRef: parsed[0]?.localRef,
|
|
6098
|
+
remoteRef: parsed[0]?.remoteRef,
|
|
6097
6099
|
// Empty on purpose: `ancestryUnreachable` asks a question OF A RANGE,
|
|
6098
6100
|
// and there is no range here. `examinedScope` above is the separate,
|
|
6099
6101
|
// human-readable answer to "what did this verdict look at".
|
|
@@ -6200,6 +6202,11 @@ export function unreachableAncestryRefusal(localRef) {
|
|
|
6200
6202
|
*/
|
|
6201
6203
|
function prTargetGroup(groups, pr) {
|
|
6202
6204
|
if (!pr) return undefined;
|
|
6205
|
+
const destination = groups.find(
|
|
6206
|
+
group =>
|
|
6207
|
+
pr.headRefName && group.remoteRef === `${HEADS_PREFIX}${pr.headRefName}`
|
|
6208
|
+
);
|
|
6209
|
+
if (destination) return destination;
|
|
6203
6210
|
if (groups.length === 1) return groups[0];
|
|
6204
6211
|
const branch = activeBranch();
|
|
6205
6212
|
return groups.find(
|
|
@@ -6207,6 +6214,51 @@ function prTargetGroup(groups, pr) {
|
|
|
6207
6214
|
);
|
|
6208
6215
|
}
|
|
6209
6216
|
|
|
6217
|
+
/**
|
|
6218
|
+
* Keep a stacked PR's inherited base work out of its body declaration.
|
|
6219
|
+
*
|
|
6220
|
+
* The raw push scope still governs ancestry validation. Only the matching
|
|
6221
|
+
* child destination's declaration scope is intersected with the immutable base
|
|
6222
|
+
* commit GitHub reported; other pushed branches and deploy bases retain their
|
|
6223
|
+
* existing scope. An unavailable base refuses instead of guessing from a
|
|
6224
|
+
* possibly stale local branch name.
|
|
6225
|
+
* @param {object} group Raw pushed ref and its commits.
|
|
6226
|
+
* @param {object|undefined} pr Current branch's pull request.
|
|
6227
|
+
* @param {string} remote Push destination.
|
|
6228
|
+
* @returns {object} The declaration scope for this push.
|
|
6229
|
+
*/
|
|
6230
|
+
function stackedPrPushGroup(group, pr, remote) {
|
|
6231
|
+
if (
|
|
6232
|
+
!pr?.baseRefName ||
|
|
6233
|
+
deployBranchNames(remote).has(pr.baseRefName) ||
|
|
6234
|
+
!pr.headRefName ||
|
|
6235
|
+
group.remoteRef !== `${HEADS_PREFIX}${pr.headRefName}` ||
|
|
6236
|
+
group.commits.length === 0
|
|
6237
|
+
)
|
|
6238
|
+
return group;
|
|
6239
|
+
const base = pr.baseRefOid;
|
|
6240
|
+
if (typeof base !== "string" || !/^[a-f0-9]{40}$/i.test(base))
|
|
6241
|
+
throw new TrackingError(
|
|
6242
|
+
"The stacked pull request's base commit could not be read. Refresh its GitHub metadata before pushing."
|
|
6243
|
+
);
|
|
6244
|
+
const available = run("git", ["cat-file", "-e", `${base}^{commit}`], {
|
|
6245
|
+
allowFailure: true,
|
|
6246
|
+
});
|
|
6247
|
+
if (available.status !== 0)
|
|
6248
|
+
throw new TrackingError(
|
|
6249
|
+
"The stacked pull request's base commit is not available locally. Fetch the pull request's base branch, then push again."
|
|
6250
|
+
);
|
|
6251
|
+
// Put the exclusion before any --not toggle in the original argv. This
|
|
6252
|
+
// preserves the existing incremental range and avoids walking the whole PR.
|
|
6253
|
+
const scope = ["rev-list", `^${base}`, ...group.scope.slice(1)];
|
|
6254
|
+
return {
|
|
6255
|
+
...group,
|
|
6256
|
+
commits: git(scope).split("\n").filter(Boolean),
|
|
6257
|
+
examinedScope: `${group.examinedScope}; excluding PR base ${abbreviate(base)}`,
|
|
6258
|
+
scope,
|
|
6259
|
+
};
|
|
6260
|
+
}
|
|
6261
|
+
|
|
6210
6262
|
/**
|
|
6211
6263
|
* What a push could not prove here, named rather than left to CI to reveal.
|
|
6212
6264
|
*
|
|
@@ -6371,7 +6423,11 @@ function validatePush(args) {
|
|
|
6371
6423
|
// anything, but so could a `--no-verify`; CI is the enforcing copy.
|
|
6372
6424
|
const configRef = remoteDefaultRef(remote);
|
|
6373
6425
|
const groups = pushGroups(input, remote);
|
|
6374
|
-
const pr = currentPullRequest(
|
|
6426
|
+
const pr = currentPullRequest(
|
|
6427
|
+
undefined,
|
|
6428
|
+
undefined,
|
|
6429
|
+
"url,body,state,baseRefName,baseRefOid,headRefName"
|
|
6430
|
+
);
|
|
6375
6431
|
const target = prTargetGroup(groups, pr);
|
|
6376
6432
|
for (const group of groups) {
|
|
6377
6433
|
// BEFORE the commits are judged, not after: every verdict below is computed
|
|
@@ -6380,12 +6436,17 @@ function validatePush(args) {
|
|
|
6380
6436
|
// produced a refusal naming a stranger's closed ticket (#3719).
|
|
6381
6437
|
if (ancestryUnreachable(group, remote))
|
|
6382
6438
|
throw unreachableAncestryRefusal(group.localRef);
|
|
6383
|
-
const
|
|
6439
|
+
const declaration = stackedPrPushGroup(
|
|
6440
|
+
group,
|
|
6441
|
+
group === target ? pr : undefined,
|
|
6442
|
+
remote
|
|
6443
|
+
);
|
|
6444
|
+
const outcome = commitOutcome(declaration.commits, configRef, remote);
|
|
6384
6445
|
reportPushGroup(
|
|
6385
6446
|
outcome,
|
|
6386
6447
|
group === target ? pr : undefined,
|
|
6387
6448
|
groups.length > 1 ? `${group.localRef ?? "(stdin)"}: ` : "",
|
|
6388
|
-
|
|
6449
|
+
declaration.examinedScope
|
|
6389
6450
|
);
|
|
6390
6451
|
}
|
|
6391
6452
|
}
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"children": []
|
|
92
92
|
},
|
|
93
93
|
"lib/github-attestation-recovery.mjs": {
|
|
94
|
-
"sha256": "
|
|
94
|
+
"sha256": "ff89d72300035a2554cf3e406b1054ca3c8a494d6a5768ea4981f4c87c50e981",
|
|
95
95
|
"staticImports": [
|
|
96
96
|
"lib/automation-provenance-local.mjs",
|
|
97
97
|
"lib/bounded-spawn.mjs",
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
"children": []
|
|
247
247
|
},
|
|
248
248
|
"lib/npm-update-cancel-origin.mjs": {
|
|
249
|
-
"sha256": "
|
|
249
|
+
"sha256": "aff226288a26dcbb53a42cd6555ebe15ef7250d3b2b2c291be702d8ddd3bac3a",
|
|
250
250
|
"staticImports": [
|
|
251
251
|
"lib/automation-provenance-contract.mjs",
|
|
252
252
|
"lib/github-attestation-provider.mjs",
|
|
@@ -264,8 +264,9 @@
|
|
|
264
264
|
"children": []
|
|
265
265
|
},
|
|
266
266
|
"lib/npm-update-cancellation-proof.mjs": {
|
|
267
|
-
"sha256": "
|
|
267
|
+
"sha256": "e40fed4696ee91d8e73f1abd4d307d8ad6aa484ac3d24262120a5e048ba96b7b",
|
|
268
268
|
"staticImports": [
|
|
269
|
+
"lib/github-attestation-recovery.mjs",
|
|
269
270
|
"lib/github-attestation-verifier.mjs",
|
|
270
271
|
"lib/npm-update-contract.mjs",
|
|
271
272
|
"lisa-automation-provenance.mjs"
|
|
@@ -1129,7 +1130,7 @@
|
|
|
1129
1130
|
"children": []
|
|
1130
1131
|
},
|
|
1131
1132
|
"lisa-work-item.mjs": {
|
|
1132
|
-
"sha256": "
|
|
1133
|
+
"sha256": "64f01819287d902ed830285c256dd0a589330bce5be9c7b8b1f2563d811db287",
|
|
1133
1134
|
"staticImports": [
|
|
1134
1135
|
"lib/invoked-as-script.mjs",
|
|
1135
1136
|
"node:child_process",
|
|
@@ -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,CAi1DjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAovDjC,CAAC"}
|
|
@@ -475,6 +475,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
475
475
|
"scripts/lib/github-attestation-recovery.mjs": Object.freeze([
|
|
476
476
|
"60d74d266cfacc582a3d6d6ff8be78e6b4e204370067955c2ec7a843a810f863",
|
|
477
477
|
"adb3e7bbc8d3986a84c2934181b5518c96a2690e7cfef7d6ff77a405c6a957d7",
|
|
478
|
+
"ff89d72300035a2554cf3e406b1054ca3c8a494d6a5768ea4981f4c87c50e981",
|
|
478
479
|
]),
|
|
479
480
|
"scripts/lib/github-attestation-verifier.mjs": Object.freeze([
|
|
480
481
|
"68d69315436c7c60870b67f74efce36e979cf0823cdbbbb68b3e0a06ef017a4f",
|
|
@@ -541,12 +542,14 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
541
542
|
"scripts/lib/npm-update-cancel-origin.mjs": Object.freeze([
|
|
542
543
|
"331554c8d2201fb6fe6934d158f5f60d7da11bbb1d4aa938ef9437afe724b5ff",
|
|
543
544
|
"635dd82d23042337d68e441b43cec26c171fef9ac57c7e9c5de14af0587d7e43",
|
|
545
|
+
"aff226288a26dcbb53a42cd6555ebe15ef7250d3b2b2c291be702d8ddd3bac3a",
|
|
544
546
|
]),
|
|
545
547
|
"scripts/lib/npm-update-cancellation-proof.mjs": Object.freeze([
|
|
546
548
|
"56365dbe20ef540b8a3d59a3ce9e0fa33c9c4efdfb27c2b69e27cbe60b2ba204",
|
|
547
549
|
"9262c81836683572d1135112b8cfd0f43abcb050c9f8d84ef7dfb77b8caac59c",
|
|
548
550
|
"afb25ab04fceb925931d62dab568b1633b16601d352ed1763190e344e319d2cd",
|
|
549
551
|
"c4ca24d4fa152525c10993d563284bf8ea7b7b0799a78a38f8deec059ccaa2cd",
|
|
552
|
+
"e40fed4696ee91d8e73f1abd4d307d8ad6aa484ac3d24262120a5e048ba96b7b",
|
|
550
553
|
]),
|
|
551
554
|
"scripts/lib/npm-update-cancellation.mjs": Object.freeze([
|
|
552
555
|
"529122fd37117526d97277de116fe0080bce85557062585bd73ce7d8be2f88b9",
|
|
@@ -1630,6 +1633,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1630
1633
|
"62f53156d425198609564e996f3844f52ab110e63f99f22e8338fcf7a83f316d",
|
|
1631
1634
|
"637741a9e5d2904aed24d48efd6bec1326c5573f718a13152807aa0e4b42f0a1",
|
|
1632
1635
|
"645cbf7c17b14f44f85231495266d63e10272538ca2274dfbae3d3c4e836cfe8",
|
|
1636
|
+
"64f01819287d902ed830285c256dd0a589330bce5be9c7b8b1f2563d811db287",
|
|
1633
1637
|
"653252b0bbfd19bdffa046a2173c053e566ac6bf605c8d9060f9cf71ad7386de",
|
|
1634
1638
|
"65fe3ab4e89a617345ccf0ee29c439442ed29d699f8598b28907c2cb8d38c1b3",
|
|
1635
1639
|
"6714af0434131556203f024b68e0d4c8d50fd3f1e099e8abfeb84d9c93dc4643",
|
|
@@ -1789,6 +1793,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1789
1793
|
"2423c7c0f36a14f5aa66258713204d07fe82924d85796e488892d94acd52afc9",
|
|
1790
1794
|
"29d6986ecf8b659f829517a1e0bac2ef456934633cb8e5842756abc37359d870",
|
|
1791
1795
|
"322d4edf19711c6ff19d4152172669320bf4806a2190d3b5e2aa420901acebbb",
|
|
1796
|
+
"381611fa7242751ab28617797c257b5137f928c8bff1041eec0821014638fbd5",
|
|
1792
1797
|
"57d2072ff209a1188bcd89cf3276baadf626201182a672a4e477a96488bd3a0e",
|
|
1793
1798
|
"5e8881466a13bdfcaefa5ae056c59e9fc869c85f83701ef3d770473aaece3b12",
|
|
1794
1799
|
"617976fa328bde110f953967490e2cacb22fa3c13963b1ccece71b830feb929f",
|
|
@@ -1799,7 +1804,9 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1799
1804
|
"70117ada2fe96b4697f695f860547a0e47eb7d20e864eac929047722cb3e6e2c",
|
|
1800
1805
|
"702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
|
|
1801
1806
|
"7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
|
|
1807
|
+
"8a3c46d3501797ebb53a081c8b35e78e0ceb2b060503332b48e44ccc30d6d0df",
|
|
1802
1808
|
"9344207510f0c613088b4c82c9b3962a815ec79d0664886bf01f34b7a6f1f4ab",
|
|
1809
|
+
"a114ac60b0e390ad2518bda5871aa1c9680755f10fe36ebae26de4ad170490d5",
|
|
1803
1810
|
"a1ca3cd8fb9a9ed969c256bdcee5b4b4e740e58fe1cb43d38b7b4572823532b8",
|
|
1804
1811
|
"b2f392ac7eb9f645583dfbe357d608ab266c19177230b9b4420baa8975573b2c",
|
|
1805
1812
|
"b45d7b88eeadaf859ac312398aa49fc7e1f1882d1b5afcf58676178ea0695b58",
|
|
@@ -2335,6 +2342,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
2335
2342
|
"scripts/lib/github-attestation-recovery.mjs": Object.freeze([
|
|
2336
2343
|
"60d74d266cfacc582a3d6d6ff8be78e6b4e204370067955c2ec7a843a810f863",
|
|
2337
2344
|
"adb3e7bbc8d3986a84c2934181b5518c96a2690e7cfef7d6ff77a405c6a957d7",
|
|
2345
|
+
"ff89d72300035a2554cf3e406b1054ca3c8a494d6a5768ea4981f4c87c50e981",
|
|
2338
2346
|
]),
|
|
2339
2347
|
"scripts/lib/github-attestation-verifier.mjs": Object.freeze([
|
|
2340
2348
|
"68d69315436c7c60870b67f74efce36e979cf0823cdbbbb68b3e0a06ef017a4f",
|
|
@@ -2401,12 +2409,14 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
2401
2409
|
"scripts/lib/npm-update-cancel-origin.mjs": Object.freeze([
|
|
2402
2410
|
"331554c8d2201fb6fe6934d158f5f60d7da11bbb1d4aa938ef9437afe724b5ff",
|
|
2403
2411
|
"635dd82d23042337d68e441b43cec26c171fef9ac57c7e9c5de14af0587d7e43",
|
|
2412
|
+
"aff226288a26dcbb53a42cd6555ebe15ef7250d3b2b2c291be702d8ddd3bac3a",
|
|
2404
2413
|
]),
|
|
2405
2414
|
"scripts/lib/npm-update-cancellation-proof.mjs": Object.freeze([
|
|
2406
2415
|
"56365dbe20ef540b8a3d59a3ce9e0fa33c9c4efdfb27c2b69e27cbe60b2ba204",
|
|
2407
2416
|
"9262c81836683572d1135112b8cfd0f43abcb050c9f8d84ef7dfb77b8caac59c",
|
|
2408
2417
|
"afb25ab04fceb925931d62dab568b1633b16601d352ed1763190e344e319d2cd",
|
|
2409
2418
|
"c4ca24d4fa152525c10993d563284bf8ea7b7b0799a78a38f8deec059ccaa2cd",
|
|
2419
|
+
"e40fed4696ee91d8e73f1abd4d307d8ad6aa484ac3d24262120a5e048ba96b7b",
|
|
2410
2420
|
]),
|
|
2411
2421
|
"scripts/lib/npm-update-cancellation.mjs": Object.freeze([
|
|
2412
2422
|
"529122fd37117526d97277de116fe0080bce85557062585bd73ce7d8be2f88b9",
|
|
@@ -3421,6 +3431,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3421
3431
|
"60bc3a715e02b5bf57f324f78e6da46dbb6dbb7769177c42139f7b7a2806eea6",
|
|
3422
3432
|
"62f53156d425198609564e996f3844f52ab110e63f99f22e8338fcf7a83f316d",
|
|
3423
3433
|
"645cbf7c17b14f44f85231495266d63e10272538ca2274dfbae3d3c4e836cfe8",
|
|
3434
|
+
"64f01819287d902ed830285c256dd0a589330bce5be9c7b8b1f2563d811db287",
|
|
3424
3435
|
"653252b0bbfd19bdffa046a2173c053e566ac6bf605c8d9060f9cf71ad7386de",
|
|
3425
3436
|
"65fe3ab4e89a617345ccf0ee29c439442ed29d699f8598b28907c2cb8d38c1b3",
|
|
3426
3437
|
"6714af0434131556203f024b68e0d4c8d50fd3f1e099e8abfeb84d9c93dc4643",
|
|
@@ -3579,6 +3590,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3579
3590
|
"2423c7c0f36a14f5aa66258713204d07fe82924d85796e488892d94acd52afc9",
|
|
3580
3591
|
"29d6986ecf8b659f829517a1e0bac2ef456934633cb8e5842756abc37359d870",
|
|
3581
3592
|
"322d4edf19711c6ff19d4152172669320bf4806a2190d3b5e2aa420901acebbb",
|
|
3593
|
+
"381611fa7242751ab28617797c257b5137f928c8bff1041eec0821014638fbd5",
|
|
3582
3594
|
"57d2072ff209a1188bcd89cf3276baadf626201182a672a4e477a96488bd3a0e",
|
|
3583
3595
|
"5e8881466a13bdfcaefa5ae056c59e9fc869c85f83701ef3d770473aaece3b12",
|
|
3584
3596
|
"617976fa328bde110f953967490e2cacb22fa3c13963b1ccece71b830feb929f",
|
|
@@ -3589,7 +3601,9 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3589
3601
|
"70117ada2fe96b4697f695f860547a0e47eb7d20e864eac929047722cb3e6e2c",
|
|
3590
3602
|
"702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
|
|
3591
3603
|
"7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
|
|
3604
|
+
"8a3c46d3501797ebb53a081c8b35e78e0ceb2b060503332b48e44ccc30d6d0df",
|
|
3592
3605
|
"9344207510f0c613088b4c82c9b3962a815ec79d0664886bf01f34b7a6f1f4ab",
|
|
3606
|
+
"a114ac60b0e390ad2518bda5871aa1c9680755f10fe36ebae26de4ad170490d5",
|
|
3593
3607
|
"a1ca3cd8fb9a9ed969c256bdcee5b4b4e740e58fe1cb43d38b7b4572823532b8",
|
|
3594
3608
|
"b2f392ac7eb9f645583dfbe357d608ab266c19177230b9b4420baa8975573b2c",
|
|
3595
3609
|
"b45d7b88eeadaf859ac312398aa49fc7e1f1882d1b5afcf58676178ea0695b58",
|