@principles/core 1.150.0 → 1.152.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 (203) hide show
  1. package/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
  2. package/dist/quality-scorecard/__tests__/quality-scorecard.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts +2 -0
  4. package/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts.map +1 -0
  5. package/dist/runtime-v2/__tests__/adversarial-loop.test.js +435 -0
  6. package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -0
  7. package/dist/runtime-v2/__tests__/architecture-regression.test.js +5 -0
  8. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  10. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts +2 -0
  11. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts.map +1 -0
  12. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js +169 -0
  13. package/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js.map +1 -0
  14. package/dist/runtime-v2/__tests__/dreamer-output-validator.test.js.map +1 -1
  15. package/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js.map +1 -1
  16. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts +2 -0
  17. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts.map +1 -0
  18. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +815 -0
  19. package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -0
  20. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
  21. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +4 -3
  22. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
  23. package/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
  24. package/dist/runtime-v2/__tests__/feedback/render-github-url.test.js.map +1 -1
  25. package/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
  26. package/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js.map +1 -1
  27. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +1 -3
  28. package/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
  29. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js +6 -0
  30. package/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js.map +1 -1
  31. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js +0 -1
  32. package/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js.map +1 -1
  33. package/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
  34. package/dist/runtime-v2/__tests__/mainline-product-path.test.js.map +1 -1
  35. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js +0 -1
  36. package/dist/runtime-v2/__tests__/pain-chain-read-model.test.js.map +1 -1
  37. package/dist/runtime-v2/__tests__/pain-evidence-contract.test.js.map +1 -1
  38. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +1 -1
  39. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  40. package/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js.map +1 -1
  41. package/dist/runtime-v2/__tests__/pitask-metadata.test.js +5 -1
  42. package/dist/runtime-v2/__tests__/pitask-metadata.test.js.map +1 -1
  43. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +1 -1
  44. package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
  45. package/dist/runtime-v2/__tests__/pruning-read-model.test.js.map +1 -1
  46. package/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js.map +1 -1
  47. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
  48. package/dist/runtime-v2/__tests__/task-three-strikes.test.js.map +1 -1
  49. package/dist/runtime-v2/__tests__/trace-refiner-agent.test.js.map +1 -1
  50. package/dist/runtime-v2/__tests__/trainer-output-validator.test.js.map +1 -1
  51. package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  52. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +0 -1
  53. package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
  54. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +33 -0
  55. package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  56. package/dist/runtime-v2/activation/activation-types.d.ts +1 -0
  57. package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
  58. package/dist/runtime-v2/activation/activation-types.js.map +1 -1
  59. package/dist/runtime-v2/activation/memory-activation-state-store.d.ts +1 -0
  60. package/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
  61. package/dist/runtime-v2/activation/memory-activation-state-store.js +9 -0
  62. package/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
  63. package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +1 -0
  64. package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  65. package/dist/runtime-v2/activation/sqlite-activation-state-store.js +18 -0
  66. package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  67. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts +2 -0
  68. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts.map +1 -0
  69. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +510 -0
  70. package/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -0
  71. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +4 -4
  72. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +1 -1
  73. package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
  74. package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +47 -0
  75. package/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -0
  76. package/dist/runtime-v2/adapter/artificer-l2-adapter.js +307 -0
  77. package/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -0
  78. package/dist/runtime-v2/adversarial-loop.d.ts +65 -0
  79. package/dist/runtime-v2/adversarial-loop.d.ts.map +1 -0
  80. package/dist/runtime-v2/adversarial-loop.js +203 -0
  81. package/dist/runtime-v2/adversarial-loop.js.map +1 -0
  82. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +2 -2
  83. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
  84. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -1
  85. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
  86. package/dist/runtime-v2/golden-trace.d.ts +30 -0
  87. package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  88. package/dist/runtime-v2/golden-trace.js +57 -0
  89. package/dist/runtime-v2/golden-trace.js.map +1 -1
  90. package/dist/runtime-v2/index.d.ts +10 -6
  91. package/dist/runtime-v2/index.d.ts.map +1 -1
  92. package/dist/runtime-v2/index.js +7 -3
  93. package/dist/runtime-v2/index.js.map +1 -1
  94. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts +2 -0
  95. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts.map +1 -0
  96. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js +139 -0
  97. package/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js.map +1 -0
  98. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts +2 -0
  99. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts.map +1 -0
  100. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +62 -0
  101. package/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -0
  102. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts +2 -0
  103. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.d.ts.map +1 -0
  104. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js +249 -0
  105. package/dist/runtime-v2/internalization/__tests__/artificer-output-v2.test.js.map +1 -0
  106. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts +2 -0
  107. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts.map +1 -0
  108. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +24 -0
  109. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -0
  110. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +2 -2
  111. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  112. package/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +1 -1
  113. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
  114. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
  115. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts +2 -0
  116. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts.map +1 -0
  117. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js +209 -0
  118. package/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js.map +1 -0
  119. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts +2 -0
  120. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts.map +1 -0
  121. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js +125 -0
  122. package/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js.map +1 -0
  123. package/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
  124. package/dist/runtime-v2/internalization/adversarial-case.d.ts +32 -0
  125. package/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -0
  126. package/dist/runtime-v2/internalization/adversarial-case.js +68 -0
  127. package/dist/runtime-v2/internalization/adversarial-case.js.map +1 -0
  128. package/dist/runtime-v2/internalization/adversarial-feedback.d.ts +23 -0
  129. package/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -0
  130. package/dist/runtime-v2/internalization/adversarial-feedback.js +20 -0
  131. package/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -0
  132. package/dist/runtime-v2/internalization/artificer-output.d.ts +42 -0
  133. package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  134. package/dist/runtime-v2/internalization/artificer-output.js +147 -0
  135. package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  136. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +10 -2
  137. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  138. package/dist/runtime-v2/internalization/artificer-prompt-builder.js +26 -3
  139. package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  140. package/dist/runtime-v2/internalization/artificer-runner.d.ts +7 -0
  141. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  142. package/dist/runtime-v2/internalization/artificer-runner.js +11 -2
  143. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  144. package/dist/runtime-v2/internalization/evaluator-output.d.ts +63 -0
  145. package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  146. package/dist/runtime-v2/internalization/evaluator-output.js +158 -0
  147. package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  148. package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +8 -1
  149. package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
  150. package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +16 -3
  151. package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
  152. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +82 -2
  153. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  154. package/dist/runtime-v2/internalization/evaluator-runner.js +496 -4
  155. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  156. package/dist/runtime-v2/internalization/index.d.ts +9 -4
  157. package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  158. package/dist/runtime-v2/internalization/index.js +6 -2
  159. package/dist/runtime-v2/internalization/index.js.map +1 -1
  160. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +2 -0
  161. package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
  162. package/dist/runtime-v2/internalization/peer-runner-contracts.js +19 -9
  163. package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
  164. package/dist/runtime-v2/internalization/pitask-metadata.d.ts +7 -0
  165. package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  166. package/dist/runtime-v2/internalization/pitask-metadata.js +15 -5
  167. package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  168. package/dist/runtime-v2/internalization/prompt-serializer.d.ts +3 -0
  169. package/dist/runtime-v2/internalization/prompt-serializer.d.ts.map +1 -0
  170. package/dist/runtime-v2/internalization/prompt-serializer.js +22 -0
  171. package/dist/runtime-v2/internalization/prompt-serializer.js.map +1 -0
  172. package/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
  173. package/dist/runtime-v2/proven-channel-baseline.js +1 -0
  174. package/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  175. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
  176. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js.map +1 -1
  177. package/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js.map +1 -1
  178. package/dist/runtime-v2/store/history/sqlite-history-query.test.js +1 -1
  179. package/dist/runtime-v2/store/history/sqlite-history-query.test.js.map +1 -1
  180. package/dist/runtime-v2/store/idempotent-transitions.test.js +0 -5
  181. package/dist/runtime-v2/store/idempotent-transitions.test.js.map +1 -1
  182. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js +0 -2
  183. package/dist/runtime-v2/store/lifecycle/lease-manager.test.js.map +1 -1
  184. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js +0 -2
  185. package/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js.map +1 -1
  186. package/dist/runtime-v2/store/schema-conformance.test.js +0 -10
  187. package/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
  188. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js +2 -2
  189. package/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
  190. package/dist/runtime-v2/store/sqlite-run-store.test.js.map +1 -1
  191. package/dist/runtime-v2/store/sqlite-task-store.test.js +0 -2
  192. package/dist/runtime-v2/store/sqlite-task-store.test.js.map +1 -1
  193. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js +0 -1
  194. package/dist/runtime-v2/store/trajectory/source-trace-locator.test.js.map +1 -1
  195. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js +1 -1
  196. package/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js.map +1 -1
  197. package/dist/runtime-v2/store/workspace-isolation.test.js +0 -2
  198. package/dist/runtime-v2/store/workspace-isolation.test.js.map +1 -1
  199. package/dist/telemetry-event.d.ts +2 -2
  200. package/dist/telemetry-event.d.ts.map +1 -1
  201. package/dist/telemetry-event.js +21 -0
  202. package/dist/telemetry-event.js.map +1 -1
  203. package/package.json +1 -1
