@codyswann/lisa 2.322.5 → 2.322.7
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/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +6 -5
- 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-setup-remote-env/SKILL.md +4 -4
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- package/plugins/lisa/skills/lisa-setup-remote-env/SKILL.md +4 -4
- package/plugins/lisa/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-setup-remote-env/SKILL.md +4 -4
- package/plugins/lisa-agy/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/lisa-agy/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- 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/skills/lisa-setup-remote-env/SKILL.md +4 -4
- package/plugins/lisa-copilot/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/lisa-copilot/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-setup-remote-env/SKILL.md +4 -4
- package/plugins/lisa-cursor/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/lisa-cursor/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- 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/skills/lisa-setup-remote-env/SKILL.md +4 -4
- package/plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh +22 -0
- package/plugins/src/base/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +27 -11
- package/scripts/install-claude-plugins.sh +23 -0
- package/scripts/lisa-remote-env/setup.sh +22 -0
|
@@ -105,11 +105,21 @@ fi
|
|
|
105
105
|
# plugin-delivered harnesses work at all. Lisa is a dependency of every project
|
|
106
106
|
# it is applied to, so `node_modules` carries the same skill at the version that
|
|
107
107
|
# project pins, which is the version its setup should run.
|
|
108
|
+
#
|
|
109
|
+
# `plugins/lisa/skills/` sits between them, and exists for exactly one project:
|
|
110
|
+
# Lisa itself. There the checkout IS Lisa, at HEAD, while `node_modules` holds
|
|
111
|
+
# whatever version its own lockfile pins — which was four months and a hundred
|
|
112
|
+
# skills behind, so this file did not exist there at all and setup aborted
|
|
113
|
+
# claiming the skill could not be found. The one place it was is the only place
|
|
114
|
+
# that was not searched. It is ahead of node_modules because a checkout that
|
|
115
|
+
# builds this skill is newer than any published copy of it, and harmless
|
|
116
|
+
# everywhere else because no other project has that directory.
|
|
108
117
|
runner=""
|
|
109
118
|
for candidate in \
|
|
110
119
|
".claude/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
111
120
|
".agents/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
112
121
|
".codex/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
122
|
+
"plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
113
123
|
"node_modules/@codyswann/lisa/plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs"; do
|
|
114
124
|
if [ -f "$candidate" ]; then
|
|
115
125
|
runner="$candidate"
|
|
@@ -132,6 +142,18 @@ if [ -z "$runner" ]; then
|
|
|
132
142
|
echo >&2
|
|
133
143
|
echo "If dependencies are installed, run 'lisa apply' so the skills are" >&2
|
|
134
144
|
echo "present, then re-run setup." >&2
|
|
145
|
+
echo >&2
|
|
146
|
+
# The version actually resolved, because "not found" and "found, but too old
|
|
147
|
+
# to contain this skill" read identically above and are fixed differently.
|
|
148
|
+
# The second is what happened on Lisa itself: node_modules held a release
|
|
149
|
+
# from before this skill existed, so every path checked was legitimately
|
|
150
|
+
# absent and the message blamed the install.
|
|
151
|
+
if [ -f node_modules/@codyswann/lisa/package.json ]; then
|
|
152
|
+
echo "For reference, node_modules has @codyswann/lisa version:" >&2
|
|
153
|
+
node -p "require('./node_modules/@codyswann/lisa/package.json').version" >&2 2>/dev/null ||
|
|
154
|
+
echo " (unreadable)" >&2
|
|
155
|
+
echo "If that predates this skill, the pin is the problem, not the install." >&2
|
|
156
|
+
fi
|
|
135
157
|
exit 1
|
|
136
158
|
fi
|
|
137
159
|
|
|
@@ -308,28 +308,44 @@ export function installAssets(cwd = process.cwd()) {
|
|
|
308
308
|
* at all — so a `$HOME` glob matched nothing there and bash was handed a path
|
|
309
309
|
* still containing a literal asterisk.
|
|
310
310
|
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
*
|
|
317
|
-
*
|
|
311
|
+
* Candidates are therefore tried relative to cwd first, then under `$HOME` and
|
|
312
|
+
* `/workspace` — the container roots the two surfaces actually use — because
|
|
313
|
+
* cwd is not reliably either of them. A Claude environment reported `$HOME` as
|
|
314
|
+
* `/root` with no checkout beneath it, which a cwd-only search cannot reach.
|
|
315
|
+
*
|
|
316
|
+
* EVERY match is prepared rather than the first. A Claude Code web environment
|
|
317
|
+
* can hold more than one checkout, so stopping at the first hit would prepare
|
|
318
|
+
* whichever repository sorts first and silently ignore the rest — arbitrary
|
|
319
|
+
* rather than merely limited. Each script anchors itself on its own repository
|
|
320
|
+
* root and each project materializes under its own `secrets.namespace`, so
|
|
321
|
+
* preparing several is well defined rather than a collision. Matches are
|
|
322
|
+
* deduplicated by resolved directory, since the candidate globs overlap
|
|
323
|
+
* whenever cwd happens to be one of the roots.
|
|
318
324
|
*
|
|
319
325
|
* The status is the first failure and every checkout is still attempted: one
|
|
320
326
|
* broken repository must neither hide the others nor report success. The
|
|
321
327
|
* explicit `exit 1` on no matches matters because a `for` loop over a glob that
|
|
322
328
|
* matches nothing otherwise exits 0 — the quiet success this guards against.
|
|
323
329
|
*
|
|
330
|
+
* Failure prints the layout it found rather than only the path it wanted. This
|
|
331
|
+
* field lives in a vendor settings box with a slow edit-and-retry loop, and a
|
|
332
|
+
* miss that reports nothing costs a whole round trip to learn one fact; the
|
|
333
|
+
* listing means the next message names the layout instead of repeating it.
|
|
334
|
+
*
|
|
324
335
|
* A field that named the repository and package manager was a string a human
|
|
325
336
|
* had to get right, in a settings box with no review, no version history and no
|
|
326
337
|
* test — and the logic it encoded belongs in a file that has all three.
|
|
327
338
|
*/
|
|
328
339
|
export const SETUP_FIELD =
|
|
329
|
-
|
|
330
|
-
"for f in scripts/lisa-remote-env/setup.sh */scripts/lisa-remote-env/setup.sh
|
|
331
|
-
'
|
|
332
|
-
|
|
340
|
+
'n=0; rc=0; seen=""; ' +
|
|
341
|
+
"for f in scripts/lisa-remote-env/setup.sh */scripts/lisa-remote-env/setup.sh " +
|
|
342
|
+
'"$HOME"/scripts/lisa-remote-env/setup.sh "$HOME"/*/scripts/lisa-remote-env/setup.sh ' +
|
|
343
|
+
"/workspace/scripts/lisa-remote-env/setup.sh /workspace/*/scripts/lisa-remote-env/setup.sh; " +
|
|
344
|
+
'do [ -f "$f" ] || continue; d=$(cd "$(dirname "$f")" && pwd -P); ' +
|
|
345
|
+
'case " $seen " in *" $d "*) continue;; esac; seen="$seen $d"; ' +
|
|
346
|
+
'n=$((n+1)); bash "$f" || rc=$?; done; ' +
|
|
347
|
+
'[ "$n" -gt 0 ] || { echo "lisa-remote-env entrypoint not found. ' +
|
|
348
|
+
'PWD=$PWD HOME=$HOME" >&2; ls -1 . "$HOME" /workspace 2>&1 | head -40 >&2; exit 1; }; ' +
|
|
333
349
|
'exit "$rc"';
|
|
334
350
|
|
|
335
351
|
/**
|
|
@@ -290,6 +290,29 @@ fi
|
|
|
290
290
|
# Install plugins only when claude CLI is available
|
|
291
291
|
if ! command -v claude &>/dev/null; then exit 0; fi
|
|
292
292
|
|
|
293
|
+
# Not in a cloud session: the platform already does this, and does it at the
|
|
294
|
+
# only moment it can work.
|
|
295
|
+
#
|
|
296
|
+
# Claude Code installs the plugins a repository declares in .claude/settings.json
|
|
297
|
+
# at session start, from the marketplace that file names. This script runs from a
|
|
298
|
+
# package manager's postinstall, which in a container happens during the setup
|
|
299
|
+
# script — before Claude Code has launched and before any marketplace is
|
|
300
|
+
# registered. Every install therefore failed:
|
|
301
|
+
#
|
|
302
|
+
# Installing plugin "lisa@lisa"...× Plugin "lisa" not found in marketplace "lisa"
|
|
303
|
+
#
|
|
304
|
+
# Eight of eight, the official marketplace's plugins included, which is what
|
|
305
|
+
# ruled out anything project-specific. The failures are harmless on their own
|
|
306
|
+
# (`|| true`), but they leave an empty installed_plugins.json and several
|
|
307
|
+
# screens of red in the setup log that read as the cause of whatever fails next.
|
|
308
|
+
#
|
|
309
|
+
# Standing down is the fix rather than racing the platform with an earlier
|
|
310
|
+
# install, because there is no earlier moment at which one could succeed.
|
|
311
|
+
if [ "${CLAUDE_CODE_REMOTE:-}" = "true" ]; then
|
|
312
|
+
echo "Cloud session: leaving plugin installation to Claude Code, which installs what .claude/settings.json declares at session start."
|
|
313
|
+
exit 0
|
|
314
|
+
fi
|
|
315
|
+
|
|
293
316
|
# Version-gated plugin sync (perf). `claude plugin marketplace update` is a
|
|
294
317
|
# network git pull of the whole Lisa repo and every `claude plugin install`
|
|
295
318
|
# spawns the Claude CLI (seconds each); re-running all of it on every install
|
|
@@ -105,11 +105,21 @@ fi
|
|
|
105
105
|
# plugin-delivered harnesses work at all. Lisa is a dependency of every project
|
|
106
106
|
# it is applied to, so `node_modules` carries the same skill at the version that
|
|
107
107
|
# project pins, which is the version its setup should run.
|
|
108
|
+
#
|
|
109
|
+
# `plugins/lisa/skills/` sits between them, and exists for exactly one project:
|
|
110
|
+
# Lisa itself. There the checkout IS Lisa, at HEAD, while `node_modules` holds
|
|
111
|
+
# whatever version its own lockfile pins — which was four months and a hundred
|
|
112
|
+
# skills behind, so this file did not exist there at all and setup aborted
|
|
113
|
+
# claiming the skill could not be found. The one place it was is the only place
|
|
114
|
+
# that was not searched. It is ahead of node_modules because a checkout that
|
|
115
|
+
# builds this skill is newer than any published copy of it, and harmless
|
|
116
|
+
# everywhere else because no other project has that directory.
|
|
108
117
|
runner=""
|
|
109
118
|
for candidate in \
|
|
110
119
|
".claude/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
111
120
|
".agents/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
112
121
|
".codex/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
122
|
+
"plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs" \
|
|
113
123
|
"node_modules/@codyswann/lisa/plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs"; do
|
|
114
124
|
if [ -f "$candidate" ]; then
|
|
115
125
|
runner="$candidate"
|
|
@@ -132,6 +142,18 @@ if [ -z "$runner" ]; then
|
|
|
132
142
|
echo >&2
|
|
133
143
|
echo "If dependencies are installed, run 'lisa apply' so the skills are" >&2
|
|
134
144
|
echo "present, then re-run setup." >&2
|
|
145
|
+
echo >&2
|
|
146
|
+
# The version actually resolved, because "not found" and "found, but too old
|
|
147
|
+
# to contain this skill" read identically above and are fixed differently.
|
|
148
|
+
# The second is what happened on Lisa itself: node_modules held a release
|
|
149
|
+
# from before this skill existed, so every path checked was legitimately
|
|
150
|
+
# absent and the message blamed the install.
|
|
151
|
+
if [ -f node_modules/@codyswann/lisa/package.json ]; then
|
|
152
|
+
echo "For reference, node_modules has @codyswann/lisa version:" >&2
|
|
153
|
+
node -p "require('./node_modules/@codyswann/lisa/package.json').version" >&2 2>/dev/null ||
|
|
154
|
+
echo " (unreadable)" >&2
|
|
155
|
+
echo "If that predates this skill, the pin is the problem, not the install." >&2
|
|
156
|
+
fi
|
|
135
157
|
exit 1
|
|
136
158
|
fi
|
|
137
159
|
|