@maycombhq/atticus 2.0.0-beta.10 → 2.0.0-beta.12

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 (235) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-AY2IUF4K.js → chunk-22GLUHGE.js} +659 -73
  3. package/dist/{chunk-CIUHAHM6.js → chunk-2A24BNRZ.js} +8 -8
  4. package/dist/{chunk-2RX7PI2Y.js → chunk-2ELFEKOO.js} +4 -4
  5. package/dist/{chunk-QKEFZRHS.js → chunk-2P6IHSRO.js} +17 -17
  6. package/dist/chunk-2Q2YBAR5.js +40 -0
  7. package/dist/{chunk-7DUDLVFJ.js → chunk-2VQLFNBO.js} +20 -20
  8. package/dist/{chunk-E3Z67HRK.js → chunk-3256EDLL.js} +4 -4
  9. package/dist/{chunk-OIU657QQ.js → chunk-34BCKMBS.js} +4 -4
  10. package/dist/{chunk-UR7RMZ3R.js → chunk-34NWVIBC.js} +2 -2
  11. package/dist/{chunk-6VBXAGJX.js → chunk-36KD4OGC.js} +14 -14
  12. package/dist/{chunk-I7IWQIEB.js → chunk-3CFBU2O6.js} +4 -4
  13. package/dist/{chunk-OSGQW2Z6.js → chunk-3JLTN3Y7.js} +8 -8
  14. package/dist/{chunk-FOGG4AUR.js → chunk-3M7QBKKG.js} +25 -7
  15. package/dist/{chunk-UF7TAFJM.js → chunk-3RP34PYV.js} +18 -18
  16. package/dist/{chunk-YLAJAI2W.js → chunk-3ZKLWM5Y.js} +11 -11
  17. package/dist/{chunk-LTQANUDH.js → chunk-47HPZ34V.js} +25 -25
  18. package/dist/chunk-4BPROPGG.js +45 -0
  19. package/dist/{chunk-Y4BRGOJR.js → chunk-4G56W6H7.js} +13 -10
  20. package/dist/{chunk-YXJ4XOHF.js → chunk-4HIQ2FTI.js} +4 -4
  21. package/dist/{chunk-AJJK7GLO.js → chunk-4HTILEXW.js} +3 -3
  22. package/dist/{chunk-OJLRFGBP.js → chunk-4Q2PGM5T.js} +78 -15
  23. package/dist/{chunk-GR6YKM55.js → chunk-4RDW2X43.js} +108 -14
  24. package/dist/{chunk-23M2LUYM.js → chunk-4VOG5H2K.js} +1 -1
  25. package/dist/chunk-5CSZTVXH.js +34 -0
  26. package/dist/{chunk-65C57N7P.js → chunk-5FFMJMVH.js} +19 -19
  27. package/dist/{chunk-XNYNEEBR.js → chunk-5GGGAI5C.js} +18 -18
  28. package/dist/{chunk-IUD3ME4E.js → chunk-5H46QFSL.js} +4 -4
  29. package/dist/{chunk-KIHOIVST.js → chunk-5ION6STH.js} +3 -3
  30. package/dist/chunk-5M3CLAOV.js +39 -0
  31. package/dist/chunk-5OACMWWI.js +886 -0
  32. package/dist/{chunk-2HMWX4T6.js → chunk-6ENDKY52.js} +11 -11
  33. package/dist/{chunk-OS7PQ35Z.js → chunk-6FG7QKJC.js} +22 -22
  34. package/dist/{chunk-FEZE6NIA.js → chunk-6JV3YHRR.js} +18 -18
  35. package/dist/{chunk-WGZWR4RF.js → chunk-6ROZRBWH.js} +5 -5
  36. package/dist/{chunk-WARBF2KY.js → chunk-6S27MUQQ.js} +10 -6
  37. package/dist/{chunk-TZDSDDSV.js → chunk-72DY5NCN.js} +2 -2
  38. package/dist/chunk-76QVBNEM.js +37 -0
  39. package/dist/{chunk-N4QZJJVB.js → chunk-77UOXZVM.js} +5 -5
  40. package/dist/{chunk-LVGBKKSM.js → chunk-7AXMUE2U.js} +15 -15
  41. package/dist/{chunk-FJCFYKVO.js → chunk-7TEQF64E.js} +196 -76
  42. package/dist/{chunk-IDGSU7JF.js → chunk-7TH6I6TL.js} +9 -9
  43. package/dist/{chunk-ZONE6E3Z.js → chunk-7UKETVPW.js} +2 -2
  44. package/dist/{chunk-XKS6THI5.js → chunk-7VNEDDCC.js} +2 -2
  45. package/dist/{chunk-BMHGA7WD.js → chunk-A5GY2EWH.js} +12 -12
  46. package/dist/{chunk-E3JYO547.js → chunk-AEZ3EICK.js} +20 -20
  47. package/dist/{chunk-7F2RUWPU.js → chunk-ARLH2ZMD.js} +1 -1
  48. package/dist/{chunk-VKMTFIWS.js → chunk-AYVLEB55.js} +18 -18
  49. package/dist/chunk-B6X5PJSA.js +320 -0
  50. package/dist/{chunk-JMSEEBN4.js → chunk-BRCDEGNE.js} +1 -1
  51. package/dist/{chunk-67J3VZBA.js → chunk-BSVTNNUK.js} +5 -5
  52. package/dist/{chunk-3GTZ2OON.js → chunk-BTOGAUWX.js} +20 -11
  53. package/dist/{chunk-4SVJNVEE.js → chunk-BXBCMGIQ.js} +2 -0
  54. package/dist/chunk-BXP2Q4TD.js +48 -0
  55. package/dist/{chunk-XPEEICAO.js → chunk-BZRWJUB4.js} +15 -15
  56. package/dist/{chunk-MH5OCRUM.js → chunk-CH6LUQLD.js} +2 -2
  57. package/dist/{chunk-T6USVBEJ.js → chunk-CIIRPLI6.js} +5 -5
  58. package/dist/chunk-CJXM6SG4.js +339 -0
  59. package/dist/{chunk-5XDNUJ4P.js → chunk-CQD26SMZ.js} +4 -2
  60. package/dist/{chunk-7TGYNOXD.js → chunk-CW5SEPUT.js} +7 -7
  61. package/dist/{chunk-5KTOPOEP.js → chunk-CWSZP2LU.js} +25 -25
  62. package/dist/chunk-CXK27ZUY.js +32 -0
  63. package/dist/{chunk-YGKYFMSL.js → chunk-CXY4YDXS.js} +3 -3
  64. package/dist/{chunk-R64GLVBO.js → chunk-DDZZXVQ5.js} +10 -10
  65. package/dist/{chunk-7YYEKTYF.js → chunk-DGZXJO5I.js} +8 -8
  66. package/dist/{chunk-IV7BCWWN.js → chunk-DONCF2XC.js} +3 -3
  67. package/dist/{chunk-RRVT4MPS.js → chunk-DPNCAFMB.js} +18 -18
  68. package/dist/{chunk-UBWCUP3G.js → chunk-DQKNOHUZ.js} +2 -2
  69. package/dist/{chunk-NGPU2ARF.js → chunk-DW4BM73R.js} +1 -1
  70. package/dist/{chunk-PEF5OEMB.js → chunk-DWN7RSNQ.js} +4 -4
  71. package/dist/{chunk-KC5DROFC.js → chunk-DWYPYVPJ.js} +14 -14
  72. package/dist/{chunk-B7434AE2.js → chunk-E73QLYK7.js} +24 -3
  73. package/dist/{chunk-EX6ZXS5K.js → chunk-EE3UNC44.js} +4 -4
  74. package/dist/chunk-EJDZEK22.js +53 -0
  75. package/dist/{chunk-ISNZYKAS.js → chunk-ENZWVTTN.js} +21 -21
  76. package/dist/{chunk-ROTY5J2L.js → chunk-EREL3TQG.js} +1 -1
  77. package/dist/{chunk-ZZXF6OOJ.js → chunk-ESGIBN3S.js} +2 -2
  78. package/dist/{chunk-YGR6OCHQ.js → chunk-EU7VTBAI.js} +8 -14
  79. package/dist/chunk-F5GA6G3U.js +48 -0
  80. package/dist/{chunk-JAA53T23.js → chunk-F6FGIYPT.js} +20 -20
  81. package/dist/{chunk-NPCD54I7.js → chunk-FAET4BB6.js} +8 -5
  82. package/dist/{chunk-YPBQNJHA.js → chunk-FBFSTYAB.js} +8 -8
  83. package/dist/{chunk-OEI7LVRP.js → chunk-FEBYMFZA.js} +24 -24
  84. package/dist/chunk-FMV6IZ3P.js +54 -0
  85. package/dist/{chunk-F7UQR4ZX.js → chunk-FQ6IBYFC.js} +3 -3
  86. package/dist/{chunk-J5LHDJU4.js → chunk-FSJMFPA3.js} +7 -7
  87. package/dist/chunk-GFZ5MIQG.js +47 -0
  88. package/dist/{chunk-LK44ULGI.js → chunk-GHSVJNVL.js} +104 -11
  89. package/dist/{chunk-LRS573EX.js → chunk-GKPOCUQR.js} +12 -7
  90. package/dist/{chunk-LDKUC2QJ.js → chunk-GLSNVC67.js} +17 -17
  91. package/dist/{chunk-47QE246J.js → chunk-GMDOXWIS.js} +5 -5
  92. package/dist/{chunk-5MI2SEV5.js → chunk-GN5ZLSLD.js} +3 -3
  93. package/dist/{chunk-JQ7XQPQS.js → chunk-GUNBOZ75.js} +4 -4
  94. package/dist/{chunk-HHUFVJF7.js → chunk-GYS64N6F.js} +6 -6
  95. package/dist/{chunk-AKJTKMXU.js → chunk-HIQWJ6JZ.js} +5 -5
  96. package/dist/{chunk-6GNS32SI.js → chunk-HJ52XDST.js} +4 -4
  97. package/dist/{chunk-2KDSXJFJ.js → chunk-HJUEQERG.js} +34 -7
  98. package/dist/chunk-HKGQUOQ3.js +88 -0
  99. package/dist/chunk-HP32HUWR.js +41 -0
  100. package/dist/{chunk-R4TBNKKC.js → chunk-HY2VVVFZ.js} +1249 -610
  101. package/dist/{chunk-G5SFOH7P.js → chunk-I2PNEG3M.js} +38 -23
  102. package/dist/{chunk-Y5PZHS4K.js → chunk-INCECZ2E.js} +5 -5
  103. package/dist/{chunk-RK6MKKKP.js → chunk-ISXNWUG7.js} +1 -1
  104. package/dist/{chunk-73VPWF5R.js → chunk-ITJ7ST5E.js} +4 -4
  105. package/dist/{chunk-5IALSMZ2.js → chunk-J3VAFDEX.js} +14 -14
  106. package/dist/chunk-JGLZUQVN.js +29 -0
  107. package/dist/{chunk-5XN76FTF.js → chunk-JLIEAQP4.js} +5 -5
  108. package/dist/{chunk-MGVYVW7Q.js → chunk-JQG4VO47.js} +1 -1
  109. package/dist/chunk-JXXQHETS.js +130 -0
  110. package/dist/{chunk-APSVL2AI.js → chunk-KNGESBFW.js} +15 -15
  111. package/dist/{chunk-7UKVYFQ2.js → chunk-KUYA2E7M.js} +8 -8
  112. package/dist/{chunk-WLIIQ2A4.js → chunk-KY2ZHTBJ.js} +7 -7
  113. package/dist/{chunk-YPIEYQF4.js → chunk-L4UIKAWD.js} +6 -6
  114. package/dist/chunk-LDUJ6NIT.js +247 -0
  115. package/dist/{chunk-5YIBJXGB.js → chunk-LTLR4JZJ.js} +10 -10
  116. package/dist/{chunk-IZNSAEBX.js → chunk-MFRPLAOH.js} +2 -2
  117. package/dist/{chunk-6GWHKMQR.js → chunk-MH7UBG47.js} +4 -4
  118. package/dist/{chunk-4GZXS6S2.js → chunk-MLAACAES.js} +278 -17
  119. package/dist/{chunk-D3PO4DOZ.js → chunk-MMB2OHUY.js} +4 -2
  120. package/dist/{chunk-DDAHCPGA.js → chunk-MNCQ2GL7.js} +12 -12
  121. package/dist/{chunk-UYYN2IUZ.js → chunk-MNUZX67F.js} +6 -6
  122. package/dist/{chunk-YFSSNGLR.js → chunk-MQHYCS6A.js} +32 -29
  123. package/dist/{chunk-MKRBG5EF.js → chunk-MRLCNXXR.js} +1 -1
  124. package/dist/{chunk-BUYJL3GJ.js → chunk-NBQO75XT.js} +1 -1
  125. package/dist/{chunk-GXJVY6WT.js → chunk-NCONDPHH.js} +5 -5
  126. package/dist/{chunk-ZP4FJHR4.js → chunk-NHS55U7T.js} +18 -18
  127. package/dist/{chunk-CRE4BJHM.js → chunk-NL6XQZSV.js} +23 -23
  128. package/dist/{chunk-YVLMBAYE.js → chunk-NSJ6ZR2A.js} +3 -3
  129. package/dist/{chunk-XRO65C7V.js → chunk-NTNJNRHW.js} +8 -6
  130. package/dist/{chunk-FTV6I76U.js → chunk-NTTXTLCQ.js} +25 -25
  131. package/dist/chunk-NWL7XEQ4.js +37 -0
  132. package/dist/{chunk-CNKGYDMG.js → chunk-NWXY3B4R.js} +23 -23
  133. package/dist/{chunk-52R2YXP5.js → chunk-O5W4ECUY.js} +16 -16
  134. package/dist/{chunk-OGRWQ562.js → chunk-O6ILVBYB.js} +2 -2
  135. package/dist/{chunk-BJPMKJTL.js → chunk-OJAJXU65.js} +102 -2
  136. package/dist/{chunk-FZL2HNWP.js → chunk-OMH3I5BH.js} +3 -3
  137. package/dist/{chunk-MF7QH4AX.js → chunk-P6UJ22XR.js} +5 -5
  138. package/dist/{chunk-HE4ZQXZM.js → chunk-P76AW3PA.js} +309 -15
  139. package/dist/{chunk-GZ4TKR3Q.js → chunk-PCCPXWJC.js} +48 -139
  140. package/dist/{chunk-6TJCUYC5.js → chunk-PGFRXGHA.js} +3 -3
  141. package/dist/{chunk-NIXVDQVO.js → chunk-PJRMMWU4.js} +2 -2
  142. package/dist/{chunk-X4W4XXWP.js → chunk-PKJ3K3GM.js} +5 -5
  143. package/dist/{chunk-KM2FBM3T.js → chunk-PVW2N63M.js} +302 -55
  144. package/dist/{chunk-Y7KBQ4BD.js → chunk-Q55UP5EZ.js} +22 -22
  145. package/dist/{chunk-7URGP4DD.js → chunk-QAFMLBPF.js} +12 -12
  146. package/dist/{chunk-KIAI6PWL.js → chunk-QEZSA2O7.js} +17 -17
  147. package/dist/{chunk-PKCMRPPB.js → chunk-QJ3OX7OC.js} +33 -27
  148. package/dist/{chunk-6EDQE7GO.js → chunk-QL4VNY4U.js} +2 -2
  149. package/dist/{chunk-6JLPXDWN.js → chunk-QR65C3DV.js} +5 -5
  150. package/dist/{chunk-ILFKECGI.js → chunk-QXGOEP44.js} +4 -4
  151. package/dist/chunk-QY7RGTUP.js +326 -0
  152. package/dist/{chunk-PGKHJYOB.js → chunk-RA64IK43.js} +1 -1
  153. package/dist/{chunk-XB5RFZHH.js → chunk-RLJDYLID.js} +12 -12
  154. package/dist/{chunk-AWECWW5Y.js → chunk-RMLUZYEA.js} +13 -11
  155. package/dist/chunk-RSVBX6A3.js +54 -0
  156. package/dist/chunk-RZWZO2JQ.js +42 -0
  157. package/dist/chunk-S5LSDXV4.js +40 -0
  158. package/dist/{chunk-TM7LC37P.js → chunk-SAC6FNKR.js} +181 -117
  159. package/dist/{chunk-DPHCFZ7W.js → chunk-SCBU46AJ.js} +3 -3
  160. package/dist/{chunk-EZIUFEN6.js → chunk-SGNHNN3G.js} +12 -12
  161. package/dist/{chunk-XKZHAD6Y.js → chunk-SHAAGH3T.js} +15 -15
  162. package/dist/chunk-SK5OYWIY.js +122 -0
  163. package/dist/{chunk-FR7JPYBD.js → chunk-SNSFQ47W.js} +12 -12
  164. package/dist/{chunk-FV5YFR6I.js → chunk-SSL6JMPA.js} +9 -9
  165. package/dist/{chunk-XEG3FE2R.js → chunk-TA2ZNDYD.js} +1 -1
  166. package/dist/{chunk-JF2NSTFO.js → chunk-TEHH47TG.js} +3 -3
  167. package/dist/{chunk-W5OYJMBT.js → chunk-TEZSZ24W.js} +5 -5
  168. package/dist/{chunk-SS66Q4VE.js → chunk-TH526O6E.js} +12 -12
  169. package/dist/{chunk-R6B6XAKK.js → chunk-TIAPEYWI.js} +4 -4
  170. package/dist/chunk-TLCRIAU3.js +44 -0
  171. package/dist/{chunk-FMKKVWZD.js → chunk-TQYBXDVH.js} +2 -2
  172. package/dist/chunk-TV4CGNEY.js +43 -0
  173. package/dist/{chunk-QICFHVRW.js → chunk-TVSNWIAM.js} +8 -6
  174. package/dist/{chunk-CHC5FKTU.js → chunk-TWHZU36X.js} +1 -1
  175. package/dist/{chunk-BMCKL3VQ.js → chunk-TXV2AYZB.js} +24 -24
  176. package/dist/{chunk-577AJVRS.js → chunk-U25OX22K.js} +2039 -289
  177. package/dist/{chunk-7EKESFWV.js → chunk-U4NNG3ES.js} +11 -11
  178. package/dist/{chunk-XQ3YIV5R.js → chunk-U5T4A2QV.js} +6 -6
  179. package/dist/{chunk-2XM6PYQQ.js → chunk-UT5OA7KA.js} +43 -11
  180. package/dist/{chunk-BXIX7S7O.js → chunk-V3VCUSQ6.js} +15 -15
  181. package/dist/{chunk-4QUQEBFT.js → chunk-V5XV3JSP.js} +6 -6
  182. package/dist/{chunk-F7YL2RZ4.js → chunk-VF4VOPMB.js} +23 -23
  183. package/dist/{chunk-3QAKDIEU.js → chunk-VLDM4QZM.js} +23 -23
  184. package/dist/chunk-VP5H6DII.js +34 -0
  185. package/dist/{chunk-N3NBWIYQ.js → chunk-VRYQJZFL.js} +10 -9
  186. package/dist/{chunk-FQSRHTTC.js → chunk-VS6FS472.js} +15 -15
  187. package/dist/{chunk-YMOJD5BO.js → chunk-VTMIRRIZ.js} +3 -3
  188. package/dist/{chunk-4PJADZRR.js → chunk-VXSJKWB7.js} +16 -16
  189. package/dist/{chunk-MTAUZW2Z.js → chunk-WE5VMPUP.js} +216 -106
  190. package/dist/{chunk-ZE3P35DA.js → chunk-WEG7DY5K.js} +9 -9
  191. package/dist/{chunk-V2TH46ZY.js → chunk-WIF7A6JU.js} +12 -12
  192. package/dist/{chunk-GFXLPJWY.js → chunk-WM4N2L4T.js} +2 -2
  193. package/dist/{chunk-XIWYUQZQ.js → chunk-X64BFQ3R.js} +9 -9
  194. package/dist/{chunk-QWVBEK4P.js → chunk-XJRC3ZDI.js} +13 -13
  195. package/dist/{chunk-F2FOQLJ7.js → chunk-XVIVWG7B.js} +6 -6
  196. package/dist/{chunk-XTVDAHH2.js → chunk-Y3ZKT6IF.js} +5 -5
  197. package/dist/{chunk-62YMDXY6.js → chunk-YURIUFKF.js} +16 -16
  198. package/dist/{chunk-HKTUIMH4.js → chunk-YY2WGL6S.js} +3 -3
  199. package/dist/{chunk-BDEKREZH.js → chunk-Z2BA4NNR.js} +3 -3
  200. package/dist/{chunk-MTEBM4Y4.js → chunk-Z47YGBUY.js} +19 -12
  201. package/dist/chunk-Z4JSRKNR.js +41 -0
  202. package/dist/{chunk-G2E5MNYP.js → chunk-Z53ZB34U.js} +7 -7
  203. package/dist/{chunk-NNUASOAA.js → chunk-ZBOPIYOY.js} +12 -12
  204. package/dist/{chunk-7GB4ZRE2.js → chunk-ZBQCLKTH.js} +12 -12
  205. package/dist/chunk-ZGI7DNJ6.js +38 -0
  206. package/dist/{chunk-P3TKKBAH.js → chunk-ZPT4QX3J.js} +4 -4
  207. package/dist/chunk-ZS47PQ3O.js +41 -0
  208. package/dist/{chunk-PIVKU64W.js → chunk-ZTIMXVV5.js} +2 -2
  209. package/dist/{chunk-T4RTWMJD.js → chunk-ZYASEL7K.js} +5 -5
  210. package/dist/files.json +469 -417
  211. package/dist/packages/sdk/npm/index.js +2309 -1983
  212. package/dist/packages/ui/dist/assets/{elk-api-Mo5w5xCa.js → elk-api-D2NcYpUJ.js} +2 -2
  213. package/dist/packages/ui/dist/assets/{index-Bp3XhPHX.css → index-C0JEkXyN.css} +1 -1
  214. package/dist/packages/ui/dist/assets/index-CT7skl01.js +29 -0
  215. package/dist/packages/ui/dist/index.html +2 -2
  216. package/package.json +4 -4
  217. package/dist/chunk-26PLPSQW.js +0 -48
  218. package/dist/chunk-2G4DFUWJ.js +0 -43
  219. package/dist/chunk-2M6WXO73.js +0 -38
  220. package/dist/chunk-5F3RJCHB.js +0 -45
  221. package/dist/chunk-B2VSVN4P.js +0 -34
  222. package/dist/chunk-B3O52AUQ.js +0 -275
  223. package/dist/chunk-CITDNDIZ.js +0 -53
  224. package/dist/chunk-DAQBIK5G.js +0 -47
  225. package/dist/chunk-DZRQDNPT.js +0 -34
  226. package/dist/chunk-FLOEZA6K.js +0 -29
  227. package/dist/chunk-FNHSVBRA.js +0 -48
  228. package/dist/chunk-FPGVOSOG.js +0 -41
  229. package/dist/chunk-FZ2E5LGK.js +0 -54
  230. package/dist/chunk-HB6XSGI6.js +0 -131
  231. package/dist/chunk-HUZQDKQK.js +0 -48
  232. package/dist/chunk-L4VJ4ETL.js +0 -41
  233. package/dist/chunk-XPCWQXTY.js +0 -37
  234. package/dist/chunk-YIEOFHOL.js +0 -30
  235. package/dist/packages/ui/dist/assets/index-DM212ZbV.js +0 -29
