@zelari/core 2.37.3 → 2.38.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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/core/AgentHarness.d.ts.map +1 -1
  3. package/dist/core/AgentHarness.js +4 -1
  4. package/dist/core/AgentHarness.js.map +1 -1
  5. package/dist/core/requestSnapshot.d.ts +19 -4
  6. package/dist/core/requestSnapshot.d.ts.map +1 -1
  7. package/dist/core/requestSnapshot.js +103 -30
  8. package/dist/core/requestSnapshot.js.map +1 -1
  9. package/dist/runtime/providers.d.ts +8 -0
  10. package/dist/runtime/providers.d.ts.map +1 -1
  11. package/dist/runtime/providers.js.map +1 -1
  12. package/dist/session/index.d.ts +1 -0
  13. package/dist/session/index.d.ts.map +1 -1
  14. package/dist/session/index.js +1 -0
  15. package/dist/session/index.js.map +1 -1
  16. package/dist/session/replay.d.ts +18 -0
  17. package/dist/session/replay.d.ts.map +1 -1
  18. package/dist/session/replay.js +19 -4
  19. package/dist/session/replay.js.map +1 -1
  20. package/dist/session/replayCache.d.ts +76 -0
  21. package/dist/session/replayCache.d.ts.map +1 -0
  22. package/dist/session/replayCache.js +188 -0
  23. package/dist/session/replayCache.js.map +1 -0
  24. package/dist/verification/commandConcurrency.d.ts +34 -0
  25. package/dist/verification/commandConcurrency.d.ts.map +1 -0
  26. package/dist/verification/commandConcurrency.js +45 -0
  27. package/dist/verification/commandConcurrency.js.map +1 -0
  28. package/dist/verification/engine.d.ts +25 -0
  29. package/dist/verification/engine.d.ts.map +1 -1
  30. package/dist/verification/engine.js +58 -6
  31. package/dist/verification/engine.js.map +1 -1
  32. package/dist/verification/index.d.ts +1 -0
  33. package/dist/verification/index.d.ts.map +1 -1
  34. package/dist/verification/index.js +1 -0
  35. package/dist/verification/index.js.map +1 -1
  36. package/dist/verification/runWithLimit.d.ts +24 -0
  37. package/dist/verification/runWithLimit.d.ts.map +1 -0
  38. package/dist/verification/runWithLimit.js +50 -0
  39. package/dist/verification/runWithLimit.js.map +1 -0
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +1 -1
@@ -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
- for (const criterion of criteria) {
35
- results.push(await this.evaluateOne(criterion, context.scope));
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 done({ status: 'unknown', evidence, detail: `command timed out (${check.timeoutMs ?? 'default'}ms)` });
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 done({
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 done({
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 done({ status: 'pass', evidence });
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.37.3";
6
+ export declare const CORE_VERSION = "2.38.0";
7
7
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js 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 const CORE_VERSION = '2.37.3';
6
+ export const CORE_VERSION = '2.38.0';
7
7
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zelari/core",
3
- "version": "2.37.3",
3
+ "version": "2.38.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",