@@ -1,8 +1,49 @@
1
+ import { isEvaluatorOutputV2 } from './evaluator-output.js';
1
2
  import { PDRuntimeError, isPDErrorCategory } from '../error-categories.js';
2
3
  import { hydratePITaskRecord } from './pitask-metadata.js';
3
4
  import { EvaluatorPromptBuilder } from './evaluator-prompt-builder.js';
4
5
  import { injectRunnerLineageIfAbsent } from './peer-runner-contracts.js';
5
6
  import { BasePeerRunner } from '../runner/base-peer-runner.js';
7
+ // PRI-426: single-round adversarial sandbox replay in succeedTask.
8
+ import { evaluateRefinerRuleHostGate } from './refiner-rulehost-gate.js';
9
+ import { adversarialCasesToGoldenTrace } from './adversarial-case.js';
10
+ import { buildGoldenTraceFromArtificer } from '../golden-trace.js';
11
+ function isRecordValue(value) {
12
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
13
+ }
14
+ /**
15
+ * Extract scribeArtifactId from an artificer artifact's contentJson (PRD Decision 12).
16
+ * The contentJson is untrusted — parsed defensively with type guards, never as-cast
17
+ * (Runtime Contract Rule 1/2/5). Returns null when the field is absent or malformed;
18
+ * callers treat null as "code review degraded (no principle text)".
19
+ *
20
+ * Looks in two locations:
21
+ * 1. top-level sourceTrace.scribeArtifactId (ArtificerOutputV1/V2 contract)
22
+ * 2. top-level sourceScribeArtifactId (ArtificerOutputV1/V2 contract)
23
+ */
24
+ function extractScribeArtifactId(artificerContentJson) {
25
+ let parsed;
26
+ try {
27
+ parsed = JSON.parse(artificerContentJson);
28
+ }
29
+ catch {
30
+ return null;
31
+ }
32
+ if (!isRecordValue(parsed))
33
+ return null;
34
+ // sourceTrace.scribeArtifactId
35
+ const trace = Object.hasOwn(parsed, 'sourceTrace') ? parsed.sourceTrace : undefined;
36
+ if (isRecordValue(trace)) {
37
+ const fromTrace = Object.hasOwn(trace, 'scribeArtifactId') ? trace.scribeArtifactId : undefined;
38
+ if (typeof fromTrace === 'string' && fromTrace.trim() !== '')
39
+ return fromTrace;
40
+ }
41
+ // top-level sourceScribeArtifactId
42
+ const direct = Object.hasOwn(parsed, 'sourceScribeArtifactId') ? parsed.sourceScribeArtifactId : undefined;
43
+ if (typeof direct === 'string' && direct.trim() !== '')
44
+ return direct;
45
+ return null;
46
+ }
6
47
  export const DEFAULT_EVALUATOR_RUNNER_OPTIONS = {
7
48
  pollIntervalMs: 5_000,
8
49
  timeoutMs: 300_000,
@@ -22,6 +63,12 @@ export function resolveEvaluatorRunnerOptions(options) {
22
63
  // ── EvaluatorRunner ───────────────────────────────────────────────────────────
23
64
  export class EvaluatorRunner extends BasePeerRunner {
24
65
  validator;
66
+ /**
67
+ * Optional RuleHost sandbox gate deps (PRI-426). When present and the output
68
+ * is V2, succeedTask runs a single adversarial sandbox replay. Absent = no
69
+ * replay (backward compatible).
70
+ */
71
+ gateDeps;
25
72
  constructor(deps, options) {
26
73
  super(deps, options, {
27
74
  runnerName: 'evaluator',
@@ -30,6 +77,7 @@ export class EvaluatorRunner extends BasePeerRunner {
30
77
  resultRefPrefix: 'evaluator',
31
78
  });
32
79
  this.validator = deps.validator;
80
+ this.gateDeps = options.gateDeps ?? null;
33
81
  }
34
82
  // ── Abstract implementations ────────────────────────────────────────────────
35
83
  // eslint-disable-next-line @typescript-eslint/class-methods-use-this
@@ -70,10 +118,34 @@ export class EvaluatorRunner extends BasePeerRunner {
70
118
  depTaskId: depId,
71
119
  artifactId: firstArtifact.artifactId,
72
120
  });
121
+ // PRD Decision 12: resolve the scribe artifact so the evaluator LLM can
122
+ // judge code intentConsistency/scopePrecision against the principle text.
123
+ // Extract scribeArtifactId from the artificer's sourceTrace (untrusted
124
+ // contentJson — validated via type guards, never as-cast; Runtime Rule 1/2).
125
+ const scribeRef = extractScribeArtifactId(firstArtifact.contentJson);
126
+ let scribeContent = null;
127
+ if (scribeRef) {
128
+ const scribeArtifact = await this.artifactStore.getArtifactById(scribeRef);
129
+ if (scribeArtifact && scribeArtifact.artifactKind === 'principle') {
130
+ scribeContent = scribeArtifact.contentJson;
131
+ }
132
+ else {
133
+ this.emitEvent('scribe_artifact_unresolvable', taskId, {
134
+ scribeArtifactId: scribeRef,
135
+ reason: scribeArtifact ? `wrong kind: ${scribeArtifact.artifactKind}` : 'not found',
136
+ nextAction: 'code_review_degraded_without_principle_text',
137
+ });
138
+ }
139
+ }
140
+ const contextRefs = scribeContent && scribeRef
141
+ ? [artifactRef, scribeRef]
142
+ : [artifactRef];
73
143
  return {
74
- contextHash: BasePeerRunner.hashContextRefs([artifactRef]),
144
+ contextHash: BasePeerRunner.hashContextRefs(contextRefs),
75
145
  artificerArtifact: firstArtifact.contentJson,
76
146
  sourceArtificerArtifactId: firstArtifact.artifactId,
147
+ scribeArtifact: scribeContent,
148
+ sourceScribeArtifactId: scribeRef,
77
149
  };
78
150
  }
79
151
  }
@@ -90,11 +162,24 @@ export class EvaluatorRunner extends BasePeerRunner {
90
162
  parsedArtificerArtifact = context.artificerArtifact;
91
163
  }
92
164
  }