@@ -6,14 +6,14 @@ var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
6
6
  import {
7
7
  listRuns,
8
8
  runTranscript
9
- } from "./chunk-IZNSAEBX.js";
9
+ } from "./chunk-MFRPLAOH.js";
10
10
  import {
11
11
  historyEntry,
12
12
  listHistory
13
- } from "./chunk-MH5OCRUM.js";
13
+ } from "./chunk-CH6LUQLD.js";
14
14
  import {
15
15
  uiFactsRoutes
16
- } from "./chunk-NPCD54I7.js";
16
+ } from "./chunk-FAET4BB6.js";
17
17
  import {
18
18
  answerAudit,
19
19
  auditLines,
@@ -21,11 +21,22 @@ import {
21
21
  precisionOf,
22
22
  prepareAudit,
23
23
  writeAudit
24
- } from "./chunk-6GWHKMQR.js";
25
- import "./chunk-3GTZ2OON.js";
24
+ } from "./chunk-MH7UBG47.js";
25
+ import "./chunk-BTOGAUWX.js";
26
+ import "./chunk-QY7RGTUP.js";
27
+ import "./chunk-ZS47PQ3O.js";
28
+ import {
29
+ estimateOf
30
+ } from "./chunk-PKJ3K3GM.js";
31
+ import {
32
+ changeArchive,
33
+ changeHandoff,
34
+ changeNew,
35
+ changeSync
36
+ } from "./chunk-VXSJKWB7.js";
26
37
  import {
27
38
  uiCiteRoutes
28
- } from "./chunk-YVLMBAYE.js";
39
+ } from "./chunk-NSJ6ZR2A.js";
29
40
  import {
30
41
  HttpError,
31
42
  badRequest,
@@ -33,27 +44,14 @@ import {
33
44
  notFound,
34
45
  startServer,
35
46
  strParam
36
- } from "./chunk-HHUFVJF7.js";
37
- import "./chunk-IUD3ME4E.js";
47
+ } from "./chunk-GYS64N6F.js";
48
+ import "./chunk-5H46QFSL.js";
38
49
  import {
39
50
  isHandoffStep
40
51
  } from "./chunk-4Q3NN7VF.js";
