@codyswann/lisa 4.74.1 → 4.74.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/all/copy-overwrite/scripts/lib/npm-update-contract.mjs +2 -1
  2. package/all/copy-overwrite/scripts/lib/npm-update-gate-hooks.mjs +2 -1
  3. package/all/copy-overwrite/scripts/lib/npm-update-gh-grants.mjs +2 -1
  4. package/all/copy-overwrite/scripts/lib/npm-update-gh-requests.mjs +2 -1
  5. package/all/copy-overwrite/scripts/lib/npm-update-orchestrator.mjs +2 -1
  6. package/all/copy-overwrite/scripts/lib/npm-update-process-core.mjs +2 -1
  7. package/all/copy-overwrite/scripts/lib/npm-update-worker-inspection.mjs +2 -1
  8. package/all/copy-overwrite/scripts/lib/npm-update-worker-lifecycle.mjs +2 -1
  9. package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +18 -19
  10. package/cdk/create-only/.github/workflows/deploy.yml +58 -1
  11. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  12. package/dist/core/lisa-owned-hash-ledger.js +18 -0
  13. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  14. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  15. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  16. package/dist/core/upstream-evidence-manifest.js +17 -15
  17. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  18. package/expo/create-only/.github/workflows/deploy.yml +106 -3
  19. package/harper-fabric/create-only/.github/workflows/deploy.yml +97 -0
  20. package/nestjs/create-only/.github/workflows/deploy.yml +135 -2
  21. package/package.json +4 -4
  22. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  24. package/plugins/lisa-agy/plugin.json +1 -1
  25. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  27. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  28. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  34. package/plugins/lisa-expo-agy/plugin.json +1 -1
  35. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  39. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  40. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  45. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  50. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  55. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  59. package/plugins/lisa-rails-agy/plugin.json +1 -1
  60. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  64. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  65. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  69. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  70. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  72. package/rails/create-only/.github/workflows/deploy.yml +97 -2
  73. package/scripts/two-channel-couplings.json +1 -1
@@ -8,7 +8,8 @@
8
8
  */
9
9
  import { required, keys } from "./npm-update-invariants.mjs";
10
10
  export { UpdaterError, required, keys } from "./npm-update-invariants.mjs";
11
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
11
+ // Preload dependencies must not execute the entry CLI before instrumentation.
12
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
12
13
  import { sha256 } from "./github-attestation-verifier.mjs";