165
+ // PRD Decision 12: pass the scribe principle text so the LLM can judge
166
+ // code intentConsistency/scopePrecision. Null when unresolvable (V1 artificer
167
+ // output, or scribe artifact missing) — the prompt builder accepts undefined.
168
+ let parsedScribeArtifact = undefined;
169
+ if (context.scribeArtifact) {
170
+ try {
171
+ parsedScribeArtifact = JSON.parse(context.scribeArtifact);
172
+ }
173
+ catch {
174
+ parsedScribeArtifact = context.scribeArtifact;
175
+ }
176
+ }
93
177
  const builder = new EvaluatorPromptBuilder();
94
178
  const { message } = builder.buildPrompt({
95
179
  taskId,
96
180
  contextHash: context.contextHash,
97
181
  artificerArtifact: parsedArtificerArtifact,
182
+ scribeArtifact: parsedScribeArtifact,
98
183
  sourceArtificerArtifactId: context.sourceArtificerArtifactId ?? '',
99
184
  });
100
185
  return this.runtimeAdapter.startRun({
@@ -197,6 +282,68 @@ export class EvaluatorRunner extends BasePeerRunner {
197
282
  failureReason: `PIArtifact write failed: ${artifactErr instanceof Error ? artifactErr.message : String(artifactErr)}`,
198
283
  });
199
284
  }
