@codyswann/lisa 4.42.1 → 4.42.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/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 +3 -1
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +5 -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/measure-tmpdir-growth.mjs +24 -3
package/package.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"test:unit": "$npm_execpath run lisa-test-run -- --adapter vitest -- vitest run --exclude='**/integration/**' --exclude='**/*.integration.*'",
|
|
13
13
|
"test:cov": "$npm_execpath run lisa-test-run -- --adapter vitest -- vitest run --coverage",
|
|
14
14
|
"test:cov:unit": "LISA_COVERAGE_SCOPE=unit $npm_execpath run lisa-test-run -- --adapter vitest -- vitest run --coverage --exclude='**/integration/**' --exclude='**/*.integration.*'",
|
|
15
|
+
"test:cov:unit:push": "LISA_COVERAGE_SCOPE=unit $npm_execpath run lisa-test-run -- --adapter vitest -- vitest run --coverage --exclude='**/integration/**' --exclude='**/*.integration.*' --exclude='**/measure-tmpdir-growth-performance.test.ts'",
|
|
15
16
|
"pretest:mutation": "bun run build",
|
|
16
17
|
"test:mutation": "LISA_TEST_SCRATCH_PREFIXES='[\"lisa-mutation-\",\"worker-\"]' $npm_execpath run lisa-test-run -- --adapter direct -- node scripts/lisa-mutation.mjs",
|
|
17
18
|
"test:mutation:full": "LISA_TEST_SCRATCH_PREFIXES='[\"lisa-mutation-\",\"worker-\"]' $npm_execpath run lisa-test-run -- --adapter direct -- node scripts/lisa-mutation.mjs --all",
|
|
@@ -171,7 +172,7 @@
|
|
|
171
172
|
"zod-validation-error": "^4.0.0"
|
|
172
173
|
},
|
|
173
174
|
"name": "@codyswann/lisa",
|
|
174
|
-
"version": "4.42.
|
|
175
|
+
"version": "4.42.2",
|
|
175
176
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
176
177
|
"main": "dist/index.js",
|
|
177
178
|
"exports": {
|
|
@@ -319,7 +320,7 @@
|
|
|
319
320
|
"test": "tests"
|
|
320
321
|
},
|
|
321
322
|
"types": "./dist/index.d.ts",
|
|
322
|
-
"lisaReleaseCommit": "
|
|
323
|
-
"gitHead": "
|
|
324
|
-
"lisaReleaseTag": "v4.42.
|
|
323
|
+
"lisaReleaseCommit": "5a9433a885faf4ff874c22eac5653a25f063bcd8",
|
|
324
|
+
"gitHead": "5a9433a885faf4ff874c22eac5653a25f063bcd8",
|
|
325
|
+
"lisaReleaseTag": "v4.42.2"
|
|
325
326
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.42.
|
|
3
|
+
"version": "4.42.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.42.
|
|
3
|
+
"version": "4.42.2",
|
|
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.42.
|
|
3
|
+
"version": "4.42.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.42.
|
|
3
|
+
"version": "4.42.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.42.
|
|
3
|
+
"version": "4.42.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"
|
|
@@ -93,6 +93,24 @@ function prefixCounts(names) {
|
|
|
93
93
|
);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Resolve the effective direct-entry cap for one scan.
|
|
98
|
+
*
|
|
99
|
+
* Tests drive the over-cap refusal branch with a small injected cap so the
|
|
100
|
+
* fixture is hundreds of entries rather than {@link MAX_TMPDIR_ENTRIES} of
|
|
101
|
+
* them. The clamp makes the seam one-directional: an injected cap can only
|
|
102
|
+
* ever LOWER the bound, so no caller can widen the production limit through
|
|
103
|
+
* it, and the shipped CLI entrypoint — which passes no probes — is unchanged.
|
|
104
|
+
* @param {number} [requested] Injected cap, when a caller supplies one
|
|
105
|
+
* @returns {number} Effective cap, never above the production bound
|
|
106
|
+
*/
|
|
107
|
+
export function boundedEntryCap(requested) {
|
|
108
|
+
if (requested === undefined) return MAX_TMPDIR_ENTRIES;
|
|
109
|
+
if (!Number.isSafeInteger(requested) || requested < 1)
|
|
110
|
+
throw new Error("Injected temp entry cap must be a positive integer");
|
|
111
|
+
return Math.min(requested, MAX_TMPDIR_ENTRIES);
|
|
112
|
+
}
|
|
113
|
+
|
|
96
114
|
/** Read one platform directory through streaming opendir iteration. */
|
|
97
115
|
function scanDirectNames(root, limit) {
|
|
98
116
|
const directory = fs.opendirSync(root);
|
|
@@ -458,7 +476,7 @@ function inspectNamespace(root, probes = {}) {
|
|
|
458
476
|
* Build a complete snapshot of one authoritative temp root.
|
|
459
477
|
* @param {string} logicalRoot Root as supplied by the operator
|
|
460
478
|
* @param {number} nowMs Observation epoch milliseconds
|
|
461
|
-
* @param {{isProcessAlive?: (pid: number) => boolean, processBirthFingerprintSnapshot?: (pids: readonly number[]) => ReadonlyMap<number, string | undefined>}} [probes] Bounded process-authority probes
|
|
479
|
+
* @param {{isProcessAlive?: (pid: number) => boolean, maxEntries?: number, processBirthFingerprintSnapshot?: (pids: readonly number[]) => ReadonlyMap<number, string | undefined>}} [probes] Bounded process-authority probes and an optional lowered entry cap
|
|
462
480
|
* @returns {object} Complete snapshot
|
|
463
481
|
*/
|
|
464
482
|
export function buildTmpdirSnapshot(
|
|
@@ -474,7 +492,10 @@ export function buildTmpdirSnapshot(
|
|
|
474
492
|
throw new Error("Observation time must be a non-negative integer");
|
|
475
493
|
}
|
|
476
494
|
const canonicalRoot = fs.realpathSync(logicalRoot);
|
|
477
|
-
const names = scanDirectNames(
|
|
495
|
+
const names = scanDirectNames(
|
|
496
|
+
canonicalRoot,
|
|
497
|
+
boundedEntryCap(probes.maxEntries)
|
|
498
|
+
);
|
|
478
499
|
return {
|
|
479
500
|
schemaVersion: TMPDIR_GROWTH_SCHEMA_VERSION,
|
|
480
501
|
groupingVersion: TMPDIR_GROUPING_VERSION,
|
|
@@ -891,7 +912,7 @@ function writeArtifact(artifactPath, artifact) {
|
|
|
891
912
|
/**
|
|
892
913
|
* Run one CLI measurement, returning its documented exit status.
|
|
893
914
|
* @param {readonly string[]} argv CLI arguments
|
|
894
|
-
* @param {{isProcessAlive?: (pid: number) => boolean, processBirthFingerprintSnapshot?: (pids: readonly number[]) => ReadonlyMap<number, string | undefined>}} [probes] Internal process-authority probes
|
|
915
|
+
* @param {{isProcessAlive?: (pid: number) => boolean, maxEntries?: number, processBirthFingerprintSnapshot?: (pids: readonly number[]) => ReadonlyMap<number, string | undefined>}} [probes] Internal process-authority probes and an optional lowered entry cap
|
|
895
916
|
* @returns {number} Documented process exit status
|
|
896
917
|
*/
|
|
897
918
|
export function runTmpdirGrowth(argv = process.argv.slice(2), probes = {}) {
|