@codyswann/lisa 4.33.9 → 4.33.10
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/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +1 -1
- package/dist/migrations/ensure-lisa-postinstall.d.ts +26 -15
- package/dist/migrations/ensure-lisa-postinstall.d.ts.map +1 -1
- package/dist/migrations/ensure-lisa-postinstall.js +43 -20
- package/dist/migrations/ensure-lisa-postinstall.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/scripts/install-claude-plugins.sh +22 -4
|
@@ -20,9 +20,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
|
|
|
20
20
|
}),
|
|
21
21
|
"312e8962e21be2f3c6c6c0235b0c6159b8dc39425508b4965c7df87fb1333380": Object.freeze({
|
|
22
22
|
contractVersion: "1.9.0",
|
|
23
|
-
packageVersions: Object.freeze(["4.33.
|
|
23
|
+
packageVersions: Object.freeze(["4.33.10"]),
|
|
24
24
|
provenances: Object.freeze([
|
|
25
|
-
"workspace package @codyswann/lisa@4.33.
|
|
25
|
+
"workspace package @codyswann/lisa@4.33.10 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
|
|
26
26
|
]),
|
|
27
27
|
}),
|
|
28
28
|
"898ee0247806c7aa6e98328662d80bcff22ff067999298865462a58daef8bb22": Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nightly-e2e-guard-behavior-certificate.js","sourceRoot":"","sources":["../../src/core/nightly-e2e-guard-behavior-certificate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,4CAA4C,GAAG,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC,MAAM,CAAC;IACnE,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,mHAAmH;SACpH,CAAC;KACH,CAAC;IACJ,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"nightly-e2e-guard-behavior-certificate.js","sourceRoot":"","sources":["../../src/core/nightly-e2e-guard-behavior-certificate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,4CAA4C,GAAG,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC,MAAM,CAAC;IACnE,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,mHAAmH;SACpH,CAAC;KACH,CAAC;IACJ,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,4GAA4G;SAC7G,CAAC;KACH,CAAC;IACJ,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,iHAAiH;SAClH,CAAC;KACH,CAAC;IACJ,kEAAkE,EAChE,MAAM,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,mHAAmH;SACpH,CAAC;KACH,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -1144,7 +1144,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
1144
1144
|
"scripts/generate-two-channel-couplings.ts": "8c1f5b8d6ac5043dec9789f3ac1fe83d9ba00d1e1eccf9c6a92f274ab8da919e",
|
|
1145
1145
|
"scripts/generate-upstream-evidence-manifest.mjs": "8f18972834d6be9771501c35da30de95539a7e7b3fb3d7605e0bc31477812a5f",
|
|
1146
1146
|
"scripts/github-status-check.sh": "c6a4a13ff5cf689fcbd7a6aca718f9e7d46d54ccb6687f662b055c1ca20e792f",
|
|
1147
|
-
"scripts/install-claude-plugins.sh": "
|
|
1147
|
+
"scripts/install-claude-plugins.sh": "1bd2885d74a4909548d306e000fe049849b19b6f093de7cb1c641384f6b73209",
|
|
1148
1148
|
"scripts/install-generated-artifact-merge-driver.mjs": "971aae61d2b9eb8e8eca871f103b8d35bb3f8b9f949273a2bff4010dc32d63cc",
|
|
1149
1149
|
"scripts/internal-agy-skill-policy.json": "c2ce87d2eeebfdc9f24d6486425c010cf9289376f8a459f4767ca22d2bf8670d",
|
|
1150
1150
|
"scripts/internal-codex-skill-policy.json": "d7191650d8a12727549b67df61dbfa61e16cfb9cc31e461cd98d253ceab1612a",
|
|
@@ -12,26 +12,37 @@ export declare const APPLY_FAILURE_NOTICE: string;
|
|
|
12
12
|
/**
|
|
13
13
|
* The bootstrap invocation chained into a host project's `postinstall`.
|
|
14
14
|
*
|
|
15
|
-
* Shape: **loud
|
|
16
|
-
*
|
|
17
|
-
* indistinguishable from success and a repo could
|
|
18
|
-
* template updates (CodySwannGT/lisa#2467).
|
|
19
|
-
*
|
|
15
|
+
* Shape: **loud and fatal**. Two earlier shapes each discarded the apply's exit
|
|
16
|
+
* code. `2>/dev/null || true` discarded its stderr too, so a totally failed
|
|
17
|
+
* apply was byte-for-byte indistinguishable from success and a repo could
|
|
18
|
+
* silently stop receiving template updates (CodySwannGT/lisa#2467). Replacing
|
|
19
|
+
* `true` with `echo` recovered the reason but not the fact: `echo` also exits 0,
|
|
20
|
+
* so a failed apply still reported success and the one warning line scrolled
|
|
21
|
+
* away in a wall of install output (CodySwannGT/lisa#3466). The failure branch
|
|
22
|
+
* now prints the notice and exits 1.
|
|
20
23
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
24
|
+
* Failing the install is a deliberate trade against the previous reasoning,
|
|
25
|
+
* which was that a non-zero postinstall would convert a template-sync problem
|
|
26
|
+
* into an install outage across the fleet. Two things bound that risk. The
|
|
27
|
+
* `[ -n "$CI" ] ||` guard means this branch never executes when `CI` is set, so
|
|
28
|
+
* no CI pipeline can be broken by it and the exposure is local installs only;
|
|
29
|
+
* and `CI=1` remains the escape hatch for anyone who needs to install past a
|
|
30
|
+
* broken apply. Against that, the apply receipt this failed run did NOT write —
|
|
31
|
+
* previously offered as the durable signal — cannot tell `lisa doctor` that an
|
|
32
|
+
* apply *failed*, only that none has succeeded recently, which is equally true
|
|
33
|
+
* of a project that was never applied or was deliberately skipped. The exit code
|
|
34
|
+
* is the only signal that distinguishes them.
|
|
35
|
+
*
|
|
36
|
+
* The cost, stated plainly: {@link composePostinstall} builds
|
|
37
|
+
* `<lisa> && <the host's own postinstall>`, so a failed apply now also skips
|
|
38
|
+
* whatever the host chained after it (`patch-package` and friends). That is the
|
|
39
|
+
* honest outcome — the install genuinely did not complete — but it is a wider
|
|
40
|
+
* change than the exit code alone.
|
|
30
41
|
*
|
|
31
42
|
* Exported so tests can execute the real script under `sh` rather than assert
|
|
32
43
|
* on a string.
|
|
33
44
|
*/
|
|
34
|
-
export declare const LISA_INVOCATION = "[ -n \"$CI\" ] || LISA_BOOTSTRAP=1 LISA_POSTINSTALL=1 node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check . || echo \"lisa: TEMPLATE APPLY FAILED - this project is NOT receiving Lisa template or guardrail updates. The error is above. Reproduce it with: LISA_POSTINSTALL=1 node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check . - then run: node node_modules/@codyswann/lisa/dist/index.js doctor\" >&2";
|
|
45
|
+
export declare const LISA_INVOCATION = "[ -n \"$CI\" ] || LISA_BOOTSTRAP=1 LISA_POSTINSTALL=1 node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check . || { echo \"lisa: TEMPLATE APPLY FAILED - this project is NOT receiving Lisa template or guardrail updates. The error is above. Reproduce it with: LISA_POSTINSTALL=1 node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check . - then run: node node_modules/@codyswann/lisa/dist/index.js doctor\" >&2; exit 1; }";
|
|
35
46
|
/**
|
|
36
47
|
* Migration: ensure Node-based projects chain Lisa into their postinstall script.
|
|
37
48
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-lisa-postinstall.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-lisa-postinstall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAqBlC;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,QAG8C,CAAC;
|
|
1
|
+
{"version":3,"file":"ensure-lisa-postinstall.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-lisa-postinstall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAqBlC;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,QAG8C,CAAC;AAYhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,scAAyG,CAAC;AA0FtI;;;;;;;;;GASG;AACH,qBAAa,8BAA+B,YAAW,SAAS;IAC9D,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,WAAW,qEACgD;IAEpE;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBtD;;;;OAIG;IACG,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CAqC7D"}
|
|
@@ -31,29 +31,49 @@ const LISA_APPLY_COMMAND_AS_POSTINSTALL = `${POSTINSTALL_PREFIX}${LISA_APPLY_COM
|
|
|
31
31
|
export const APPLY_FAILURE_NOTICE = "lisa: TEMPLATE APPLY FAILED - this project is NOT receiving Lisa template " +
|
|
32
32
|
"or guardrail updates. The error is above. Reproduce it with: " +
|
|
33
33
|
`${LISA_APPLY_COMMAND_AS_POSTINSTALL} - then run: node ${LISA_MARKER} doctor`;
|
|
34
|
+
/**
|
|
35
|
+
* The failure branch: say why, then exit non-zero.
|
|
36
|
+
*
|
|
37
|
+
* `exit 1` rather than a bare `false` because this invocation is routinely
|
|
38
|
+
* chained (`<lisa> && <the host's own postinstall>`); `exit` ends the script at
|
|
39
|
+
* the failure regardless of what a consumer composed around it, so the status
|
|
40
|
+
* cannot be overwritten by a later command in the chain.
|
|
41
|
+
*/
|
|
42
|
+
const APPLY_FAILURE_TAIL = ` || { echo "${APPLY_FAILURE_NOTICE}" >&2; exit 1; }`;
|
|
34
43
|
/**
|
|
35
44
|
* The bootstrap invocation chained into a host project's `postinstall`.
|
|
36
45
|
*
|
|
37
|
-
* Shape: **loud
|
|
38
|
-
*
|
|
39
|
-
* indistinguishable from success and a repo could
|
|
40
|
-
* template updates (CodySwannGT/lisa#2467).
|
|
41
|
-
*
|
|
46
|
+
* Shape: **loud and fatal**. Two earlier shapes each discarded the apply's exit
|
|
47
|
+
* code. `2>/dev/null || true` discarded its stderr too, so a totally failed
|
|
48
|
+
* apply was byte-for-byte indistinguishable from success and a repo could
|
|
49
|
+
* silently stop receiving template updates (CodySwannGT/lisa#2467). Replacing
|
|
50
|
+
* `true` with `echo` recovered the reason but not the fact: `echo` also exits 0,
|
|
51
|
+
* so a failed apply still reported success and the one warning line scrolled
|
|
52
|
+
* away in a wall of install output (CodySwannGT/lisa#3466). The failure branch
|
|
53
|
+
* now prints the notice and exits 1.
|
|
54
|
+
*
|
|
55
|
+
* Failing the install is a deliberate trade against the previous reasoning,
|
|
56
|
+
* which was that a non-zero postinstall would convert a template-sync problem
|
|
57
|
+
* into an install outage across the fleet. Two things bound that risk. The
|
|
58
|
+
* `[ -n "$CI" ] ||` guard means this branch never executes when `CI` is set, so
|
|
59
|
+
* no CI pipeline can be broken by it and the exposure is local installs only;
|
|
60
|
+
* and `CI=1` remains the escape hatch for anyone who needs to install past a
|
|
61
|
+
* broken apply. Against that, the apply receipt this failed run did NOT write —
|
|
62
|
+
* previously offered as the durable signal — cannot tell `lisa doctor` that an
|
|
63
|
+
* apply *failed*, only that none has succeeded recently, which is equally true
|
|
64
|
+
* of a project that was never applied or was deliberately skipped. The exit code
|
|
65
|
+
* is the only signal that distinguishes them.
|
|
42
66
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* the fleet. The durable signal instead lives in the apply receipt that a
|
|
49
|
-
* successful apply writes — `lisa doctor` reports a repo whose receipt is
|
|
50
|
-
* missing or older than the installed Lisa, so the failure is still findable
|
|
51
|
-
* long after the install output has scrolled away.
|
|
67
|
+
* The cost, stated plainly: {@link composePostinstall} builds
|
|
68
|
+
* `<lisa> && <the host's own postinstall>`, so a failed apply now also skips
|
|
69
|
+
* whatever the host chained after it (`patch-package` and friends). That is the
|
|
70
|
+
* honest outcome — the install genuinely did not complete — but it is a wider
|
|
71
|
+
* change than the exit code alone.
|
|
52
72
|
*
|
|
53
73
|
* Exported so tests can execute the real script under `sh` rather than assert
|
|
54
74
|
* on a string.
|
|
55
75
|
*/
|
|
56
|
-
export const LISA_INVOCATION = `${CI_GUARD_PREFIX}${BOOTSTRAP_PREFIX}${POSTINSTALL_PREFIX}${LISA_APPLY_COMMAND}
|
|
76
|
+
export const LISA_INVOCATION = `${CI_GUARD_PREFIX}${BOOTSTRAP_PREFIX}${POSTINSTALL_PREFIX}${LISA_APPLY_COMMAND}${APPLY_FAILURE_TAIL}`;
|
|
57
77
|
/**
|
|
58
78
|
* Project types that do not use Node.js postinstall hooks (e.g. Rails).
|
|
59
79
|
* Projects detected as only these types are skipped by this migration.
|
|
@@ -72,10 +92,11 @@ async function readPackageJson(projectDir) {
|
|
|
72
92
|
* replaces it rather than chaining a second copy in front of it.
|
|
73
93
|
*
|
|
74
94
|
* The optional tail covers, in order: the failure-swallowing legacy form
|
|
75
|
-
* (`2>/dev/null || true`), the
|
|
76
|
-
* (`|| echo "..." >&2
|
|
77
|
-
*
|
|
78
|
-
*
|
|
95
|
+
* (`2>/dev/null || true`), the loud-but-still-exit-0 form
|
|
96
|
+
* (`|| echo "..." >&2`, CodySwannGT/lisa#3466), the current loud-and-fatal form
|
|
97
|
+
* (`|| { echo "..." >&2; exit 1; }`), and a bare invocation with no tail at
|
|
98
|
+
* all. Guard prefixes are optional and repeatable because older Lisa versions
|
|
99
|
+
* introduced them one at a time — `LISA_POSTINSTALL=1` being the newest
|
|
79
100
|
* (CodySwannGT/lisa#3066).
|
|
80
101
|
*
|
|
81
102
|
* **Every alternative here is permanent.** There is no cutover date: this text
|
|
@@ -89,7 +110,9 @@ async function readPackageJson(projectDir) {
|
|
|
89
110
|
*/
|
|
90
111
|
const LISA_INVOCATION_RE = new RegExp('(?:(?:\\[ -n "\\$CI" \\] \\|\\| )|(?:LISA_BOOTSTRAP=1 )|(?:LISA_POSTINSTALL=1 ))*' +
|
|
91
112
|
"node node_modules/@codyswann/lisa/dist/index\\.js --yes --skip-git-check \\." +
|
|
92
|
-
|
|
113
|
+
"(?: 2>/dev/null \\|\\| true" +
|
|
114
|
+
'| \\|\\| \\{ echo "[^"]*" >&2; exit 1; \\}' +
|
|
115
|
+
'| \\|\\| echo "[^"]*" >&2)?');
|
|
93
116
|
/**
|
|
94
117
|
* Compose the new postinstall, prepending the Lisa invocation to any existing command.
|
|
95
118
|
* If the existing script already contains a legacy Lisa invocation (no CI guard),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-lisa-postinstall.js","sourceRoot":"","sources":["../../src/migrations/ensure-lisa-postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C;;;;;;;;;GASG;AACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACjD,MAAM,WAAW,GAAG,4CAA4C,CAAC;AACjE,MAAM,kBAAkB,GAAG,QAAQ,WAAW,2BAA2B,CAAC;AAC1E,iFAAiF;AACjF,MAAM,iCAAiC,GAAG,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;AAEvF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,4EAA4E;IAC5E,+DAA+D;IAC/D,GAAG,iCAAiC,qBAAqB,WAAW,SAAS,CAAC;AAEhF
|
|
1
|
+
{"version":3,"file":"ensure-lisa-postinstall.js","sourceRoot":"","sources":["../../src/migrations/ensure-lisa-postinstall.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"zod-validation-error": "^4.0.0"
|
|
166
166
|
},
|
|
167
167
|
"name": "@codyswann/lisa",
|
|
168
|
-
"version": "4.33.
|
|
168
|
+
"version": "4.33.10",
|
|
169
169
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
170
170
|
"main": "dist/index.js",
|
|
171
171
|
"exports": {
|
|
@@ -313,7 +313,7 @@
|
|
|
313
313
|
"test": "tests"
|
|
314
314
|
},
|
|
315
315
|
"types": "./dist/index.d.ts",
|
|
316
|
-
"lisaReleaseCommit": "
|
|
317
|
-
"gitHead": "
|
|
318
|
-
"lisaReleaseTag": "v4.33.
|
|
316
|
+
"lisaReleaseCommit": "74fcfd1ce7a337cd684e03739b6dd8bef59094d2",
|
|
317
|
+
"gitHead": "74fcfd1ce7a337cd684e03739b6dd8bef59094d2",
|
|
318
|
+
"lisaReleaseTag": "v4.33.10"
|
|
319
319
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.10",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.10",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.10",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.10",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.33.
|
|
3
|
+
"version": "4.33.10",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -178,15 +178,24 @@ HOST_HAS_LISA_POSTINSTALL="$(node -e "
|
|
|
178
178
|
process.stdout.write(postinstall.includes('node_modules/@codyswann/lisa/dist/index.js') ? 'true' : 'false');
|
|
179
179
|
" 2>/dev/null || echo false)"
|
|
180
180
|
|
|
181
|
+
# Set when the package-side apply below fails. Read at the very end of this
|
|
182
|
+
# script, which exits non-zero. See the exit block for why it is deferred.
|
|
183
|
+
APPLY_FAILED=false
|
|
184
|
+
|
|
181
185
|
if [ "$IS_LISA_SELF" != "true" ] && [ -z "${CI:-}" ]; then
|
|
182
186
|
if [ "$HOST_HAS_LISA_POSTINSTALL" = "true" ]; then
|
|
183
187
|
echo "Lisa apply deferred to the host project's own postinstall script."
|
|
184
188
|
elif ! LISA_BOOTSTRAP=1 LISA_POSTINSTALL=1 node "$LISA_DIR/dist/index.js" --yes --skip-git-check "$PROJECT_ROOT"; then
|
|
185
|
-
# Loud
|
|
186
|
-
# postinstall
|
|
187
|
-
#
|
|
188
|
-
# `lisa doctor`
|
|
189
|
+
# Loud AND fatal, matching the host-side bootstrap in
|
|
190
|
+
# src/migrations/ensure-lisa-postinstall.ts. This used to warn and exit 0,
|
|
191
|
+
# reasoning that the apply receipt the failed run did NOT write was signal
|
|
192
|
+
# enough for `lisa doctor` (CodySwannGT/lisa#2467) — but a missing receipt
|
|
193
|
+
# cannot distinguish a failed apply from one that never ran or was skipped,
|
|
194
|
+
# so the failure was reported as a successful install
|
|
195
|
+
# (CodySwannGT/lisa#3466). The `[ -z "${CI:-}" ]` guard above keeps the
|
|
196
|
+
# blast radius to local installs, and `CI=1` remains the escape hatch.
|
|
189
197
|
echo "⚠️ lisa: TEMPLATE APPLY FAILED (error above) - this project is NOT receiving Lisa template or guardrail updates. Diagnose with: node $LISA_DIR/dist/index.js doctor" >&2
|
|
198
|
+
APPLY_FAILED=true
|
|
190
199
|
fi
|
|
191
200
|
fi
|
|
192
201
|
|
|
@@ -599,3 +608,12 @@ if [ -n "$LISA_VERSION" ]; then
|
|
|
599
608
|
&& printf '%s' "$LISA_VERSION" > "$PLUGIN_SYNC_MARKER" 2>/dev/null \
|
|
600
609
|
|| true
|
|
601
610
|
fi
|
|
611
|
+
|
|
612
|
+
# A failed template apply fails this lifecycle script (CodySwannGT/lisa#3466).
|
|
613
|
+
# Deferred to here rather than exiting at the failure itself: plugin sync is
|
|
614
|
+
# independent work that did succeed, and the sync marker above must record it
|
|
615
|
+
# so the next install does not redo it. What must NOT happen is reporting
|
|
616
|
+
# success — that is the whole defect.
|
|
617
|
+
if [ "$APPLY_FAILED" = "true" ]; then
|
|
618
|
+
exit 1
|
|
619
|
+
fi
|