285
+ // ── PRI-426: single-round adversarial sandbox replay ──
286
+ // Runs only when (a) the output is V2 (code-bearing), (b) gateDeps is
287
+ // injected, and (c) passive review passed (LLM short-circuits to
288
+ // needs_revision when any of the 3 dimensions fail, so by the time we get
289
+ // here with decision='approved' the passive review already passed).
290
+ //
291
+ // PRI-423 contract: adversarialCasesToGoldenTrace yields an all-negative
292
+ // trace. We MUST merge ≥1 positive case from the Artificer golden trace
293
+ // before replaying, otherwise the merged trace fails validateGoldenTrace.
294
+ //
295
+ // This block never throws into the caller — a sandbox/gate failure degrades
296
+ // to adversarialResult.passed=false with a structured reason (ERR-018).
297
+ // The principle artifact is already persisted, so prompt-channel fallback
298
+ // remains available regardless of replay outcome (PRD Decision 11d §h).
299
+ let finalOutput = output;
300
+ if (isEvaluatorOutputV2(output) && this.gateDeps) {
301
+ const replayOutcome = await this.runAdversarialReplay(output, taskId, runId, context);
302
+ if (replayOutcome.updatedOutput) {
303
+ finalOutput = replayOutcome.updatedOutput;
304
+ await this.stateManager.updateRunOutput(runId, JSON.stringify(finalOutput));
305
+ // Re-persist the artifact with the populated adversarialResult so
306
+ // downstream readers (Phase 6 assembly, orchestrator retry) see it.
307
+ try {
308
+ await this.artifactStore.upsertArtifact({
309
+ artifactId,
310
+ artifactKind: 'principle',
311
+ sourceTaskId: taskId,
312
+ lineageArtifactIds,
313
+ validationStatus: 'pending',
314
+ contentJson: JSON.stringify(finalOutput),
315
+ createdAt: now,
316
+ updatedAt: new Date().toISOString(),
317
+ });
318
+ }
319
+ catch (replayPersistErr) {
320
+ // Non-fatal: the principle artifact is already written. Log and
321
+ // continue — adversarialResult is still on finalOutput in memory.
322
+ this.emitEvent('adversarial_result_persist_failed', taskId, {
323
+ runId,
324
+ errorMessage: replayPersistErr instanceof Error ? replayPersistErr.message : String(replayPersistErr),
325
+ });
326
+ }
327
+ }
328
+ }
329
+ // ── PRI-427: rule artifact assembly ──
330
+ // When the evaluator output is V2 AND the adversarial replay passed, write
331
+ // a second artifact with artifactKind='rule' carrying the executable code
332
+ // + golden trace + gate decision, then mark it 'validated' so the downstream
333
+ // RuleHostWriter.canActivate path accepts it.
334
+ //
335
+ // PRD Decision 5 contract:
336
+ // - rule artifact goldenTrace = Artificer's FULL trace (buildGoldenTraceFromArtificer),
337
+ // NOT the adversarial replay trace. The adversarial trace was only used
338
+ // to TEST the code in PRI-426; enforcement uses the production trace.
339
+ // - ruleHostGateDecision must be 'accepted_shadow' for RuleHostWriter to
340
+ // accept (rule-host-writer.ts extractRuleHostGateDecision).
341
+ // - Assembly failure is non-fatal: principle artifact is already written,
342
+ // prompt-channel fallback remains available (PRD Decision 5 degradation).
343
+ let ruleArtifactId = null;
344
+ if (isEvaluatorOutputV2(finalOutput) && finalOutput.adversarialResult?.passed === true) {
345
+ ruleArtifactId = await this.assembleRuleArtifact(finalOutput, taskId, runId, context, lineageArtifactIds);
346
+ }
200
347
  // ── Evaluator-specific: validate principle-bearing Scribe artifact ──
201
348
  // This is the critical business logic: approved evaluator must validate
202
349
  // the Scribe principle artifact, NOT the Artificer plan artifact.
@@ -240,8 +387,9 @@ export class EvaluatorRunner extends BasePeerRunner {
240
387
  this.emitEvent('task_succeeded', taskId, {
241
388
  attemptCount: task.attemptCount,
242
389
  resultRef,
243
- evaluationDecision: output.evaluation.decision,
244
- evaluationScore: output.evaluation.score,
390
+ evaluationDecision: finalOutput.evaluation.decision,
391
+ evaluationScore: finalOutput.evaluation.score,
392
+ ruleArtifactId,
245
393
  });
246
394
  return {
247
395
  status: 'succeeded',
@@ -250,7 +398,7 @@ export class EvaluatorRunner extends BasePeerRunner {
250
398
  artifactId,
251
399
  resultRef,
252
400
  contextHash,
253
- output,
401
+ output: finalOutput,
254
402
  attemptCount: task.attemptCount,
255
403
  };
256
404
  }
@@ -292,6 +440,350 @@ export class EvaluatorRunner extends BasePeerRunner {
292
440
  });
293
441
  }
294
442
  }
