@codyswann/lisa 4.34.4 → 4.34.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/lisa-gates.mjs +40 -1
- package/all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh +436 -9
- package/all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh +636 -101
- package/all/copy-overwrite/scripts/lisa-test-node.mjs +44 -1
- package/dist/codex/scripts/block-no-verify.sh +608 -99
- package/dist/configs/vitest/scratch-global-setup.d.ts +29 -0
- package/dist/configs/vitest/scratch-global-setup.d.ts.map +1 -1
- package/dist/configs/vitest/scratch-global-setup.js +77 -12
- package/dist/configs/vitest/scratch-global-setup.js.map +1 -1
- package/dist/core/config-shadowing.d.ts +72 -0
- package/dist/core/config-shadowing.d.ts.map +1 -0
- package/dist/core/config-shadowing.js +152 -0
- package/dist/core/config-shadowing.js.map +1 -0
- package/dist/core/config.d.ts +16 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +10 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/lisa.d.ts +21 -0
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +46 -0
- package/dist/core/lisa.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 +19 -11
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/plugin-templates/block-no-verify.sh +636 -101
- package/dist/strategies/copy-overwrite.d.ts +42 -0
- package/dist/strategies/copy-overwrite.d.ts.map +1 -1
- package/dist/strategies/copy-overwrite.js +69 -5
- package/dist/strategies/copy-overwrite.js.map +1 -1
- package/expo/copy-overwrite/scripts/check-lighthouse-details.mjs +138 -11
- package/expo/create-only/.github/workflows/deploy.yml +51 -4
- 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/hooks/block-managed-file-edits.sh +436 -9
- package/plugins/lisa/hooks/block-no-verify.agy.sh +608 -99
- package/plugins/lisa/hooks/block-no-verify.sh +636 -101
- package/plugins/lisa-agy/hooks/block-no-verify.agy.sh +608 -99
- 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/hooks/block-managed-file-edits.sh +436 -9
- package/plugins/lisa-copilot/hooks/block-no-verify.sh +636 -101
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/block-managed-file-edits.sh +436 -9
- package/plugins/lisa-cursor/hooks/block-no-verify.sh +636 -101
- 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/hooks/block-managed-file-edits.sh +436 -9
- package/plugins/src/base/hooks/block-no-verify.agy.sh +608 -99
- package/plugins/src/base/hooks/block-no-verify.sh +636 -101
- package/rails/create-only/.github/workflows/deploy.yml +45 -1
- package/scripts/two-channel-couplings.json +1 -1
|
@@ -71,6 +71,36 @@ export const EXCLUDED_SEGMENTS = Object.freeze([
|
|
|
71
71
|
".worktrees",
|
|
72
72
|
]);
|
|
73
73
|
|
|
74
|
+
/**
|
|
75
|
+
* The same policy as {@link EXCLUDED_SEGMENTS}, spelled as prune patterns for
|
|
76
|
+
* the walker so those trees are never descended into in the first place.
|
|
77
|
+
*
|
|
78
|
+
* Derived from the segment list rather than written out beside it, so a
|
|
79
|
+
* segment added to one cannot go missing from the other.
|
|
80
|
+
*
|
|
81
|
+
* ## Two traps worth knowing before editing this
|
|
82
|
+
*
|
|
83
|
+
* The intuitive spelling is `ignore: [...]`, which is the **`glob` NPM
|
|
84
|
+
* package's** option. This is `node:fs`, whose option is `exclude` — and
|
|
85
|
+
* `node:fs` **silently discards unknown keys**. Measured on v22.22.0, passing
|
|
86
|
+
* `ignore` returns a result byte-identical to passing no options at all, so
|
|
87
|
+
* the plausible fix is a no-op that still exhausts the heap and still looks
|
|
88
|
+
* correct in review.
|
|
89
|
+
*
|
|
90
|
+
* The array form is used rather than the function form because node documents
|
|
91
|
+
* `exclude` as taking a list of glob patterns, whereas what the function form
|
|
92
|
+
* is handed on v22 is a bare basename — an undocumented shape not worth
|
|
93
|
+
* pinning a contract to.
|
|
94
|
+
*
|
|
95
|
+
* The dot-leading entries are inert and kept deliberately: measured on
|
|
96
|
+
* v22.22.0, `**` matches no dot-leading segment and the walk never descends
|
|
97
|
+
* into one, so `.worktrees` costs nothing either way. Deriving the whole list
|
|
98
|
+
* is what keeps this honest if that behaviour ever changes.
|
|
99
|
+
*/
|
|
100
|
+
export const EXCLUDED_GLOBS = Object.freeze(
|
|
101
|
+
EXCLUDED_SEGMENTS.map(segment => `**/${segment}/**`)
|
|
102
|
+
);
|
|
103
|
+
|
|
74
104
|
/**
|
|
75
105
|
* Whether a matched path belongs to this project rather than to a dependency,
|
|
76
106
|
* a build output, or another checkout parked inside the tree.
|
|
@@ -89,7 +119,20 @@ export function isOwnTest(relativePath) {
|
|
|
89
119
|
* @returns {string[]} Project-relative paths.
|
|
90
120
|
*/
|
|
91
121
|
export function collect(cwd = process.cwd()) {
|
|
92
|
-
|
|
122
|
+
// Both filters are load-bearing and neither replaces the other: `exclude`
|
|
123
|
+
// decides what is WALKED, `isOwnTest` decides what is a SUITE.
|
|
124
|
+
//
|
|
125
|
+
// Filtering alone runs after the walk has already materialised every
|
|
126
|
+
// matching path in the tree. Where agent sessions park nested `git worktree`
|
|
127
|
+
// checkouts inside the repository — which Lisa's own worktree-isolation
|
|
128
|
+
// guidance encourages — that walk descends into every nested checkout's
|
|
129
|
+
// `node_modules` and exhausts the heap. Measured downstream on v22.22.0 with
|
|
130
|
+
// 107 nested checkouts: a heap-limit abort, exit 134, at
|
|
131
|
+
// `--max-old-space-size=4096`; with `exclude`, 43 suites in 362 ms and 10 MB.
|
|
132
|
+
//
|
|
133
|
+
// That took the whole gate down, not just this runner: the guard that
|
|
134
|
+
// imports `collect` runs in the pre-push hook, so every push was refused.
|
|
135
|
+
return globSync(TEST_GLOB, { cwd, exclude: EXCLUDED_GLOBS })
|
|
93
136
|
.filter(isOwnTest)
|
|
94
137
|
.sort((left, right) => left.localeCompare(right));
|
|
95
138
|
}
|