41
- import {
42
- estimateOf
43
- } from "./chunk-X4W4XXWP.js";
44
- import {
45
- changeMapBody,
46
- changeMapOf
47
- } from "./chunk-67J3VZBA.js";
48
- import {
49
- changeArchive,
50
- changeHandoff,
51
- changeNew,
52
- changeSync
53
- } from "./chunk-4PJADZRR.js";
54
52
  import {
55
53
  conformanceCommand
56
- } from "./chunk-XRO65C7V.js";
54
+ } from "./chunk-NTNJNRHW.js";
57
55
  import {
58
56
  outcomeList,
59
57
  outcomeRecord,
@@ -62,21 +60,21 @@ import {
62
60
  releaseNotesCommand,
63
61
  releasePlanCommand,
64
62
  releaseSecurityCommand
65
- } from "./chunk-5MI2SEV5.js";
63
+ } from "./chunk-GN5ZLSLD.js";
66
64
  import {
67
- taskRun
68
- } from "./chunk-YPIEYQF4.js";
69
- import "./chunk-XB5RFZHH.js";
65
+ changeMapBody,
66
+ changeMapOf
67
+ } from "./chunk-BSVTNNUK.js";
70
68
  import {
71
69
  executorsCheck,
72
70
  todoDone,
73
71
  todoRun,
74
72
  todoShow
75
- } from "./chunk-TZDSDDSV.js";
73
+ } from "./chunk-72DY5NCN.js";
76
74
  import {
77
75
  inputsSha256,
78
76
  loadExecutors
79
- } from "./chunk-PIVKU64W.js";
77
+ } from "./chunk-ZTIMXVV5.js";
80
78
  import {
81
79
  isSandbox,
82
80
  learnCheck,
@@ -84,107 +82,116 @@ import {
84
82
  lessonsFor,
85
83
  readProgress,
86
84
  sandboxCreate
87
- } from "./chunk-7UKVYFQ2.js";
85
+ } from "./chunk-KUYA2E7M.js";
88
86
  import {
89
87
  defencesScan,
90
88
  evalRun
91
- } from "./chunk-6GNS32SI.js";
89
+ } from "./chunk-HJ52XDST.js";
92
90
  import {
93
91
  listReports,
94
92
  readQuality
95
- } from "./chunk-AWECWW5Y.js";
93
+ } from "./chunk-RMLUZYEA.js";
96
94
  import {
97
95
  readServiceRequests
98
- } from "./chunk-5YIBJXGB.js";
96
+ } from "./chunk-LTLR4JZJ.js";
99
97
  import {
100
98
  initiativeStatus,
101
99
  readView
102
- } from "./chunk-UYYN2IUZ.js";
100
+ } from "./chunk-MNUZX67F.js";
101
+ import {
102
+ taskRun
103
+ } from "./chunk-L4UIKAWD.js";
104
+ import "./chunk-RLJDYLID.js";
105
+ import {
106
+ digestCommand
107
+ } from "./chunk-V5XV3JSP.js";
103
108
  import {
104
109
  reconcileCommand
105
- } from "./chunk-F7UQR4ZX.js";
110
+ } from "./chunk-FQ6IBYFC.js";
106
111
  import {
107
112
  sourcesAdd,
108
113
  sourcesSync
109
- } from "./chunk-F2FOQLJ7.js";
114
+ } from "./chunk-XVIVWG7B.js";
110
115
  import {
111
116
  INPUTS_SOURCE_ID
112
- } from "./chunk-IV7BCWWN.js";
113
- import "./chunk-P3TKKBAH.js";
114
- import {
115
- intakeContext
116
- } from "./chunk-WARBF2KY.js";
117
+ } from "./chunk-DONCF2XC.js";
118
+ import "./chunk-ZPT4QX3J.js";
117
119
  import {
118
120
  baselineCommand,
119
121
  setupSteps
120
- } from "./chunk-XTVDAHH2.js";
122
+ } from "./chunk-Y3ZKT6IF.js";
123
+ import {
124
+ readMe,
125
+ writeMe
126
+ } from "./chunk-DQKNOHUZ.js";
121
127
  import {
122
128
  uiOnboardingRoutes
123
- } from "./chunk-2RX7PI2Y.js";
124
- import "./chunk-HE4ZQXZM.js";
129
+ } from "./chunk-2ELFEKOO.js";
125
130
  import {
126
131
  uiTrustRoutes
127
- } from "./chunk-2KDSXJFJ.js";
128
- import "./chunk-B3O52AUQ.js";
129
- import "./chunk-XKS6THI5.js";
132
+ } from "./chunk-HJUEQERG.js";
130
133
  import {
131
- readMe,
132
- writeMe
133
- } from "./chunk-UBWCUP3G.js";
134
+ contractCheckOf,
135
+ estateJoinOnFile
136
+ } from "./chunk-B6X5PJSA.js";
137
+ import "./chunk-P76AW3PA.js";
138
+ import "./chunk-7VNEDDCC.js";
134
139
  import {
135
- digestCommand
136
- } from "./chunk-4QUQEBFT.js";
140
+ intakeContext
141
+ } from "./chunk-6S27MUQQ.js";
142
+ import "./chunk-EU7VTBAI.js";
143
+ import "./chunk-NCONDPHH.js";
137
144
  import {
138
145
  scanCommand
139
- } from "./chunk-7TGYNOXD.js";
140
- import "./chunk-LRS573EX.js";
146
+ } from "./chunk-CW5SEPUT.js";
147
+ import "./chunk-GKPOCUQR.js";
141
148
  import {
142
149
  catalogRecords,
143
150
  openChanges,
144
151
  systemGuide
145
- } from "./chunk-DPHCFZ7W.js";
152
+ } from "./chunk-SCBU46AJ.js";
146
153
  import {
147
154
  doctorChecks
148
- } from "./chunk-FV5YFR6I.js";
155
+ } from "./chunk-SSL6JMPA.js";
149
156
  import "./chunk-3G4YI4ZU.js";
