loopforge 3.9.4 → 4.0.7

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 (283) hide show
  1. package/README.md +236 -112
  2. package/dist/audit.d.ts +73 -15
  3. package/dist/audit.d.ts.map +1 -1
  4. package/dist/audit.js +131 -61
  5. package/dist/audit.js.map +1 -1
  6. package/dist/canonical-state.d.ts +114 -40
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +276 -182
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +41 -12
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +0 -2
  14. package/dist/cognitive-governance.d.ts.map +1 -1
  15. package/dist/cognitive-governance.js +0 -4
  16. package/dist/cognitive-governance.js.map +1 -1
  17. package/dist/committed-round.d.ts +97 -156
  18. package/dist/committed-round.d.ts.map +1 -1
  19. package/dist/committed-round.js +223 -419
  20. package/dist/committed-round.js.map +1 -1
  21. package/dist/constraint-lifecycle.d.ts +73 -0
  22. package/dist/constraint-lifecycle.d.ts.map +1 -0
  23. package/dist/constraint-lifecycle.js +174 -0
  24. package/dist/constraint-lifecycle.js.map +1 -0
  25. package/dist/context-boundary.d.ts +83 -0
  26. package/dist/context-boundary.d.ts.map +1 -0
  27. package/dist/context-boundary.js +101 -0
  28. package/dist/context-boundary.js.map +1 -0
  29. package/dist/contract-items.d.ts +12 -8
  30. package/dist/contract-items.d.ts.map +1 -1
  31. package/dist/contract-items.js +31 -26
  32. package/dist/contract-items.js.map +1 -1
  33. package/dist/contract-requirement.d.ts +47 -0
  34. package/dist/contract-requirement.d.ts.map +1 -0
  35. package/dist/contract-requirement.js +51 -0
  36. package/dist/contract-requirement.js.map +1 -0
  37. package/dist/criterion-status.d.ts +35 -0
  38. package/dist/criterion-status.d.ts.map +1 -0
  39. package/dist/criterion-status.js +89 -0
  40. package/dist/criterion-status.js.map +1 -0
  41. package/dist/enforcement-gate.d.ts +26 -38
  42. package/dist/enforcement-gate.d.ts.map +1 -1
  43. package/dist/enforcement-gate.js +196 -319
  44. package/dist/enforcement-gate.js.map +1 -1
  45. package/dist/engine.d.ts +9 -103
  46. package/dist/engine.d.ts.map +1 -1
  47. package/dist/engine.js +27 -897
  48. package/dist/engine.js.map +1 -1
  49. package/dist/errors.d.ts +41 -0
  50. package/dist/errors.d.ts.map +1 -0
  51. package/dist/errors.js +69 -0
  52. package/dist/errors.js.map +1 -0
  53. package/dist/evidence-claims.d.ts +33 -31
  54. package/dist/evidence-claims.d.ts.map +1 -1
  55. package/dist/evidence-claims.js +58 -72
  56. package/dist/evidence-claims.js.map +1 -1
  57. package/dist/evidence-posture-view.d.ts +19 -0
  58. package/dist/evidence-posture-view.d.ts.map +1 -0
  59. package/dist/evidence-posture-view.js +116 -0
  60. package/dist/evidence-posture-view.js.map +1 -0
  61. package/dist/evidence-posture.d.ts +73 -0
  62. package/dist/evidence-posture.d.ts.map +1 -0
  63. package/dist/evidence-posture.js +281 -0
  64. package/dist/evidence-posture.js.map +1 -0
  65. package/dist/evidence-provider.d.ts +55 -37
  66. package/dist/evidence-provider.d.ts.map +1 -1
  67. package/dist/evidence-provider.js +182 -332
  68. package/dist/evidence-provider.js.map +1 -1
  69. package/dist/explain.d.ts +166 -27
  70. package/dist/explain.d.ts.map +1 -1
  71. package/dist/explain.js +372 -58
  72. package/dist/explain.js.map +1 -1
  73. package/dist/field-accounting.d.ts.map +1 -1
  74. package/dist/field-accounting.js +3 -22
  75. package/dist/field-accounting.js.map +1 -1
  76. package/dist/generate-schema.js +13 -8
  77. package/dist/generate-schema.js.map +1 -1
  78. package/dist/git-boundary.d.ts +128 -0
  79. package/dist/git-boundary.d.ts.map +1 -0
  80. package/dist/git-boundary.js +625 -0
  81. package/dist/git-boundary.js.map +1 -0
  82. package/dist/git-facts.d.ts +22 -0
  83. package/dist/git-facts.d.ts.map +1 -0
  84. package/dist/git-facts.js +29 -0
  85. package/dist/git-facts.js.map +1 -0
  86. package/dist/git-motion.d.ts +37 -0
  87. package/dist/git-motion.d.ts.map +1 -0
  88. package/dist/git-motion.js +59 -0
  89. package/dist/git-motion.js.map +1 -0
  90. package/dist/history.d.ts +44 -0
  91. package/dist/history.d.ts.map +1 -0
  92. package/dist/history.js +77 -0
  93. package/dist/history.js.map +1 -0
  94. package/dist/index.d.ts +19 -9
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +12 -4
  97. package/dist/index.js.map +1 -1
  98. package/dist/init.d.ts +16 -0
  99. package/dist/init.d.ts.map +1 -1
  100. package/dist/init.js +80 -14
  101. package/dist/init.js.map +1 -1
  102. package/dist/loop-compiler.d.ts +39 -23
  103. package/dist/loop-compiler.d.ts.map +1 -1
  104. package/dist/loop-compiler.js +368 -565
  105. package/dist/loop-compiler.js.map +1 -1
  106. package/dist/loop-store.d.ts +6 -5
  107. package/dist/loop-store.d.ts.map +1 -1
  108. package/dist/loop-store.js +153 -35
  109. package/dist/loop-store.js.map +1 -1
  110. package/dist/mcp/round-lifecycle.d.ts +255 -81
  111. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  112. package/dist/mcp/round-lifecycle.js +1552 -539
  113. package/dist/mcp/round-lifecycle.js.map +1 -1
  114. package/dist/mcp/server.d.ts.map +1 -1
  115. package/dist/mcp/server.js +42 -18
  116. package/dist/mcp/server.js.map +1 -1
  117. package/dist/mcp/session.d.ts +81 -39
  118. package/dist/mcp/session.d.ts.map +1 -1
  119. package/dist/mcp/session.js +956 -282
  120. package/dist/mcp/session.js.map +1 -1
  121. package/dist/mcp/submission-boundary.d.ts +23 -31
  122. package/dist/mcp/submission-boundary.d.ts.map +1 -1
  123. package/dist/mcp/submission-boundary.js +242 -92
  124. package/dist/mcp/submission-boundary.js.map +1 -1
  125. package/dist/mcp/submission-handle.d.ts +66 -0
  126. package/dist/mcp/submission-handle.d.ts.map +1 -0
  127. package/dist/mcp/submission-handle.js +173 -0
  128. package/dist/mcp/submission-handle.js.map +1 -0
  129. package/dist/mcp/tools.d.ts +17 -7
  130. package/dist/mcp/tools.d.ts.map +1 -1
  131. package/dist/mcp/tools.js +707 -244
  132. package/dist/mcp/tools.js.map +1 -1
  133. package/dist/open-question.d.ts +7 -0
  134. package/dist/open-question.d.ts.map +1 -0
  135. package/dist/open-question.js +14 -0
  136. package/dist/open-question.js.map +1 -0
  137. package/dist/policy-metrics.d.ts +31 -21
  138. package/dist/policy-metrics.d.ts.map +1 -1
  139. package/dist/policy-metrics.js +117 -64
  140. package/dist/policy-metrics.js.map +1 -1
  141. package/dist/policy.d.ts +11 -39
  142. package/dist/policy.d.ts.map +1 -1
  143. package/dist/policy.js +12 -12
  144. package/dist/policy.js.map +1 -1
  145. package/dist/progress.d.ts +45 -0
  146. package/dist/progress.d.ts.map +1 -0
  147. package/dist/progress.js +136 -0
  148. package/dist/progress.js.map +1 -0
  149. package/dist/prompt-assembler.d.ts +20 -6
  150. package/dist/prompt-assembler.d.ts.map +1 -1
  151. package/dist/prompt-assembler.js +475 -479
  152. package/dist/prompt-assembler.js.map +1 -1
  153. package/dist/prompt-coverage.d.ts +0 -6
  154. package/dist/prompt-coverage.d.ts.map +1 -1
  155. package/dist/prompt-coverage.js +4 -8
  156. package/dist/prompt-coverage.js.map +1 -1
  157. package/dist/prompt-freshness.d.ts +6 -17
  158. package/dist/prompt-freshness.d.ts.map +1 -1
  159. package/dist/prompt-freshness.js +27 -22
  160. package/dist/prompt-freshness.js.map +1 -1
  161. package/dist/prompt-policy.d.ts +14 -7
  162. package/dist/prompt-policy.d.ts.map +1 -1
  163. package/dist/prompt-policy.js +21 -5
  164. package/dist/prompt-policy.js.map +1 -1
  165. package/dist/protocol.d.ts +843 -424
  166. package/dist/protocol.d.ts.map +1 -1
  167. package/dist/protocol.js +73 -102
  168. package/dist/protocol.js.map +1 -1
  169. package/dist/recovery-guidance.d.ts +13 -0
  170. package/dist/recovery-guidance.d.ts.map +1 -0
  171. package/dist/recovery-guidance.js +15 -0
  172. package/dist/recovery-guidance.js.map +1 -0
  173. package/dist/recovery.d.ts +68 -0
  174. package/dist/recovery.d.ts.map +1 -0
  175. package/dist/recovery.js +234 -0
  176. package/dist/recovery.js.map +1 -0
  177. package/dist/replay.d.ts +42 -8
  178. package/dist/replay.d.ts.map +1 -1
  179. package/dist/replay.js +311 -84
  180. package/dist/replay.js.map +1 -1
  181. package/dist/result-facts.d.ts +45 -0
  182. package/dist/result-facts.d.ts.map +1 -0
  183. package/dist/result-facts.js +86 -0
  184. package/dist/result-facts.js.map +1 -0
  185. package/dist/round-contract.d.ts +38 -8
  186. package/dist/round-contract.d.ts.map +1 -1
  187. package/dist/round-contract.js +71 -31
  188. package/dist/round-contract.js.map +1 -1
  189. package/dist/round-coordinator.d.ts +41 -89
  190. package/dist/round-coordinator.d.ts.map +1 -1
  191. package/dist/round-coordinator.js +250 -267
  192. package/dist/round-coordinator.js.map +1 -1
  193. package/dist/round-driver.d.ts +56 -16
  194. package/dist/round-driver.d.ts.map +1 -1
  195. package/dist/round-driver.js +225 -39
  196. package/dist/round-driver.js.map +1 -1
  197. package/dist/round-facts.d.ts +33 -52
  198. package/dist/round-facts.d.ts.map +1 -1
  199. package/dist/round-facts.js +51 -160
  200. package/dist/round-facts.js.map +1 -1
  201. package/dist/round-guidance.d.ts +56 -0
  202. package/dist/round-guidance.d.ts.map +1 -0
  203. package/dist/round-guidance.js +161 -0
  204. package/dist/round-guidance.js.map +1 -0
  205. package/dist/round-outcome.d.ts +21 -0
  206. package/dist/round-outcome.d.ts.map +1 -0
  207. package/dist/round-outcome.js +31 -0
  208. package/dist/round-outcome.js.map +1 -0
  209. package/dist/round-transaction.d.ts +168 -21
  210. package/dist/round-transaction.d.ts.map +1 -1
  211. package/dist/round-transaction.js +837 -38
  212. package/dist/round-transaction.js.map +1 -1
  213. package/dist/self-eval.d.ts +37 -61
  214. package/dist/self-eval.d.ts.map +1 -1
  215. package/dist/self-eval.js +413 -392
  216. package/dist/self-eval.js.map +1 -1
  217. package/dist/storage.d.ts +16 -0
  218. package/dist/storage.d.ts.map +1 -1
  219. package/dist/storage.js +54 -4
  220. package/dist/storage.js.map +1 -1
  221. package/dist/subgoal-state.d.ts +2 -3
  222. package/dist/subgoal-state.d.ts.map +1 -1
  223. package/dist/subgoal-state.js +2 -3
  224. package/dist/subgoal-state.js.map +1 -1
  225. package/dist/submission-guidance.d.ts +29 -21
  226. package/dist/submission-guidance.d.ts.map +1 -1
  227. package/dist/submission-guidance.js +308 -260
  228. package/dist/submission-guidance.js.map +1 -1
  229. package/dist/submission-receipt.d.ts +16 -8
  230. package/dist/submission-receipt.d.ts.map +1 -1
  231. package/dist/submission-receipt.js +145 -51
  232. package/dist/submission-receipt.js.map +1 -1
  233. package/dist/token-utils.d.ts +28 -7
  234. package/dist/token-utils.d.ts.map +1 -1
  235. package/dist/token-utils.js +27 -11
  236. package/dist/token-utils.js.map +1 -1
  237. package/dist/transaction-identity.d.ts +9 -0
  238. package/dist/transaction-identity.d.ts.map +1 -0
  239. package/dist/transaction-identity.js +69 -0
  240. package/dist/transaction-identity.js.map +1 -0
  241. package/dist/verification-actions.d.ts.map +1 -1
  242. package/dist/verification-actions.js +10 -11
  243. package/dist/verification-actions.js.map +1 -1
  244. package/dist/verification-gate.d.ts +23 -47
  245. package/dist/verification-gate.d.ts.map +1 -1
  246. package/dist/verification-gate.js +202 -423
  247. package/dist/verification-gate.js.map +1 -1
  248. package/dist/version.d.ts +1 -1
  249. package/dist/version.js +1 -1
  250. package/dist/working-memory.d.ts +187 -0
  251. package/dist/working-memory.d.ts.map +1 -0
  252. package/dist/working-memory.js +767 -0
  253. package/dist/working-memory.js.map +1 -0
  254. package/dist/workspace-checkpoint.d.ts +88 -0
  255. package/dist/workspace-checkpoint.d.ts.map +1 -0
  256. package/dist/workspace-checkpoint.js +326 -0
  257. package/dist/workspace-checkpoint.js.map +1 -0
  258. package/dist/workspace-restore.d.ts +68 -0
  259. package/dist/workspace-restore.d.ts.map +1 -0
  260. package/dist/workspace-restore.js +604 -0
  261. package/dist/workspace-restore.js.map +1 -0
  262. package/dist/workspace.d.ts +0 -9
  263. package/dist/workspace.d.ts.map +1 -1
  264. package/dist/workspace.js +0 -17
  265. package/dist/workspace.js.map +1 -1
  266. package/loop_policy.json +4 -18
  267. package/package.json +68 -68
  268. package/skills/forge/SKILL.md +212 -0
  269. package/skills/forge/references/evidence-and-contracts.md +204 -0
  270. package/skills/forge/references/recovery-and-views.md +188 -0
  271. package/dist/cognitive-facts.d.ts +0 -30
  272. package/dist/cognitive-facts.d.ts.map +0 -1
  273. package/dist/cognitive-facts.js +0 -113
  274. package/dist/cognitive-facts.js.map +0 -1
  275. package/dist/loop-extras-parser.d.ts +0 -81
  276. package/dist/loop-extras-parser.d.ts.map +0 -1
  277. package/dist/loop-extras-parser.js +0 -213
  278. package/dist/loop-extras-parser.js.map +0 -1
  279. package/dist/loop-projection.d.ts +0 -6
  280. package/dist/loop-projection.d.ts.map +0 -1
  281. package/dist/loop-projection.js +0 -28
  282. package/dist/loop-projection.js.map +0 -1
  283. package/skills/perception/SKILL.md +0 -389
