@allocator-one/rcl 4.4.19

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 (663) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1415 -0
  3. package/dist/ci.d.ts +16 -0
  4. package/dist/ci.js +42 -0
  5. package/dist/ci.js.map +1 -0
  6. package/dist/config/data-dir.d.ts +6 -0
  7. package/dist/config/data-dir.js +12 -0
  8. package/dist/config/data-dir.js.map +1 -0
  9. package/dist/config/defaults.d.ts +82 -0
  10. package/dist/config/defaults.js +89 -0
  11. package/dist/config/defaults.js.map +1 -0
  12. package/dist/config/harness.d.ts +40 -0
  13. package/dist/config/harness.js +151 -0
  14. package/dist/config/harness.js.map +1 -0
  15. package/dist/config/loader.d.ts +13 -0
  16. package/dist/config/loader.js +131 -0
  17. package/dist/config/loader.js.map +1 -0
  18. package/dist/config/provider-concurrency.d.ts +4 -0
  19. package/dist/config/provider-concurrency.js +6 -0
  20. package/dist/config/provider-concurrency.js.map +1 -0
  21. package/dist/config/providers.d.ts +3 -0
  22. package/dist/config/providers.js +9 -0
  23. package/dist/config/providers.js.map +1 -0
  24. package/dist/config/schema.d.ts +179 -0
  25. package/dist/config/schema.js +115 -0
  26. package/dist/config/schema.js.map +1 -0
  27. package/dist/consensus/claim-contract.d.ts +9 -0
  28. package/dist/consensus/claim-contract.js +307 -0
  29. package/dist/consensus/claim-contract.js.map +1 -0
  30. package/dist/consensus/claim-identity.d.ts +5 -0
  31. package/dist/consensus/claim-identity.js +39 -0
  32. package/dist/consensus/claim-identity.js.map +1 -0
  33. package/dist/consensus/deduper.d.ts +43 -0
  34. package/dist/consensus/deduper.js +1052 -0
  35. package/dist/consensus/deduper.js.map +1 -0
  36. package/dist/consensus/finding-identity.d.ts +20 -0
  37. package/dist/consensus/finding-identity.js +49 -0
  38. package/dist/consensus/finding-identity.js.map +1 -0
  39. package/dist/consensus/gating.d.ts +215 -0
  40. package/dist/consensus/gating.js +699 -0
  41. package/dist/consensus/gating.js.map +1 -0
  42. package/dist/consensus/parser.d.ts +22 -0
  43. package/dist/consensus/parser.js +255 -0
  44. package/dist/consensus/parser.js.map +1 -0
  45. package/dist/consensus/semantic-deduper.d.ts +10 -0
  46. package/dist/consensus/semantic-deduper.js +70 -0
  47. package/dist/consensus/semantic-deduper.js.map +1 -0
  48. package/dist/consensus/types.d.ts +196 -0
  49. package/dist/consensus/types.js +2 -0
  50. package/dist/consensus/types.js.map +1 -0
  51. package/dist/consensus/verification-contract.d.ts +8 -0
  52. package/dist/consensus/verification-contract.js +95 -0
  53. package/dist/consensus/verification-contract.js.map +1 -0
  54. package/dist/consensus/voter.d.ts +29 -0
  55. package/dist/consensus/voter.js +394 -0
  56. package/dist/consensus/voter.js.map +1 -0
  57. package/dist/converge/attempt-budget.d.ts +88 -0
  58. package/dist/converge/attempt-budget.js +717 -0
  59. package/dist/converge/attempt-budget.js.map +1 -0
  60. package/dist/converge/bound-fix-recovery-source.d.ts +24 -0
  61. package/dist/converge/bound-fix-recovery-source.js +25 -0
  62. package/dist/converge/bound-fix-recovery-source.js.map +1 -0
  63. package/dist/converge/bound-fix-recovery.d.ts +15 -0
  64. package/dist/converge/bound-fix-recovery.js +65 -0
  65. package/dist/converge/bound-fix-recovery.js.map +1 -0
  66. package/dist/converge/correction-anchors.d.ts +1 -0
  67. package/dist/converge/correction-anchors.js +2 -0
  68. package/dist/converge/correction-anchors.js.map +1 -0
  69. package/dist/converge/cycle-remote.d.ts +6 -0
  70. package/dist/converge/cycle-remote.js +41 -0
  71. package/dist/converge/cycle-remote.js.map +1 -0
  72. package/dist/converge/delivery-reconciliation.d.ts +17 -0
  73. package/dist/converge/delivery-reconciliation.js +53 -0
  74. package/dist/converge/delivery-reconciliation.js.map +1 -0
  75. package/dist/converge/finding-identity.d.ts +6 -0
  76. package/dist/converge/finding-identity.js +7 -0
  77. package/dist/converge/finding-identity.js.map +1 -0
  78. package/dist/converge/fresh-review.d.ts +37 -0
  79. package/dist/converge/fresh-review.js +351 -0
  80. package/dist/converge/fresh-review.js.map +1 -0
  81. package/dist/converge/launch-guard.d.ts +55 -0
  82. package/dist/converge/launch-guard.js +363 -0
  83. package/dist/converge/launch-guard.js.map +1 -0
  84. package/dist/converge/launch-preflight.d.ts +5 -0
  85. package/dist/converge/launch-preflight.js +41 -0
  86. package/dist/converge/launch-preflight.js.map +1 -0
  87. package/dist/converge/launch-record.d.ts +136 -0
  88. package/dist/converge/launch-record.js +86 -0
  89. package/dist/converge/launch-record.js.map +1 -0
  90. package/dist/converge/legacy-launch-health.d.ts +311 -0
  91. package/dist/converge/legacy-launch-health.js +159 -0
  92. package/dist/converge/legacy-launch-health.js.map +1 -0
  93. package/dist/converge/legacy-roster.d.ts +29 -0
  94. package/dist/converge/legacy-roster.js +268 -0
  95. package/dist/converge/legacy-roster.js.map +1 -0
  96. package/dist/converge/native-lock.d.ts +18 -0
  97. package/dist/converge/native-lock.js +122 -0
  98. package/dist/converge/native-lock.js.map +1 -0
  99. package/dist/converge/ordinary-pending-export.d.ts +67 -0
  100. package/dist/converge/ordinary-pending-export.js +175 -0
  101. package/dist/converge/ordinary-pending-export.js.map +1 -0
  102. package/dist/converge/ordinary-pending-package.d.ts +28 -0
  103. package/dist/converge/ordinary-pending-package.js +36 -0
  104. package/dist/converge/ordinary-pending-package.js.map +1 -0
  105. package/dist/converge/pending-legacy-resume.d.ts +119 -0
  106. package/dist/converge/pending-legacy-resume.js +720 -0
  107. package/dist/converge/pending-legacy-resume.js.map +1 -0
  108. package/dist/converge/pending-recovery-source.d.ts +131 -0
  109. package/dist/converge/pending-recovery-source.js +71 -0
  110. package/dist/converge/pending-recovery-source.js.map +1 -0
  111. package/dist/converge/recovery-launch.d.ts +66 -0
  112. package/dist/converge/recovery-launch.js +518 -0
  113. package/dist/converge/recovery-launch.js.map +1 -0
  114. package/dist/converge/retained-report.d.ts +29 -0
  115. package/dist/converge/retained-report.js +218 -0
  116. package/dist/converge/retained-report.js.map +1 -0
  117. package/dist/converge/retry-source.d.ts +25 -0
  118. package/dist/converge/retry-source.js +13 -0
  119. package/dist/converge/retry-source.js.map +1 -0
  120. package/dist/converge/review-cycle.d.ts +49 -0
  121. package/dist/converge/review-cycle.js +26 -0
  122. package/dist/converge/review-cycle.js.map +1 -0
  123. package/dist/converge/round-gap-schema.d.ts +66 -0
  124. package/dist/converge/round-gap-schema.js +51 -0
  125. package/dist/converge/round-gap-schema.js.map +1 -0
  126. package/dist/converge/round-gap.d.ts +38 -0
  127. package/dist/converge/round-gap.js +334 -0
  128. package/dist/converge/round-gap.js.map +1 -0
  129. package/dist/converge/run-state.d.ts +224 -0
  130. package/dist/converge/run-state.js +564 -0
  131. package/dist/converge/run-state.js.map +1 -0
  132. package/dist/converge/stale-report-schema.d.ts +42 -0
  133. package/dist/converge/stale-report-schema.js +79 -0
  134. package/dist/converge/stale-report-schema.js.map +1 -0
  135. package/dist/converge/stale-report-storage.d.ts +47 -0
  136. package/dist/converge/stale-report-storage.js +172 -0
  137. package/dist/converge/stale-report-storage.js.map +1 -0
  138. package/dist/converge/stale-report.d.ts +14 -0
  139. package/dist/converge/stale-report.js +213 -0
  140. package/dist/converge/stale-report.js.map +1 -0
  141. package/dist/converge/target-ownership.d.ts +29 -0
  142. package/dist/converge/target-ownership.js +95 -0
  143. package/dist/converge/target-ownership.js.map +1 -0
  144. package/dist/converge/terminal-rejection-schema.d.ts +42 -0
  145. package/dist/converge/terminal-rejection-schema.js +39 -0
  146. package/dist/converge/terminal-rejection-schema.js.map +1 -0
  147. package/dist/converge/terminal-rejection.d.ts +13 -0
  148. package/dist/converge/terminal-rejection.js +275 -0
  149. package/dist/converge/terminal-rejection.js.map +1 -0
  150. package/dist/coordination/registry-lock.d.ts +82 -0
  151. package/dist/coordination/registry-lock.js +498 -0
  152. package/dist/coordination/registry-lock.js.map +1 -0
  153. package/dist/discuss.d.ts +53 -0
  154. package/dist/discuss.js +112 -0
  155. package/dist/discuss.js.map +1 -0
  156. package/dist/dispatch/adapter.d.ts +32 -0
  157. package/dist/dispatch/adapter.js +2 -0
  158. package/dist/dispatch/adapter.js.map +1 -0
  159. package/dist/dispatch/anthropic.d.ts +10 -0
  160. package/dist/dispatch/anthropic.js +235 -0
  161. package/dist/dispatch/anthropic.js.map +1 -0
  162. package/dist/dispatch/async-lane.d.ts +127 -0
  163. package/dist/dispatch/async-lane.js +414 -0
  164. package/dist/dispatch/async-lane.js.map +1 -0
  165. package/dist/dispatch/capture-council.d.ts +63 -0
  166. package/dist/dispatch/capture-council.js +137 -0
  167. package/dist/dispatch/capture-council.js.map +1 -0
  168. package/dist/dispatch/captured-async.d.ts +67 -0
  169. package/dist/dispatch/captured-async.js +40 -0
  170. package/dist/dispatch/captured-async.js.map +1 -0
  171. package/dist/dispatch/captured-inputs.d.ts +50 -0
  172. package/dist/dispatch/captured-inputs.js +190 -0
  173. package/dist/dispatch/captured-inputs.js.map +1 -0
  174. package/dist/dispatch/checkpoint-async-context.d.ts +27 -0
  175. package/dist/dispatch/checkpoint-async-context.js +51 -0
  176. package/dist/dispatch/checkpoint-async-context.js.map +1 -0
  177. package/dist/dispatch/checkpoint-async-execution.d.ts +22 -0
  178. package/dist/dispatch/checkpoint-async-execution.js +130 -0
  179. package/dist/dispatch/checkpoint-async-execution.js.map +1 -0
  180. package/dist/dispatch/checkpoint-async-store.d.ts +134 -0
  181. package/dist/dispatch/checkpoint-async-store.js +534 -0
  182. package/dist/dispatch/checkpoint-async-store.js.map +1 -0
  183. package/dist/dispatch/checkpoint-async-unknown.d.ts +19 -0
  184. package/dist/dispatch/checkpoint-async-unknown.js +46 -0
  185. package/dist/dispatch/checkpoint-async-unknown.js.map +1 -0
  186. package/dist/dispatch/checkpoint-async.d.ts +252 -0
  187. package/dist/dispatch/checkpoint-async.js +270 -0
  188. package/dist/dispatch/checkpoint-async.js.map +1 -0
  189. package/dist/dispatch/checkpoint-gating-execution.d.ts +26 -0
  190. package/dist/dispatch/checkpoint-gating-execution.js +84 -0
  191. package/dist/dispatch/checkpoint-gating-execution.js.map +1 -0
  192. package/dist/dispatch/checkpoint-phase-limits.d.ts +5 -0
  193. package/dist/dispatch/checkpoint-phase-limits.js +11 -0
  194. package/dist/dispatch/checkpoint-phase-limits.js.map +1 -0
  195. package/dist/dispatch/checkpoint-verification-context.d.ts +15 -0
  196. package/dist/dispatch/checkpoint-verification-context.js +48 -0
  197. package/dist/dispatch/checkpoint-verification-context.js.map +1 -0
  198. package/dist/dispatch/checkpoint-verification.d.ts +213 -0
  199. package/dist/dispatch/checkpoint-verification.js +381 -0
  200. package/dist/dispatch/checkpoint-verification.js.map +1 -0
  201. package/dist/dispatch/checkpoint.d.ts +329 -0
  202. package/dist/dispatch/checkpoint.js +1418 -0
  203. package/dist/dispatch/checkpoint.js.map +1 -0
  204. package/dist/dispatch/google.d.ts +10 -0
  205. package/dist/dispatch/google.js +158 -0
  206. package/dist/dispatch/google.js.map +1 -0
  207. package/dist/dispatch/late-audit.d.ts +23 -0
  208. package/dist/dispatch/late-audit.js +133 -0
  209. package/dist/dispatch/late-audit.js.map +1 -0
  210. package/dist/dispatch/merge.d.ts +29 -0
  211. package/dist/dispatch/merge.js +112 -0
  212. package/dist/dispatch/merge.js.map +1 -0
  213. package/dist/dispatch/openai-compat.d.ts +30 -0
  214. package/dist/dispatch/openai-compat.js +166 -0
  215. package/dist/dispatch/openai-compat.js.map +1 -0
  216. package/dist/dispatch/openai.d.ts +10 -0
  217. package/dist/dispatch/openai.js +159 -0
  218. package/dist/dispatch/openai.js.map +1 -0
  219. package/dist/dispatch/original-execution.d.ts +30 -0
  220. package/dist/dispatch/original-execution.js +91 -0
  221. package/dist/dispatch/original-execution.js.map +1 -0
  222. package/dist/dispatch/original-launch.d.ts +37 -0
  223. package/dist/dispatch/original-launch.js +117 -0
  224. package/dist/dispatch/original-launch.js.map +1 -0
  225. package/dist/dispatch/quorum.d.ts +15 -0
  226. package/dist/dispatch/quorum.js +33 -0
  227. package/dist/dispatch/quorum.js.map +1 -0
  228. package/dist/dispatch/recovery-operation.d.ts +44 -0
  229. package/dist/dispatch/recovery-operation.js +146 -0
  230. package/dist/dispatch/recovery-operation.js.map +1 -0
  231. package/dist/dispatch/recovery-policy.d.ts +54 -0
  232. package/dist/dispatch/recovery-policy.js +157 -0
  233. package/dist/dispatch/recovery-policy.js.map +1 -0
  234. package/dist/dispatch/recovery.d.ts +78 -0
  235. package/dist/dispatch/recovery.js +299 -0
  236. package/dist/dispatch/recovery.js.map +1 -0
  237. package/dist/dispatch/retained-async.d.ts +13 -0
  238. package/dist/dispatch/retained-async.js +101 -0
  239. package/dist/dispatch/retained-async.js.map +1 -0
  240. package/dist/dispatch/reviewer-identity.d.ts +10 -0
  241. package/dist/dispatch/reviewer-identity.js +19 -0
  242. package/dist/dispatch/reviewer-identity.js.map +1 -0
  243. package/dist/dispatch/runner.d.ts +76 -0
  244. package/dist/dispatch/runner.js +415 -0
  245. package/dist/dispatch/runner.js.map +1 -0
  246. package/dist/dispatch/utils.d.ts +159 -0
  247. package/dist/dispatch/utils.js +381 -0
  248. package/dist/dispatch/utils.js.map +1 -0
  249. package/dist/dispatch/verification-execution.d.ts +48 -0
  250. package/dist/dispatch/verification-execution.js +252 -0
  251. package/dist/dispatch/verification-execution.js.map +1 -0
  252. package/dist/dispatch/verification-late-audit.d.ts +17 -0
  253. package/dist/dispatch/verification-late-audit.js +117 -0
  254. package/dist/dispatch/verification-late-audit.js.map +1 -0
  255. package/dist/evidence/claim-recovery/authenticated-carrier-projection.d.ts +30 -0
  256. package/dist/evidence/claim-recovery/authenticated-carrier-projection.js +100 -0
  257. package/dist/evidence/claim-recovery/authenticated-carrier-projection.js.map +1 -0
  258. package/dist/evidence/claim-recovery/authenticated-receipts.d.ts +46 -0
  259. package/dist/evidence/claim-recovery/authenticated-receipts.js +120 -0
  260. package/dist/evidence/claim-recovery/authenticated-receipts.js.map +1 -0
  261. package/dist/evidence/claim-recovery/carrier-inventory.d.ts +49 -0
  262. package/dist/evidence/claim-recovery/carrier-inventory.js +340 -0
  263. package/dist/evidence/claim-recovery/carrier-inventory.js.map +1 -0
  264. package/dist/evidence/claim-recovery/claim-index.d.ts +12 -0
  265. package/dist/evidence/claim-recovery/claim-index.js +56 -0
  266. package/dist/evidence/claim-recovery/claim-index.js.map +1 -0
  267. package/dist/evidence/claim-recovery/confirmation.d.ts +53 -0
  268. package/dist/evidence/claim-recovery/confirmation.js +151 -0
  269. package/dist/evidence/claim-recovery/confirmation.js.map +1 -0
  270. package/dist/evidence/claim-recovery/context.d.ts +15 -0
  271. package/dist/evidence/claim-recovery/context.js +40 -0
  272. package/dist/evidence/claim-recovery/context.js.map +1 -0
  273. package/dist/evidence/claim-recovery/proof-storage.d.ts +6 -0
  274. package/dist/evidence/claim-recovery/proof-storage.js +97 -0
  275. package/dist/evidence/claim-recovery/proof-storage.js.map +1 -0
  276. package/dist/evidence/claim-recovery/validation/anchors.d.ts +20 -0
  277. package/dist/evidence/claim-recovery/validation/anchors.js +22 -0
  278. package/dist/evidence/claim-recovery/validation/anchors.js.map +1 -0
  279. package/dist/evidence/claim-recovery/validation/carrier-projection.d.ts +9 -0
  280. package/dist/evidence/claim-recovery/validation/carrier-projection.js +364 -0
  281. package/dist/evidence/claim-recovery/validation/carrier-projection.js.map +1 -0
  282. package/dist/evidence/claim-recovery/validation/carrier-types.d.ts +83 -0
  283. package/dist/evidence/claim-recovery/validation/carrier-types.js +2 -0
  284. package/dist/evidence/claim-recovery/validation/carrier-types.js.map +1 -0
  285. package/dist/evidence/claim-recovery/validation/claim-split.d.ts +57 -0
  286. package/dist/evidence/claim-recovery/validation/claim-split.js +209 -0
  287. package/dist/evidence/claim-recovery/validation/claim-split.js.map +1 -0
  288. package/dist/evidence/claim-recovery/validation/claims.d.ts +20 -0
  289. package/dist/evidence/claim-recovery/validation/claims.js +108 -0
  290. package/dist/evidence/claim-recovery/validation/claims.js.map +1 -0
  291. package/dist/evidence/claim-recovery/validation/current-projection.d.ts +36 -0
  292. package/dist/evidence/claim-recovery/validation/current-projection.js +424 -0
  293. package/dist/evidence/claim-recovery/validation/current-projection.js.map +1 -0
  294. package/dist/evidence/claim-recovery/validation/lexical.d.ts +18 -0
  295. package/dist/evidence/claim-recovery/validation/lexical.js +91 -0
  296. package/dist/evidence/claim-recovery/validation/lexical.js.map +1 -0
  297. package/dist/evidence/claim-recovery/validation/materials.d.ts +19 -0
  298. package/dist/evidence/claim-recovery/validation/materials.js +160 -0
  299. package/dist/evidence/claim-recovery/validation/materials.js.map +1 -0
  300. package/dist/evidence/claim-recovery/validation/native-material.d.ts +27 -0
  301. package/dist/evidence/claim-recovery/validation/native-material.js +35 -0
  302. package/dist/evidence/claim-recovery/validation/native-material.js.map +1 -0
  303. package/dist/evidence/claim-recovery/validation/native-occurrences.d.ts +79 -0
  304. package/dist/evidence/claim-recovery/validation/native-occurrences.js +187 -0
  305. package/dist/evidence/claim-recovery/validation/native-occurrences.js.map +1 -0
  306. package/dist/evidence/claim-recovery/validation/native-state.d.ts +45 -0
  307. package/dist/evidence/claim-recovery/validation/native-state.js +385 -0
  308. package/dist/evidence/claim-recovery/validation/native-state.js.map +1 -0
  309. package/dist/evidence/claim-recovery/validation/obligations.d.ts +15 -0
  310. package/dist/evidence/claim-recovery/validation/obligations.js +65 -0
  311. package/dist/evidence/claim-recovery/validation/obligations.js.map +1 -0
  312. package/dist/evidence/claim-recovery/validation/occurrence-source.d.ts +45 -0
  313. package/dist/evidence/claim-recovery/validation/occurrence-source.js +208 -0
  314. package/dist/evidence/claim-recovery/validation/occurrence-source.js.map +1 -0
  315. package/dist/evidence/claim-recovery/validation/occurrence-types.d.ts +101 -0
  316. package/dist/evidence/claim-recovery/validation/occurrence-types.js +2 -0
  317. package/dist/evidence/claim-recovery/validation/occurrence-types.js.map +1 -0
  318. package/dist/evidence/claim-recovery/validation/occurrence.d.ts +30 -0
  319. package/dist/evidence/claim-recovery/validation/occurrence.js +227 -0
  320. package/dist/evidence/claim-recovery/validation/occurrence.js.map +1 -0
  321. package/dist/evidence/claim-recovery/validation/primitives.d.ts +11 -0
  322. package/dist/evidence/claim-recovery/validation/primitives.js +41 -0
  323. package/dist/evidence/claim-recovery/validation/primitives.js.map +1 -0
  324. package/dist/evidence/claim-recovery/validation/receipts.d.ts +37 -0
  325. package/dist/evidence/claim-recovery/validation/receipts.js +83 -0
  326. package/dist/evidence/claim-recovery/validation/receipts.js.map +1 -0
  327. package/dist/evidence/claim-recovery/validation/recovery-json.d.ts +8 -0
  328. package/dist/evidence/claim-recovery/validation/recovery-json.js +42 -0
  329. package/dist/evidence/claim-recovery/validation/recovery-json.js.map +1 -0
  330. package/dist/evidence/claim-recovery/validation/semantic-cache.d.ts +3 -0
  331. package/dist/evidence/claim-recovery/validation/semantic-cache.js +22 -0
  332. package/dist/evidence/claim-recovery/validation/semantic-cache.js.map +1 -0
  333. package/dist/evidence/claim-recovery/validation/semantic-validation.d.ts +9 -0
  334. package/dist/evidence/claim-recovery/validation/semantic-validation.js +347 -0
  335. package/dist/evidence/claim-recovery/validation/semantic-validation.js.map +1 -0
  336. package/dist/evidence/claim-recovery/validation/sighting.d.ts +2 -0
  337. package/dist/evidence/claim-recovery/validation/sighting.js +15 -0
  338. package/dist/evidence/claim-recovery/validation/sighting.js.map +1 -0
  339. package/dist/evidence/claim-recovery/validation/sources.d.ts +15 -0
  340. package/dist/evidence/claim-recovery/validation/sources.js +2 -0
  341. package/dist/evidence/claim-recovery/validation/sources.js.map +1 -0
  342. package/dist/evidence/claim-recovery/validation/types.d.ts +126 -0
  343. package/dist/evidence/claim-recovery/validation/types.js +2 -0
  344. package/dist/evidence/claim-recovery/validation/types.js.map +1 -0
  345. package/dist/evidence/claim-split.d.ts +1 -0
  346. package/dist/evidence/claim-split.js +2 -0
  347. package/dist/evidence/claim-split.js.map +1 -0
  348. package/dist/evidence/event-receipts.d.ts +16 -0
  349. package/dist/evidence/event-receipts.js +41 -0
  350. package/dist/evidence/event-receipts.js.map +1 -0
  351. package/dist/evidence/finding-recovery.d.ts +23 -0
  352. package/dist/evidence/finding-recovery.js +74 -0
  353. package/dist/evidence/finding-recovery.js.map +1 -0
  354. package/dist/evidence/finding-retriage.d.ts +14 -0
  355. package/dist/evidence/finding-retriage.js +57 -0
  356. package/dist/evidence/finding-retriage.js.map +1 -0
  357. package/dist/evidence/format.d.ts +18 -0
  358. package/dist/evidence/format.js +152 -0
  359. package/dist/evidence/format.js.map +1 -0
  360. package/dist/evidence/original-run/decode.d.ts +30 -0
  361. package/dist/evidence/original-run/decode.js +208 -0
  362. package/dist/evidence/original-run/decode.js.map +1 -0
  363. package/dist/evidence/original-run/journal.d.ts +31 -0
  364. package/dist/evidence/original-run/journal.js +157 -0
  365. package/dist/evidence/original-run/journal.js.map +1 -0
  366. package/dist/evidence/original-run/lock-path.d.ts +17 -0
  367. package/dist/evidence/original-run/lock-path.js +116 -0
  368. package/dist/evidence/original-run/lock-path.js.map +1 -0
  369. package/dist/evidence/original-run/lock-scope.d.ts +21 -0
  370. package/dist/evidence/original-run/lock-scope.js +61 -0
  371. package/dist/evidence/original-run/lock-scope.js.map +1 -0
  372. package/dist/evidence/original-run/lock.d.ts +33 -0
  373. package/dist/evidence/original-run/lock.js +259 -0
  374. package/dist/evidence/original-run/lock.js.map +1 -0
  375. package/dist/evidence/original-run/remote.d.ts +23 -0
  376. package/dist/evidence/original-run/remote.js +110 -0
  377. package/dist/evidence/original-run/remote.js.map +1 -0
  378. package/dist/evidence/original-run/source.d.ts +61 -0
  379. package/dist/evidence/original-run/source.js +267 -0
  380. package/dist/evidence/original-run/source.js.map +1 -0
  381. package/dist/evidence/reads.d.ts +11 -0
  382. package/dist/evidence/reads.js +16 -0
  383. package/dist/evidence/reads.js.map +1 -0
  384. package/dist/evidence/recover-finding.d.ts +17 -0
  385. package/dist/evidence/recover-finding.js +65 -0
  386. package/dist/evidence/recover-finding.js.map +1 -0
  387. package/dist/evidence/recover-run.d.ts +26 -0
  388. package/dist/evidence/recover-run.js +180 -0
  389. package/dist/evidence/recover-run.js.map +1 -0
  390. package/dist/evidence/retained-time-budget.d.ts +9 -0
  391. package/dist/evidence/retained-time-budget.js +14 -0
  392. package/dist/evidence/retained-time-budget.js.map +1 -0
  393. package/dist/evidence/retriage-finding.d.ts +12 -0
  394. package/dist/evidence/retriage-finding.js +67 -0
  395. package/dist/evidence/retriage-finding.js.map +1 -0
  396. package/dist/evidence/reviewer-lineage.d.ts +35 -0
  397. package/dist/evidence/reviewer-lineage.js +293 -0
  398. package/dist/evidence/reviewer-lineage.js.map +1 -0
  399. package/dist/evidence/reviewer-original.d.ts +67 -0
  400. package/dist/evidence/reviewer-original.js +148 -0
  401. package/dist/evidence/reviewer-original.js.map +1 -0
  402. package/dist/evidence/reviewer-recovery.d.ts +74 -0
  403. package/dist/evidence/reviewer-recovery.js +179 -0
  404. package/dist/evidence/reviewer-recovery.js.map +1 -0
  405. package/dist/evidence/reviewer-status.d.ts +145 -0
  406. package/dist/evidence/reviewer-status.js +302 -0
  407. package/dist/evidence/reviewer-status.js.map +1 -0
  408. package/dist/evidence/show.d.ts +10 -0
  409. package/dist/evidence/show.js +41 -0
  410. package/dist/evidence/show.js.map +1 -0
  411. package/dist/evidence/status.d.ts +38 -0
  412. package/dist/evidence/status.js +73 -0
  413. package/dist/evidence/status.js.map +1 -0
  414. package/dist/evidence/target.d.ts +17 -0
  415. package/dist/evidence/target.js +74 -0
  416. package/dist/evidence/target.js.map +1 -0
  417. package/dist/evidence/types.d.ts +176 -0
  418. package/dist/evidence/types.js +109 -0
  419. package/dist/evidence/types.js.map +1 -0
  420. package/dist/index.d.ts +2 -0
  421. package/dist/index.js +2688 -0
  422. package/dist/index.js.map +1 -0
  423. package/dist/models/seed.d.ts +44 -0
  424. package/dist/models/seed.js +175 -0
  425. package/dist/models/seed.js.map +1 -0
  426. package/dist/models/server-stats.d.ts +80 -0
  427. package/dist/models/server-stats.js +109 -0
  428. package/dist/models/server-stats.js.map +1 -0
  429. package/dist/models/stats-store.d.ts +84 -0
  430. package/dist/models/stats-store.js +572 -0
  431. package/dist/models/stats-store.js.map +1 -0
  432. package/dist/output/artifacts.d.ts +16 -0
  433. package/dist/output/artifacts.js +29 -0
  434. package/dist/output/artifacts.js.map +1 -0
  435. package/dist/output/assembly-refusal.d.ts +8 -0
  436. package/dist/output/assembly-refusal.js +14 -0
  437. package/dist/output/assembly-refusal.js.map +1 -0
  438. package/dist/output/github.d.ts +12 -0
  439. package/dist/output/github.js +214 -0
  440. package/dist/output/github.js.map +1 -0
  441. package/dist/output/json.d.ts +3 -0
  442. package/dist/output/json.js +8 -0
  443. package/dist/output/json.js.map +1 -0
  444. package/dist/output/markdown.d.ts +3 -0
  445. package/dist/output/markdown.js +281 -0
  446. package/dist/output/markdown.js.map +1 -0
  447. package/dist/output/progress.d.ts +55 -0
  448. package/dist/output/progress.js +180 -0
  449. package/dist/output/progress.js.map +1 -0
  450. package/dist/output/sanitize.d.ts +18 -0
  451. package/dist/output/sanitize.js +46 -0
  452. package/dist/output/sanitize.js.map +1 -0
  453. package/dist/output/terminal.d.ts +2 -0
  454. package/dist/output/terminal.js +172 -0
  455. package/dist/output/terminal.js.map +1 -0
  456. package/dist/prepare/chunker.d.ts +18 -0
  457. package/dist/prepare/chunker.js +325 -0
  458. package/dist/prepare/chunker.js.map +1 -0
  459. package/dist/prepare/language.d.ts +1 -0
  460. package/dist/prepare/language.js +99 -0
  461. package/dist/prepare/language.js.map +1 -0
  462. package/dist/prepare/prompt-builder.d.ts +44 -0
  463. package/dist/prepare/prompt-builder.js +102 -0
  464. package/dist/prepare/prompt-builder.js.map +1 -0
  465. package/dist/prepare/unified-diff.d.ts +40 -0
  466. package/dist/prepare/unified-diff.js +135 -0
  467. package/dist/prepare/unified-diff.js.map +1 -0
  468. package/dist/prompts/base.d.ts +3 -0
  469. package/dist/prompts/base.js +53 -0
  470. package/dist/prompts/base.js.map +1 -0
  471. package/dist/prompts/hardening.d.ts +19 -0
  472. package/dist/prompts/hardening.js +67 -0
  473. package/dist/prompts/hardening.js.map +1 -0
  474. package/dist/prompts/languages/elixir.d.ts +1 -0
  475. package/dist/prompts/languages/elixir.js +13 -0
  476. package/dist/prompts/languages/elixir.js.map +1 -0
  477. package/dist/prompts/languages/generic.d.ts +1 -0
  478. package/dist/prompts/languages/generic.js +11 -0
  479. package/dist/prompts/languages/generic.js.map +1 -0
  480. package/dist/prompts/languages/python.d.ts +1 -0
  481. package/dist/prompts/languages/python.js +14 -0
  482. package/dist/prompts/languages/python.js.map +1 -0
  483. package/dist/prompts/languages/typescript.d.ts +1 -0
  484. package/dist/prompts/languages/typescript.js +13 -0
  485. package/dist/prompts/languages/typescript.js.map +1 -0
  486. package/dist/prompts/plan.d.ts +15 -0
  487. package/dist/prompts/plan.js +55 -0
  488. package/dist/prompts/plan.js.map +1 -0
  489. package/dist/report/aggregation-inputs.d.ts +52 -0
  490. package/dist/report/aggregation-inputs.js +114 -0
  491. package/dist/report/aggregation-inputs.js.map +1 -0
  492. package/dist/report/assembly.d.ts +43 -0
  493. package/dist/report/assembly.js +133 -0
  494. package/dist/report/assembly.js.map +1 -0
  495. package/dist/report/blocking-health.d.ts +64 -0
  496. package/dist/report/blocking-health.js +156 -0
  497. package/dist/report/blocking-health.js.map +1 -0
  498. package/dist/report/checkpoint-assembly.d.ts +10 -0
  499. package/dist/report/checkpoint-assembly.js +17 -0
  500. package/dist/report/checkpoint-assembly.js.map +1 -0
  501. package/dist/report/checkpoint-consensus.d.ts +59 -0
  502. package/dist/report/checkpoint-consensus.js +197 -0
  503. package/dist/report/checkpoint-consensus.js.map +1 -0
  504. package/dist/report/checkpoint-gating.d.ts +36 -0
  505. package/dist/report/checkpoint-gating.js +110 -0
  506. package/dist/report/checkpoint-gating.js.map +1 -0
  507. package/dist/report/checkpoint-projection.d.ts +76 -0
  508. package/dist/report/checkpoint-projection.js +122 -0
  509. package/dist/report/checkpoint-projection.js.map +1 -0
  510. package/dist/report/consensus-assembly.d.ts +37 -0
  511. package/dist/report/consensus-assembly.js +33 -0
  512. package/dist/report/consensus-assembly.js.map +1 -0
  513. package/dist/report/recovery-source.d.ts +7 -0
  514. package/dist/report/recovery-source.js +7 -0
  515. package/dist/report/recovery-source.js.map +1 -0
  516. package/dist/report/reviewer-artifact.d.ts +118 -0
  517. package/dist/report/reviewer-artifact.js +381 -0
  518. package/dist/report/reviewer-artifact.js.map +1 -0
  519. package/dist/report/reviewer-evidence-schema.d.ts +42 -0
  520. package/dist/report/reviewer-evidence-schema.js +28 -0
  521. package/dist/report/reviewer-evidence-schema.js.map +1 -0
  522. package/dist/report/reviewer-evidence.d.ts +54 -0
  523. package/dist/report/reviewer-evidence.js +229 -0
  524. package/dist/report/reviewer-evidence.js.map +1 -0
  525. package/dist/report/reviewer-health.d.ts +62 -0
  526. package/dist/report/reviewer-health.js +105 -0
  527. package/dist/report/reviewer-health.js.map +1 -0
  528. package/dist/report/run-header.d.ts +219 -0
  529. package/dist/report/run-header.js +307 -0
  530. package/dist/report/run-header.js.map +1 -0
  531. package/dist/report/supplemental-async.d.ts +19 -0
  532. package/dist/report/supplemental-async.js +85 -0
  533. package/dist/report/supplemental-async.js.map +1 -0
  534. package/dist/report/uuid.d.ts +16 -0
  535. package/dist/report/uuid.js +41 -0
  536. package/dist/report/uuid.js.map +1 -0
  537. package/dist/resolver/git.d.ts +16 -0
  538. package/dist/resolver/git.js +77 -0
  539. package/dist/resolver/git.js.map +1 -0
  540. package/dist/resolver/github-client.d.ts +82 -0
  541. package/dist/resolver/github-client.js +27 -0
  542. package/dist/resolver/github-client.js.map +1 -0
  543. package/dist/resolver/github.d.ts +29 -0
  544. package/dist/resolver/github.js +166 -0
  545. package/dist/resolver/github.js.map +1 -0
  546. package/dist/resolver/local.d.ts +3 -0
  547. package/dist/resolver/local.js +75 -0
  548. package/dist/resolver/local.js.map +1 -0
  549. package/dist/resolver/plan.d.ts +8 -0
  550. package/dist/resolver/plan.js +44 -0
  551. package/dist/resolver/plan.js.map +1 -0
  552. package/dist/resolver/target.d.ts +35 -0
  553. package/dist/resolver/target.js +112 -0
  554. package/dist/resolver/target.js.map +1 -0
  555. package/dist/resolver/types.d.ts +43 -0
  556. package/dist/resolver/types.js +2 -0
  557. package/dist/resolver/types.js.map +1 -0
  558. package/dist/roles/builtin.d.ts +4 -0
  559. package/dist/roles/builtin.js +282 -0
  560. package/dist/roles/builtin.js.map +1 -0
  561. package/dist/roles/dispatcher.d.ts +26 -0
  562. package/dist/roles/dispatcher.js +96 -0
  563. package/dist/roles/dispatcher.js.map +1 -0
  564. package/dist/roles/legacy-4.1.10.d.ts +2 -0
  565. package/dist/roles/legacy-4.1.10.js +320 -0
  566. package/dist/roles/legacy-4.1.10.js.map +1 -0
  567. package/dist/roles/legacy-4.4.9.d.ts +4 -0
  568. package/dist/roles/legacy-4.4.9.js +282 -0
  569. package/dist/roles/legacy-4.4.9.js.map +1 -0
  570. package/dist/roles/loader.d.ts +10 -0
  571. package/dist/roles/loader.js +104 -0
  572. package/dist/roles/loader.js.map +1 -0
  573. package/dist/roles/types.d.ts +13 -0
  574. package/dist/roles/types.js +2 -0
  575. package/dist/roles/types.js.map +1 -0
  576. package/dist/telemetry/abort-signal.d.ts +13 -0
  577. package/dist/telemetry/abort-signal.js +40 -0
  578. package/dist/telemetry/abort-signal.js.map +1 -0
  579. package/dist/telemetry/attest.d.ts +98 -0
  580. package/dist/telemetry/attest.js +331 -0
  581. package/dist/telemetry/attest.js.map +1 -0
  582. package/dist/telemetry/attested-retry.d.ts +79 -0
  583. package/dist/telemetry/attested-retry.js +195 -0
  584. package/dist/telemetry/attested-retry.js.map +1 -0
  585. package/dist/telemetry/attested-reviewer-delivery.d.ts +58 -0
  586. package/dist/telemetry/attested-reviewer-delivery.js +238 -0
  587. package/dist/telemetry/attested-reviewer-delivery.js.map +1 -0
  588. package/dist/telemetry/backfill.d.ts +95 -0
  589. package/dist/telemetry/backfill.js +460 -0
  590. package/dist/telemetry/backfill.js.map +1 -0
  591. package/dist/telemetry/credentials.d.ts +44 -0
  592. package/dist/telemetry/credentials.js +87 -0
  593. package/dist/telemetry/credentials.js.map +1 -0
  594. package/dist/telemetry/deliver.d.ts +152 -0
  595. package/dist/telemetry/deliver.js +662 -0
  596. package/dist/telemetry/deliver.js.map +1 -0
  597. package/dist/telemetry/envelope-validation.d.ts +13 -0
  598. package/dist/telemetry/envelope-validation.js +196 -0
  599. package/dist/telemetry/envelope-validation.js.map +1 -0
  600. package/dist/telemetry/envelope.d.ts +159 -0
  601. package/dist/telemetry/envelope.js +288 -0
  602. package/dist/telemetry/envelope.js.map +1 -0
  603. package/dist/telemetry/events.d.ts +68 -0
  604. package/dist/telemetry/events.js +79 -0
  605. package/dist/telemetry/events.js.map +1 -0
  606. package/dist/telemetry/notice.d.ts +15 -0
  607. package/dist/telemetry/notice.js +67 -0
  608. package/dist/telemetry/notice.js.map +1 -0
  609. package/dist/telemetry/outbox.d.ts +166 -0
  610. package/dist/telemetry/outbox.js +741 -0
  611. package/dist/telemetry/outbox.js.map +1 -0
  612. package/dist/telemetry/quarantine.d.ts +105 -0
  613. package/dist/telemetry/quarantine.js +224 -0
  614. package/dist/telemetry/quarantine.js.map +1 -0
  615. package/dist/telemetry/read-sink.d.ts +31 -0
  616. package/dist/telemetry/read-sink.js +25 -0
  617. package/dist/telemetry/read-sink.js.map +1 -0
  618. package/dist/telemetry/recovery/command.d.ts +16 -0
  619. package/dist/telemetry/recovery/command.js +70 -0
  620. package/dist/telemetry/recovery/command.js.map +1 -0
  621. package/dist/telemetry/recovery/discovery.d.ts +8 -0
  622. package/dist/telemetry/recovery/discovery.js +277 -0
  623. package/dist/telemetry/recovery/discovery.js.map +1 -0
  624. package/dist/telemetry/recovery/files.d.ts +20 -0
  625. package/dist/telemetry/recovery/files.js +123 -0
  626. package/dist/telemetry/recovery/files.js.map +1 -0
  627. package/dist/telemetry/recovery/plan.d.ts +10 -0
  628. package/dist/telemetry/recovery/plan.js +325 -0
  629. package/dist/telemetry/recovery/plan.js.map +1 -0
  630. package/dist/telemetry/recovery/source.d.ts +328 -0
  631. package/dist/telemetry/recovery/source.js +253 -0
  632. package/dist/telemetry/recovery/source.js.map +1 -0
  633. package/dist/telemetry/recovery/types.d.ts +100 -0
  634. package/dist/telemetry/recovery/types.js +2 -0
  635. package/dist/telemetry/recovery/types.js.map +1 -0
  636. package/dist/telemetry/recovery-request-budget.d.ts +39 -0
  637. package/dist/telemetry/recovery-request-budget.js +102 -0
  638. package/dist/telemetry/recovery-request-budget.js.map +1 -0
  639. package/dist/telemetry/report-consistency.d.ts +11 -0
  640. package/dist/telemetry/report-consistency.js +111 -0
  641. package/dist/telemetry/report-consistency.js.map +1 -0
  642. package/dist/telemetry/reviewer-delivery.d.ts +39 -0
  643. package/dist/telemetry/reviewer-delivery.js +279 -0
  644. package/dist/telemetry/reviewer-delivery.js.map +1 -0
  645. package/dist/telemetry/reviewer-preflight.d.ts +13 -0
  646. package/dist/telemetry/reviewer-preflight.js +56 -0
  647. package/dist/telemetry/reviewer-preflight.js.map +1 -0
  648. package/dist/telemetry/scrub.d.ts +53 -0
  649. package/dist/telemetry/scrub.js +205 -0
  650. package/dist/telemetry/scrub.js.map +1 -0
  651. package/dist/telemetry/sink.d.ts +212 -0
  652. package/dist/telemetry/sink.js +813 -0
  653. package/dist/telemetry/sink.js.map +1 -0
  654. package/dist/telemetry/terminal-reviewer-delivery.d.ts +18 -0
  655. package/dist/telemetry/terminal-reviewer-delivery.js +27 -0
  656. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -0
  657. package/dist/telemetry/transient-input.d.ts +2 -0
  658. package/dist/telemetry/transient-input.js +37 -0
  659. package/dist/telemetry/transient-input.js.map +1 -0
  660. package/dist/telemetry/verification.d.ts +9 -0
  661. package/dist/telemetry/verification.js +12 -0
  662. package/dist/telemetry/verification.js.map +1 -0
  663. package/package.json +73 -0