13
14
  import {
14
15
  optionalLockFields,
@@ -2,7 +2,8 @@
2
2
  // Do not edit directly — durable changes belong upstream in Lisa.
3
3
 
4
4
  /** Original hook transport distinguishes artifact audit from actual remote state. */
5
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
5
+ // Preload dependencies must not execute the entry CLI before instrumentation.
6
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
6
7
  import { required, OBJECT, keys } from "./npm-update-contract.mjs";
7
8
  import { sha256 } from "./github-attestation-verifier.mjs";
8
9
  export { managedTemplateMembers } from "./npm-update-helper-graph.mjs";
@@ -2,7 +2,8 @@
2
2
  // Do not edit directly — durable changes belong upstream in Lisa.
3
3
 
4
4
  /** Native successful responses grant only one exact canonical successor request. */
5
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
5
+ // Preload dependencies must not execute the entry CLI before instrumentation.
6
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
6
7
  import { required } from "./npm-update-contract.mjs";
7
8
  import {
8
9
  githubHierarchyArgs,
@@ -2,7 +2,8 @@
2
2
  // Do not edit directly — durable changes belong upstream in Lisa.
3
3
 
4
4
  /** Controller-derived literal GH requests narrow canonical parsing without replacing it. */
5
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
5
+ // Preload dependencies must not execute the entry CLI before instrumentation.
6
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
6
7
  import { required, keys } from "./npm-update-contract.mjs";
7
8
  import {
8
9
  githubIssueViewArgs,
@@ -22,7 +22,8 @@ import { fileURLToPath } from "node:url";
22
22
  import { required, keys } from "./npm-update-contract.mjs";
23
23
  import { readBytes, readJson, writeJson } from "./npm-update-process.mjs";
24
24
  import { sha256 } from "./github-attestation-verifier.mjs";
25
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
25
+ // Preload dependencies must not execute the entry CLI before instrumentation.
26
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
26
27
  import { controllerGraph, configuredRoute } from "./npm-update-gate-hooks.mjs";
27
28
  export { controllerGraph } from "./npm-update-gate-hooks.mjs";
28
29
 
@@ -26,7 +26,8 @@ import {
26
26
  import { join, resolve, dirname } from "node:path";
27
27
  import { tmpdir } from "node:os";
28
28
  import { randomBytes } from "node:crypto";
29
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
29
+ // Preload dependencies must not execute the entry CLI before instrumentation.
30
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
30
31
  import { required } from "./npm-update-contract.mjs";
31
32
 
32
33
  /** A fresh HOME and allowlist remove ambient Git/npm/issuer/write authority. */
@@ -3,7 +3,8 @@
3
3
 
4
4
  /** Effective daemon observations must match all parent-selected namespace controls. @module npm-updater */
5
5
  import { required } from "./npm-update-contract.mjs";
6
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
6
+ // Preload dependencies must not execute the entry CLI before instrumentation.
7
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
7
8
  import { sha256 } from "./github-attestation-verifier.mjs";
8
9
  import { workerScratch } from "./npm-update-worker-policy.mjs";
9
10
  import {
@@ -3,7 +3,8 @@
3
3
 
4
4
  /** Parent registry and real daemon exit/removal own every worker lifecycle verdict. @module npm-updater */
5
5
  import { required, UpdaterError } from "./npm-update-contract.mjs";
6
- import { canonicalJson } from "../lisa-automation-provenance.mjs";
6
+ // Preload dependencies must not execute the entry CLI before instrumentation.
7
+ import { canonicalJson } from "./automation-provenance-contract.mjs";
7
8
  import { readBytes, runProcess } from "./npm-update-process.mjs";
8
9
  import { sha256 } from "./github-attestation-verifier.mjs";
9
10
  import {
@@ -316,15 +316,14 @@
316
316
  "children": []
317
317
  },
318
318
  "lib/npm-update-contract.mjs": {
319
- "sha256": "d5c4bf65603bb212e1e8f99a39c38d9c5eff103b1f1b28966e20557bb7f3e85d",
319
+ "sha256": "b41964538fbcccf9b47f88a4a9a78c00b0dcb1036e495ed0cf1fe9ad332b50ac",
320
320
  "staticImports": [
321
321
  "lib/automation-provenance-contract.mjs",
322
322
  "lib/github-attestation-verifier.mjs",
323
323
  "lib/npm-update-invariants.mjs",
324
324
  "lib/npm-update-object.mjs",
325
325
  "lib/npm-update-policy.mjs",
326
- "lib/npm-update-rails-runtime-contract.mjs",
327
- "lisa-automation-provenance.mjs"
326
+ "lib/npm-update-rails-runtime-contract.mjs"
328
327
  ],
329
328
  "dynamicImports": [],
330
329
  "children": []
@@ -398,13 +397,13 @@
398
397
  ]
399
398
  },
400
399
  "lib/npm-update-gate-hooks.mjs": {
401
- "sha256": "cb235496feb720a7497bce027c137476086f172485020494744d85e6a0310a5b",
400
+ "sha256": "3ef6fe8fc458c6888afc511e6f246b78facbea8643a5abd572b8ba7303912c5c",
402
401
  "staticImports": [
402
+ "lib/automation-provenance-contract.mjs",
403
403
  "lib/github-attestation-verifier.mjs",
404
404
  "lib/npm-update-contract.mjs",
405
405
  "lib/npm-update-helper-graph.mjs",
406
- "lib/npm-update-hook-installation.mjs",
407
- "lisa-automation-provenance.mjs"
406
+ "lib/npm-update-hook-installation.mjs"
408
407
  ],
409
408
  "dynamicImports": [],
410
409
  "children": []
@@ -475,22 +474,22 @@
475
474
  "children": []
476
475
  },
477
476
  "lib/npm-update-gh-grants.mjs": {
478
- "sha256": "62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
477
+ "sha256": "1ed12369027e4c25a54e25c119be6d1430baffae79370deba01e2b462e430c18",
479
478
  "staticImports": [
479
+ "lib/automation-provenance-contract.mjs",
480
480
  "lib/npm-update-contract.mjs",
481
- "lisa-automation-provenance.mjs",
482
481
  "lisa-work-item.mjs"
483
482
  ],
484
483
  "dynamicImports": [],
485
484
  "children": []
486
485
  },
487
486
  "lib/npm-update-gh-requests.mjs": {
488
- "sha256": "0bfd950560242d6b9ecb93f8d7162e68cb420b631e39d24663ccf803712a4c22",
487
+ "sha256": "54604122ee71c3597c01890499f0cba5872f7c4d807c437b5161f52f9b5133be",
489
488
  "staticImports": [
489
+ "lib/automation-provenance-contract.mjs",
490
490
  "lib/github-attestation-verifier.mjs",
491
491
  "lib/npm-update-contract.mjs",
492
492
  "lib/npm-update-gh-grants.mjs",
493
- "lisa-automation-provenance.mjs",
494
493
  "lisa-work-item.mjs"
495
494
  ],
496
495
  "dynamicImports": [],
@@ -720,13 +719,13 @@
720
719
  "children": []
721
720
  },
722
721
  "lib/npm-update-orchestrator.mjs": {
723
- "sha256": "e7756896d163affcfc0604e1e7d97c88b6633dcbd7b7982af4f05db4d13aec93",
722
+ "sha256": "10324c66b1ac6ea26a1f5da11dfba945d96999b11babf2d23125e7e27d626202",
724
723
  "staticImports": [
724
+ "lib/automation-provenance-contract.mjs",
725
725
  "lib/github-attestation-verifier.mjs",
726
726
  "lib/npm-update-contract.mjs",
727
727
  "lib/npm-update-gate-hooks.mjs",
728
728
  "lib/npm-update-process.mjs",
729
- "lisa-automation-provenance.mjs",
730
729
  "node:crypto",
731
730
  "node:fs",
732
731
  "node:path",
@@ -776,11 +775,11 @@
776
775
  "children": []
777
776
  },
778
777
  "lib/npm-update-process-core.mjs": {
779
- "sha256": "411b06976f7ff95a9471a23095c486b46f0add3aed2da5c2740edc98ead74af3",
778
+ "sha256": "5ee6e914ff039968ef327d00e66aaa2637fbca725150c11a331d2bcba6c60b64",
780
779
  "staticImports": [
780
+ "lib/automation-provenance-contract.mjs",
781
781
  "lib/npm-update-contract.mjs",
782
782
  "lib/npm-update-native-process.mjs",
783
- "lisa-automation-provenance.mjs",
784
783
  "node:crypto",
785
784
  "node:fs",
786
785
  "node:os",
@@ -1039,20 +1038,21 @@
1039
1038
  "children": []
1040
1039
  },
1041
1040
  "lib/npm-update-worker-inspection.mjs": {
1042
- "sha256": "40f0bcfd4cc36498d16f66e24547705590ff79289c87bb9a1025d5bd6a30f2ee",
1041
+ "sha256": "6e8fc022a5bff0ab650e7b5dde9279c8ddb1acb6dbe588db8fec67d558833fd2",
1043
1042
  "staticImports": [
1043
+ "lib/automation-provenance-contract.mjs",
1044
1044
  "lib/github-attestation-verifier.mjs",
1045
1045
  "lib/npm-update-contract.mjs",
1046
1046
  "lib/npm-update-worker-environment.mjs",
1047
- "lib/npm-update-worker-policy.mjs",
1048
- "lisa-automation-provenance.mjs"
1047
+ "lib/npm-update-worker-policy.mjs"
1049
1048
  ],
1050
1049
  "dynamicImports": [],
1051
1050
  "children": []
1052
1051
  },
1053
1052
  "lib/npm-update-worker-lifecycle.mjs": {
1054
- "sha256": "3b806089b16555ac1d512b91021b48a95952ae2d8d672b07034067261be58fa2",
1053
+ "sha256": "70b53fcd7532d64d8c0605aa3347480eea8415b95e7004192f4c381d899a6292",
1055
1054
  "staticImports": [
1055
+ "lib/automation-provenance-contract.mjs",
1056
1056
  "lib/github-attestation-verifier.mjs",
1057
1057
  "lib/npm-update-contract.mjs",
1058
1058
  "lib/npm-update-orchestrator.mjs",
@@ -1060,7 +1060,6 @@
1060
1060
  "lib/npm-update-worker-environment.mjs",
1061
1061
  "lib/npm-update-worker-inspection.mjs",
1062
1062
  "lib/npm-update-worker-policy.mjs",
1063
- "lisa-automation-provenance.mjs",
1064
1063
  "node:crypto",
1065
1064
  "node:fs"
1066
1065
  ],
@@ -20,6 +20,16 @@ on:
20
20
  - main
21
21
  workflow_dispatch:
22
22
  inputs:
23
+ rollback_commit:
24
+ description: 'Commit SHA to deploy for a deliberate rollback; leave empty for the run commit'
25
+ required: false
26
+ default: ''
27
+ type: string
28
+ force_stale_deploy:
29
+ description: "Allow a deliberate rollback to this run's old commit (may overwrite a newer deployment)"
30
+ required: false
31
+ default: false
32
+ type: boolean
23
33
  environment:
24
34
  description: 'Environment to deploy to'
25
35
  required: true
@@ -34,6 +44,53 @@ concurrency:
34
44
  cancel-in-progress: true
35
45
 
36
46
  jobs:
47
+ # Re-runs retain their original SHA. Refuse an old run before release or deployment.
48
+ validate_deploy_commit:
49
+ name: 🚦 Validate Deployment Commit
50
+ runs-on: ubuntu-latest
51
+ timeout-minutes: 5
52
+ permissions:
53
+ contents: read
54
+ steps:
55
+ - uses: actions/checkout@v6
56
+ with:
57
+ ref: ${{ github.event_name == 'workflow_dispatch' && inputs.rollback_commit || github.sha }}
58
+ # Check the actual checkout again on job-only retries; earlier jobs may not rerun.
59
+ - name: 🚦 Refuse stale deployment
60
+ shell: bash
61
+ env:
62
+ DEPLOY_BRANCH: ${{ github.event_name == 'workflow_dispatch' && inputs.environment || github.ref_name }}
63
+ DEPLOY_EVENT: ${{ github.event_name }}
64
+ FORCE_STALE_DEPLOY: ${{ github.event_name == 'workflow_dispatch' && inputs.force_stale_deploy == true }}
65
+ run: |
66
+ set -euo pipefail
67
+ DEPLOY_SHA=$(git rev-parse HEAD)
68
+ TARGET_REF="refs/heads/$DEPLOY_BRANCH"
69
+ if ! git check-ref-format "$TARGET_REF"; then
70
+ echo "::error::Invalid deployment branch: $DEPLOY_BRANCH. Choose an existing branch."
71
+ exit 1
72
+ fi
73
+ if ! REMOTE=$(git ls-remote --exit-code --heads origin "$TARGET_REF"); then
74
+ echo "::error::Cannot read the current tip of $DEPLOY_BRANCH. Nothing will be deployed. Check repository access and the branch name, then retry."
75
+ exit 1
76
+ fi
77
+ read -r TIP RESOLVED_REF <<< "$REMOTE"
78
+ if [[ ! "$TIP" =~ ^[0-9a-f]{40}$ ]] || [ "$RESOLVED_REF" != "$TARGET_REF" ]; then
79
+ echo "::error::Could not verify the current tip of $DEPLOY_BRANCH. Nothing will be deployed."
80
+ exit 1
81
+ fi
82
+ if [ "$DEPLOY_SHA" = "$TIP" ]; then
83
+ echo "✅ Deployment commit $DEPLOY_SHA is the current tip of $DEPLOY_BRANCH."
84
+ exit 0
85
+ fi
86
+ if [ "$DEPLOY_EVENT" = "workflow_dispatch" ] && [ "$FORCE_STALE_DEPLOY" = "true" ]; then
87
+ echo "::warning title=Deliberate stale deployment::Deploying non-tip commit $DEPLOY_SHA to $DEPLOY_BRANCH; the current branch tip is $TIP. force_stale_deploy was explicitly enabled."
88
+ echo "### ⚠️ Deliberate rollback: deploying $DEPLOY_SHA to $DEPLOY_BRANCH instead of current tip $TIP." >> "${GITHUB_STEP_SUMMARY:-/dev/stdout}"
89
+ exit 0
90
+ fi
91
+ echo "::error title=Stale deployment refused::This run would deploy $DEPLOY_SHA, but $DEPLOY_BRANCH is now at $TIP. This is probably a re-run of an old run and would roll the environment back. Re-run the latest deploy run for this branch, or start workflow_dispatch on the branch tip. For a deliberate rollback only, explicitly enable force_stale_deploy in a manual run."
92
+ exit 1
93
+
37
94
  # Environment setup
38
95
  determine_environment:
39
96
  name: 🌍 Determine Environment
@@ -93,7 +150,7 @@ jobs:
93
150
  pre_deploy_gates:
94
151
  name: 🚦 Pre-Deploy Gates
95
152
  uses: CodySwannGT/lisa/.github/workflows/gates.yml@main
96
- needs: [determine_environment]
153
+ needs: [determine_environment, validate_deploy_commit]
97
154
  with:
98
155
  # Travels with the `uses:` line above — the two are one unit. Lisa's
99
156
  # reusable workflows are tracked at `@main`, so that file changes under
@@ -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,CA+/DjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAk6DjC,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,CAwgEjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA26DjC,CAAC"}
@@ -611,6 +611,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
611
611
  "scripts/lib/npm-update-contract.mjs": Object.freeze([
612
612
  "553f75ff705aa1c03d6480a377b530c4096e836e716846fbb8bed989fd32c732",
613
613
  "6905dd9d5747702ab502b66bcb38b6d4dcb30127f02466d29b3905f53c27981d",
614
+ "b41964538fbcccf9b47f88a4a9a78c00b0dcb1036e495ed0cf1fe9ad332b50ac",
614
615
  "c0d43613e4675bd3ec4585040d87a21821ec40b32739502d9124863f4e3e6ee0",
615
616
  "d5c4bf65603bb212e1e8f99a39c38d9c5eff103b1f1b28966e20557bb7f3e85d",
616
617
  "d8e7e94d7b33d0088ea01d32d659f00408487465f7d857a64daa1b09b16fcd8c",
@@ -636,6 +637,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
636
637
  "f01a20295de226bbf15c6fd2c3044525bbc7840508a84c1c1ec1e4445ebfeca5",
637
638
  ]),
638
639
  "scripts/lib/npm-update-gate-hooks.mjs": Object.freeze([
640
+ "3ef6fe8fc458c6888afc511e6f246b78facbea8643a5abd572b8ba7303912c5c",
639
641
  "676e5acac164284981cca96d4f414c3e336a69dcdee40c8f35232e0334fb4619",
640
642
  "cb235496feb720a7497bce027c137476086f172485020494744d85e6a0310a5b",
641
643
  "d08af0c2c920ee98b1973f82929739c475cbad0048f9253f6532fa5fdadf4359",
@@ -663,6 +665,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
663
665
  "d78a187dfeb31aa8f5e7ecb38b5902dd4e034d52dca1527ac115dc591de90997",
664
666
  ]),
665
667
  "scripts/lib/npm-update-gh-grants.mjs": Object.freeze([
668
+ "1ed12369027e4c25a54e25c119be6d1430baffae79370deba01e2b462e430c18",
666
669
  "39cdf37db1ceae3b104038c1e25735a7f805d04f2ab2a7001a853f633485718d",
667
670
  "4be8bcfa098b7f7f9cdfe6d7a1f110e5e4fb1e6181bd12d0b7f620f569293f09",
668
671
  "62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
@@ -670,6 +673,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
670
673
  "scripts/lib/npm-update-gh-requests.mjs": Object.freeze([
671
674
  "0bfd950560242d6b9ecb93f8d7162e68cb420b631e39d24663ccf803712a4c22",
672
675
  "384001f9c7910cd16a12aeae1d0fd69a18f589541c66625812f36cf0504e359d",
676
+ "54604122ee71c3597c01890499f0cba5872f7c4d807c437b5161f52f9b5133be",
673
677
  "851e92a7ac89561e1bd5cc962691722e5268c33141d5f31586e0b7a11f20141d",
674
678
  ]),
675
679
  "scripts/lib/npm-update-github.mjs": Object.freeze([
@@ -775,6 +779,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
775
779
  "b06f1bc632aeed73744fd6aa56e8f75da34c9d68fe9b6341188c60fc5fd1f25e",
776
780
  ]),
777
781
  "scripts/lib/npm-update-orchestrator.mjs": Object.freeze([
782
+ "10324c66b1ac6ea26a1f5da11dfba945d96999b11babf2d23125e7e27d626202",
778
783
  "3bf831d84eadaa4dc5a45b82167fc7cf7bb08515aa8741653f09de2d376d4b14",
779
784
  "e7756896d163affcfc0604e1e7d97c88b6633dcbd7b7982af4f05db4d13aec93",
780
785
  ]),
@@ -796,6 +801,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
796
801
  "411b06976f7ff95a9471a23095c486b46f0add3aed2da5c2740edc98ead74af3",
797
802
  "411d626bbce095871dd4598f542643504b04fe1cef7f04125a58628ed2067247",
798
803
  "5a34573de688e3173b907f1c6071fddbafbd6d33f798fa3147d233cfae4f95ea",
804
+ "5ee6e914ff039968ef327d00e66aaa2637fbca725150c11a331d2bcba6c60b64",
799
805
  "b693211a0dd83dde0788c464a8db2833e76371119f792854b94e1a1751e3b11c",
800
806
  ]),
801
807
  "scripts/lib/npm-update-process.mjs": Object.freeze([
@@ -886,10 +892,12 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
886
892
  "scripts/lib/npm-update-worker-inspection.mjs": Object.freeze([
887
893
  "3757c4b56ae0dc2248a663a8530baf5c7bddb0b93c19d596525ae167a2b9b07c",
888
894
  "40f0bcfd4cc36498d16f66e24547705590ff79289c87bb9a1025d5bd6a30f2ee",
895
+ "6e8fc022a5bff0ab650e7b5dde9279c8ddb1acb6dbe588db8fec67d558833fd2",
889
896
  ]),
890
897
  "scripts/lib/npm-update-worker-lifecycle.mjs": Object.freeze([
891
898
  "3b806089b16555ac1d512b91021b48a95952ae2d8d672b07034067261be58fa2",
892
899
  "3cd93f3fef88c10643d2e3efe318fc3fda00695b0c30bd1a846ae7fb366f3498",
900
+ "70b53fcd7532d64d8c0605aa3347480eea8415b95e7004192f4c381d899a6292",
893
901
  ]),
894
902
  "scripts/lib/npm-update-worker-policy.mjs": Object.freeze([
895
903
  "0a9fbd4956147c229eed2a6856064729f3102731163b2cb604e132b5b9871832",
@@ -1936,6 +1944,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
1936
1944
  "scripts/npm-updater-helper-graph.json": Object.freeze([
1937
1945
  "07349149a13f75cf3d517202317aaa1dbe6b06b8c46a45a1512097dca85157da",
1938
1946
  "09352aa145bc81c3c5dab282c61d084cbbe5af6242d7d12303ad764fbad53de2",
1947
+ "0b8d6e6cd22d8a2edef3437c772a7ddf7afc7e7c61e73476323da11d0972a888",
1939
1948
  "15eceda920bf731bd12154af634b69d2f684d8672baff4d0f3e66f18b7a9806f",
1940
1949
  "1ef30003e2ae3e442ccdbe006202ba9374d9efd403961571060ce011f53ed642",
1941
1950
  "2124f4003b70a2123d4713c04ee2e30e4c4e186fdf9cfa8cc4ea7b5f602bdf62",
@@ -2652,6 +2661,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2652
2661
  "scripts/lib/npm-update-contract.mjs": Object.freeze([
2653
2662
  "553f75ff705aa1c03d6480a377b530c4096e836e716846fbb8bed989fd32c732",
2654
2663
  "6905dd9d5747702ab502b66bcb38b6d4dcb30127f02466d29b3905f53c27981d",
2664
+ "b41964538fbcccf9b47f88a4a9a78c00b0dcb1036e495ed0cf1fe9ad332b50ac",
2655
2665
  "c0d43613e4675bd3ec4585040d87a21821ec40b32739502d9124863f4e3e6ee0",
2656
2666
  "d5c4bf65603bb212e1e8f99a39c38d9c5eff103b1f1b28966e20557bb7f3e85d",
2657
2667
  "d8e7e94d7b33d0088ea01d32d659f00408487465f7d857a64daa1b09b16fcd8c",
@@ -2677,6 +2687,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2677
2687
  "f01a20295de226bbf15c6fd2c3044525bbc7840508a84c1c1ec1e4445ebfeca5",
2678
2688
  ]),
2679
2689
  "scripts/lib/npm-update-gate-hooks.mjs": Object.freeze([
2690
+ "3ef6fe8fc458c6888afc511e6f246b78facbea8643a5abd572b8ba7303912c5c",
2680
2691
  "676e5acac164284981cca96d4f414c3e336a69dcdee40c8f35232e0334fb4619",
2681
2692
  "cb235496feb720a7497bce027c137476086f172485020494744d85e6a0310a5b",
2682
2693
  "d08af0c2c920ee98b1973f82929739c475cbad0048f9253f6532fa5fdadf4359",
@@ -2704,6 +2715,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2704
2715
  "d78a187dfeb31aa8f5e7ecb38b5902dd4e034d52dca1527ac115dc591de90997",
2705
2716
  ]),
2706
2717
  "scripts/lib/npm-update-gh-grants.mjs": Object.freeze([
2718
+ "1ed12369027e4c25a54e25c119be6d1430baffae79370deba01e2b462e430c18",
2707
2719
  "39cdf37db1ceae3b104038c1e25735a7f805d04f2ab2a7001a853f633485718d",
2708
2720
  "4be8bcfa098b7f7f9cdfe6d7a1f110e5e4fb1e6181bd12d0b7f620f569293f09",
2709
2721
  "62f81b0d6c669594356c8ad63f544d679407100f3fc46723985f286e4d033e50",
@@ -2711,6 +2723,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2711
2723
  "scripts/lib/npm-update-gh-requests.mjs": Object.freeze([
2712
2724
  "0bfd950560242d6b9ecb93f8d7162e68cb420b631e39d24663ccf803712a4c22",
2713
2725
  "384001f9c7910cd16a12aeae1d0fd69a18f589541c66625812f36cf0504e359d",
2726
+ "54604122ee71c3597c01890499f0cba5872f7c4d807c437b5161f52f9b5133be",
2714
2727
  "851e92a7ac89561e1bd5cc962691722e5268c33141d5f31586e0b7a11f20141d",
2715
2728
  ]),
2716
2729
  "scripts/lib/npm-update-github.mjs": Object.freeze([
@@ -2816,6 +2829,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2816
2829
  "b06f1bc632aeed73744fd6aa56e8f75da34c9d68fe9b6341188c60fc5fd1f25e",
2817
2830
  ]),
2818
2831
  "scripts/lib/npm-update-orchestrator.mjs": Object.freeze([
2832
+ "10324c66b1ac6ea26a1f5da11dfba945d96999b11babf2d23125e7e27d626202",
2819
2833
  "3bf831d84eadaa4dc5a45b82167fc7cf7bb08515aa8741653f09de2d376d4b14",
2820
2834
  "e7756896d163affcfc0604e1e7d97c88b6633dcbd7b7982af4f05db4d13aec93",
2821
2835
  ]),
@@ -2837,6 +2851,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2837
2851
  "411b06976f7ff95a9471a23095c486b46f0add3aed2da5c2740edc98ead74af3",
2838
2852
  "411d626bbce095871dd4598f542643504b04fe1cef7f04125a58628ed2067247",
2839
2853
  "5a34573de688e3173b907f1c6071fddbafbd6d33f798fa3147d233cfae4f95ea",
2854
+ "5ee6e914ff039968ef327d00e66aaa2637fbca725150c11a331d2bcba6c60b64",
2840
2855
  "b693211a0dd83dde0788c464a8db2833e76371119f792854b94e1a1751e3b11c",
2841
2856
  ]),
2842
2857
  "scripts/lib/npm-update-process.mjs": Object.freeze([
@@ -2927,10 +2942,12 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2927
2942
  "scripts/lib/npm-update-worker-inspection.mjs": Object.freeze([
2928
2943
  "3757c4b56ae0dc2248a663a8530baf5c7bddb0b93c19d596525ae167a2b9b07c",
2929
2944
  "40f0bcfd4cc36498d16f66e24547705590ff79289c87bb9a1025d5bd6a30f2ee",
2945
+ "6e8fc022a5bff0ab650e7b5dde9279c8ddb1acb6dbe588db8fec67d558833fd2",
2930
2946
  ]),
2931
2947
  "scripts/lib/npm-update-worker-lifecycle.mjs": Object.freeze([
2932
2948
  "3b806089b16555ac1d512b91021b48a95952ae2d8d672b07034067261be58fa2",
2933
2949
  "3cd93f3fef88c10643d2e3efe318fc3fda00695b0c30bd1a846ae7fb366f3498",
2950
+ "70b53fcd7532d64d8c0605aa3347480eea8415b95e7004192f4c381d899a6292",
2934
2951
  ]),
2935
2952
  "scripts/lib/npm-update-worker-policy.mjs": Object.freeze([
2936
2953
  "0a9fbd4956147c229eed2a6856064729f3102731163b2cb604e132b5b9871832",
@@ -3907,6 +3924,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
3907
3924
  "scripts/npm-updater-helper-graph.json": Object.freeze([
3908
3925
  "07349149a13f75cf3d517202317aaa1dbe6b06b8c46a45a1512097dca85157da",
3909
3926
  "09352aa145bc81c3c5dab282c61d084cbbe5af6242d7d12303ad764fbad53de2",
3927
+ "0b8d6e6cd22d8a2edef3437c772a7ddf7afc7e7c61e73476323da11d0972a888",
3910
3928
  "15eceda920bf731bd12154af634b69d2f684d8672baff4d0f3e66f18b7a9806f",
3911
3929
  "1ef30003e2ae3e442ccdbe006202ba9374d9efd403961571060ce011f53ed642",
3912
3930
  "2124f4003b70a2123d4713c04ee2e30e4c4e186fdf9cfa8cc4ea7b5f602bdf62",