150
- import "./chunk-Y4BRGOJR.js";
151
- import "./chunk-R64GLVBO.js";
157
+ import "./chunk-4G56W6H7.js";
158
+ import "./chunk-DDZZXVQ5.js";
152
159
  import {
153
160
  handoffDone,
154
161
  workspaceOpen,
155
162
  workspaceSync
156
- } from "./chunk-APSVL2AI.js";
157
- import "./chunk-23M2LUYM.js";
158
- import "./chunk-Y5PZHS4K.js";
163
+ } from "./chunk-KNGESBFW.js";
164
+ import "./chunk-4VOG5H2K.js";
165
+ import "./chunk-INCECZ2E.js";
159
166
  import {
160
167
  readChangeTasks,
161
168
  readStory
162
- } from "./chunk-IDGSU7JF.js";
169
+ } from "./chunk-7TH6I6TL.js";
163
170
  import {
164
171
  ASSISTANT_FORMATS,
165
172
  readProbes,
166
173
  whatRunsWhere
167
- } from "./chunk-LK44ULGI.js";
174
+ } from "./chunk-GHSVJNVL.js";
168
175
  import {
169
176
  critic,
170
177
  criticStats,
171
178
  findingAction
172
- } from "./chunk-73VPWF5R.js";
173
- import "./chunk-J5LHDJU4.js";
179
+ } from "./chunk-ITJ7ST5E.js";
180
+ import "./chunk-FSJMFPA3.js";
174
181
  import {
175
182
  planStories,
176
183
  snowDraft,
177
184
  snowSubmit
178
- } from "./chunk-YXJ4XOHF.js";
179
- import "./chunk-ROTY5J2L.js";
185
+ } from "./chunk-4HIQ2FTI.js";
186
+ import "./chunk-EREL3TQG.js";
180
187
  import {
181
188
  archiveGate,
182
189
  ciArchiveGate
183
- } from "./chunk-ZE3P35DA.js";
190
+ } from "./chunk-WEG7DY5K.js";
184
191
  import {
185
192
  traceMatrix
186
- } from "./chunk-7YYEKTYF.js";
187
- import "./chunk-XEG3FE2R.js";
193
+ } from "./chunk-DGZXJO5I.js";
194
+ import "./chunk-TA2ZNDYD.js";
188
195
  import {
189
196
  NEEDS_FILE,
190
197
  PlannerError,
@@ -203,12 +210,12 @@ import {
203
210
  setKnowledgeStatus,
204
211
  stageComments,
205
212
  stageGate
206
- } from "./chunk-KC5DROFC.js";
213
+ } from "./chunk-DWYPYVPJ.js";
207
214
  import {
208
215
  STAGE_PHASE,
209
216
  fieldNames,
210
217
  rerunOf
211
- } from "./chunk-RK6MKKKP.js";
218
+ } from "./chunk-ISXNWUG7.js";
212
219
  import "./chunk-VOGCSYOI.js";
