instar 1.3.736 → 1.3.737

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.
Files changed (58) hide show
  1. package/dist/commands/devPreflight.d.ts +21 -0
  2. package/dist/commands/devPreflight.d.ts.map +1 -1
  3. package/dist/commands/devPreflight.js +36 -2
  4. package/dist/commands/devPreflight.js.map +1 -1
  5. package/dist/commands/server.d.ts.map +1 -1
  6. package/dist/commands/server.js +30 -0
  7. package/dist/commands/server.js.map +1 -1
  8. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  9. package/dist/config/ConfigDefaults.js +13 -0
  10. package/dist/config/ConfigDefaults.js.map +1 -1
  11. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  12. package/dist/core/PostUpdateMigrator.js +12 -0
  13. package/dist/core/PostUpdateMigrator.js.map +1 -1
  14. package/dist/core/SessionManager.d.ts.map +1 -1
  15. package/dist/core/SessionManager.js +12 -0
  16. package/dist/core/SessionManager.js.map +1 -1
  17. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  18. package/dist/core/WriteDomainRegistry.js +22 -0
  19. package/dist/core/WriteDomainRegistry.js.map +1 -1
  20. package/dist/core/hostSemaphoreCore.d.ts +115 -0
  21. package/dist/core/hostSemaphoreCore.d.ts.map +1 -0
  22. package/dist/core/hostSemaphoreCore.js +215 -0
  23. package/dist/core/hostSemaphoreCore.js.map +1 -0
  24. package/dist/core/hostSpawnSemaphore.d.ts +8 -9
  25. package/dist/core/hostSpawnSemaphore.d.ts.map +1 -1
  26. package/dist/core/hostSpawnSemaphore.js +48 -126
  27. package/dist/core/hostSpawnSemaphore.js.map +1 -1
  28. package/dist/core/hostTestRunnerSemaphore.d.ts +492 -0
  29. package/dist/core/hostTestRunnerSemaphore.d.ts.map +1 -0
  30. package/dist/core/hostTestRunnerSemaphore.js +1648 -0
  31. package/dist/core/hostTestRunnerSemaphore.js.map +1 -0
  32. package/dist/core/testRunnerRunClassifier.d.ts +128 -0
  33. package/dist/core/testRunnerRunClassifier.d.ts.map +1 -0
  34. package/dist/core/testRunnerRunClassifier.js +382 -0
  35. package/dist/core/testRunnerRunClassifier.js.map +1 -0
  36. package/dist/core/types.d.ts +21 -0
  37. package/dist/core/types.d.ts.map +1 -1
  38. package/dist/core/types.js.map +1 -1
  39. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  40. package/dist/monitoring/guardManifest.js +26 -0
  41. package/dist/monitoring/guardManifest.js.map +1 -1
  42. package/dist/scaffold/templates.d.ts.map +1 -1
  43. package/dist/scaffold/templates.js +7 -0
  44. package/dist/scaffold/templates.js.map +1 -1
  45. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  46. package/dist/server/CapabilityIndex.js +9 -0
  47. package/dist/server/CapabilityIndex.js.map +1 -1
  48. package/dist/server/routes.d.ts.map +1 -1
  49. package/dist/server/routes.js +150 -0
  50. package/dist/server/routes.js.map +1 -1
  51. package/package.json +1 -1
  52. package/scripts/lib/test-runner-selfdisable-patterns.mjs +326 -0
  53. package/scripts/pre-push-test-runner-selfdisable.mjs +81 -0
  54. package/src/data/builtin-manifest.json +64 -64
  55. package/src/scaffold/templates.ts +7 -0
  56. package/upgrades/1.3.737.md +140 -0
  57. package/upgrades/side-effects/test-runner-concurrency-bound.md +173 -0
  58. package/upgrades/1.3.736.md +0 -57
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostTestRunnerSemaphore.js","sourceRoot":"","sources":["../../src/core/hostTestRunnerSemaphore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * testRunnerRunClassifier — run-class differentiation + skip detection for the
3
+ * test-runner concurrency bound (spec §2.3/§2.5/§2.6).
4
+ *
5
+ * Pure logic (no holders/lock I/O beyond an injected holders read + `ps`
6
+ * ancestry walk) so the vitest config-eval helper and the globalSetup
7
+ * chokepoint consume ONE shared classifier — the two evaluation points must
8
+ * never disagree in the dangerous direction, and sharing the code is how
9
+ * (State-Not-Symbol: the globalSetup additionally verifies the RESOLVED
10
+ * config's live pool bound — a symbol never binds the two points).
11
+ *
12
+ * CLASSIFICATION IS CONSERVATIVE BY PINNED DESIGN (§2.3): vitest positionals
13
+ * are substring FILTERS, not exact selectors, so a run is targeted ONLY if
14
+ * every positional matches EXACTLY ONE file under filter expansion against
15
+ * the resolved include set, the union is ≤ K files, and NO pool-shaping or
16
+ * filter flags are present. Every ambiguity routes suite-class (safe
17
+ * superset) — version drift can only ever mis-route toward the STRICTER lane.
18
+ */
19
+ import { type TestLane, type TestRunClass } from './hostTestRunnerSemaphore.js';
20
+ export declare function findPoolShapingArgv(argv: string[]): string[];
21
+ /**
22
+ * Strip recognized pool-shaping flags (and their value token where the flag
23
+ * form takes one) from an argv array. Used by the nested CLI-proof clamp
24
+ * (§2.5) — the BELT alongside the config hard-set.
25
+ *
26
+ * VERSION NOTE (verified against vitest 2.1.9): mutating `process.argv` at
27
+ * config-eval is a NO-OP on this line — vitest's `cac` parser reads the CLI
28
+ * BEFORE the config module loads, so the pool flags are already resolved by
29
+ * the time this runs. The load-bearing CLI-proofness therefore comes from the
30
+ * config `clampConfigPool` hard-set of `poolOptions.*.{min,max}` (which outrank
31
+ * a CLI `--maxWorkers`, measured in §5), NOT from this strip. This is kept as
32
+ * the belt because (a) it is harmless, (b) it does work for children spawned
33
+ * through `guarded-vitest.mjs`, and (c) vitest arg-parse order is not a stable
34
+ * contract across versions. The residual it cannot reach — a CLI
35
+ * `--poolOptions.forks.maxForks=N` that same-keys the config clamp — is caught
36
+ * loud by the globalSetup `poolOverride` WARN (resolved pool > 4 → ledgered
37
+ * `nested-skip clamped:false, poolOverride:true`), never silently unbounded.
38
+ */
39
+ export declare function neutralizePoolShapingArgv(argv: string[]): {
40
+ argv: string[];
41
+ removed: string[];
42
+ };
43
+ export interface ArgvAnalysis {
44
+ subcommand: string | null;
45
+ positionals: string[];
46
+ poolShaping: string[];
47
+ /** A flag outside the safe allowlist (── conservative: disqualifies targeted). */
48
+ unknownFlags: string[];
49
+ explicitWatch: boolean;
50
+ isList: boolean;
51
+ }
52
+ /** Analyze a vitest argv (process.argv.slice(2) shape or full — both work). */
53
+ export declare function analyzeVitestArgv(argvIn: string[]): ArgvAnalysis;
54
+ /**
55
+ * Resolve the test files selected by simple include globs of the shape this
56
+ * repo uses (`tests/<dir>/**\/*.test.ts`). Deliberately minimal: a pattern we
57
+ * cannot interpret contributes NOTHING (and classification then routes
58
+ * suite-class via zero/ambiguous matches — the safe direction).
59
+ */
60
+ export declare function resolveIncludedTestFiles(includeGlobs: string[], rootDir: string): string[];
61
+ export interface TargetedClassification {
62
+ targeted: boolean;
63
+ /** MATCHED file count (the ledgered value — NEVER the argv count; §2.3). */
64
+ matchedCount: number;
65
+ reason: string;
66
+ }
67
+ /**
68
+ * The pinned conservative classifier (§2.3): targeted ONLY if every positional
69
+ * is a non-glob, non-directory filter matching EXACTLY ONE file in the
70
+ * resolved include set under vitest's substring filter semantics, and the
71
+ * union of matches is ≤ K. Anything ambiguous routes suite-class.
72
+ */
73
+ export declare function classifyTargetedRun(analysis: ArgvAnalysis, includedFiles: string[], rootDir: string, k?: number): TargetedClassification;
74
+ /**
75
+ * Compute the effective worker-pool bound from a resolved vitest config
76
+ * fragment. Reads maxWorkers AND every poolOptions max* — the MAX of the
77
+ * bounds that could apply; `fileParallelism:false` bounds file concurrency
78
+ * to 1. Unknown/absent values resolve to `null` (unbounded ⇒ suite-class).
79
+ */
80
+ export declare function resolvedPoolBound(config: {
81
+ maxWorkers?: number | string;
82
+ fileParallelism?: boolean;
83
+ poolOptions?: {
84
+ threads?: {
85
+ maxThreads?: number;
86
+ };
87
+ forks?: {
88
+ maxForks?: number;
89
+ };
90
+ vmThreads?: {
91
+ maxThreads?: number;
92
+ };
93
+ vmForks?: {
94
+ maxForks?: number;
95
+ };
96
+ };
97
+ }): number | null;
98
+ /** Clamp a config's pool bounds to ≤ maxAllowed (Math.min — a ceiling, never a floor). */
99
+ export declare function clampConfigPool<T extends Record<string, unknown>>(test: T, maxAllowed: number): T;
100
+ /** Hardened CI predicate: CI truthy-ONLY-as-'true'/'1' AND a positive signal. */
101
+ export declare function isCiEnvironment(env?: NodeJS.ProcessEnv): boolean;
102
+ /** Is this an agent-launched / non-interactive context (watch-loudness + CI-spoof heuristics)? */
103
+ export declare function isAgentContext(env?: NodeJS.ProcessEnv): boolean;
104
+ export declare function isKillSwitchOff(env?: NodeJS.ProcessEnv): boolean;
105
+ /** Run-class derivation (§2.6): never from user input. */
106
+ export declare function deriveRunClass(configName: string, env?: NodeJS.ProcessEnv, isTTY?: boolean): TestRunClass;
107
+ /** Walk the ancestor pid chain via `ps` (bounded depth). */
108
+ export declare function ancestryPids(startPid?: number, maxDepth?: number): number[];
109
+ export interface NestedCheckResult {
110
+ nested: boolean;
111
+ /** The sheltering ancestor's holder row (same-lane for the skip decision). */
112
+ shelteringPid: number | null;
113
+ shelteringSlotId: string | null;
114
+ /** True when an ancestor holds ANY-lane slot (drives the unconditional clamp). */
115
+ anyLaneAncestorHolder: boolean;
116
+ }
117
+ /**
118
+ * The lane-scoped ancestry+holders cross-check (§2.5). The env marker
119
+ * (INSTAR_TEST_SEMAPHORE_HELD) only NARROWS the check — a stale/foreign/leaked
120
+ * marker fails the cross-check and does NOT skip; a scrubbed-env child still
121
+ * skips via pure ancestry.
122
+ */
123
+ export declare function checkNestedUnderHolder(holdersRows: unknown[], laneChildWouldAcquire: TestLane, opts?: {
124
+ ancestors?: number[];
125
+ envMarker?: string | undefined;
126
+ pidAlive?: (pid: number) => boolean;
127
+ }): NestedCheckResult;
128
+ //# sourceMappingURL=testRunnerRunClassifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testRunnerRunClassifier.d.ts","sourceRoot":"","sources":["../../src/core/testRunnerRunClassifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,382 @@
1
+ /**
2
+ * testRunnerRunClassifier — run-class differentiation + skip detection for the
3
+ * test-runner concurrency bound (spec §2.3/§2.5/§2.6).
4
+ *
5
+ * Pure logic (no holders/lock I/O beyond an injected holders read + `ps`
6
+ * ancestry walk) so the vitest config-eval helper and the globalSetup
7
+ * chokepoint consume ONE shared classifier — the two evaluation points must
8
+ * never disagree in the dangerous direction, and sharing the code is how
9
+ * (State-Not-Symbol: the globalSetup additionally verifies the RESOLVED
10
+ * config's live pool bound — a symbol never binds the two points).
11
+ *
12
+ * CLASSIFICATION IS CONSERVATIVE BY PINNED DESIGN (§2.3): vitest positionals
13
+ * are substring FILTERS, not exact selectors, so a run is targeted ONLY if
14
+ * every positional matches EXACTLY ONE file under filter expansion against
15
+ * the resolved include set, the union is ≤ K files, and NO pool-shaping or
16
+ * filter flags are present. Every ambiguity routes suite-class (safe
17
+ * superset) — version drift can only ever mis-route toward the STRICTER lane.
18
+ */
19
+ import fs from 'node:fs';
20
+ import path from 'node:path';
21
+ import { execFileSync } from 'node:child_process';
22
+ import { TARGETED_FILE_LIMIT, classifyRow } from './hostTestRunnerSemaphore.js';
23
+ // ── Pool-shaping argv (§2.3 — disqualifies at BOTH evaluation points) ─────
24
+ /**
25
+ * Recognized pool-shaping flags (defense-in-depth; the resolved-state check is
26
+ * the guarantee). Kebab and camel variants both match; `=value` suffix too.
27
+ */
28
+ const POOL_SHAPING_FLAG_RE = /^--?(no-)?(max-?workers|min-?workers|pool|pool-?options(\..+)?|file-?parallelism|isolate)(=.*)?$/i;
29
+ export function findPoolShapingArgv(argv) {
30
+ return argv.filter((a) => POOL_SHAPING_FLAG_RE.test(a));
31
+ }
32
+ /**
33
+ * Strip recognized pool-shaping flags (and their value token where the flag
34
+ * form takes one) from an argv array. Used by the nested CLI-proof clamp
35
+ * (§2.5) — the BELT alongside the config hard-set.
36
+ *
37
+ * VERSION NOTE (verified against vitest 2.1.9): mutating `process.argv` at
38
+ * config-eval is a NO-OP on this line — vitest's `cac` parser reads the CLI
39
+ * BEFORE the config module loads, so the pool flags are already resolved by
40
+ * the time this runs. The load-bearing CLI-proofness therefore comes from the
41
+ * config `clampConfigPool` hard-set of `poolOptions.*.{min,max}` (which outrank
42
+ * a CLI `--maxWorkers`, measured in §5), NOT from this strip. This is kept as
43
+ * the belt because (a) it is harmless, (b) it does work for children spawned
44
+ * through `guarded-vitest.mjs`, and (c) vitest arg-parse order is not a stable
45
+ * contract across versions. The residual it cannot reach — a CLI
46
+ * `--poolOptions.forks.maxForks=N` that same-keys the config clamp — is caught
47
+ * loud by the globalSetup `poolOverride` WARN (resolved pool > 4 → ledgered
48
+ * `nested-skip clamped:false, poolOverride:true`), never silently unbounded.
49
+ */
50
+ export function neutralizePoolShapingArgv(argv) {
51
+ const out = [];
52
+ const removed = [];
53
+ for (let i = 0; i < argv.length; i++) {
54
+ const a = argv[i];
55
+ if (!POOL_SHAPING_FLAG_RE.test(a)) {
56
+ out.push(a);
57
+ continue;
58
+ }
59
+ removed.push(a);
60
+ if (!a.includes('=')) {
61
+ const next = argv[i + 1];
62
+ const isValueTaking = /^--?(max-?workers|min-?workers|pool|pool-?options)/i.test(a);
63
+ if (next !== undefined) {
64
+ if (isValueTaking && !next.startsWith('-')) {
65
+ removed.push(next);
66
+ i++;
67
+ }
68
+ else if (!isValueTaking && /^(true|false)$/i.test(next)) {
69
+ removed.push(next);
70
+ i++;
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return { argv: out, removed };
76
+ }
77
+ // ── Filter-argv extraction (conservative allowlist — §2.3) ────────────────
78
+ const SUBCOMMANDS = new Set(['run', 'watch', 'list', 'related', 'bench', 'dev', 'typecheck', 'init']);
79
+ /** Flags that do NOT disqualify a targeted classification (value-taking noted). */
80
+ const SAFE_FLAGS_WITH_VALUE = new Set(['--config', '--reporter', '--root', '--dir']);
81
+ const SAFE_BOOLEAN_FLAGS = new Set(['--run', '--silent', '--no-color', '--color', '--globals', '--passWithNoTests', '--pass-with-no-tests', '--allowOnly', '--allow-only']);
82
+ /** Analyze a vitest argv (process.argv.slice(2) shape or full — both work). */
83
+ export function analyzeVitestArgv(argvIn) {
84
+ // Trim node + script tokens when a full process.argv is passed.
85
+ let argv = argvIn;
86
+ const scriptIdx = argvIn.findIndex((a) => /vitest(\.mjs|\.js)?$/.test(a) || a.endsWith('/vitest'));
87
+ if (scriptIdx >= 0)
88
+ argv = argvIn.slice(scriptIdx + 1);
89
+ else if (argvIn[0] && /node(\.exe)?$/.test(argvIn[0]))
90
+ argv = argvIn.slice(2);
91
+ const analysis = {
92
+ subcommand: null,
93
+ positionals: [],
94
+ poolShaping: [],
95
+ unknownFlags: [],
96
+ explicitWatch: false,
97
+ isList: false,
98
+ };
99
+ let first = true;
100
+ for (let i = 0; i < argv.length; i++) {
101
+ const a = argv[i];
102
+ if (first && SUBCOMMANDS.has(a)) {
103
+ analysis.subcommand = a;
104
+ if (a === 'list')
105
+ analysis.isList = true;
106
+ if (a === 'watch')
107
+ analysis.explicitWatch = true;
108
+ first = false;
109
+ continue;
110
+ }
111
+ first = false;
112
+ if (a === '--watch' || a === '-w') {
113
+ analysis.explicitWatch = true;
114
+ continue;
115
+ }
116
+ if (POOL_SHAPING_FLAG_RE.test(a)) {
117
+ analysis.poolShaping.push(a);
118
+ continue;
119
+ }
120
+ if (a.startsWith('-')) {
121
+ const base = a.split('=')[0];
122
+ if (SAFE_FLAGS_WITH_VALUE.has(base)) {
123
+ if (!a.includes('='))
124
+ i++; // consume the value token
125
+ continue;
126
+ }
127
+ if (SAFE_BOOLEAN_FLAGS.has(base))
128
+ continue;
129
+ analysis.unknownFlags.push(a);
130
+ continue;
131
+ }
132
+ analysis.positionals.push(a);
133
+ }
134
+ return analysis;
135
+ }
136
+ // ── Include-set resolution + matched-file-set classification (§2.3) ───────
137
+ /**
138
+ * Resolve the test files selected by simple include globs of the shape this
139
+ * repo uses (`tests/<dir>/**\/*.test.ts`). Deliberately minimal: a pattern we
140
+ * cannot interpret contributes NOTHING (and classification then routes
141
+ * suite-class via zero/ambiguous matches — the safe direction).
142
+ */
143
+ export function resolveIncludedTestFiles(includeGlobs, rootDir) {
144
+ const out = [];
145
+ for (const glob of includeGlobs) {
146
+ const starIdx = glob.indexOf('*');
147
+ if (starIdx < 0) {
148
+ out.push(glob);
149
+ continue;
150
+ }
151
+ const baseDir = glob.slice(0, starIdx).replace(/\/$/, '');
152
+ const suffixMatch = glob.match(/\*\*\/\*(\.[a-z.]+)$/i) ?? glob.match(/\*(\.[a-z.]+)$/i);
153
+ const suffix = suffixMatch ? suffixMatch[1].replace('*', '') : '.test.ts';
154
+ const abs = path.resolve(rootDir, baseDir);
155
+ walkFiles(abs, (p) => {
156
+ if (p.endsWith(suffix) || p.endsWith('.test.ts'))
157
+ out.push(path.relative(rootDir, p));
158
+ });
159
+ }
160
+ return [...new Set(out)];
161
+ }
162
+ function walkFiles(dir, visit) {
163
+ let entries;
164
+ try {
165
+ entries = fs.readdirSync(dir, { withFileTypes: true });
166
+ }
167
+ catch {
168
+ // @silent-fallback-ok: unreadable dir contributes no files (→ suite-class).
169
+ return;
170
+ }
171
+ for (const e of entries) {
172
+ const p = path.join(dir, e.name);
173
+ if (e.isDirectory()) {
174
+ if (e.name === 'node_modules' || e.name.startsWith('.'))
175
+ continue;
176
+ walkFiles(p, visit);
177
+ }
178
+ else {
179
+ visit(p);
180
+ }
181
+ }
182
+ }
183
+ /**
184
+ * The pinned conservative classifier (§2.3): targeted ONLY if every positional
185
+ * is a non-glob, non-directory filter matching EXACTLY ONE file in the
186
+ * resolved include set under vitest's substring filter semantics, and the
187
+ * union of matches is ≤ K. Anything ambiguous routes suite-class.
188
+ */
189
+ export function classifyTargetedRun(analysis, includedFiles, rootDir, k = TARGETED_FILE_LIMIT) {
190
+ if (analysis.positionals.length === 0) {
191
+ return { targeted: false, matchedCount: 0, reason: 'no-positional-filters' };
192
+ }
193
+ if (analysis.poolShaping.length > 0) {
194
+ return { targeted: false, matchedCount: 0, reason: `pool-shaping-argv:${analysis.poolShaping[0]}` };
195
+ }
196
+ if (analysis.unknownFlags.length > 0) {
197
+ return { targeted: false, matchedCount: 0, reason: `filter-flag:${analysis.unknownFlags[0]}` };
198
+ }
199
+ const matchedUnion = new Set();
200
+ for (const positional of analysis.positionals) {
201
+ if (/[*?[\]{}]/.test(positional)) {
202
+ return { targeted: false, matchedCount: 0, reason: `glob-positional:${positional}` };
203
+ }
204
+ try {
205
+ if (fs.statSync(path.resolve(rootDir, positional)).isDirectory()) {
206
+ return { targeted: false, matchedCount: 0, reason: `directory-positional:${positional}` };
207
+ }
208
+ }
209
+ catch {
210
+ /* @silent-fallback-ok: not a resolvable path — still a legal substring filter */
211
+ }
212
+ // vitest positionals are substring FILTERS against the file path (§2.3).
213
+ const norm = positional.replace(/^\.\//, '');
214
+ const matches = includedFiles.filter((f) => f.includes(norm));
215
+ if (matches.length !== 1) {
216
+ return {
217
+ targeted: false,
218
+ matchedCount: matches.length,
219
+ reason: matches.length === 0 ? `no-match:${positional}` : `multi-match:${positional}(${matches.length})`,
220
+ };
221
+ }
222
+ matchedUnion.add(matches[0]);
223
+ }
224
+ if (matchedUnion.size > k) {
225
+ return { targeted: false, matchedCount: matchedUnion.size, reason: `matched-count-${matchedUnion.size}>K-${k}` };
226
+ }
227
+ return { targeted: true, matchedCount: matchedUnion.size, reason: 'exact-match-set' };
228
+ }
229
+ // ── Resolved-pool bound (the STATE check — §2.3) ──────────────────────────
230
+ /**
231
+ * Compute the effective worker-pool bound from a resolved vitest config
232
+ * fragment. Reads maxWorkers AND every poolOptions max* — the MAX of the
233
+ * bounds that could apply; `fileParallelism:false` bounds file concurrency
234
+ * to 1. Unknown/absent values resolve to `null` (unbounded ⇒ suite-class).
235
+ */
236
+ export function resolvedPoolBound(config) {
237
+ if (config.fileParallelism === false)
238
+ return 1;
239
+ const candidates = [];
240
+ const mw = typeof config.maxWorkers === 'string' ? Number(config.maxWorkers) : config.maxWorkers;
241
+ if (typeof mw === 'number' && Number.isFinite(mw) && mw >= 1)
242
+ candidates.push(mw);
243
+ const po = config.poolOptions;
244
+ for (const v of [po?.threads?.maxThreads, po?.forks?.maxForks, po?.vmThreads?.maxThreads, po?.vmForks?.maxForks]) {
245
+ if (typeof v === 'number' && Number.isFinite(v) && v >= 1)
246
+ candidates.push(v);
247
+ }
248
+ if (candidates.length === 0)
249
+ return null; // unbounded / unknown
250
+ return Math.max(...candidates);
251
+ }
252
+ /** Clamp a config's pool bounds to ≤ maxAllowed (Math.min — a ceiling, never a floor). */
253
+ export function clampConfigPool(test, maxAllowed) {
254
+ const t = test;
255
+ const clampMax = (v) => {
256
+ const n = typeof v === 'string' ? Number(v) : typeof v === 'number' ? v : NaN;
257
+ return Number.isFinite(n) && n >= 1 ? Math.min(n, maxAllowed) : maxAllowed;
258
+ };
259
+ // The MIN bound must be set EXPLICITLY to ≤ the clamped max, even when the
260
+ // config left it UNSET — otherwise vitest's Tinypool resolves the pool's
261
+ // `minThreads`/`minForks` default to (numCpus − 1), which on a ≥6-core host
262
+ // EXCEEDS our max of 4 and throws `minThreads and maxThreads must not
263
+ // conflict`, crashing the root at pool creation. That is a §1.1 false-BLOCK
264
+ // (the clamp meant to bound a run wedges it instead). Clamp min DOWN toward
265
+ // the max (default an unset/invalid min to 1); never raise a legitimately
266
+ // lower min — still a ceiling, never a floor.
267
+ const clampMin = (v, max) => {
268
+ const n = typeof v === 'string' ? Number(v) : typeof v === 'number' ? v : NaN;
269
+ return Number.isFinite(n) && n >= 1 ? Math.min(n, max) : 1;
270
+ };
271
+ const maxW = clampMax(t.maxWorkers);
272
+ t.maxWorkers = maxW;
273
+ t.minWorkers = clampMin(t.minWorkers, maxW);
274
+ const po = (t.poolOptions ?? {});
275
+ for (const [key, maxKey, minKey] of [
276
+ ['threads', 'maxThreads', 'minThreads'],
277
+ ['forks', 'maxForks', 'minForks'],
278
+ ['vmThreads', 'maxThreads', 'minThreads'],
279
+ ['vmForks', 'maxForks', 'minForks'],
280
+ ]) {
281
+ const sub = { ...(po[key] ?? {}) };
282
+ const m = clampMax(sub[maxKey]);
283
+ sub[maxKey] = m;
284
+ sub[minKey] = clampMin(sub[minKey], m);
285
+ po[key] = sub;
286
+ }
287
+ t.poolOptions = po;
288
+ return test;
289
+ }
290
+ // ── CI / off detection (§2.6, hardened) ───────────────────────────────────
291
+ /** Hardened CI predicate: CI truthy-ONLY-as-'true'/'1' AND a positive signal. */
292
+ export function isCiEnvironment(env = process.env) {
293
+ const ci = env['CI'];
294
+ if (ci !== 'true' && ci !== '1')
295
+ return false;
296
+ return env['GITHUB_ACTIONS'] !== undefined || env['RUNNER_OS'] !== undefined;
297
+ }
298
+ /** Is this an agent-launched / non-interactive context (watch-loudness + CI-spoof heuristics)? */
299
+ export function isAgentContext(env = process.env) {
300
+ return (env['TMUX'] !== undefined ||
301
+ env['INSTAR_SESSION_ID'] !== undefined ||
302
+ env['CLAUDE_CODE_SESSION_ID'] !== undefined ||
303
+ env['INSTAR_HOST_TEST_RUN_CLASS'] === 'background');
304
+ }
305
+ export function isKillSwitchOff(env = process.env) {
306
+ return (env['INSTAR_HOST_TEST_SEMAPHORE'] ?? '').toLowerCase() === 'off';
307
+ }
308
+ /** Run-class derivation (§2.6): never from user input. */
309
+ export function deriveRunClass(configName, env = process.env, isTTY = Boolean(process.stdout.isTTY)) {
310
+ if (env['INSTAR_HOST_TEST_RUN_CLASS'] === 'background')
311
+ return 'background';
312
+ if (configName === 'push')
313
+ return 'interactive';
314
+ // Safest reading (§1.1 bias): a TTY-attached run not marked background gets
315
+ // the longer, user-blocking budget — a human is waiting on it.
316
+ return isTTY ? 'interactive' : 'background';
317
+ }
318
+ // ── Re-entrancy: ancestry + holders cross-check (§2.5) ────────────────────
319
+ /** Walk the ancestor pid chain via `ps` (bounded depth). */
320
+ export function ancestryPids(startPid = process.pid, maxDepth = 25) {
321
+ const chain = [];
322
+ let pid = startPid;
323
+ for (let i = 0; i < maxDepth; i++) {
324
+ let out;
325
+ try {
326
+ // lint-allow-sync-spawn: bounded (1s) one-shot ppid probes, cold path only.
327
+ out = execFileSync('ps', ['-p', String(pid), '-o', 'ppid='], { timeout: 1000, encoding: 'utf-8' });
328
+ }
329
+ catch {
330
+ // @silent-fallback-ok: unresolvable ancestry fails toward NOT-nested —
331
+ // the run then acquires normally (bounded, never sheltered).
332
+ break;
333
+ }
334
+ const ppid = Number(out.trim());
335
+ if (!Number.isInteger(ppid) || ppid <= 1)
336
+ break;
337
+ chain.push(ppid);
338
+ pid = ppid;
339
+ }
340
+ return chain;
341
+ }
342
+ /**
343
+ * The lane-scoped ancestry+holders cross-check (§2.5). The env marker
344
+ * (INSTAR_TEST_SEMAPHORE_HELD) only NARROWS the check — a stale/foreign/leaked
345
+ * marker fails the cross-check and does NOT skip; a scrubbed-env child still
346
+ * skips via pure ancestry.
347
+ */
348
+ export function checkNestedUnderHolder(holdersRows, laneChildWouldAcquire, opts = {}) {
349
+ const ancestors = opts.ancestors ?? ancestryPids();
350
+ const ancestorSet = new Set(ancestors);
351
+ let markerPid = null;
352
+ if (opts.envMarker) {
353
+ const n = Number(opts.envMarker.split(':')[0]);
354
+ if (Number.isInteger(n) && n >= 2)
355
+ markerPid = n;
356
+ }
357
+ let sameLane = null;
358
+ let anyLane = false;
359
+ for (const r of holdersRows) {
360
+ if (classifyRow(r) !== 'held')
361
+ continue;
362
+ const row = r;
363
+ if (!ancestorSet.has(row.pid))
364
+ continue;
365
+ if (opts.pidAlive && !opts.pidAlive(row.pid))
366
+ continue;
367
+ if (markerPid !== null && row.pid !== markerPid) {
368
+ // Marker present but names a different pid: the marker only narrows —
369
+ // the ancestry facts still count this ancestor row.
370
+ }
371
+ anyLane = true;
372
+ if (row.lane === laneChildWouldAcquire && !sameLane)
373
+ sameLane = row;
374
+ }
375
+ return {
376
+ nested: sameLane !== null,
377
+ shelteringPid: sameLane?.pid ?? null,
378
+ shelteringSlotId: sameLane?.id ?? null,
379
+ anyLaneAncestorHolder: anyLane,
380
+ };
381
+ }
382
+ //# sourceMappingURL=testRunnerRunClassifier.js.map