@@ -1 +1 @@
1
- {"version":3,"file":"round-coordinator.js","sourceRoot":"","sources":["../src/round-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"round-coordinator.js","sourceRoot":"","sources":["../src/round-coordinator.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,18 @@
8
8
  import type { LoopStore } from "./loop-store.js";
9
9
  import { LoopForgeEngine } from "./engine.js";
10
10
  import type { MachineObservation } from "./protocol.js";
11
- import type { LoopForgeRequest, LoopForgeResponse, PromptArtifact, SelfEvaluation, SubmissionDiagnostic } from "./protocol.js";
11
+ import type { BoundaryCapture } from "./git-boundary.js";
12
+ import type { LoopCompileRequest, LoopCompileResponse, OperatorAcceptance, PromptArtifact, SelfEvaluation, SubmissionDiagnostic } from "./protocol.js";
13
+ import type { CommittedHistory } from "./history.js";
12
14
  import type { RoundTransactionOutcome, RoundTransactionSnapshot } from "./round-transaction.js";
15
+ import { FileWorkspaceCheckpointStore } from "./workspace-checkpoint.js";
16
+ /** A pre-collected before baseline, used by the post-restore redo path. The
17
+ * boundary is the same pass's Git boundary, so the redo's own before-image
18
+ * is exactly the verified restored state. */
19
+ export interface PreparedBaseline {
20
+ observations: MachineObservation[];
21
+ boundary?: BoundaryCapture;
22
+ }
13
23
  export interface PreparedRound {
14
24
  prompt: string;
15
25
  artifact?: PromptArtifact;
@@ -20,27 +30,19 @@ export interface PreparedRound {
20
30
  warnings?: string[];
21
31
  /** v3.0.1: The full compile response. Callers may cache it (e.g. for the
22
32
  * typed projection) instead of recompiling for derived views. */
23
- compileResponse?: LoopForgeResponse;
33
+ compileResponse?: LoopCompileResponse;
24
34
  }
25
35
  export interface CompleteRoundInput {
26
36
  snapshot: RoundTransactionSnapshot;
27
37
  loopId: string;
28
38
  task: string;
29
39
  maxRounds: number;
40
+ /** v4.0.1: the pre-commit history the advance path already loaded. */
41
+ history?: CommittedHistory;
30
42
  selfEval: SelfEvaluation;
31
- lastSelfEval?: SelfEvaluation;
32
43
  consecutiveRejections: number;
33
44
  /** L4 (v3.7.x): previous round's rejection check (own-streak basis). */
34
45
  lastRejectionCheck?: string;
35
- successTrajectory: boolean[];
36
- /** v2.13: Files from skipped backtrack rounds for restore check. */
37
- backtrackSkippedFiles?: string[];
38
- /** M3 (v3.7.x): skipped-file git fingerprints at their failed rounds. */
39
- backtrackSkippedFingerprints?: Record<string, string>;
40
- /** v2.12: Git HEAD of the backtrack restore point (workspace restore check). */
41
- backtrackTargetGitHead?: string;
42
- /** v3.9: files already dirty at the backtrack restore point. */
43
- backtrackTargetDirty?: string[];
44
46
  /** v3.8.3: trusted round-start entrypoint fingerprints (see RoundProcessInput). */
45
47
  entrypointTrust?: Record<string, string>;
46
48
  /** v3.9.1: normalization diagnostics and the submitted-field manifest. */
@@ -51,17 +53,55 @@ export interface CompletedRound {
51
53
  outcome: RoundTransactionOutcome;
52
54
  actualEvidence: MachineObservation[];
53
55
  }
56
+ export interface CompleteRecoveryInput {
57
+ snapshot: RoundTransactionSnapshot;
58
+ loopId: string;
59
+ /** Built after the after-phase evidence has been collected, because the
60
+ * directive's skipped-file facts depend on it. */
61
+ buildRecovery: (actualEvidence: MachineObservation[]) => import("./protocol.js").RecoveryDirective;
62
+ }
54
63
  export declare class RoundDriver {
55
64
  private readonly engine;
65
+ private readonly checkpointStore?;
56
66
  private readonly store;
57
- constructor(engine: LoopForgeEngine, store?: LoopStore);
58
- prepare(request: LoopForgeRequest, loopId: string, round: number): Promise<PreparedRound | null>;
67
+ constructor(engine: LoopForgeEngine, store?: LoopStore, checkpointStore?: FileWorkspaceCheckpointStore | undefined);
68
+ prepare(request: LoopCompileRequest, loopId: string, round: number, opts?: {
69
+ branchId?: string;
70
+ operatorAcceptance?: OperatorAcceptance;
71
+ /** Post-restore baseline: compile only, do not capture again. */
72
+ baseline?: PreparedBaseline;
73
+ /** Set on the redo transaction after a verified restore. */
74
+ restore?: RoundTransactionSnapshot["restore"];
75
+ }): Promise<PreparedRound>;
59
76
  private compile;
60
77
  /** Compile a fresh prompt for a zero-commit enforcement retry. The logical
61
- * round ID and before-evidence snapshot remain stable; only attempt changes. */
62
- prepareRetry(request: LoopForgeRequest, rejected: RoundTransactionSnapshot, rejectionNotice: string, consecutiveRejections: number): Promise<PreparedRound | null>;
78
+ * round ID and before-evidence snapshot remain stable; only attempt changes.
79
+ *
80
+ * v4.0.5: `invocationRecovery` marks the cold-handoff case. It only applies
81
+ * below the escalation threshold — an escalated retry is already clean
82
+ * context and keeps `rejection_escalation`. */
83
+ prepareRetry(request: LoopCompileRequest, rejected: RoundTransactionSnapshot, rejectionNotice: string, consecutiveRejections: number, opts?: {
84
+ invocationRecovery?: boolean;
85
+ }): Promise<PreparedRound>;
86
+ /** v4.0.5: recompile the HELD retry prompt for the SAME logical round and
87
+ * attempt. This is not a new attempt, a recovery or a round advance: it
88
+ * compiles only, never collects before/after evidence, never writes a Vault
89
+ * round and never changes attempt/round.
90
+ *
91
+ * Any held prompt keeps its context boundary. If the held artifact is
92
+ * already `invocation_recovery`, the flag is re-applied even when this call
93
+ * carries only a new instruction, so a cold-context prompt can never fall
94
+ * back to `same_round_retry`. */
95
+ recompileHeld(request: LoopCompileRequest, held: RoundTransactionSnapshot): Promise<PreparedRound>;
63
96
  private finishPrepare;
97
+ /** The ONE coordinator construction for a write. The engine is not a write
98
+ * dependency. */
99
+ private coordinator;
64
100
  complete(input: CompleteRoundInput): Promise<CompletedRound>;
101
+ /** v3.9.6: collect the abandoned round's after evidence, then commit the
102
+ * rollback directive. The Agent has already decided to abandon; this path
103
+ * never runs verification/enforcement on the abandoned work. */
104
+ completeRecovery(input: CompleteRecoveryInput): Promise<CompletedRound>;
65
105
  recover(snapshot: RoundTransactionSnapshot): RoundTransactionOutcome | null;
66
106
  private collectEvidence;
67
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"round-driver.d.ts","sourceRoot":"","sources":["../src/round-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IACvC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;sEACkE;IAClE,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,yEAAyE;IACzE,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,mFAAmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,0EAA0E;IAC1E,wBAAwB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,uBAAuB,CAAC;IACjC,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,qBAAa,WAAW;IAGV,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEL,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,SAAS;IAIjE,OAAO,CACX,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAYhC,OAAO,CAAC,OAAO;IAgBf;oFACgF;IAC1E,YAAY,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,wBAAwB,EAClC,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwBhC,OAAO,CAAC,aAAa;IAyBf,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IA2BlE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,GAAG,uBAAuB,GAAG,IAAI;IAO3E,OAAO,CAAC,eAAe;CAMxB"}
1
+ {"version":3,"file":"round-driver.d.ts","sourceRoot":"","sources":["../src/round-driver.ts"],"names":[],"mappings":"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"}
@@ -7,53 +7,102 @@
7
7
  */
8
8
  import { EvidenceCollector } from "./evidence-provider.js";
9
9
  import { writeStateFile } from "./policy.js";
10
- import { prepareRejectedAttempt, prepareRoundTransaction, RoundTransactionCoordinator, } from "./round-transaction.js";
10
+ import { CompileFailureError } from "./errors.js";
11
+ import { prepareRejectedAttempt, prepareRoundTransaction, rebindHeldPrompt, RoundTransactionCoordinator, } from "./round-transaction.js";
12
+ import { buildCheckpointRef, CHECKPOINT_MAX_PATHS, } from "./workspace-checkpoint.js";
11
13
  export class RoundDriver {
12
14
  engine;
15
+ checkpointStore;
13
16
  store;
14
- constructor(engine, store) {
17
+ constructor(engine, store, checkpointStore) {
15
18
  this.engine = engine;
19
+ this.checkpointStore = checkpointStore;
16
20
  this.store = store ?? engine.getStore();
17
21
  }
18
- async prepare(request, loopId, round) {
19
- // v3.0.1: compile (CPU-bound) and before-evidence collection (external
20
- // process spawns) run concurrently — the git/command spawns were the
21
- // latency tail behind the old compile-first, evidence-second order.
22
- const [response, evidenceBaseline] = await Promise.all([
23
- Promise.resolve().then(() => this.compile(request, loopId, true)),
24
- this.collectEvidence(loopId, "before"),
25
- ]);
26
- if (!response)
27
- return null;
28
- return this.finishPrepare(response, loopId, round, evidenceBaseline);
22
+ async prepare(request, loopId, round, opts = {}) {
23
+ let boundary;
24
+ let response;
25
+ let evidenceBaseline;
26
+ if (opts.baseline) {
27
+ // v4.0.3: the redo compile carries the verified-restore fact so the
28
+ // Recovery Brief never hard-codes `restore verified`.
29
+ response = this.compile(opts.restore ? { ...request, restore_verified: true } : request, loopId, opts.operatorAcceptance);
30
+ evidenceBaseline = opts.baseline.observations;
31
+ boundary = opts.baseline.boundary;
32
+ }
33
+ else {
34
+ // v3.0.1: compile (CPU-bound) and before-evidence collection (external
35
+ // process spawns) run concurrently — the git/command spawns were the
36
+ // latency tail behind the old compile-first, evidence-second order.
37
+ // v3.9.7: the Git provider materializes the checkpoint before-image in
38
+ // the SAME boundary pass; no second hash.
39
+ const [compiled, evidence] = await Promise.all([
40
+ Promise.resolve().then(() => this.compile(request, loopId, opts.operatorAcceptance)),
41
+ this.collectEvidence(loopId, "before", this.checkpointStore
42
+ ? {
43
+ materializer: this.checkpointStore,
44
+ boundarySink: (captured) => { boundary = captured; },
45
+ maxPaths: CHECKPOINT_MAX_PATHS,
46
+ }
47
+ : undefined),
48
+ ]);
49
+ response = compiled;
50
+ evidenceBaseline = evidence;
51
+ }
52
+ return this.finishPrepare(response, loopId, round, evidenceBaseline, opts, boundary);
29
53
  }
30
- compile(request, loopId, persistLineage) {
31
- const compiled = this.engine.invokeLoopCompile(request, undefined, { persistLineage });
32
- const response = compiled.response;
33
- if (!response?.prompt)
34
- return null;
54
+ compile(request, loopId, operatorAcceptance) {
55
+ const response = this.engine.invokeLoopCompile(request, operatorAcceptance ? { operatorAcceptance } : {});
56
+ if (!response.prompt) {
57
+ throw new CompileFailureError(response.error || "the compiler produced no prompt");
58
+ }
35
59
  writeStateFile(loopId, response.state_file_content);
36
60
  return response;
37
61
  }
38
62
  /** Compile a fresh prompt for a zero-commit enforcement retry. The logical
39
- * round ID and before-evidence snapshot remain stable; only attempt changes. */
40
- async prepareRetry(request, rejected, rejectionNotice, consecutiveRejections) {
63
+ * round ID and before-evidence snapshot remain stable; only attempt changes.
64
+ *
65
+ * v4.0.5: `invocationRecovery` marks the cold-handoff case. It only applies
66
+ * below the escalation threshold — an escalated retry is already clean
67
+ * context and keeps `rejection_escalation`. */
68
+ async prepareRetry(request, rejected, rejectionNotice, consecutiveRejections, opts = {}) {
41
69
  const retryRequest = {
42
70
  ...request,
43
71
  round: rejected.round,
44
72
  attempt: rejected.attempt + 1,
45
73
  consecutive_rejections: consecutiveRejections,
46
74
  rejection_notice: rejectionNotice,
47
- force_level: consecutiveRejections >= 2 ? "l2" : "l0",
75
+ // v4.0.3: `force_level` was never consulted for attempt > 1 — the level
76
+ // policy derives L0 (first retry) / L2 (repeated rejection) from facts.
77
+ ...(opts.invocationRecovery && consecutiveRejections < 2
78
+ ? { invocation_recovery: true }
79
+ : {}),
80
+ // v4.0.5: a rejected retry of a verified redo keeps the restore fact, so
81
+ // the Recovery Brief can still state it was machine-verified.
82
+ ...(rejected.restore ? { restore_verified: true } : {}),
48
83
  };
49
- const response = this.compile(retryRequest, rejected.loopId, false);
50
- if (!response?.prompt_artifact)
51
- return null;
52
- const snapshot = prepareRejectedAttempt(rejected, response.prompt_artifact);
84
+ const response = this.compile(retryRequest, rejected.loopId, rejected.operatorAcceptance);
85
+ if (!response.prompt_artifact) {
86
+ throw new CompileFailureError("the retry compiler produced no prompt artifact");
87
+ }
88
+ // v3.9.6: warnings live on the artifact; the session no longer mirrors
89
+ // them, so a held prompt is self-contained across a restart. The
90
+ // assembler owns `artifact.warnings`; the driver does not re-stamp it.
91
+ const artifact = response.prompt_artifact;
92
+ // v4.0.1: the compile response is the one source of the facts stamped at
93
+ // commit. There is no second derivation from the objective or the rejected
94
+ // attempt; a response missing them is a compile failure, not an input to
95
+ // guess around.
96
+ const compiled = response.compiled;
97
+ const operatorAcceptance = response.operatorAcceptance;
98
+ if (!compiled || !operatorAcceptance) {
99
+ throw new CompileFailureError("the retry compiler produced no compile facts or operator acceptance");
100
+ }
101
+ const snapshot = prepareRejectedAttempt(rejected, artifact, compiled, operatorAcceptance);
53
102
  return {
54
103
  prompt: response.prompt,
55
- artifact: response.prompt_artifact,
56
- level: response.prompt_artifact.level,
104
+ artifact,
105
+ level: artifact.level,
57
106
  evidenceBaseline: rejected.beforeEvidence,
58
107
  snapshot,
59
108
  stateFileContent: response.state_file_content,
@@ -61,9 +110,118 @@ export class RoundDriver {
61
110
  compileResponse: response,
62
111
  };
63
112
  }
64
- finishPrepare(response, loopId, round, evidenceBaseline) {
113
+ /** v4.0.5: recompile the HELD retry prompt for the SAME logical round and
114
+ * attempt. This is not a new attempt, a recovery or a round advance: it
115
+ * compiles only, never collects before/after evidence, never writes a Vault
116
+ * round and never changes attempt/round.
117
+ *
118
+ * Any held prompt keeps its context boundary. If the held artifact is
119
+ * already `invocation_recovery`, the flag is re-applied even when this call
120
+ * carries only a new instruction, so a cold-context prompt can never fall
121
+ * back to `same_round_retry`. */
122
+ async recompileHeld(request, held) {
123
+ if (held.phase !== "prompted" || !held.promptArtifact) {
124
+ throw new CompileFailureError("no held prompt exists to recompile");
125
+ }
126
+ const preserveInvocationRecovery = held.promptArtifact.contextReason === "invocation_recovery";
127
+ const compileRequest = {
128
+ ...request,
129
+ round: held.round,
130
+ attempt: held.attempt,
131
+ consecutive_rejections: request.consecutive_rejections,
132
+ rejection_notice: request.rejection_notice || held.retryContext?.rejectionNotice || "",
133
+ ...(preserveInvocationRecovery || request.invocation_recovery === true
134
+ ? { invocation_recovery: true }
135
+ : {}),
136
+ ...(held.restore ? { restore_verified: true } : {}),
137
+ };
138
+ const response = this.compile(compileRequest, held.loopId, held.operatorAcceptance);
139
+ if (!response.prompt_artifact) {
140
+ throw new CompileFailureError("the recompile produced no prompt artifact");
141
+ }
65
142
  const artifact = response.prompt_artifact;
66
- const snapshot = prepareRoundTransaction(loopId, round, evidenceBaseline, artifact);
143
+ const compiled = response.compiled;
144
+ const operatorAcceptance = response.operatorAcceptance;
145
+ if (!compiled || !operatorAcceptance) {
146
+ throw new CompileFailureError("the recompile produced no compile facts or operator acceptance");
147
+ }
148
+ const snapshot = rebindHeldPrompt(held, artifact, compiled, operatorAcceptance);
149
+ return {
150
+ prompt: response.prompt,
151
+ artifact,
152
+ level: artifact.level,
153
+ evidenceBaseline: held.beforeEvidence,
154
+ snapshot,
155
+ stateFileContent: response.state_file_content,
156
+ warnings: response.warnings,
157
+ compileResponse: response,
158
+ };
159
+ }
160
+ finishPrepare(response, loopId, round, evidenceBaseline, opts = {}, boundary) {
161
+ const artifact = response.prompt_artifact;
162
+ const observedGitBefore = evidenceBaseline.some((observation) => observation.kind === "git" && observation.status === "observed");
163
+ let beforeCheckpointError;
164
+ let manifest;
165
+ if (boundary?.materializationError) {
166
+ beforeCheckpointError = {
167
+ ...boundary.materializationError,
168
+ at: Date.now(),
169
+ };
170
+ }
171
+ else if (boundary &&
172
+ Object.keys(boundary.fingerprints).length > CHECKPOINT_MAX_PATHS) {
173
+ beforeCheckpointError = {
174
+ code: "too_many_paths",
175
+ detail: `boundary has more than ${CHECKPOINT_MAX_PATHS} paths`,
176
+ at: Date.now(),
177
+ };
178
+ }
179
+ else if (boundary && this.checkpointStore) {
180
+ try {
181
+ manifest = this.checkpointStore.persistManifest(round, "before", boundary);
182
+ }
183
+ catch (error) {
184
+ beforeCheckpointError = {
185
+ code: "checkpoint_write_failed",
186
+ detail: String(error),
187
+ at: Date.now(),
188
+ };
189
+ }
190
+ }
191
+ else if (observedGitBefore) {
192
+ // A Git-observed transaction owes a before-image or an explicit error.
193
+ beforeCheckpointError = {
194
+ code: this.checkpointStore ? "boundary_unavailable" : "store_unavailable",
195
+ detail: this.checkpointStore
196
+ ? "the before-phase Git boundary was not materialized"
197
+ : "no workspace checkpoint store is configured",
198
+ at: Date.now(),
199
+ };
200
+ }
201
+ // v4.0.1: compile facts and the operator surface come directly from the
202
+ // compile response. The driver never re-derives either one.
203
+ const compiled = response.compiled;
204
+ const operatorAcceptance = response.operatorAcceptance;
205
+ if (!compiled || !operatorAcceptance) {
206
+ throw new CompileFailureError("the compiler produced no compile facts or operator acceptance");
207
+ }
208
+ const snapshot = prepareRoundTransaction(loopId, round, evidenceBaseline, artifact, {
209
+ ...(opts.branchId ? { branchId: opts.branchId } : {}),
210
+ ...(operatorAcceptance ? { operatorAcceptance } : {}),
211
+ compiled,
212
+ ...(beforeCheckpointError ? { beforeCheckpointError } : {}),
213
+ });
214
+ if (manifest) {
215
+ snapshot.beforeCheckpoint = buildCheckpointRef(manifest, {
216
+ transactionId: snapshot.transactionId,
217
+ branchId: snapshot.branchId,
218
+ });
219
+ // prepareRoundTransaction records `store_unavailable` when no ref was
220
+ // supplied at construction; the ref above supersedes that placeholder.
221
+ delete snapshot.beforeCheckpointError;
222
+ }
223
+ if (opts.restore)
224
+ snapshot.restore = opts.restore;
67
225
  return {
68
226
  prompt: response.prompt,
69
227
  artifact,
@@ -75,34 +233,62 @@ export class RoundDriver {
75
233
  compileResponse: response,
76
234
  };
77
235
  }
236
+ /** The ONE coordinator construction for a write. The engine is not a write
237
+ * dependency. */
238
+ coordinator() {
239
+ return new RoundTransactionCoordinator(this.store);
240
+ }
78
241
  async complete(input) {
79
242
  const actualEvidence = await this.collectEvidence(input.loopId, "after");
80
- const transaction = new RoundTransactionCoordinator(this.engine, this.store);
243
+ const transaction = this.coordinator();
81
244
  const outcome = transaction.process({
82
245
  snapshot: input.snapshot,
83
246
  task: input.task,
84
247
  maxRounds: input.maxRounds,
248
+ ...(input.history ? { history: input.history } : {}),
85
249
  selfEval: input.selfEval,
86
- lastSelfEval: input.lastSelfEval,
87
250
  consecutiveRejections: input.consecutiveRejections,
88
251
  lastRejectionCheck: input.lastRejectionCheck,
89
- successTrajectory: input.successTrajectory,
90
252
  actualEvidence,
91
- backtrackSkippedFiles: input.backtrackSkippedFiles,
92
- backtrackSkippedFingerprints: input.backtrackSkippedFingerprints,
93
253
  entrypointTrust: input.entrypointTrust,
94
- backtrackTargetGitHead: input.backtrackTargetGitHead,
95
- backtrackTargetDirty: input.backtrackTargetDirty,
96
254
  normalizationDiagnostics: input.normalizationDiagnostics,
97
255
  submittedFields: input.submittedFields,
256
+ ...(input.snapshot.beforeCheckpoint
257
+ ? { beforeCheckpoint: input.snapshot.beforeCheckpoint }
258
+ : {}),
259
+ ...(this.checkpointStore
260
+ ? {
261
+ resolveCheckpointManifest: (ref) => this.checkpointStore.readManifest(ref.checkpointId),
262
+ }
263
+ : {}),
264
+ });
265
+ return { outcome, actualEvidence };
266
+ }
267
+ /** v3.9.6: collect the abandoned round's after evidence, then commit the
268
+ * rollback directive. The Agent has already decided to abandon; this path
269
+ * never runs verification/enforcement on the abandoned work. */
270
+ async completeRecovery(input) {
271
+ const actualEvidence = await this.collectEvidence(input.loopId, "after");
272
+ const recovery = input.buildRecovery(actualEvidence);
273
+ const outcome = this.coordinator().commitRecovery({
274
+ snapshot: input.snapshot,
275
+ loopId: input.loopId,
276
+ recovery,
277
+ actualEvidence,
98
278
  });
99
279
  return { outcome, actualEvidence };
100
280
  }
101
281
  recover(snapshot) {
102
- return new RoundTransactionCoordinator(this.engine, this.store).recover(snapshot);
282
+ return this.coordinator().recover(snapshot);
103
283
  }
104
- collectEvidence(loopId, phase) {
105
- return EvidenceCollector.fromPolicy().collectAsync({ loopId, phase });
284
+ collectEvidence(loopId, phase, opts) {
285
+ return EvidenceCollector.fromPolicy().collectAsync({
286
+ loopId,
287
+ phase,
288
+ ...(opts?.materializer ? { materializer: opts.materializer } : {}),
289
+ ...(opts?.boundarySink ? { boundarySink: opts.boundarySink } : {}),
290
+ ...(opts?.maxPaths !== undefined ? { maxPaths: opts.maxPaths } : {}),
291
+ });
106
292
  }
107
293
  }
108
294
  //# sourceMappingURL=round-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"round-driver.js","sourceRoot":"","sources":["../src/round-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQ7C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAkDhC,MAAM,OAAO,WAAW;IAGO;IAFZ,KAAK,CAAY;IAElC,YAA6B,MAAuB,EAAE,KAAiB;QAA1C,WAAM,GAAN,MAAM,CAAiB;QAClD,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAyB,EACzB,MAAc,EACd,KAAa;QAEb,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAEO,OAAO,CACb,OAAyB,EACzB,MAAc,EACd,cAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC5C,OAAO,EACP,SAAS,EACT,EAAE,cAAc,EAAE,CACnB,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACnC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;oFACgF;IAChF,KAAK,CAAC,YAAY,CAChB,OAAyB,EACzB,QAAkC,EAClC,eAAuB,EACvB,qBAA6B;QAE7B,MAAM,YAAY,GAAG;YACnB,GAAG,OAAO;YACV,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC;YAC7B,sBAAsB,EAAE,qBAAqB;YAC7C,gBAAgB,EAAE,eAAe;YACjC,WAAW,EAAE,qBAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SAClC,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,eAAe;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK;YACrC,gBAAgB,EAAE,QAAQ,CAAC,cAAc;YACzC,QAAQ;YACR,gBAAgB,EAAE,QAAQ,CAAC,kBAAkB;YAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,QAA2B,EAC3B,MAAc,EACd,KAAa,EACb,gBAAsC;QAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC1C,MAAM,QAAQ,GAAG,uBAAuB,CACtC,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,QAAQ,CACT,CAAC;QACF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAO;YACxB,QAAQ;YACR,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI;YAC9B,gBAAgB;YAChB,QAAQ;YACR,gBAAgB,EAAE,QAAQ,CAAC,kBAAkB;YAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAyB;QACtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,2BAA2B,CACjD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,cAAc;YACd,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;YAChE,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;YAChD,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;YACxD,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,QAAkC;QACxC,OAAO,IAAI,2BAA2B,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,KAAyB;QAEzB,OAAO,iBAAiB,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"round-driver.js","sourceRoot":"","sources":["../src/round-driver.ts"],"names":[],"mappings":"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"}