213
220
  import {
214
221
  layerRules,
@@ -222,7 +229,7 @@ import {
222
229
  readStoryIndex,
223
230
  reviewedGates,
224
231
  roundsOf
225
- } from "./chunk-47QE246J.js";
232
+ } from "./chunk-GMDOXWIS.js";
226
233
  import {
227
234
  artifactFiles,
228
235
  artifactPhase,
@@ -234,24 +241,23 @@ import {
234
241
  liveHandoff,
235
242
  loadChangeContext,
236
243
  requiredArtifacts
237
- } from "./chunk-XQ3YIV5R.js";
238
- import "./chunk-MGVYVW7Q.js";
244
+ } from "./chunk-U5T4A2QV.js";
245
+ import "./chunk-JQG4VO47.js";
239
246
  import {
240
247
  fileStepStore,
241
248
  manualAdapter,
242
249
  stepOfProvisional
243
- } from "./chunk-NGPU2ARF.js";
250
+ } from "./chunk-DW4BM73R.js";
244
251
  import {
245
252
  componentRenames,
246
253
  estateFacts,
247
- estateJoinOf,
248
254
  forgetCatalogs,
249
255
  hostAliases,
250
256
  joinReposOf,
251
257
  keepCatalogsInMemory,
252
258
  outsideProfileSystems,
253
259
  readCatalog
254
- } from "./chunk-AY2IUF4K.js";
260
+ } from "./chunk-22GLUHGE.js";
255
261
  import {
256
262
  OrgPackProposal,
257
263
  SNAPSHOT_FILE,
@@ -275,37 +281,37 @@ import {
275
281
  snapshotDates,
276
282
  snapshotSources,
277
283
  writeReview
278
- } from "./chunk-6JLPXDWN.js";
284
+ } from "./chunk-QR65C3DV.js";
279
285
  import {
280
286
  NoSuchNode,
281
287
  buildEstate,
282
288
  focusView,
283
289
  nodeView,
284
290
  viewKey
285
- } from "./chunk-4GZXS6S2.js";
291
+ } from "./chunk-MLAACAES.js";
286
292
  import {
287
293
  readServiceRequestExports,
288
294
  readVendorSpec,
289
295
  readWorkItemExports
290
- } from "./chunk-R4TBNKKC.js";
291
- import "./chunk-NIXVDQVO.js";
292
- import "./chunk-UR7RMZ3R.js";
293
- import "./chunk-N4QZJJVB.js";
294
- import "./chunk-CHC5FKTU.js";
295
- import "./chunk-7F2RUWPU.js";
296
+ } from "./chunk-HY2VVVFZ.js";
297
+ import "./chunk-PJRMMWU4.js";
298
+ import "./chunk-34NWVIBC.js";
299
+ import "./chunk-77UOXZVM.js";
300
+ import "./chunk-TWHZU36X.js";
301
+ import "./chunk-ARLH2ZMD.js";
296
302
  import {
297
303
  readChangeRepos
298
- } from "./chunk-PGKHJYOB.js";
299
- import "./chunk-MKRBG5EF.js";
304
+ } from "./chunk-RA64IK43.js";
305
+ import "./chunk-MRLCNXXR.js";
300
306
  import {
301
307
  COMMON_SETTINGS,
302
308
  PROVIDER_SETTINGS,
303
309
  defaultKeyStore,
304
310
  looksLikeKey
305
- } from "./chunk-6EDQE7GO.js";
311
+ } from "./chunk-QL4VNY4U.js";
306
312
  import {
307
313
  providerFactoryFor
308
- } from "./chunk-5XDNUJ4P.js";
314
+ } from "./chunk-CQD26SMZ.js";
309
315
  import {
310
316
  ASSISTANTS,
311
317
  ChangeArtifact,
@@ -322,6 +328,8 @@ import {
322
328
  RecordId,
323
329
  Runtime,
324
330
  SOURCE_KIND_SUGGESTIONS,
331
+ TARGETS_STEP_ID,
332
+ TOPICS_STEP_ID,
325
333
  ViewKey,
326
334
  acceptProposal,
327
335
  answerQuestion,
@@ -356,11 +364,11 @@ import {
356
364
  runsRelOf,
357
365
  specRelOf,
358
366
  specRepos
359
- } from "./chunk-577AJVRS.js";
367
+ } from "./chunk-U25OX22K.js";
360
368
  import {
361
369
  createLog,
362
370
  writeFileAtomic
363
- } from "./chunk-D3PO4DOZ.js";
371
+ } from "./chunk-MMB2OHUY.js";
364
372
  import {
365
373
  __toESM
366
374
  } from "./chunk-TV45EUGM.js";
