zelari-code 2.12.0 → 2.14.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 (88) hide show
  1. package/dist/cli/headless/policyGate.js +101 -0
  2. package/dist/cli/headless/policyGate.js.map +1 -0
  3. package/dist/cli/headless.js.map +1 -1
  4. package/dist/cli/kraken/completionProof.js +89 -41
  5. package/dist/cli/kraken/completionProof.js.map +1 -1
  6. package/dist/cli/kraken/completionProofAttestation.js +157 -0
  7. package/dist/cli/kraken/completionProofAttestation.js.map +1 -0
  8. package/dist/cli/kraken/completionProofPersist.js +219 -0
  9. package/dist/cli/kraken/completionProofPersist.js.map +1 -0
  10. package/dist/cli/kraken/completionProofProbe.js +135 -0
  11. package/dist/cli/kraken/completionProofProbe.js.map +1 -0
  12. package/dist/cli/kraken/contractCompiler.js +142 -0
  13. package/dist/cli/kraken/contractCompiler.js.map +1 -0
  14. package/dist/cli/kraken/delegationPolicy.js +40 -3
  15. package/dist/cli/kraken/delegationPolicy.js.map +1 -1
  16. package/dist/cli/kraken/executor.js +462 -9
  17. package/dist/cli/kraken/executor.js.map +1 -1
  18. package/dist/cli/kraken/fileOwnership.js +190 -0
  19. package/dist/cli/kraken/fileOwnership.js.map +1 -0
  20. package/dist/cli/kraken/modelReputation.js +208 -0
  21. package/dist/cli/kraken/modelReputation.js.map +1 -0
  22. package/dist/cli/kraken/nativeVerification.js +53 -11
  23. package/dist/cli/kraken/nativeVerification.js.map +1 -1
  24. package/dist/cli/kraken/planner.js +2 -0
  25. package/dist/cli/kraken/planner.js.map +1 -1
  26. package/dist/cli/kraken/reputationStore.js +139 -0
  27. package/dist/cli/kraken/reputationStore.js.map +1 -0
  28. package/dist/cli/kraken/semanticOwnership.js +184 -0
  29. package/dist/cli/kraken/semanticOwnership.js.map +1 -0
  30. package/dist/cli/kraken/spawnRoi.js +209 -0
  31. package/dist/cli/kraken/spawnRoi.js.map +1 -0
  32. package/dist/cli/kraken/transactional.js +104 -0
  33. package/dist/cli/kraken/transactional.js.map +1 -0
  34. package/dist/cli/kraken/verificationAdapters/dotnet.js +49 -0
  35. package/dist/cli/kraken/verificationAdapters/dotnet.js.map +1 -0
  36. package/dist/cli/kraken/verificationAdapters/go.js +36 -0
  37. package/dist/cli/kraken/verificationAdapters/go.js.map +1 -0
  38. package/dist/cli/kraken/verificationAdapters/index.js +47 -0
  39. package/dist/cli/kraken/verificationAdapters/index.js.map +1 -0
  40. package/dist/cli/kraken/verificationAdapters/java.js +102 -0
  41. package/dist/cli/kraken/verificationAdapters/java.js.map +1 -0
  42. package/dist/cli/kraken/verificationAdapters/node.js +90 -0
  43. package/dist/cli/kraken/verificationAdapters/node.js.map +1 -0
  44. package/dist/cli/kraken/verificationAdapters/python.js +86 -0
  45. package/dist/cli/kraken/verificationAdapters/python.js.map +1 -0
  46. package/dist/cli/kraken/verificationAdapters/rust.js +39 -0
  47. package/dist/cli/kraken/verificationAdapters/rust.js.map +1 -0
  48. package/dist/cli/kraken/verificationAdapters/types.js +2 -0
  49. package/dist/cli/kraken/verificationAdapters/types.js.map +1 -0
  50. package/dist/cli/kraken/verificationBridge.js +40 -3
  51. package/dist/cli/kraken/verificationBridge.js.map +1 -1
  52. package/dist/cli/kraken/verifierLifecycle.js +51 -36
  53. package/dist/cli/kraken/verifierLifecycle.js.map +1 -1
  54. package/dist/cli/kraken/verifierRouting.js +264 -0
  55. package/dist/cli/kraken/verifierRouting.js.map +1 -0
  56. package/dist/cli/kraken/worktreeScheduling.js +201 -0
  57. package/dist/cli/kraken/worktreeScheduling.js.map +1 -0
  58. package/dist/cli/main.bundled.js +4085 -939
  59. package/dist/cli/main.bundled.js.map +4 -4
  60. package/dist/cli/orchestration/facts.js +127 -0
  61. package/dist/cli/orchestration/facts.js.map +1 -0
  62. package/dist/cli/orchestration/policy.js +128 -75
  63. package/dist/cli/orchestration/policy.js.map +1 -1
  64. package/dist/cli/orchestration/signals.js +96 -0
  65. package/dist/cli/orchestration/signals.js.map +1 -0
  66. package/dist/cli/runHeadless.js +92 -19
  67. package/dist/cli/runHeadless.js.map +1 -1
  68. package/dist/cli/safety/policyEngine.js +217 -43
  69. package/dist/cli/safety/policyEngine.js.map +1 -1
  70. package/dist/cli/safety/policyLayers.js +55 -0
  71. package/dist/cli/safety/policyLayers.js.map +1 -0
  72. package/dist/cli/safety/policyLoadMode.js +59 -0
  73. package/dist/cli/safety/policyLoadMode.js.map +1 -0
  74. package/dist/cli/safety/resourceClaims.js +373 -0
  75. package/dist/cli/safety/resourceClaims.js.map +1 -0
  76. package/dist/cli/safety/sandboxPath.js +160 -17
  77. package/dist/cli/safety/sandboxPath.js.map +1 -1
  78. package/dist/cli/toolRegistry.js +114 -15
  79. package/dist/cli/toolRegistry.js.map +1 -1
  80. package/dist/cli/tools/execProcess.js +121 -0
  81. package/dist/cli/tools/execProcess.js.map +1 -0
  82. package/dist/cli/tools/krakenCsvFanout.js +4 -4
  83. package/dist/cli/tools/krakenCsvFanout.js.map +1 -1
  84. package/dist/cli/tools/krakenRadio.js +9 -0
  85. package/dist/cli/tools/krakenRadio.js.map +1 -1
  86. package/dist/cli/tools/taskTool.js +12 -6
  87. package/dist/cli/tools/taskTool.js.map +1 -1
  88. package/package.json +2 -2
