@codyswann/lisa 4.81.9 → 4.82.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.
- package/dist/cli/lisa-test-run-jest-merge.d.ts +11 -0
- package/dist/cli/lisa-test-run-jest-merge.d.ts.map +1 -0
- package/dist/cli/lisa-test-run-jest-merge.js +152 -0
- package/dist/cli/lisa-test-run-jest-merge.js.map +1 -0
- package/dist/cli/lisa-test-run-shard.d.ts +123 -0
- package/dist/cli/lisa-test-run-shard.d.ts.map +1 -0
- package/dist/cli/lisa-test-run-shard.js +333 -0
- package/dist/cli/lisa-test-run-shard.js.map +1 -0
- package/dist/cli/lisa-test-run.d.ts.map +1 -1
- package/dist/cli/lisa-test-run.js +53 -1
- package/dist/cli/lisa-test-run.js.map +1 -1
- package/dist/configs/vitest/socket-safe-temp-base.d.ts +38 -0
- package/dist/configs/vitest/socket-safe-temp-base.d.ts.map +1 -0
- package/dist/configs/vitest/socket-safe-temp-base.js +65 -0
- package/dist/configs/vitest/socket-safe-temp-base.js.map +1 -0
- 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 +16 -1
- package/dist/core/upstream-evidence-manifest.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-cdk-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.devin-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-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/.devin-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-expo-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.devin-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-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.devin-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-nestjs-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.devin-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-openclaw-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.devin-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-phaser-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.devin-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-rails-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.devin-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-typescript-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.devin-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/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
- package/scripts/two-channel-couplings.json +1 -1
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/** Public entrypoint for birth-bound test supervision and scratch cleanup. */
|
|
3
|
+
import * as os from "node:os";
|
|
4
|
+
import * as path from "node:path";
|
|
5
|
+
import { env } from "node:process";
|
|
3
6
|
// @ts-expect-error -- the shipped JavaScript helper carries the same checked JSDoc signature
|
|
4
7
|
import { invokedAsScript } from "../../scripts/lib/invoked-as-script.mjs";
|
|
5
8
|
import { worktreeDependencyProblem } from "../../all/copy-overwrite/scripts/lib/worktree-dependencies.mjs";
|
|
6
9
|
import { resolveScratchRouteProfile, } from "../configs/vitest/scratch-route-profile.js";
|
|
10
|
+
import { socketSafeTempBase } from "../configs/vitest/socket-safe-temp-base.js";
|
|
11
|
+
import { mergeJestShards } from "./lisa-test-run-jest-merge.js";
|
|
12
|
+
import { gatherVitestBlobs, readShardReceipts, SHARD_ENV_NAMES, shardArgv, shardPlanFrom, shardRunnerOf, vitestMergeArgv, writeShardReceipt, } from "./lisa-test-run-shard.js";
|
|
7
13
|
import { superviseTestRun, } from "./lisa-test-run-supervisor.js";
|
|
8
14
|
export { assertTestRunPlatform } from "./lisa-test-run-process-group.js";
|
|
9
15
|
/** Dedicated operational-failure exit status. */
|
|
@@ -43,6 +49,48 @@ function invocationOrExit() {
|
|
|
43
49
|
return undefined;
|
|
44
50
|
}
|
|
45
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Apply the shard plan `quality.yml` put in the environment, if any.
|
|
54
|
+
*
|
|
55
|
+
* The variables are removed before the payload starts. Lisa's own suites spawn
|
|
56
|
+
* `lisa-test-run` as a fixture, and an inherited shard plan would make every
|
|
57
|
+
* one of those nested runs shard itself.
|
|
58
|
+
* @param argv - Payload argv as parsed
|
|
59
|
+
* @returns The argv to supervise, or an exit code when no test run is needed
|
|
60
|
+
*/
|
|
61
|
+
function applyShardPlan(argv) {
|
|
62
|
+
const plan = shardPlanFrom(env);
|
|
63
|
+
for (const name of SHARD_ENV_NAMES)
|
|
64
|
+
delete env[name];
|
|
65
|
+
if (plan.kind === "none")
|
|
66
|
+
return argv;
|
|
67
|
+
const runner = shardRunnerOf(argv);
|
|
68
|
+
if (plan.kind === "shard") {
|
|
69
|
+
writeShardReceipt(plan, runner, argv);
|
|
70
|
+
return shardArgv(argv, runner, plan);
|
|
71
|
+
}
|
|
72
|
+
const receipts = readShardReceipts(plan.directory, plan.total);
|
|
73
|
+
if (receipts[0]?.runner !== runner) {
|
|
74
|
+
throw new Error(`the shards ran ${receipts[0]?.runner}, but this merge would run ${runner}.`);
|
|
75
|
+
}
|
|
76
|
+
if (runner === "jest")
|
|
77
|
+
return mergeJestShards(argv, receipts);
|
|
78
|
+
const blobs = path.join(plan.directory, ".lisa-vitest-blobs");
|
|
79
|
+
gatherVitestBlobs(receipts, blobs);
|
|
80
|
+
return vitestMergeArgv(argv, blobs);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Move the run off a temp base too long for native Unix socket fixtures,
|
|
84
|
+
* before any scratch authority is pinned to it.
|
|
85
|
+
*/
|
|
86
|
+
function selectSocketSafeTempBase() {
|
|
87
|
+
const current = os.tmpdir();
|
|
88
|
+
const replacement = socketSafeTempBase(current);
|
|
89
|
+
if (replacement === undefined)
|
|
90
|
+
return;
|
|
91
|
+
env.TMPDIR = replacement;
|
|
92
|
+
process.stderr.write(`lisa-test-run: TMPDIR ${current} is too long for native Unix socket fixtures; using ${replacement}.\n`);
|
|
93
|
+
}
|
|
46
94
|
/** Run the public CLI and preserve the child result only after cleanup. */
|
|
47
95
|
async function main() {
|
|
48
96
|
const invocation = invocationOrExit();
|
|
@@ -52,7 +100,11 @@ async function main() {
|
|
|
52
100
|
const dependencyProblem = worktreeDependencyProblem();
|
|
53
101
|
if (dependencyProblem)
|
|
54
102
|
throw new Error(dependencyProblem);
|
|
55
|
-
|
|
103
|
+
selectSocketSafeTempBase();
|
|
104
|
+
const payload = applyShardPlan(invocation.argv);
|
|
105
|
+
if (typeof payload === "number")
|
|
106
|
+
process.exit(payload);
|
|
107
|
+
const outcome = await superviseTestRun(payload, invocation.profile, invocation.adapter);
|
|
56
108
|
if (outcome.signal !== null) {
|
|
57
109
|
process.removeAllListeners(outcome.signal);
|
|
58
110
|
process.kill(process.pid, outcome.signal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-test-run.js","sourceRoot":"","sources":["../../src/cli/lisa-test-run.ts"],"names":[],"mappings":";AACA,8EAA8E;AAC9E,6FAA6F;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAE3G,OAAO,EACL,0BAA0B,GAE3B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,iDAAiD;AACjD,MAAM,wBAAwB,GAAG,CAAC,CAAC;AASnC;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAuB;IAC1C,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;QACvB,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QACrB,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;QACvB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAChB,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EACrB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAA0B;KAC7C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO;IACrC,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;QACtD,IAAI,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"lisa-test-run.js","sourceRoot":"","sources":["../../src/cli/lisa-test-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pick a temp base short enough for supervised native Unix socket fixtures.
|
|
3
|
+
*
|
|
4
|
+
* macOS gives each user a TMPDIR under `/var/folders/…` of about 48 bytes.
|
|
5
|
+
* Supervised fixtures bind sockets at
|
|
6
|
+
* `<base>/lisa-scratch/run-<pid>-<epoch>-<suffix>/u-XXXXXX/<socket>`, and a
|
|
7
|
+
* Unix socket path over 103 bytes cannot be bound, so on a stock Mac those
|
|
8
|
+
* tests failed before asserting anything unless the developer happened to
|
|
9
|
+
* export a short TMPDIR. Linux CI runners use `/tmp` and never reach this.
|
|
10
|
+
*
|
|
11
|
+
* Only that stock macOS default is replaced. Any other TMPDIR was chosen on
|
|
12
|
+
* purpose (a nested run's scratch root, an operator's override) and is kept
|
|
13
|
+
* even when long; the fixture then reports the length itself.
|
|
14
|
+
* @module configs/vitest/socket-safe-temp-base
|
|
15
|
+
*/
|
|
16
|
+
import * as fs from "node:fs";
|
|
17
|
+
/** Longest Unix socket path every supported platform can bind. */
|
|
18
|
+
export declare const UNIX_SOCKET_PATH_LIMIT = 103;
|
|
19
|
+
/** Longest temp base that still fits a fixture socket. */
|
|
20
|
+
export declare const MAX_SOCKET_SAFE_TEMP_BASE_BYTES: number;
|
|
21
|
+
/** Filesystem seam for tests. */
|
|
22
|
+
export interface TempBaseFs {
|
|
23
|
+
readonly realpathSync: (target: string) => string;
|
|
24
|
+
readonly lstatSync: (target: string) => fs.Stats;
|
|
25
|
+
readonly accessSync: (target: string, mode: number) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A short, real, writable replacement for macOS's stock temp dir when it is
|
|
29
|
+
* too long, else undefined (keep `current`). Never returns a symlink:
|
|
30
|
+
* the scratch namespace refuses a symlinked base, so `/tmp` is resolved to its
|
|
31
|
+
* physical directory (`/private/tmp` on macOS) first.
|
|
32
|
+
* @param current - The temp base the run would otherwise use
|
|
33
|
+
* @param platform - Platform to decide for
|
|
34
|
+
* @param seam - Filesystem seam
|
|
35
|
+
* @returns Replacement base, or undefined to keep `current`
|
|
36
|
+
*/
|
|
37
|
+
export declare function socketSafeTempBase(current: string, platform?: NodeJS.Platform, seam?: TempBaseFs): string | undefined;
|
|
38
|
+
//# sourceMappingURL=socket-safe-temp-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket-safe-temp-base.d.ts","sourceRoot":"","sources":["../../../src/configs/vitest/socket-safe-temp-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAU1C,0DAA0D;AAC1D,eAAO,MAAM,+BAA+B,QACG,CAAC;AAKhD,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAQD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,GAAE,UAAoB,GACzB,MAAM,GAAG,SAAS,CAkBpB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pick a temp base short enough for supervised native Unix socket fixtures.
|
|
3
|
+
*
|
|
4
|
+
* macOS gives each user a TMPDIR under `/var/folders/…` of about 48 bytes.
|
|
5
|
+
* Supervised fixtures bind sockets at
|
|
6
|
+
* `<base>/lisa-scratch/run-<pid>-<epoch>-<suffix>/u-XXXXXX/<socket>`, and a
|
|
7
|
+
* Unix socket path over 103 bytes cannot be bound, so on a stock Mac those
|
|
8
|
+
* tests failed before asserting anything unless the developer happened to
|
|
9
|
+
* export a short TMPDIR. Linux CI runners use `/tmp` and never reach this.
|
|
10
|
+
*
|
|
11
|
+
* Only that stock macOS default is replaced. Any other TMPDIR was chosen on
|
|
12
|
+
* purpose (a nested run's scratch root, an operator's override) and is kept
|
|
13
|
+
* even when long; the fixture then reports the length itself.
|
|
14
|
+
* @module configs/vitest/socket-safe-temp-base
|
|
15
|
+
*/
|
|
16
|
+
import * as fs from "node:fs";
|
|
17
|
+
import * as path from "node:path";
|
|
18
|
+
/** Longest Unix socket path every supported platform can bind. */
|
|
19
|
+
export const UNIX_SOCKET_PATH_LIMIT = 103;
|
|
20
|
+
/**
|
|
21
|
+
* Bytes a supervised fixture adds below the base, at the longest pid (7
|
|
22
|
+
* digits), a 13-digit epoch and the longest socket name in use.
|
|
23
|
+
*/
|
|
24
|
+
const FIXTURE_SUFFIX_BYTES = Buffer.byteLength("/lisa-scratch/run-4194304-1792777528381-b0e12b9d/u-XXXXXX/hook-reader.sock");
|
|
25
|
+
/** Longest temp base that still fits a fixture socket. */
|
|
26
|
+
export const MAX_SOCKET_SAFE_TEMP_BASE_BYTES = UNIX_SOCKET_PATH_LIMIT - FIXTURE_SUFFIX_BYTES;
|
|
27
|
+
/** macOS's per-user default temp dir (`confstr(_CS_DARWIN_USER_TEMP_DIR)`). */
|
|
28
|
+
const DARWIN_DEFAULT_TEMP = /^\/(?:private\/)?var\/folders\//;
|
|
29
|
+
const NODE_FS = {
|
|
30
|
+
realpathSync: target => fs.realpathSync(target),
|
|
31
|
+
lstatSync: target => fs.lstatSync(target),
|
|
32
|
+
accessSync: (target, mode) => fs.accessSync(target, mode),
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* A short, real, writable replacement for macOS's stock temp dir when it is
|
|
36
|
+
* too long, else undefined (keep `current`). Never returns a symlink:
|
|
37
|
+
* the scratch namespace refuses a symlinked base, so `/tmp` is resolved to its
|
|
38
|
+
* physical directory (`/private/tmp` on macOS) first.
|
|
39
|
+
* @param current - The temp base the run would otherwise use
|
|
40
|
+
* @param platform - Platform to decide for
|
|
41
|
+
* @param seam - Filesystem seam
|
|
42
|
+
* @returns Replacement base, or undefined to keep `current`
|
|
43
|
+
*/
|
|
44
|
+
export function socketSafeTempBase(current, platform = process.platform, seam = NODE_FS) {
|
|
45
|
+
if (platform !== "darwin" || !DARWIN_DEFAULT_TEMP.test(current)) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
if (Buffer.byteLength(current) <= MAX_SOCKET_SAFE_TEMP_BASE_BYTES) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const candidate = seam.realpathSync(`${path.sep}tmp`);
|
|
53
|
+
const stat = seam.lstatSync(candidate);
|
|
54
|
+
if (stat.isSymbolicLink() || !stat.isDirectory())
|
|
55
|
+
return undefined;
|
|
56
|
+
seam.accessSync(candidate, fs.constants.W_OK);
|
|
57
|
+
return Buffer.byteLength(candidate) <= MAX_SOCKET_SAFE_TEMP_BASE_BYTES
|
|
58
|
+
? candidate
|
|
59
|
+
: undefined;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=socket-safe-temp-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket-safe-temp-base.js","sourceRoot":"","sources":["../../../src/configs/vitest/socket-safe-temp-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAC5C,4EAA4E,CAC7E,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAC1C,sBAAsB,GAAG,oBAAoB,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAS9D,MAAM,OAAO,GAAe;IAC1B,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAmB,OAAO;IAE1B,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+BAA+B,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,SAAS,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,+BAA+B;YACpE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -41,9 +41,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
|
|
|
41
41
|
}),
|
|
42
42
|
d1b26caeaf65950e3b60ff41964d234c032c50470072e7643310b1f6722e34e6: Object.freeze({
|
|
43
43
|
contractVersion: "1.9.0",
|
|
44
|
-
packageVersions: Object.freeze(["4.
|
|
44
|
+
packageVersions: Object.freeze(["4.82.1"]),
|
|
45
45
|
provenances: Object.freeze([
|
|
46
|
-
"workspace package @codyswann/lisa@4.
|
|
46
|
+
"workspace package @codyswann/lisa@4.82.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,CAo4FpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,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,CAo4FpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAugUjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -1381,7 +1381,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
1381
1381
|
"scripts/run-artifact-checks.mjs": "2992d673bb3c1ebfa50bda9ed323b8410afdab2ffc925eee6eab19fcab312a90",
|
|
1382
1382
|
"scripts/setup-deploy-key.sh": "2bed19346810b7af18a5225fd463c4d553a7bcc7b2f11a21bd47b93e6b5e1719",
|
|
1383
1383
|
"scripts/test-intent-routing.sh": "97b9dc86cbd805df8a7fdb8c99ffab9b8c5e751ba2e84c05420b2a124f80635d",
|
|
1384
|
-
"scripts/two-channel-couplings.json": "
|
|
1384
|
+
"scripts/two-channel-couplings.json": "e515abdd6d812feba4c2144b17193e8dec436a46e581b7424d572aa31dcaf70a",
|
|
1385
1385
|
"scripts/update-node-version.ts": "9d37599ef73d5d624751f862cda330a867f6774392c1ab045b4fc885132582e4",
|
|
1386
1386
|
"scripts/update-test-skill-paths.mjs": "e26a3ac716c33013e22bf5223a58457452f5af2038218a0e3a51c244eab5ddc9",
|
|
1387
1387
|
"scripts/verify-health-agentic-built.mjs": "4b0d20b2c94390ff6f5af881fc50c5c225215a282891db0b3e3d84a7e6455367",
|
|
@@ -8858,9 +8858,11 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8858
8858
|
"src/cli/learnings-overflow-cmd.ts": true,
|
|
8859
8859
|
"src/cli/lisa-test-run-bootstrap.ts": true,
|
|
8860
8860
|
"src/cli/lisa-test-run-ipc.ts": true,
|
|
8861
|
+
"src/cli/lisa-test-run-jest-merge.ts": true,
|
|
8861
8862
|
"src/cli/lisa-test-run-process-group.ts": true,
|
|
8862
8863
|
"src/cli/lisa-test-run-reaper.ts": true,
|
|
8863
8864
|
"src/cli/lisa-test-run-runtime.ts": true,
|
|
8865
|
+
"src/cli/lisa-test-run-shard.ts": true,
|
|
8864
8866
|
"src/cli/lisa-test-run-supervisor.ts": true,
|
|
8865
8867
|
"src/cli/lisa-test-run.ts": true,
|
|
8866
8868
|
"src/cli/merge-learnings-cmd.ts": true,
|
|
@@ -9014,6 +9016,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9014
9016
|
"src/configs/vitest/scratch-sweep.ts": true,
|
|
9015
9017
|
"src/configs/vitest/scratch-tmpdir-trust.ts": true,
|
|
9016
9018
|
"src/configs/vitest/scratch.ts": true,
|
|
9019
|
+
"src/configs/vitest/socket-safe-temp-base.ts": true,
|
|
9017
9020
|
"src/configs/vitest/synthesis-scratch-reclaim.ts": true,
|
|
9018
9021
|
"src/configs/vitest/typescript.ts": true,
|
|
9019
9022
|
"src/configs/worktrees.ts": true,
|
|
@@ -9603,7 +9606,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9603
9606
|
"tests/integration/jest-expo-haste-pruning.test.ts": true,
|
|
9604
9607
|
"tests/integration/jira-shell-auth-destinations.test.ts": true,
|
|
9605
9608
|
"tests/integration/job-names-name-properties.test.ts": true,
|
|
9609
|
+
"tests/integration/lisa-test-run-jest-shards.test.ts": true,
|
|
9606
9610
|
"tests/integration/lisa-test-run-packed-bin.test.ts": true,
|
|
9611
|
+
"tests/integration/lisa-test-run-shard-cli.test.ts": true,
|
|
9607
9612
|
"tests/integration/lisa.test.ts": true,
|
|
9608
9613
|
"tests/integration/maestro-build-reuse.test.ts": true,
|
|
9609
9614
|
"tests/integration/maestro-caller-template.test.ts": true,
|
|
@@ -9703,6 +9708,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9703
9708
|
"tests/integration/quality-shared-web-export.test.ts": true,
|
|
9704
9709
|
"tests/integration/quality-ungated-jobs.test.ts": true,
|
|
9705
9710
|
"tests/integration/quality-unit-progress.test.ts": true,
|
|
9711
|
+
"tests/integration/quality-unit-test-shards-aggregate.test.ts": true,
|
|
9712
|
+
"tests/integration/quality-unit-test-shards-env-scope.test.ts": true,
|
|
9713
|
+
"tests/integration/quality-unit-test-shards-fixture.ts": true,
|
|
9714
|
+
"tests/integration/quality-unit-test-shards.test.ts": true,
|
|
9706
9715
|
"tests/integration/quality-verification-coverage-collapse.test.ts": true,
|
|
9707
9716
|
"tests/integration/quality-workflow-size.test.ts": true,
|
|
9708
9717
|
"tests/integration/quality-workflow.test.ts": true,
|
|
@@ -9744,6 +9753,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9744
9753
|
"tests/integration/standards-proof-tamper.test.ts": true,
|
|
9745
9754
|
"tests/integration/standards-proof-timeout.test.ts": true,
|
|
9746
9755
|
"tests/integration/standards-proof-typescript.test.ts": true,
|
|
9756
|
+
"tests/integration/support/bun-free-node-bin.ts": true,
|
|
9747
9757
|
"tests/integration/support/cdk-ci-role-selection-harness.ts": true,
|
|
9748
9758
|
"tests/integration/support/maestro-android-retry-fixtures.ts": true,
|
|
9749
9759
|
"tests/integration/support/maestro-android-retry-harness.ts": true,
|
|
@@ -9777,6 +9787,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9777
9787
|
"tests/platform/process-tree-runner.test.mjs": true,
|
|
9778
9788
|
"tests/platform/windows-missing-handles.ps1": true,
|
|
9779
9789
|
"tests/platform/windows-process-fixture.mjs": true,
|
|
9790
|
+
"tests/support/ci-runtime.ts": true,
|
|
9780
9791
|
"tests/support/codex-compatibility-candidate.mjs": true,
|
|
9781
9792
|
"tests/support/codex-compatibility-proof.mjs": true,
|
|
9782
9793
|
"tests/support/codex-compatibility-seed.mjs": true,
|
|
@@ -9900,6 +9911,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
9900
9911
|
"tests/unit/cli/learnings-overflow-cmd.test.ts": true,
|
|
9901
9912
|
"tests/unit/cli/lisa-test-run-process-group.test.ts": true,
|
|
9902
9913
|
"tests/unit/cli/lisa-test-run-protocol-state.test.ts": true,
|
|
9914
|
+
"tests/unit/cli/lisa-test-run-shard.test.ts": true,
|
|
9903
9915
|
"tests/unit/cli/merge-learnings-cmd.test.ts": true,
|
|
9904
9916
|
"tests/unit/cli/override-load-diagnostic.test.ts": true,
|
|
9905
9917
|
"tests/unit/cli/parse-refresh-templates.test.ts": true,
|
|
@@ -10093,6 +10105,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
10093
10105
|
"tests/unit/config/scratch-tmpdir-trust.test.ts": true,
|
|
10094
10106
|
"tests/unit/config/security-pin-floors.test.ts": true,
|
|
10095
10107
|
"tests/unit/config/shipped-mjs-roster.test.ts": true,
|
|
10108
|
+
"tests/unit/config/socket-safe-temp-base.test.ts": true,
|
|
10096
10109
|
"tests/unit/config/sonar-coverage-handoff.test.ts": true,
|
|
10097
10110
|
"tests/unit/config/stale-deploy-guard.test.ts": true,
|
|
10098
10111
|
"tests/unit/config/synthesis-scratch-reclaim.test.ts": true,
|
|
@@ -10133,6 +10146,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
10133
10146
|
"tests/unit/core/apply-receipt-deletion-record.test.ts": true,
|
|
10134
10147
|
"tests/unit/core/bootstrap-environment.test.ts": true,
|
|
10135
10148
|
"tests/unit/core/cdk-preset-adoption.test.ts": true,
|
|
10149
|
+
"tests/unit/core/ci-runtime-deferral.test.ts": true,
|
|
10136
10150
|
"tests/unit/core/deletion-basis.test.ts": true,
|
|
10137
10151
|
"tests/unit/core/deploy-release-dependence.test.ts": true,
|
|
10138
10152
|
"tests/unit/core/effectiveness-store.test.ts": true,
|
|
@@ -10246,6 +10260,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
10246
10260
|
"tests/unit/devin/plugin-installer.test.ts": true,
|
|
10247
10261
|
"tests/unit/docs/onboarding-walkthrough.test.ts": true,
|
|
10248
10262
|
"tests/unit/fixtures/shared-runtime-native-deadline.test.ts": true,
|
|
10263
|
+
"tests/unit/fixtures/shared-runtime-patched-floors.test.ts": true,
|
|
10249
10264
|
"tests/unit/governance-contracts.test.ts": true,
|
|
10250
10265
|
"tests/unit/health/agentic.test.ts": true,
|
|
10251
10266
|
"tests/unit/health/consumer.test.ts": true,
|