@codyswann/lisa 4.69.3 → 4.69.5
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 +8 -0
- package/cdk/create-only/stryker.conf.json +2 -0
- package/cdk/package-lisa/package.lisa.json +12 -11
- package/dist/cli/doctor-cdk-preset-adoption.d.ts.map +1 -1
- package/dist/cli/doctor-cdk-preset-adoption.js +9 -8
- package/dist/cli/doctor-cdk-preset-adoption.js.map +1 -1
- package/dist/core/cdk-preset-adoption.d.ts +4 -2
- package/dist/core/cdk-preset-adoption.d.ts.map +1 -1
- package/dist/core/cdk-preset-adoption.js +3 -2
- package/dist/core/cdk-preset-adoption.js.map +1 -1
- package/dist/core/lisa.d.ts +17 -3
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +74 -21
- package/dist/core/lisa.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/plugin-command.d.ts +21 -0
- package/dist/core/plugin-command.d.ts.map +1 -0
- package/dist/core/plugin-command.js +121 -0
- package/dist/core/plugin-command.js.map +1 -0
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +27 -14
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/eslint-plugin-component-structure/package.json +3 -0
- package/expo/create-only/stryker.conf.json +2 -0
- package/expo/package-lisa/package.lisa.json +3 -3
- package/harper-fabric/package-lisa/package.lisa.json +7 -7
- package/nestjs/package-lisa/package.lisa.json +2 -2
- package/package.json +28 -19
- package/phaser/package-lisa/package.lisa.json +7 -7
- 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/rails/copy-overwrite/.rubocop.yml +0 -2
- package/rails/copy-overwrite/Gemfile.lisa +8 -8
- package/rails/create-only/.simplecov +16 -14
- package/rails/create-only/spec/spec_helper.rb +2 -0
- package/scripts/verify-npm-advisories-4333.mjs +166 -0
- package/scripts/verify-rails-tooling.rb +175 -0
- package/typescript/create-only/stryker.conf.json +2 -0
- package/typescript/package-lisa/package.lisa.json +10 -6
package/README.md
CHANGED
|
@@ -189,6 +189,14 @@ manifests remain unverified; this diagnostic is not a full lockfile audit.
|
|
|
189
189
|
Clean TypeScript and CDK hosts receive the shared Node 22.23.3 baseline,
|
|
190
190
|
Vitest and coverage-v8 4.1.11 minimums, and a Vite 8.3.2 minimum within Vite 8.
|
|
191
191
|
Lisa retains the TypeScript 6, ESLint 9, Knip 5, Husky 8 and Vitest 4 families.
|
|
192
|
+
New CDK hosts default to `aws-cdk-github-oidc ^5.2.0` with `constructs ^10.7.2`
|
|
193
|
+
minimum peers. Existing OIDC dependency choices stay host-owned, including exact
|
|
194
|
+
5.2.0 and legacy v2 pins. Before migrating a v2 host, review the vendor’s
|
|
195
|
+
[versioned API](https://unpkg.com/aws-cdk-github-oidc@5.2.0/API.md)
|
|
196
|
+
and update its application trust configuration deliberately. Lisa generates no
|
|
197
|
+
OIDC constructs and does not migrate application IAM policies.
|
|
198
|
+
CDK applies also preserve existing package executables and advertise none for
|
|
199
|
+
a fresh source-only app; Lisa does not generate `bin/infrastructure.js`.
|
|
192
200
|
Applying twice with the same Lisa version keeps managed content unchanged.
|
|
193
201
|
Install dependencies after applying, then verify the installed versions and
|
|
194
202
|
lockfile alongside the host's test, typecheck and offline synth commands.
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
"$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json",
|
|
3
3
|
"_comment": "CDK owns this child-stack override because conventional CDK source lives in lib/ and bin/. Inheriting TypeScript's src-only mutate list makes the mutation gate inert in a CDK repository with no src/ directory. src remains eligible for hybrid repositories.",
|
|
4
4
|
"testRunner": "vitest",
|
|
5
|
+
"_pluginsComment": "Resolve the declared runner explicitly for isolated dependency layouts instead of relying on sibling package discovery.",
|
|
6
|
+
"plugins": ["@stryker-mutator/vitest-runner"],
|
|
5
7
|
"reporters": [
|
|
6
8
|
"clear-text",
|
|
7
9
|
"progress",
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
"watch": "node scripts/lib/worktree-dependencies.mjs && tsc -w"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"
|
|
22
|
-
"constructs": "^10.4.5",
|
|
21
|
+
"constructs": "^10.7.2",
|
|
23
22
|
"source-map-support": "^0.5.21"
|
|
24
23
|
},
|
|
25
24
|
"devDependencies": {
|
|
@@ -28,31 +27,33 @@
|
|
|
28
27
|
"vite": "^8.3.2",
|
|
29
28
|
"vitest": "^4.1.11",
|
|
30
29
|
"@vitest/coverage-v8": "^4.1.11",
|
|
31
|
-
"eslint-plugin-oxlint": "
|
|
32
|
-
"oxlint": "
|
|
30
|
+
"eslint-plugin-oxlint": "1.62.0",
|
|
31
|
+
"oxlint": "1.62.0",
|
|
33
32
|
"oxlint-tsgolint": "^0.24.0",
|
|
34
33
|
"@stryker-mutator/core": "^9.0.0",
|
|
35
34
|
"@stryker-mutator/vitest-runner": "^9.0.0"
|
|
36
35
|
},
|
|
37
|
-
"bin": {
|
|
38
|
-
"infrastructure": "bin/infrastructure.js"
|
|
39
|
-
},
|
|
40
36
|
"private": true,
|
|
41
37
|
"overrides": {
|
|
42
38
|
"aws-cdk-lib": "$aws-cdk-lib",
|
|
43
39
|
"esbuild": "$esbuild",
|
|
44
|
-
"vite": "$vite"
|
|
40
|
+
"vite": "$vite",
|
|
41
|
+
"qs": "^6.16.0",
|
|
42
|
+
"deepmerge-ts": "^8.0.1"
|
|
45
43
|
},
|
|
46
44
|
"resolutions": {
|
|
47
45
|
"aws-cdk-lib": "$aws-cdk-lib",
|
|
48
46
|
"esbuild": "$esbuild",
|
|
49
|
-
"vite": "$vite"
|
|
47
|
+
"vite": "$vite",
|
|
48
|
+
"qs": "^6.16.0",
|
|
49
|
+
"deepmerge-ts": "^8.0.1"
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"defaults": {
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"
|
|
55
|
-
"aws-cdk-
|
|
54
|
+
"aws-cdk-github-oidc": "^5.2.0",
|
|
55
|
+
"@aws-cdk/aws-amplify-alpha": "^2.272.0-alpha.0",
|
|
56
|
+
"aws-cdk-lib": "2.272.0"
|
|
56
57
|
},
|
|
57
58
|
"engines": {
|
|
58
59
|
"npm": ">= 10.9.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-cdk-preset-adoption.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-cdk-preset-adoption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor-cdk-preset-adoption.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-cdk-preset-adoption.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,kEAAkE;AAClE,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAqNnE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAmBtB"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { readFile, stat } from "node:fs/promises";
|
|
25
25
|
import * as path from "node:path";
|
|
26
|
-
import { CDK_APP_MARKER, CDK_PRESET_ARTIFACTS, CDK_PRESET_BIN_ENTRY, CDK_PRESET_FORCED_DEPENDENCIES, cdkAppEntrySource, classifyCdkPresetAdoption, } from "../core/cdk-preset-adoption.js";
|
|
26
|
+
import { CDK_APP_MARKER, CDK_PRESET_ARTIFACTS, CDK_PRESET_BIN_ENTRY, CDK_PRESET_FORCED_DEPENDENCIES, CDK_PRESET_LEGACY_DEPENDENCIES, cdkAppEntrySource, classifyCdkPresetAdoption, } from "../core/cdk-preset-adoption.js";
|
|
27
27
|
/** Name of the CDK preset-adoption check as doctor reports it. */
|
|
28
28
|
export const CDK_PRESET_ADOPTION_CHECK_NAME = "CDK preset earned?";
|
|
29
29
|
/** Repo-relative manifest the preset force-merges its dependencies into. */
|
|
@@ -153,8 +153,8 @@ async function resolveAppEntry(projectRoot, marker) {
|
|
|
153
153
|
};
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
|
-
* Which
|
|
157
|
-
* still carries, stated so the reader knows what to
|
|
156
|
+
* Which current or historical preset package.json entries this repository
|
|
157
|
+
* still carries, stated so the reader knows what to review.
|
|
158
158
|
* @param manifest - Parsed `package.json`, or null when absent
|
|
159
159
|
* @returns Operator-readable clauses, empty when none are present
|
|
160
160
|
*/
|
|
@@ -173,9 +173,10 @@ function describeMergedEntries(manifest) {
|
|
|
173
173
|
merged.length > 0
|
|
174
174
|
? [`runtime dependencies \`${merged.join("`, `")}\` in ${PACKAGE_JSON}`]
|
|
175
175
|
: [],
|
|
176
|
+
CDK_PRESET_LEGACY_DEPENDENCIES.filter(name => name in dependencies).map(name => `a host-owned or legacy \`${name}\` dependency`),
|
|
176
177
|
bin[CDK_PRESET_BIN_ENTRY.name] === CDK_PRESET_BIN_ENTRY.target
|
|
177
178
|
? [
|
|
178
|
-
`a \`bin.${CDK_PRESET_BIN_ENTRY.name}\` entry pointing at ` +
|
|
179
|
+
`a legacy \`bin.${CDK_PRESET_BIN_ENTRY.name}\` entry pointing at ` +
|
|
179
180
|
`\`${CDK_PRESET_BIN_ENTRY.target}\``,
|
|
180
181
|
]
|
|
181
182
|
: [],
|
|
@@ -185,7 +186,9 @@ function describeMergedEntries(manifest) {
|
|
|
185
186
|
const REMEDY = "Nothing here is removed automatically: the repository may since have come " +
|
|
186
187
|
"to depend on something the preset delivered. Decide per file, then keep " +
|
|
187
188
|
`the decision by making sure no \`${CDK_APP_MARKER}\` is present — while ` +
|
|
188
|
-
"one is, every apply re-merges the entries
|
|
189
|
+
"one is, every apply re-merges the preset's current forced entries. " +
|
|
190
|
+
"OIDC dependency choices and existing bins are host-owned; current applies " +
|
|
191
|
+
"do not remove legacy entries";
|
|
189
192
|
/**
|
|
190
193
|
* The consequence worth stating, because it is the one that reports success.
|
|
191
194
|
*/
|
|
@@ -298,9 +301,7 @@ function ineligibleDetail(presetArtifacts, missingEntry, delivered) {
|
|
|
298
301
|
: `its ${CDK_APP_MARKER} names an application entry ` +
|
|
299
302
|
`(\`${missingEntry}\`) that does not exist, so the marker is one ` +
|
|
300
303
|
"Lisa seeded rather than one this repository wrote";
|
|
301
|
-
const merged = delivered.length > 0
|
|
302
|
-
? ` It also force-merged ${delivered.join(" and ")}.`
|
|
303
|
-
: "";
|
|
304
|
+
const merged = delivered.length > 0 ? ` It also carries ${delivered.join(" and ")}.` : "";
|
|
304
305
|
return ("This repository carries the CDK application preset it was never " +
|
|
305
306
|
`eligible for: \`${presetArtifacts.join("`, `")}\` are present and ` +
|
|
306
307
|
`${why}.${merged} ${QUIET_CONSEQUENCE}. ${REMEDY}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-cdk-preset-adoption.js","sourceRoot":"","sources":["../../src/cli/doctor-cdk-preset-adoption.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor-cdk-preset-adoption.js","sourceRoot":"","sources":["../../src/cli/doctor-cdk-preset-adoption.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,8 +63,10 @@ export declare const CDK_PRESET_ARTIFACTS: readonly ["eslint.cdk.ts", "tsconfig.
|
|
|
63
63
|
* classified as a CDK app. Naming them is half the remedy, which is why the
|
|
64
64
|
* check states them rather than saying "some dependencies".
|
|
65
65
|
*/
|
|
66
|
-
export declare const CDK_PRESET_FORCED_DEPENDENCIES: readonly ["
|
|
67
|
-
/**
|
|
66
|
+
export declare const CDK_PRESET_FORCED_DEPENDENCIES: readonly ["constructs", "source-map-support"];
|
|
67
|
+
/** Dependencies older presets forced, now preserved as host-owned choices. */
|
|
68
|
+
export declare const CDK_PRESET_LEGACY_DEPENDENCIES: readonly ["aws-cdk-github-oidc"];
|
|
69
|
+
/** Historical `bin` entry older CDK presets force-merged; current applies preserve host bins. */
|
|
68
70
|
export declare const CDK_PRESET_BIN_ENTRY: {
|
|
69
71
|
readonly name: "infrastructure";
|
|
70
72
|
readonly target: "bin/infrastructure.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-preset-adoption.d.ts","sourceRoot":"","sources":["../../src/core/cdk-preset-adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,kEAIvB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"cdk-preset-adoption.d.ts","sourceRoot":"","sources":["../../src/core/cdk-preset-adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,kEAIvB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,+CAGjC,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,8BAA8B,kCAAmC,CAAC;AAE/E,iGAAiG;AACjG,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW;AACrB,oDAAoD;AAClD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AACH,oEAAoE;GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAEtC,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB;AAC3B,oCAAoC;AAClC,QAAQ;AACV,oDAAoD;GAClD,UAAU;AACZ,wDAAwD;GACtD,YAAY;AACd,8DAA8D;GAC5D,gBAAgB,CAAC;AAyBrB;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,GAC5B,iBAAiB,CAOnB"}
|
|
@@ -68,11 +68,12 @@ export const CDK_PRESET_ARTIFACTS = [
|
|
|
68
68
|
* check states them rather than saying "some dependencies".
|
|
69
69
|
*/
|
|
70
70
|
export const CDK_PRESET_FORCED_DEPENDENCIES = [
|
|
71
|
-
"aws-cdk-github-oidc",
|
|
72
71
|
"constructs",
|
|
73
72
|
"source-map-support",
|
|
74
73
|
];
|
|
75
|
-
/**
|
|
74
|
+
/** Dependencies older presets forced, now preserved as host-owned choices. */
|
|
75
|
+
export const CDK_PRESET_LEGACY_DEPENDENCIES = ["aws-cdk-github-oidc"];
|
|
76
|
+
/** Historical `bin` entry older CDK presets force-merged; current applies preserve host bins. */
|
|
76
77
|
export const CDK_PRESET_BIN_ENTRY = {
|
|
77
78
|
name: "infrastructure",
|
|
78
79
|
target: "bin/infrastructure.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-preset-adoption.js","sourceRoot":"","sources":["../../src/core/cdk-preset-adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,eAAe;IACf,mBAAmB;IACnB,eAAe;CACP,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,
|
|
1
|
+
{"version":3,"file":"cdk-preset-adoption.js","sourceRoot":"","sources":["../../src/core/cdk-preset-adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,eAAe;IACf,mBAAmB;IACnB,eAAe;CACP,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,YAAY;IACZ,oBAAoB;CACZ,CAAC;AAEX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,qBAAqB,CAAU,CAAC;AAE/E,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,uBAAuB;CACvB,CAAC;AAgDX;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAEzE,qEAAqE;AACrE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAExC;;;;GAIG;AACH,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,UAAU,GAAG,UAAU;SAC1B,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,OAAO,CAAC;SACZ,MAAM,CAAC,KAAK,CAAC,EAAE,CACd,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAC9D,CAAC;IACJ,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA6B;IAE7B,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,CAAC,QAAQ,CAAC,YAAY;QAAE,OAAO,YAAY,CAAC;IAChD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC"}
|
package/dist/core/lisa.d.ts
CHANGED
|
@@ -330,6 +330,11 @@ export declare class Lisa {
|
|
|
330
330
|
* Register plugins from merged settings.json with Claude Code at project scope
|
|
331
331
|
*/
|
|
332
332
|
private registerPlugins;
|
|
333
|
+
/**
|
|
334
|
+
* Distinguish a missing optional CLI from a failed or timed-out real probe.
|
|
335
|
+
* @param error - Probe failure
|
|
336
|
+
*/
|
|
337
|
+
private reportPluginProbeFailure;
|
|
333
338
|
/**
|
|
334
339
|
* Install each plugin and refresh the Lisa marketplace cache.
|
|
335
340
|
*
|
|
@@ -346,6 +351,15 @@ export declare class Lisa {
|
|
|
346
351
|
* @param plugins - Plugin identifiers from enabledPlugins (e.g. "lisa@lisa")
|
|
347
352
|
*/
|
|
348
353
|
private installPluginsAndUpdateMarketplace;
|
|
354
|
+
/**
|
|
355
|
+
* Record only a completed sync, keeping failures eligible for a later retry.
|
|
356
|
+
* @param version - Current Lisa version
|
|
357
|
+
* @param fullSync - Whether a version change required every plugin
|
|
358
|
+
* @param completed - Whether all required commands succeeded
|
|
359
|
+
*/
|
|
360
|
+
private recordPluginSyncOutcome;
|
|
361
|
+
/** Remove only this project's marker so incomplete incremental syncs retry. */
|
|
362
|
+
private invalidatePluginSyncMarker;
|
|
349
363
|
/**
|
|
350
364
|
* Decide whether this apply needs a full plugin sync and which plugins to
|
|
351
365
|
* install.
|
|
@@ -373,19 +387,19 @@ export declare class Lisa {
|
|
|
373
387
|
* @param execAsync - Promisified exec function for running shell commands
|
|
374
388
|
* @param announce - Whether to log the outcome (silent for the pre-install
|
|
375
389
|
* best-effort refresh)
|
|
376
|
-
* @returns
|
|
390
|
+
* @returns Whether the refresh command succeeded
|
|
377
391
|
*/
|
|
378
392
|
private updateLisaMarketplace;
|
|
379
393
|
/**
|
|
380
394
|
* Install a single plugin at project scope via the Claude CLI.
|
|
381
395
|
* @param execAsync - Promisified exec function for running shell commands
|
|
382
396
|
* @param plugin - Plugin identifier (already validated)
|
|
383
|
-
* @returns
|
|
397
|
+
* @returns Whether the install command succeeded
|
|
384
398
|
*/
|
|
385
399
|
private installPlugin;
|
|
386
400
|
/**
|
|
387
401
|
* Exec options shared by all Claude CLI plugin commands.
|
|
388
|
-
* @returns Options object with the project cwd and
|
|
402
|
+
* @returns Options object with the project cwd and registration budget
|
|
389
403
|
*/
|
|
390
404
|
private pluginExecOptions;
|
|
391
405
|
/**
|
package/dist/core/lisa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiCnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAe9D,OAAO,KAAK,EAIV,UAAU,EACV,UAAU,EAGX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}
|
package/dist/core/lisa.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable max-lines -- Main orchestrator class with apply/validate operations */
|
|
2
2
|
import * as fse from "fs-extra";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
|
-
import { readFile, stat, writeFile } from "node:fs/promises";
|
|
4
|
+
import { readFile, stat, unlink, writeFile } from "node:fs/promises";
|
|
5
5
|
import * as path from "node:path";
|
|
6
6
|
import pc from "picocolors";
|
|
7
7
|
import { getPackageVersion } from "../cli/version.js";
|
|
@@ -32,6 +32,7 @@ import { COPY_STRATEGIES, createInitialCounters, harnessIncludesAgent, } from ".
|
|
|
32
32
|
import { migrateInstructionFiles, relocateProjectLearningsLedger, } from "./instruction-files-migration.js";
|
|
33
33
|
import { assertSafeLearningParents, resolveSafeLearningTarget, } from "./learnings-file-safety.js";
|
|
34
34
|
import { APPLY_RECEIPT_DISPLAY_PATH } from "./apply-receipt.js";
|
|
35
|
+
import { PLUGIN_PROBE_TIMEOUT_MS, PLUGIN_REGISTRATION_TIMEOUT_MS, runPluginCommand, } from "./plugin-command.js";
|
|
35
36
|
import { basisAuthorisesDeletion, resolveDeletionBasis, } from "./deletion-basis.js";
|
|
36
37
|
import { findLocalWorkflowReferences } from "./workflow-reference-guard.js";
|
|
37
38
|
import { classifyWorkflowForDeletion, describeRefusal, isWorkflowDeletionPath, } from "./workflow-deletion-ownership.js";
|
|
@@ -45,6 +46,8 @@ const HOST_OWNED_LABEL = "already present (host-owned)";
|
|
|
45
46
|
const CREATE_ONLY_STRATEGY = "create-only";
|
|
46
47
|
const COPY_CONTENTS_STRATEGY = "copy-contents";
|
|
47
48
|
const PROJECT_LEARNINGS_TEMPLATE_PATH = path.join(".lisa", "PROJECT_LEARNINGS.md");
|
|
49
|
+
/** Generic fallback when a plugin command has no readable error. */
|
|
50
|
+
const PLUGIN_COMMAND_FAILED = "command failed";
|
|
48
51
|
/**
|
|
49
52
|
* Main Lisa orchestrator
|
|
50
53
|
*/
|
|
@@ -643,7 +646,6 @@ export class Lisa {
|
|
|
643
646
|
* Register plugins from merged settings.json with Claude Code at project scope
|
|
644
647
|
*/
|
|
645
648
|
async registerPlugins() {
|
|
646
|
-
const { logger } = this.deps;
|
|
647
649
|
if (this.config.dryRun) {
|
|
648
650
|
return;
|
|
649
651
|
}
|
|
@@ -657,22 +659,37 @@ export class Lisa {
|
|
|
657
659
|
if (!settings?.enabledPlugins) {
|
|
658
660
|
return;
|
|
659
661
|
}
|
|
660
|
-
const plugins = Object.
|
|
662
|
+
const plugins = Object.entries(settings.enabledPlugins)
|
|
663
|
+
.filter(([, enabled]) => enabled === true)
|
|
664
|
+
.map(([plugin]) => plugin);
|
|
661
665
|
if (plugins.length === 0) {
|
|
662
666
|
return;
|
|
663
667
|
}
|
|
664
|
-
const
|
|
665
|
-
const
|
|
666
|
-
|
|
668
|
+
const operationDeadline = Date.now() + PLUGIN_REGISTRATION_TIMEOUT_MS;
|
|
669
|
+
const execAsync = async (command, options) => await runPluginCommand(command.split(" ").slice(1), {
|
|
670
|
+
cwd: this.config.destDir,
|
|
671
|
+
timeoutMs: Math.min(Number(options.timeout), operationDeadline - Date.now()),
|
|
672
|
+
});
|
|
667
673
|
try {
|
|
668
|
-
await execAsync("
|
|
674
|
+
await execAsync("claude --version", { timeout: PLUGIN_PROBE_TIMEOUT_MS });
|
|
669
675
|
}
|
|
670
|
-
catch {
|
|
671
|
-
|
|
676
|
+
catch (error) {
|
|
677
|
+
this.reportPluginProbeFailure(error);
|
|
672
678
|
return;
|
|
673
679
|
}
|
|
674
680
|
await this.installPluginsAndUpdateMarketplace(execAsync, plugins);
|
|
675
681
|
}
|
|
682
|
+
/**
|
|
683
|
+
* Distinguish a missing optional CLI from a failed or timed-out real probe.
|
|
684
|
+
* @param error - Probe failure
|
|
685
|
+
*/
|
|
686
|
+
reportPluginProbeFailure(error) {
|
|
687
|
+
if (error.code === "ENOENT") {
|
|
688
|
+
this.deps.logger.info("Claude CLI not found, skipping plugin registration");
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
this.deps.logger.warn(`Claude CLI probe failed; plugin registration will retry (${error instanceof Error ? error.message : PLUGIN_COMMAND_FAILED})`);
|
|
692
|
+
}
|
|
676
693
|
/**
|
|
677
694
|
* Install each plugin and refresh the Lisa marketplace cache.
|
|
678
695
|
*
|
|
@@ -703,22 +720,39 @@ export class Lisa {
|
|
|
703
720
|
return;
|
|
704
721
|
}
|
|
705
722
|
logger.info("Registering plugins with Claude Code (project scope)...");
|
|
723
|
+
const sync = { succeeded: true };
|
|
706
724
|
if (fullSync) {
|
|
707
725
|
// Best-effort cache refresh. Individual plugin installs below will still
|
|
708
726
|
// report whether the marketplace entry is available.
|
|
709
|
-
await this.updateLisaMarketplace(execAsync, false);
|
|
727
|
+
sync.succeeded = await this.updateLisaMarketplace(execAsync, false);
|
|
710
728
|
}
|
|
711
729
|
for (const plugin of toInstall) {
|
|
712
730
|
if (!validPluginName.test(plugin)) {
|
|
713
731
|
logger.warn(`Skipping invalid plugin name: ${plugin}`);
|
|
732
|
+
sync.succeeded = false;
|
|
714
733
|
continue;
|
|
715
734
|
}
|
|
716
|
-
await this.installPlugin(execAsync, plugin);
|
|
735
|
+
const installed = await this.installPlugin(execAsync, plugin);
|
|
736
|
+
sync.succeeded = installed && sync.succeeded;
|
|
717
737
|
}
|
|
718
738
|
// Post-install refresh must run whenever installs happened: installing can
|
|
719
739
|
// register the marketplace for the first time, and without a refresh newly
|
|
720
740
|
// added skills are not discovered ("Unknown skill" in nightly CI — #320).
|
|
721
|
-
await this.updateLisaMarketplace(execAsync, true);
|
|
741
|
+
const refreshed = await this.updateLisaMarketplace(execAsync, true);
|
|
742
|
+
await this.recordPluginSyncOutcome(version, fullSync, sync.succeeded && refreshed);
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* Record only a completed sync, keeping failures eligible for a later retry.
|
|
746
|
+
* @param version - Current Lisa version
|
|
747
|
+
* @param fullSync - Whether a version change required every plugin
|
|
748
|
+
* @param completed - Whether all required commands succeeded
|
|
749
|
+
*/
|
|
750
|
+
async recordPluginSyncOutcome(version, fullSync, completed) {
|
|
751
|
+
if (!completed) {
|
|
752
|
+
await this.invalidatePluginSyncMarker();
|
|
753
|
+
this.deps.logger.warn("Plugin registration incomplete; retry on the next apply");
|
|
754
|
+
return;
|
|
755
|
+
}
|
|
722
756
|
if (fullSync) {
|
|
723
757
|
// Always the project's OWN marker (destDir): a full sync run from a
|
|
724
758
|
// linked worktree only reinstalled plugins for the worktree's
|
|
@@ -728,6 +762,18 @@ export class Lisa {
|
|
|
728
762
|
await this.writePluginSyncMarker(version);
|
|
729
763
|
}
|
|
730
764
|
}
|
|
765
|
+
/** Remove only this project's marker so incomplete incremental syncs retry. */
|
|
766
|
+
async invalidatePluginSyncMarker() {
|
|
767
|
+
try {
|
|
768
|
+
await unlink(this.pluginSyncMarkerPath());
|
|
769
|
+
}
|
|
770
|
+
catch (error) {
|
|
771
|
+
if (error.code === "ENOENT")
|
|
772
|
+
return;
|
|
773
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
774
|
+
this.deps.logger.warn(`Could not invalidate plugin sync marker: ${message}`);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
731
777
|
/**
|
|
732
778
|
* Decide whether this apply needs a full plugin sync and which plugins to
|
|
733
779
|
* install.
|
|
@@ -779,7 +825,7 @@ export class Lisa {
|
|
|
779
825
|
* @param execAsync - Promisified exec function for running shell commands
|
|
780
826
|
* @param announce - Whether to log the outcome (silent for the pre-install
|
|
781
827
|
* best-effort refresh)
|
|
782
|
-
* @returns
|
|
828
|
+
* @returns Whether the refresh command succeeded
|
|
783
829
|
*/
|
|
784
830
|
async updateLisaMarketplace(execAsync, announce) {
|
|
785
831
|
const { logger } = this.deps;
|
|
@@ -788,35 +834,42 @@ export class Lisa {
|
|
|
788
834
|
if (announce) {
|
|
789
835
|
logger.success("Updated marketplace: lisa");
|
|
790
836
|
}
|
|
837
|
+
return true;
|
|
791
838
|
}
|
|
792
|
-
catch {
|
|
839
|
+
catch (error) {
|
|
793
840
|
if (announce) {
|
|
794
|
-
logger.warn(
|
|
841
|
+
logger.warn(`Could not update marketplace: lisa (${error instanceof Error ? error.message : PLUGIN_COMMAND_FAILED})`);
|
|
795
842
|
}
|
|
843
|
+
return false;
|
|
796
844
|
}
|
|
797
845
|
}
|
|
798
846
|
/**
|
|
799
847
|
* Install a single plugin at project scope via the Claude CLI.
|
|
800
848
|
* @param execAsync - Promisified exec function for running shell commands
|
|
801
849
|
* @param plugin - Plugin identifier (already validated)
|
|
802
|
-
* @returns
|
|
850
|
+
* @returns Whether the install command succeeded
|
|
803
851
|
*/
|
|
804
852
|
async installPlugin(execAsync, plugin) {
|
|
805
853
|
const { logger } = this.deps;
|
|
806
854
|
try {
|
|
807
855
|
await execAsync(`claude plugin install ${plugin} --scope project`, this.pluginExecOptions());
|
|
808
856
|
logger.success(`Registered plugin: ${plugin}`);
|
|
857
|
+
return true;
|
|
809
858
|
}
|
|
810
|
-
catch {
|
|
811
|
-
logger.warn(`Could not register plugin: ${plugin}`);
|
|
859
|
+
catch (error) {
|
|
860
|
+
logger.warn(`Could not register plugin: ${plugin} (${error instanceof Error ? error.message : PLUGIN_COMMAND_FAILED})`);
|
|
861
|
+
return false;
|
|
812
862
|
}
|
|
813
863
|
}
|
|
814
864
|
/**
|
|
815
865
|
* Exec options shared by all Claude CLI plugin commands.
|
|
816
|
-
* @returns Options object with the project cwd and
|
|
866
|
+
* @returns Options object with the project cwd and registration budget
|
|
817
867
|
*/
|
|
818
868
|
pluginExecOptions() {
|
|
819
|
-
return {
|
|
869
|
+
return {
|
|
870
|
+
cwd: this.config.destDir,
|
|
871
|
+
timeout: PLUGIN_REGISTRATION_TIMEOUT_MS,
|
|
872
|
+
};
|
|
820
873
|
}
|
|
821
874
|
/**
|
|
822
875
|
* Absolute path of the plugin sync marker recording the last fully-synced
|
|
@@ -845,7 +898,7 @@ export class Lisa {
|
|
|
845
898
|
try {
|
|
846
899
|
const result = (await execAsync("claude plugin list --json", {
|
|
847
900
|
cwd: this.config.destDir,
|
|
848
|
-
|
|
901
|
+
timeout: PLUGIN_PROBE_TIMEOUT_MS,
|
|
849
902
|
}));
|
|
850
903
|
const parsed = JSON.parse(String(result.stdout ?? ""));
|
|
851
904
|
if (!Array.isArray(parsed)) {
|