dsh-auto-review 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.es.md +1 -1
- package/README.hi.md +1 -1
- package/README.md +3 -3
- package/README.pt.md +1 -1
- package/README.zh.md +1 -1
- package/lib/eval-cli.js +1 -1
- package/lib/eval.js +1 -1
- package/lib/{events-CLaRirOo.js → events-B26rtaMW.js} +14 -1
- package/lib/index.js +22 -22
- package/lib/invariant.js +2 -2
- package/lib/{report-B3Uq-u1O.js → report-CKaOyIzM.js} +22 -8
- package/lib/types/eval/runner.d.ts +2 -2
- package/lib/types/eval/runner.d.ts.map +1 -1
- package/lib/types/eval/runner.js +10 -8
- package/lib/types/eval/runner.js.map +1 -1
- package/lib/types/invariant.d.ts.map +1 -1
- package/lib/types/invariant.js +2 -1
- package/lib/types/invariant.js.map +1 -1
- package/lib/types/review.d.ts.map +1 -1
- package/lib/types/review.js +3 -2
- package/lib/types/review.js.map +1 -1
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/runtime.js +20 -19
- package/lib/types/runtime.js.map +1 -1
- package/lib/types/session-events.d.ts +20 -0
- package/lib/types/session-events.d.ts.map +1 -0
- package/lib/types/session-events.js +22 -0
- package/lib/types/session-events.js.map +1 -0
- package/package.json +18 -18
- package/src/eval/runner.ts +10 -7
- package/src/invariant.ts +2 -1
- package/src/review.ts +3 -2
- package/src/runtime.ts +20 -19
- package/src/session-events.ts +25 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `dsh-auto-review` are documented here. The repo is pre-release; versions follow the DeepSeek Harness `0.1.0-rc.x` target runtime and bump on every behavior change.
|
|
4
4
|
|
|
5
|
+
## [0.10.1] - 2026-09-02
|
|
6
|
+
|
|
7
|
+
### Docs
|
|
8
|
+
|
|
9
|
+
- Sync the five-language READMEs to the 0.1.2-alpha.5 facts; no behavior change.
|
|
10
|
+
|
|
11
|
+
## [0.10.0] - 2026-09-02
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Align the devDependency pins to the published dsh 0.1.2-alpha.5 line and re-verify the adaptation claims; no behavior change.
|
|
16
|
+
|
|
5
17
|
## [0.9.0] - 2026-09-01
|
|
6
18
|
|
|
7
19
|
### Changed
|
package/README.es.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Superficie | Estado |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.5` (dependencias fijadas a `0.1.1-rc.2`; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-alpha.5 (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| Plataformas | Todas (answerer de host; panel web opcional mediante la capacidad de proyección de sesión) |
|
|
32
32
|
| Modelo | Cualquiera (el revisor hereda la ruta del agente de sesión; `reviewerModel` la reemplaza) |
|
package/README.hi.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| सतह | स्थिति |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.5` (dependencies `0.1.1-rc.2` पर पिन की गईं; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-alpha.5 (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| प्लेटफ़ॉर्म | सभी (होस्ट answerer; सत्र-प्रोजेक्शन क्षमता के ज़रिए वैकल्पिक वेब समीक्षा पैनल) |
|
|
32
32
|
| मॉडल | कोई भी (समीक्षक सत्र एजेंट का मार्ग विरासत में लेता है; `reviewerModel` उसे बदल देता है) |
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
| Surface | Status |
|
|
29
29
|
|---|---|
|
|
30
|
-
| Harness | DeepSeek Harness `0.1.
|
|
30
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.5` (dependencies pinned to `0.1.1-rc.2`; peers `>=0.1.0-rc.8 <0.2.0`) |
|
|
31
31
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
32
32
|
| Platforms | All (host answerer; optional Web review panel via the session-projection capability) |
|
|
33
33
|
| Model | Any (the reviewer inherits the session agent's route; `reviewerModel` overrides) |
|
|
@@ -103,7 +103,7 @@ All tunables are Schemastery `Config` fields (changeable from cordis.yml). An id
|
|
|
103
103
|
| `verdictCacheTtlMs` | `60000` | Reuse a recent verdict for an identical `tool + arguments` fingerprint; `0` disables the cache. Only applies with `contextBudget.turns: 0` — a transcript-dependent verdict is not replayable from `tool + arguments` alone |
|
|
104
104
|
| `verdictCacheMaxEntries` | `256` | Maximum cached fingerprints before oldest-eviction |
|
|
105
105
|
| `language` | `en` | UI language of the `/auto-review` command output (`en` \| `zh`) |
|
|
106
|
-
| `allowUnmarkedAudit` | `false` | Force session-log audit on hosts that drop the `ignorable` marker or fail-closed on unknown event types (host `0.1.2-alpha.
|
|
106
|
+
| `allowUnmarkedAudit` | `false` | Force session-log audit on hosts that drop the `ignorable` marker or fail-closed on unknown event types (host `0.1.2-alpha.5`+) (dangerous: unmarked events make sessions unresumable elsewhere); default is detect-and-degrade 0.1.2-alpha.5 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
|
|
107
107
|
|
|
108
108
|
Example (annotated full form: `fixtures/config/config-full.yaml`):
|
|
109
109
|
|
|
@@ -319,7 +319,7 @@ The server is read-only and deterministic: no network, no model, no writes.
|
|
|
319
319
|
|
|
320
320
|
- **Permissions**: the workshop manifest declares `session:append`, `approval:answer`, `subagent:spawn`, `command:register`, and `tools:observe`.
|
|
321
321
|
- **Data**: nothing is stored on disk; the report ring buffer is in-memory and bounded. No network requests of its own.
|
|
322
|
-
- **Session log**: `autoReview/*` events carry reviewer identity, verdict, reason, risk, and duration — appended with the envelope's `ignorable: true` marker so any build loads the log. Hosts whose `Session.append` predates the marker (every released rc line through `0.1.1-rc.2` — no release stamps it yet) are detected before the first append (peer-version pre-check); host `0.1.2-alpha.
|
|
322
|
+
- **Session log**: `autoReview/*` events carry reviewer identity, verdict, reason, risk, and duration — appended with the envelope's `ignorable: true` marker so any build loads the log. Hosts whose `Session.append` predates the marker (every released rc line through `0.1.1-rc.2` — no release stamps it yet) are detected before the first append (peer-version pre-check); host `0.1.2-alpha.5` keeps the `ignorable` field on the envelope but `Session.append` offers no way to stamp it (its third parameter is `SurfaceIntent` for surface events only), and the persistence read path refuses unmarked unknown event types, so those lines — and unresolvable versions — also fail closed before any append. Audit then degrades to an in-memory mirror with marker-free feedback, so sessions stay loadable everywhere.
|
|
323
323
|
|
|
324
324
|
## Security boundaries
|
|
325
325
|
|
package/README.pt.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| Superfície | Status |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.5` (dependências fixadas em `0.1.1-rc.2`; peers `>=0.1.0-rc.8 <0.2.0`) 0.1.2-alpha.5 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| Plataformas | Todas (answerer de host; painel web opcional via capacidade de projeção de sessão) |
|
|
32
32
|
| Modelo | Qualquer (o revisor herda a rota do agente da sessão; `reviewerModel` sobrescreve) |
|
package/README.zh.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
| 方面 | 状态 |
|
|
28
28
|
|---|---|
|
|
29
|
-
| Harness | DeepSeek Harness `0.1.
|
|
29
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.5`(依赖锁定在 `0.1.1-rc.2`;peer 范围 `>=0.1.0-rc.8 <0.2.0`) 0.1.2-alpha.5(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
|
|
30
30
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
31
31
|
| 平台 | 全部(宿主 answerer;可选 Web 审查面板,依赖会话投影能力) |
|
|
32
32
|
| 模型 | 任意(审查器默认继承会话代理的路由;`reviewerModel` 可覆盖) |
|
package/lib/eval-cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as parseSuite, a as EvalEngine, i as writeReports, o as evalReviewConfig, r as renderTerminalSummary, t as exitCodeFor } from "./report-
|
|
1
|
+
import { A as parseSuite, a as EvalEngine, i as writeReports, o as evalReviewConfig, r as renderTerminalSummary, t as exitCodeFor } from "./report-CKaOyIzM.js";
|
|
2
2
|
import { mkdir, readFile, readdir } from "node:fs/promises";
|
|
3
3
|
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
4
4
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
package/lib/eval.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as parseSuite, C as diffLines, D as renderToolCall, E as collectTrace, M as resolveCaseTimeout, O as DslError, S as percentile, T as renderSideBySide, _ as renderArgumentExpectation, a as EvalEngine, b as validateExpectations, c as resolvePromptBaselines, d as EVAL_VERDICT_SCHEMA, f as buildEvalReviewPrompt, g as deepContains, h as argumentsMatchRegexes, i as writeReports, j as resolveCaseModel, k as SuiteSchema, l as sessionHeaderLine, m as runEvalReview, n as renderMarkdownReport, o as evalReviewConfig, p as isEvalReviewFailure, r as renderTerminalSummary, s as renderSessionArtifact, t as exitCodeFor, u as summarizeCaseResult, v as runAssertions, w as hasChanges, x as computeStressMetrics, y as toolNameMatches } from "./report-
|
|
1
|
+
import { A as parseSuite, C as diffLines, D as renderToolCall, E as collectTrace, M as resolveCaseTimeout, O as DslError, S as percentile, T as renderSideBySide, _ as renderArgumentExpectation, a as EvalEngine, b as validateExpectations, c as resolvePromptBaselines, d as EVAL_VERDICT_SCHEMA, f as buildEvalReviewPrompt, g as deepContains, h as argumentsMatchRegexes, i as writeReports, j as resolveCaseModel, k as SuiteSchema, l as sessionHeaderLine, m as runEvalReview, n as renderMarkdownReport, o as evalReviewConfig, p as isEvalReviewFailure, r as renderTerminalSummary, s as renderSessionArtifact, t as exitCodeFor, u as summarizeCaseResult, v as runAssertions, w as hasChanges, x as computeStressMetrics, y as toolNameMatches } from "./report-CKaOyIzM.js";
|
|
2
2
|
export { DslError, EVAL_VERDICT_SCHEMA, EvalEngine, SuiteSchema, argumentsMatchRegexes, buildEvalReviewPrompt, collectTrace, computeStressMetrics, deepContains, diffLines, evalReviewConfig, exitCodeFor, hasChanges, isEvalReviewFailure, parseSuite, percentile, renderArgumentExpectation, renderMarkdownReport, renderSessionArtifact, renderSideBySide, renderTerminalSummary, renderToolCall, resolveCaseModel, resolveCaseTimeout, resolvePromptBaselines, runAssertions, runEvalReview, sessionHeaderLine, summarizeCaseResult, toolNameMatches, validateExpectations, writeReports };
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
//#region src/session-events.ts
|
|
2
|
+
/**
|
|
3
|
+
* The current event snapshot of one session, whichever harness line owns it.
|
|
4
|
+
* @param session - the host Session (or a fixture-shaped session in tests).
|
|
5
|
+
* @returns a frozen full log snapshot on alpha.5+, the `.events` array earlier.
|
|
6
|
+
*/
|
|
7
|
+
function sessionEvents(session) {
|
|
8
|
+
if (session === null || session === void 0) return [];
|
|
9
|
+
const probe = session;
|
|
10
|
+
if (typeof probe.snapshotEvents === "function") return probe.snapshotEvents();
|
|
11
|
+
return session.events ?? [];
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
1
14
|
//#region src/events.ts
|
|
2
15
|
/** Closed {@link AutoReviewFallback} list for runtime normalization. */
|
|
3
16
|
const AUTO_REVIEW_FALLBACKS = [
|
|
@@ -385,4 +398,4 @@ function findPresentedCall(events, callId) {
|
|
|
385
398
|
}
|
|
386
399
|
}
|
|
387
400
|
//#endregion
|
|
388
|
-
export { plainDenyResultText as A, fallbackResultText as C, neverResultText as D, lastDeniedVerdicts as E, plainNeverResultText as M, reviewStats as N, openTurnVerdicts as O, effectiveAutoReviewState as S, isDenial as T, circuitResultText as _, CIRCUIT_MARKER as a, deniesInRecentVerdicts as b, DENY_MARKER_PATTERN as c, NEVER_MARKER as d, NEVER_MARKER_PATTERN as f, circuitInOpenTurn as g, autoReviewsInOpenTurn as h, AutoReviewVerdictId as i, plainFallbackResultText as j, plainCircuitResultText as k, FALLBACK_MARKER as l, autoReviewFailuresInOpenTurn as m, AutoReviewCircuitId as n, CIRCUIT_MARKER_PATTERN as o, activeOverride as p, AutoReviewRejectionId as r, DENY_MARKER as s, AUTO_REVIEW_FALLBACKS as t, FALLBACK_MARKER_PATTERN as u, consecutiveDeniesInOpenTurn as v, findPresentedCall as w, denyResultText as x, correlateApprovalId as y };
|
|
401
|
+
export { plainDenyResultText as A, fallbackResultText as C, neverResultText as D, lastDeniedVerdicts as E, plainNeverResultText as M, reviewStats as N, openTurnVerdicts as O, sessionEvents as P, effectiveAutoReviewState as S, isDenial as T, circuitResultText as _, CIRCUIT_MARKER as a, deniesInRecentVerdicts as b, DENY_MARKER_PATTERN as c, NEVER_MARKER as d, NEVER_MARKER_PATTERN as f, circuitInOpenTurn as g, autoReviewsInOpenTurn as h, AutoReviewVerdictId as i, plainFallbackResultText as j, plainCircuitResultText as k, FALLBACK_MARKER as l, autoReviewFailuresInOpenTurn as m, AutoReviewCircuitId as n, CIRCUIT_MARKER_PATTERN as o, activeOverride as p, AutoReviewRejectionId as r, DENY_MARKER as s, AUTO_REVIEW_FALLBACKS as t, FALLBACK_MARKER_PATTERN as u, consecutiveDeniesInOpenTurn as v, findPresentedCall as w, denyResultText as x, correlateApprovalId as y };
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as plainDenyResultText, C as fallbackResultText, D as neverResultText, E as lastDeniedVerdicts, M as plainNeverResultText, N as reviewStats, O as openTurnVerdicts, S as effectiveAutoReviewState, T as isDenial, _ as circuitResultText, a as CIRCUIT_MARKER, b as deniesInRecentVerdicts, c as DENY_MARKER_PATTERN, d as NEVER_MARKER, f as NEVER_MARKER_PATTERN, g as circuitInOpenTurn, h as autoReviewsInOpenTurn, i as AutoReviewVerdictId, j as plainFallbackResultText, k as plainCircuitResultText, l as FALLBACK_MARKER, m as autoReviewFailuresInOpenTurn, n as AutoReviewCircuitId, o as CIRCUIT_MARKER_PATTERN, p as activeOverride, r as AutoReviewRejectionId, s as DENY_MARKER, t as AUTO_REVIEW_FALLBACKS, u as FALLBACK_MARKER_PATTERN, v as consecutiveDeniesInOpenTurn, w as findPresentedCall, x as denyResultText, y as correlateApprovalId } from "./events-
|
|
1
|
+
import { A as plainDenyResultText, C as fallbackResultText, D as neverResultText, E as lastDeniedVerdicts, M as plainNeverResultText, N as reviewStats, O as openTurnVerdicts, P as sessionEvents, S as effectiveAutoReviewState, T as isDenial, _ as circuitResultText, a as CIRCUIT_MARKER, b as deniesInRecentVerdicts, c as DENY_MARKER_PATTERN, d as NEVER_MARKER, f as NEVER_MARKER_PATTERN, g as circuitInOpenTurn, h as autoReviewsInOpenTurn, i as AutoReviewVerdictId, j as plainFallbackResultText, k as plainCircuitResultText, l as FALLBACK_MARKER, m as autoReviewFailuresInOpenTurn, n as AutoReviewCircuitId, o as CIRCUIT_MARKER_PATTERN, p as activeOverride, r as AutoReviewRejectionId, s as DENY_MARKER, t as AUTO_REVIEW_FALLBACKS, u as FALLBACK_MARKER_PATTERN, v as consecutiveDeniesInOpenTurn, w as findPresentedCall, x as denyResultText, y as correlateApprovalId } from "./events-B26rtaMW.js";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { createUserMessage } from "@deepseek-ai/dsh-llm";
|
|
4
4
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -6102,8 +6102,8 @@ function buildReviewPrompt(request, config, override) {
|
|
|
6102
6102
|
"an allow — judge the current evidence normally, but count the explicit human",
|
|
6103
6103
|
"authorization as strong evidence of legitimacy."
|
|
6104
6104
|
].join("\n");
|
|
6105
|
-
const context = renderCallContext(request.agent.session
|
|
6106
|
-
const transcript = buildContextSection(request.agent.session
|
|
6105
|
+
const context = renderCallContext(sessionEvents(request.agent.session), request.callId, config.reasonMaxChars);
|
|
6106
|
+
const transcript = buildContextSection(sessionEvents(request.agent.session), config.contextBudget);
|
|
6107
6107
|
const transcriptSection = transcript === "" ? "" : `\nRecent session transcript (presented content, most recent last):\n${transcript}\n`;
|
|
6108
6108
|
const reason = truncate(request.reason ?? "(none given)", config.reasonMaxChars);
|
|
6109
6109
|
return [
|
|
@@ -6391,7 +6391,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6391
6391
|
/** The seq of the open turn/start, or undefined between turns (first-party events exist on every host). */
|
|
6392
6392
|
openTurnSeq(session) {
|
|
6393
6393
|
let start;
|
|
6394
|
-
for (const event of session
|
|
6394
|
+
for (const event of sessionEvents(session)) if (event.type === "turn/start") start = event.seq;
|
|
6395
6395
|
else if (event.type === "turn/end") start = void 0;
|
|
6396
6396
|
return start;
|
|
6397
6397
|
}
|
|
@@ -6437,17 +6437,17 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6437
6437
|
}
|
|
6438
6438
|
/** The per-turn metrics the caller should read: event folds on marker-aware hosts, the memory mirror otherwise. */
|
|
6439
6439
|
verdictsInOpenTurn(session, memory) {
|
|
6440
|
-
return this.auditMayAppend() ? autoReviewsInOpenTurn(session
|
|
6440
|
+
return this.auditMayAppend() ? autoReviewsInOpenTurn(sessionEvents(session)) : memory.verdicts.length;
|
|
6441
6441
|
}
|
|
6442
6442
|
failuresInOpenTurn(session, memory) {
|
|
6443
|
-
return this.auditMayAppend() ? autoReviewFailuresInOpenTurn(session
|
|
6443
|
+
return this.auditMayAppend() ? autoReviewFailuresInOpenTurn(sessionEvents(session)) : memory.failures;
|
|
6444
6444
|
}
|
|
6445
6445
|
circuitFor(session, memory) {
|
|
6446
|
-
return this.auditMayAppend() ? circuitInOpenTurn(session
|
|
6446
|
+
return this.auditMayAppend() ? circuitInOpenTurn(sessionEvents(session)) : memory.circuit;
|
|
6447
6447
|
}
|
|
6448
6448
|
/** The pending one-shot override for a tool: the event fold on marker-aware hosts, the memory mirror otherwise. */
|
|
6449
6449
|
activeOverrideFor(session, memory, toolName, now) {
|
|
6450
|
-
if (this.auditMayAppend()) return activeOverride(session
|
|
6450
|
+
if (this.auditMayAppend()) return activeOverride(sessionEvents(session), toolName, this.config.overrideTtlMs, now);
|
|
6451
6451
|
const index = memory.overrides.findIndex((override) => override.toolName === toolName && now - override.at <= this.config.overrideTtlMs);
|
|
6452
6452
|
if (index < 0) return void 0;
|
|
6453
6453
|
const [override] = memory.overrides.splice(index, 1);
|
|
@@ -6486,8 +6486,8 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6486
6486
|
if (this.reviewerSessions.has(request.agent.id)) return next();
|
|
6487
6487
|
const session = request.agent.session;
|
|
6488
6488
|
const memory = this.memoryFor(session);
|
|
6489
|
-
if (!(effectiveAutoReviewState(session
|
|
6490
|
-
const argumentsText = this.config.riskRules.some((rule) => rule.field === "arguments") && request.callId !== void 0 ? sanitizedArgumentsText(session
|
|
6489
|
+
if (!(effectiveAutoReviewState(sessionEvents(session)) ?? memory.enabledOverride ?? this.config.enableByDefault)) return next();
|
|
6490
|
+
const argumentsText = this.config.riskRules.some((rule) => rule.field === "arguments") && request.callId !== void 0 ? sanitizedArgumentsText(sessionEvents(session), request.callId) : void 0;
|
|
6491
6491
|
const { policy, source } = policyFor(this.config, request, argumentsText);
|
|
6492
6492
|
if (policy === "never") return this.neverReject(request, source);
|
|
6493
6493
|
if (policy !== "ai") return next();
|
|
@@ -6495,7 +6495,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6495
6495
|
if (this.failuresInOpenTurn(session, memory) >= this.config.maxFailuresPerTurn) return next();
|
|
6496
6496
|
const circuit = this.circuitFor(session, memory);
|
|
6497
6497
|
if (circuit !== void 0) return this.circuitSettle(request, circuit, next);
|
|
6498
|
-
const approvalId = correlateApprovalId(session
|
|
6498
|
+
const approvalId = correlateApprovalId(sessionEvents(session), request.toolName, request.callId);
|
|
6499
6499
|
if (approvalId === void 0) return this.finish(request, void 0, {
|
|
6500
6500
|
fallback: "unavailable",
|
|
6501
6501
|
error: "cannot correlate the pending approval/asked audit event"
|
|
@@ -6521,7 +6521,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6521
6521
|
neverReject(request, source) {
|
|
6522
6522
|
const rejectionId = newRejectionId();
|
|
6523
6523
|
const reason = truncate(source, this.config.reasonMaxChars);
|
|
6524
|
-
const approvalId = correlateApprovalId(request.agent.session
|
|
6524
|
+
const approvalId = correlateApprovalId(sessionEvents(request.agent.session), request.toolName, request.callId);
|
|
6525
6525
|
const session = request.agent.session;
|
|
6526
6526
|
const memory = this.memoryFor(session);
|
|
6527
6527
|
const auditOk = this.auditMayAppend();
|
|
@@ -6555,7 +6555,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6555
6555
|
if (this.config.verdictCacheTtlMs <= 0) return void 0;
|
|
6556
6556
|
if (this.config.contextBudget.turns > 0) return void 0;
|
|
6557
6557
|
if (request.callId === void 0) return void 0;
|
|
6558
|
-
const raw = findPresentedCall(request.agent.session
|
|
6558
|
+
const raw = findPresentedCall(sessionEvents(request.agent.session), request.callId);
|
|
6559
6559
|
return fingerprint(request.toolName, raw);
|
|
6560
6560
|
}
|
|
6561
6561
|
/**
|
|
@@ -6705,14 +6705,14 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6705
6705
|
const session = request.agent.session;
|
|
6706
6706
|
const memory = this.memoryFor(session);
|
|
6707
6707
|
const auditOk = this.auditMayAppend();
|
|
6708
|
-
if ((auditOk ? circuitInOpenTurn(session
|
|
6708
|
+
if ((auditOk ? circuitInOpenTurn(sessionEvents(session)) : memory.circuit) !== void 0) return;
|
|
6709
6709
|
const { consecutiveDenies, windowDenies, windowSize, action } = this.config.circuitBreaker;
|
|
6710
|
-
const consecutive = auditOk ? consecutiveDeniesInOpenTurn(session
|
|
6710
|
+
const consecutive = auditOk ? consecutiveDeniesInOpenTurn(sessionEvents(session)) : AutoReviewRuntime.leadingDenials(memory.verdicts);
|
|
6711
6711
|
const trip = consecutive >= consecutiveDenies ? {
|
|
6712
6712
|
kind: "consecutive",
|
|
6713
6713
|
count: consecutive
|
|
6714
6714
|
} : (() => {
|
|
6715
|
-
const window = auditOk ? deniesInRecentVerdicts(session
|
|
6715
|
+
const window = auditOk ? deniesInRecentVerdicts(sessionEvents(session), windowSize) : memory.verdicts.slice(0, windowSize).filter((verdict) => verdict.denial).length;
|
|
6716
6716
|
return window >= windowDenies ? {
|
|
6717
6717
|
kind: "window",
|
|
6718
6718
|
count: window
|
|
@@ -6832,17 +6832,17 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6832
6832
|
const t = messages(this.config.language);
|
|
6833
6833
|
const input = invocation.rawInput.trim().toLowerCase();
|
|
6834
6834
|
if (input.startsWith("approve")) return this.approveCommand(invocation);
|
|
6835
|
-
const current = effectiveAutoReviewState(session
|
|
6835
|
+
const current = effectiveAutoReviewState(sessionEvents(session)) ?? memory.enabledOverride ?? this.config.enableByDefault;
|
|
6836
6836
|
if (input === "status" || input === "") {
|
|
6837
6837
|
const auditOk = this.auditMayAppend();
|
|
6838
|
-
const stats = auditOk ? reviewStats(session
|
|
6839
|
-
const circuit = auditOk ? circuitInOpenTurn(session
|
|
6838
|
+
const stats = auditOk ? reviewStats(sessionEvents(session)) : this.memoryStats(memory);
|
|
6839
|
+
const circuit = auditOk ? circuitInOpenTurn(sessionEvents(session)) : memory.circuit;
|
|
6840
6840
|
const recent = stats.recent.length === 0 ? [] : [t.recentLine(stats.recent.map((verdict) => {
|
|
6841
6841
|
const label = verdict.decision !== void 0 ? verdict.decision : `fallback(${verdict.fallback ?? "?"})`;
|
|
6842
6842
|
return `${verdict.toolName}: ${label}`;
|
|
6843
6843
|
}).join(", "))];
|
|
6844
|
-
const verdictsUsed = auditOk ? autoReviewsInOpenTurn(session
|
|
6845
|
-
const failuresUsed = auditOk ? autoReviewFailuresInOpenTurn(session
|
|
6844
|
+
const verdictsUsed = auditOk ? autoReviewsInOpenTurn(sessionEvents(session)) : memory.verdicts.length;
|
|
6845
|
+
const failuresUsed = auditOk ? autoReviewFailuresInOpenTurn(sessionEvents(session)) : memory.failures;
|
|
6846
6846
|
const auditOff = !auditOk && !this.config.allowUnmarkedAudit;
|
|
6847
6847
|
return {
|
|
6848
6848
|
kind: "success",
|
|
@@ -6906,7 +6906,7 @@ var AutoReviewRuntime = class AutoReviewRuntime {
|
|
|
6906
6906
|
text: t.approveInvalid(arg ?? "")
|
|
6907
6907
|
};
|
|
6908
6908
|
const auditOk = this.auditMayAppend();
|
|
6909
|
-
const denies = auditOk ? lastDeniedVerdicts(session
|
|
6909
|
+
const denies = auditOk ? lastDeniedVerdicts(sessionEvents(session), index) : memory.denies.slice(0, index).map((denial) => ({
|
|
6910
6910
|
reviewId: denial.id,
|
|
6911
6911
|
toolName: denial.toolName
|
|
6912
6912
|
}));
|
package/lib/invariant.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as DENY_MARKER_PATTERN, f as NEVER_MARKER_PATTERN, o as CIRCUIT_MARKER_PATTERN, t as AUTO_REVIEW_FALLBACKS, u as FALLBACK_MARKER_PATTERN } from "./events-
|
|
1
|
+
import { P as sessionEvents, c as DENY_MARKER_PATTERN, f as NEVER_MARKER_PATTERN, o as CIRCUIT_MARKER_PATTERN, t as AUTO_REVIEW_FALLBACKS, u as FALLBACK_MARKER_PATTERN } from "./events-B26rtaMW.js";
|
|
2
2
|
//#region src/invariant.ts
|
|
3
3
|
const PACKAGE_NAME = "dsh-auto-review";
|
|
4
4
|
/** Cordis companion plugin name. */
|
|
@@ -206,7 +206,7 @@ const install = Object.assign((ctx, fail) => {
|
|
|
206
206
|
if (rejection.callId !== void 0 && rejection.callId !== block.toolCallId) fail(`tool/result never marker for rejection ${JSON.stringify(rejectionId)} has call id ${JSON.stringify(block.toolCallId)}, expected ${JSON.stringify(rejection.callId)}`);
|
|
207
207
|
}
|
|
208
208
|
};
|
|
209
|
-
for (const session of ctx.sessions.list()) for (const event of session
|
|
209
|
+
for (const session of ctx.sessions.list()) for (const event of sessionEvents(session)) validateEvent(session, event);
|
|
210
210
|
ctx.on("internal/dispatch", (_mode, eventName, args) => {
|
|
211
211
|
if (eventName !== "session/event") return;
|
|
212
212
|
const [session, event] = args;
|
|
@@ -13023,6 +13023,19 @@ async function runEvalReview(ctx, config, parent, caze, trace, signal) {
|
|
|
13023
13023
|
}
|
|
13024
13024
|
}
|
|
13025
13025
|
//#endregion
|
|
13026
|
+
//#region src/session-events.ts
|
|
13027
|
+
/**
|
|
13028
|
+
* The current event snapshot of one session, whichever harness line owns it.
|
|
13029
|
+
* @param session - the host Session (or a fixture-shaped session in tests).
|
|
13030
|
+
* @returns a frozen full log snapshot on alpha.5+, the `.events` array earlier.
|
|
13031
|
+
*/
|
|
13032
|
+
function sessionEvents(session) {
|
|
13033
|
+
if (session === null || session === void 0) return [];
|
|
13034
|
+
const probe = session;
|
|
13035
|
+
if (typeof probe.snapshotEvents === "function") return probe.snapshotEvents();
|
|
13036
|
+
return session.events ?? [];
|
|
13037
|
+
}
|
|
13038
|
+
//#endregion
|
|
13026
13039
|
//#region src/eval/runner.ts
|
|
13027
13040
|
/**
|
|
13028
13041
|
* The dsh-eval runner: executes a validated suite as isolated headless
|
|
@@ -13085,7 +13098,7 @@ async function resolvePromptBaselines(suite, suiteDir) {
|
|
|
13085
13098
|
return map;
|
|
13086
13099
|
}
|
|
13087
13100
|
/** Serialize one session header as the persistence-backend header line. */
|
|
13088
|
-
function sessionHeaderLine(header) {
|
|
13101
|
+
function sessionHeaderLine(header, inheritedEventCount) {
|
|
13089
13102
|
return {
|
|
13090
13103
|
type: "session",
|
|
13091
13104
|
version: header.version,
|
|
@@ -13093,7 +13106,7 @@ function sessionHeaderLine(header) {
|
|
|
13093
13106
|
createdAt: header.createdAt,
|
|
13094
13107
|
...header.cwd !== void 0 ? { cwd: header.cwd } : {},
|
|
13095
13108
|
...header.parentSession !== void 0 ? { parentSession: header.parentSession } : {},
|
|
13096
|
-
...
|
|
13109
|
+
...inheritedEventCount !== void 0 ? { seedLength: inheritedEventCount } : {},
|
|
13097
13110
|
...header.origin !== void 0 ? { origin: header.origin } : {},
|
|
13098
13111
|
delegationDepth: header.delegationDepth ?? 0,
|
|
13099
13112
|
...header.agentPreset !== void 0 ? { agentPreset: header.agentPreset } : {}
|
|
@@ -13107,8 +13120,8 @@ function sessionHeaderLine(header) {
|
|
|
13107
13120
|
* @param events - the full session log.
|
|
13108
13121
|
* @returns the artifact text.
|
|
13109
13122
|
*/
|
|
13110
|
-
function renderSessionArtifact(header, events) {
|
|
13111
|
-
return `${[JSON.stringify(sessionHeaderLine(header)), ...packChunkRuns(events).map((record) => JSON.stringify(record))].join("\n")}\n`;
|
|
13123
|
+
function renderSessionArtifact(header, events, inheritedEventCount) {
|
|
13124
|
+
return `${[JSON.stringify(sessionHeaderLine(header, inheritedEventCount)), ...packChunkRuns(events).map((record) => JSON.stringify(record))].join("\n")}\n`;
|
|
13112
13125
|
}
|
|
13113
13126
|
/** Truncate long report strings without cutting surrogate pairs. */
|
|
13114
13127
|
function clip(text, max) {
|
|
@@ -13319,8 +13332,9 @@ var EvalEngine = class {
|
|
|
13319
13332
|
}));
|
|
13320
13333
|
const outcome = await this.awaitIdle(agent, timeoutMs, options.signal);
|
|
13321
13334
|
await this.flushSession(agent);
|
|
13322
|
-
const trace = collectTrace(agent.session.id, agent.session
|
|
13323
|
-
const
|
|
13335
|
+
const trace = collectTrace(agent.session.id, sessionEvents(agent.session), firstSeq);
|
|
13336
|
+
const inheritedCount = agent.session.inheritedEventCount;
|
|
13337
|
+
const artifacts = await this.writeTraceArtifacts(options, caze, agent.session.header, sessionEvents(agent.session), trace, inheritedCount);
|
|
13324
13338
|
const assertionResults = runAssertions(caze, trace, promptBaselines);
|
|
13325
13339
|
let review;
|
|
13326
13340
|
if (caze.review !== void 0 && !options.signal.aborted) review = await this.runReview(agent, caze, trace, options.signal);
|
|
@@ -13404,7 +13418,7 @@ var EvalEngine = class {
|
|
|
13404
13418
|
* carries the in-memory trace).
|
|
13405
13419
|
* @returns report-relative paths of the artifacts that were written.
|
|
13406
13420
|
*/
|
|
13407
|
-
async writeTraceArtifacts(options, caze, header, events, trace) {
|
|
13421
|
+
async writeTraceArtifacts(options, caze, header, events, trace, inheritedEventCount) {
|
|
13408
13422
|
if (options.traceDir === void 0) return {};
|
|
13409
13423
|
await mkdir(options.traceDir, { recursive: true });
|
|
13410
13424
|
const base = safeId(caze.id);
|
|
@@ -13414,7 +13428,7 @@ var EvalEngine = class {
|
|
|
13414
13428
|
this.ctx.logger?.warn(`dsh-eval: cannot write trace JSON for "${caze.id}": ${String(error)}`);
|
|
13415
13429
|
}
|
|
13416
13430
|
try {
|
|
13417
|
-
await writeFile(join(options.traceDir, `${base}.session.jsonl`), renderSessionArtifact(header, events));
|
|
13431
|
+
await writeFile(join(options.traceDir, `${base}.session.jsonl`), renderSessionArtifact(header, events, inheritedEventCount));
|
|
13418
13432
|
} catch (error) {
|
|
13419
13433
|
this.ctx.logger?.warn(`dsh-eval: cannot write session artifact for "${caze.id}": ${String(error)}`);
|
|
13420
13434
|
}
|
|
@@ -128,7 +128,7 @@ export declare function evalReviewConfig(config: ResolvedConfig): EvalReviewConf
|
|
|
128
128
|
*/
|
|
129
129
|
export declare function resolvePromptBaselines(suite: EvalSuite, suiteDir?: string): Promise<ReadonlyMap<string, string>>;
|
|
130
130
|
/** Serialize one session header as the persistence-backend header line. */
|
|
131
|
-
export declare function sessionHeaderLine(header: SessionHeader): Record<string, unknown>;
|
|
131
|
+
export declare function sessionHeaderLine(header: SessionHeader, inheritedEventCount?: unknown): Record<string, unknown>;
|
|
132
132
|
/**
|
|
133
133
|
* Render one case's events as the canonical replayable session JSONL body
|
|
134
134
|
* (header line + packed chunk rows — the exact on-disk vocabulary of the
|
|
@@ -137,7 +137,7 @@ export declare function sessionHeaderLine(header: SessionHeader): Record<string,
|
|
|
137
137
|
* @param events - the full session log.
|
|
138
138
|
* @returns the artifact text.
|
|
139
139
|
*/
|
|
140
|
-
export declare function renderSessionArtifact(header: SessionHeader, events: readonly SessionEvent[]): string;
|
|
140
|
+
export declare function renderSessionArtifact(header: SessionHeader, events: readonly SessionEvent[], inheritedEventCount?: unknown): string;
|
|
141
141
|
/**
|
|
142
142
|
* The suite executor. One engine instance per process; the constructor only
|
|
143
143
|
* captures the context and configuration — no side effects until
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/eval/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/eval/runner.ts"],"names":[],"mappings":"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"}
|
package/lib/types/eval/runner.js
CHANGED
|
@@ -22,6 +22,7 @@ import { isAbsolute, join, resolve } from 'node:path';
|
|
|
22
22
|
import { installModelSelection } from '@deepseek-ai/dsh-agent';
|
|
23
23
|
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
24
24
|
import { SessionId, packChunkRuns } from '@deepseek-ai/dsh-session';
|
|
25
|
+
import { sessionEvents } from '../session-events.js';
|
|
25
26
|
import { runAssertions, validateExpectations } from './assert.js';
|
|
26
27
|
import { resolveCaseModel, resolveCaseTimeout } from './dsl.js';
|
|
27
28
|
import { collectTrace } from './trace.js';
|
|
@@ -71,7 +72,7 @@ export async function resolvePromptBaselines(suite, suiteDir) {
|
|
|
71
72
|
return map;
|
|
72
73
|
}
|
|
73
74
|
/** Serialize one session header as the persistence-backend header line. */
|
|
74
|
-
export function sessionHeaderLine(header) {
|
|
75
|
+
export function sessionHeaderLine(header, inheritedEventCount) {
|
|
75
76
|
return {
|
|
76
77
|
type: 'session',
|
|
77
78
|
version: header.version,
|
|
@@ -79,7 +80,7 @@ export function sessionHeaderLine(header) {
|
|
|
79
80
|
createdAt: header.createdAt,
|
|
80
81
|
...(header.cwd !== undefined ? { cwd: header.cwd } : {}),
|
|
81
82
|
...(header.parentSession !== undefined ? { parentSession: header.parentSession } : {}),
|
|
82
|
-
...(
|
|
83
|
+
...(inheritedEventCount !== undefined ? { seedLength: inheritedEventCount } : {}),
|
|
83
84
|
...(header.origin !== undefined ? { origin: header.origin } : {}),
|
|
84
85
|
delegationDepth: header.delegationDepth ?? 0,
|
|
85
86
|
...(header.agentPreset !== undefined ? { agentPreset: header.agentPreset } : {}),
|
|
@@ -93,9 +94,9 @@ export function sessionHeaderLine(header) {
|
|
|
93
94
|
* @param events - the full session log.
|
|
94
95
|
* @returns the artifact text.
|
|
95
96
|
*/
|
|
96
|
-
export function renderSessionArtifact(header, events) {
|
|
97
|
+
export function renderSessionArtifact(header, events, inheritedEventCount) {
|
|
97
98
|
const records = [
|
|
98
|
-
JSON.stringify(sessionHeaderLine(header)),
|
|
99
|
+
JSON.stringify(sessionHeaderLine(header, inheritedEventCount)),
|
|
99
100
|
...packChunkRuns(events).map(record => JSON.stringify(record)),
|
|
100
101
|
];
|
|
101
102
|
return `${records.join('\n')}\n`;
|
|
@@ -302,8 +303,9 @@ export class EvalEngine {
|
|
|
302
303
|
}));
|
|
303
304
|
const outcome = await this.awaitIdle(agent, timeoutMs, options.signal);
|
|
304
305
|
await this.flushSession(agent);
|
|
305
|
-
const trace = collectTrace(agent.session.id, agent.session
|
|
306
|
-
const
|
|
306
|
+
const trace = collectTrace(agent.session.id, sessionEvents(agent.session), firstSeq);
|
|
307
|
+
const inheritedCount = agent.session.inheritedEventCount;
|
|
308
|
+
const artifacts = await this.writeTraceArtifacts(options, caze, agent.session.header, sessionEvents(agent.session), trace, inheritedCount);
|
|
307
309
|
const assertionResults = runAssertions(caze, trace, promptBaselines);
|
|
308
310
|
let review;
|
|
309
311
|
if (caze.review !== undefined && !options.signal.aborted) {
|
|
@@ -399,7 +401,7 @@ export class EvalEngine {
|
|
|
399
401
|
* carries the in-memory trace).
|
|
400
402
|
* @returns report-relative paths of the artifacts that were written.
|
|
401
403
|
*/
|
|
402
|
-
async writeTraceArtifacts(options, caze, header, events, trace) {
|
|
404
|
+
async writeTraceArtifacts(options, caze, header, events, trace, inheritedEventCount) {
|
|
403
405
|
if (options.traceDir === undefined)
|
|
404
406
|
return {};
|
|
405
407
|
await mkdir(options.traceDir, { recursive: true });
|
|
@@ -411,7 +413,7 @@ export class EvalEngine {
|
|
|
411
413
|
this.ctx.logger?.warn(`dsh-eval: cannot write trace JSON for "${caze.id}": ${String(error)}`);
|
|
412
414
|
}
|
|
413
415
|
try {
|
|
414
|
-
await writeFile(join(options.traceDir, `${base}.session.jsonl`), renderSessionArtifact(header, events));
|
|
416
|
+
await writeFile(join(options.traceDir, `${base}.session.jsonl`), renderSessionArtifact(header, events, inheritedEventCount));
|
|
415
417
|
}
|
|
416
418
|
catch (error) {
|
|
417
419
|
this.ctx.logger?.warn(`dsh-eval: cannot write session artifact for "${caze.id}": ${String(error)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/eval/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/eval/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGjE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAmGhE,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,OAAO;QACL,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAgB,EAAE,QAAiB;IAC9E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACjC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAQ;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACjC,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;YAC5E,IAAI,IAAY,CAAA;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,EAAE,sCAAsC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC7J,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,mBAA6B;IACpF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAqB,EAAE,MAA+B,EAAE,mBAA6B;IACzH,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC9D,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC/D,CAAA;IACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAClC,CAAC;AAED,oEAAoE;AACpE,SAAS,IAAI,CAAC,IAAY,EAAE,GAAW;IACrC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;QAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACnE,OAAO,GAAG,GAAG,GAAG,CAAA;AAClB,CAAC;AAED,8DAA8D;AAC9D,SAAS,MAAM,CAAC,EAAU;IACxB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IACpD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;AAC1C,CAAC;AAED,4EAA4E;AAC5E,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,cAAc;IACd,MAAM;IACN,OAAO;IACP,eAAe;IACf,WAAW;IACX,UAAU;IACV,KAAK;IACL,MAAM;IACN,KAAK;CACN,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAWF,GAAG;IACH,YAAY;IAX/B,gFAAgF;IAChF,WAAW,GAMiB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAErJ,YACmB,GAAY,EACZ,YAA8B;mBAD9B,GAAG;4BACH,YAAY;IAC5B,CAAC;IAEJ,qEAAqE;IAC7D,KAAK,CAAC,kBAAkB,CAC9B,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,SAA6B,EAC7B,MAAmB;QAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5B,SAAS,EAAE,SAAS,CAAC,QAAQ,UAAU,EAAE,EAAE,CAAC;YAC5C,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;YACxB,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACpF,MAAM;YACN,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAClB,qBAAqB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YACzF,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAgB,EAAE,OAAuB;QACtD,MAAM,KAAK,GAAuB;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;SACjC,CAAA;QACD,4EAA4E;QAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,SAAS,CACjB,SAAS,IAAI,CAAC,EAAE,wFAAwF,CACzG,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;YACrE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,SAAS,CACjB,SAAS,IAAI,CAAC,EAAE,kFAAkF,CACnG,CAAA;YACH,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC7E,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAClF,MAAM,OAAO,GAAiB,IAAI,KAAK,CAAa,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;YACvC,OAAO,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAA;gBACpB,MAAM,IAAI,CAAC,CAAA;gBACX,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAa,CAAA;gBAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;gBAC/E,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;gBACvB,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACvH,CAAC;QACH,CAAC,CAAA;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACtE,6CAA6C;QAC7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAa,CAAA;gBAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,yDAAyD,CAAC,CAAA;YACtH,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAC9E,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACzD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACzD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM;YAC3D,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;SACpE,CAAA;QACD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW;YACX,SAAS;YACT,UAAU;YACV,UAAU,EAAE,UAAU,GAAG,SAAS;YAClC,OAAO;YACP,KAAK;SACN,CAAA;IACH,CAAC;IAED,oCAAoC;IAC5B,eAAe,CAAC,KAAgB,EAAE,IAAc,EAAE,KAAyB,EAAE,KAAa;QAChG,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,cAAc,CAAA;QACpE,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK;YACL,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,KAAK;YACL,UAAU,EAAE,EAAE;YACd,KAAK,EAAE;gBACL,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC;gBACX,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;aAChB;YACD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;SAC7B,CAAA;IACH,CAAC;IAED,mCAAmC;IAC3B,KAAK,CAAC,OAAO,CACnB,KAAgB,EAChB,IAAc,EACd,KAAyB,EACzB,OAAuB,EACvB,eAA4C;QAE5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAW,CAAA;QAC5D,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAW,CAAA;QACjF,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,gDAAgD,CAAC,CAAA;QAC7H,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACnF,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACxC,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC7D,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE;oBAC5B,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;wBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;wBAChD,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACvC,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,SAAS;gBACT,KAAK,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzF,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBAClF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;aAC7B,CAAA;QACH,CAAC;QACD,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACjG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAC1B,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAA;YAClC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;aACzB,CAAC,CAAC,CAAA;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACtE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;YACpF,MAAM,cAAc,GAAI,KAAK,CAAC,OAAwD,CAAC,mBAAmB,CAAA;YAC1G,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;YAC1I,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;YACpE,IAAI,MAAoC,CAAA;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzD,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAA;YACtC,MAAM,SAAS,GAAG,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;YACnE,IAAI,MAAkB,CAAA;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,WAAW,CAAA;YACtB,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,GAAG,OAAO,CAAA;YAClB,CAAC;iBAAM,IAAI,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC7F,MAAM,GAAG,MAAM,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,CAAA;YACjB,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;YACzC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM;gBACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK;gBACL,SAAS;gBACT,UAAU;gBACV,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAY;gBACrC,SAAS;gBACT,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,OAAO,KAAK,SAAS;oBACvB,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,SAAS,aAAa,EAAE;oBACxD,CAAC,CAAC,EAAE,CAAC;gBACP,UAAU,EAAE,gBAAgB;gBAC5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,KAAK;gBACL,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;aAC7B,CAAA;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;gBACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,SAAS;gBACT,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,KAAK,EAAE,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC/E,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;gBAClF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;aAC7B,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;gBACxB,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,mBAAmB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC/F,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,YAAY,CAAC,KAAY;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,0EAA0E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,mBAAmB,CAC/B,OAAuB,EACvB,IAAc,EACd,MAAqB,EACrB,MAA+B,EAC/B,KAAgB,EAChB,mBAA6B;QAE7B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAC7C,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,0CAA0C,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAC9H,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,gDAAgD,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACrG,CAAC;QACD,OAAO;YACL,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,IAAI,aAAa;YACpE,cAAc,EAAE,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,IAAI,IAAI,gBAAgB;SAC7E,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,KAAY,EAAE,SAAiB,EAAE,MAAmB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,MAAM,MAAM,GAAG,CAAC,KAAuC,EAAQ,EAAE;gBAC/D,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;gBAC/C,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,SAAS,KAAK,EAAE,CAAC,CAAA;gBACrF,MAAM,CAAC,SAAS,CAAC,CAAA;YACnB,CAAC,EAAE,SAAS,CAAC,CAAA;YACb,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;gBAChE,MAAM,CAAC,WAAW,CAAC,CAAA;YACrB,CAAC,CAAA;YACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5D,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EACnD,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CACpD,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,SAAS,CAAC,KAAY,EAAE,IAAc,EAAE,KAAgB,EAAE,MAAmB;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;QACvC,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,qCAAqC,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;YACnH,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;gBAC5C,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1G,UAAU;gBACV,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAA;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;YAC5C,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;gBACtE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAW,EAAE;gBAC9E,CAAC,CAAC,EAAE;YACN,UAAU;YACV,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAA;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;QACxC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACnC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACtC,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5F,MAAM,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,MAAM,EAAE,CAAA;IAC9D,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,EAAE,CAAA;AAC1H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../src/invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../src/invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,0BAA0B,CAAA;AAC3C,2EAA2E;AAC3E,eAAO,MAAM,MAAM,UAAiB,CAAA;AAoSpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,QAAS,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
package/lib/types/invariant.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module dsh-auto-review/invariant
|
|
16
16
|
*/
|
|
17
|
+
import { sessionEvents } from './session-events.js';
|
|
17
18
|
import { AUTO_REVIEW_FALLBACKS, CIRCUIT_MARKER_PATTERN, DENY_MARKER_PATTERN, FALLBACK_MARKER_PATTERN, NEVER_MARKER_PATTERN } from './events.js';
|
|
18
19
|
const PACKAGE_NAME = 'dsh-auto-review';
|
|
19
20
|
/** Cordis companion plugin name. */
|
|
@@ -286,7 +287,7 @@ const install = Object.assign((ctx, fail) => {
|
|
|
286
287
|
}
|
|
287
288
|
};
|
|
288
289
|
for (const session of ctx.sessions.list()) {
|
|
289
|
-
for (const event of session
|
|
290
|
+
for (const event of sessionEvents(session))
|
|
290
291
|
validateEvent(session, event);
|
|
291
292
|
}
|
|
292
293
|
ctx.on('internal/dispatch', (_mode, eventName, args) => {
|