@zelari/core 2.37.3 → 2.39.0
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 +1 -1
- package/dist/core/AgentHarness.d.ts.map +1 -1
- package/dist/core/AgentHarness.js +4 -1
- package/dist/core/AgentHarness.js.map +1 -1
- package/dist/core/requestSnapshot.d.ts +19 -4
- package/dist/core/requestSnapshot.d.ts.map +1 -1
- package/dist/core/requestSnapshot.js +103 -30
- package/dist/core/requestSnapshot.js.map +1 -1
- package/dist/kraken/graph.d.ts +4 -1
- package/dist/kraken/graph.d.ts.map +1 -1
- package/dist/kraken/graph.js.map +1 -1
- package/dist/kraken/runtime/runner.d.ts.map +1 -1
- package/dist/kraken/runtime/runner.js +10 -6
- package/dist/kraken/runtime/runner.js.map +1 -1
- package/dist/kraken/runtime/types.d.ts +7 -0
- package/dist/kraken/runtime/types.d.ts.map +1 -1
- package/dist/runtime/providers.d.ts +8 -0
- package/dist/runtime/providers.d.ts.map +1 -1
- package/dist/runtime/providers.js.map +1 -1
- package/dist/session/index.d.ts +1 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +1 -0
- package/dist/session/index.js.map +1 -1
- package/dist/session/replay.d.ts +18 -0
- package/dist/session/replay.d.ts.map +1 -1
- package/dist/session/replay.js +19 -4
- package/dist/session/replay.js.map +1 -1
- package/dist/session/replayCache.d.ts +76 -0
- package/dist/session/replayCache.d.ts.map +1 -0
- package/dist/session/replayCache.js +188 -0
- package/dist/session/replayCache.js.map +1 -0
- package/dist/verification/commandConcurrency.d.ts +34 -0
- package/dist/verification/commandConcurrency.d.ts.map +1 -0
- package/dist/verification/commandConcurrency.js +45 -0
- package/dist/verification/commandConcurrency.js.map +1 -0
- package/dist/verification/engine.d.ts +25 -0
- package/dist/verification/engine.d.ts.map +1 -1
- package/dist/verification/engine.js +58 -6
- package/dist/verification/engine.js.map +1 -1
- package/dist/verification/index.d.ts +1 -0
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +1 -0
- package/dist/verification/index.js.map +1 -1
- package/dist/verification/runWithLimit.d.ts +24 -0
- package/dist/verification/runWithLimit.d.ts.map +1 -0
- package/dist/verification/runWithLimit.js +50 -0
- package/dist/verification/runWithLimit.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replayCache.js","sourceRoot":"","sources":["../../src/session/replayCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verification/commandConcurrency.ts — Int2a gate fan-out policy (ADR-0023).
|
|
3
|
+
*
|
|
4
|
+
* A criteria pack runs independent PROCESSES (typecheck / test / build) that
|
|
5
|
+
* are not independent WRITES: on this repo `test` rebuilds `@zelari/core` into
|
|
6
|
+
* `packages/core/dist` while `build` cleans the very same path, so a parallel
|
|
7
|
+
* run can read a partial `dist` and produce flaky FAILs. Fail-closed is not
|
|
8
|
+
* good enough — a flaky gate destroys trust in strict-done exactly like a
|
|
9
|
+
* false PASS does, so fan-out is OPT-IN per repo and OFF by default.
|
|
10
|
+
*
|
|
11
|
+
* ZELARI_VERIFY_PARALLEL 1|true|yes|on → bounded parallel evaluation of
|
|
12
|
+
* command criteria (anything else → sequential)
|
|
13
|
+
* ZELARI_VERIFY_CONCURRENCY max commands in flight, default 3
|
|
14
|
+
*
|
|
15
|
+
* Kill-switch: unset, `0` or any unrecognized value → 1, i.e. the sequential
|
|
16
|
+
* `for...of` path this engine has always used (same order, same events).
|
|
17
|
+
*
|
|
18
|
+
* @since v2.38.x
|
|
19
|
+
*/
|
|
20
|
+
/** Only used when parallelism is explicitly enabled and no limit is given. */
|
|
21
|
+
export declare const DEFAULT_COMMAND_CONCURRENCY = 3;
|
|
22
|
+
/**
|
|
23
|
+
* Parallel evaluation is opt-in: `1|true|yes|on` (case/space insensitive)
|
|
24
|
+
* enables it, everything else — including unset — keeps the gate sequential.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isVerifyParallelEnabled(env?: Record<string, string | undefined>): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Effective max number of command criteria in flight: `1` unless parallelism
|
|
29
|
+
* is enabled. `ZELARI_VERIFY_CONCURRENCY` is only consulted when enabled and
|
|
30
|
+
* is clamped to >= 1 (a bad value can never deadlock or fan out unbounded —
|
|
31
|
+
* the runner additionally clamps to the number of criteria).
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveCommandConcurrency(env?: Record<string, string | undefined>): number;
|
|
34
|
+
//# sourceMappingURL=commandConcurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandConcurrency.d.ts","sourceRoot":"","sources":["../../src/verification/commandConcurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAI7C;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAKR"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verification/commandConcurrency.ts — Int2a gate fan-out policy (ADR-0023).
|
|
3
|
+
*
|
|
4
|
+
* A criteria pack runs independent PROCESSES (typecheck / test / build) that
|
|
5
|
+
* are not independent WRITES: on this repo `test` rebuilds `@zelari/core` into
|
|
6
|
+
* `packages/core/dist` while `build` cleans the very same path, so a parallel
|
|
7
|
+
* run can read a partial `dist` and produce flaky FAILs. Fail-closed is not
|
|
8
|
+
* good enough — a flaky gate destroys trust in strict-done exactly like a
|
|
9
|
+
* false PASS does, so fan-out is OPT-IN per repo and OFF by default.
|
|
10
|
+
*
|
|
11
|
+
* ZELARI_VERIFY_PARALLEL 1|true|yes|on → bounded parallel evaluation of
|
|
12
|
+
* command criteria (anything else → sequential)
|
|
13
|
+
* ZELARI_VERIFY_CONCURRENCY max commands in flight, default 3
|
|
14
|
+
*
|
|
15
|
+
* Kill-switch: unset, `0` or any unrecognized value → 1, i.e. the sequential
|
|
16
|
+
* `for...of` path this engine has always used (same order, same events).
|
|
17
|
+
*
|
|
18
|
+
* @since v2.38.x
|
|
19
|
+
*/
|
|
20
|
+
/** Only used when parallelism is explicitly enabled and no limit is given. */
|
|
21
|
+
export const DEFAULT_COMMAND_CONCURRENCY = 3;
|
|
22
|
+
const PARALLEL_TRUTHY = new Set(['1', 'true', 'yes', 'on']);
|
|
23
|
+
/**
|
|
24
|
+
* Parallel evaluation is opt-in: `1|true|yes|on` (case/space insensitive)
|
|
25
|
+
* enables it, everything else — including unset — keeps the gate sequential.
|
|
26
|
+
*/
|
|
27
|
+
export function isVerifyParallelEnabled(env = process.env) {
|
|
28
|
+
const raw = env.ZELARI_VERIFY_PARALLEL?.trim().toLowerCase();
|
|
29
|
+
return raw !== undefined && PARALLEL_TRUTHY.has(raw);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Effective max number of command criteria in flight: `1` unless parallelism
|
|
33
|
+
* is enabled. `ZELARI_VERIFY_CONCURRENCY` is only consulted when enabled and
|
|
34
|
+
* is clamped to >= 1 (a bad value can never deadlock or fan out unbounded —
|
|
35
|
+
* the runner additionally clamps to the number of criteria).
|
|
36
|
+
*/
|
|
37
|
+
export function resolveCommandConcurrency(env = process.env) {
|
|
38
|
+
if (!isVerifyParallelEnabled(env))
|
|
39
|
+
return 1;
|
|
40
|
+
const raw = Number(env.ZELARI_VERIFY_CONCURRENCY);
|
|
41
|
+
if (!Number.isFinite(raw) || raw <= 0)
|
|
42
|
+
return DEFAULT_COMMAND_CONCURRENCY;
|
|
43
|
+
return Math.floor(raw);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=commandConcurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandConcurrency.js","sourceRoot":"","sources":["../../src/verification/commandConcurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,OAAO,GAAG,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA0C,OAAO,CAAC,GAAG;IAErD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -12,6 +12,23 @@
|
|
|
12
12
|
* output tails) and, when the emitter resolves to the appended envelope, the
|
|
13
13
|
* assigned seq anchors the EvidenceRef — evidence is traceable to the
|
|
14
14
|
* session event that captured it, not to a narrated summary.
|
|
15
|
+
*
|
|
16
|
+
* Int2b: when the injected shell is decorated with a result cache (see
|
|
17
|
+
* `src/cli/kraken/cachedShell.ts`), a served-from-cache observation is
|
|
18
|
+
* ANNOTATED, never reinterpreted — `detail` gains a " (cached — tree unchanged
|
|
19
|
+
* since last run)" suffix and the evidence event carries an optional
|
|
20
|
+
* `cached: true`. Status, digest and evidence payload shape are untouched, so
|
|
21
|
+
* caching can change the latency of a verdict but never the verdict.
|
|
22
|
+
*
|
|
23
|
+
* Int2a: command criteria MAY be evaluated concurrently with a bounded
|
|
24
|
+
* fan-out (`commandConcurrency`, default OFF — see `./commandConcurrency.ts`).
|
|
25
|
+
* Parallelism is about `evaluateOne` concurrency, the cache is about shell
|
|
26
|
+
* exec reuse; they compose. Only the LATENCY changes: results keep the
|
|
27
|
+
* criteria order of `verification.run`, and `verification.evidence` events may
|
|
28
|
+
* interleave because each ref is anchored to its OWN event seq (a seq anchors
|
|
29
|
+
* an observation, it never depends on the position of the event in the log).
|
|
30
|
+
* When the fan-out is 1 (default, or the kill-switch) the loop below is the
|
|
31
|
+
* untouched sequential path.
|
|
15
32
|
*/
|
|
16
33
|
import type { FsProvider, ShellProvider } from '../runtime/providers.js';
|
|
17
34
|
import type { SessionEventInput } from '../session/types.js';
|
|
@@ -30,6 +47,14 @@ export interface VerificationEngineOptions {
|
|
|
30
47
|
emit?: (input: SessionEventInput) => Promise<unknown>;
|
|
31
48
|
now?: () => number;
|
|
32
49
|
sha256?: (input: string) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Max command criteria evaluated concurrently. `undefined` (the default)
|
|
52
|
+
* resolves through `resolveCommandConcurrency()` — i.e. 1 unless the
|
|
53
|
+
* environment opts in via `ZELARI_VERIFY_PARALLEL=1`. `<= 1` always means
|
|
54
|
+
* the plain sequential loop; a host that wires the flag explicitly should
|
|
55
|
+
* keep passing a value here.
|
|
56
|
+
*/
|
|
57
|
+
commandConcurrency?: number;
|
|
33
58
|
}
|
|
34
59
|
export declare class VerificationEngine {
|
|
35
60
|
private readonly services;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/verification/engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/verification/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAe,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI7E,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAkBD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,QAAQ,GAAE,oBAAyB,EACnC,OAAO,GAAE,yBAA8B;IAG1D,4EAA4E;IACtE,QAAQ,CACZ,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;KAAO,GAC5D,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA4ChC;;;;;OAKG;YACW,YAAY;YAiBZ,WAAW;YAmDX,WAAW;IAqEzB;;;;OAIG;YACW,UAAU;YAkBV,cAAc;YAmBd,cAAc;YAiBd,gBAAgB;CAyB/B"}
|
|
@@ -12,15 +12,41 @@
|
|
|
12
12
|
* output tails) and, when the emitter resolves to the appended envelope, the
|
|
13
13
|
* assigned seq anchors the EvidenceRef — evidence is traceable to the
|
|
14
14
|
* session event that captured it, not to a narrated summary.
|
|
15
|
+
*
|
|
16
|
+
* Int2b: when the injected shell is decorated with a result cache (see
|
|
17
|
+
* `src/cli/kraken/cachedShell.ts`), a served-from-cache observation is
|
|
18
|
+
* ANNOTATED, never reinterpreted — `detail` gains a " (cached — tree unchanged
|
|
19
|
+
* since last run)" suffix and the evidence event carries an optional
|
|
20
|
+
* `cached: true`. Status, digest and evidence payload shape are untouched, so
|
|
21
|
+
* caching can change the latency of a verdict but never the verdict.
|
|
22
|
+
*
|
|
23
|
+
* Int2a: command criteria MAY be evaluated concurrently with a bounded
|
|
24
|
+
* fan-out (`commandConcurrency`, default OFF — see `./commandConcurrency.ts`).
|
|
25
|
+
* Parallelism is about `evaluateOne` concurrency, the cache is about shell
|
|
26
|
+
* exec reuse; they compose. Only the LATENCY changes: results keep the
|
|
27
|
+
* criteria order of `verification.run`, and `verification.evidence` events may
|
|
28
|
+
* interleave because each ref is anchored to its OWN event seq (a seq anchors
|
|
29
|
+
* an observation, it never depends on the position of the event in the log).
|
|
30
|
+
* When the fan-out is 1 (default, or the kill-switch) the loop below is the
|
|
31
|
+
* untouched sequential path.
|
|
15
32
|
*/
|
|
16
33
|
import { createHash } from 'node:crypto';
|
|
17
34
|
import { analyzeScope } from './scopeDiscipline.js';
|
|
35
|
+
import { resolveCommandConcurrency } from './commandConcurrency.js';
|
|
36
|
+
import { runWithLimit } from './runWithLimit.js';
|
|
18
37
|
function defaultSha256(input) {
|
|
19
38
|
return createHash('sha256').update(input).digest('hex');
|
|
20
39
|
}
|
|
21
40
|
function tail(text, max = 400) {
|
|
22
41
|
return text.length > max ? `…${text.slice(text.length - max)}` : text;
|
|
23
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Int2b provenance note. A cached observation is the SAME deterministic
|
|
45
|
+
* observation (identical command, unchanged tree, byte-identical stdout) —
|
|
46
|
+
* status and digest are therefore untouched; only the detail says where the
|
|
47
|
+
* observation came from.
|
|
48
|
+
*/
|
|
49
|
+
const CACHED_DETAIL_NOTE = 'cached — tree unchanged since last run';
|
|
24
50
|
export class VerificationEngine {
|
|
25
51
|
services;
|
|
26
52
|
options;
|
|
@@ -31,8 +57,19 @@ export class VerificationEngine {
|
|
|
31
57
|
/** Evaluate criteria deterministically; optionally emit the spine event. */
|
|
32
58
|
async evaluate(criteria, context = {}) {
|
|
33
59
|
const results = [];
|
|
34
|
-
|
|
35
|
-
|
|
60
|
+
const limit = this.options.commandConcurrency ?? resolveCommandConcurrency();
|
|
61
|
+
if (limit <= 1) {
|
|
62
|
+
// Default (and kill-switch): the pre-Int2a path, byte for byte.
|
|
63
|
+
for (const criterion of criteria) {
|
|
64
|
+
results.push(await this.evaluateOne(criterion, context.scope));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// Int2a: bounded fan-out; slot i is criteria[i], so the result order —
|
|
69
|
+
// and therefore `verification.run` — is identical to the sequential run.
|
|
70
|
+
await runWithLimit(criteria, limit, async (criterion, index) => {
|
|
71
|
+
results[index] = await this.evaluateOne(criterion, context.scope);
|
|
72
|
+
});
|
|
36
73
|
}
|
|
37
74
|
if (this.options.emit) {
|
|
38
75
|
// Degrade-and-stop discipline: a failing spine must never fail
|
|
@@ -138,6 +175,19 @@ export class VerificationEngine {
|
|
|
138
175
|
}
|
|
139
176
|
const result = await shell.exec(check.command, { timeoutMs: check.timeoutMs });
|
|
140
177
|
const digest = sha256(result.stdout);
|
|
178
|
+
const cached = result.cached === true;
|
|
179
|
+
/**
|
|
180
|
+
* Int2b: annotate provenance, never the verdict. Same status, same digest,
|
|
181
|
+
* same payload shape — a cached FAIL stays FAIL, a cached pass stays pass.
|
|
182
|
+
* `cached` is absent on provider-produced results, so an undecorated shell
|
|
183
|
+
* behaves exactly as before.
|
|
184
|
+
*/
|
|
185
|
+
const finish = (patch) => cached
|
|
186
|
+
? done({
|
|
187
|
+
...patch,
|
|
188
|
+
detail: patch.detail ? `${patch.detail} (${CACHED_DETAIL_NOTE})` : CACHED_DETAIL_NOTE,
|
|
189
|
+
})
|
|
190
|
+
: done(patch);
|
|
141
191
|
// F3: the raw observation lands on the spine; its seq anchors the ref.
|
|
142
192
|
const seq = await this.emitEvidence({
|
|
143
193
|
observation: 'command',
|
|
@@ -147,6 +197,8 @@ export class VerificationEngine {
|
|
|
147
197
|
digest,
|
|
148
198
|
stdoutTail: tail(result.stdout),
|
|
149
199
|
stderrTail: tail(result.stderr),
|
|
200
|
+
// Additive (optional) field: replay of older logs without it still parses.
|
|
201
|
+
...(cached ? { cached: true } : {}),
|
|
150
202
|
});
|
|
151
203
|
const evidence = [
|
|
152
204
|
{
|
|
@@ -158,24 +210,24 @@ export class VerificationEngine {
|
|
|
158
210
|
},
|
|
159
211
|
];
|
|
160
212
|
if (result.timedOut) {
|
|
161
|
-
return
|
|
213
|
+
return finish({ status: 'unknown', evidence, detail: `command timed out (${check.timeoutMs ?? 'default'}ms)` });
|
|
162
214
|
}
|
|
163
215
|
const expectExit = check.expectExit ?? 0;
|
|
164
216
|
if (result.exitCode !== expectExit) {
|
|
165
|
-
return
|
|
217
|
+
return finish({
|
|
166
218
|
status: 'fail',
|
|
167
219
|
evidence,
|
|
168
220
|
detail: `exit ${result.exitCode} (expected ${expectExit}) — stderr: ${tail(result.stderr)}`,
|
|
169
221
|
});
|
|
170
222
|
}
|
|
171
223
|
if (check.expectStdoutIncludes && !result.stdout.includes(check.expectStdoutIncludes)) {
|
|
172
|
-
return
|
|
224
|
+
return finish({
|
|
173
225
|
status: 'fail',
|
|
174
226
|
evidence,
|
|
175
227
|
detail: `stdout missing "${check.expectStdoutIncludes}" — got: ${tail(result.stdout)}`,
|
|
176
228
|
});
|
|
177
229
|
}
|
|
178
|
-
return
|
|
230
|
+
return finish({ status: 'pass', evidence });
|
|
179
231
|
}
|
|
180
232
|
/**
|
|
181
233
|
* F3: the fs observation is logged to the spine (path, existence, optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/verification/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/verification/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,6 @@ export * from './criteriaPack.v1.js';
|
|
|
10
10
|
export * from './metrics.js';
|
|
11
11
|
export * from './verifier.js';
|
|
12
12
|
export * from './scopeDiscipline.js';
|
|
13
|
+
export * from './commandConcurrency.js';
|
|
13
14
|
export * from './resourceReserveGate.js';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
|
|
@@ -10,5 +10,6 @@ export * from './criteriaPack.v1.js';
|
|
|
10
10
|
export * from './metrics.js';
|
|
11
11
|
export * from './verifier.js';
|
|
12
12
|
export * from './scopeDiscipline.js';
|
|
13
|
+
export * from './commandConcurrency.js';
|
|
13
14
|
export * from './resourceReserveGate.js';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verification/runWithLimit.ts — minimal bounded-concurrency runner (Int2a).
|
|
3
|
+
*
|
|
4
|
+
* Local copy of the CLI's `src/cli/asyncLimit.ts` discipline: core must not
|
|
5
|
+
* import from `src/cli`, and the semantics the engine needs are slightly
|
|
6
|
+
* different (see below), so this stays a ~30 LOC private module instead of a
|
|
7
|
+
* new shared util package.
|
|
8
|
+
*
|
|
9
|
+
* Semantics:
|
|
10
|
+
* - `limit` is clamped to `[1, items.length]`: `0`, negatives and `NaN`
|
|
11
|
+
* mean "one at a time", so a bad env value can never deadlock the gate;
|
|
12
|
+
* - items are claimed in input order, later items start as slots free up;
|
|
13
|
+
* - every item is assigned its own index, so a caller can write results
|
|
14
|
+
* into a slot (`results[index] = …`) and keep the input order;
|
|
15
|
+
* - the returned promise rejects with the FIRST error only after the
|
|
16
|
+
* in-flight callbacks settled (no dangling work mutating caller state
|
|
17
|
+
* after `evaluate()` rejected).
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Run `fn` over `items` with at most `limit` calls in flight at any time.
|
|
21
|
+
* Resolves with `undefined` once every item settled successfully.
|
|
22
|
+
*/
|
|
23
|
+
export declare function runWithLimit<T>(items: readonly T[], limit: number, fn: (item: T, index: number) => Promise<void>): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=runWithLimit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runWithLimit.d.ts","sourceRoot":"","sources":["../../src/verification/runWithLimit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verification/runWithLimit.ts — minimal bounded-concurrency runner (Int2a).
|
|
3
|
+
*
|
|
4
|
+
* Local copy of the CLI's `src/cli/asyncLimit.ts` discipline: core must not
|
|
5
|
+
* import from `src/cli`, and the semantics the engine needs are slightly
|
|
6
|
+
* different (see below), so this stays a ~30 LOC private module instead of a
|
|
7
|
+
* new shared util package.
|
|
8
|
+
*
|
|
9
|
+
* Semantics:
|
|
10
|
+
* - `limit` is clamped to `[1, items.length]`: `0`, negatives and `NaN`
|
|
11
|
+
* mean "one at a time", so a bad env value can never deadlock the gate;
|
|
12
|
+
* - items are claimed in input order, later items start as slots free up;
|
|
13
|
+
* - every item is assigned its own index, so a caller can write results
|
|
14
|
+
* into a slot (`results[index] = …`) and keep the input order;
|
|
15
|
+
* - the returned promise rejects with the FIRST error only after the
|
|
16
|
+
* in-flight callbacks settled (no dangling work mutating caller state
|
|
17
|
+
* after `evaluate()` rejected).
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Run `fn` over `items` with at most `limit` calls in flight at any time.
|
|
21
|
+
* Resolves with `undefined` once every item settled successfully.
|
|
22
|
+
*/
|
|
23
|
+
export async function runWithLimit(items, limit, fn) {
|
|
24
|
+
const slots = Math.min(items.length, Math.max(1, Number.isFinite(limit) ? Math.floor(limit) : 1));
|
|
25
|
+
if (slots <= 0)
|
|
26
|
+
return;
|
|
27
|
+
let cursor = 0;
|
|
28
|
+
let failed = false;
|
|
29
|
+
let firstError;
|
|
30
|
+
const worker = async () => {
|
|
31
|
+
while (!failed && cursor < items.length) {
|
|
32
|
+
const index = cursor;
|
|
33
|
+
cursor += 1;
|
|
34
|
+
try {
|
|
35
|
+
await fn(items[index], index);
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
// Stop claiming new items; the first failure is the one rethrown.
|
|
39
|
+
if (!failed) {
|
|
40
|
+
failed = true;
|
|
41
|
+
firstError = err;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
await Promise.all(Array.from({ length: slots }, () => worker()));
|
|
47
|
+
if (failed)
|
|
48
|
+
throw firstError;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=runWithLimit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runWithLimit.js","sourceRoot":"","sources":["../../src/verification/runWithLimit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAmB,EACnB,KAAa,EACb,EAA6C;IAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,KAAK,CAAC,MAAM,EACZ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;IACF,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO;IAEvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,UAAmB,CAAC;IAExB,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAM,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,UAAU,GAAG,GAAG,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM;QAAE,MAAM,UAAU,CAAC;AAC/B,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* require.resolve('@zelari/core/package.json') (2.6.1 plan §7).
|
|
4
4
|
* Kept in sync with package.json by scripts/verify-versions.mjs.
|
|
5
5
|
*/
|
|
6
|
-
export declare const CORE_VERSION = "2.
|
|
6
|
+
export declare const CORE_VERSION = "2.39.0";
|
|
7
7
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zelari/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.39.0",
|
|
4
4
|
"description": "Zelari Code core library — provider-neutral agent loop (AgentHarness), multi-agent council orchestration, and built-in skills. Used by the zelari-code CLI; consumable by other agent frontends.",
|
|
5
5
|
"author": "Anathema Studio <https://anathema-studio.com/>",
|
|
6
6
|
"license": "Apache-2.0",
|