443
+ // ── PRI-426: adversarial sandbox replay ─────────────────────────────────────
444
+ /**
445
+ * Run a single-round adversarial sandbox replay on the evaluator's V2 output
446
+ * (PRD Decision 11d). Pure orchestration of pure functions:
447
+ * 1. Skip if passive review failed (decision !== 'approved' is the LLM's
448
+ * short-circuit signal — no code to defend).
449
+ * 2. Skip if no adversarialCases present (V2 with codeReview only).
450
+ * 3. Convert adversarialCases → GoldenTrace (all negative, PRI-423).
451
+ * 4. Merge ≥1 positive case from the Artificer golden trace. If the
452
+ * artificer artifact has no goldenTraceCases (V1 mismatch), degrade:
453
+ * skip replay with telemetry — do NOT crash.
454
+ * 5. Invoke evaluateRefinerRuleHostGate via injected gateDeps.
455
+ * 6. Populate adversarialResult from the gate result.
456
+ *
457
+ * Never throws — all failure modes degrade to a returned result with a
458
+ * structured reason (ERR-018). The caller persists the updated output.
459
+ */
460
+ // eslint-disable-next-line @typescript-eslint/max-params
461
+ async runAdversarialReplay(output, taskId, runId, context) {
462
+ // gateDeps is non-null here — the caller only invokes this method when
463
+ // this.gateDeps is set. Bind to a local to avoid re-asserting.
464
+ // eslint-disable-next-line @typescript-eslint/prefer-destructuring
465
+ const gateDeps = this.gateDeps;
466
+ if (!gateDeps) {
467
+ return { updatedOutput: null };
468
+ }
469
+ // (1) Passive review short-circuit: the LLM emits decision='needs_revision'
470
+ // when any of intentConsistency/scopePrecision/traceCoverage fails. Only
471
+ // replay when the LLM judged the code worth defending. This check is
472
+ // defensive — by PRD contract the prompt instructs the LLM to short-circuit,
473
+ // but we don't trust the LLM to be the sole gate (Runtime Contract Rule 3).
474
+ if (output.evaluation.decision !== 'approved') {
475
+ return { updatedOutput: null };
476
+ }
477
+ // (2) No adversarial cases → nothing to replay. codeReview may still be
478
+ // present (passive review only). Not an error condition.
479
+ if (!output.adversarialCases || output.adversarialCases.length === 0) {
480
+ return { updatedOutput: null };
481
+ }
482
+ // (3) Convert adversarial cases to an all-negative GoldenTrace.
483
+ const conversion = adversarialCasesToGoldenTrace(output.adversarialCases);
484
+ if (!conversion.ok) {
485
+ // Validator already accepted adversarialCases, so a conversion failure
486
+ // here is a contract drift between validator and converter. Degrade loud.
487
+ this.emitEvent('adversarial_replay_skipped', taskId, {
488
+ runId,
489
+ reason: `adversarial_conversion_failed: ${conversion.reason}`,
490
+ nextAction: 'verify_adversarial_case_validator_alignment',
491
+ });
492
+ return { updatedOutput: null };
493
+ }
494
+ // (4) Resolve the Artificer artifact and extract code + positive cases.
495
+ // PRI-423: the converted adversarial trace has no positive case; we merge
496
+ // positive cases from the Artificer's goldenTraceCases before replaying.
497
+ if (!context.artificerArtifact) {
498
+ this.emitEvent('adversarial_replay_skipped', taskId, {
499
+ runId,
500
+ reason: 'no_artificer_artifact_in_context',
501
+ nextAction: 'verify_buildContext_resolves_artificer_artifact',
502
+ });
503
+ return { updatedOutput: null };
504
+ }
505
+ const artificerParsed = this.parseArtificerArtifact(context.artificerArtifact);
506
+ if (!artificerParsed) {
507
+ this.emitEvent('adversarial_replay_skipped', taskId, {
508
+ runId,
509
+ reason: 'artificer_artifact_unparseable',
510
+ nextAction: 'verify_artificer_artifact_contentJson',
511
+ });
512
+ return { updatedOutput: null };
513
+ }
514
+ const { implementationCode, goldenTraceCases } = artificerParsed;
515
+ if (typeof implementationCode !== 'string' || implementationCode.trim() === '') {
516
+ // Artificer output is V1 (no code) but the evaluator emitted V2. This is
517
+ // a mismatch — degrade rather than replay against missing code.
518
+ this.emitEvent('adversarial_replay_skipped', taskId, {
519
+ runId,
520
+ reason: 'artificer_artifact_has_no_implementation_code',
521
+ nextAction: 'verify_artificer_l2_adapter_emitted_v2',
522
+ });
523
+ return { updatedOutput: null };
524
+ }
525
+ // Merge positive cases from the Artificer golden trace into the adversarial
526
+ // trace. buildGoldenTraceFromArtificer validates each case structurally
527
+ // (Runtime Contract Rule 4) and returns ok=false on any malformed entry.
528
+ const positiveCases = this.extractPositiveCases(goldenTraceCases);
529
+ if (positiveCases.length === 0) {
530
+ this.emitEvent('adversarial_replay_skipped', taskId, {
531
+ runId,
532
+ reason: 'no_positive_case_in_artificer_golden_trace',
533
+ nextAction: 'verify_artificer_emitted_at_least_one_positive_case',
534
+ });
535
+ return { updatedOutput: null };
536
+ }
537
+ const mergedTrace = {
538
+ traceId: `golden-trace-evaluator-replay-${taskId}-${Date.now().toString(36)}`,
539
+ sourceArtifactId: context.sourceArtificerArtifactId ?? undefined,
540
+ version: 1,
541
+ createdAt: new Date().toISOString(),
542
+ cases: [...positiveCases, ...conversion.trace.cases],
543
+ };
544
+ // (5) Invoke the gate. evaluateRefinerRuleHostGate is a pure function that
545
+ // catches its own sandbox throws internally (rejected_runtime_error), so
546
+ // this await cannot throw on sandbox failure — but we guard anyway for
547
+ // defense-in-depth (ERR-018: trust boundary at injected deps).
548
+ let gateResult;
549
+ try {
550
+ gateResult = evaluateRefinerRuleHostGate({ code: implementationCode, goldenTrace: mergedTrace }, gateDeps);
551
+ }
552
+ catch (gateErr) {
553
+ this.emitEvent('adversarial_replay_skipped', taskId, {
554
+ runId,
555
+ reason: `gate_invocation_threw: ${gateErr instanceof Error ? gateErr.message : String(gateErr)}`,
556
+ nextAction: 'verify_gate_deps_implementation',
557
+ });
558
+ const failedResult = {
559
+ passed: false,
560
+ failedCases: [],
561
+ };
562
+ return {
563
+ updatedOutput: { ...output, adversarialResult: failedResult },
564
+ };
565
+ }
566
+ this.emitEvent('adversarial_replay', taskId, {
567
+ runId,
568
+ gateDecision: gateResult.decision,
569
+ caseCount: mergedTrace.cases.length,
570
+ failedCaseCount: gateResult.sandboxResult.failedCases.length,
571
+ });
572
+ // (6) Populate adversarialResult from the gate result.
573
+ const accepted = gateResult.decision === 'accepted_shadow';
574
+ const failedCases = accepted
575
+ ? []
576
+ : this.mapFailedCases(gateResult, output.adversarialCases);
577
+ const adversarialResult = {
578
+ passed: accepted,
579
+ failedCases,
580
+ };
581
+ return {
582
+ updatedOutput: { ...output, adversarialResult },
583
+ };
584
+ }
585
+ /**
586
+ * Parse the Artificer artifact contentJson defensively (Runtime Contract
587
+ * Rule 1/2/5). Returns null on any structural issue — the caller degrades.
588
+ */
589
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
590
+ parseArtificerArtifact(contentJson) {
591
+ let parsed;
592
+ try {
593
+ parsed = JSON.parse(contentJson);
594
+ }
595
+ catch {
596
+ return null;
597
+ }
598
+ if (!EvaluatorRunner.isRecord(parsed))
599
+ return null;
600
+ return {
601
+ implementationCode: parsed.implementationCode,
602
+ goldenTraceCases: parsed.goldenTraceCases,
603
+ affectedTools: parsed.affectedTools,
604
+ };
605
+ }
606
+ /**
607
+ * Extract structurally-valid positive GoldenTraceCases from the Artificer
608
+ * goldenTraceCases array. Uses buildGoldenTraceFromArtificer (which re-
609
+ * validates each case) and filters for kind='positive'. Returns [] when
610
+ * the input is missing/malformed — the caller degrades to a skip (ERR-069:
611
+ * never trust unvalidated candidates).
612
+ */
613
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
614
+ extractPositiveCases(rawCases) {
615
+ if (!Array.isArray(rawCases))
616
+ return [];
617
+ const buildResult = buildGoldenTraceFromArtificer({ cases: rawCases });
618
+ if (!buildResult.ok)
619
+ return [];
620
+ return buildResult.trace.cases.filter((c) => c.kind === 'positive');
621
+ }
622
+ /**
623
+ * Map sandbox failed cases to EvaluatorAdversarialResult.failedCases.
624
+ *
625
+ * The sandbox reports failedCases by caseId; we enrich each with the
626
+ * adversarial case's attackType and expectedDecision. Cases not found in
627
+ * the adversarial set (e.g. the merged positive case failed — which would
628
+ * indicate a code bug, not an adversarial failure) are reported with
629
+ * attackType='boundary' as a safe default and a note in the rationale
630
+ * (Runtime Contract Rule 9: graceful degradation includes a reason).
631
+ */
632
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
633
+ mapFailedCases(gateResult, adversarialCases) {
634
+ const advById = new Map(adversarialCases.map((c) => [c.caseId, c]));
635
+ return gateResult.sandboxResult.failedCases.map((fc) => {
636
+ const adv = advById.get(fc.caseId);
637
+ return {
638
+ caseId: fc.caseId,
639
+ attackType: adv?.attackType ?? 'boundary',
640
+ actualDecision: fc.errorType,
641
+ expectedDecision: adv?.expectedDecision ?? 'block',
642
+ rationale: adv
643
+ ? `${fc.errorType}: ${fc.message}`
644
+ : `non-adversarial case ${fc.caseId} failed (${fc.errorType}: ${fc.message}) — likely a code defect, not an adversarial gap`,
645
+ };
646
+ });
647
+ }
648
+ // ── PRI-427: rule artifact assembly ────────────────────────────────────────
649
+ /**
650
+ * Assemble and persist the rule artifact when adversarial replay passed
651
+ * (PRD Decision 5). The rule artifact carries implementationCode + the
652
+ * Artificer full golden trace + ruleHostGateDecision, with artifactKind='rule'.
653
+ * After a successful write, marks the artifact 'validated' so RuleHostWriter
654
+ * can activate it.
655
+ *
656
+ * Returns the rule artifactId on success, null on any degradation (missing
657
+ * code/trace, write failure, validation-update failure). Every null path
658
+ * emits structured telemetry with a reason (Runtime Rule 9, ERR-018).
659
+ */
660
+ // eslint-disable-next-line @typescript-eslint/max-params
661
+ async assembleRuleArtifact(output, taskId, runId, context, lineageArtifactIds) {
662
+ if (!context.artificerArtifact) {
663
+ this.emitEvent('rule_assembly_failed', taskId, {
664
+ runId,
665
+ reason: 'no_artificer_artifact_in_context',
666
+ nextAction: 'verify_buildContext_resolves_artificer_artifact',
667
+ });
668
+ return null;
669
+ }
670
+ const artificerParsed = this.parseArtificerArtifact(context.artificerArtifact);
671
+ if (!artificerParsed) {
672
+ this.emitEvent('rule_assembly_failed', taskId, {
673
+ runId,
674
+ reason: 'artificer_artifact_unparseable',
675
+ nextAction: 'verify_artificer_artifact_contentJson',
676
+ });
677
+ return null;
678
+ }
679
+ const { implementationCode, goldenTraceCases, affectedTools } = artificerParsed;
680
+ if (typeof implementationCode !== 'string' || implementationCode.trim() === '') {
681
+ this.emitEvent('rule_assembly_failed', taskId, {
682
+ runId,
683
+ reason: 'artificer_artifact_has_no_implementation_code',
684
+ nextAction: 'verify_artificer_l2_adapter_emitted_v2',
685
+ });
686
+ return null;
687
+ }
688
+ // Runtime Rule 4: validate the array shape before passing to the builder.
689
+ // buildGoldenTraceFromArtificer re-validates each element structurally, but
690
+ // the type signature requires an array — narrow with Array.isArray first.
691
+ if (!Array.isArray(goldenTraceCases)) {
692
+ this.emitEvent('rule_assembly_failed', taskId, {
693
+ runId,
694
+ reason: 'artificer_golden_trace_cases_not_array',
695
+ nextAction: 'verify_artificer_emitted_goldenTraceCases_array',
696
+ });
697
+ return null;
698
+ }
699
+ // Build the production golden trace from the Artificer cases. This is the
700
+ // trace that gets ENFORCED at runtime — distinct from the adversarial
701
+ // replay trace used to TEST the code in PRI-426. buildGoldenTraceFromArtificer
702
+ // validates each case structurally (Runtime Rule 4) and requires ≥1 positive
703
+ // + ≥1 negative case.
704
+ const traceBuild = buildGoldenTraceFromArtificer({
705
+ cases: goldenTraceCases,
706
+ sourceArtifactId: context.sourceArtificerArtifactId ?? undefined,
707
+ });
708
+ if (!traceBuild.ok) {
709
+ this.emitEvent('rule_assembly_failed', taskId, {
710
+ runId,
711
+ reason: `golden_trace_build_failed: ${traceBuild.reason}`,
712
+ nextAction: 'verify_artificer_emitted_valid_positive_plus_negative_cases',
713
+ });
714
+ return null;
715
+ }
716
+ // affectedTools: optional array. Validate element types (Runtime Rule 4) —
717
+ // do not trust the upstream shape. Default to [] when absent/malformed.
718
+ const validatedAffectedTools = Array.isArray(affectedTools)
719
+ ? affectedTools.filter((t) => typeof t === 'string')
720
+ : [];
721
+ const ruleContent = {
722
+ implementationCode,
723
+ goldenTrace: traceBuild.trace,
724
+ goldenTraceCases,
725
+ affectedTools: validatedAffectedTools,
726
+ // adversarialResult.passed === true is the precondition for this method;
727
+ // the gate decision is therefore accepted_shadow.
728
+ ruleHostGateDecision: 'accepted_shadow',
729
+ sourceArtificerArtifactId: context.sourceArtificerArtifactId ?? output.sourceArtificerArtifactId,
730
+ adversarialResult: output.adversarialResult,
731
+ };
732
+ const ruleArtifactId = `pi-rule-${taskId}-${runId}`;
733
+ const nowIso = new Date().toISOString();
734
+ try {
735
+ await this.artifactStore.upsertArtifact({
736
+ artifactId: ruleArtifactId,
737
+ artifactKind: 'rule',
738
+ sourceTaskId: taskId,
739
+ lineageArtifactIds: [...lineageArtifactIds],
740
+ validationStatus: 'pending',
741
+ contentJson: JSON.stringify(ruleContent),
742
+ createdAt: nowIso,
743
+ updatedAt: nowIso,
744
+ });
745
+ }
746
+ catch (writeErr) {
747
+ // PRD Decision 5 degradation: assembly write failure → principle artifact
748
+ // already written, prompt channel usable. Do NOT crash the runner.
749
+ this.emitEvent('rule_assembly_failed', taskId, {
750
+ runId,
751
+ reason: `artifact_write_failed: ${writeErr instanceof Error ? writeErr.message : String(writeErr)}`,
752
+ nextAction: 'prompt_channel_fallback_available',
753
+ });
754
+ return null;
755
+ }
756
+ // Mark the rule artifact validated so RuleHostWriter.canActivate accepts it
757
+ // (canActivate checks validationStatus !== 'validated' at rule-host-writer.ts:82).
758
+ try {
759
+ const updated = await this.artifactStore.updateValidationStatus(ruleArtifactId, 'validated');
760
+ if (!updated) {
761
+ this.emitEvent('rule_assembly_failed', taskId, {
762
+ runId,
763
+ reason: 'updateValidationStatus_returned_false',
764
+ ruleArtifactId,
765
+ nextAction: 'verify_artifact_store_consistency',
766
+ });
767
+ return null;
768
+ }
769
+ }
770
+ catch (updateErr) {
771
+ this.emitEvent('rule_assembly_failed', taskId, {
772
+ runId,
773
+ reason: `updateValidationStatus_threw: ${updateErr instanceof Error ? updateErr.message : String(updateErr)}`,
774
+ ruleArtifactId,
775
+ nextAction: 'verify_artifact_store_consistency',
776
+ });
777
+ return null;
778
+ }
779
+ this.emitEvent('rule_assembled', taskId, {
780
+ runId,
781
+ artifactId: ruleArtifactId,
782
+ affectedTools: validatedAffectedTools,
783
+ traceCaseCount: traceBuild.trace.cases.length,
784
+ });
785
+ return ruleArtifactId;
786
+ }
295
787
  // ── Evaluator-specific: principle bearer resolution ─────────────────────────
