@codyswann/lisa 4.57.0 → 4.57.1

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.
Files changed (62) hide show
  1. package/README.md +7 -0
  2. package/dist/cli-load-diagnostic.d.ts +8 -0
  3. package/dist/cli-load-diagnostic.d.ts.map +1 -0
  4. package/dist/cli-load-diagnostic.js +83 -0
  5. package/dist/cli-load-diagnostic.js.map +1 -0
  6. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  7. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  8. package/dist/core/upstream-evidence-manifest.js +2 -0
  9. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  10. package/dist/index.js +7 -1
  11. package/dist/index.js.map +1 -1
  12. package/package.json +4 -4
  13. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  15. package/plugins/lisa-agy/plugin.json +1 -1
  16. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  18. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  19. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  25. package/plugins/lisa-expo-agy/plugin.json +1 -1
  26. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  31. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  36. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  41. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  46. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-rails-agy/plugin.json +1 -1
  51. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  56. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  61. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  62. 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":"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"}
@@ -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.0"]),
44
+ packageVersions: Object.freeze(["4.57.1"]),
45
45
  provenances: Object.freeze([
46
- "workspace package @codyswann/lisa@4.57.0 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
46
+ "workspace package @codyswann/lisa@4.57.1 (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,CAm9QjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,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,