@codyswann/lisa 4.73.3 → 4.73.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/all/copy-overwrite/scripts/lib/npm-update-gh-grants.mjs +5 -2
- package/all/copy-overwrite/scripts/lisa-enforcement-fallback.sh +102 -3
- package/all/copy-overwrite/scripts/lisa-enforcement-freshness.mjs +3 -0
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +48 -11
- package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +2 -2
- 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/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +23 -8
- 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
- package/scripts/lisa-enforcement-fallback.sh +102 -3
- package/scripts/lisa-enforcement-freshness.mjs +3 -0
- package/scripts/two-channel-couplings.json +1 -1
package/README.md
CHANGED
|
@@ -343,6 +343,19 @@ Diagnostics are offline and lazy: at most eight guard/template pairs (1 MiB per
|
|
|
343
343
|
file), four 64 KiB manifests/receipts and one 4 MiB plugin registry, with one
|
|
344
344
|
additional byte per read to detect overflow. After the session notice, permitted
|
|
345
345
|
calls invoke no freshness helper. Later refusals re-evaluate their own evidence.
|
|
346
|
+
The live anchor verifies its own process group before launching Node, so native
|
|
347
|
+
qualification cannot race a separate parent/start countdown. Qualification is
|
|
348
|
+
setup outside the producer timer; arbitrary native `ps` or scheduler stalls are
|
|
349
|
+
not bounded by that timer.
|
|
350
|
+
The optional subprocess has a one-second Bash timer independent of Node,
|
|
351
|
+
leaving headroom beneath its two-second diagnostic ceiling. Slower diagnostics
|
|
352
|
+
become unknown; complete results within the budget retain their attribution.
|
|
353
|
+
It uses a private, trusted temporary buffer and an owned process-group anchor.
|
|
354
|
+
Timeout, unavailable runner, failure or incomplete output leaves all evidence
|
|
355
|
+
unknown while every original guard still runs. Complete successful output is
|
|
356
|
+
accepted only after the helper's ordinary descendants are drained. The timer
|
|
357
|
+
does not bound enforcement guards, operating-system scheduling or arbitrary
|
|
358
|
+
native-tool startup, and cannot guarantee reaping kernel-uninterruptible I/O.
|
|
346
359
|
|
|
347
360
|
| Agent | Fallback diagnostic surface |
|
|
348
361
|
| --- | --- |
|
|
@@ -86,7 +86,10 @@ export function observeGhResponse(scope, state, request, result) {
|
|
|
86
86
|
Buffer.byteLength(result.stdout) <= 3_145_728,
|
|
87
87
|
"unbounded GH response grant"
|
|
88
88
|
);
|
|
89
|
-
const value =
|
|
89
|
+
const value =
|
|
90
|
+
request.kind === "comments"
|
|
91
|
+
? githubBacklinkComments(result.stdout)
|
|
92
|
+
: JSON.parse(result.stdout);
|
|
90
93
|
let successor;
|
|
91
94
|
if (request.kind === "hierarchy") {
|
|
92
95
|
const page = value.data?.repository?.issue?.subIssues;
|
|
@@ -119,7 +122,7 @@ export function observeGhResponse(scope, state, request, result) {
|
|
|
119
122
|
};
|
|
120
123
|
}
|
|
121
124
|
} else if (request.kind === "comments")
|
|
122
|
-
successor = backlinkRequest(scope.subject,
|
|
125
|
+
successor = backlinkRequest(scope.subject, value);
|
|
123
126
|
if (successor) state.grants.set(key(successor.args), successor);
|
|
124
127
|
}
|
|
125
128
|
|
|
@@ -211,6 +211,103 @@ note_version() {
|
|
|
211
211
|
|
|
212
212
|
plugin_tree_version=""
|
|
213
213
|
|
|
214
|
+
# Node cannot supervise its own stalled startup. Bash owns a live group anchor
|
|
215
|
+
# and an independent builtin-read timer instead. The real child Bash has its own
|
|
216
|
+
# $$, waits for group qualification before starting Node, and drains its OWN
|
|
217
|
+
# group. No remembered PID receives a later external signal. Its live anchor
|
|
218
|
+
# pins the group even after Node returns, until all descendants are terminated.
|
|
219
|
+
# Only this optional subprocess is bounded; enforcement below is unchanged.
|
|
220
|
+
run_optional_freshness() (
|
|
221
|
+
command -v mkfifo >/dev/null 2>&1 && command -v ps >/dev/null 2>&1 || exit 1
|
|
222
|
+
ps -o pid= -p "$$" >/dev/null 2>&1 || exit 1
|
|
223
|
+
# Bash 3.2 unwinds function locals before EXIT on an explicit exit inside
|
|
224
|
+
# command substitution. This function already isolates all state in a subshell.
|
|
225
|
+
scratch="" anchor="" scratch_identity="" current_identity="" helper_status=1
|
|
226
|
+
[ -n "$notice_temp_base" ] && notice_parent_chain_trusted "$notice_temp_base" || exit 1
|
|
227
|
+
scratch="$(umask 077 && mktemp -d "$notice_temp_base/lisa-freshness.XXXXXX")" || exit 1
|
|
228
|
+
case "$scratch" in "$notice_temp_base"/lisa-freshness.*) ;; *) exit 1 ;; esac
|
|
229
|
+
[ -d "$scratch" ] && [ ! -L "$scratch" ] && [ -O "$scratch" ] || exit 1
|
|
230
|
+
scratch_identity="$(stat -f '%d:%i:%Lp' "$scratch" 2>/dev/null)" ||
|
|
231
|
+
scratch_identity="$(stat -c '%d:%i:%a' "$scratch" 2>/dev/null)" || exit 1
|
|
232
|
+
[ "${scratch_identity##*:}" = 700 ] || exit 1
|
|
233
|
+
cleanup_diagnostic() {
|
|
234
|
+
if [ -n "$anchor" ]; then
|
|
235
|
+
printf 'stop\n' >&8
|
|
236
|
+
wait "$anchor" 2>/dev/null || true
|
|
237
|
+
fi
|
|
238
|
+
exec 8>&- 9>&-
|
|
239
|
+
current_identity="$(stat -f '%d:%i:%Lp' "$scratch" 2>/dev/null)" ||
|
|
240
|
+
current_identity="$(stat -c '%d:%i:%a' "$scratch" 2>/dev/null)" || current_identity=""
|
|
241
|
+
if [ "$current_identity" = "$scratch_identity" ] &&
|
|
242
|
+
[ -d "$scratch" ] && [ ! -L "$scratch" ] && [ -O "$scratch" ] &&
|
|
243
|
+
notice_parent_chain_trusted "$notice_temp_base"; then
|
|
244
|
+
rm -rf "$scratch"
|
|
245
|
+
fi
|
|
246
|
+
}
|
|
247
|
+
trap cleanup_diagnostic EXIT
|
|
248
|
+
trap 'exit 1' HUP INT TERM
|
|
249
|
+
mkfifo "$scratch/start" "$scratch/done" || exit 1
|
|
250
|
+
exec 8<>"$scratch/start" 9<>"$scratch/done" || exit 1
|
|
251
|
+
set -m
|
|
252
|
+
/bin/bash -c '
|
|
253
|
+
set +m
|
|
254
|
+
scratch="$1"
|
|
255
|
+
shift
|
|
256
|
+
# This live anchor qualifies its own group before launching any Node work.
|
|
257
|
+
# Native qualification must not race a separate parent/start countdown.
|
|
258
|
+
[ "$(ps -o pgid= -p "$$" 2>/dev/null | tr -d " ")" = "$$" ] || exit 1
|
|
259
|
+
(
|
|
260
|
+
node "$@" </dev/null >"$scratch/output" 2>/dev/null
|
|
261
|
+
printf "%s\n" "$?" >"$scratch/status"
|
|
262
|
+
printf "done\n" >&9
|
|
263
|
+
) &
|
|
264
|
+
# Bash 3.2 accepts integer timeouts. One second leaves headroom beneath
|
|
265
|
+
# the two-second diagnostic ceiling without delaying real enforcement.
|
|
266
|
+
if read -r -t 1 -u 9 done && [ "$done" = done ]; then
|
|
267
|
+
printf "complete\n" >"$scratch/complete"
|
|
268
|
+
# Parent acceptance or its bounded absence both terminate the group.
|
|
269
|
+
read -r -t 1 -u 8 stop || true
|
|
270
|
+
fi
|
|
271
|
+
kill -KILL -- -"$$"
|
|
272
|
+
' lisa-freshness "$scratch" "$@" &
|
|
273
|
+
anchor=$!
|
|
274
|
+
while [ ! -f "$scratch/status" ] && [ "$(jobs -pr)" = "$anchor" ]; do sleep 0.01; done
|
|
275
|
+
printf 'stop\n' >&8
|
|
276
|
+
wait "$anchor" 2>/dev/null || true
|
|
277
|
+
anchor=""
|
|
278
|
+
[ -f "$scratch/complete" ] && [ -f "$scratch/status" ] || exit 1
|
|
279
|
+
read -r helper_status <"$scratch/status"
|
|
280
|
+
[ "$helper_status" = 0 ] || exit 1
|
|
281
|
+
cat "$scratch/output"
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
# Do not promote even one partial fact. Successful exit plus a terminal protocol
|
|
285
|
+
# row and every requested guard result are required before globals are changed.
|
|
286
|
+
valid_freshness_result() {
|
|
287
|
+
local line key value seen="|" complete=0 count=0
|
|
288
|
+
while IFS= read -r line; do
|
|
289
|
+
[ "$complete" -eq 0 ] || return 1
|
|
290
|
+
case "$line" in *$'\t'*) ;; *) return 1 ;; esac
|
|
291
|
+
key="${line%%$'\t'*}"
|
|
292
|
+
value="${line#*$'\t'}"
|
|
293
|
+
case "$value" in ''|*$'\t'*|*$'\r'*) return 1 ;; esac
|
|
294
|
+
case "$seen" in *"|$key|"*) return 1 ;; esac
|
|
295
|
+
seen="$seen$key|"
|
|
296
|
+
case "$key" in
|
|
297
|
+
installed|applied|plugin|marketplace|channel)
|
|
298
|
+
[[ "$value" =~ ^[0-9]{1,6}\.[0-9]{1,6}\.[0-9]{1,6}([-+][A-Za-z0-9.-]{1,48})?$ ]] || return 1 ;;
|
|
299
|
+
channel_path) ;;
|
|
300
|
+
guard[0-7])
|
|
301
|
+
[ "${key#guard}" -lt "$guard_count" ] || return 1
|
|
302
|
+
case "$value" in matching|different|unknown) ;; *) return 1 ;; esac
|
|
303
|
+
count=$((count + 1)) ;;
|
|
304
|
+
complete) [ "$value" = 1 ] || return 1; complete=1 ;;
|
|
305
|
+
*) return 1 ;;
|
|
306
|
+
esac
|
|
307
|
+
done <<< "$1"
|
|
308
|
+
[ "$complete" -eq 1 ] && [ "$count" -eq "$guard_count" ]
|
|
309
|
+
}
|
|
310
|
+
|
|
214
311
|
# Resolve once PER PROCESS at the existing lazy diagnostic boundary. A later
|
|
215
312
|
# refusal in the same session gets fresh content evidence in its new process;
|
|
216
313
|
# an already-noticed permitted call invokes neither Node nor a comparison.
|
|
@@ -220,13 +317,15 @@ resolve_vintages() {
|
|
|
220
317
|
local config_dir="${CLAUDE_CONFIG_DIR-}"
|
|
221
318
|
[ -n "$config_dir" ] || config_dir="${HOME-}/.claude"
|
|
222
319
|
local helper="${BASH_SOURCE[0]%/*}/lisa-enforcement-freshness.mjs"
|
|
223
|
-
local key value state_index
|
|
320
|
+
local key value state_index result
|
|
224
321
|
local state_count=0
|
|
225
322
|
while [ "$state_count" -lt "$guard_count" ]; do
|
|
226
323
|
host_guard_states+=("unknown")
|
|
227
324
|
state_count=$((state_count + 1))
|
|
228
325
|
done
|
|
229
|
-
if [ -f "$helper" ] && [ -r "$helper" ] && command -v node >/dev/null 2>&1
|
|
326
|
+
if [ -f "$helper" ] && [ -r "$helper" ] && command -v node >/dev/null 2>&1 &&
|
|
327
|
+
result="$(run_optional_freshness "$helper" "$repo_root" "$config_dir" "${guard_evidence_names[@]}" 2>/dev/null)" &&
|
|
328
|
+
valid_freshness_result "$result"; then
|
|
230
329
|
while IFS=$'\t' read -r key value; do
|
|
231
330
|
case "$key" in
|
|
232
331
|
installed) installed_version="$value" ;;
|
|
@@ -240,7 +339,7 @@ resolve_vintages() {
|
|
|
240
339
|
case "$value" in matching|different|unknown) host_guard_states[$state_index]="$value" ;; esac
|
|
241
340
|
;;
|
|
242
341
|
esac
|
|
243
|
-
done
|
|
342
|
+
done <<< "$result"
|
|
244
343
|
fi
|
|
245
344
|
note_version "$installed_version" "$repo_root/node_modules/@codyswann/lisa/package.json"
|
|
246
345
|
note_version "$plugin_tree_version" "$plugin_tree"
|
|
@@ -1992,7 +1992,7 @@ export function resetGhVersionCheck() {
|
|
|
1992
1992
|
ghVersionChecked = false;
|
|
1993
1993
|
}
|
|
1994
1994
|
|
|
1995
|
-
/**
|
|
1995
|
+
/** Checkpoint history cannot exhaust capture; complete backlink candidates and all other canonical fields survive. */
|
|
1996
1996
|
export function githubIssueViewArgs(repository, number) {
|
|
1997
1997
|
return [
|
|
1998
1998
|
"issue",
|
|
@@ -2002,6 +2002,8 @@ export function githubIssueViewArgs(repository, number) {
|
|
|
2002
2002
|
repository,
|
|
2003
2003
|
"--json",
|
|
2004
2004
|
"number,url,state,body,labels,comments,closedByPullRequestsReferences",
|
|
2005
|
+
"--jq",
|
|
2006
|
+
'.comments |= map(select(.body | contains("[lisa-pr-link]")))',
|
|
2005
2007
|
];
|
|
2006
2008
|
}
|
|
2007
2009
|
|
|
@@ -2593,21 +2595,58 @@ export function githubBacklinkListArgs(repository, number) {
|
|
|
2593
2595
|
return [
|
|
2594
2596
|
"api",
|
|
2595
2597
|
"--paginate",
|
|
2596
|
-
"--slurp",
|
|
2597
2598
|
`repos/${repository}/issues/${number}/comments?per_page=100`,
|
|
2599
|
+
"--jq",
|
|
2600
|
+
'{sourceCount:length,comments:map(select(.body | contains("[lisa-pr-link]")))}',
|
|
2598
2601
|
];
|
|
2599
2602
|
}
|
|
2600
2603
|
|
|
2601
|
-
/**
|
|
2602
|
-
|
|
2604
|
+
/**
|
|
2605
|
+
* Native successful pagination emits one compact projected envelope per page.
|
|
2606
|
+
* Counts precede filtering so checkpoint removal cannot evade the original
|
|
2607
|
+
* 100-page/10,000-comment bounds. Decode the entire completed response before
|
|
2608
|
+
* selecting any writer target; full original candidate objects stay ordered.
|
|
2609
|
+
* @param {string} output Complete stdout from a successful bounded native listing.
|
|
2610
|
+
* @returns {object[]} Complete marker candidates, including prose the ownership parser may refuse.
|
|
2611
|
+
*/
|
|
2612
|
+
export function githubBacklinkComments(output) {
|
|
2613
|
+
if (typeof output !== "string" || !output.trim())
|
|
2614
|
+
throw new Error("invalid or incomplete GitHub backlink pages");
|
|
2615
|
+
const pages = output
|
|
2616
|
+
.trim()
|
|
2617
|
+
.split(/\r?\n/)
|
|
2618
|
+
.map(line => JSON.parse(line));
|
|
2603
2619
|
if (
|
|
2604
|
-
!Array.isArray(pages) ||
|
|
2605
|
-
pages.length < 1 ||
|
|
2606
2620
|
pages.length > 100 ||
|
|
2607
|
-
pages.some(
|
|
2621
|
+
pages.some(
|
|
2622
|
+
page =>
|
|
2623
|
+
!page ||
|
|
2624
|
+
typeof page !== "object" ||
|
|
2625
|
+
Array.isArray(page) ||
|
|
2626
|
+
Object.keys(page).length !== 2 ||
|
|
2627
|
+
!Object.hasOwn(page, "sourceCount") ||
|
|
2628
|
+
!Object.hasOwn(page, "comments") ||
|
|
2629
|
+
!Number.isSafeInteger(page.sourceCount) ||
|
|
2630
|
+
page.sourceCount < 0 ||
|
|
2631
|
+
page.sourceCount > 100 ||
|
|
2632
|
+
!Array.isArray(page.comments) ||
|
|
2633
|
+
page.comments.length > page.sourceCount ||
|
|
2634
|
+
page.comments.some(
|
|
2635
|
+
comment =>
|
|
2636
|
+
!comment ||
|
|
2637
|
+
typeof comment.body !== "string" ||
|
|
2638
|
+
!comment.body.includes(MARKER) ||
|
|
2639
|
+
!(
|
|
2640
|
+
(typeof comment.id === "string" ||
|
|
2641
|
+
Number.isSafeInteger(comment.id)) &&
|
|
2642
|
+
/^[1-9]\d*$/.test(String(comment.id))
|
|
2643
|
+
)
|
|
2644
|
+
)
|
|
2645
|
+
) ||
|
|
2646
|
+
pages.reduce((count, page) => count + page.sourceCount, 0) > 10000
|
|
2608
2647
|
)
|
|
2609
2648
|
throw new Error("invalid or over-bound GitHub backlink pages");
|
|
2610
|
-
return pages.
|
|
2649
|
+
return pages.flatMap(page => page.comments);
|
|
2611
2650
|
}
|
|
2612
2651
|
|
|
2613
2652
|
/**
|
|
@@ -2623,9 +2662,7 @@ function githubBacklink(ref, prUrl) {
|
|
|
2623
2662
|
allowFailure: true,
|
|
2624
2663
|
});
|
|
2625
2664
|
if (listing.status !== 0) throw githubFailure(listing, ref);
|
|
2626
|
-
const comments = githubBacklinkComments(
|
|
2627
|
-
safeJson(listing.stdout, `GitHub comments on ${ref}`)
|
|
2628
|
-
);
|
|
2665
|
+
const comments = githubBacklinkComments(listing.stdout);
|
|
2629
2666
|
// This listing is the read-before-write, and it is fetched here rather than
|
|
2630
2667
|
// passed in for exactly that reason: the version you last wrote is not the
|
|
2631
2668
|
// version that is live on a surface other agents also comment on.
|
|
@@ -474,7 +474,7 @@
|
|
|
474
474
|
"children": []
|
|
475
475
|
},
|
|
476
476
|
"lib/npm-update-gh-grants.mjs": {
|
|
477
|
-
"sha256": "
|
|
477
|
+
"sha256": "62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
|
|
478
478
|
"staticImports": [
|
|
479
479
|
"lib/npm-update-contract.mjs",
|
|
480
480
|
"lisa-automation-provenance.mjs",
|
|
@@ -1258,7 +1258,7 @@
|
|
|
1258
1258
|
"children": []
|
|
1259
1259
|
},
|
|
1260
1260
|
"lisa-work-item.mjs": {
|
|
1261
|
-
"sha256": "
|
|
1261
|
+
"sha256": "cd1b16e056fefac17018d5c96ad063dc4002f304e4400765e473403186b7175a",
|
|
1262
1262
|
"staticImports": [
|
|
1263
1263
|
"lib/invoked-as-script.mjs",
|
|
1264
1264
|
"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,CAs9DjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAy3DjC,CAAC"}
|
|
@@ -634,6 +634,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
634
634
|
"scripts/lib/npm-update-gh-grants.mjs": Object.freeze([
|
|
635
635
|
"39cdf37db1ceae3b104038c1e25735a7f805d04f2ab2a7001a853f633485718d",
|
|
636
636
|
"4be8bcfa098b7f7f9cdfe6d7a1f110e5e4fb1e6181bd12d0b7f620f569293f09",
|
|
637
|
+
"62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
|
|
637
638
|
]),
|
|
638
639
|
"scripts/lib/npm-update-gh-requests.mjs": Object.freeze([
|
|
639
640
|
"0bfd950560242d6b9ecb93f8d7162e68cb420b631e39d24663ccf803712a4c22",
|
|
@@ -988,6 +989,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
988
989
|
"f0f3c43bbb6d1e389135b0205a051e64891e539d4272df2a87841ee82a8b7a55",
|
|
989
990
|
]),
|
|
990
991
|
"scripts/lisa-enforcement-fallback.sh": Object.freeze([
|
|
992
|
+
"07159250b1172ed0b15896ad251af0ffc84a22f5f24806c06b4e1478f20c9bd8",
|
|
991
993
|
"1bec5f3c284b3febdc471487ee6a23ffb72bd4e7b293f9e26b0188f32318c722",
|
|
992
994
|
"27f4e4b54986f49ddb9a3bf6e02b926d41d85ecd46ab2263cb17a5746820f8bd",
|
|
993
995
|
"3049c2f1051c7c02dd60b62355964651e1565ebe6bdcb5e37634cd686cf1deb1",
|
|
@@ -1003,12 +1005,15 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1003
1005
|
"916b2b48a2b55c2090468c48c972b6c7c5fad39fb53956ceffebdd1ff0c69230",
|
|
1004
1006
|
"9cab71562d01421d57c6719318a4d03a6249a45c1aea434db3ff26e3065eeb66",
|
|
1005
1007
|
"9cfad1d691235fa70ccf97603eea2ef177bbded4a34d85aeedc41018c894b591",
|
|
1008
|
+
"a61653e9a4788804249ae6e66924e6c7a69cd06b013b91881361d992b935fbcf",
|
|
1009
|
+
"a7078fee6b5719d8c1f96e145091dc9f1b7a15b002b76f2fabb57909a81ba96f",
|
|
1006
1010
|
"aafd027c4b6092da15d0389f9e8dcedbd9105e9083057e2da39f78fd5f72e0df",
|
|
1007
1011
|
"acf05ef7bd86f58042e57b6d4dd3d519efb46131bb38c6bf3b7c05f6d15b20ad",
|
|
1008
1012
|
"b456ad79aae18ea3af4ae462327653a88ab865ec31c84aa233c3ded512acff32",
|
|
1009
1013
|
"b4cc14d5dc02c790ea3e51b0134b9c3d5e4a0e8ef08a652817f7485a0badde17",
|
|
1010
1014
|
"c64765cb502797daa163dbb6cad723b633a7c527dffeb6bd99cca4989a63fcf4",
|
|
1011
1015
|
"c9604929b1f5d3fee39ef7c3619f89002accf27712dbd38f25b6a7a0ceb0025a",
|
|
1016
|
+
"ca133b6f4b5c1c95de89fc28c4e04c1a8974570737e9173d6e69e960ddb9200b",
|
|
1012
1017
|
"d7d88e44763694bed5eae998cd3663922c957e49f9f9621d9201f0417a4128ad",
|
|
1013
1018
|
"d922508529c0ffd6b8411d7fc618b3d14ceb70901746adfbcf49e46eb685d6b9",
|
|
1014
1019
|
"e0f4f2b11bea5497af12bae0d52902eb3d02b4ec3a7ae8e07236fb09b59cf560",
|
|
@@ -1020,6 +1025,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1020
1025
|
"scripts/lisa-enforcement-freshness.mjs": Object.freeze([
|
|
1021
1026
|
"781bb4da7d2e2ce383c9fb2f1f80d48536697f8c581458c326ffb96b8fefe8db",
|
|
1022
1027
|
"edc243b4f79a1cbbf16890356ddec15592896d0736e74d13663ba7f548bb0c1f",
|
|
1028
|
+
"f02571c6766dd2ed0914b4cf7e62b045dee8fcd33a0b2298f0be1f5ac0989639",
|
|
1023
1029
|
]),
|
|
1024
1030
|
"scripts/lisa-environment-prepare.mjs": Object.freeze([
|
|
1025
1031
|
"0c2c2aeed3a8d843b3019e5263aab26790856c0c33f028925d2f0f795a26872d",
|
|
@@ -1790,6 +1796,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1790
1796
|
"c78df9d5f0f3fc388ff60a7db5898478a2a4d6d7325833f10384b5a8c62bb34a",
|
|
1791
1797
|
"c8cea225a598e8856ed3afac2531f6f7e1235b5cee280f85ef311e70887b6a62",
|
|
1792
1798
|
"cb708e688daa4ae556ed95baf39bbbe89db1a908512f179cd5022797f4b1018e",
|
|
1799
|
+
"cd1b16e056fefac17018d5c96ad063dc4002f304e4400765e473403186b7175a",
|
|
1793
1800
|
"cdea136456d2b9880c3abd2bbd402fb08051822b9e92484c66cd184ec7ed7d0f",
|
|
1794
1801
|
"ce1520dba31d32856d470cf744700e0636518dd3a767627d42ac0a77007d6813",
|
|
1795
1802
|
"ce5ff040b1f75925bc286027dcb893649edfb408021916920b07105baa2d9949",
|
|
@@ -1916,6 +1923,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
1916
1923
|
"702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
|
|
1917
1924
|
"728bcf6bdfb82c5b312da268db0ec7b50d94ac62c64ec58c70592eb106383f09",
|
|
1918
1925
|
"7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
|
|
1926
|
+
"7c8b9d5b8f7d77dbf520c1009497d041eeb9930103c7f52bfd8b04a4492eb023",
|
|
1919
1927
|
"8a3c46d3501797ebb53a081c8b35e78e0ceb2b060503332b48e44ccc30d6d0df",
|
|
1920
1928
|
"8b3ef61c17d94bdf8eee99e02d396c975a12a8b8a3c2e34231eff6aaea3bf392",
|
|
1921
1929
|
"901c52e08a53f0c7420ddc3308aa49e656429827770c1fd6a3f4ba8c9029d8ad",
|
|
@@ -2626,6 +2634,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
2626
2634
|
"scripts/lib/npm-update-gh-grants.mjs": Object.freeze([
|
|
2627
2635
|
"39cdf37db1ceae3b104038c1e25735a7f805d04f2ab2a7001a853f633485718d",
|
|
2628
2636
|
"4be8bcfa098b7f7f9cdfe6d7a1f110e5e4fb1e6181bd12d0b7f620f569293f09",
|
|
2637
|
+
"62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
|
|
2629
2638
|
]),
|
|
2630
2639
|
"scripts/lib/npm-update-gh-requests.mjs": Object.freeze([
|
|
2631
2640
|
"0bfd950560242d6b9ecb93f8d7162e68cb420b631e39d24663ccf803712a4c22",
|
|
@@ -2979,6 +2988,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
2979
2988
|
"f0f3c43bbb6d1e389135b0205a051e64891e539d4272df2a87841ee82a8b7a55",
|
|
2980
2989
|
]),
|
|
2981
2990
|
"scripts/lisa-enforcement-fallback.sh": Object.freeze([
|
|
2991
|
+
"07159250b1172ed0b15896ad251af0ffc84a22f5f24806c06b4e1478f20c9bd8",
|
|
2982
2992
|
"1bec5f3c284b3febdc471487ee6a23ffb72bd4e7b293f9e26b0188f32318c722",
|
|
2983
2993
|
"27f4e4b54986f49ddb9a3bf6e02b926d41d85ecd46ab2263cb17a5746820f8bd",
|
|
2984
2994
|
"3049c2f1051c7c02dd60b62355964651e1565ebe6bdcb5e37634cd686cf1deb1",
|
|
@@ -2994,12 +3004,15 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
2994
3004
|
"916b2b48a2b55c2090468c48c972b6c7c5fad39fb53956ceffebdd1ff0c69230",
|
|
2995
3005
|
"9cab71562d01421d57c6719318a4d03a6249a45c1aea434db3ff26e3065eeb66",
|
|
2996
3006
|
"9cfad1d691235fa70ccf97603eea2ef177bbded4a34d85aeedc41018c894b591",
|
|
3007
|
+
"a61653e9a4788804249ae6e66924e6c7a69cd06b013b91881361d992b935fbcf",
|
|
3008
|
+
"a7078fee6b5719d8c1f96e145091dc9f1b7a15b002b76f2fabb57909a81ba96f",
|
|
2997
3009
|
"aafd027c4b6092da15d0389f9e8dcedbd9105e9083057e2da39f78fd5f72e0df",
|
|
2998
3010
|
"acf05ef7bd86f58042e57b6d4dd3d519efb46131bb38c6bf3b7c05f6d15b20ad",
|
|
2999
3011
|
"b456ad79aae18ea3af4ae462327653a88ab865ec31c84aa233c3ded512acff32",
|
|
3000
3012
|
"b4cc14d5dc02c790ea3e51b0134b9c3d5e4a0e8ef08a652817f7485a0badde17",
|
|
3001
3013
|
"c64765cb502797daa163dbb6cad723b633a7c527dffeb6bd99cca4989a63fcf4",
|
|
3002
3014
|
"c9604929b1f5d3fee39ef7c3619f89002accf27712dbd38f25b6a7a0ceb0025a",
|
|
3015
|
+
"ca133b6f4b5c1c95de89fc28c4e04c1a8974570737e9173d6e69e960ddb9200b",
|
|
3003
3016
|
"d7d88e44763694bed5eae998cd3663922c957e49f9f9621d9201f0417a4128ad",
|
|
3004
3017
|
"d922508529c0ffd6b8411d7fc618b3d14ceb70901746adfbcf49e46eb685d6b9",
|
|
3005
3018
|
"e0f4f2b11bea5497af12bae0d52902eb3d02b4ec3a7ae8e07236fb09b59cf560",
|
|
@@ -3011,6 +3024,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3011
3024
|
"scripts/lisa-enforcement-freshness.mjs": Object.freeze([
|
|
3012
3025
|
"781bb4da7d2e2ce383c9fb2f1f80d48536697f8c581458c326ffb96b8fefe8db",
|
|
3013
3026
|
"edc243b4f79a1cbbf16890356ddec15592896d0736e74d13663ba7f548bb0c1f",
|
|
3027
|
+
"f02571c6766dd2ed0914b4cf7e62b045dee8fcd33a0b2298f0be1f5ac0989639",
|
|
3014
3028
|
]),
|
|
3015
3029
|
"scripts/lisa-environment-prepare.mjs": Object.freeze([
|
|
3016
3030
|
"0c2c2aeed3a8d843b3019e5263aab26790856c0c33f028925d2f0f795a26872d",
|
|
@@ -3713,6 +3727,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3713
3727
|
"c78df9d5f0f3fc388ff60a7db5898478a2a4d6d7325833f10384b5a8c62bb34a",
|
|
3714
3728
|
"c8cea225a598e8856ed3afac2531f6f7e1235b5cee280f85ef311e70887b6a62",
|
|
3715
3729
|
"cb708e688daa4ae556ed95baf39bbbe89db1a908512f179cd5022797f4b1018e",
|
|
3730
|
+
"cd1b16e056fefac17018d5c96ad063dc4002f304e4400765e473403186b7175a",
|
|
3716
3731
|
"cdea136456d2b9880c3abd2bbd402fb08051822b9e92484c66cd184ec7ed7d0f",
|
|
3717
3732
|
"ce1520dba31d32856d470cf744700e0636518dd3a767627d42ac0a77007d6813",
|
|
3718
3733
|
"ce5ff040b1f75925bc286027dcb893649edfb408021916920b07105baa2d9949",
|
|
@@ -3838,6 +3853,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
3838
3853
|
"702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
|
|
3839
3854
|
"728bcf6bdfb82c5b312da268db0ec7b50d94ac62c64ec58c70592eb106383f09",
|
|
3840
3855
|
"7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
|
|
3856
|
+
"7c8b9d5b8f7d77dbf520c1009497d041eeb9930103c7f52bfd8b04a4492eb023",
|
|
3841
3857
|
"8a3c46d3501797ebb53a081c8b35e78e0ceb2b060503332b48e44ccc30d6d0df",
|
|
3842
3858
|
"8b3ef61c17d94bdf8eee99e02d396c975a12a8b8a3c2e34231eff6aaea3bf392",
|
|
3843
3859
|
"901c52e08a53f0c7420ddc3308aa49e656429827770c1fd6a3f4ba8c9029d8ad",
|