@@ -0,0 +1,328 @@
1
+ import { z } from 'zod';
2
+ import type { ReviewResult } from '../../consensus/types.js';
3
+ import type { RecoveryFinding } from './types.js';
4
+ export declare const UUID: RegExp;
5
+ export declare const SHA256: RegExp;
6
+ export declare const originalRawFindingSchema: z.ZodObject<{
7
+ file: z.ZodString;
8
+ title: z.ZodString;
9
+ description: z.ZodString;
10
+ suggestedFix: z.ZodOptional<z.ZodString>;
11
+ id: z.ZodString;
12
+ startLine: z.ZodNumber;
13
+ endLine: z.ZodNumber;
14
+ severity: z.ZodEnum<{
15
+ critical: "critical";
16
+ important: "important";
17
+ minor: "minor";
18
+ nitpick: "nitpick";
19
+ }>;
20
+ category: z.ZodString;
21
+ }, z.core.$strip>;
22
+ /** Shape validation only; Mode A retains the original object, including provenance. */
23
+ export declare const originalRunReportSchema: z.ZodObject<{
24
+ run: z.ZodObject<{
25
+ id: z.ZodString;
26
+ rcl_version: z.ZodString;
27
+ command: z.ZodEnum<{
28
+ review: "review";
29
+ "review-plan": "review-plan";
30
+ }>;
31
+ target: z.ZodObject<{
32
+ kind: z.ZodEnum<{
33
+ patch: "patch";
34
+ plan: "plan";
35
+ pr: "pr";
36
+ staged: "staged";
37
+ working_tree: "working_tree";
38
+ }>;
39
+ repo: z.ZodOptional<z.ZodString>;
40
+ pr_number: z.ZodOptional<z.ZodNumber>;
41
+ url: z.ZodOptional<z.ZodString>;
42
+ head_sha: z.ZodOptional<z.ZodString>;
43
+ base_sha: z.ZodOptional<z.ZodString>;
44
+ head_ref: z.ZodOptional<z.ZodString>;
45
+ base_ref: z.ZodOptional<z.ZodString>;
46
+ diff_sha256: z.ZodString;
47
+ files: z.ZodNumber;
48
+ additions: z.ZodNumber;
49
+ deletions: z.ZodNumber;
50
+ }, z.core.$strip>;
51
+ roster: z.ZodArray<z.ZodObject<{
52
+ model: z.ZodString;
53
+ role: z.ZodString;
54
+ provider: z.ZodString;
55
+ lane: z.ZodEnum<{
56
+ async: "async";
57
+ blocking: "blocking";
58
+ verification: "verification";
59
+ secondary: "secondary";
60
+ }>;
61
+ }, z.core.$strip>>;
62
+ cycle_id: z.ZodOptional<z.ZodString>;
63
+ config_sha256: z.ZodString;
64
+ thresholds: z.ZodObject<{
65
+ min_consensus_score: z.ZodNumber;
66
+ min_confidence: z.ZodNumber;
67
+ dedupe_line_window: z.ZodNumber;
68
+ jaccard_threshold: z.ZodNumber;
69
+ }, z.core.$strip>;
70
+ gating: z.ZodObject<{
71
+ mode: z.ZodEnum<{
72
+ "verified-consensus": "verified-consensus";
73
+ "all-findings": "all-findings";
74
+ }>;
75
+ min_models: z.ZodNumber;
76
+ verification_model: z.ZodOptional<z.ZodString>;
77
+ verification_timeout_ms: z.ZodNumber;
78
+ verification_pass_timeout_ms: z.ZodOptional<z.ZodNumber>;
79
+ }, z.core.$strip>;
80
+ spec: z.ZodOptional<z.ZodObject<{
81
+ source: z.ZodString;
82
+ sha256: z.ZodString;
83
+ }, z.core.$strip>>;
84
+ context_files: z.ZodArray<z.ZodObject<{
85
+ path: z.ZodString;
86
+ sha256: z.ZodString;
87
+ }, z.core.$strip>>;
88
+ plan: z.ZodOptional<z.ZodObject<{
89
+ focus: z.ZodString;
90
+ }, z.core.$strip>>;
91
+ runner: z.ZodObject<{
92
+ kind: z.ZodEnum<{
93
+ agent: "agent";
94
+ ci: "ci";
95
+ human: "human";
96
+ }>;
97
+ agent: z.ZodOptional<z.ZodString>;
98
+ ci_run_id: z.ZodOptional<z.ZodString>;
99
+ host: z.ZodOptional<z.ZodString>;
100
+ }, z.core.$strip>;
101
+ started_at: z.ZodString;
102
+ finished_at: z.ZodString;
103
+ duration_ms: z.ZodNumber;
104
+ ci_exit_code: z.ZodNumber;
105
+ converge: z.ZodOptional<z.ZodObject<{
106
+ target: z.ZodString;
107
+ round: z.ZodOptional<z.ZodNumber>;
108
+ attempt: z.ZodOptional<z.ZodNumber>;
109
+ }, z.core.$strip>>;
110
+ provenance: z.ZodOptional<z.ZodEnum<{
111
+ live: "live";
112
+ backfill: "backfill";
113
+ }>>;
114
+ }, z.core.$strip>;
115
+ reviews: z.ZodArray<z.ZodObject<{
116
+ model: z.ZodString;
117
+ role: z.ZodString;
118
+ provider: z.ZodString;
119
+ findings: z.ZodArray<z.ZodUnknown>;
120
+ durationMs: z.ZodNumber;
121
+ status: z.ZodEnum<{
122
+ error: "error";
123
+ success: "success";
124
+ timeout: "timeout";
125
+ parse_failed: "parse_failed";
126
+ canceled: "canceled";
127
+ }>;
128
+ error: z.ZodOptional<z.ZodString>;
129
+ droppedFindings: z.ZodOptional<z.ZodNumber>;
130
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
+ async: z.ZodOptional<z.ZodBoolean>;
132
+ usage: z.ZodOptional<z.ZodObject<{
133
+ inputTokens: z.ZodOptional<z.ZodNumber>;
134
+ outputTokens: z.ZodOptional<z.ZodNumber>;
135
+ reasoningTokens: z.ZodOptional<z.ZodNumber>;
136
+ }, z.core.$strip>>;
137
+ }, z.core.$strip>>;
138
+ stats: z.ZodObject<{
139
+ totalReviews: z.ZodNumber;
140
+ successfulReviews: z.ZodNumber;
141
+ totalRawFindings: z.ZodNumber;
142
+ totalDeduped: z.ZodNumber;
143
+ belowThreshold: z.ZodNumber;
144
+ durationMs: z.ZodNumber;
145
+ }, z.core.$loose>;
146
+ findings: z.ZodArray<z.ZodObject<{
147
+ id: z.ZodString;
148
+ file: z.ZodString;
149
+ startLine: z.ZodNumber;
150
+ endLine: z.ZodNumber;
151
+ severity: z.ZodEnum<{
152
+ critical: "critical";
153
+ important: "important";
154
+ minor: "minor";
155
+ nitpick: "nitpick";
156
+ }>;
157
+ category: z.ZodString;
158
+ title: z.ZodString;
159
+ description: z.ZodString;
160
+ suggestedFix: z.ZodOptional<z.ZodString>;
161
+ identity: z.ZodOptional<z.ZodString>;
162
+ consensus: z.ZodObject<{
163
+ score: z.ZodNumber;
164
+ total: z.ZodNumber;
165
+ models: z.ZodArray<z.ZodString>;
166
+ roles: z.ZodArray<z.ZodString>;
167
+ crossRole: z.ZodBoolean;
168
+ crossModel: z.ZodBoolean;
169
+ elevated: z.ZodBoolean;
170
+ }, z.core.$loose>;
171
+ gating: z.ZodOptional<z.ZodObject<{
172
+ reason: z.ZodEnum<{
173
+ critical: "critical";
174
+ none: "none";
175
+ consensus: "consensus";
176
+ verified: "verified";
177
+ }>;
178
+ verification: z.ZodOptional<z.ZodObject<{
179
+ verdict: z.ZodString;
180
+ model: z.ZodOptional<z.ZodString>;
181
+ note: z.ZodOptional<z.ZodString>;
182
+ }, z.core.$strip>>;
183
+ }, z.core.$strip>>;
184
+ }, z.core.$strip>>;
185
+ belowThresholdFindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
186
+ id: z.ZodString;
187
+ file: z.ZodString;
188
+ startLine: z.ZodNumber;
189
+ endLine: z.ZodNumber;
190
+ severity: z.ZodEnum<{
191
+ critical: "critical";
192
+ important: "important";
193
+ minor: "minor";
194
+ nitpick: "nitpick";
195
+ }>;
196
+ category: z.ZodString;
197
+ title: z.ZodString;
198
+ description: z.ZodString;
199
+ suggestedFix: z.ZodOptional<z.ZodString>;
200
+ identity: z.ZodOptional<z.ZodString>;
201
+ consensus: z.ZodObject<{
202
+ score: z.ZodNumber;
203
+ total: z.ZodNumber;
204
+ models: z.ZodArray<z.ZodString>;
205
+ roles: z.ZodArray<z.ZodString>;
206
+ crossRole: z.ZodBoolean;
207
+ crossModel: z.ZodBoolean;
208
+ elevated: z.ZodBoolean;
209
+ }, z.core.$loose>;
210
+ gating: z.ZodOptional<z.ZodObject<{
211
+ reason: z.ZodEnum<{
212
+ critical: "critical";
213
+ none: "none";
214
+ consensus: "consensus";
215
+ verified: "verified";
216
+ }>;
217
+ verification: z.ZodOptional<z.ZodObject<{
218
+ verdict: z.ZodString;
219
+ model: z.ZodOptional<z.ZodString>;
220
+ note: z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strip>>;
222
+ }, z.core.$strip>>;
223
+ }, z.core.$strip>>>;
224
+ }, z.core.$strip>;
225
+ declare const legacy: z.ZodObject<{
226
+ reviews: z.ZodArray<z.ZodObject<{
227
+ model: z.ZodString;
228
+ }, z.core.$loose>>;
229
+ findings: z.ZodArray<z.ZodObject<{
230
+ id: z.ZodString;
231
+ file: z.ZodString;
232
+ startLine: z.ZodNumber;
233
+ endLine: z.ZodNumber;
234
+ severity: z.ZodEnum<{
235
+ critical: "critical";
236
+ important: "important";
237
+ minor: "minor";
238
+ nitpick: "nitpick";
239
+ }>;
240
+ category: z.ZodString;
241
+ title: z.ZodString;
242
+ description: z.ZodString;
243
+ suggestedFix: z.ZodOptional<z.ZodString>;
244
+ identity: z.ZodOptional<z.ZodString>;
245
+ consensus: z.ZodObject<{
246
+ score: z.ZodNumber;
247
+ total: z.ZodNumber;
248
+ models: z.ZodArray<z.ZodString>;
249
+ roles: z.ZodArray<z.ZodString>;
250
+ crossRole: z.ZodBoolean;
251
+ crossModel: z.ZodBoolean;
252
+ elevated: z.ZodBoolean;
253
+ }, z.core.$loose>;
254
+ gating: z.ZodOptional<z.ZodObject<{
255
+ reason: z.ZodEnum<{
256
+ critical: "critical";
257
+ none: "none";
258
+ consensus: "consensus";
259
+ verified: "verified";
260
+ }>;
261
+ verification: z.ZodOptional<z.ZodObject<{
262
+ verdict: z.ZodString;
263
+ model: z.ZodOptional<z.ZodString>;
264
+ note: z.ZodOptional<z.ZodString>;
265
+ }, z.core.$strip>>;
266
+ }, z.core.$strip>>;
267
+ }, z.core.$strip>>;
268
+ belowThresholdFindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
269
+ id: z.ZodString;
270
+ file: z.ZodString;
271
+ startLine: z.ZodNumber;
272
+ endLine: z.ZodNumber;
273
+ severity: z.ZodEnum<{
274
+ critical: "critical";
275
+ important: "important";
276
+ minor: "minor";
277
+ nitpick: "nitpick";
278
+ }>;
279
+ category: z.ZodString;
280
+ title: z.ZodString;
281
+ description: z.ZodString;
282
+ suggestedFix: z.ZodOptional<z.ZodString>;
283
+ identity: z.ZodOptional<z.ZodString>;
284
+ consensus: z.ZodObject<{
285
+ score: z.ZodNumber;
286
+ total: z.ZodNumber;
287
+ models: z.ZodArray<z.ZodString>;
288
+ roles: z.ZodArray<z.ZodString>;
289
+ crossRole: z.ZodBoolean;
290
+ crossModel: z.ZodBoolean;
291
+ elevated: z.ZodBoolean;
292
+ }, z.core.$loose>;
293
+ gating: z.ZodOptional<z.ZodObject<{
294
+ reason: z.ZodEnum<{
295
+ critical: "critical";
296
+ none: "none";
297
+ consensus: "consensus";
298
+ verified: "verified";
299
+ }>;
300
+ verification: z.ZodOptional<z.ZodObject<{
301
+ verdict: z.ZodString;
302
+ model: z.ZodOptional<z.ZodString>;
303
+ note: z.ZodOptional<z.ZodString>;
304
+ }, z.core.$strip>>;
305
+ }, z.core.$strip>>;
306
+ }, z.core.$strip>>>;
307
+ stats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
308
+ }, z.core.$strip>;
309
+ export type ParsedSource = {
310
+ format: 'modern';
311
+ report: ReviewResult & {
312
+ run: NonNullable<ReviewResult['run']>;
313
+ };
314
+ refutations: RecoveryFinding[];
315
+ unsafe: boolean;
316
+ } | {
317
+ format: 'legacy';
318
+ report: z.infer<typeof legacy>;
319
+ refutations: RecoveryFinding[];
320
+ unsafe: boolean;
321
+ };
322
+ /** Validate original producer data before using its shape in a transport builder. */
323
+ export declare function parseSource(text: string): ParsedSource;
324
+ /** Diagnostic evidence from an unsupported report is inventoried but never importable. */
325
+ export declare function unsupportedSourceDetails(text: string): Pick<import('./types.js').RecoverySource, 'run_id' | 'repo' | 'target' | 'refutations'>;
326
+ /** Inspect decoded values too: JSON escapes must not conceal a credential. */
327
+ export declare function requiresArtifactRedaction(value: unknown, path?: string[]): boolean;
328
+ export {};
@@ -0,0 +1,253 @@
1
+ import { z } from 'zod';
2
+ import { stableFindingKey } from '../../consensus/finding-identity.js';
3
+ import { parseRepoName } from '../../resolver/github.js';
4
+ import { normalizeVerificationEvidence } from '../verification.js';
5
+ import { scrubDeep, scrubIdentifier, scrubSecrets } from '../scrub.js';
6
+ export const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
7
+ export const SHA256 = /^[0-9a-f]{64}$/;
8
+ const FALLBACK_VERSIONS = new Set(['3.0.0', '3.1.0', '3.2.0', '3.3.0', '3.3.1', '3.4.0', '3.5.0', '3.6.0']);
9
+ const string = z.string().refine((value) => !value.includes('\0'));
10
+ const nonblank = string.refine((value) => value.trim().length > 0);
11
+ const integer = z.number().int().nonnegative().safe();
12
+ const number = z.number().nonnegative();
13
+ const timestamp = string.refine((value) => /^\d{4}-\d\d-\d\dT/.test(value) && Number.isFinite(Date.parse(value)));
14
+ const hash = string.regex(SHA256);
15
+ const objectId = string.regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/);
16
+ const verification = z.object({ verdict: nonblank.max(32), model: string.optional(), note: string.optional() });
17
+ const originalFinding = z.object({
18
+ id: string, file: nonblank, startLine: integer, endLine: integer,
19
+ severity: z.enum(['critical', 'important', 'minor', 'nitpick']),
20
+ category: nonblank, title: nonblank, description: string,
21
+ suggestedFix: string.optional(), identity: nonblank.max(64).optional(),
22
+ consensus: z.object({
23
+ score: number, total: number, models: z.array(string), roles: z.array(string),
24
+ crossRole: z.boolean(), crossModel: z.boolean(), elevated: z.boolean(),
25
+ }).passthrough(),
26
+ gating: z.object({ reason: z.enum(['consensus', 'critical', 'verified', 'none']), verification: verification.optional() }).optional(),
27
+ });
28
+ const finding = originalFinding.refine((value) => value.endLine >= value.startLine);
29
+ export const originalRawFindingSchema = originalFinding.omit({ consensus: true, identity: true, gating: true });
30
+ const review = z.object({
31
+ model: nonblank, role: nonblank, provider: nonblank, findings: z.array(z.unknown()),
32
+ durationMs: number, status: z.enum(['success', 'timeout', 'error', 'parse_failed', 'canceled']),
33
+ error: string.optional(), droppedFindings: integer.optional(), warnings: z.array(string).optional(), async: z.boolean().optional(),
34
+ usage: z.object({ inputTokens: integer.optional(), outputTokens: integer.optional(), reasoningTokens: integer.optional() }).optional(),
35
+ });
36
+ const target = z.object({
37
+ kind: z.enum(['pr', 'patch', 'staged', 'working_tree', 'plan']),
38
+ repo: nonblank.refine((value) => parseRepoName(value) !== null && value === value.trim()).optional(),
39
+ pr_number: integer.positive().optional(), url: string.optional(), head_sha: objectId.optional(), base_sha: objectId.optional(),
40
+ head_ref: string.optional(), base_ref: string.optional(), diff_sha256: hash, files: integer, additions: integer, deletions: integer,
41
+ }).refine((value) => value.kind !== 'pr' || (value.repo !== undefined && value.pr_number !== undefined));
42
+ const header = z.object({
43
+ id: string.regex(UUID), rcl_version: nonblank.max(64), command: z.enum(['review', 'review-plan']), target,
44
+ roster: z.array(z.object({ model: nonblank, role: nonblank, provider: nonblank, lane: z.enum(['blocking', 'secondary', 'async', 'verification']) })).max(200),
45
+ cycle_id: string.regex(UUID).optional(),
46
+ config_sha256: hash,
47
+ thresholds: z.object({ min_consensus_score: number, min_confidence: number, dedupe_line_window: integer, jaccard_threshold: number }),
48
+ gating: z.object({
49
+ mode: z.enum(['all-findings', 'verified-consensus']),
50
+ min_models: integer,
51
+ verification_model: string.optional(),
52
+ verification_timeout_ms: z.number().finite().nonnegative(),
53
+ // Optional for reports written before RCL-85 introduced a whole-pass bound.
54
+ verification_pass_timeout_ms: z.number().finite().nonnegative().optional(),
55
+ }),
56
+ spec: z.object({ source: nonblank, sha256: hash }).optional(),
57
+ context_files: z.array(z.object({ path: nonblank, sha256: hash })).max(200),
58
+ plan: z.object({ focus: nonblank }).optional(),
59
+ runner: z.object({ kind: z.enum(['agent', 'ci', 'human']), agent: string.optional(), ci_run_id: string.optional(), host: string.optional() }),
60
+ started_at: timestamp, finished_at: timestamp, duration_ms: integer, ci_exit_code: integer,
61
+ converge: z.object({ target: nonblank, round: integer.positive().optional(), attempt: integer.positive().optional() }).optional(),
62
+ provenance: z.enum(['live', 'backfill']).optional(),
63
+ }).refine((value) => Date.parse(value.finished_at) >= Date.parse(value.started_at));
64
+ const modern = z.object({
65
+ run: header, reviews: z.array(review).max(500), findings: z.array(finding).max(2000),
66
+ belowThresholdFindings: z.array(finding).max(2000).optional(),
67
+ stats: z.object({ totalReviews: integer, successfulReviews: integer, totalRawFindings: integer, totalDeduped: integer, belowThreshold: integer, durationMs: number }).passthrough(),
68
+ }).refine((value) => value.findings.length + (value.belowThresholdFindings?.length ?? 0) <= 2000);
69
+ /** Shape validation only; Mode A retains the original object, including provenance. */
70
+ export const originalRunReportSchema = modern.safeExtend({
71
+ findings: z.array(originalFinding).max(2000),
72
+ belowThresholdFindings: z.array(originalFinding).max(2000).optional(),
73
+ });
74
+ const legacy = z.object({
75
+ reviews: z.array(z.object({ model: nonblank }).passthrough()).max(500),
76
+ findings: z.array(finding).max(2000), belowThresholdFindings: z.array(finding).max(2000).optional(),
77
+ stats: z.record(z.string(), z.unknown()).optional(),
78
+ }).refine((value) => value.findings.length + (value.belowThresholdFindings?.length ?? 0) <= 2000);
79
+ /** Validate original producer data before using its shape in a transport builder. */
80
+ export function parseSource(text) {
81
+ let raw;
82
+ try {
83
+ raw = JSON.parse(text);
84
+ }
85
+ catch {
86
+ throw new Error('invalid_or_incomplete_json');
87
+ }
88
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
89
+ throw new Error('not_report');
90
+ if (!Array.isArray(raw['reviews']) || !Array.isArray(raw['findings']))
91
+ throw new Error('not_report');
92
+ const hasHeader = Object.hasOwn(raw, 'run');
93
+ const parsed = hasHeader ? modern.safeParse(raw) : legacy.safeParse(raw);
94
+ if (!parsed.success)
95
+ throw new Error('unsupported_report');
96
+ const data = parsed.data;
97
+ const version = 'run' in data ? data.run.rcl_version : undefined;
98
+ const all = [...data.findings, ...(data.belowThresholdFindings ?? [])];
99
+ if (hasHeader && all.some((f) => f.identity === undefined && !FALLBACK_VERSIONS.has(version)))
100
+ throw new Error('unsupported_identity_version');
101
+ const refutations = [];
102
+ all.forEach((f, index) => {
103
+ if (f.gating?.verification?.verdict !== 'refuted')
104
+ return;
105
+ const normalized = normalizeVerificationEvidence(f.gating.verification);
106
+ refutations.push({
107
+ ref: `f${String(index + 1).padStart(3, '0')}`,
108
+ identity: hasHeader && f.identity !== undefined ? scrubIdentifier(f.identity, 64) : stableFindingKey(f),
109
+ model: normalized.model ?? null, note: normalized.note ?? null,
110
+ });
111
+ });
112
+ let unsafe = requiresArtifactRedaction(raw, []);
113
+ // JSON.parse discards duplicate keys, so a decoded-value scan alone could
114
+ // miss a credential in the shadowed value. Reject the complete ambiguous
115
+ // artifact class before it can be selected for original-byte upload.
116
+ if (!unsafe)
117
+ unsafe = hasDuplicateObjectKey(text);
118
+ // The transport builder consumes the validated fields above. Older report
119
+ // versions may omit presentation-only consensus labels required by today's
120
+ // ReviewResult type; recovery neither renders nor invents those labels.
121
+ if (hasHeader)
122
+ return { format: 'modern', report: data, refutations, unsafe };
123
+ return { format: 'legacy', report: data, refutations, unsafe };
124
+ }
125
+ /** Bounded JSON token walk that fails closed on duplicate object keys. */
126
+ function hasDuplicateObjectKey(text) {
127
+ let index = 0;
128
+ const whitespace = () => { while (/\s/.test(text[index] ?? ''))
129
+ index++; };
130
+ const string = () => {
131
+ const start = index++;
132
+ while (index < text.length) {
133
+ if (text[index] === '\\') {
134
+ index += 2;
135
+ continue;
136
+ }
137
+ if (text[index++] === '"')
138
+ return JSON.parse(text.slice(start, index));
139
+ }
140
+ throw new Error('invalid_json');
141
+ };
142
+ const value = () => {
143
+ whitespace();
144
+ if (text[index] === '"') {
145
+ string();
146
+ return false;
147
+ }
148
+ if (text[index] === '{') {
149
+ index++;
150
+ const keys = new Set();
151
+ whitespace();
152
+ if (text[index] === '}') {
153
+ index++;
154
+ return false;
155
+ }
156
+ while (true) {
157
+ whitespace();
158
+ const key = string();
159
+ whitespace();
160
+ if (text[index++] !== ':')
161
+ throw new Error('invalid_json');
162
+ if (keys.has(key) || value())
163
+ return true;
164
+ keys.add(key);
165
+ whitespace();
166
+ if (text[index] === '}') {
167
+ index++;
168
+ return false;
169
+ }
170
+ if (text[index++] !== ',')
171
+ throw new Error('invalid_json');
172
+ }
173
+ }
174
+ if (text[index] === '[') {
175
+ index++;
176
+ whitespace();
177
+ if (text[index] === ']') {
178
+ index++;
179
+ return false;
180
+ }
181
+ while (true) {
182
+ if (value())
183
+ return true;
184
+ whitespace();
185
+ if (text[index] === ']') {
186
+ index++;
187
+ return false;
188
+ }
189
+ if (text[index++] !== ',')
190
+ throw new Error('invalid_json');
191
+ }
192
+ }
193
+ const token = /^(?:-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?|true|false|null)/.exec(text.slice(index));
194
+ if (!token)
195
+ throw new Error('invalid_json');
196
+ index += token[0].length;
197
+ return false;
198
+ };
199
+ try {
200
+ const duplicate = value();
201
+ whitespace();
202
+ return duplicate || index !== text.length;
203
+ }
204
+ catch {
205
+ return true;
206
+ }
207
+ }
208
+ /** Diagnostic evidence from an unsupported report is inventoried but never importable. */
209
+ export function unsupportedSourceDetails(text) {
210
+ const raw = JSON.parse(text);
211
+ const run = raw['run'] && typeof raw['run'] === 'object' ? raw['run'] : {};
212
+ const targetResult = target.safeParse(run['target']);
213
+ const safeTarget = targetResult.success ? scrubDeep(targetResult.data) : null;
214
+ const refutations = [];
215
+ if (Array.isArray(raw['findings']) && (raw['belowThresholdFindings'] === undefined || Array.isArray(raw['belowThresholdFindings']))) {
216
+ const all = [...raw['findings'], ...(raw['belowThresholdFindings'] ?? [])];
217
+ all.slice(0, 2000).forEach((rawFinding, i) => {
218
+ if (!rawFinding || typeof rawFinding !== 'object')
219
+ return;
220
+ const f = rawFinding;
221
+ const gate = f['gating'] && typeof f['gating'] === 'object' ? f['gating'] : {};
222
+ const verified = gate['verification'] && typeof gate['verification'] === 'object' ? gate['verification'] : {};
223
+ if (verified['verdict'] !== 'refuted')
224
+ return;
225
+ const normalized = normalizeVerificationEvidence(verified);
226
+ refutations.push({ ref: `f${String(i + 1).padStart(3, '0')}`, identity: typeof f['identity'] === 'string' ? scrubIdentifier(f['identity'], 64) : null,
227
+ model: normalized.model ?? null, note: normalized.note ?? null });
228
+ });
229
+ }
230
+ return { run_id: typeof run['id'] === 'string' && UUID.test(run['id']) ? run['id'] : null, repo: safeTarget?.repo ?? null, target: safeTarget, refutations };
231
+ }
232
+ /** Inspect decoded values too: JSON escapes must not conceal a credential. */
233
+ export function requiresArtifactRedaction(value, path = []) {
234
+ if (typeof value === 'string') {
235
+ const location = path.join('.');
236
+ const identifier = /^(?:run\.roster\.\d+|reviews\.\d+)\.(?:model|role|provider)$/.test(location) ||
237
+ /^(?:findings|belowThresholdFindings)\.\d+\.gating\.verification\.model$/.test(location) || location === 'run.gating.verification_model';
238
+ const changed = (identifier ? scrubIdentifier(value, Number.MAX_SAFE_INTEGER) : scrubSecrets(value)) !== value;
239
+ return changed;
240
+ }
241
+ if (Array.isArray(value))
242
+ return value.some((item, i) => requiresArtifactRedaction(item, [...path, String(i)]));
243
+ if (value && typeof value === 'object') {
244
+ return Object.entries(value).some(([key, item]) => scrubSecrets(key) !== key ||
245
+ // The existing scrubber recognizes sensitive JSON assignments, including
246
+ // short values which are not independently token-shaped.
247
+ (/api[_-]?key|token|secret|password|passwd|private[_-]?key/i.test(key) &&
248
+ scrubSecrets(JSON.stringify({ [key]: item })) !== JSON.stringify({ [key]: item })) ||
249
+ requiresArtifactRedaction(item, [...path, key]));
250
+ }
251
+ return false;
252
+ }
253
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/telemetry/recovery/source.ts"],"names":[],"mappings":"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"}