@codyswann/lisa 4.69.0 → 4.69.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 +28 -0
- package/all/create-only/.github/workflows/continuous-gates.yml +2 -2
- package/all/create-only/.github/workflows/workflow-load-failure-sweep.yml +1 -1
- package/cdk/create-only/.github/workflows/ci.yml +2 -2
- package/cdk/create-only/.github/workflows/deploy.yml +3 -3
- package/cdk/package-lisa/package.lisa.json +4 -4
- package/dist/cli/doctor-legacy-overlay.d.ts.map +1 -1
- package/dist/cli/doctor-legacy-overlay.js +37 -5
- package/dist/cli/doctor-legacy-overlay.js.map +1 -1
- package/dist/codex/hooks-installer.d.ts +12 -0
- package/dist/codex/hooks-installer.d.ts.map +1 -1
- package/dist/codex/hooks-installer.js +256 -7
- package/dist/codex/hooks-installer.js.map +1 -1
- package/dist/codex/manifest.d.ts +4 -1
- package/dist/codex/manifest.d.ts.map +1 -1
- package/dist/codex/manifest.js +18 -2
- package/dist/codex/manifest.js.map +1 -1
- package/dist/codex/project-hooks-cleanup.d.ts +3 -3
- package/dist/codex/project-hooks-cleanup.d.ts.map +1 -1
- package/dist/codex/project-hooks-cleanup.js +5 -14
- package/dist/codex/project-hooks-cleanup.js.map +1 -1
- package/dist/codex/project-overlay.d.ts.map +1 -1
- package/dist/codex/project-overlay.js +4 -1
- package/dist/codex/project-overlay.js.map +1 -1
- 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 +129 -29
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/expo/create-only/.github/workflows/ci.yml +3 -3
- package/expo/create-only/.github/workflows/deploy.yml +4 -4
- package/expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml +1 -1
- package/expo/create-only/.github/workflows/playwright-e2e.yml +1 -1
- package/expo/create-only/eas.json +1 -1
- package/harper-fabric/copy-overwrite/.github/workflows/ci.yml +1 -1
- package/harper-fabric/create-only/.github/workflows/deploy.yml +3 -3
- package/harper-fabric/create-only/.github/workflows/zap-baseline.yml +1 -1
- package/harper-fabric/package-lisa/package.lisa.json +3 -3
- package/nestjs/create-only/.github/workflows/ci.yml +2 -2
- package/nestjs/create-only/.github/workflows/deploy.yml +5 -5
- package/nestjs/package-lisa/package.lisa.json +3 -3
- package/npm-package/package-lisa/package.lisa.json +3 -3
- package/package.json +12 -12
- package/phaser/copy-overwrite/.github/workflows/ci.yml +1 -1
- package/phaser/package-lisa/package.lisa.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/update-node-version.ts +51 -43
- package/typescript/copy-overwrite/.github/GITHUB_ACTIONS.md +2 -2
- package/typescript/copy-overwrite/.nvmrc +1 -1
- package/typescript/copy-overwrite/audit.ignore.config.json +0 -6
- package/typescript/create-only/.github/workflows/ci.yml +1 -1
- package/typescript/create-only/.github/workflows/review-evidence.yml +1 -1
- package/typescript/create-only/.github/workflows/third-party-review-evidence.yml +1 -1
- package/typescript/package-lisa/package.lisa.json +9 -9
- package/ui/index.html +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.69.
|
|
3
|
+
"version": "4.69.2",
|
|
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.69.
|
|
3
|
+
"version": "4.69.2",
|
|
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.69.
|
|
3
|
+
"version": "4.69.2",
|
|
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"
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* bun scripts/update-node-version.ts
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
+
import { execFileSync } from "node:child_process";
|
|
18
19
|
import * as fs from "node:fs";
|
|
19
20
|
import * as path from "node:path";
|
|
20
21
|
|
|
@@ -35,17 +36,21 @@ interface ReplacementPattern {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
const WORKFLOW_PATTERNS: readonly ReplacementPattern[] = [
|
|
38
|
-
//
|
|
39
|
+
// Include reusable-workflow defaults and expression fallbacks as well as
|
|
40
|
+
// ordinary callers. Only Node-shaped keys are rewritten.
|
|
39
41
|
{
|
|
40
|
-
pattern: /(node_version:\s*['"])
|
|
42
|
+
pattern: /((?:node_version|node-version):\s*['"]?)\d+\.\d+\.\d+(['"]?)/g,
|
|
41
43
|
replacement: VERSION_REPLACEMENT,
|
|
42
44
|
},
|
|
43
|
-
// node-version: '22.21.1' (actions/setup-node)
|
|
44
45
|
{
|
|
45
|
-
pattern:
|
|
46
|
+
pattern:
|
|
47
|
+
/(node_version:\n(?: +(?:description|type|required):[^\n]*\n)* +default: *['"])\d+\.\d+\.\d+(['"])/g,
|
|
48
|
+
replacement: VERSION_REPLACEMENT,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
pattern: /(node-version:.*?\|\|\s*['"])\d+\.\d+\.\d+(['"])/g,
|
|
46
52
|
replacement: VERSION_REPLACEMENT,
|
|
47
53
|
},
|
|
48
|
-
// node-version: '22.x' (major version pattern)
|
|
49
54
|
{
|
|
50
55
|
pattern: /(node-version:\s*['"])\d+\.x(['"])/g,
|
|
51
56
|
replacement: "$1{{major}}.x$2",
|
|
@@ -53,43 +58,39 @@ const WORKFLOW_PATTERNS: readonly ReplacementPattern[] = [
|
|
|
53
58
|
];
|
|
54
59
|
|
|
55
60
|
const PACKAGE_JSON_PATTERN: ReplacementPattern = {
|
|
56
|
-
pattern: /("node":\s*["'])
|
|
61
|
+
pattern: /("node":\s*["'](?:>=\s*)?)\d+\.\d+\.\d+(["'])/g,
|
|
57
62
|
replacement: VERSION_REPLACEMENT,
|
|
58
63
|
};
|
|
59
64
|
|
|
60
65
|
/**
|
|
61
|
-
*
|
|
66
|
+
* Current tracked runtime surfaces, rather than the removed merge/workflow
|
|
67
|
+
* paths used by the original updater. Historical plans and test fixtures are
|
|
68
|
+
* deliberately excluded. Adding a shipped stack workflow needs no list edit.
|
|
69
|
+
* @returns Existing repository-relative files governed by shared Node policy
|
|
62
70
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
// CDK template workflows
|
|
88
|
-
"cdk/copy-overwrite/workflows/ci.yml",
|
|
89
|
-
|
|
90
|
-
// npm-package template workflows
|
|
91
|
-
"npm-package/copy-overwrite/.github/workflows/publish-to-npm.yml",
|
|
92
|
-
];
|
|
71
|
+
function filesToUpdate(): readonly string[] {
|
|
72
|
+
return execFileSync("git", ["ls-files", "-z"], {
|
|
73
|
+
cwd: PROJECT_ROOT,
|
|
74
|
+
encoding: "utf8",
|
|
75
|
+
})
|
|
76
|
+
.split("\0")
|
|
77
|
+
.filter(
|
|
78
|
+
file =>
|
|
79
|
+
[
|
|
80
|
+
"package.json",
|
|
81
|
+
"package.lisa.json",
|
|
82
|
+
"typescript/copy-overwrite/.nvmrc",
|
|
83
|
+
"expo/create-only/eas.json",
|
|
84
|
+
].includes(file) ||
|
|
85
|
+
/^(?:typescript|cdk|nestjs|npm-package|phaser|harper-fabric)\/package-lisa\/package\.lisa\.json$/.test(
|
|
86
|
+
file
|
|
87
|
+
) ||
|
|
88
|
+
/^\.github\/workflows\/[^/]+\.ya?ml$/.test(file) ||
|
|
89
|
+
/^(?:all|typescript|cdk|expo|nestjs|npm-package|phaser|harper-fabric)\/(?:copy-overwrite|create-only)\/\.github\/workflows\/[^/]+\.ya?ml$/.test(
|
|
90
|
+
file
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
}
|
|
93
94
|
|
|
94
95
|
/**
|
|
95
96
|
* Reads the Node.js version from .nvmrc
|
|
@@ -100,7 +101,7 @@ function readNvmrcVersion(): string {
|
|
|
100
101
|
|
|
101
102
|
if (!/^\d+\.\d+\.\d+$/.test(content)) {
|
|
102
103
|
throw new Error(
|
|
103
|
-
`Invalid version format in .nvmrc: "${content}". Expected semver (e.g., 22.
|
|
104
|
+
`Invalid version format in .nvmrc: "${content}". Expected semver (e.g., 22.23.3)`
|
|
104
105
|
);
|
|
105
106
|
}
|
|
106
107
|
|
|
@@ -133,9 +134,16 @@ function updateFile(
|
|
|
133
134
|
let content = originalContent;
|
|
134
135
|
let totalChanges = 0;
|
|
135
136
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
if (filePath.endsWith(".nvmrc")) {
|
|
138
|
+
content = `${version}\n`;
|
|
139
|
+
totalChanges = Number(content !== originalContent);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const patterns = filePath.endsWith(".nvmrc")
|
|
143
|
+
? []
|
|
144
|
+
: filePath.endsWith(".json")
|
|
145
|
+
? [PACKAGE_JSON_PATTERN]
|
|
146
|
+
: WORKFLOW_PATTERNS;
|
|
139
147
|
|
|
140
148
|
patterns.forEach(({ pattern, replacement }) => {
|
|
141
149
|
const resolvedReplacement = replacement
|
|
@@ -179,7 +187,7 @@ function main(): void {
|
|
|
179
187
|
let filesUpdated = 0;
|
|
180
188
|
let totalChanges = 0;
|
|
181
189
|
|
|
182
|
-
|
|
190
|
+
filesToUpdate().forEach(file => {
|
|
183
191
|
const result = updateFile(file, version, majorVersion);
|
|
184
192
|
if (result.updated) {
|
|
185
193
|
filesUpdated++;
|
|
@@ -193,7 +201,7 @@ function main(): void {
|
|
|
193
201
|
|
|
194
202
|
if (filesUpdated > 0) {
|
|
195
203
|
console.log(
|
|
196
|
-
"\nRemember to commit these changes and
|
|
204
|
+
"\nRemember to commit these changes and refresh the repository lockfile if needed."
|
|
197
205
|
);
|
|
198
206
|
}
|
|
199
207
|
}
|
|
@@ -68,7 +68,7 @@ Runs on every pull request to validate code quality:
|
|
|
68
68
|
**Configuration**:
|
|
69
69
|
```yaml
|
|
70
70
|
# In ci.yml, modify these inputs:
|
|
71
|
-
node_version: '22.
|
|
71
|
+
node_version: '22.23.3'
|
|
72
72
|
package_manager: 'bun'
|
|
73
73
|
skip_jobs: 'test,test:integration,test:e2e' # Comma-separated list
|
|
74
74
|
```
|
|
@@ -610,7 +610,7 @@ release.yml and create the environment in **Settings** > **Environments** first
|
|
|
610
610
|
```yaml
|
|
611
611
|
uses: ./.github/workflows/quality.yml
|
|
612
612
|
with:
|
|
613
|
-
node_version: '22.
|
|
613
|
+
node_version: '22.23.3'
|
|
614
614
|
package_manager: 'bun' # or npm, yarn
|
|
615
615
|
```
|
|
616
616
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
22.
|
|
1
|
+
22.23.3
|
|
@@ -137,12 +137,6 @@
|
|
|
137
137
|
"id": "GHSA-j759-j44w-7fr8",
|
|
138
138
|
"package": "@xmldom/xmldom",
|
|
139
139
|
"reason": "XML node injection via unvalidated comment serialization. Transitive via expo > @expo/config-plugins > @expo/plist; only serializes developer-authored plist files at build/prebuild time, no runtime code path serializes attacker-controlled XML."
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"id": "GHSA-vfj7-8cjw-p6xm",
|
|
143
|
-
"cve": "CVE-2026-93687",
|
|
144
|
-
"package": "braces",
|
|
145
|
-
"reason": "Stack-exhaustion DoS (uncaught RangeError) via deeply nested brace patterns; no patched release exists. Keep this exclusion only if no runtime code path passes attacker-supplied glob or brace patterns to braces/micromatch (dev tooling expanding repo-owned globs is unaffected)."
|
|
146
140
|
}
|
|
147
141
|
]
|
|
148
142
|
}
|
|
@@ -90,7 +90,7 @@ jobs:
|
|
|
90
90
|
uses: actions/setup-node@v6
|
|
91
91
|
with:
|
|
92
92
|
package-manager-cache: false
|
|
93
|
-
node-version: ${{ vars.NODE_VERSION || '22.
|
|
93
|
+
node-version: ${{ vars.NODE_VERSION || '22.23.3' }}
|
|
94
94
|
|
|
95
95
|
- name: 🕵️ Prove review evidence, or a posted substitute, at this head
|
|
96
96
|
env:
|
|
@@ -40,26 +40,26 @@
|
|
|
40
40
|
},
|
|
41
41
|
"resolutions": {
|
|
42
42
|
"@isaacs/brace-expansion": "^5.0.1",
|
|
43
|
-
"axios": ">=1.
|
|
43
|
+
"axios": ">=1.20.0",
|
|
44
44
|
"esbuild": ">=0.28.1",
|
|
45
45
|
"handlebars": ">=4.7.9",
|
|
46
46
|
"lodash": ">=4.18.1",
|
|
47
47
|
"multer": ">=2.3.0",
|
|
48
|
-
"undici": "^6.28.
|
|
49
|
-
"vite": "
|
|
48
|
+
"undici": "^6.28.1",
|
|
49
|
+
"vite": "^8.3.2",
|
|
50
50
|
"ws": ">=8.21.0",
|
|
51
51
|
"form-data": ">=4.0.6",
|
|
52
52
|
"systeminformation": ">=5.31.7"
|
|
53
53
|
},
|
|
54
54
|
"overrides": {
|
|
55
55
|
"@isaacs/brace-expansion": "^5.0.1",
|
|
56
|
-
"axios": ">=1.
|
|
56
|
+
"axios": ">=1.20.0",
|
|
57
57
|
"esbuild": ">=0.28.1",
|
|
58
58
|
"handlebars": ">=4.7.9",
|
|
59
59
|
"lodash": ">=4.18.1",
|
|
60
60
|
"multer": ">=2.3.0",
|
|
61
|
-
"undici": "^6.28.
|
|
62
|
-
"vite": "^8.
|
|
61
|
+
"undici": "^6.28.1",
|
|
62
|
+
"vite": "^8.3.2",
|
|
63
63
|
"ws": ">=8.21.0",
|
|
64
64
|
"form-data": ">=4.0.6",
|
|
65
65
|
"systeminformation": ">=5.31.7"
|
|
@@ -68,12 +68,12 @@
|
|
|
68
68
|
"defaults": {
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@ast-grep/cli": "^0.40.4",
|
|
71
|
-
"@vitest/coverage-v8": "^4.1.
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
72
72
|
"eslint": "^9.39.0",
|
|
73
73
|
"husky": "^8.0.0",
|
|
74
74
|
"prettier": "^3.3.3",
|
|
75
75
|
"typescript": "^6.0.3",
|
|
76
|
-
"vitest": "^4.1.
|
|
76
|
+
"vitest": "^4.1.11"
|
|
77
77
|
},
|
|
78
78
|
"scripts": {
|
|
79
79
|
"build": "node scripts/lib/worktree-dependencies.mjs && tsc",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"yarn": "please-use-bun",
|
|
98
98
|
"pnpm": "please-use-bun",
|
|
99
99
|
"bun": "1.3.8",
|
|
100
|
-
"node": "22.
|
|
100
|
+
"node": "22.23.3"
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
"merge": {
|
package/ui/index.html
CHANGED
|
@@ -7525,7 +7525,7 @@
|
|
|
7525
7525
|
more: [
|
|
7526
7526
|
"Enforced configs: eslint.config.ts, tsconfig.json, vitest.config.ts, knip.json, commitlint, Prettier, ast-grep",
|
|
7527
7527
|
"Seeded once: ci.yml, claude*.yml, nightly improvement workflows, eslint.config.local.ts, thresholds files",
|
|
7528
|
-
"package.json governance: lint/test/typecheck scripts forced, security overrides forced, engines bun 1.3.8 / node 22.
|
|
7528
|
+
"package.json governance: lint/test/typecheck scripts forced, security overrides forced, engines bun 1.3.8 / node 22.23.3 defaulted",
|
|
7529
7529
|
],
|
|
7530
7530
|
},
|
|
7531
7531
|
{
|
|
@@ -9662,7 +9662,7 @@
|
|
|
9662
9662
|
key: "node_version",
|
|
9663
9663
|
label: "Node version",
|
|
9664
9664
|
desc: "",
|
|
9665
|
-
control: txt("22.
|
|
9665
|
+
control: txt("22.23.3", { mono: true }),
|
|
9666
9666
|
},
|
|
9667
9667
|
{
|
|
9668
9668
|
key: "verify_enforced",
|