@codyswann/lisa 4.57.0 → 4.57.2
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/README.md +7 -0
- package/dist/cli-load-diagnostic.d.ts +8 -0
- package/dist/cli-load-diagnostic.d.ts.map +1 -0
- package/dist/cli-load-diagnostic.js +83 -0
- package/dist/cli-load-diagnostic.js.map +1 -0
- 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 +2 -0
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.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-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- 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/README.md
CHANGED
|
@@ -179,6 +179,13 @@ lisa apply .
|
|
|
179
179
|
lisa doctor
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
+
An incompatible dependency override can stop Lisa, including `doctor`, from
|
|
183
|
+
loading. For the known `minimatch` / `brace-expansion` import failure, the CLI
|
|
184
|
+
reports the parent's declared range, the version Node actually resolves, and
|
|
185
|
+
any direct override in the current directory's `package.json`. It preserves the
|
|
186
|
+
original error and does not change dependencies. Nested selectors and unreadable
|
|
187
|
+
manifests remain unverified; this diagnostic is not a full lockfile audit.
|
|
188
|
+
|
|
182
189
|
When Lisa is invoked during installation it prints this next step. Package
|
|
183
190
|
managers that do not run its lifecycle scripts cannot display that notice.
|
|
184
191
|
Existing host hooks using `LISA_POSTINSTALL=1`, `--postinstall-safe`, or the
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Explain the demonstrated minimatch/brace-expansion loading failure.
|
|
3
|
+
* This is not a lockfile audit and never changes or installs dependencies.
|
|
4
|
+
* @param error - Original CLI loading error
|
|
5
|
+
* @returns Additional context, or null for unrelated errors
|
|
6
|
+
*/
|
|
7
|
+
export declare function describeCliDependencyFailure(error: unknown): Promise<string | null>;
|
|
8
|
+
//# sourceMappingURL=cli-load-diagnostic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-load-diagnostic.d.ts","sourceRoot":"","sources":["../src/cli-load-diagnostic.ts"],"names":[],"mappings":"AA2DA;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** A bounded startup diagnostic that remains loadable when CLI dependencies fail. */
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
const DEPENDENCY = "brace-expansion";
|
|
6
|
+
/**
|
|
7
|
+
* Read a manifest without evaluating the package's executable entrypoint.
|
|
8
|
+
* @param filename - Manifest path
|
|
9
|
+
* @returns Parsed object
|
|
10
|
+
*/
|
|
11
|
+
async function readManifest(filename) {
|
|
12
|
+
const value = JSON.parse(await readFile(filename, "utf8"));
|
|
13
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
14
|
+
throw new Error("Manifest is not an object");
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Render version/range text without exposing credentials from URL overrides.
|
|
20
|
+
* @param value - A version or override value
|
|
21
|
+
* @returns Safe diagnostic text
|
|
22
|
+
*/
|
|
23
|
+
function rangeText(value) {
|
|
24
|
+
return typeof value === "string" &&
|
|
25
|
+
value.length <= 100 &&
|
|
26
|
+
/^[0-9xXv*~^<>=|.\s+-]+$/u.test(value)
|
|
27
|
+
? value
|
|
28
|
+
: "unverified non-version value (withheld)";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Identify direct host overrides; unsupported selectors stay explicitly unverified.
|
|
32
|
+
* @returns Human-readable current-directory override evidence
|
|
33
|
+
*/
|
|
34
|
+
async function describeHostOverride() {
|
|
35
|
+
try {
|
|
36
|
+
const manifest = await readManifest(path.resolve("package.json"));
|
|
37
|
+
const matches = ["overrides", "resolutions"].flatMap(section => {
|
|
38
|
+
const entries = manifest[section];
|
|
39
|
+
if (!entries || typeof entries !== "object" || Array.isArray(entries))
|
|
40
|
+
return [];
|
|
41
|
+
const value = entries[DEPENDENCY];
|
|
42
|
+
return value === undefined
|
|
43
|
+
? []
|
|
44
|
+
: [`${section}.${DEPENDENCY}: ${rangeText(value)}`];
|
|
45
|
+
});
|
|
46
|
+
return matches.length > 0
|
|
47
|
+
? `Current directory package.json ${matches.join("; ")}.`
|
|
48
|
+
: "No direct brace-expansion override was identified in the current directory's package.json; nested selectors and other manifests were not verified.";
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return "Could not read the current directory's package.json; the responsible override is unverified.";
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Explain the demonstrated minimatch/brace-expansion loading failure.
|
|
56
|
+
* This is not a lockfile audit and never changes or installs dependencies.
|
|
57
|
+
* @param error - Original CLI loading error
|
|
58
|
+
* @returns Additional context, or null for unrelated errors
|
|
59
|
+
*/
|
|
60
|
+
export async function describeCliDependencyFailure(error) {
|
|
61
|
+
if (!(error instanceof Error) ||
|
|
62
|
+
!/['"]brace-expansion['"]/u.test(error.message))
|
|
63
|
+
return null;
|
|
64
|
+
const override = await describeHostOverride();
|
|
65
|
+
try {
|
|
66
|
+
const resolveFromLisa = createRequire(import.meta.url);
|
|
67
|
+
const parentPath = resolveFromLisa.resolve("minimatch/package.json");
|
|
68
|
+
const parent = await readManifest(parentPath);
|
|
69
|
+
const child = await readManifest(createRequire(parentPath).resolve("brace-expansion/package.json"));
|
|
70
|
+
const dependencies = parent.dependencies;
|
|
71
|
+
return [
|
|
72
|
+
"Lisa could not load its dependencies; the requested command did not run.",
|
|
73
|
+
`minimatch@${rangeText(parent.version)} declares brace-expansion ${rangeText(dependencies?.[DEPENDENCY])}; Node resolves brace-expansion@${rangeText(child.version)}.`,
|
|
74
|
+
override,
|
|
75
|
+
"@isaacs/brace-expansion is a different package and does not govern brace-expansion.",
|
|
76
|
+
"Review the override and reinstall with a version that satisfies the parent's declared range. No files were changed by this diagnostic.",
|
|
77
|
+
].join("\n");
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return `Lisa could not load brace-expansion, and its installed dependency chain could not be verified.\n${override}`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=cli-load-diagnostic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-load-diagnostic.js","sourceRoot":"","sources":["../src/cli-load-diagnostic.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,KAAK,UAAU,YAAY,CACzB,QAAgB;IAEhB,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,KAAK,CAAC,MAAM,IAAI,GAAG;QACnB,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,yCAAyC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnE,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAI,OAAmC,CAAC,UAAU,CAAC,CAAC;YAC/D,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACzD,CAAC,CAAC,oJAAoJ,CAAC;IAC3J,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,8FAA8F,CAAC;IACxG,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAc;IAEd,IACE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QACzB,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAE/C,OAAO,IAAI,CAAC;IACd,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAClE,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,YAEf,CAAC;QACd,OAAO;YACL,0EAA0E;YAC1E,aAAa,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,SAAS,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,mCAAmC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;YACtK,QAAQ;YACR,qFAAqF;YACrF,wIAAwI;SACzI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mGAAmG,QAAQ,EAAE,CAAC;IACvH,CAAC;AACH,CAAC"}
|
|
@@ -41,9 +41,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
|
|
|
41
41
|
}),
|
|
42
42
|
cd02b94b4db5134984c7b69f905af71c96bb5aac09a18fb3c6aef5ab0c22cf17: Object.freeze({
|
|
43
43
|
contractVersion: "1.9.0",
|
|
44
|
-
packageVersions: Object.freeze(["4.57.
|
|
44
|
+
packageVersions: Object.freeze(["4.57.2"]),
|
|
45
45
|
provenances: Object.freeze([
|
|
46
|
-
"workspace package @codyswann/lisa@4.57.
|
|
46
|
+
"workspace package @codyswann/lisa@4.57.2 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
|
|
47
47
|
]),
|
|
48
48
|
}),
|
|
49
49
|
dfd2fef680de5ef03e63075e8a61c62ca4d95cdfdff6201939b79c748d3397f6: Object.freeze({
|
|
@@ -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,CAskFpE,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,CAskFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAq9QjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -7372,6 +7372,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7372
7372
|
"src/agy/mcp-installer.ts": true,
|
|
7373
7373
|
"src/agy/plugin-installer.ts": true,
|
|
7374
7374
|
"src/claude/claude-md-installer.ts": true,
|
|
7375
|
+
"src/cli-load-diagnostic.ts": true,
|
|
7375
7376
|
"src/cli/apply.ts": true,
|
|
7376
7377
|
"src/cli/check-learnings-budget-cmd.ts": true,
|
|
7377
7378
|
"src/cli/cross-pollinate-cmd.ts": true,
|
|
@@ -8384,6 +8385,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8384
8385
|
"tests/unit/cli/lisa-test-run-process-group.test.ts": true,
|
|
8385
8386
|
"tests/unit/cli/lisa-test-run-protocol-state.test.ts": true,
|
|
8386
8387
|
"tests/unit/cli/merge-learnings-cmd.test.ts": true,
|
|
8388
|
+
"tests/unit/cli/override-load-diagnostic.test.ts": true,
|
|
8387
8389
|
"tests/unit/cli/parse-refresh-templates.test.ts": true,
|
|
8388
8390
|
"tests/unit/cli/postinstall-declaration.test.ts": true,
|
|
8389
8391
|
"tests/unit/cli/prompts.test.ts": true,
|