@@ -651,14 +659,14 @@ function uiRoutes(r, ctx, deps = {}) {
651
659
  };
652
660
  }).add("GET", "/api/changes/{changeId}/inputs", async ({ params }) => {
653
661
  const c = await readChange(root, params.changeId);
654
- const { readChangeInputs } = await import("./chunk-FOGG4AUR.js");
662
+ const { readChangeInputs } = await import("./chunk-3M7QBKKG.js");
655
663
  return {
656
664
  status: 200,
657
665
  body: api_exports.ChangeInputList.parse(await readChangeInputs(join2(changesDirOf(root), c.id)))
658
666
  };
659
667
  }).add("GET", "/api/changes/{changeId}/prototypes", async ({ params }) => {
660
668
  const c = await readChange(root, params.changeId);
661
- const { changePrototypes } = await import("./chunk-LVGBKKSM.js");
669
+ const { changePrototypes } = await import("./chunk-7AXMUE2U.js");
662
670
  return {
663
671
  status: 200,
664
672
  body: api_exports.ChangePrototypeList.parse(await changePrototypes(root, c.id))
@@ -669,7 +677,7 @@ function uiRoutes(r, ctx, deps = {}) {
669
677
  const bytes = new Uint8Array(Buffer.from(b.content, "base64"));
670
678
  if (bytes.length > MAX_ATTACH)
671
679
  throw new HttpError(413, "The file is too large", "Attach a file of 15 MB or less.");
672
- const { attachFiles } = await import("./chunk-Y7KBQ4BD.js");
680
+ const { attachFiles } = await import("./chunk-Q55UP5EZ.js");
673
681
  const r2 = await attachFiles(root, c.id, [{ name: b.name, bytes }], user);
674
682
  if (!r2.added.length)
675
683
  throw new HttpError(422, "Atticus can't attach that", r2.refused[0]?.why ?? "", {
@@ -1747,7 +1755,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
1747
1755
  const args = build(arg);
1748
1756
  if (!args)
1749
1757
  throw badRequest(`The ${name} view needs an id: /api/view/${name}/<id>.`);
1750
- const { main } = await import("./chunk-MTAUZW2Z.js");
1758
+ const { main } = await import("./chunk-WE5VMPUP.js");
1751
1759
  const out = [];
1752
1760
  const err = [];
1753
1761
  const code = await main([...args, "--json", "--root", ctx.root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
@@ -1771,7 +1779,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
1771
1779
  return { status: 200, body: { code, data: body, problems: err } };
1772
1780
  };
1773
1781
  const text = async (args) => {
1774
- const { main } = await import("./chunk-MTAUZW2Z.js");
1782
+ const { main } = await import("./chunk-WE5VMPUP.js");
1775
1783
  const out = [];
1776
1784
  const err = [];
1777
1785
  const code = await main([...args, "--root", ctx.root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
@@ -1789,7 +1797,7 @@ function uiKnowRoutes(r, ctx, o = {}) {
1789
1797
  throw badRequest("Some fields aren't right.", {
1790
1798
  errors: b.error.issues.map((i) => ({ path: i.path.join("."), message: i.message }))
1791
1799
  });
1792
- const { triageDecide } = await import("./chunk-NNUASOAA.js");
1800
+ const { triageDecide } = await import("./chunk-ZBOPIYOY.js");
1793
1801
  const out = [];
1794
1802
  const err = [];
1795
1803
  const code = await triageDecide(ctx.root, params.itemId, b.data.option, { by: ctx.user, ...b.data.reason ? { reason: b.data.reason } : {} }, { out: (l) => out.push(l), err: (l) => err.push(l) });
@@ -1887,7 +1895,7 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
1887
1895
  if (mine !== void 0 && mine !== "true")
1888
1896
  throw badRequest("mine is true, or left out.");
1889
1897
  const listed = await listQuestions(ctx.root, state ? { state } : {});
1890
- const { routeQuestions } = await import("./chunk-QICFHVRW.js");
1898
+ const { routeQuestions } = await import("./chunk-TVSNWIAM.js");
1891
1899
  const routed = await routeQuestions(ctx.root, listed.questions, mine ? { mine: ctx.user } : {});
1892
1900
  const body = {
1893
1901
  questions: routed.questions,
@@ -1903,11 +1911,19 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
1903
1911
  if (!q)
1904
1912
  throw notFound(`There is no question ${params.id}.`);
1905
1913
  return { status: 200, body: q };
1914
+ }).add("GET", "/api/questions/{id}/targets", async ({ params }) => {
1915
+ const q = await readQuestion(ctx.root, params.id).catch(() => void 0);
1916
+ if (!q)
1917
+ throw notFound(`There is no question ${params.id}.`);
1918
+ if (q.askedBy.step !== TARGETS_STEP_ID && q.askedBy.step !== TOPICS_STEP_ID)
1919
+ throw new HttpError(422, "That question doesn't ask where a call goes or who owns a topic", `${q.id} isn't a targets or topics question, so it has no picker.`);
1920
+ const { pickerOf } = await import("./chunk-JXXQHETS.js");
1921
+ return { status: 200, body: { picks: await pickerOf(ctx.root) } };
1906
1922
  }).add("GET", "/api/questions/{id}/evidence", async ({ params }) => {
1907
1923
  const q = await readQuestion(ctx.root, params.id).catch(() => void 0);
1908
1924
  if (!q)
1909
1925
  throw notFound(`There is no question ${params.id}.`);
1910
- const { evidenceExcerpts } = await import("./chunk-R6B6XAKK.js");
1926
+ const { evidenceExcerpts } = await import("./chunk-TIAPEYWI.js");
1911
1927
  return {
1912
1928
  status: 200,
1913
1929
  body: {
@@ -1921,7 +1937,25 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
1921
1937
  errors: b.error.issues.map((i) => ({ path: i.path.join("."), message: i.message }))
1922
1938
  });
1923
1939
  try {
1924
- const { acceptProposal: acceptProposal2, ...given } = b.data;
1940
+ const { acceptProposal: acceptProposal2, target, addSystem, name, ...given } = b.data;
1941
+ let writeSystem;
1942
+ let system;
1943
+ if (target) {
1944
+ if (acceptProposal2 || given.option !== void 0 || given.text !== void 0)
1945
+ throw badRequest("Give target alone, not with option, text or acceptProposal.");
1946
+ const q0 = await readQuestion(ctx.root, params.id).catch(() => void 0);
1947
+ if (!q0)
1948
+ throw notFound(`There is no question ${params.id}.`);
1949
+ const { targetAnswerOf, offerLine } = await import("./chunk-JXXQHETS.js");
1950
+ const t = await targetAnswerOf(ctx.root, q0, target, {
1951
+ ...addSystem ? { addSystem } : {},
1952
+ ...name ? { name } : {}
1953
+ });
1954
+ if ("problem" in t)
1955
+ throw badRequest([t.problem, ...t.offer ? [offerLine(q0.id, target, t.offer)] : []].join(" "), t.offer ? { offer: t.offer } : void 0);
1956
+ given.text = t.text;
1957
+ writeSystem = t.write;
1958
+ }
1925
1959
  const r2 = acceptProposal2 ? await acceptProposal(ctx.root, params.id, {
1926
1960
  ...given.scope ? { scope: given.scope } : {},
1927
1961
  ...given.repoType ? { repoType: given.repoType } : {},
@@ -1930,6 +1964,12 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
1930
1964
  at: now().toISOString()
1931
1965
  }) : await answerQuestion(ctx.root, params.id, {
1932
1966
  ...given,
1967
+ // Review item 14: the profile is written only once the answer is accepted.
1968
+ ...writeSystem ? {
1969
+ beforeWrite: async () => {
1970
+ system = await writeSystem();
1971
+ }
1972
+ } : {},
1933
1973
  by: ctx.user,
1934
1974
  at: now().toISOString()
1935
1975
  });
@@ -1938,7 +1978,8 @@ function uiQuestionRoutes(r, ctx, deps = {}) {
1938
1978
  body: {
1939
1979
  question: r2.question,
1940
1980
  rerun: r2.question.rerun,
1941
- ...r2.skill ? { skill: r2.skill } : {}
1981
+ ...r2.skill ? { skill: r2.skill } : {},
1982
+ ...system ? { system } : {}
1942
1983
  }
1943
1984
  };
1944
1985
  } catch (e) {
@@ -2417,7 +2458,7 @@ function uiSpecRoutes(r, ctx) {
2417
2458
  });
2418
2459
  r.add("GET", "/api/changes/{changeId}/conformance", async ({ params }) => {
2419
2460
  const change = idOf2(params.changeId, "change");
2420
- const { conformanceOf } = await import("./chunk-F7YL2RZ4.js");
2461
+ const { conformanceOf } = await import("./chunk-VF4VOPMB.js");
2421
2462
  const c = await conformanceOf(root, change);
2422
2463
  if (!c)
2423
2464
  throw notFound(`There is no change ${change}.`);
@@ -2432,7 +2473,7 @@ function uiSpecRoutes(r, ctx) {
2432
2473
  });
2433
2474
  r.add("GET", "/api/changes/{changeId}/impact", async ({ params }) => {
2434
2475
  const change = idOf2(params.changeId, "change");
2435
- const { changeImpactOf } = await import("./chunk-JAA53T23.js");
2476
+ const { changeImpactOf } = await import("./chunk-F6FGIYPT.js");
2436
2477
  const i = await changeImpactOf(root, change);
2437
2478
  if (!i)
2438
2479
  throw notFound(`There is no change ${change}.`);
@@ -3038,7 +3079,7 @@ async function configuredModel(root) {
3038
3079
  function uiModelRunRoutes(r, ctx, deps = {}) {
3039
3080
  const root = ctx.root;
3040
3081
  const runStep = deps.runStep ?? (async (args) => {
3041
- const { main } = await import("./chunk-MTAUZW2Z.js");
3082
+ const { main } = await import("./chunk-WE5VMPUP.js");
3042
3083
  const out = [];
3043
3084
  const err = [];
3044
3085
  const code = await main([...args, "--root", root], { out: (l) => out.push(l), err: (l) => err.push(l) }, { quiet: true });
@@ -3274,7 +3315,7 @@ function uiDocumentRoutes(r, ctx) {
3274
3315
  const root = ctx.root;
3275
3316
  const changed = (path) => ctx.events.publish({ type: "file.changed", path });
3276
3317
  return r.add("GET", "/api/knowledge/documents", async () => {
3277
- const { listDocuments } = await import("./chunk-7URGP4DD.js");
3318
+ const { listDocuments } = await import("./chunk-QAFMLBPF.js");
3278
3319
  return { status: 200, body: api_exports.DocumentList.parse(await listDocuments(root)) };
3279
3320
  }).add("POST", "/api/knowledge/documents", async ({ body }) => {
3280
3321
  const b = api_exports.AttachFileRequest.safeParse(body ?? {});
@@ -3283,7 +3324,7 @@ function uiDocumentRoutes(r, ctx) {
3283
3324
  const bytes = new Uint8Array(Buffer.from(b.data.content, "base64"));
3284
3325
  if (bytes.length > MAX_FILE)
3285
3326
  throw new HttpError(413, "The file is too large", "Add a file of 15 MB or less.");
3286
- const { addToInbox } = await import("./chunk-NNUASOAA.js");
3327
+ const { addToInbox } = await import("./chunk-ZBOPIYOY.js");
3287
3328
  const res = await addToInbox(root, [{ name: b.data.name, bytes }]);
3288
3329
  if (!res.added.length)
3289
3330
  throw new HttpError(422, "Atticus can't add that", res.refused[0]?.why ?? "", {
@@ -3293,7 +3334,7 @@ function uiDocumentRoutes(r, ctx) {
3293
3334
  changed(a.path);
3294
3335
  return { status: 201, body: api_exports.AddDocumentResult.parse(res) };
3295
3336
  }, { maxBody: Math.ceil(MAX_FILE * 4 / 3) + 64 * 1024 }).add("POST", "/api/changes/{changeId}/inputs/{name}/promote", async ({ params }) => {
3296
- const { AttachError, promoteChangeInput } = await import("./chunk-Y7KBQ4BD.js");
3337
+ const { AttachError, promoteChangeInput } = await import("./chunk-Q55UP5EZ.js");
3297
3338
  try {
3298
3339
  const res = await promoteChangeInput(root, params.changeId, params.name);
3299
3340
  changed(res.path);
@@ -3310,13 +3351,13 @@ function uiDocumentRoutes(r, ctx) {
3310
3351
  function uiRepoRoutes(r, ctx) {
3311
3352
  const root = ctx.root;
3312
3353
  return r.add("GET", "/api/repos/branches", async () => {
3313
- const { repoBranches } = await import("./chunk-YLAJAI2W.js");
3354
+ const { repoBranches } = await import("./chunk-3ZKLWM5Y.js");
3314
3355
  return { status: 200, body: api_exports.RepoBranchesList.parse(await repoBranches(root)) };
3315
3356
  }).add("GET", "/api/repos/compare", async ({ query }) => {
3316
3357
  const branch = query.get("branch")?.trim() ?? "";
3317
3358
  if (!branch)
3318
3359
  throw badRequest("Say which branch: ?branch=<name>.");
3319
- const { compareBranch } = await import("./chunk-YLAJAI2W.js");
3360
+ const { compareBranch } = await import("./chunk-3ZKLWM5Y.js");
3320
3361
  const c = await compareBranch(root, branch);
3321
3362
  if (!c)
3322
3363
  throw notFound(`${branch} hasn't been scanned beside the baseline yet.`);
@@ -3325,7 +3366,7 @@ function uiRepoRoutes(r, ctx) {
3325
3366
  const b = api_exports.EditRepoBranchesRequest.safeParse(body ?? {});
3326
3367
  if (!b.success)
3327
3368
  throw badRequest("Send defaultBranch and branches as branch names.");
3328
- const { editRepoBranches, RepoEditError } = await import("./chunk-YLAJAI2W.js");
3369
+ const { editRepoBranches, RepoEditError } = await import("./chunk-3ZKLWM5Y.js");
3329
3370
  try {
3330
3371
  const file = await editRepoBranches(root, params.repoId, b.data);
3331
3372
  ctx.events.publish({ type: "file.changed", path: file });
@@ -3345,7 +3386,7 @@ function uiRepoRoutes(r, ctx) {
3345
3386
  const b = api_exports.EditRepoDescriptionRequest.safeParse(body ?? {});
3346
3387
  if (!b.success)
3347
3388
  throw badRequest("Send what the repo is as text, or accept: true to confirm the draft, or reject: true to drop it.");
3348
- const { editRepoDescription, RepoEditError } = await import("./chunk-YLAJAI2W.js");
3389
+ const { editRepoDescription, RepoEditError } = await import("./chunk-3ZKLWM5Y.js");
3349
3390
  try {
3350
3391
  const r2 = await editRepoDescription(root, params.repoId, b.data);
3351
3392
  ctx.events.publish({ type: "file.changed", path: r2.file });
@@ -3368,7 +3409,7 @@ function uiRepoRoutes(r, ctx) {
3368
3409
  // packages/cli/dist/ui-api-cockpit.js
3369
3410
  function uiCockpitRoutes(r, ctx) {
3370
3411
  return r.add("GET", "/api/changes/{changeId}/cockpit", async ({ params }) => {
3371
- const { cockpit } = await import("./chunk-PKCMRPPB.js");
3412
+ const { cockpit } = await import("./chunk-QJ3OX7OC.js");
3372
3413
  try {
3373
3414
  return {
3374
3415
  status: 200,
@@ -3380,7 +3421,7 @@ function uiCockpitRoutes(r, ctx) {
3380
3421
  throw e;
3381
3422
  }
3382
3423
  }).add("GET", "/api/past-changes", async ({ query }) => {
3383
- const { changeAboutText, similarChanges } = await import("./chunk-MF7QH4AX.js");
3424
+ const { changeAboutText, similarChanges } = await import("./chunk-P6UJ22XR.js");
3384
3425
  const change = query.get("change");
3385
3426
  const text = change ? await changeAboutText(ctx.root, change) : query.get("text")?.trim();
3386
3427
  if (change && !text)
@@ -3398,11 +3439,11 @@ function uiCockpitRoutes(r, ctx) {
3398
3439
  const b = api_exports.AttachPastChangeRequest.safeParse(body ?? {});
3399
3440
  if (!b.success)
3400
3441
  throw badRequest("Say which archived change: { like: <its folder or id> }.");
3401
- const { attachPastChange, findPastChange } = await import("./chunk-MF7QH4AX.js");
3442
+ const { attachPastChange, findPastChange } = await import("./chunk-P6UJ22XR.js");
3402
3443
  const folder = await findPastChange(ctx.root, b.data.like);
3403
3444
  if (!folder)
3404
3445
  throw notFound(`There is no archived change ${b.data.like}.`);
3405
- const { AttachError } = await import("./chunk-Y7KBQ4BD.js");
3446
+ const { AttachError } = await import("./chunk-Q55UP5EZ.js");
3406
3447
  try {
3407
3448
  const name = await attachPastChange(ctx.root, params.changeId, folder, ctx.user);
3408
3449
  ctx.events.publish({ type: "file.changed", path: `inputs/${name}` });
@@ -3540,7 +3581,7 @@ async function outsideView(root) {
3540
3581
  for (const r of estate.repos)
3541
3582
  for (const f of r.facts)
3542
3583
  facts.set(`${r.repo}\0${f.id}`, f);
3543
- const joined = estateJoinOf(op, estate.repos, estate.targets);
3584
+ const joined = await estateJoinOnFile(root, op, estate);
3544
3585
  const repos = joinReposOf(op, estate.repos, componentRenames(estate.repos, op));
3545
3586
  const { maps: sharedMaps } = await readSharedMaps(root);
3546
3587
  const sharedJoin = sharedMaps.length ? joinSharedMaps({ outside: joined.outside ?? [], repos, maps: sharedMaps, systems }) : { matches: [], gaps: [], asks: [] };
@@ -3582,6 +3623,7 @@ async function outsideView(root) {
3582
3623
  targets: estate.targets,
3583
3624
  ...joinConventions(op)
3584
3625
  }) : { matches: [], gaps: [], asks: [] };
3626
+ const contracts = await contractCheckOf(root).catch(() => void 0);
3585
3627
  const catalog = records.length ? records : (await readCatalog(join9(catalogDirOf(root), "generated"), { cacheRoot: root })).records;
3586
3628
  const ifaces = catalog.filter((r) => r.kind === "Interface");
3587
3629
  const componentsOf = (id) => /* @__PURE__ */ new Set([
@@ -3601,6 +3643,15 @@ async function outsideView(root) {
3601
3643
  ...x?.path ? { path: x.path } : {}
3602
3644
  };
3603
3645
  };
3646
+ const contractsOf = (id) => {
3647
+ const findings = contracts?.result.findings.filter((f) => f.system === id) ?? [];
3648
+ const fresh = contracts?.newBySystem.get(id);
3649
+ if (!findings.length && !fresh)
3650
+ return {};
3651
+ return {
3652
+ contracts: { findings, ...fresh ? { new: fresh.map((f) => f.id) } : {} }
3653
+ };
3654
+ };
3604
3655
  const out = systems.map((s) => {
3605
3656
  const names = new Set([s.id, s.name, ...s.aliases].map(factIdPart));
3606
3657
  const comps = componentsOf(s.id);
@@ -3685,6 +3736,7 @@ async function outsideView(root) {
3685
3736
  ambiguous: matched.asks.filter((a) => a.vendor === s.id).map((a) => ({ ...callOf(a.call), seen: ["spec"], candidates: a.candidates })),
3686
3737
  questions,
3687
3738
  ...spec ? {} : { addSpec: OUTSIDE_ADD_SPEC(s.id) },
3739
+ ...contractsOf(s.id),
3688
3740
  ...map ? {
3689
3741
  shared: {
3690
3742
  team: map.team,
@@ -3717,6 +3769,18 @@ function uiOutsideRoutes(r, ctx) {
3717
3769
  }));
3718
3770
  }
3719
3771
 
3772
+ // packages/cli/dist/ui-api-contracts.js
3773
+ async function contractsView(root, check = contractCheckOf) {
3774
+ const { result, notes } = await check(root);
3775
+ return { links: result.links, findings: result.findings, counts: result.counts, notes };
3776
+ }
3777
+ function uiContractsRoutes(r, ctx, o = {}) {
3778
+ return r.add("GET", "/api/contracts", async () => ({
3779
+ status: 200,
3780
+ body: await contractsView(ctx.root, o.check)
3781
+ }));
3782
+ }
3783
+
3720
3784
  // packages/cli/dist/ui-api-stages.js
3721
3785
  import { stat as stat4 } from "node:fs/promises";
3722
3786
  import { join as join10 } from "node:path";
@@ -3934,7 +3998,7 @@ async function startUi(root, o = {}, deps = {}) {
3934
3998
  });
3935
3999
  const views = uiGraphRoutes(uiAcrossRoutes(uiMeRoutes(base, ctx), ctx), ctx);
3936
4000
  const specs = uiSpecRoutes(uiOnboardingRoutes(uiQuestionRoutes(views, ctx), ctx), ctx);
3937
- return uiStageRoutes(uiOutsideRoutes(uiAuditRoutes(uiFactsRoutes(uiTrustRoutes(uiCockpitRoutes(uiRepoRoutes(uiDocumentRoutes(uiAiRoutes(uiHistoryRoutes(uiModelRunRoutes(uiKnowledgeRoutes(uiCiteRoutes(specs, ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx);
4001
+ return uiStageRoutes(uiContractsRoutes(uiOutsideRoutes(uiAuditRoutes(uiFactsRoutes(uiTrustRoutes(uiCockpitRoutes(uiRepoRoutes(uiDocumentRoutes(uiAiRoutes(uiHistoryRoutes(uiModelRunRoutes(uiKnowledgeRoutes(uiCiteRoutes(specs, ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx), ctx);
3938
4002
  }
3939
4003
  });
3940
4004
  keepCatalogsInMemory(true);