@codyswann/lisa 2.332.4 → 2.332.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/all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh +27 -4
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +4 -3
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
- package/plugins/lisa/hooks/block-no-verify.sh +27 -4
- package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
- 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-no-verify.sh +27 -4
- package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/block-no-verify.sh +27 -4
- package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
- 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-no-verify.sh +27 -4
- package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +53 -18
|
@@ -20,18 +20,41 @@ set -euo pipefail
|
|
|
20
20
|
|
|
21
21
|
input="$(cat)"
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
# Both interpreters must be probed BEFORE they are used, and a missing one must
|
|
24
|
+
# be announced rather than swallowed.
|
|
25
|
+
#
|
|
26
|
+
# `jq` used to be called unguarded here while `python3` two lines below was
|
|
27
|
+
# guarded. Under `set -e` an absent jq aborted the script with 127, and Claude
|
|
28
|
+
# Code treats any non-2 exit as a NON-BLOCKING hook error — so the hook that
|
|
29
|
+
# enforces "never --no-verify" silently permitted the very thing it exists to
|
|
30
|
+
# stop. It was not hypothetical: agent containers routinely ship no jq (that is
|
|
31
|
+
# why jq is now a pinned toolchain entry). The Codex variant of this script has
|
|
32
|
+
# always had the guard, so this was a parity gap rather than a design choice.
|
|
33
|
+
#
|
|
34
|
+
# Degrading to "allow" is still the right behaviour — a hook that cannot parse
|
|
35
|
+
# its input cannot tell a bypass from an ordinary command, and failing closed
|
|
36
|
+
# would block every Bash call on a machine missing an interpreter. What is NOT
|
|
37
|
+
# right is doing it quietly, so the operator gets one line on stderr saying the
|
|
38
|
+
# protection is off. A guard that is silently absent reads exactly like a guard
|
|
39
|
+
# that is passing.
|
|
40
|
+
for required in jq python3; do
|
|
41
|
+
if ! command -v "$required" >/dev/null 2>&1; then
|
|
42
|
+
printf 'block-no-verify: %s not found; --no-verify protection is NOT active\n' \
|
|
43
|
+
"$required" >&2
|
|
44
|
+
exit 0
|
|
45
|
+
fi
|
|
46
|
+
done
|
|
47
|
+
|
|
48
|
+
tool_name="$(printf '%s' "$input" | jq -r '.tool_name // empty' 2>/dev/null || true)"
|
|
24
49
|
if [ "$tool_name" != "Bash" ]; then
|
|
25
50
|
exit 0
|
|
26
51
|
fi
|
|
27
52
|
|
|
28
|
-
command_str="$(printf '%s' "$input" | jq -r '.tool_input.command // empty')"
|
|
53
|
+
command_str="$(printf '%s' "$input" | jq -r '.tool_input.command // empty' 2>/dev/null || true)"
|
|
29
54
|
if [ -z "$command_str" ]; then
|
|
30
55
|
exit 0
|
|
31
56
|
fi
|
|
32
57
|
|
|
33
|
-
command -v python3 >/dev/null 2>&1 || exit 0
|
|
34
|
-
|
|
35
58
|
if ! BLOCK_NO_VERIFY_COMMAND="$command_str" python3 - <<'PY'
|
|
36
59
|
import os
|
|
37
60
|
import re
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4pEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4pEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAwrNjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -6,7 +6,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
6
6
|
"all/copy-overwrite/scripts/lisa-enforcement-fallback.sh": "e17c45f7cadf0fb55dd07270776caf211af99b7d4771a4fde75aafe5919e8dbe",
|
|
7
7
|
"all/copy-overwrite/scripts/lisa-floor-collisions.mjs": "a612f172282d13ba9318fe5e03689d7c6ff42a0122d0c9d5d39051e1967b93dc",
|
|
8
8
|
"all/copy-overwrite/scripts/lisa-hooks/block-instruction-file-edits.sh": "8996e0bcbf1db085a5d99734e797c91f5025997bd967bc374efff8348dac14c2",
|
|
9
|
-
"all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh": "
|
|
9
|
+
"all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh": "a6ed91576efebb6ba40cfa4e9d8a3e8566314909210ae8d5860be62a3feb4cff",
|
|
10
10
|
"all/copy-overwrite/scripts/lisa-hooks/block-shell-json-parsing.sh": "3b5f074f3ab5708030af507eea962389f3b067c5dbdc76580bd9e44d3ac6c603",
|
|
11
11
|
"all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh": "062c69eea85157f1e941ec3626d8912aa9f182af6ccdbe19687588a6074db5ce",
|
|
12
12
|
"all/copy-overwrite/scripts/lisa-work-item.mjs": "6a8be8577242588f14ab52b25b2a22b6def53aefa9513b4d3d7c49f4d8027079",
|
|
@@ -297,7 +297,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
297
297
|
"plugins/src/base/hooks/block-instruction-file-edits.agy.sh": "aa249cae53caeb3e0fb6d6af114e2756084f45a2896332fb063a9f20e4902125",
|
|
298
298
|
"plugins/src/base/hooks/block-instruction-file-edits.sh": "8996e0bcbf1db085a5d99734e797c91f5025997bd967bc374efff8348dac14c2",
|
|
299
299
|
"plugins/src/base/hooks/block-no-verify.agy.sh": "1a36c841b6339a2c664938d65c5a4542f97d05f584e467de448bb72ac6bdba55",
|
|
300
|
-
"plugins/src/base/hooks/block-no-verify.sh": "
|
|
300
|
+
"plugins/src/base/hooks/block-no-verify.sh": "a6ed91576efebb6ba40cfa4e9d8a3e8566314909210ae8d5860be62a3feb4cff",
|
|
301
301
|
"plugins/src/base/hooks/block-shell-json-parsing.agy.sh": "dc688efe382e7b8fe6f6c88bb0fde851527128cae778599559f23a93f1c9ec86",
|
|
302
302
|
"plugins/src/base/hooks/block-shell-json-parsing.sh": "3b5f074f3ab5708030af507eea962389f3b067c5dbdc76580bd9e44d3ac6c603",
|
|
303
303
|
"plugins/src/base/hooks/cleanup-stale-worktrees.sh": "c9b2fcca1b34d6f636b5289ece11b254cbb8ee2c2bac5c2e426b6f4dcfa972f2",
|
|
@@ -434,7 +434,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
434
434
|
"plugins/src/base/skills/lisa-detect-tooling/scripts/commands.mjs": "e28bd61fdde4a336b56ae3395423026943a5816015719d31d04f0d5a0ab50eec",
|
|
435
435
|
"plugins/src/base/skills/lisa-detect-tooling/scripts/detect-tooling.mjs": "9d06590e6b99cce33e5fb10bd5b9e7515318133e3635368ef47162abc123bdfa",
|
|
436
436
|
"plugins/src/base/skills/lisa-doctor/SKILL.md": "fb41a1e63c5332d47a46e715aff52551f3df867033b5e4f37dfaeee30019b891",
|
|
437
|
-
"plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "
|
|
437
|
+
"plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "0317e029316be19682bbc689c397275e7bcab5a6215f644755d4aebbe956bacf",
|
|
438
438
|
"plugins/src/base/skills/lisa-epic-triage/SKILL.md": "d02760411249bddbd396f283191fe3e82bb7b95bf9393a19a7025dc5a57c3ab7",
|
|
439
439
|
"plugins/src/base/skills/lisa-evaluation-suite/SKILL.md": "96b5c2091ccd22a565935a7b0b917f67998881b81055ce3e4d518319472eac8b",
|
|
440
440
|
"plugins/src/base/skills/lisa-exploratory-qa/SKILL.md": "bc34dfc6418bff6eb5bc03f0c5cd98c7b6164ca3f4f80774d981f681321119b0",
|
|
@@ -7288,6 +7288,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7288
7288
|
"tests/unit/health/storage.test.ts": true,
|
|
7289
7289
|
"tests/unit/hooks/block-generated-artifact-edits.test.ts": true,
|
|
7290
7290
|
"tests/unit/hooks/block-instruction-file-edits.test.ts": true,
|
|
7291
|
+
"tests/unit/hooks/block-no-verify-missing-jq.test.ts": true,
|
|
7291
7292
|
"tests/unit/hooks/block-no-verify.test.ts": true,
|
|
7292
7293
|
"tests/unit/hooks/block-shell-json-parsing.test.ts": true,
|
|
7293
7294
|
"tests/unit/hooks/blocking-hook-exit.test.ts": true,
|