@@ -0,0 +1,90 @@
1
+ /**
2
+ * verificationAdapters/node — package.json ecosystems (t19 §P1.A).
3
+ *
4
+ * Generalizes the F2 npm-only binding to every mainstream JS package
5
+ * manager. Resolution order:
6
+ * 1. `packageManager` field (corepack manifest — explicit intent wins;
7
+ * e.g. "pnpm@9.1.0+sha512…" → pnpm; unrecognized names fall through);
8
+ * 2. first existing lockfile: pnpm-lock.yaml → pnpm, yarn.lock → yarn,
9
+ * bun.lockb / bun.lock → bun, package-lock.json → npm;
10
+ * 3. default npm.
11
+ *
12
+ * Repo-adaptive binding preserved EXACTLY from F2: `<pm> run <script>` is
13
+ * bound only when package.json declares that script. A missing script →
14
+ * null → the criterion is dropped downstream (a required-but-unrunnable
15
+ * command would be a permanently-unknown blocker). Env overrides are applied
16
+ * later, centrally — see nativeVerification.applyEnvOverridesToPlan.
17
+ */
18
+ import { readFile, stat } from 'node:fs/promises';
19
+ import path from 'node:path';
20
+ /** Tiny fs helpers stay LOCAL per adapter (shared utils would couple sibling adapters). */
21
+ async function fileExists(candidate) {
22
+ try {
23
+ return (await stat(candidate)).isFile();
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ /** Parsed package.json or null (absent / unreadable / invalid JSON). */
30
+ async function readPackageJson(root) {
31
+ try {
32
+ return JSON.parse(await readFile(path.join(root, 'package.json'), 'utf-8'));
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /** Lockfile marker → package manager, checked in priority order. */
39
+ const PM_LOCKFILES = [
40
+ ['pnpm-lock.yaml', 'pnpm'],
41
+ ['yarn.lock', 'yarn'],
42
+ ['bun.lockb', 'bun'],
43
+ ['bun.lock', 'bun'],
44
+ ['package-lock.json', 'npm'],
45
+ ];
46
+ const KNOWN_PACKAGE_MANAGERS = new Set(['npm', 'pnpm', 'yarn', 'bun']);
47
+ /** corepack-style value ("pnpm@9.1.0+sha512…") → bare manager name, or null. */
48
+ function packageManagerFromField(pkg) {
49
+ if (!pkg || typeof pkg.packageManager !== 'string')
50
+ return null;
51
+ const name = pkg.packageManager.split('@')[0]?.trim().toLowerCase() ?? '';
52
+ return KNOWN_PACKAGE_MANAGERS.has(name) ? name : null;
53
+ }
54
+ async function resolvePackageManager(root) {
55
+ const fromField = packageManagerFromField(await readPackageJson(root));
56
+ if (fromField)
57
+ return { pm: fromField, declaredToolchain: true };
58
+ for (const [marker, pm] of PM_LOCKFILES) {
59
+ if (await fileExists(path.join(root, marker)))
60
+ return { pm, declaredToolchain: true };
61
+ }
62
+ // Default per F2 behavior: npm even with no lockfile at all.
63
+ return { pm: 'npm', declaredToolchain: false };
64
+ }
65
+ function scriptBound(scripts, scriptName, pm) {
66
+ if (typeof scripts !== 'object' || scripts === null)
67
+ return null;
68
+ const entry = scripts[scriptName];
69
+ return typeof entry === 'string' && entry.length > 0 ? `${pm} run ${scriptName}` : null;
70
+ }
71
+ export const nodeAdapter = {
72
+ async detect(root) {
73
+ if (!(await fileExists(path.join(root, 'package.json'))))
74
+ return 0;
75
+ // A plain package.json alone is weaker evidence than a declared toolchain
76
+ // (field or lockfile): 10 vs 20.
77
+ const { declaredToolchain } = await resolvePackageManager(root);
78
+ return declaredToolchain ? 20 : 10;
79
+ },
80
+ async buildPlan(root) {
81
+ const { pm } = await resolvePackageManager(root);
82
+ const pkg = await readPackageJson(root);
83
+ return {
84
+ typecheckCommand: scriptBound(pkg?.scripts, 'typecheck', pm),
85
+ testCommand: scriptBound(pkg?.scripts, 'test', pm),
86
+ buildCommand: scriptBound(pkg?.scripts, 'build', pm),
87
+ };
88
+ },
89
+ };
90
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/cli/kraken/verificationAdapters/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * verificationAdapters/python — Python projects (t19 §P1.A).
3
+ *
4
+ * Honest-unknown semantics throughout: a tool is bound ONLY when the repo
5
+ * references it somewhere real — absence of evidence means `null` (dropped),
6
+ * NEVER a fabricated command that would just fail confusingly at runtime.
7
+ *
8
+ * Detection markers, strongest first: pyproject.toml, setup.py,
9
+ * requirements.txt (any one suffices).
10
+ *
11
+ * Binding rules:
12
+ * - test → `pytest` when the token appears in a recognized config file
13
+ * (pyproject.toml / setup.cfg / requirements.txt — covers
14
+ * [dependency-groups], optional-dependencies, [tool.pytest.ini_options])
15
+ * OR a tests/ directory exists (best-effort heuristic per t19 scope).
16
+ * - typecheck → `mypy` or `pyright` ONLY when referenced in a config file
17
+ * (dedicated mypy.ini / .mypy.ini / pyrightconfig.json count by existence).
18
+ * If both are referenced, mypy wins (brief order). Else null.
19
+ * - build → ALWAYS null: Python has no single standard build verb; picking
20
+ * one arbitrarily would violate the honest-unknown contract.
21
+ */
22
+ import { readFile, stat } from 'node:fs/promises';
23
+ import path from 'node:path';
24
+ async function fileExists(candidate) {
25
+ try {
26
+ return (await stat(candidate)).isFile();
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ async function dirExists(candidate) {
33
+ try {
34
+ return (await stat(candidate)).isDirectory();
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ const DETECT_MARKERS = [
41
+ ['pyproject.toml', 10],
42
+ ['setup.py', 8],
43
+ ['requirements.txt', 6],
44
+ ];
45
+ /** Text candidates scanned once per buildPlan: tool references live here. */
46
+ const SCAN_FILES = [
47
+ 'pyproject.toml',
48
+ 'requirements.txt',
49
+ 'setup.cfg',
50
+ 'mypy.ini',
51
+ '.mypy.ini',
52
+ 'pyrightconfig.json',
53
+ ];
54
+ export const pythonAdapter = {
55
+ async detect(root) {
56
+ let best = 0;
57
+ for (const [marker, score] of DETECT_MARKERS) {
58
+ if (score > best && (await fileExists(path.join(root, marker))))
59
+ best = score;
60
+ }
61
+ return best;
62
+ },
63
+ async buildPlan(root) {
64
+ // Read every candidate once; presence itself can be a signal
65
+ // (pyrightconfig.json exists → pyright regardless of tokens).
66
+ const present = new Map();
67
+ for (const name of SCAN_FILES) {
68
+ try {
69
+ present.set(name, await readFile(path.join(root, name), 'utf-8'));
70
+ }
71
+ catch {
72
+ // absent → skip
73
+ }
74
+ }
75
+ const hasToken = (token) => [...present.values()].some((text) => text.includes(token));
76
+ const pytestEvidenced = hasToken('pytest') || (await dirExists(path.join(root, 'tests')));
77
+ const mypyReferenced = hasToken('mypy') || present.has('mypy.ini') || present.has('.mypy.ini');
78
+ const pyrightReferenced = hasToken('pyright') || present.has('pyrightconfig.json');
79
+ return {
80
+ testCommand: pytestEvidenced ? 'pytest' : null,
81
+ typecheckCommand: mypyReferenced ? 'mypy' : pyrightReferenced ? 'pyright' : null,
82
+ buildCommand: null, // see rationale in the header: never fabricated
83
+ };
84
+ },
85
+ };
86
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/cli/kraken/verificationAdapters/python.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * verificationAdapters/rust — Cargo workspaces (t19 §P1.A).
3
+ *
4
+ * `cargo check` / `cargo test` / `cargo build` are INTRINSIC verbs of the
5
+ * cargo toolchain, so all three slots stay unconditional — there is no
6
+ * "script missing" concept to adapt to, and adding conditional gates would
7
+ * manufacture uncertainty the toolchain doesn't have.
8
+ *
9
+ * Decision (t19, deliberate): `Cargo.lock` presence is NOT required for the
10
+ * build slot. Libraries routinely gitignore their lockfile, and cargo
11
+ * regenerates one deterministically during the build — gating on it would
12
+ * drop a perfectly runnable criterion on most lib repositories. Workspace
13
+ * member crates (nested Cargo.toml) are out of v1 scope; the root manifest
14
+ * is the detection boundary.
15
+ */
16
+ import { stat } from 'node:fs/promises';
17
+ import path from 'node:path';
18
+ async function fileExists(candidate) {
19
+ try {
20
+ return (await stat(candidate)).isFile();
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ export const rustAdapter = {
27
+ async detect(root) {
28
+ return (await fileExists(path.join(root, 'Cargo.toml'))) ? 10 : 0;
29
+ },
30
+ async buildPlan(_root) {
31
+ void _root; // commands run against the engine's workspace root
32
+ return {
33
+ typecheckCommand: 'cargo check',
34
+ testCommand: 'cargo test',
35
+ buildCommand: 'cargo build',
36
+ };
37
+ },
38
+ };
39
+ //# sourceMappingURL=rust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../../src/cli/kraken/verificationAdapters/rust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,KAAK,KAAK,CAAC,CAAC,mDAAmD;QAC/D,OAAO;YACL,gBAAgB,EAAE,aAAa;YAC/B,WAAW,EAAE,YAAY;YACzB,YAAY,EAAE,aAAa;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/kraken/verificationAdapters/types.ts"],"names":[],"mappings":""}
@@ -24,6 +24,8 @@ import { createHash } from 'node:crypto';
24
24
  import { getKrakenCheckResults, krakenRequiredChecks, getLastVerifyToolTrace } from './candidateRegistry.js';
25
25
  import { evaluateKrakenCompletionGate } from './completionGate.js';
26
26
  import { evaluateNativePack, nativePackEnabled } from './nativeVerification.js';
27
+ // t22: TaskContract → compiler (capability rules + verification criteria).
28
+ import { activeContractScope, evaluateContractCriteria, compileVerificationCriteria, } from './contractCompiler.js';
27
29
  import { evaluateCompletion, STRICT_BUILD_POLICY, snapshotToCompletionEvaluation, } from '@zelari/core/verification';
28
30
  export function strictDoneEnabled(surface = 'kraken') {
29
31
  if (surface === 'mission') {
@@ -236,7 +238,12 @@ export async function evaluateStrictBuildGate(mode, options = {}) {
236
238
  const strictOn = strictDoneEnabled(options.surface ?? 'kraken');
237
239
  const nativeOn = nativePackEnabled(options.env ?? process.env);
238
240
  const selectionAvailable = gate.selectionUsed && gate.total > 0;
239
- if ((!selectionAvailable && !nativeOn) || (!strictOn && !nativeOn)) {
241
+ // t22: TaskContract-compiled criteria participate under the SAME switches
242
+ // as the pack. They can rescue a bare "nothing to evaluate" early-return
243
+ // when no selection ran and the pack binds nothing (contract-only turn).
244
+ const scopeContract = options.taskContract ?? activeContractScope()?.contract;
245
+ const contractPlan = scopeContract ? compileVerificationCriteria(scopeContract) : [];
246
+ if ((!selectionAvailable && !nativeOn && contractPlan.length === 0) || (!strictOn && !nativeOn)) {
240
247
  return {
241
248
  gate,
242
249
  strict: false,
@@ -261,8 +268,18 @@ export async function evaluateStrictBuildGate(mode, options = {}) {
261
268
  shell: options.shell,
262
269
  emit: options.emit,
263
270
  }).catch(() => null);
264
- const allCriteria = [...contract.criteria, ...(native?.criteria ?? [])];
265
- const allResults = [...contract.results, ...(native?.results ?? [])];
271
+ // t22: contract-compiled criteria join the pack's evaluation — blockers
272
+ // add up. Evaluated with the same shell/emit seams so evidence anchors to
273
+ // the spine exactly like the pack's. A failure degrades to no contribution.
274
+ const compiled = scopeContract
275
+ ? await evaluateContractCriteria(scopeContract, {
276
+ cwd: options.cwd,
277
+ shell: options.shell,
278
+ emit: options.emit,
279
+ }).catch(() => null)
280
+ : null;
281
+ const allCriteria = [...contract.criteria, ...(native?.criteria ?? []), ...(compiled?.criteria ?? [])];
282
+ const allResults = [...contract.results, ...(native?.results ?? []), ...(compiled?.results ?? [])];
266
283
  // Pack enabled but nothing bound (and no selection contract) → nothing to
267
284
  // evaluate: stay non-strict rather than certify an empty PASS.
268
285
  if (allCriteria.length === 0) {
@@ -288,6 +305,7 @@ export async function evaluateStrictBuildGate(mode, options = {}) {
288
305
  anchoring,
289
306
  evaluation,
290
307
  native,
308
+ compiled,
291
309
  blocked,
292
310
  summary: blocked
293
311
  ? `blocked (strict ${evaluation?.verdict ?? 'n/a'}): ${legacyPart}evidence ${evaluation?.evidenceComplete ? 'complete' : 'incomplete'}`
@@ -337,6 +355,22 @@ export function strictGateEventPayload(evaluation) {
337
355
  })),
338
356
  }
339
357
  : null,
358
+ // t22: contract-compiled deterministic checks (Verify commands) — same
359
+ // evidence discipline as the pack; omitted entirely when absent so old
360
+ // payloads stay byte-identical.
361
+ ...(evaluation.compiled
362
+ ? {
363
+ compiled: {
364
+ criteria: evaluation.compiled.criteria.map((c) => ({ id: c.id, required: c.required })),
365
+ results: evaluation.compiled.results.map((r) => ({
366
+ criterionId: r.criterionId,
367
+ status: r.status,
368
+ evidence: r.evidence.map((e) => ({ tier: e.tier, ref: e.ref, digest: e.digest, ...(e.seq !== undefined ? { seq: e.seq } : {}) })),
369
+ detail: r.detail,
370
+ })),
371
+ },
372
+ }
373
+ : {}),
340
374
  // 2.1 T4: advisory verifier review (opt-in) — informational, never
341
375
  // authoritative: verdict/blocked above come from the deterministic policy.
342
376
  verifier: evaluation.review
@@ -347,6 +381,9 @@ export function strictGateEventPayload(evaluation) {
347
381
  fallback: evaluation.review.fallback ?? null,
348
382
  effectiveModel: evaluation.review.effectiveModel,
349
383
  advisory: true,
384
+ // t21 (PW §10): dual critical-risk reviewer evidence item — present
385
+ // ONLY when two reviewers ran, so old payloads stay byte-identical.
386
+ ...(evaluation.reviewDivergence ? { divergence: evaluation.reviewDivergence } : {}),
350
387
  }
351
388
  : null,
352
389
  summary: evaluation.summary,
@@ -1 +1 @@
1
- {"version":3,"file":"verificationBridge.js","sourceRoot":"","sources":["../../../src/cli/kraken/verificationBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verificationBridge.js","sourceRoot":"","sources":["../../../src/cli/kraken/verificationBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,4BAA4B,EAA6B,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAA6B,MAAM,yBAAyB,CAAC;AAC3G,2EAA2E;AAC3E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,8BAA8B,GAM/B,MAAM,2BAA2B,CAAC;AAUnC,MAAM,UAAU,iBAAiB,CAAC,UAA6B,QAAQ;IACrE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,8EAA8E;AAC9E,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,MAAM,IAAI,GAAG,KAAK;SACf,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,SAAS,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,yEAAyE;AACzE,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,KAAa,EACb,YAA4C;IAE5C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAAiC,EACjC,OAA4C,EAC5C,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE;QAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;IAC/F,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,aAAa,GAAyB,EAAE,CAAC;IAC/C,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE;YACF,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE;SACtE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACvC,UAAU,EAAE,GAAG;iBAChB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACT,aAAa,CAAC,IAAI,CAAC;YACjB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,SAAS;YACrC,MAAM,EAAE,cAAc;YACtB,QAAQ;YACR,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAuB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC;AAgBD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,KAAmC;IAEnC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAA6B,EAC7B,IAAqD,EACrD,SAAwC;IAExC,MAAM,MAAM,GAA4B,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACnF,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS;gBAAE,SAAS;YACnC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YAChE,IAAI,CAAC;gBACH,mEAAmE;gBACnE,qEAAqE;gBACrE,iEAAiE;gBACjE,MAAM,KAAK,GACT,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrF,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;wBAC1B,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;wBAC/C,IAAI,EAAE;4BACJ,WAAW,EAAE,aAAa;4BAC1B,UAAU,EAAE,uBAAuB;4BACnC,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,MAAM;4BACN,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BACtC,IAAI,EAAE,EAAE,CAAC,GAAG;4BACZ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACrD;qBACF,CAAC,CAAC;oBACH,MAAM,OAAO,GACX,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,IAAI,QAAQ;wBAC3D,CAAC,CAAC,MAAM,CAAE,QAA6B,CAAC,GAAG,CAAC;wBAC5C,CAAC,CAAC,GAAG,CAAC;oBACV,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAC5C,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC;wBACjB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;wBACnB,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC;wBACxG,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;oBACjC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;oBAC1B,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;oBAC/C,IAAI,EAAE;wBACJ,WAAW,EAAE,oBAAoB;wBACjC,UAAU,EAAE,eAAe;wBAC3B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,GAAG,EAAE,EAAE,CAAC,GAAG;wBACX,IAAI,EAAE,EAAE,CAAC,IAAI;qBACd;iBACF,CAAC,CAAC;gBACH,MAAM,GAAG,GACP,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,IAAI,QAAQ;oBAC3D,CAAC,CAAC,MAAM,CAAE,QAA6B,CAAC,GAAG,CAAC;oBAC5C,CAAC,CAAC,GAAG,CAAC;gBACV,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;oBACb,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA2GD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAChD,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,EAAE,EAAE,QAAQ,CAAC;IAC9E,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChG,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACnB,CAAC,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,YAAY,IAAI,CAAC,aAAa,CAAC,MAAM,UAAU;gBACrF,CAAC,CAAC,MAAM;SACX,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,QAAQ,GAAG,kBAAkB;QACjC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAC7C,QAAQ,CAAC,OAAO,EAChB,OAAO,CAAC,IAAI,EACZ,sBAAsB,EAAE,IAAI,SAAS,CACtC,CAAC;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC,KAAK,CAAC,GAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,MAAM,wBAAwB,CAAC,aAAa,EAAE;YAC5C,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC,KAAK,CAAC,GAAsC,EAAE,CAAC,IAAI,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACnG,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,IAAI;YAChB,MAAM;YACN,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACnB,CAAC,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,YAAY,IAAI,CAAC,aAAa,CAAC,MAAM,UAAU;gBACrF,CAAC,CAAC,qCAAqC;SAC1C,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACjH,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,UAAU;QACnB,SAAS;QACT,UAAU;QACV,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,mBAAmB,UAAU,EAAE,OAAO,IAAI,KAAK,MAAM,UAAU,YAC7D,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAC9C,EAAE;YACJ,CAAC,CAAC,uBAAuB,UAAU,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,8BAA8B;KACjH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,UAAqC;IACtE,OAAO,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,UAAqC;IAC1E,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,iCAAiC;QAC/G,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,MAAM,EAAE;YACN,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK;YAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;YAC9B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY;YACpC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa;SACvC;QACD,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC7B,CAAC,CAAC;gBACE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;gBAC1C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW;gBAC9C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,gBAAgB;gBAChD,UAAU,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;aACzC;YACH,CAAC,CAAC,IAAI;QACR,sEAAsE;QACtE,MAAM,EAAE,UAAU,CAAC,MAAM;YACvB,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;gBAChC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrF,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7C,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjI,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,IAAI;QACR,uEAAuE;QACvE,uEAAuE;QACvE,gCAAgC;QAChC,GAAG,CAAC,UAAU,CAAC,QAAQ;YACrB,CAAC,CAAC;gBACE,QAAQ,EAAE;oBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvF,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC/C,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACjI,MAAM,EAAE,CAAC,CAAC,MAAM;qBACjB,CAAC,CAAC;iBACJ;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,mEAAmE;QACnE,2EAA2E;QAC3E,QAAQ,EAAE,UAAU,CAAC,MAAM;YACzB,CAAC,CAAC;gBACE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;gBAClC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;gBACtC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI;gBAC9C,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAC5C,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc;gBAChD,QAAQ,EAAE,IAAI;gBACd,oEAAoE;gBACpE,oEAAoE;gBACpE,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF;YACH,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAsB,EACtB,QAA+C;IAE/C,iEAAiE;IACjE,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,UAAU,KAAK,IAAI;QAC3B,UAAU;QACV,MAAM,EAAE,IAAI,EAAE,6DAA6D;QAC3E,OAAO;QACP,OAAO,EAAE,UAAU;YACjB,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,mBAAmB,UAAU,CAAC,OAAO,yBAAyB,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;gBACvG,CAAC,CAAC,0CAA0C,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE;YACrF,CAAC,CAAC,qDAAqD;KAC1D,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { VerifierService, } from '@zelari/core/verification';
2
2
  import { collectProviderText } from '../tools/krakenSelectTool.js';
3
- import { resolveCrossModelVerifier } from '../tools/krakenModel.js';
4
3
  import { getWorkingDiff } from '../gitOps.js';
5
4
  import { loadVerifierModelSelection } from './verifierResolution.js';
5
+ // t21 (§P1.D): risk-based reviewer routing on top of the P0.6 cross-family default.
6
+ import { activeRisk, divergenceFromReviews, mergeVerifierVerdicts, resolveVerifierRouting } from './verifierRouting.js';
6
7
  /**
7
8
  * Opt-in rule (see module doc): explicit env wins in both directions;
8
9
  * otherwise a dedicated (fixed) verifier selection enables the review.
@@ -39,21 +40,6 @@ export function makeVerifierCallModel(loadStream, identity, timeoutMs = 120_000)
39
40
  return { text, provider: identity.provider, model: identity.model };
40
41
  };
41
42
  }
42
- function resolveIdentity(selection, session, familyCandidates, env = process.env) {
43
- if (selection.mode === 'fixed') {
44
- return { provider: selection.provider, model: selection.model };
45
- }
46
- if (!session || !session.provider || !session.model)
47
- return null;
48
- // P0.6 cross-model: inherit mode may route to a different provider family
49
- // when family candidates were supplied; otherwise keep session identity.
50
- if (familyCandidates && familyCandidates.length > 0) {
51
- const cross = resolveCrossModelVerifier(session, familyCandidates, env);
52
- if (cross)
53
- return { provider: cross.provider, model: cross.model };
54
- }
55
- return session;
56
- }
57
43
  /** Criterion ids that look like deterministic test/typecheck/build/lint runs. */
58
44
  function isTestEvidenceCriterion(criterionId) {
59
45
  const id = criterionId.toLowerCase();
@@ -123,30 +109,59 @@ export async function runAdvisoryVerifierReview(evaluation, deps = {}) {
123
109
  const selection = deps.selection ?? loadVerifierModelSelection();
124
110
  if (!verifierReviewEnabled(selection, env))
125
111
  return null;
126
- const identity = resolveIdentity(selection, deps.session, deps.familyCandidates, env);
127
- let callModel = deps.callModel;
128
- if (!callModel) {
129
- if (!identity || !deps.loadStream)
130
- return null;
131
- callModel = makeVerifierCallModel(deps.loadStream, identity, deps.timeoutMs);
132
- }
133
- const service = new VerifierService({
134
- callModel,
135
- config: {
136
- enabled: true,
137
- model: selection,
138
- progressScoring: false,
139
- bon: { enabled: false, n: 3 },
140
- },
141
- emit: deps.emit,
112
+ // t21 / PW §10: LOW risk turns the LLM reviewer OFF — deterministic
113
+ // verification only. The reviewer is ADVISORY, so its absence cannot
114
+ // create an `unknown` blocker: `evaluation.review` simply stays unset and
115
+ // the CompletionPolicy verdict rests solely on the deterministic criteria.
116
+ const risk = deps.risk ?? activeRisk(env);
117
+ if (risk === 'low')
118
+ return null;
119
+ // Route reviewers per risk (t21): resolves the identity family-wise exactly
120
+ // like the previous P0.6 path (fixed selection wins; inherit may cross to a
121
+ // different provider family), then refines economy/strength and, at critical
122
+ // risk, adds an independent second-family reviewer.
123
+ const route = resolveVerifierRouting(selection.mode === 'fixed' ? { provider: selection.provider, model: selection.model } : null, risk, {
124
+ selectionMode: selection.mode === 'fixed' ? 'fixed' : 'inherit',
125
+ session: deps.session ?? null,
126
+ familyCandidates: deps.familyCandidates,
142
127
  env,
143
128
  });
129
+ const reviewers = route.reviewers;
130
+ let callModel = deps.callModel;
131
+ if (reviewers.length === 0 || (!callModel && !deps.loadStream))
132
+ return null;
144
133
  const blind = await buildBlindReviewInput(evaluation, deps);
145
- const review = await service.reviewCompletion({
146
- ...blind,
147
- session: deps.session,
148
- });
134
+ const reviews = [];
135
+ for (const reviewer of reviewers) {
136
+ // One VerifierService per reviewer so each appends its own spine
137
+ // `verification.run` event. Sequential on purpose — mirrors the single
138
+ // advisory pass; no new spawn machinery.
139
+ const call = callModel ??
140
+ makeVerifierCallModel(deps.loadStream, reviewer.identity, deps.timeoutMs);
141
+ const service = new VerifierService({
142
+ callModel: call,
143
+ config: {
144
+ enabled: true,
145
+ model: selection,
146
+ progressScoring: false,
147
+ bon: { enabled: false, n: 3 },
148
+ },
149
+ emit: deps.emit,
150
+ env,
151
+ });
152
+ reviews.push(await service.reviewCompletion({ ...blind, session: deps.session }));
153
+ }
154
+ // Single reviewer (low churn default): behavior identical to pre-t21.
155
+ // Multiple reviewers (critical): merge PESSIMISTICALLY — any blocker/fail
156
+ // wins over unknown wins over confirmed.
157
+ const review = reviews.length > 1 ? mergeVerifierVerdicts(reviews) : reviews[0];
149
158
  evaluation.review = review;
159
+ // PW §10: disagreement between the two critical reviewers becomes
160
+ // structured EVIDENCE (`verifier-divergence`) in the verification.run
161
+ // payload → completion proof json; it never rewrites the merged verdict.
162
+ if (reviews.length > 1 && risk === 'critical') {
163
+ evaluation.reviewDivergence = divergenceFromReviews(reviews, reviewers.map((r) => ({ family: r.family, role: r.role })));
164
+ }
150
165
  return review;
151
166
  }
152
167
  //# sourceMappingURL=verifierLifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifierLifecycle.js","sourceRoot":"","sources":["../../../src/cli/kraken/verifierLifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifierLifecycle.js","sourceRoot":"","sources":["../../../src/cli/kraken/verifierLifecycle.ts"],"names":[],"mappings":"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"}