296
788
  /**
297
789
  * Resolve the principle-bearing artifact that the evaluator should validate.
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAwB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AA+C/D,MAAM,CAAC,MAAM,gCAAgC,GAA4E;IACvH,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,WAAW;CACZ,CAAC;AAEX,MAAM,UAAU,6BAA6B,CAAC,OAA+B;IAC3E,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,gCAAgC,CAAC,cAAc;QACzF,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,gCAAgC,CAAC,SAAS;QAC1E,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,gCAAgC,CAAC,kBAAkB;QACrG,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gCAAgC,CAAC,OAAO;KACrE,CAAC;AACJ,CAAC;AAQD,iFAAiF;AAEjF,MAAM,OAAO,eAAgB,SAAQ,cAAmD;IACrE,SAAS,CAAqB;IAE/C,YAAY,IAAyB,EAAE,OAA0B;QAC/D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE;YACnB,UAAU,EAAE,WAAW;YACvB,gBAAgB,EAAE,WAAW;YAC7B,cAAc,EAAE,WAAW;YAC3B,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,+EAA+E;IAE/E,qEAAqE;IACrE,IAAI,wBAAwB;QAC1B,OAAO,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrI,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,QAAQ,MAAM,YAAY,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,EAAE,iBAAiB,IAAI,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QAC7F,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW;gBAAE,SAAS;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,MAAM,EAAE;oBACjD,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,OAAO,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAC7B,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,MAAM,EAAE;oBAC/C,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,aAAa,CAAC,UAAU;iBACrC,CAAC,CAAC;gBACH,OAAO;oBACL,WAAW,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC;oBAC1D,iBAAiB,EAAE,aAAa,CAAC,WAAW;oBAC5C,yBAAyB,EAAE,aAAa,CAAC,UAAU;iBACpD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAAyB;QAC3D,IAAI,uBAAuB,GAAY,IAAI,CAAC;QAC5C,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;YACtC,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,uBAAuB;YAC1C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,IAAI,EAAE;SACnE,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAClC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE;YACzE,OAAO,EAAE,EAAE,MAAM,EAAE;YACnB,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,qBAAqB;YACtC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAe,EAAE,MAAc,EAAE,OAAyB;QAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,yBAAyB,IAAI,SAAS,CAAC,CAAC;QAE7G,qFAAqF;QACrF,oFAAoF;QACpF,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,IAAI,aAA0C,CAAC;QAC/C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,aAAa,GAAG,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,0BAA0B,WAAW,EAAE,CAAC;gBACnE,aAAa,EAAE,gBAAgB;aAChC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa;SACd,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAa,EACb,MAAyB,EACzB,IAAgB,EAChB,WAAmB,EACnB,OAAyB;QAEzB,2FAA2F;QAC3F,IAAI,OAAO,CAAC,yBAAyB,IAAI,MAAM,CAAC,yBAAyB,KAAK,OAAO,CAAC,yBAAyB,EAAE,CAAC;YAChH,MAAM,IAAI,cAAc,CACtB,gBAAgB,EAChB,gDAAgD,OAAO,CAAC,yBAAyB,SAAS,MAAM,CAAC,yBAAyB,EAAE,CAC7H,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,MAAM,EAAE;gBAC7C,KAAK;gBACL,YAAY,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;aACjF,CAAC,CAAC;YACH,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,+BAA+B;QAC/B,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YACnE,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC;YACvC,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAAC;QACjD,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,MAAM,EAAE;gBAC/C,KAAK;gBACL,YAAY,EAAE,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;aACpF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBACxC,KAAK;gBACL,aAAa,EAAE,kBAAkB,CAAC,MAAM;gBACxC,OAAO,EAAE,2EAA2E;aACrF,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,MAAM,UAAU,GAAG,UAAU,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;gBACtC,UAAU;gBACV,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,MAAM;gBACpB,kBAAkB;gBAClB,gBAAgB,EAAE,SAAS;gBAC3B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACnC,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,MAAM,EAAE;gBAC9C,KAAK;gBACL,YAAY,EAAE,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;aACvF,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC;gBACtB,MAAM;gBACN,IAAI;gBACJ,aAAa,EAAE,wBAAwB;gBACvC,aAAa,EAAE,4BAA4B,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;aACtH,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,kEAAkE;QAClE,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC7D,mBAAmB,EACnB,WAAW,CACZ,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,wFAAwF;wBACxF,IAAI,CAAC,SAAS,CAAC,oCAAoC,EAAE,MAAM,EAAE;4BAC3D,KAAK;4BACL,gBAAgB,EAAE,mBAAmB;4BACrC,MAAM,EAAE,uCAAuC;4BAC/C,UAAU,EAAE,+CAA+C;yBAC5D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,iCAAiC,EAAE,MAAM,EAAE;wBACxD,KAAK;wBACL,gBAAgB,EAAE,mBAAmB;wBACrC,YAAY,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;qBACjF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,MAAM,KAAK,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,MAAM,EAAE;gBAC9C,MAAM;gBACN,KAAK;gBACL,YAAY,EAAE,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC9E,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS;YACT,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;YAC9C,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,KAAK;YACL,UAAU;YACV,SAAS;YACT,WAAW;YACX,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E;;;;;;;OAOG;IACH,qEAAqE;IAClD,kBAAkB,CAAC,MAAc,EAAE,eAAwB;QAC5E,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/D,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YACpE,MAAM,MAAM,GAAG,eAA0C,CAAC;YAC1D,gFAAgF;YAChF,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAEkB,oBAAoB,CAAC,MAAc,EAAE,MAAyB;QAC/E,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,EAAE;YAC1C,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;YAC9C,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACgB,qBAAqB,CAAC,MAAc,EAAE,MAAyB,EAAE,QAA0B;QAC5G,uEAAuE;QACvE,IAAI,MAAM,CAAC,WAAW,CAAC,mBAAmB,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC;YAChF,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,EAAE;gBACpD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;gBAC3D,wBAAwB,EAAE,MAAM,CAAC,WAAW,CAAC,mBAAmB;gBAChE,MAAM,EAAE,wEAAwE;aACjF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+EAA+E;IAE/E;;;;;;;;;;OAUG;IACK,KAAK,CAAC,8BAA8B,CAC1C,MAAyB,EACzB,MAAc;QAEd,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAC9D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAClF,IAAI,cAAc,IAAI,cAAc,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBAClE,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YACD,2EAA2E;YAC3E,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,EAAE;gBACtD,gBAAgB;gBAChB,UAAU,EAAE,cAAc,EAAE,YAAY,IAAI,WAAW;aACxD,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW;gBAAE,SAAS;YACpD,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;YAC1B,OAAO,IAAI,IAAI,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,8DAA8D;YAC9D,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,MAAM,EAAE;gBACnD,oBAAoB,EAAE,UAAU;gBAChC,MAAM,EAAE,iDAAiD;gBACzD,UAAU,EAAE,8CAA8C;aAC3D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,MAAM,EAAE;YAClD,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,gBAAgB,EAAE,gBAAgB,IAAI,cAAc;YACpD,YAAY,EAAE,kBAAkB,CAAC,MAAM;YACvC,MAAM,EAAE,0CAA0C;YAClD,UAAU,EAAE,uDAAuD;SACpE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,qEAAqE;IAC7D,wBAAwB,CAAC,WAAmB;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpD,4DAA4D;YAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;gBACpC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;uBAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;uBAC7F,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC/G,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,8DAA8D;YAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;mBACjH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,KAAc;QACpC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"evaluator-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/evaluator-runner.ts"],"names":[],"mappings":"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"}