@codyswann/lisa 4.36.2 → 4.37.0
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-enforcement-fallback.sh +2 -2
- package/all/copy-overwrite/scripts/lisa-hooks/block-blind-automerge.sh +626 -0
- 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/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 +24 -6
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/strategies/package-lisa.js +10 -0
- package/dist/strategies/package-lisa.js.map +1 -1
- package/package.json +5 -4
- package/plugins/lisa/.claude-plugin/plugin.json +5 -1
- package/plugins/lisa/.codex-plugin/hooks.json +4 -0
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/hooks/block-blind-automerge.agy.sh +54 -0
- package/plugins/lisa/hooks/block-blind-automerge.sh +623 -0
- package/plugins/lisa-agy/hooks/block-blind-automerge.agy.sh +54 -0
- package/plugins/lisa-agy/hooks/block-blind-automerge.sh +623 -0
- package/plugins/lisa-agy/hooks.json +13 -0
- 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 +5 -1
- package/plugins/lisa-copilot/hooks/block-blind-automerge.sh +623 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/block-blind-automerge.sh +623 -0
- package/plugins/lisa-cursor/hooks/hooks.json +4 -0
- 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/materialized-artifacts.json +1 -0
- package/plugins/src/base/.claude-plugin/plugin.json +4 -0
- package/plugins/src/base/hooks/block-blind-automerge.agy.sh +54 -0
- package/plugins/src/base/hooks/block-blind-automerge.sh +623 -0
- package/scripts/build-plugins.sh +1 -1
- package/scripts/check-self-dependency-pin.mjs +401 -0
- package/scripts/generate-agy-plugin-artifacts.mjs +11 -0
- package/scripts/lib/per-agent-hook-filter.mjs +10 -0
- package/scripts/lisa-enforcement-fallback.sh +2 -2
- package/scripts/two-channel-couplings.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"all/copy-overwrite/scripts/lib/bounded-spawn.mjs",
|
|
3
3
|
"all/copy-overwrite/scripts/lib/invoked-as-script.mjs",
|
|
4
4
|
"all/copy-overwrite/scripts/lisa-enforcement-fallback.sh",
|
|
5
|
+
"all/copy-overwrite/scripts/lisa-hooks/block-blind-automerge.sh",
|
|
5
6
|
"all/copy-overwrite/scripts/lisa-hooks/block-direct-issue-create.sh",
|
|
6
7
|
"all/copy-overwrite/scripts/lisa-hooks/block-instruction-file-edits.sh",
|
|
7
8
|
"all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh",
|
|
@@ -124,6 +124,10 @@
|
|
|
124
124
|
"type": "command",
|
|
125
125
|
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/block-direct-issue-create.sh"
|
|
126
126
|
},
|
|
127
|
+
{
|
|
128
|
+
"type": "command",
|
|
129
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/block-blind-automerge.sh"
|
|
130
|
+
},
|
|
127
131
|
{
|
|
128
132
|
"type": "command",
|
|
129
133
|
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/block-host-name-leak.sh"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Antigravity (agy) PreToolUse adapter for Lisa's canonical auto-merge arm guard.
|
|
3
|
+
#
|
|
4
|
+
# agy sends `{toolCall:{name:"run_command",args:{CommandLine:"..."}}}` and
|
|
5
|
+
# expects an allow/deny JSON object on stdout. The canonical hook consumes the
|
|
6
|
+
# Claude Bash-hook envelope and communicates denial with exit status 2. This
|
|
7
|
+
# adapter only translates protocols; all classification — which commands arm
|
|
8
|
+
# auto-merge, and what GitHub says about the PR's review gate — stays in the
|
|
9
|
+
# canonical block-blind-automerge.sh beside it (same delegation pattern as
|
|
10
|
+
# block-shell-json-parsing.agy.sh). Fail-open on missing runtimes, matching the
|
|
11
|
+
# canonical guard's own degrade-loudly path: a guard that cannot read the PR
|
|
12
|
+
# cannot tell an honest arming from a blind one.
|
|
13
|
+
set -uo pipefail
|
|
14
|
+
|
|
15
|
+
allow() {
|
|
16
|
+
printf '%s\n' '{"decision":"allow"}'
|
|
17
|
+
exit 0
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
deny() {
|
|
21
|
+
local reason="$1"
|
|
22
|
+
if command -v jq >/dev/null 2>&1; then
|
|
23
|
+
jq -cn --arg reason "$reason" '{decision:"deny",reason:$reason}'
|
|
24
|
+
else
|
|
25
|
+
printf '%s\n' '{"decision":"allow"}'
|
|
26
|
+
fi
|
|
27
|
+
exit 0
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
input="$(cat 2>/dev/null || true)"
|
|
31
|
+
[ -z "$input" ] && allow
|
|
32
|
+
command -v jq >/dev/null 2>&1 || allow
|
|
33
|
+
|
|
34
|
+
tool_name="$(printf '%s' "$input" | jq -r '.toolCall.name // empty' 2>/dev/null || true)"
|
|
35
|
+
[ "$tool_name" != "run_command" ] && allow
|
|
36
|
+
command_str="$(printf '%s' "$input" | jq -r '.toolCall.args.CommandLine // empty' 2>/dev/null || true)"
|
|
37
|
+
[ -z "$command_str" ] && allow
|
|
38
|
+
|
|
39
|
+
hook_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
40
|
+
canonical_hook="$hook_dir/block-blind-automerge.sh"
|
|
41
|
+
[ -r "$canonical_hook" ] || allow
|
|
42
|
+
|
|
43
|
+
canonical_input="$(jq -cn --arg command "$command_str" '{tool_name:"Bash",tool_input:{command:$command}}')"
|
|
44
|
+
canonical_output=""
|
|
45
|
+
canonical_status=0
|
|
46
|
+
if canonical_output="$(printf '%s' "$canonical_input" | /bin/bash "$canonical_hook" 2>&1)"; then
|
|
47
|
+
canonical_status=0
|
|
48
|
+
else
|
|
49
|
+
canonical_status=$?
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
[ "$canonical_status" -eq 0 ] && allow
|
|
53
|
+
[ -n "$canonical_output" ] || canonical_output="Blocked: arming auto-merge on a PR whose reviewDecision is CHANGES_REQUESTED."
|
|
54
|
+
deny "$canonical_output"
|