@codyswann/lisa 4.75.1 → 4.76.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/lib/npm-update-helper.mjs +14 -18
- package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +1 -1
- package/dist/cli/remote-environment-contract.d.ts.map +1 -1
- package/dist/cli/remote-environment-contract.js +1 -0
- package/dist/cli/remote-environment-contract.js.map +1 -1
- package/dist/cli/ui-setup-readiness-install.d.ts.map +1 -1
- package/dist/cli/ui-setup-readiness-install.js +5 -1
- package/dist/cli/ui-setup-readiness-install.js.map +1 -1
- package/dist/core/config.d.ts +4 -3
- 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 +4 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/lisa.d.ts +17 -0
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +59 -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 +8 -4
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/devin/enforcement-fallback-installer.d.ts +51 -0
- package/dist/devin/enforcement-fallback-installer.d.ts.map +1 -0
- package/dist/devin/enforcement-fallback-installer.js +186 -0
- package/dist/devin/enforcement-fallback-installer.js.map +1 -0
- package/dist/devin/plugin-installer.d.ts +43 -0
- package/dist/devin/plugin-installer.d.ts.map +1 -0
- package/dist/devin/plugin-installer.js +78 -0
- package/dist/devin/plugin-installer.js.map +1 -0
- package/dist/health/plugin-inspection.d.ts.map +1 -1
- package/dist/health/plugin-inspection.js +1 -0
- package/dist/health/plugin-inspection.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-cdk-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.devin-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-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/hooks/devin-tool-name-shim.sh +9 -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-expo-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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-nestjs-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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-openclaw-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.devin-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-phaser-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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-rails-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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-typescript-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/hooks/devin-tool-name-shim.sh +9 -0
- 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/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
- package/scripts/generate-devin-plugin-artifacts.mjs +13 -2
- package/ui/index.html +14 -1
|
@@ -61,8 +61,10 @@ const DEVIN_MANIFEST_FIELDS = Object.freeze([
|
|
|
61
61
|
* Devin → Claude tool-name shim, emitted into every Devin variant that ships
|
|
62
62
|
* hooks. It reads the hook payload, rewrites a lowercase Devin `tool_name` to
|
|
63
63
|
* the Claude name the guard tests for, and pipes the result into the wrapped
|
|
64
|
-
* hook command, preserving its exit status and output.
|
|
65
|
-
*
|
|
64
|
+
* hook command, preserving its exit status and output. When a tool event's
|
|
65
|
+
* mapping cannot run (no `jq`, or `jq` failed) it fails closed with exit 2 —
|
|
66
|
+
* forwarding the raw lowercase `exec` would make every Bash guard stand down.
|
|
67
|
+
* Payloads with no `tool_name` (session events) pass through unchanged.
|
|
66
68
|
*/
|
|
67
69
|
const DEVIN_TOOL_SHIM_SOURCE = `#!/bin/sh
|
|
68
70
|
# Generated by scripts/generate-devin-plugin-artifacts.mjs — do not edit.
|
|
@@ -75,6 +77,11 @@ const DEVIN_TOOL_SHIM_SOURCE = `#!/bin/sh
|
|
|
75
77
|
# Usage: devin-tool-name-shim.sh <hook command> [args...]
|
|
76
78
|
payload=$(cat)
|
|
77
79
|
normalized=$payload
|
|
80
|
+
mapped=
|
|
81
|
+
case $payload in
|
|
82
|
+
*'"tool_name"'*) needs_mapping=1 ;;
|
|
83
|
+
*) needs_mapping=0 ;;
|
|
84
|
+
esac
|
|
78
85
|
if command -v jq >/dev/null 2>&1; then
|
|
79
86
|
mapped=$(printf '%s' "$payload" | jq -c '
|
|
80
87
|
if (.tool_name | type) == "string" then
|
|
@@ -93,6 +100,10 @@ if command -v jq >/dev/null 2>&1; then
|
|
|
93
100
|
}[.] // .)
|
|
94
101
|
else . end' 2>/dev/null) && [ -n "$mapped" ] && normalized=$mapped
|
|
95
102
|
fi
|
|
103
|
+
if [ "$needs_mapping" = 1 ] && [ -z "\${mapped:-}" ]; then
|
|
104
|
+
echo "Lisa could not map the Devin tool name (jq missing or failed); refusing" >&2
|
|
105
|
+
exit 2
|
|
106
|
+
fi
|
|
96
107
|
printf '%s' "$normalized" | "$@"
|
|
97
108
|
`;
|
|
98
109
|
|
package/ui/index.html
CHANGED
|
@@ -2483,6 +2483,7 @@
|
|
|
2483
2483
|
"agy",
|
|
2484
2484
|
"copilot",
|
|
2485
2485
|
"opencode",
|
|
2486
|
+
"devin",
|
|
2486
2487
|
];
|
|
2487
2488
|
/* agentHooks is tri-state:
|
|
2488
2489
|
true — hooks fire. Whatever invocation flags that requires are
|
|
@@ -2536,6 +2537,15 @@
|
|
|
2536
2537
|
agentHooks: true,
|
|
2537
2538
|
commands: true,
|
|
2538
2539
|
},
|
|
2540
|
+
devin: {
|
|
2541
|
+
// Verified by run on Devin CLI 3000.11.3 (CodySwannGT/lisa#4426):
|
|
2542
|
+
// plugin hooks fire in `devin -p`, and a Lisa guard refused a
|
|
2543
|
+
// `--no-verify` commit. Devin has no plugin command surface — its
|
|
2544
|
+
// slash commands are skills — so commands is false.
|
|
2545
|
+
label: "Devin",
|
|
2546
|
+
agentHooks: true,
|
|
2547
|
+
commands: false,
|
|
2548
|
+
},
|
|
2539
2549
|
};
|
|
2540
2550
|
/* The currently-selected staff. Every factory page renders against it. */
|
|
2541
2551
|
DATA.staff = "claude";
|
|
@@ -5366,6 +5376,7 @@
|
|
|
5366
5376
|
"agy",
|
|
5367
5377
|
"copilot",
|
|
5368
5378
|
"opencode",
|
|
5379
|
+
"devin",
|
|
5369
5380
|
],
|
|
5370
5381
|
},
|
|
5371
5382
|
{
|
|
@@ -7447,7 +7458,7 @@
|
|
|
7447
7458
|
{
|
|
7448
7459
|
key: "harness",
|
|
7449
7460
|
label: "Coding-agent harness",
|
|
7450
|
-
desc: "Which agent(s) Lisa emits artifacts for. fleet targets all
|
|
7461
|
+
desc: "Which agent(s) Lisa emits artifacts for. fleet targets all seven; a single value targets only that agent. Default: claude.",
|
|
7451
7462
|
badges: ["default: claude"],
|
|
7452
7463
|
control: sel("fleet", [
|
|
7453
7464
|
"claude",
|
|
@@ -7456,6 +7467,7 @@
|
|
|
7456
7467
|
"agy",
|
|
7457
7468
|
"copilot",
|
|
7458
7469
|
"opencode",
|
|
7470
|
+
"devin",
|
|
7459
7471
|
"fleet",
|
|
7460
7472
|
]),
|
|
7461
7473
|
},
|
|
@@ -12780,6 +12792,7 @@
|
|
|
12780
12792
|
"agy",
|
|
12781
12793
|
"copilot",
|
|
12782
12794
|
"opencode",
|
|
12795
|
+
"devin",
|
|
12783
12796
|
];
|
|
12784
12797
|
function configureRemoteEnvironment(cfg) {
|
|
12785
12798
|
const snapshot = window.LISA_REMOTE_ENVIRONMENT || {
|